commandmate 0.3.5 → 0.4.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/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +19 -23
- package/.next/app-path-routes-manifest.json +1 -1
- package/.next/build-manifest.json +5 -5
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/1.pack +0 -0
- package/.next/cache/webpack/client-production/2.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack.old +0 -0
- package/.next/cache/webpack/edge-server-production/0.pack +0 -0
- package/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/react-loadable-manifest.json +69 -55
- package/.next/required-server-files.json +1 -1
- package/.next/server/app/_not-found/page.js +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update-check/route.js +1 -1
- package/.next/server/app/api/repositories/clone/route.js +1 -1
- package/.next/server/app/api/repositories/route.js +8 -8
- package/.next/server/app/api/repositories/scan/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -2
- package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route.js +2 -2
- package/.next/server/app/api/worktrees/[id]/search/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/upload/[...path]/route.js +1 -1
- package/.next/server/app/api/worktrees/route.js +1 -1
- package/.next/server/app/login/page.js +1 -1
- package/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page.js +3 -3
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/proxy/[...path]/route.js +4 -4
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/page.js +6 -6
- package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page.js +2 -4
- package/.next/server/app/worktrees/[id]/terminal/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +8 -8
- package/.next/server/chunks/{3294.js → 1628.js} +3 -3
- package/.next/server/chunks/185.js +36 -0
- package/.next/server/chunks/3860.js +1 -1
- package/.next/server/chunks/4893.js +2 -2
- package/.next/server/chunks/4952.js +1 -1
- package/.next/server/chunks/5488.js +6 -6
- package/.next/server/chunks/7425.js +34 -31
- package/.next/server/chunks/7566.js +2 -2
- package/.next/server/chunks/8199.js +1 -0
- package/.next/server/chunks/8585.js +1 -1
- package/.next/server/chunks/8693.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/12-00c528d46a0a0a1d.js +1 -0
- package/.next/static/chunks/{13.feeafc7cc620f8c4.js → 13.b9521543496f4468.js} +1 -1
- package/.next/static/chunks/1334.bfedf44ee9fe2761.js +1 -0
- package/.next/static/chunks/143.eb6b4671490cd223.js +1 -0
- package/.next/static/chunks/{3574.7a94c27e6a496a56.js → 1442.74b5f4de9a4b4e1b.js} +1 -1
- package/.next/static/chunks/2083-b5bed0c77cc53281.js +1 -0
- package/.next/static/chunks/2725.eb2d236c8030711c.js +1 -0
- package/.next/static/chunks/3398-3d40a17387bd554b.js +1 -0
- package/.next/static/chunks/3516.3c576047408cae6b.js +1 -0
- package/.next/static/chunks/3559.422c6ca760b85750.js +1 -0
- package/.next/static/chunks/3956.52c5b9a0071a641d.js +1 -0
- package/.next/static/chunks/4012.32b576a4fa621774.js +1 -0
- package/.next/static/chunks/4212.e7ba1009bc1da62d.js +131 -0
- package/.next/static/chunks/4303.caf91e86105d5e70.js +1 -0
- package/.next/static/chunks/4327.4dcda9b6fab6a385.js +82 -0
- package/.next/static/chunks/4671.d86d21d0dfdace41.js +1 -0
- package/.next/static/chunks/5518.ec88dcb5a27b17fe.js +1 -0
- package/.next/static/chunks/6434.08d262283371d333.js +1 -0
- package/.next/static/chunks/{656.5e2de0173f5a06bd.js → 656.dc26b973d07d9627.js} +5 -5
- package/.next/static/chunks/7119.01777af21b55740c.js +1 -0
- package/.next/static/chunks/7293.fb88bb102af4aa04.js +1 -0
- package/.next/static/chunks/8913-40625650292eb3d0.js +1 -0
- package/.next/static/chunks/8977.fc18b8260cd8bc1f.js +1 -0
- package/.next/static/chunks/9552.d959149efd41e84b.js +1 -0
- package/.next/static/chunks/app/layout-7198a7a49aa21a97.js +1 -0
- package/.next/static/chunks/app/page-7498cf75e69d9227.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/files/[...path]/page-0599f64a8e80d255.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/page-94ad7a1ce1f0c440.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/terminal/page-175b618c047bc992.js +1 -0
- package/.next/static/chunks/d3ac728e.daf595a898e9b720.js +1 -0
- package/.next/static/chunks/webpack-f7111aab807d73b9.js +1 -0
- package/.next/static/css/f7dc01350168df01.css +3 -0
- package/.next/trace +5 -5
- package/README.md +66 -56
- package/dist/server/server.js +5 -0
- package/dist/server/src/lib/auto-yes-manager.js +58 -18
- package/dist/server/src/lib/claude-session.js +9 -3
- package/dist/server/src/lib/cli-session.js +60 -10
- package/dist/server/src/lib/cli-tools/codex.js +7 -7
- package/dist/server/src/lib/cli-tools/gemini.js +3 -0
- package/dist/server/src/lib/cli-tools/opencode-config.js +179 -33
- package/dist/server/src/lib/cli-tools/opencode.js +5 -0
- package/dist/server/src/lib/cli-tools/vibe-local.js +3 -0
- package/dist/server/src/lib/cmate-parser.js +7 -7
- package/dist/server/src/lib/db-migrations.js +18 -1
- package/dist/server/src/lib/errors.js +153 -0
- package/dist/server/src/lib/prompt-answer-sender.js +3 -0
- package/dist/server/src/lib/prompt-detector.js +49 -7
- package/dist/server/src/lib/resource-cleanup.js +257 -0
- package/dist/server/src/lib/schedule-manager.js +269 -83
- package/dist/server/src/lib/tmux-capture-cache.js +221 -0
- package/dist/server/src/lib/tmux.js +41 -20
- package/dist/server/src/types/markdown-editor.js +9 -1
- package/package.json +11 -8
- package/.next/server/chunks/539.js +0 -35
- package/.next/server/chunks/7458.js +0 -1
- package/.next/server/chunks/7808.js +0 -1
- package/.next/static/chunks/1038-3509435b68c0967e.js +0 -1
- package/.next/static/chunks/1098.49268c9fe1b028fa.js +0 -1
- package/.next/static/chunks/2335-98a211e00b94c7ac.js +0 -1
- package/.next/static/chunks/3559.f073f72c4466ce0e.js +0 -1
- package/.next/static/chunks/3843.3fdda732987f7bb8.js +0 -1
- package/.next/static/chunks/4212.52c1bb34fc97d0d0.js +0 -131
- package/.next/static/chunks/4327.157a4c226d919531.js +0 -60
- package/.next/static/chunks/4362.7bd6f0282e49d79b.js +0 -1
- package/.next/static/chunks/4721.40615a5f4f32b5fb.js +0 -1
- package/.next/static/chunks/5112.17318d1c6b28044b.js +0 -1
- package/.next/static/chunks/6406.9653f0d41ab85059.js +0 -1
- package/.next/static/chunks/6792.3c01ac4dda4b5c6d.js +0 -1
- package/.next/static/chunks/8091-d65d2ab6daed23c6.js +0 -1
- package/.next/static/chunks/8125.245a9df052d274fb.js +0 -1
- package/.next/static/chunks/8522.1607e96011c66877.js +0 -1
- package/.next/static/chunks/8841.dadeb1ece8e46004.js +0 -1
- package/.next/static/chunks/8885.f8d9912b40d74811.js +0 -1
- package/.next/static/chunks/9178-88850a7c48deea07.js +0 -1
- package/.next/static/chunks/9552.b7dfb7903ead934b.js +0 -1
- package/.next/static/chunks/app/layout-9110f9a5e41c6bf4.js +0 -1
- package/.next/static/chunks/app/page-9e523a8f415bc707.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/files/[...path]/page-4a3c0861367e0391.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/page-8fb4dc30b58a5681.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/terminal/page-5d85a7e508ce36d3.js +0 -1
- package/.next/static/chunks/d3ac728e.6c9c508274d4d2d5.js +0 -1
- package/.next/static/chunks/webpack-81c97591dd5567ac.js +0 -1
- package/.next/static/css/45b3a41370668314.css +0 -3
- /package/.next/static/chunks/{30d07d85-393352a92199f695.js → 30d07d85.1dc99a921fc18e34.js} +0 -0
- /package/.next/static/{p3hosTZoJ22r35fWwUoLr → dwGMLEU53HOvFOWqiZOT0}/_buildManifest.js +0 -0
- /package/.next/static/{p3hosTZoJ22r35fWwUoLr → dwGMLEU53HOvFOWqiZOT0}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4327],{40257:function(e,t,r){"use strict";var n,i;e.exports=(null==(n=r.g.process)?void 0:n.env)&&"object"==typeof(null==(i=r.g.process)?void 0:i.env)?r.g.process:r(44227)},44227:function(e){!function(){var t={229:function(e){var t,r,n,i=e.exports={};function s(){throw Error("setTimeout has not been defined")}function a(){throw Error("clearTimeout has not been defined")}function o(e){if(t===setTimeout)return setTimeout(e,0);if((t===s||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:s}catch(e){t=s}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var l=[],u=!1,c=-1;function d(){u&&n&&(u=!1,n.length?l=n.concat(l):c=-1,l.length&&h())}function h(){if(!u){var e=o(d);u=!0;for(var t=l.length;t;){for(n=l,l=[];++c<t;)n&&n[c].run();c=-1,t=l.length}n=null,u=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function f(e,t){this.fun=e,this.array=t}function p(){}i.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];l.push(new f(e,t)),1!==l.length||u||o(h)},f.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=p,i.addListener=p,i.once=p,i.off=p,i.removeListener=p,i.removeAllListeners=p,i.emit=p,i.prependListener=p,i.prependOnceListener=p,i.listeners=function(e){return[]},i.binding=function(e){throw Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw Error("process.chdir is not supported")},i.umask=function(){return 0}}},r={};function n(e){var i=r[e];if(void 0!==i)return i.exports;var s=r[e]={exports:{}},a=!0;try{t[e](s,s.exports,n),a=!1}finally{a&&delete r[e]}return s.exports}n.ab="//";var i=n(229);e.exports=i}()},14278:function(e,t,r){"use strict";e.exports=r(29322)},29322:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0,r(42976).default.install();let s=r(62904);i(r(62904),t);class a extends s.AbstractMessageReader{constructor(e){super(),this._onData=new s.Emitter,this._messageListener=e=>{this._onData.fire(e.data)},e.addEventListener("error",e=>this.fireError(e)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}}t.BrowserMessageReader=a;class o extends s.AbstractMessageWriter{constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener("error",e=>this.fireError(e))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}t.BrowserMessageWriter=o,t.createMessageConnection=function(e,t,r,n){return void 0===r&&(r=s.NullLogger),s.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,s.createMessageConnection)(e,t,r,n)}},42976:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let n=r(62904);class i extends n.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return i.emptyBuffer}fromString(e,t){return new TextEncoder().encode(e)}toString(e,t){return"ascii"===t?this.asciiDecoder.decode(e):new TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e:e.slice(0,t)}allocNative(e){return new Uint8Array(e)}}i.emptyBuffer=new Uint8Array(0);class s{constructor(e){this.socket=e,this._onData=new n.Emitter,this._messageListener=e=>{e.data.arrayBuffer().then(e=>{this._onData.fire(new Uint8Array(e))},()=>{(0,n.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),n.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),n.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),n.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}}class a{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),n.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),n.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),n.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,t){if("string"==typeof e){if(void 0!==t&&"utf-8"!==t)throw Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${t}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}}let o=new TextEncoder,l=Object.freeze({messageBuffer:Object.freeze({create:e=>new i(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{if("utf-8"!==t.charset)throw Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${t.charset}`);return Promise.resolve(o.encode(JSON.stringify(e,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{if(!(e instanceof Uint8Array))throw Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(t.charset).decode(e)))}})}),stream:Object.freeze({asReadableStream:e=>new s(e),asWritableStream:e=>new a(e)}),console:console,timer:Object.freeze({setTimeout(e,t,...r){let n=setTimeout(e,t,...r);return{dispose:()=>clearTimeout(n)}},setImmediate(e,...t){let r=setTimeout(e,0,...t);return{dispose:()=>clearTimeout(r)}},setInterval(e,t,...r){let n=setInterval(e,t,...r);return{dispose:()=>clearInterval(n)}}})});function u(){return l}(u||(u={})).install=function(){n.RAL.install(l)},t.default=u},62904:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressType=t.ProgressToken=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.AbstractMessageBuffer=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.SharedArrayReceiverStrategy=t.SharedArraySenderStrategy=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.LRUCache=t.Touch=t.LinkedMap=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.Message=t.RAL=void 0,t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=void 0;let n=r(91657);Object.defineProperty(t,"Message",{enumerable:!0,get:function(){return n.Message}}),Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return n.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return n.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return n.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return n.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return n.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return n.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return n.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return n.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return n.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return n.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return n.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return n.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return n.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return n.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return n.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return n.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return n.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return n.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return n.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return n.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return n.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return n.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return n.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return n.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return n.ParameterStructures}});let i=r(18693);Object.defineProperty(t,"LinkedMap",{enumerable:!0,get:function(){return i.LinkedMap}}),Object.defineProperty(t,"LRUCache",{enumerable:!0,get:function(){return i.LRUCache}}),Object.defineProperty(t,"Touch",{enumerable:!0,get:function(){return i.Touch}});let s=r(28087);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return s.Disposable}});let a=r(72937);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return a.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return a.Emitter}});let o=r(93237);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return o.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return o.CancellationToken}});let l=r(71749);Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return l.SharedArraySenderStrategy}}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return l.SharedArrayReceiverStrategy}});let u=r(85072);Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return u.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return u.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return u.ReadableStreamMessageReader}});let c=r(47144);Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return c.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return c.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return c.WriteableStreamMessageWriter}});let d=r(10355);Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:function(){return d.AbstractMessageBuffer}});let h=r(97418);Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return h.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return h.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return h.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return h.createMessageConnection}}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:function(){return h.ProgressToken}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return h.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return h.Trace}}),Object.defineProperty(t,"TraceValues",{enumerable:!0,get:function(){return h.TraceValues}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return h.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return h.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return h.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return h.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return h.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return h.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return h.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return h.CancellationStrategy}}),Object.defineProperty(t,"MessageStrategy",{enumerable:!0,get:function(){return h.MessageStrategy}});let f=r(10853);t.RAL=f.default},93237:function(e,t,r){"use strict";var n,i;Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;let s=r(10853),a=r(12630),o=r(72937);(i=n||(t.CancellationToken=n={})).None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:o.Event.None}),i.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:o.Event.None}),i.is=function(e){return e&&(e===i.None||e===i.Cancelled||a.boolean(e.isCancellationRequested)&&!!e.onCancellationRequested)};let l=Object.freeze(function(e,t){let r=(0,s.default)().timer.setTimeout(e.bind(t),0);return{dispose(){r.dispose()}}});class u{constructor(){this._isCancelled=!1}cancel(){!this._isCancelled&&(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?l:(this._emitter||(this._emitter=new o.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}class c{get token(){return this._token||(this._token=new u),this._token}cancel(){this._token?this._token.cancel():this._token=n.Cancelled}dispose(){this._token?this._token instanceof u&&this._token.dispose():this._token=n.None}}t.CancellationTokenSource=c},97418:function(e,t,r){"use strict";var n,i,s,a,o,l,u,c,d,h,f,p,m,g,y,T,R,v,E,S,k,C,A,$,b,x,N,w,I;Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.RequestCancellationReceiverStrategy=t.IdCancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=t.NullLogger=t.ProgressType=t.ProgressToken=void 0;let _=r(10853),P=r(12630),L=r(91657),O=r(18693),D=r(72937),M=r(93237);(n||(n={})).type=new L.NotificationType("$/cancelRequest"),(i||(t.ProgressToken=i={})).is=function(e){return"string"==typeof e||"number"==typeof e},(s||(s={})).type=new L.NotificationType("$/progress");class F{constructor(){}}t.ProgressType=F,(a||(a={})).is=function(e){return P.func(e)},t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),(S=o||(t.Trace=o={}))[S.Off=0]="Off",S[S.Messages=1]="Messages",S[S.Compact=2]="Compact",S[S.Verbose=3]="Verbose",(k=l||(t.TraceValues=l={})).Off="off",k.Messages="messages",k.Compact="compact",k.Verbose="verbose",(C=o||(t.Trace=o={})).fromString=function(e){if(!P.string(e))return C.Off;switch(e=e.toLowerCase()){case"off":default:return C.Off;case"messages":return C.Messages;case"compact":return C.Compact;case"verbose":return C.Verbose}},C.toString=function(e){switch(e){case C.Off:return"off";case C.Messages:return"messages";case C.Compact:return"compact";case C.Verbose:return"verbose";default:return"off"}},(A=u||(t.TraceFormat=u={})).Text="text",A.JSON="json",($=u||(t.TraceFormat=u={})).fromString=function(e){return P.string(e)&&"json"===(e=e.toLowerCase())?$.JSON:$.Text},(c||(t.SetTraceNotification=c={})).type=new L.NotificationType("$/setTrace"),(d||(t.LogTraceNotification=d={})).type=new L.NotificationType("$/logTrace"),(b=h||(t.ConnectionErrors=h={}))[b.Closed=1]="Closed",b[b.Disposed=2]="Disposed",b[b.AlreadyListening=3]="AlreadyListening";class Z extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,Z.prototype)}}t.ConnectionError=Z,(f||(t.ConnectionStrategy=f={})).is=function(e){return e&&P.func(e.cancelUndispatched)},(p||(t.IdCancellationReceiverStrategy=p={})).is=function(e){return e&&(void 0===e.kind||"id"===e.kind)&&P.func(e.createCancellationTokenSource)&&(void 0===e.dispose||P.func(e.dispose))},(m||(t.RequestCancellationReceiverStrategy=m={})).is=function(e){return e&&"request"===e.kind&&P.func(e.createCancellationTokenSource)&&(void 0===e.dispose||P.func(e.dispose))},(x=g||(t.CancellationReceiverStrategy=g={})).Message=Object.freeze({createCancellationTokenSource:e=>new M.CancellationTokenSource}),x.is=function(e){return p.is(e)||m.is(e)},(N=y||(t.CancellationSenderStrategy=y={})).Message=Object.freeze({sendCancellation:(e,t)=>e.sendNotification(n.type,{id:t}),cleanup(e){}}),N.is=function(e){return e&&P.func(e.sendCancellation)&&P.func(e.cleanup)},(w=T||(t.CancellationStrategy=T={})).Message=Object.freeze({receiver:g.Message,sender:y.Message}),w.is=function(e){return e&&g.is(e.receiver)&&y.is(e.sender)},(R||(t.MessageStrategy=R={})).is=function(e){return e&&P.func(e.handleMessage)},(v||(t.ConnectionOptions=v={})).is=function(e){return e&&(T.is(e.cancellationStrategy)||f.is(e.connectionStrategy)||R.is(e.messageStrategy))},(I=E||(E={}))[I.New=1]="New",I[I.Listening=2]="Listening",I[I.Closed=3]="Closed",I[I.Disposed=4]="Disposed",t.createMessageConnection=function(e,r,l,f){let m,g,y,v;let S=void 0!==l?l:t.NullLogger,k=0,C=0,A=0,$=new Map,b=new Map,x=new Map,N=new O.LinkedMap,w=new Map,I=new Set,F=new Map,q=o.Off,U=u.Text,j=E.New,G=new D.Emitter,z=new D.Emitter,W=new D.Emitter,V=new D.Emitter,B=new D.Emitter,K=f&&f.cancellationStrategy?f.cancellationStrategy:T.Message;function H(e){if(null===e)throw Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function Y(e){}function X(){return j===E.Listening}function J(){return j===E.Closed}function Q(){return j===E.Disposed}function ee(){(j===E.New||j===E.Listening)&&(j=E.Closed,z.fire(void 0))}function et(e){L.Message.isRequest(e)?function(e){let t,n;if(Q())return;function i(t,n,i){let s={jsonrpc:"2.0",id:e.id};t instanceof L.ResponseError?s.error=t.toJson():s.result=void 0===t?null:t,ei(s,n,i),r.write(s).catch(()=>S.error("Sending response failed."))}function s(t,n,i){let s={jsonrpc:"2.0",id:e.id,error:t.toJson()};ei(s,n,i),r.write(s).catch(()=>S.error("Sending response failed."))}!function(e){if(q!==o.Off&&g){if(U===u.Text){let t;(q===o.Verbose||q===o.Compact)&&e.params&&(t=`Params: ${en(e.params)}
|
|
2
|
+
|
|
3
|
+
`),g.log(`Received request '${e.method} - (${e.id})'.`,t)}else ea("receive-request",e)}}(e);let a=$.get(e.method);a&&(t=a.type,n=a.handler);let l=Date.now();if(n||y){let a=e.id??String(Date.now()),o=p.is(K.receiver)?K.receiver.createCancellationTokenSource(a):K.receiver.createCancellationTokenSource(e);null!==e.id&&I.has(e.id)&&o.cancel(),null!==e.id&&F.set(a,o);try{let u;if(n){if(void 0===e.params){if(void 0!==t&&0!==t.numberOfParams){s(new L.ResponseError(L.ErrorCodes.InvalidParams,`Request ${e.method} defines ${t.numberOfParams} params but received none.`),e.method,l);return}u=n(o.token)}else if(Array.isArray(e.params)){if(void 0!==t&&t.parameterStructures===L.ParameterStructures.byName){s(new L.ResponseError(L.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,l);return}u=n(...e.params,o.token)}else{if(void 0!==t&&t.parameterStructures===L.ParameterStructures.byPosition){s(new L.ResponseError(L.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,l);return}u=n(e.params,o.token)}}else y&&(u=y(e.method,e.params,o.token));let c=u;u?c.then?c.then(t=>{F.delete(a),i(t,e.method,l)},t=>{F.delete(a),t instanceof L.ResponseError?s(t,e.method,l):t&&P.string(t.message)?s(new L.ResponseError(L.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,l):s(new L.ResponseError(L.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,l)}):(F.delete(a),i(u,e.method,l)):(F.delete(a),function(t,n,i){void 0===t&&(t=null);let s={jsonrpc:"2.0",id:e.id,result:t};ei(s,n,i),r.write(s).catch(()=>S.error("Sending response failed."))}(u,e.method,l))}catch(t){F.delete(a),t instanceof L.ResponseError?i(t,e.method,l):t&&P.string(t.message)?s(new L.ResponseError(L.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,l):s(new L.ResponseError(L.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,l)}}else s(new L.ResponseError(L.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,l)}(e):L.Message.isNotification(e)?function(e){let t,r;if(!Q()){if(e.method===n.type.method){let t=e.params.id;I.delete(t),es(e);return}{let n=b.get(e.method);n&&(t=n.handler,r=n.type)}if(t||v)try{if(es(e),t){if(void 0===e.params)void 0!==r&&0!==r.numberOfParams&&r.parameterStructures!==L.ParameterStructures.byName&&S.error(`Notification ${e.method} defines ${r.numberOfParams} params but received none.`),t();else if(Array.isArray(e.params)){let n=e.params;e.method===s.type.method&&2===n.length&&i.is(n[0])?t({token:n[0],value:n[1]}):(void 0!==r&&(r.parameterStructures===L.ParameterStructures.byName&&S.error(`Notification ${e.method} defines parameters by name but received parameters by position`),r.numberOfParams!==e.params.length&&S.error(`Notification ${e.method} defines ${r.numberOfParams} params but received ${n.length} arguments`)),t(...n))}else void 0!==r&&r.parameterStructures===L.ParameterStructures.byPosition&&S.error(`Notification ${e.method} defines parameters by position but received parameters by name`),t(e.params)}else v&&v(e.method,e.params)}catch(t){t.message?S.error(`Notification handler '${e.method}' failed with message: ${t.message}`):S.error(`Notification handler '${e.method}' failed unexpectedly.`)}else W.fire(e)}}(e):L.Message.isResponse(e)?function(e){if(!Q()){if(null===e.id)e.error?S.error(`Received response message without id: Error is:
|
|
4
|
+
${JSON.stringify(e.error,void 0,4)}`):S.error("Received response message without id. No further error information provided.");else{let t=e.id,r=w.get(t);if(function(e,t){if(q!==o.Off&&g){if(U===u.Text){let r;if((q===o.Verbose||q===o.Compact)&&(e.error&&e.error.data?r=`Error data: ${en(e.error.data)}
|
|
5
|
+
|
|
6
|
+
`:e.result?r=`Result: ${en(e.result)}
|
|
7
|
+
|
|
8
|
+
`:void 0===e.error&&(r="No result returned.\n\n")),t){let n=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";g.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${n}`,r)}else g.log(`Received response ${e.id} without active response promise.`,r)}else ea("receive-response",e)}}(e,r),void 0!==r){w.delete(t);try{if(e.error){let t=e.error;r.reject(new L.ResponseError(t.code,t.message,t.data))}else if(void 0!==e.result)r.resolve(e.result);else throw Error("Should never happen.")}catch(e){e.message?S.error(`Response handler '${r.method}' failed with message: ${e.message}`):S.error(`Response handler '${r.method}' failed unexpectedly.`)}}}}}(e):function(e){if(!e){S.error("Received empty message.");return}if(S.error(`Received message which is neither a response nor a notification message:
|
|
9
|
+
${JSON.stringify(e,null,4)}`),P.string(e.id)||P.number(e.id)){let t=e.id,r=w.get(t);r&&r.reject(Error("The received response has neither a result nor an error property."))}}(e)}e.onClose(ee),e.onError(function(e){G.fire([e,void 0,void 0])}),r.onClose(ee),r.onError(function(e){G.fire(e)});let er=e=>{try{if(L.Message.isNotification(e)&&e.method===n.type.method){let t=e.params.id,n=H(t),i=N.get(n);if(L.Message.isRequest(i)){let s=f?.connectionStrategy,a=s&&s.cancelUndispatched?s.cancelUndispatched(i,Y):Y(i);if(a&&(void 0!==a.error||void 0!==a.result)){N.delete(n),F.delete(t),a.id=i.id,ei(a,e.method,Date.now()),r.write(a).catch(()=>S.error("Sending response for canceled message failed."));return}}let s=F.get(t);if(void 0!==s){s.cancel(),es(e);return}I.add(t)}!function(e,t){if(L.Message.isRequest(t))e.set(H(t.id),t);else if(L.Message.isResponse(t)){var r;e.set(null===(r=t.id)?"res-unknown-"+(++A).toString():"res-"+r.toString(),t)}else e.set("not-"+(++C).toString(),t)}(N,e)}finally{!function e(){m||0===N.size||(m=(0,_.default)().timer.setImmediate(()=>{m=void 0,function(){if(0===N.size)return;let t=N.shift();try{let e=f?.messageStrategy;R.is(e)?e.handleMessage(t,et):et(t)}finally{e()}}()}))}()}};function en(e){if(null!=e)switch(q){case o.Verbose:return JSON.stringify(e,null,4);case o.Compact:return JSON.stringify(e);default:return}}function ei(e,t,r){if(q!==o.Off&&g){if(U===u.Text){let n;(q===o.Verbose||q===o.Compact)&&(e.error&&e.error.data?n=`Error data: ${en(e.error.data)}
|
|
10
|
+
|
|
11
|
+
`:e.result?n=`Result: ${en(e.result)}
|
|
12
|
+
|
|
13
|
+
`:void 0===e.error&&(n="No result returned.\n\n")),g.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-r}ms`,n)}else ea("send-response",e)}}function es(e){if(q!==o.Off&&g&&e.method!==d.type.method){if(U===u.Text){let t;(q===o.Verbose||q===o.Compact)&&(t=e.params?`Params: ${en(e.params)}
|
|
14
|
+
|
|
15
|
+
`:"No parameters provided.\n\n"),g.log(`Received notification '${e.method}'.`,t)}else ea("receive-notification",e)}}function ea(e,t){if(!g||q===o.Off)return;let r={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};g.log(r)}function eo(){if(J())throw new Z(h.Closed,"Connection is closed.");if(Q())throw new Z(h.Disposed,"Connection is disposed.")}function el(e){return void 0===e?null:e}function eu(e){if(null!==e)return e}function ec(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function ed(e,t){switch(e){case L.ParameterStructures.auto:if(ec(t))return eu(t);return[el(t)];case L.ParameterStructures.byName:if(!ec(t))throw Error("Received parameters by name but param is not an object literal.");return eu(t);case L.ParameterStructures.byPosition:return[el(t)];default:throw Error(`Unknown parameter structure ${e.toString()}`)}}function eh(e,t){let r;let n=e.numberOfParams;switch(n){case 0:r=void 0;break;case 1:r=ed(e.parameterStructures,t[0]);break;default:r=[];for(let e=0;e<t.length&&e<n;e++)r.push(el(t[e]));if(t.length<n)for(let e=t.length;e<n;e++)r.push(null)}return r}let ef={sendNotification:(e,...t)=>{let n,i;if(eo(),P.string(e)){n=e;let r=t[0],s=0,a=L.ParameterStructures.auto;L.ParameterStructures.is(r)&&(s=1,a=r);let o=t.length,l=o-s;switch(l){case 0:i=void 0;break;case 1:i=ed(a,t[s]);break;default:if(a===L.ParameterStructures.byName)throw Error(`Received ${l} parameters for 'by Name' notification parameter structure.`);i=t.slice(s,o).map(e=>el(e))}}else n=e.method,i=eh(e,t);let s={jsonrpc:"2.0",method:n,params:i};return function(e){if(q!==o.Off&&g){if(U===u.Text){let t;(q===o.Verbose||q===o.Compact)&&(t=e.params?`Params: ${en(e.params)}
|
|
16
|
+
|
|
17
|
+
`:"No parameters provided.\n\n"),g.log(`Sending notification '${e.method}'.`,t)}else ea("send-notification",e)}}(s),r.write(s).catch(e=>{throw S.error("Sending notification failed."),e})},onNotification:(e,t)=>{let r;return eo(),P.func(e)?v=e:t&&(P.string(e)?(r=e,b.set(e,{type:void 0,handler:t})):(r=e.method,b.set(e.method,{type:e,handler:t}))),{dispose:()=>{void 0!==r?b.delete(r):v=void 0}}},onProgress:(e,t,r)=>{if(x.has(t))throw Error(`Progress handler for token ${t} already registered`);return x.set(t,r),{dispose:()=>{x.delete(t)}}},sendProgress:(e,t,r)=>ef.sendNotification(s.type,{token:t,value:r}),onUnhandledProgress:V.event,sendRequest:(e,...t)=>{let n,i,s,a;if(eo(),function(){if(!X())throw Error("Call listen() first.")}(),P.string(e)){n=e;let r=t[0],s=t[t.length-1],o=0,l=L.ParameterStructures.auto;L.ParameterStructures.is(r)&&(o=1,l=r);let u=t.length;M.CancellationToken.is(s)&&(u-=1,a=s);let c=u-o;switch(c){case 0:i=void 0;break;case 1:i=ed(l,t[o]);break;default:if(l===L.ParameterStructures.byName)throw Error(`Received ${c} parameters for 'by Name' request parameter structure.`);i=t.slice(o,u).map(e=>el(e))}}else{n=e.method,i=eh(e,t);let r=e.numberOfParams;a=M.CancellationToken.is(t[r])?t[r]:void 0}let l=k++;a&&(s=a.onCancellationRequested(()=>{let e=K.sender.sendCancellation(ef,l);return void 0===e?(S.log(`Received no promise from cancellation strategy when cancelling id ${l}`),Promise.resolve()):e.catch(()=>{S.log(`Sending cancellation messages for id ${l} failed`)})}));let c={jsonrpc:"2.0",id:l,method:n,params:i};return function(e){if(q!==o.Off&&g){if(U===u.Text){let t;(q===o.Verbose||q===o.Compact)&&e.params&&(t=`Params: ${en(e.params)}
|
|
18
|
+
|
|
19
|
+
`),g.log(`Sending request '${e.method} - (${e.id})'.`,t)}else ea("send-request",e)}}(c),"function"==typeof K.sender.enableCancellation&&K.sender.enableCancellation(c),new Promise(async(e,t)=>{let i={method:n,timerStart:Date.now(),resolve:t=>{e(t),K.sender.cleanup(l),s?.dispose()},reject:e=>{t(e),K.sender.cleanup(l),s?.dispose()}};try{await r.write(c),w.set(l,i)}catch(e){throw S.error("Sending request failed."),i.reject(new L.ResponseError(L.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),e}})},onRequest:(e,t)=>{eo();let r=null;return a.is(e)?(r=void 0,y=e):P.string(e)?(r=null,void 0!==t&&(r=e,$.set(e,{handler:t,type:void 0}))):void 0!==t&&(r=e.method,$.set(e.method,{type:e,handler:t})),{dispose:()=>{null!==r&&(void 0!==r?$.delete(r):y=void 0)}}},hasPendingResponse:()=>w.size>0,trace:async(e,t,r)=>{let n=!1,i=u.Text;void 0!==r&&(P.boolean(r)?n=r:(n=r.sendNotification||!1,i=r.traceFormat||u.Text)),q=e,U=i,g=q===o.Off?void 0:t,!n||J()||Q()||await ef.sendNotification(c.type,{value:o.toString(e)})},onError:G.event,onClose:z.event,onUnhandledNotification:W.event,onDispose:B.event,end:()=>{r.end()},dispose:()=>{if(Q())return;j=E.Disposed,B.fire(void 0);let t=new L.ResponseError(L.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let e of w.values())e.reject(t);w=new Map,F=new Map,I=new Set,N=new O.LinkedMap,P.func(r.dispose)&&r.dispose(),P.func(e.dispose)&&e.dispose()},listen:()=>{eo(),function(){if(X())throw new Z(h.AlreadyListening,"Connection is already listening")}(),j=E.Listening,e.listen(er)},inspect:()=>{(0,_.default)().console.log("inspect")}};return ef.onNotification(d.type,e=>{if(q===o.Off||!g)return;let t=q===o.Verbose||q===o.Compact;g.log(e.message,t?e.verbose:void 0)}),ef.onNotification(s.type,e=>{let t=x.get(e.token);t?t(e.value):V.fire(e)}),ef}},28087:function(e,t){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,(r||(t.Disposable=r={})).create=function(e){return{dispose:e}}},72937:function(e,t,r){"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;let i=r(10853);!function(e){let t={dispose(){}};e.None=function(){return t}}(n||(t.Event=n={}));class s{add(e,t=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(r)&&r.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let r=!1;for(let n=0,i=this._callbacks.length;n<i;n++)if(this._callbacks[n]===e){if(this._contexts[n]===t){this._callbacks.splice(n,1),this._contexts.splice(n,1);return}r=!0}if(r)throw Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let t=[],r=this._callbacks.slice(0),n=this._contexts.slice(0);for(let s=0,a=r.length;s<a;s++)try{t.push(r[s].apply(n[s],e))}catch(e){(0,i.default)().console.error(e)}return t}isEmpty(){return!this._callbacks||0===this._callbacks.length}dispose(){this._callbacks=void 0,this._contexts=void 0}}class a{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,t,r)=>{this._callbacks||(this._callbacks=new s),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);let n={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),n.dispose=a._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(r)&&r.push(n),n}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=a,a._noop=function(){}},12630:function(e,t){"use strict";function r(e){return"string"==typeof e||e instanceof String}function n(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=r,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=n,t.stringArray=function(e){return n(e)&&e.every(e=>r(e))}},18693:function(e,t){"use strict";var r,n,i;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,(i=n||(t.Touch=n={})).None=0,i.First=1,i.AsOld=i.First,i.Last=2,i.AsNew=i.Last;class s{constructor(){this[r]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=n.None){let r=this._map.get(e);if(r)return t!==n.None&&this.touch(r,t),r.value}set(e,t,r=n.None){let i=this._map.get(e);if(i)i.value=t,r!==n.None&&this.touch(i,r);else{switch(i={key:e,value:t,next:void 0,previous:void 0},r){case n.None:this.addItemLast(i);break;case n.First:this.addItemFirst(i);break;case n.Last:default:this.addItemLast(i)}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){let r=this._state,n=this._head;for(;n;){if(t?e.bind(t)(n.value,n.key,this):e(n.value,n.key,this),this._state!==r)throw Error("LinkedMap got modified during iteration.");n=n.next}}keys(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==e)throw Error("LinkedMap got modified during iteration.");if(!t)return{value:void 0,done:!0};{let e={value:t.key,done:!1};return t=t.next,e}}};return r}values(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==e)throw Error("LinkedMap got modified during iteration.");if(!t)return{value:void 0,done:!0};{let e={value:t.value,done:!1};return t=t.next,e}}};return r}entries(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==e)throw Error("LinkedMap got modified during iteration.");if(!t)return{value:void 0,done:!0};{let e={value:[t.key,t.value],done:!1};return t=t.next,e}}};return r}[(r=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e){this.clear();return}let t=this._head,r=this.size;for(;t&&r>e;)this._map.delete(t.key),t=t.next,r--;this._head=t,this._size=r,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(this._head)e.next=this._head,this._head.previous=e;else throw Error("Invalid list")}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(this._tail)e.previous=this._tail,this._tail.next=e;else throw Error("Invalid list")}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let t=e.next,r=e.previous;if(!t||!r)throw Error("Invalid list");t.previous=r,r.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw Error("Invalid list");if(t===n.First||t===n.Last){if(t===n.First){if(e===this._head)return;let t=e.next,r=e.previous;e===this._tail?(r.next=void 0,this._tail=r):(t.previous=r,r.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===n.Last){if(e===this._tail)return;let t=e.next,r=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=r,r.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((t,r)=>{e.push([r,t])}),e}fromJSON(e){for(let[t,r]of(this.clear(),e))this.set(t,r)}}t.LinkedMap=s;class a extends s{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=n.AsNew){return super.get(e,t)}peek(e){return super.get(e,n.None)}set(e,t){return super.set(e,t,n.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}t.LRUCache=a},10355:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0;class r{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(e=!1){if(0===this._chunks.length)return;let t=0,r=0,n=0,i=0;e:for(;r<this._chunks.length;){let e=this._chunks[r];for(n=0;n<e.length;){switch(e[n]){case 13:switch(t){case 0:t=1;break;case 2:t=3;break;default:t=0}break;case 10:switch(t){case 1:t=2;break;case 3:t=4,n++;break e;default:t=0}break;default:t=0}n++}i+=e.byteLength,r++}if(4!==t)return;let s=this._read(i+n),a=new Map,o=this.toString(s,"ascii").split("\r\n");if(o.length<2)return a;for(let t=0;t<o.length-2;t++){let r=o[t],n=r.indexOf(":");if(-1===n)throw Error(`Message header must separate key and value using ':'
|
|
20
|
+
${r}`);let i=r.substr(0,n),s=r.substr(n+1).trim();a.set(e?i.toLowerCase():i,s)}return a}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(0===e)return this.emptyBuffer();if(e>this._totalLength)throw Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){let t=this._chunks[0],r=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,r}let t=this.allocNative(e),r=0;for(;e>0;){let n=this._chunks[0];if(n.byteLength>e){let i=n.slice(0,e);t.set(i,r),r+=e,this._chunks[0]=n.slice(e),this._totalLength-=e,e-=e}else t.set(n,r),r+=n.byteLength,this._chunks.shift(),this._totalLength-=n.byteLength,e-=n.byteLength}return t}}t.AbstractMessageBuffer=r},85072:function(e,t,r){"use strict";var n,i;Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;let s=r(10853),a=r(12630),o=r(72937),l=r(58037);(n||(t.MessageReader=n={})).is=function(e){return e&&a.func(e.listen)&&a.func(e.dispose)&&a.func(e.onError)&&a.func(e.onClose)&&a.func(e.onPartialMessage)};class u{constructor(){this.errorEmitter=new o.Emitter,this.closeEmitter=new o.Emitter,this.partialMessageEmitter=new o.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:Error(`Reader received error. Reason: ${a.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=u,(i||(i={})).fromOptions=function(e){let t,r,n;let i=new Map,a=new Map;if(void 0===e||"string"==typeof e)t=e??"utf-8";else{if(t=e.charset??"utf-8",void 0!==e.contentDecoder&&(r=e.contentDecoder,i.set(r.name,r)),void 0!==e.contentDecoders)for(let t of e.contentDecoders)i.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(n=e.contentTypeDecoder,a.set(n.name,n)),void 0!==e.contentTypeDecoders)for(let t of e.contentTypeDecoders)a.set(t.name,t)}return void 0===n&&(n=(0,s.default)().applicationJson.decoder,a.set(n.name,n)),{charset:t,contentDecoder:r,contentDecoders:i,contentTypeDecoder:n,contentTypeDecoders:a}};class c extends u{constructor(e,t){super(),this.readable=e,this.options=i.fromOptions(t),this.buffer=(0,s.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new l.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let t=this.readable.onData(e=>{this.onData(e)});return this.readable.onError(e=>this.fireError(e)),this.readable.onClose(()=>this.fireClose()),t}onData(e){try{for(this.buffer.append(e);;){if(-1===this.nextMessageLength){let e=this.buffer.tryReadHeaders(!0);if(!e)return;let t=e.get("content-length");if(!t){this.fireError(Error(`Header must provide a Content-Length property.
|
|
21
|
+
${JSON.stringify(Object.fromEntries(e))}`));return}let r=parseInt(t);if(isNaN(r)){this.fireError(Error(`Content-Length value must be a number. Got ${t}`));return}this.nextMessageLength=r}let e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let t=void 0!==this.options.contentDecoder?await this.options.contentDecoder.decode(e):e,r=await this.options.contentTypeDecoder.decode(t,this.options);this.callback(r)}).catch(e=>{this.fireError(e)})}}catch(e){this.fireError(e)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=(0,s.default)().timer.setTimeout((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}t.ReadableStreamMessageReader=c},47144:function(e,t,r){"use strict";var n,i;Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;let s=r(10853),a=r(12630),o=r(58037),l=r(72937);(n||(t.MessageWriter=n={})).is=function(e){return e&&a.func(e.dispose)&&a.func(e.onClose)&&a.func(e.onError)&&a.func(e.write)};class u{constructor(){this.errorEmitter=new l.Emitter,this.closeEmitter=new l.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,r){this.errorEmitter.fire([this.asError(e),t,r])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:Error(`Writer received error. Reason: ${a.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=u,(i||(i={})).fromOptions=function(e){return void 0===e||"string"==typeof e?{charset:e??"utf-8",contentTypeEncoder:(0,s.default)().applicationJson.encoder}:{charset:e.charset??"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:e.contentTypeEncoder??(0,s.default)().applicationJson.encoder}};class c extends u{constructor(e,t){super(),this.writable=e,this.options=i.fromOptions(t),this.errorCount=0,this.writeSemaphore=new o.Semaphore(1),this.writable.onError(e=>this.fireError(e)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e).then(t=>{let r=[];return r.push("Content-Length: ",t.byteLength.toString(),"\r\n"),r.push("\r\n"),this.doWrite(e,r,t)},e=>{throw this.fireError(e),e}))}async doWrite(e,t,r){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(r)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}t.WriteableStreamMessageWriter=c},91657:function(e,t,r){"use strict";var n,i,s,a;Object.defineProperty(t,"__esModule",{value:!0}),t.Message=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;let o=r(12630);(s=n||(t.ErrorCodes=n={})).ParseError=-32700,s.InvalidRequest=-32600,s.MethodNotFound=-32601,s.InvalidParams=-32602,s.InternalError=-32603,s.jsonrpcReservedErrorRangeStart=-32099,s.serverErrorStart=-32099,s.MessageWriteError=-32099,s.MessageReadError=-32098,s.PendingResponseRejected=-32097,s.ConnectionInactive=-32096,s.ServerNotInitialized=-32002,s.UnknownErrorCode=-32001,s.jsonrpcReservedErrorRangeEnd=-32e3,s.serverErrorEnd=-32e3;class l extends Error{constructor(e,t,r){super(t),this.code=o.number(e)?e:n.UnknownErrorCode,this.data=r,Object.setPrototypeOf(this,l.prototype)}toJson(){let e={code:this.code,message:this.message};return void 0!==this.data&&(e.data=this.data),e}}t.ResponseError=l;class u{constructor(e){this.kind=e}static is(e){return e===u.auto||e===u.byName||e===u.byPosition}toString(){return this.kind}}t.ParameterStructures=u,u.auto=new u("auto"),u.byPosition=new u("byPosition"),u.byName=new u("byName");class c{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return u.auto}}t.AbstractMessageSignature=c;class d extends c{constructor(e){super(e,0)}}t.RequestType0=d;class h extends c{constructor(e,t=u.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}}t.RequestType=h;class f extends c{constructor(e,t=u.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}}t.RequestType1=f;class p extends c{constructor(e){super(e,2)}}t.RequestType2=p;class m extends c{constructor(e){super(e,3)}}t.RequestType3=m;class g extends c{constructor(e){super(e,4)}}t.RequestType4=g;class y extends c{constructor(e){super(e,5)}}t.RequestType5=y;class T extends c{constructor(e){super(e,6)}}t.RequestType6=T;class R extends c{constructor(e){super(e,7)}}t.RequestType7=R;class v extends c{constructor(e){super(e,8)}}t.RequestType8=v;class E extends c{constructor(e){super(e,9)}}t.RequestType9=E;class S extends c{constructor(e,t=u.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}}t.NotificationType=S;class k extends c{constructor(e){super(e,0)}}t.NotificationType0=k;class C extends c{constructor(e,t=u.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}}t.NotificationType1=C;class A extends c{constructor(e){super(e,2)}}t.NotificationType2=A;class $ extends c{constructor(e){super(e,3)}}t.NotificationType3=$;class b extends c{constructor(e){super(e,4)}}t.NotificationType4=b;class x extends c{constructor(e){super(e,5)}}t.NotificationType5=x;class N extends c{constructor(e){super(e,6)}}t.NotificationType6=N;class w extends c{constructor(e){super(e,7)}}t.NotificationType7=w;class I extends c{constructor(e){super(e,8)}}t.NotificationType8=I;class _ extends c{constructor(e){super(e,9)}}t.NotificationType9=_,(a=i||(t.Message=i={})).isRequest=function(e){return e&&o.string(e.method)&&(o.string(e.id)||o.number(e.id))},a.isNotification=function(e){return e&&o.string(e.method)&&void 0===e.id},a.isResponse=function(e){return e&&(void 0!==e.result||!!e.error)&&(o.string(e.id)||o.number(e.id)||null===e.id)}},10853:function(e,t){"use strict";let r;function n(){if(void 0===r)throw Error("No runtime abstraction layer installed");return r}Object.defineProperty(t,"__esModule",{value:!0}),(n||(n={})).install=function(e){if(void 0===e)throw Error("No runtime abstraction layer provided");r=e},t.default=n},58037:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;let n=r(10853);class i{constructor(e=1){if(e<=0)throw Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((t,r)=>{this._waiting.push({thunk:e,resolve:t,reject:r}),this.runNext()})}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&(0,n.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw Error("To many thunks active");try{let t=e.thunk();t instanceof Promise?t.then(t=>{this._active--,e.resolve(t),this.runNext()},t=>{this._active--,e.reject(t),this.runNext()}):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}t.Semaphore=i},71749:function(e,t,r){"use strict";var n,i;Object.defineProperty(t,"__esModule",{value:!0}),t.SharedArrayReceiverStrategy=t.SharedArraySenderStrategy=void 0;let s=r(93237);(i=n||(n={})).Continue=0,i.Cancelled=1;class a{constructor(){this.buffers=new Map}enableCancellation(e){if(null===e.id)return;let t=new SharedArrayBuffer(4);new Int32Array(t,0,1)[0]=n.Continue,this.buffers.set(e.id,t),e.$cancellationData=t}async sendCancellation(e,t){let r=this.buffers.get(t);if(void 0===r)return;let i=new Int32Array(r,0,1);Atomics.store(i,0,n.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}}t.SharedArraySenderStrategy=a;class o{constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===n.Cancelled}get onCancellationRequested(){throw Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}}class l{constructor(e){this.token=new o(e)}cancel(){}dispose(){}}class u{constructor(){this.kind="request"}createCancellationTokenSource(e){let t=e.$cancellationData;return void 0===t?new s.CancellationTokenSource:new l(t)}}t.SharedArrayReceiverStrategy=u},8585:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;let s=r(14278);i(r(14278),t),i(r(96404),t),t.createProtocolConnection=function(e,t,r,n){return(0,s.createMessageConnection)(e,t,r,n)}},96404:function(e,t,r){"use strict";var n,i,s=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),a=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||s(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,a(r(29322),t),a(r(7824),t),a(r(1494),t),a(r(81383),t);var o=r(96386);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return o.createProtocolConnection}}),(n=i||(t.LSPErrorCodes=i={})).lspReservedErrorRangeStart=-32899,n.RequestFailed=-32803,n.ServerCancelled=-32802,n.ContentModified=-32801,n.RequestCancelled=-32800,n.lspReservedErrorRangeEnd=-32800},96386:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;let n=r(29322);t.createProtocolConnection=function(e,t,r,i){return n.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),(0,n.createMessageConnection)(e,t,r,i)}},1494:function(e,t,r){"use strict";var n,i;Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=t.MessageDirection=void 0;let s=r(29322);(i=n||(t.MessageDirection=n={})).clientToServer="clientToServer",i.serverToClient="serverToClient",i.both="both";class a{constructor(e){this.method=e}}t.RegistrationType=a;class o extends s.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=o;class l extends s.RequestType{constructor(e){super(e,s.ParameterStructures.byName)}}t.ProtocolRequestType=l;class u extends s.NotificationType0{constructor(e){super(e)}}t.ProtocolNotificationType0=u;class c extends s.NotificationType{constructor(e){super(e,s.ParameterStructures.byName)}}t.ProtocolNotificationType=c},6355:function(e,t,r){"use strict";var n,i,s,a,o,l;Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;let u=r(1494);(a=n||(t.CallHierarchyPrepareRequest=n={})).method="textDocument/prepareCallHierarchy",a.messageDirection=u.MessageDirection.clientToServer,a.type=new u.ProtocolRequestType(a.method),(o=i||(t.CallHierarchyIncomingCallsRequest=i={})).method="callHierarchy/incomingCalls",o.messageDirection=u.MessageDirection.clientToServer,o.type=new u.ProtocolRequestType(o.method),(l=s||(t.CallHierarchyOutgoingCallsRequest=s={})).method="callHierarchy/outgoingCalls",l.messageDirection=u.MessageDirection.clientToServer,l.type=new u.ProtocolRequestType(l.method)},71739:function(e,t,r){"use strict";var n,i,s,a;Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;let o=r(1494);(s=n||(t.DocumentColorRequest=n={})).method="textDocument/documentColor",s.messageDirection=o.MessageDirection.clientToServer,s.type=new o.ProtocolRequestType(s.method),(a=i||(t.ColorPresentationRequest=i={})).method="textDocument/colorPresentation",a.messageDirection=o.MessageDirection.clientToServer,a.type=new o.ProtocolRequestType(a.method)},59873:function(e,t,r){"use strict";var n,i;Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;let s=r(1494);(i=n||(t.ConfigurationRequest=n={})).method="workspace/configuration",i.messageDirection=s.MessageDirection.serverToClient,i.type=new s.ProtocolRequestType(i.method)},45385:function(e,t,r){"use strict";var n,i;Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;let s=r(1494);(i=n||(t.DeclarationRequest=n={})).method="textDocument/declaration",i.messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method)},58288:function(e,t,r){"use strict";var n,i,s,a,o,l,u,c,d;Object.defineProperty(t,"__esModule",{value:!0}),t.DiagnosticRefreshRequest=t.WorkspaceDiagnosticRequest=t.DocumentDiagnosticRequest=t.DocumentDiagnosticReportKind=t.DiagnosticServerCancellationData=void 0;let h=r(29322),f=r(57556),p=r(1494);(n||(t.DiagnosticServerCancellationData=n={})).is=function(e){return e&&f.boolean(e.retriggerRequest)},(l=i||(t.DocumentDiagnosticReportKind=i={})).Full="full",l.Unchanged="unchanged",(u=s||(t.DocumentDiagnosticRequest=s={})).method="textDocument/diagnostic",u.messageDirection=p.MessageDirection.clientToServer,u.type=new p.ProtocolRequestType(u.method),u.partialResult=new h.ProgressType,(c=a||(t.WorkspaceDiagnosticRequest=a={})).method="workspace/diagnostic",c.messageDirection=p.MessageDirection.clientToServer,c.type=new p.ProtocolRequestType(c.method),c.partialResult=new h.ProgressType,(d=o||(t.DiagnosticRefreshRequest=o={})).method="workspace/diagnostic/refresh",d.messageDirection=p.MessageDirection.serverToClient,d.type=new p.ProtocolRequestType0(d.method)},45743:function(e,t,r){"use strict";var n,i,s,a,o,l,u,c,d,h,f,p,m,g;Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;let y=r(1494);(c=n||(t.FileOperationPatternKind=n={})).file="file",c.folder="folder",(d=i||(t.WillCreateFilesRequest=i={})).method="workspace/willCreateFiles",d.messageDirection=y.MessageDirection.clientToServer,d.type=new y.ProtocolRequestType(d.method),(h=s||(t.DidCreateFilesNotification=s={})).method="workspace/didCreateFiles",h.messageDirection=y.MessageDirection.clientToServer,h.type=new y.ProtocolNotificationType(h.method),(f=a||(t.WillRenameFilesRequest=a={})).method="workspace/willRenameFiles",f.messageDirection=y.MessageDirection.clientToServer,f.type=new y.ProtocolRequestType(f.method),(p=o||(t.DidRenameFilesNotification=o={})).method="workspace/didRenameFiles",p.messageDirection=y.MessageDirection.clientToServer,p.type=new y.ProtocolNotificationType(p.method),(m=l||(t.DidDeleteFilesNotification=l={})).method="workspace/didDeleteFiles",m.messageDirection=y.MessageDirection.clientToServer,m.type=new y.ProtocolNotificationType(m.method),(g=u||(t.WillDeleteFilesRequest=u={})).method="workspace/willDeleteFiles",g.messageDirection=y.MessageDirection.clientToServer,g.type=new y.ProtocolRequestType(g.method)},38103:function(e,t,r){"use strict";var n,i,s,a;Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRefreshRequest=t.FoldingRangeRequest=void 0;let o=r(1494);(s=n||(t.FoldingRangeRequest=n={})).method="textDocument/foldingRange",s.messageDirection=o.MessageDirection.clientToServer,s.type=new o.ProtocolRequestType(s.method),(a=i||(t.FoldingRangeRefreshRequest=i={})).method="workspace/foldingRange/refresh",a.messageDirection=o.MessageDirection.serverToClient,a.type=new o.ProtocolRequestType0(a.method)},62291:function(e,t,r){"use strict";var n,i;Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;let s=r(1494);(i=n||(t.ImplementationRequest=n={})).method="textDocument/implementation",i.messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method)},10978:function(e,t,r){"use strict";var n,i,s,a,o,l;Object.defineProperty(t,"__esModule",{value:!0}),t.InlayHintRefreshRequest=t.InlayHintResolveRequest=t.InlayHintRequest=void 0;let u=r(1494);(a=n||(t.InlayHintRequest=n={})).method="textDocument/inlayHint",a.messageDirection=u.MessageDirection.clientToServer,a.type=new u.ProtocolRequestType(a.method),(o=i||(t.InlayHintResolveRequest=i={})).method="inlayHint/resolve",o.messageDirection=u.MessageDirection.clientToServer,o.type=new u.ProtocolRequestType(o.method),(l=s||(t.InlayHintRefreshRequest=s={})).method="workspace/inlayHint/refresh",l.messageDirection=u.MessageDirection.serverToClient,l.type=new u.ProtocolRequestType0(l.method)},1356:function(e,t,r){"use strict";var n,i;Object.defineProperty(t,"__esModule",{value:!0}),t.InlineCompletionRequest=void 0;let s=r(1494);(i=n||(t.InlineCompletionRequest=n={})).method="textDocument/inlineCompletion",i.messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method)},31137:function(e,t,r){"use strict";var n,i,s,a;Object.defineProperty(t,"__esModule",{value:!0}),t.InlineValueRefreshRequest=t.InlineValueRequest=void 0;let o=r(1494);(s=n||(t.InlineValueRequest=n={})).method="textDocument/inlineValue",s.messageDirection=o.MessageDirection.clientToServer,s.type=new o.ProtocolRequestType(s.method),(a=i||(t.InlineValueRefreshRequest=i={})).method="workspace/inlineValue/refresh",a.messageDirection=o.MessageDirection.serverToClient,a.type=new o.ProtocolRequestType0(a.method)},81383:function(e,t,r){"use strict";var n,i,s,a,o,l,u,c,d,h,f,p,m,g,y,T,R,v,E,S,k,C,A,$,b,x,N,w,I,_,P,L,O,D,M,F,Z,q,U,j,G,z,W,V,B,K,H,Y,X,J,Q,ee,et,er,en,ei,es,ea,eo,el,eu,ec,ed,eh,ef,ep,em,eg,ey,eT,eR,ev,eE,eS,ek,eC,eA,e$,eb,ex,eN,ew,eI,e_,eP,eL,eO,eD,eM,eF,eZ,eq,eU,ej,eG,ez,eW,eV,eB,eK,eH,eY,eX,eJ,eQ,e0,e1,e2,e3,e9,e4,e5,e8,e7,e6,te,tt,tr,tn,ti,ts;Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.RelativePattern=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeErrorCodes=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.PositionEncodingKind=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.NotebookCellTextDocumentFilter=t.NotebookDocumentFilter=t.TextDocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRefreshRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangesFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolResolveRequest=void 0,t.InlineCompletionRequest=t.DidCloseNotebookDocumentNotification=t.DidSaveNotebookDocumentNotification=t.DidChangeNotebookDocumentNotification=t.NotebookCellArrayChange=t.DidOpenNotebookDocumentNotification=t.NotebookDocumentSyncRegistrationType=t.NotebookDocument=t.NotebookCell=t.ExecutionSummary=t.NotebookCellKind=t.DiagnosticRefreshRequest=t.WorkspaceDiagnosticRequest=t.DocumentDiagnosticRequest=t.DocumentDiagnosticReportKind=t.DiagnosticServerCancellationData=t.InlayHintRefreshRequest=t.InlayHintResolveRequest=t.InlayHintRequest=t.InlineValueRefreshRequest=t.InlineValueRequest=t.TypeHierarchySupertypesRequest=t.TypeHierarchySubtypesRequest=t.TypeHierarchyPrepareRequest=void 0;let ta=r(1494),to=r(7824),tl=r(57556),tu=r(62291);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return tu.ImplementationRequest}});let tc=r(53274);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return tc.TypeDefinitionRequest}});let td=r(67809);Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return td.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return td.DidChangeWorkspaceFoldersNotification}});let th=r(59873);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return th.ConfigurationRequest}});let tf=r(71739);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return tf.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return tf.ColorPresentationRequest}});let tp=r(38103);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return tp.FoldingRangeRequest}}),Object.defineProperty(t,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return tp.FoldingRangeRefreshRequest}});let tm=r(45385);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return tm.DeclarationRequest}});let tg=r(20804);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return tg.SelectionRangeRequest}});let ty=r(59449);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return ty.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return ty.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return ty.WorkDoneProgressCancelNotification}});let tT=r(6355);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return tT.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return tT.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return tT.CallHierarchyPrepareRequest}});let tR=r(85522);Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return tR.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return tR.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return tR.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return tR.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return tR.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return tR.SemanticTokensRegistrationType}});let tv=r(51658);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return tv.ShowDocumentRequest}});let tE=r(95525);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return tE.LinkedEditingRangeRequest}});let tS=r(45743);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return tS.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return tS.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return tS.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return tS.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return tS.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return tS.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return tS.WillDeleteFilesRequest}});let tk=r(82791);Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return tk.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return tk.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return tk.MonikerRequest}});let tC=r(47422);Object.defineProperty(t,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return tC.TypeHierarchyPrepareRequest}}),Object.defineProperty(t,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return tC.TypeHierarchySubtypesRequest}}),Object.defineProperty(t,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return tC.TypeHierarchySupertypesRequest}});let tA=r(31137);Object.defineProperty(t,"InlineValueRequest",{enumerable:!0,get:function(){return tA.InlineValueRequest}}),Object.defineProperty(t,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return tA.InlineValueRefreshRequest}});let t$=r(10978);Object.defineProperty(t,"InlayHintRequest",{enumerable:!0,get:function(){return t$.InlayHintRequest}}),Object.defineProperty(t,"InlayHintResolveRequest",{enumerable:!0,get:function(){return t$.InlayHintResolveRequest}}),Object.defineProperty(t,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return t$.InlayHintRefreshRequest}});let tb=r(58288);Object.defineProperty(t,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return tb.DiagnosticServerCancellationData}}),Object.defineProperty(t,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return tb.DocumentDiagnosticReportKind}}),Object.defineProperty(t,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return tb.DocumentDiagnosticRequest}}),Object.defineProperty(t,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return tb.WorkspaceDiagnosticRequest}}),Object.defineProperty(t,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return tb.DiagnosticRefreshRequest}});let tx=r(26825);Object.defineProperty(t,"NotebookCellKind",{enumerable:!0,get:function(){return tx.NotebookCellKind}}),Object.defineProperty(t,"ExecutionSummary",{enumerable:!0,get:function(){return tx.ExecutionSummary}}),Object.defineProperty(t,"NotebookCell",{enumerable:!0,get:function(){return tx.NotebookCell}}),Object.defineProperty(t,"NotebookDocument",{enumerable:!0,get:function(){return tx.NotebookDocument}}),Object.defineProperty(t,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return tx.NotebookDocumentSyncRegistrationType}}),Object.defineProperty(t,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return tx.DidOpenNotebookDocumentNotification}}),Object.defineProperty(t,"NotebookCellArrayChange",{enumerable:!0,get:function(){return tx.NotebookCellArrayChange}}),Object.defineProperty(t,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return tx.DidChangeNotebookDocumentNotification}}),Object.defineProperty(t,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return tx.DidSaveNotebookDocumentNotification}}),Object.defineProperty(t,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return tx.DidCloseNotebookDocumentNotification}});let tN=r(1356);Object.defineProperty(t,"InlineCompletionRequest",{enumerable:!0,get:function(){return tN.InlineCompletionRequest}}),(n||(t.TextDocumentFilter=n={})).is=function(e){return tl.string(e)||tl.string(e.language)||tl.string(e.scheme)||tl.string(e.pattern)},(i||(t.NotebookDocumentFilter=i={})).is=function(e){return tl.objectLiteral(e)&&(tl.string(e.notebookType)||tl.string(e.scheme)||tl.string(e.pattern))},(s||(t.NotebookCellTextDocumentFilter=s={})).is=function(e){return tl.objectLiteral(e)&&(tl.string(e.notebook)||i.is(e.notebook))&&(void 0===e.language||tl.string(e.language))},(a||(t.DocumentSelector=a={})).is=function(e){if(!Array.isArray(e))return!1;for(let t of e)if(!tl.string(t)&&!n.is(t)&&!s.is(t))return!1;return!0},(ep=o||(t.RegistrationRequest=o={})).method="client/registerCapability",ep.messageDirection=ta.MessageDirection.serverToClient,ep.type=new ta.ProtocolRequestType(ep.method),(em=l||(t.UnregistrationRequest=l={})).method="client/unregisterCapability",em.messageDirection=ta.MessageDirection.serverToClient,em.type=new ta.ProtocolRequestType(em.method),(eg=u||(t.ResourceOperationKind=u={})).Create="create",eg.Rename="rename",eg.Delete="delete",(ey=c||(t.FailureHandlingKind=c={})).Abort="abort",ey.Transactional="transactional",ey.TextOnlyTransactional="textOnlyTransactional",ey.Undo="undo",(eT=d||(t.PositionEncodingKind=d={})).UTF8="utf-8",eT.UTF16="utf-16",eT.UTF32="utf-32",(h||(t.StaticRegistrationOptions=h={})).hasId=function(e){return e&&tl.string(e.id)&&e.id.length>0},(f||(t.TextDocumentRegistrationOptions=f={})).is=function(e){return e&&(null===e.documentSelector||a.is(e.documentSelector))},(eR=p||(t.WorkDoneProgressOptions=p={})).is=function(e){return tl.objectLiteral(e)&&(void 0===e.workDoneProgress||tl.boolean(e.workDoneProgress))},eR.hasWorkDoneProgress=function(e){return e&&tl.boolean(e.workDoneProgress)},(ev=m||(t.InitializeRequest=m={})).method="initialize",ev.messageDirection=ta.MessageDirection.clientToServer,ev.type=new ta.ProtocolRequestType(ev.method),(g||(t.InitializeErrorCodes=g={})).unknownProtocolVersion=1,(eE=y||(t.InitializedNotification=y={})).method="initialized",eE.messageDirection=ta.MessageDirection.clientToServer,eE.type=new ta.ProtocolNotificationType(eE.method),(eS=T||(t.ShutdownRequest=T={})).method="shutdown",eS.messageDirection=ta.MessageDirection.clientToServer,eS.type=new ta.ProtocolRequestType0(eS.method),(ek=R||(t.ExitNotification=R={})).method="exit",ek.messageDirection=ta.MessageDirection.clientToServer,ek.type=new ta.ProtocolNotificationType0(ek.method),(eC=v||(t.DidChangeConfigurationNotification=v={})).method="workspace/didChangeConfiguration",eC.messageDirection=ta.MessageDirection.clientToServer,eC.type=new ta.ProtocolNotificationType(eC.method),(eA=E||(t.MessageType=E={})).Error=1,eA.Warning=2,eA.Info=3,eA.Log=4,eA.Debug=5,(e$=S||(t.ShowMessageNotification=S={})).method="window/showMessage",e$.messageDirection=ta.MessageDirection.serverToClient,e$.type=new ta.ProtocolNotificationType(e$.method),(eb=k||(t.ShowMessageRequest=k={})).method="window/showMessageRequest",eb.messageDirection=ta.MessageDirection.serverToClient,eb.type=new ta.ProtocolRequestType(eb.method),(ex=C||(t.LogMessageNotification=C={})).method="window/logMessage",ex.messageDirection=ta.MessageDirection.serverToClient,ex.type=new ta.ProtocolNotificationType(ex.method),(eN=A||(t.TelemetryEventNotification=A={})).method="telemetry/event",eN.messageDirection=ta.MessageDirection.serverToClient,eN.type=new ta.ProtocolNotificationType(eN.method),(ew=$||(t.TextDocumentSyncKind=$={})).None=0,ew.Full=1,ew.Incremental=2,(eI=b||(t.DidOpenTextDocumentNotification=b={})).method="textDocument/didOpen",eI.messageDirection=ta.MessageDirection.clientToServer,eI.type=new ta.ProtocolNotificationType(eI.method),(e_=x||(t.TextDocumentContentChangeEvent=x={})).isIncremental=function(e){return null!=e&&"string"==typeof e.text&&void 0!==e.range&&(void 0===e.rangeLength||"number"==typeof e.rangeLength)},e_.isFull=function(e){return null!=e&&"string"==typeof e.text&&void 0===e.range&&void 0===e.rangeLength},(eP=N||(t.DidChangeTextDocumentNotification=N={})).method="textDocument/didChange",eP.messageDirection=ta.MessageDirection.clientToServer,eP.type=new ta.ProtocolNotificationType(eP.method),(eL=w||(t.DidCloseTextDocumentNotification=w={})).method="textDocument/didClose",eL.messageDirection=ta.MessageDirection.clientToServer,eL.type=new ta.ProtocolNotificationType(eL.method),(eO=I||(t.DidSaveTextDocumentNotification=I={})).method="textDocument/didSave",eO.messageDirection=ta.MessageDirection.clientToServer,eO.type=new ta.ProtocolNotificationType(eO.method),(eD=_||(t.TextDocumentSaveReason=_={})).Manual=1,eD.AfterDelay=2,eD.FocusOut=3,(eM=P||(t.WillSaveTextDocumentNotification=P={})).method="textDocument/willSave",eM.messageDirection=ta.MessageDirection.clientToServer,eM.type=new ta.ProtocolNotificationType(eM.method),(eF=L||(t.WillSaveTextDocumentWaitUntilRequest=L={})).method="textDocument/willSaveWaitUntil",eF.messageDirection=ta.MessageDirection.clientToServer,eF.type=new ta.ProtocolRequestType(eF.method),(eZ=O||(t.DidChangeWatchedFilesNotification=O={})).method="workspace/didChangeWatchedFiles",eZ.messageDirection=ta.MessageDirection.clientToServer,eZ.type=new ta.ProtocolNotificationType(eZ.method),(eq=D||(t.FileChangeType=D={})).Created=1,eq.Changed=2,eq.Deleted=3,(M||(t.RelativePattern=M={})).is=function(e){return tl.objectLiteral(e)&&(to.URI.is(e.baseUri)||to.WorkspaceFolder.is(e.baseUri))&&tl.string(e.pattern)},(eU=F||(t.WatchKind=F={})).Create=1,eU.Change=2,eU.Delete=4,(ej=Z||(t.PublishDiagnosticsNotification=Z={})).method="textDocument/publishDiagnostics",ej.messageDirection=ta.MessageDirection.serverToClient,ej.type=new ta.ProtocolNotificationType(ej.method),(eG=q||(t.CompletionTriggerKind=q={})).Invoked=1,eG.TriggerCharacter=2,eG.TriggerForIncompleteCompletions=3,(ez=U||(t.CompletionRequest=U={})).method="textDocument/completion",ez.messageDirection=ta.MessageDirection.clientToServer,ez.type=new ta.ProtocolRequestType(ez.method),(eW=j||(t.CompletionResolveRequest=j={})).method="completionItem/resolve",eW.messageDirection=ta.MessageDirection.clientToServer,eW.type=new ta.ProtocolRequestType(eW.method),(eV=G||(t.HoverRequest=G={})).method="textDocument/hover",eV.messageDirection=ta.MessageDirection.clientToServer,eV.type=new ta.ProtocolRequestType(eV.method),(eB=z||(t.SignatureHelpTriggerKind=z={})).Invoked=1,eB.TriggerCharacter=2,eB.ContentChange=3,(eK=W||(t.SignatureHelpRequest=W={})).method="textDocument/signatureHelp",eK.messageDirection=ta.MessageDirection.clientToServer,eK.type=new ta.ProtocolRequestType(eK.method),(eH=V||(t.DefinitionRequest=V={})).method="textDocument/definition",eH.messageDirection=ta.MessageDirection.clientToServer,eH.type=new ta.ProtocolRequestType(eH.method),(eY=B||(t.ReferencesRequest=B={})).method="textDocument/references",eY.messageDirection=ta.MessageDirection.clientToServer,eY.type=new ta.ProtocolRequestType(eY.method),(eX=K||(t.DocumentHighlightRequest=K={})).method="textDocument/documentHighlight",eX.messageDirection=ta.MessageDirection.clientToServer,eX.type=new ta.ProtocolRequestType(eX.method),(eJ=H||(t.DocumentSymbolRequest=H={})).method="textDocument/documentSymbol",eJ.messageDirection=ta.MessageDirection.clientToServer,eJ.type=new ta.ProtocolRequestType(eJ.method),(eQ=Y||(t.CodeActionRequest=Y={})).method="textDocument/codeAction",eQ.messageDirection=ta.MessageDirection.clientToServer,eQ.type=new ta.ProtocolRequestType(eQ.method),(e0=X||(t.CodeActionResolveRequest=X={})).method="codeAction/resolve",e0.messageDirection=ta.MessageDirection.clientToServer,e0.type=new ta.ProtocolRequestType(e0.method),(e1=J||(t.WorkspaceSymbolRequest=J={})).method="workspace/symbol",e1.messageDirection=ta.MessageDirection.clientToServer,e1.type=new ta.ProtocolRequestType(e1.method),(e2=Q||(t.WorkspaceSymbolResolveRequest=Q={})).method="workspaceSymbol/resolve",e2.messageDirection=ta.MessageDirection.clientToServer,e2.type=new ta.ProtocolRequestType(e2.method),(e3=ee||(t.CodeLensRequest=ee={})).method="textDocument/codeLens",e3.messageDirection=ta.MessageDirection.clientToServer,e3.type=new ta.ProtocolRequestType(e3.method),(e9=et||(t.CodeLensResolveRequest=et={})).method="codeLens/resolve",e9.messageDirection=ta.MessageDirection.clientToServer,e9.type=new ta.ProtocolRequestType(e9.method),(e4=er||(t.CodeLensRefreshRequest=er={})).method="workspace/codeLens/refresh",e4.messageDirection=ta.MessageDirection.serverToClient,e4.type=new ta.ProtocolRequestType0(e4.method),(e5=en||(t.DocumentLinkRequest=en={})).method="textDocument/documentLink",e5.messageDirection=ta.MessageDirection.clientToServer,e5.type=new ta.ProtocolRequestType(e5.method),(e8=ei||(t.DocumentLinkResolveRequest=ei={})).method="documentLink/resolve",e8.messageDirection=ta.MessageDirection.clientToServer,e8.type=new ta.ProtocolRequestType(e8.method),(e7=es||(t.DocumentFormattingRequest=es={})).method="textDocument/formatting",e7.messageDirection=ta.MessageDirection.clientToServer,e7.type=new ta.ProtocolRequestType(e7.method),(e6=ea||(t.DocumentRangeFormattingRequest=ea={})).method="textDocument/rangeFormatting",e6.messageDirection=ta.MessageDirection.clientToServer,e6.type=new ta.ProtocolRequestType(e6.method),(te=eo||(t.DocumentRangesFormattingRequest=eo={})).method="textDocument/rangesFormatting",te.messageDirection=ta.MessageDirection.clientToServer,te.type=new ta.ProtocolRequestType(te.method),(tt=el||(t.DocumentOnTypeFormattingRequest=el={})).method="textDocument/onTypeFormatting",tt.messageDirection=ta.MessageDirection.clientToServer,tt.type=new ta.ProtocolRequestType(tt.method),(eu||(t.PrepareSupportDefaultBehavior=eu={})).Identifier=1,(tr=ec||(t.RenameRequest=ec={})).method="textDocument/rename",tr.messageDirection=ta.MessageDirection.clientToServer,tr.type=new ta.ProtocolRequestType(tr.method),(tn=ed||(t.PrepareRenameRequest=ed={})).method="textDocument/prepareRename",tn.messageDirection=ta.MessageDirection.clientToServer,tn.type=new ta.ProtocolRequestType(tn.method),(ti=eh||(t.ExecuteCommandRequest=eh={})).method="workspace/executeCommand",ti.messageDirection=ta.MessageDirection.clientToServer,ti.type=new ta.ProtocolRequestType(ti.method),(ts=ef||(t.ApplyWorkspaceEditRequest=ef={})).method="workspace/applyEdit",ts.messageDirection=ta.MessageDirection.serverToClient,ts.type=new ta.ProtocolRequestType("workspace/applyEdit")},95525:function(e,t,r){"use strict";var n,i;Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;let s=r(1494);(i=n||(t.LinkedEditingRangeRequest=n={})).method="textDocument/linkedEditingRange",i.messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method)},82791:function(e,t,r){"use strict";var n,i,s,a,o,l;Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;let u=r(1494);(a=n||(t.UniquenessLevel=n={})).document="document",a.project="project",a.group="group",a.scheme="scheme",a.global="global",(o=i||(t.MonikerKind=i={})).$import="import",o.$export="export",o.local="local",(l=s||(t.MonikerRequest=s={})).method="textDocument/moniker",l.messageDirection=u.MessageDirection.clientToServer,l.type=new u.ProtocolRequestType(l.method)},26825:function(e,t,r){"use strict";var n,i,s,a,o,l,u,c,d,h,f,p,m,g,y,T,R,v,E,S;Object.defineProperty(t,"__esModule",{value:!0}),t.DidCloseNotebookDocumentNotification=t.DidSaveNotebookDocumentNotification=t.DidChangeNotebookDocumentNotification=t.NotebookCellArrayChange=t.DidOpenNotebookDocumentNotification=t.NotebookDocumentSyncRegistrationType=t.NotebookDocument=t.NotebookCell=t.ExecutionSummary=t.NotebookCellKind=void 0;let k=r(7824),C=r(57556),A=r(1494);(f=n||(t.NotebookCellKind=n={})).Markup=1,f.Code=2,f.is=function(e){return 1===e||2===e},(p=i||(t.ExecutionSummary=i={})).create=function(e,t){let r={executionOrder:e};return(!0===t||!1===t)&&(r.success=t),r},p.is=function(e){return C.objectLiteral(e)&&k.uinteger.is(e.executionOrder)&&(void 0===e.success||C.boolean(e.success))},p.equals=function(e,t){return e===t||null!=e&&null!=t&&e.executionOrder===t.executionOrder&&e.success===t.success},(m=s||(t.NotebookCell=s={})).create=function(e,t){return{kind:e,document:t}},m.is=function(e){return C.objectLiteral(e)&&n.is(e.kind)&&k.DocumentUri.is(e.document)&&(void 0===e.metadata||C.objectLiteral(e.metadata))},m.diff=function(e,t){let r=new Set;return e.document!==t.document&&r.add("document"),e.kind!==t.kind&&r.add("kind"),e.executionSummary!==t.executionSummary&&r.add("executionSummary"),(void 0!==e.metadata||void 0!==t.metadata)&&!function e(t,r){if(t===r)return!0;if(null==t||null==r||typeof t!=typeof r||"object"!=typeof t)return!1;let n=Array.isArray(t),i=Array.isArray(r);if(n!==i)return!1;if(n&&i){if(t.length!==r.length)return!1;for(let n=0;n<t.length;n++)if(!e(t[n],r[n]))return!1}if(C.objectLiteral(t)&&C.objectLiteral(r)){let n=Object.keys(t),i=Object.keys(r);if(n.length!==i.length||(n.sort(),i.sort(),!e(n,i)))return!1;for(let i=0;i<n.length;i++){let s=n[i];if(!e(t[s],r[s]))return!1}}return!0}(e.metadata,t.metadata)&&r.add("metadata"),void 0===e.executionSummary&&void 0===t.executionSummary||i.equals(e.executionSummary,t.executionSummary)||r.add("executionSummary"),r},(g=a||(t.NotebookDocument=a={})).create=function(e,t,r,n){return{uri:e,notebookType:t,version:r,cells:n}},g.is=function(e){return C.objectLiteral(e)&&C.string(e.uri)&&k.integer.is(e.version)&&C.typedArray(e.cells,s.is)},(y=o||(t.NotebookDocumentSyncRegistrationType=o={})).method="notebookDocument/sync",y.messageDirection=A.MessageDirection.clientToServer,y.type=new A.RegistrationType(y.method),(T=l||(t.DidOpenNotebookDocumentNotification=l={})).method="notebookDocument/didOpen",T.messageDirection=A.MessageDirection.clientToServer,T.type=new A.ProtocolNotificationType(T.method),T.registrationMethod=o.method,(R=u||(t.NotebookCellArrayChange=u={})).is=function(e){return C.objectLiteral(e)&&k.uinteger.is(e.start)&&k.uinteger.is(e.deleteCount)&&(void 0===e.cells||C.typedArray(e.cells,s.is))},R.create=function(e,t,r){let n={start:e,deleteCount:t};return void 0!==r&&(n.cells=r),n},(v=c||(t.DidChangeNotebookDocumentNotification=c={})).method="notebookDocument/didChange",v.messageDirection=A.MessageDirection.clientToServer,v.type=new A.ProtocolNotificationType(v.method),v.registrationMethod=o.method,(E=d||(t.DidSaveNotebookDocumentNotification=d={})).method="notebookDocument/didSave",E.messageDirection=A.MessageDirection.clientToServer,E.type=new A.ProtocolNotificationType(E.method),E.registrationMethod=o.method,(S=h||(t.DidCloseNotebookDocumentNotification=h={})).method="notebookDocument/didClose",S.messageDirection=A.MessageDirection.clientToServer,S.type=new A.ProtocolNotificationType(S.method),S.registrationMethod=o.method},59449:function(e,t,r){"use strict";var n,i,s,a,o,l;Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;let u=r(29322),c=r(1494);(a=n||(t.WorkDoneProgress=n={})).type=new u.ProgressType,a.is=function(e){return e===a.type},(o=i||(t.WorkDoneProgressCreateRequest=i={})).method="window/workDoneProgress/create",o.messageDirection=c.MessageDirection.serverToClient,o.type=new c.ProtocolRequestType(o.method),(l=s||(t.WorkDoneProgressCancelNotification=s={})).method="window/workDoneProgress/cancel",l.messageDirection=c.MessageDirection.clientToServer,l.type=new c.ProtocolNotificationType(l.method)},20804:function(e,t,r){"use strict";var n,i;Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;let s=r(1494);(i=n||(t.SelectionRangeRequest=n={})).method="textDocument/selectionRange",i.messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method)},85522:function(e,t,r){"use strict";var n,i,s,a,o,l,u,c,d,h,f;Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=void 0;let p=r(1494);(n||(t.TokenFormat=n={})).Relative="relative",(u=i||(t.SemanticTokensRegistrationType=i={})).method="textDocument/semanticTokens",u.type=new p.RegistrationType(u.method),(c=s||(t.SemanticTokensRequest=s={})).method="textDocument/semanticTokens/full",c.messageDirection=p.MessageDirection.clientToServer,c.type=new p.ProtocolRequestType(c.method),c.registrationMethod=i.method,(d=a||(t.SemanticTokensDeltaRequest=a={})).method="textDocument/semanticTokens/full/delta",d.messageDirection=p.MessageDirection.clientToServer,d.type=new p.ProtocolRequestType(d.method),d.registrationMethod=i.method,(h=o||(t.SemanticTokensRangeRequest=o={})).method="textDocument/semanticTokens/range",h.messageDirection=p.MessageDirection.clientToServer,h.type=new p.ProtocolRequestType(h.method),h.registrationMethod=i.method,(f=l||(t.SemanticTokensRefreshRequest=l={})).method="workspace/semanticTokens/refresh",f.messageDirection=p.MessageDirection.serverToClient,f.type=new p.ProtocolRequestType0(f.method)},51658:function(e,t,r){"use strict";var n,i;Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;let s=r(1494);(i=n||(t.ShowDocumentRequest=n={})).method="window/showDocument",i.messageDirection=s.MessageDirection.serverToClient,i.type=new s.ProtocolRequestType(i.method)},53274:function(e,t,r){"use strict";var n,i;Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;let s=r(1494);(i=n||(t.TypeDefinitionRequest=n={})).method="textDocument/typeDefinition",i.messageDirection=s.MessageDirection.clientToServer,i.type=new s.ProtocolRequestType(i.method)},47422:function(e,t,r){"use strict";var n,i,s,a,o,l;Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHierarchySubtypesRequest=t.TypeHierarchySupertypesRequest=t.TypeHierarchyPrepareRequest=void 0;let u=r(1494);(a=n||(t.TypeHierarchyPrepareRequest=n={})).method="textDocument/prepareTypeHierarchy",a.messageDirection=u.MessageDirection.clientToServer,a.type=new u.ProtocolRequestType(a.method),(o=i||(t.TypeHierarchySupertypesRequest=i={})).method="typeHierarchy/supertypes",o.messageDirection=u.MessageDirection.clientToServer,o.type=new u.ProtocolRequestType(o.method),(l=s||(t.TypeHierarchySubtypesRequest=s={})).method="typeHierarchy/subtypes",l.messageDirection=u.MessageDirection.clientToServer,l.type=new u.ProtocolRequestType(l.method)},67809:function(e,t,r){"use strict";var n,i,s,a;Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;let o=r(1494);(s=n||(t.WorkspaceFoldersRequest=n={})).method="workspace/workspaceFolders",s.messageDirection=o.MessageDirection.serverToClient,s.type=new o.ProtocolRequestType0(s.method),(a=i||(t.DidChangeWorkspaceFoldersNotification=i={})).method="workspace/didChangeWorkspaceFolders",a.messageDirection=o.MessageDirection.clientToServer,a.type=new o.ProtocolNotificationType(a.method)},57556:function(e,t){"use strict";function r(e){return"string"==typeof e||e instanceof String}function n(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function(e){return!0===e||!1===e},t.string=r,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=n,t.stringArray=function(e){return n(e)&&e.every(e=>r(e))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.objectLiteral=function(e){return null!==e&&"object"==typeof e}},22681:function(e,t,r){"use strict";function n(e){return e.charCodeAt(0)}function i(e,t){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}function s(e,t){if(!0===e[t])throw"duplicate flag "+t;e[t],e[t]=!0}function a(e){if(void 0===e)throw Error("Internal Error - Should never get here!");return!0}function o(){throw Error("Internal Error - Should never get here!")}function l(e){return"Character"===e.type}r.d(t,{e:function(){return g},O:function(){return m}});let u=[];for(let e=n("0");e<=n("9");e++)u.push(e);let c=[n("_")].concat(u);for(let e=n("a");e<=n("z");e++)c.push(e);for(let e=n("A");e<=n("Z");e++)c.push(e);let d=[n(" "),n("\f"),n("\n"),n("\r"),n(" "),n("\v"),n(" "),n("\xa0"),n(" "),n(" "),n(" "),n(" "),n(" "),n(" "),n(" "),n(" "),n(" "),n(" "),n(" "),n(" "),n("\u2028"),n("\u2029"),n(" "),n(" "),n(" "),n("\uFEFF")],h=/[0-9a-fA-F]/,f=/[0-9]/,p=/[1-9]/;class m{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let t=this.disjunction();this.consumeChar("/");let r={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":s(r,"global");break;case"i":s(r,"ignoreCase");break;case"m":s(r,"multiLine");break;case"u":s(r,"unicode");break;case"y":s(r,"sticky")}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:r,value:t,loc:this.loc(0)}}disjunction(){let e=[],t=this.idx;for(e.push(this.alternative());"|"===this.peekChar();)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(t)}}alternative(){let e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":let t;switch(this.consumeChar("?"),this.popChar()){case"=":t="Lookahead";break;case"!":t="NegativeLookahead";break;case"<":switch(this.popChar()){case"=":t="Lookbehind";break;case"!":t="NegativeLookbehind"}}a(t);let r=this.disjunction();return this.consumeChar(")"),{type:t,value:r,loc:this.loc(e)}}return o()}quantifier(e=!1){let t;let r=this.idx;switch(this.popChar()){case"*":t={atLeast:0,atMost:1/0};break;case"+":t={atLeast:1,atMost:1/0};break;case"?":t={atLeast:0,atMost:1};break;case"{":let n=this.integerIncludingZero();switch(this.popChar()){case"}":t={atLeast:n,atMost:n};break;case",":t=this.isDigit()?{atLeast:n,atMost:this.integerIncludingZero()}:{atLeast:n,atMost:1/0},this.consumeChar("}")}if(!0===e&&void 0===t)return;a(t)}if((!0!==e||void 0!==t)&&a(t))return"?"===this.peekChar(0)?(this.consumeChar("?"),t.greedy=!1):t.greedy=!0,t.type="Quantifier",t.loc=this.loc(r),t}atom(){let e;let t=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group()}return(void 0===e&&this.isPatternCharacter()&&(e=this.patternCharacter()),a(e))?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):o()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[n("\n"),n("\r"),n("\u2028"),n("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e;let t=!1;switch(this.popChar()){case"d":e=u;break;case"D":e=u,t=!0;break;case"s":e=d;break;case"S":e=d,t=!0;break;case"w":e=c;break;case"W":e=c,t=!0}return a(e)?{type:"Set",value:e,complement:t}:o()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=n("\f");break;case"n":e=n("\n");break;case"r":e=n("\r");break;case"t":e=n(" ");break;case"v":e=n("\v")}return a(e)?{type:"Character",value:e}:o()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(!1===/[a-zA-Z]/.test(e))throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:n("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){return{type:"Character",value:n(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){case"\n":case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:return{type:"Character",value:n(this.popChar())}}}characterClass(){let e=[],t=!1;for(this.consumeChar("["),"^"===this.peekChar(0)&&(this.consumeChar("^"),t=!0);this.isClassAtom();){let t=this.classAtom();if(t.type,l(t)&&this.isRangeDash()){this.consumeChar("-");let r=this.classAtom();if(r.type,l(r)){if(r.value<t.value)throw Error("Range out of order in character class");e.push({from:t.value,to:r.value})}else i(t.value,e),e.push(n("-")),i(r.value,e)}else i(t.value,e)}return this.consumeChar("]"),{type:"Set",complement:t,value:e}}classAtom(){switch(this.peekChar()){case"]":case"\n":case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:n("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;(this.consumeChar("("),"?"===this.peekChar(0))?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;let t=this.disjunction();this.consumeChar(")");let r={type:"Group",capturing:e,value:t};return e&&(r.idx=this.groupIdx),r}positiveInteger(){let e=this.popChar();if(!1===p.test(e))throw Error("Expecting a positive integer");for(;f.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(!1===f.test(e))throw Error("Expecting an integer");for(;f.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case"\n":case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:n(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return"-"===this.peekChar()&&this.isClassAtom(1)}isDigit(){return f.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return"?"===this.peekChar(1)&&("="===this.peekChar(2)||"!"===this.peekChar(2)||"<"===this.peekChar(2)&&("="===this.peekChar(3)||"!"===this.peekChar(3)));default:return!1}}isQuantifier(){let e=this.saveState();try{return void 0!==this.quantifier(!0)}catch(e){return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case"\n":case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let t="";for(let r=0;r<e;r++){let e=this.popChar();if(!1===h.test(e))throw Error("Expecting a HexDecimal digits");t+=e}return{type:"Character",value:parseInt(t,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){let e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(void 0!==e&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}class g{visitChildren(e){for(let t in e){let r=e[t];e.hasOwnProperty(t)&&(void 0!==r.type?this.visit(r):Array.isArray(r)&&r.forEach(e=>{this.visit(e)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e)}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}},38210:function(e,t,r){"use strict";r.d(t,{z:function(){return u}});var n=r(95324),i=r(63218),s=r(90569),a=r(82844),o=class extends n.T7{static{(0,n.eW)(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},l={parser:{TokenBuilder:(0,n.eW)(()=>new o,"TokenBuilder"),ValueConverter:(0,n.eW)(()=>new n.nr,"ValueConverter")}};function u(e=i.u){let t=(0,s.f3)((0,a.T)(e),n.GS),r=(0,s.f3)((0,a.Q)({shared:t}),n.j1,l);return t.ServiceRegistry.register(r),{shared:t,GitGraph:r}}(0,n.eW)(u,"createGitGraphServices")},37693:function(e,t,r){"use strict";r.d(t,{K:function(){return f}});var n=r(95324),i=r(63218),s=r(90569),a=r(82844),o=class extends n.T7{static{(0,n.eW)(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},l=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,u=class extends n.kb{static{(0,n.eW)(this,"TreemapValueConverter")}runCustomConverter(e,t,r){if("NUMBER2"===e.name)return parseFloat(t.replace(/,/g,""));if("SEPARATOR"===e.name||"STRING2"===e.name)return t.substring(1,t.length-1);if("INDENTATION"===e.name)return t.length;if("ClassDef"===e.name){if("string"!=typeof t)return t;let e=l.exec(t);if(e)return{$type:"ClassDefStatement",className:e[1],styleText:e[2]||void 0}}}};function c(e){let t=e.validation.TreemapValidator,r=e.validation.ValidationRegistry;if(r){let e={Treemap:t.checkSingleRoot.bind(t)};r.register(e,t)}}(0,n.eW)(c,"registerValidationChecks");var d=class{static{(0,n.eW)(this,"TreemapValidator")}checkSingleRoot(e,t){let r;for(let n of e.TreemapRows)n.item&&(void 0===r&&void 0===n.indent?r=0:void 0===n.indent?t("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}):void 0!==r&&r>=parseInt(n.indent,10)&&t("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}))}},h={parser:{TokenBuilder:(0,n.eW)(()=>new o,"TokenBuilder"),ValueConverter:(0,n.eW)(()=>new u,"ValueConverter")},validation:{TreemapValidator:(0,n.eW)(()=>new d,"TreemapValidator")}};function f(e=i.u){let t=(0,s.f3)((0,a.T)(e),n.GS),r=(0,s.f3)((0,a.Q)({shared:t}),n.Hu,h);return t.ServiceRegistry.register(r),c(r),{shared:t,Treemap:r}}(0,n.eW)(f,"createTreemapServices")},74910:function(e,t,r){"use strict";r.d(t,{M:function(){return u}});var n=r(95324),i=r(63218),s=r(90569),a=r(82844),o=class extends n.T7{static{(0,n.eW)(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},l={parser:{TokenBuilder:(0,n.eW)(()=>new o,"TokenBuilder"),ValueConverter:(0,n.eW)(()=>new n.nr,"ValueConverter")}};function u(e=i.u){let t=(0,s.f3)((0,a.T)(e),n.GS),r=(0,s.f3)((0,a.Q)({shared:t}),n.JA,l);return t.ServiceRegistry.register(r),{shared:t,Info:r}}(0,n.eW)(u,"createInfoServices")},64432:function(e,t,r){"use strict";r.d(t,{l:function(){return c}});var n=r(95324),i=r(63218),s=r(90569),a=r(82844),o=class extends n.T7{static{(0,n.eW)(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},l=class extends n.kb{static{(0,n.eW)(this,"PieValueConverter")}runCustomConverter(e,t,r){if("PIE_SECTION_LABEL"===e.name)return t.replace(/"/g,"").trim()}},u={parser:{TokenBuilder:(0,n.eW)(()=>new o,"TokenBuilder"),ValueConverter:(0,n.eW)(()=>new l,"ValueConverter")}};function c(e=i.u){let t=(0,s.f3)((0,a.T)(e),n.GS),r=(0,s.f3)((0,a.Q)({shared:t}),n.F_,u);return t.ServiceRegistry.register(r),{shared:t,Pie:r}}(0,n.eW)(c,"createPieServices")},50398:function(e,t,r){"use strict";r.d(t,{g:function(){return u}});var n=r(95324),i=r(63218),s=r(90569),a=r(82844),o=class extends n.T7{static{(0,n.eW)(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},l={parser:{TokenBuilder:(0,n.eW)(()=>new o,"TokenBuilder"),ValueConverter:(0,n.eW)(()=>new n.nr,"ValueConverter")}};function u(e=i.u){let t=(0,s.f3)((0,a.T)(e),n.GS),r=(0,s.f3)((0,a.Q)({shared:t}),n.RB,l);return t.ServiceRegistry.register(r),{shared:t,Packet:r}}(0,n.eW)(u,"createPacketServices")},95324:function(e,t,r){"use strict";r.d(t,{T7:function(){return eg},kb:function(){return ep},TF:function(){return ea},nr:function(){return em},j1:function(){return eo},JA:function(){return el},GS:function(){return es},RB:function(){return eu},F_:function(){return ec},R$:function(){return ed},Hu:function(){return eh},eW:function(){return N}});var n,i,s,a,o,l,u,c,d,h,f,p,m,g,y=r(90505),T=r(82844),R=r(90569),v=r(23425),E=r(63218),S=r(57870);let k={Grammar:()=>void 0,LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},C={AstReflection:()=>new v.SV};function A(e){let t=function(){let e=(0,R.f3)((0,T.T)(E.u),C),t=(0,R.f3)((0,T.Q)({shared:e}),k);return e.ServiceRegistry.register(t),t}(),r=t.serializer.JsonSerializer.deserialize(e);return t.shared.workspace.LangiumDocumentFactory.fromModel(r,S.o.parse(`memory:/${r.name??"grammar"}.langium`)),r}var $=r(53755),b=r(21182),x=Object.defineProperty,N=(e,t)=>x(e,"name",{value:t,configurable:!0});(n||(n={})).Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[[\w ]+\]/},(i||(i={})).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/},(s||(s={})).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(a||(a={})).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(o||(o={})).Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(l||(l={})).Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/},(u||(u={})).Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/},n.Terminals,i.Terminals,s.Terminals,a.Terminals,o.Terminals,l.Terminals,u.Terminals;var w="Architecture";N(function(e){return z.isInstance(e,w)},"isArchitecture");var I="Axis",_="Branch";N(function(e){return z.isInstance(e,_)},"isBranch");var P="Commit";N(function(e){return z.isInstance(e,P)},"isCommit");var L="GitGraph";N(function(e){return z.isInstance(e,L)},"isGitGraph");var O="Info";N(function(e){return z.isInstance(e,O)},"isInfo");var D="Item",M="Merge";N(function(e){return z.isInstance(e,M)},"isMerge");var F="Packet";N(function(e){return z.isInstance(e,F)},"isPacket");var Z="PacketBlock";N(function(e){return z.isInstance(e,Z)},"isPacketBlock"),N(function(e){return z.isInstance(e,"Pie")},"isPie");var q="PieSection";N(function(e){return z.isInstance(e,q)},"isPieSection");var U="Statement",j="Treemap";N(function(e){return z.isInstance(e,j)},"isTreemap");var G=class extends y.$v{constructor(){super(...arguments),this.types={Architecture:{name:w,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},edges:{name:"edges",defaultValue:[]},groups:{name:"groups",defaultValue:[]},junctions:{name:"junctions",defaultValue:[]},services:{name:"services",defaultValue:[]},title:{name:"title"}},superTypes:[]},Axis:{name:I,properties:{label:{name:"label"},name:{name:"name"}},superTypes:[]},Branch:{name:_,properties:{name:{name:"name"},order:{name:"order"}},superTypes:[U]},Checkout:{name:"Checkout",properties:{branch:{name:"branch"}},superTypes:[U]},CherryPicking:{name:"CherryPicking",properties:{id:{name:"id"},parent:{name:"parent"},tags:{name:"tags",defaultValue:[]}},superTypes:[U]},ClassDefStatement:{name:"ClassDefStatement",properties:{className:{name:"className"},styleText:{name:"styleText"}},superTypes:[]},Commit:{name:P,properties:{id:{name:"id"},message:{name:"message"},tags:{name:"tags",defaultValue:[]},type:{name:"type"}},superTypes:[U]},Curve:{name:"Curve",properties:{entries:{name:"entries",defaultValue:[]},label:{name:"label"},name:{name:"name"}},superTypes:[]},Direction:{name:"Direction",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},dir:{name:"dir"},statements:{name:"statements",defaultValue:[]},title:{name:"title"}},superTypes:[L]},Edge:{name:"Edge",properties:{lhsDir:{name:"lhsDir"},lhsGroup:{name:"lhsGroup",defaultValue:!1},lhsId:{name:"lhsId"},lhsInto:{name:"lhsInto",defaultValue:!1},rhsDir:{name:"rhsDir"},rhsGroup:{name:"rhsGroup",defaultValue:!1},rhsId:{name:"rhsId"},rhsInto:{name:"rhsInto",defaultValue:!1},title:{name:"title"}},superTypes:[]},Entry:{name:"Entry",properties:{axis:{name:"axis",referenceType:I},value:{name:"value"}},superTypes:[]},GitGraph:{name:L,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},statements:{name:"statements",defaultValue:[]},title:{name:"title"}},superTypes:[]},Group:{name:"Group",properties:{icon:{name:"icon"},id:{name:"id"},in:{name:"in"},title:{name:"title"}},superTypes:[]},Info:{name:O,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},title:{name:"title"}},superTypes:[]},Item:{name:D,properties:{classSelector:{name:"classSelector"},name:{name:"name"}},superTypes:[]},Junction:{name:"Junction",properties:{id:{name:"id"},in:{name:"in"}},superTypes:[]},Leaf:{name:"Leaf",properties:{classSelector:{name:"classSelector"},name:{name:"name"},value:{name:"value"}},superTypes:[D]},Merge:{name:M,properties:{branch:{name:"branch"},id:{name:"id"},tags:{name:"tags",defaultValue:[]},type:{name:"type"}},superTypes:[U]},Option:{name:"Option",properties:{name:{name:"name"},value:{name:"value",defaultValue:!1}},superTypes:[]},Packet:{name:F,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},blocks:{name:"blocks",defaultValue:[]},title:{name:"title"}},superTypes:[]},PacketBlock:{name:Z,properties:{bits:{name:"bits"},end:{name:"end"},label:{name:"label"},start:{name:"start"}},superTypes:[]},Pie:{name:"Pie",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},sections:{name:"sections",defaultValue:[]},showData:{name:"showData",defaultValue:!1},title:{name:"title"}},superTypes:[]},PieSection:{name:q,properties:{label:{name:"label"},value:{name:"value"}},superTypes:[]},Radar:{name:"Radar",properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},axes:{name:"axes",defaultValue:[]},curves:{name:"curves",defaultValue:[]},options:{name:"options",defaultValue:[]},title:{name:"title"}},superTypes:[]},Section:{name:"Section",properties:{classSelector:{name:"classSelector"},name:{name:"name"}},superTypes:[D]},Service:{name:"Service",properties:{icon:{name:"icon"},iconText:{name:"iconText"},id:{name:"id"},in:{name:"in"},title:{name:"title"}},superTypes:[]},Statement:{name:U,properties:{},superTypes:[]},Treemap:{name:j,properties:{accDescr:{name:"accDescr"},accTitle:{name:"accTitle"},title:{name:"title"},TreemapRows:{name:"TreemapRows",defaultValue:[]}},superTypes:[]},TreemapRow:{name:"TreemapRow",properties:{indent:{name:"indent"},item:{name:"item"}},superTypes:[]}}}static{N(this,"MermaidAstReflection")}},z=new G,W=N(()=>c??(c=A(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),V=N(()=>d??(d=A(`{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"GitGraphGrammarGrammar"),B=N(()=>h??(h=A(`{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"InfoGrammarGrammar"),K=N(()=>f??(f=A(`{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PacketGrammarGrammar"),H=N(()=>p??(p=A(`{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PieGrammarGrammar"),Y=N(()=>m??(m=A(`{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}`)),"RadarGrammarGrammar"),X=N(()=>g??(g=A(`{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammarGrammar"),J={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Q={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ee={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},et={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},er={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},en={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ei={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},es={AstReflection:N(()=>new G,"AstReflection")},ea={Grammar:N(()=>W(),"Grammar"),LanguageMetaData:N(()=>J,"LanguageMetaData"),parser:{}},eo={Grammar:N(()=>V(),"Grammar"),LanguageMetaData:N(()=>Q,"LanguageMetaData"),parser:{}},el={Grammar:N(()=>B(),"Grammar"),LanguageMetaData:N(()=>ee,"LanguageMetaData"),parser:{}},eu={Grammar:N(()=>K(),"Grammar"),LanguageMetaData:N(()=>et,"LanguageMetaData"),parser:{}},ec={Grammar:N(()=>H(),"Grammar"),LanguageMetaData:N(()=>er,"LanguageMetaData"),parser:{}},ed={Grammar:N(()=>Y(),"Grammar"),LanguageMetaData:N(()=>en,"LanguageMetaData"),parser:{}},eh={Grammar:N(()=>X(),"Grammar"),LanguageMetaData:N(()=>ei,"LanguageMetaData"),parser:{}},ef={ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/accTitle[\t ]*:([^\n\r]*)/,TITLE:/title([\t ][^\n\r]*|)/},ep=class extends $.t{static{N(this,"AbstractMermaidValueConverter")}runConverter(e,t,r){let n=this.runCommonConverter(e,t,r);return(void 0===n&&(n=this.runCustomConverter(e,t,r)),void 0===n)?super.runConverter(e,t,r):n}runCommonConverter(e,t,r){let n=ef[e.name];if(void 0===n)return;let i=n.exec(t);return null===i?void 0:void 0!==i[1]?i[1].trim().replace(/[\t ]{2,}/gm," "):void 0!==i[2]?i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,"\n"):void 0}},em=class extends ep{static{N(this,"CommonValueConverter")}runCustomConverter(e,t,r){}},eg=class extends b.P{static{N(this,"AbstractMermaidTokenBuilder")}constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,t,r){let n=super.buildKeywordTokens(e,t,r);return n.forEach(e=>{this.keywords.has(e.name)&&void 0!==e.PATTERN&&(e.PATTERN=RegExp(e.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}};(class extends eg{static{N(this,"CommonTokenBuilder")}})},24758:function(e,t,r){"use strict";r.d(t,{T:function(){return u}});var n=r(95324),i=r(63218),s=r(90569),a=r(82844),o=class extends n.T7{static{(0,n.eW)(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},l={parser:{TokenBuilder:(0,n.eW)(()=>new o,"TokenBuilder"),ValueConverter:(0,n.eW)(()=>new n.nr,"ValueConverter")}};function u(e=i.u){let t=(0,s.f3)((0,a.T)(e),n.GS),r=(0,s.f3)((0,a.Q)({shared:t}),n.R$,l);return t.ServiceRegistry.register(r),{shared:t,Radar:r}}(0,n.eW)(u,"createRadarServices")},20992:function(e,t,r){"use strict";r.d(t,{i:function(){return c}});var n=r(95324),i=r(63218),s=r(90569),a=r(82844),o=class extends n.T7{static{(0,n.eW)(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},l=class extends n.kb{static{(0,n.eW)(this,"ArchitectureValueConverter")}runCustomConverter(e,t,r){return"ARCH_ICON"===e.name?t.replace(/[()]/g,"").trim():"ARCH_TEXT_ICON"===e.name?t.replace(/["()]/g,""):"ARCH_TITLE"===e.name?t.replace(/[[\]]/g,"").trim():void 0}},u={parser:{TokenBuilder:(0,n.eW)(()=>new o,"TokenBuilder"),ValueConverter:(0,n.eW)(()=>new l,"ValueConverter")}};function c(e=i.u){let t=(0,s.f3)((0,a.T)(e),n.GS),r=(0,s.f3)((0,a.Q)({shared:t}),n.TF,u);return t.ServiceRegistry.register(r),{shared:t,Architecture:r}}(0,n.eW)(c,"createArchitectureServices")},54327:function(e,t,r){"use strict";r.d(t,{Qc:function(){return a}}),r(38210),r(74910),r(50398),r(64432),r(20992),r(24758),r(37693);var n=r(95324),i={},s={info:(0,n.eW)(async()=>{let{createInfoServices:e}=await r.e(2725).then(r.bind(r,82725)),t=e().Info.parser.LangiumParser;i.info=t},"info"),packet:(0,n.eW)(async()=>{let{createPacketServices:e}=await r.e(3956).then(r.bind(r,43956)),t=e().Packet.parser.LangiumParser;i.packet=t},"packet"),pie:(0,n.eW)(async()=>{let{createPieServices:e}=await r.e(5518).then(r.bind(r,25518)),t=e().Pie.parser.LangiumParser;i.pie=t},"pie"),architecture:(0,n.eW)(async()=>{let{createArchitectureServices:e}=await r.e(8977).then(r.bind(r,58977)),t=e().Architecture.parser.LangiumParser;i.architecture=t},"architecture"),gitGraph:(0,n.eW)(async()=>{let{createGitGraphServices:e}=await r.e(1334).then(r.bind(r,91334)),t=e().GitGraph.parser.LangiumParser;i.gitGraph=t},"gitGraph"),radar:(0,n.eW)(async()=>{let{createRadarServices:e}=await r.e(143).then(r.bind(r,80143)),t=e().Radar.parser.LangiumParser;i.radar=t},"radar"),treemap:(0,n.eW)(async()=>{let{createTreemapServices:e}=await r.e(4303).then(r.bind(r,34303)),t=e().Treemap.parser.LangiumParser;i.treemap=t},"treemap")};async function a(e,t){let r=s[e];if(!r)throw Error(`Unknown diagram type: ${e}`);i[e]||await r();let n=i[e].parse(t);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new o(n);return n.value}(0,n.eW)(a,"parse");var o=class extends Error{constructor(e){super(`Parsing failed: ${e.lexerErrors.map(e=>e.message).join("\n")} ${e.parserErrors.map(e=>e.message).join("\n")}`),this.result=e}static{(0,n.eW)(this,"MermaidParseError")}}},56193:function(e,t,r){"use strict";r.d(t,{ue:function(){return X},_o:function(){return rQ},sd:function(){return tP},nu:function(){return r1},dV:function(){return rA},hW:function(){return tE},Sj:function(){return G},Wx:function(){return V},hI:function(){return H},ej:function(){return B},fK:function(){return K},pT:function(){return Y},oI:function(){return J},ZW:function(){return tR},Hs:function(){return tD},oC:function(){return t2},l$:function(){return tS},ol:function(){return tO}});var n,i,s,a,o,l,u,c,d,h=r(81585),f=r(33625),p=r(45130),m=r(68692),g=r(12937),y=r(89371);function T(e){function t(){}t.prototype=e;let r=new t;function n(){return typeof r.bar}return n(),n(),e}var R=function(e,t,r){var n=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(r=r>i?i:r)<0&&(r+=i),i=t>r?0:r-t>>>0,t>>>=0;for(var s=Array(i);++n<i;)s[n]=e[n+t];return s},v=r(75300),E=function(e,t,r){var n=null==e?0:e.length;return n?R(e,(t=r||void 0===t?1:(0,v.Z)(t))<0?0:t,n):[]},S=r(2564),k=r(54646),C=r(66554),A=r(43027),$=r(82025),b=r(17234),x=r(47799),N=Object.prototype.hasOwnProperty,w=(0,A.Z)(function(e,t){if((0,b.Z)(t)||(0,$.Z)(t)){(0,C.Z)(t,(0,x.Z)(t),e);return}for(var r in t)N.call(t,r)&&(0,k.Z)(e,r,t[r])}),I=r(80659),_=r(18856),P=r(76834),L=r(41879),O=function(e,t){if(null==e)return{};var r=(0,I.Z)((0,L.Z)(e),function(e){return[e]});return t=(0,_.Z)(t),(0,P.Z)(e,r,function(e,r){return t(e,r[0])})},D=r(59576),M=r(82370),F=r(65832),Z=r(94914),q=Z.Z&&Z.Z.isRegExp,U=q?(0,F.Z)(q):function(e){return(0,M.Z)(e)&&"[object RegExp]"==(0,D.Z)(e)};class j{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),(0,h.Z)(this.definition,t=>{t.accept(e)})}}class G extends j{constructor(e){super([]),this.idx=1,w(this,O(e,e=>void 0!==e))}set definition(e){}get definition(){return void 0!==this.referencedRule?this.referencedRule.definition:[]}accept(e){e.visit(this)}}class z extends j{constructor(e){super(e.definition),this.orgText="",w(this,O(e,e=>void 0!==e))}}class W extends j{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,w(this,O(e,e=>void 0!==e))}}class V extends j{constructor(e){super(e.definition),this.idx=1,w(this,O(e,e=>void 0!==e))}}class B extends j{constructor(e){super(e.definition),this.idx=1,w(this,O(e,e=>void 0!==e))}}class K extends j{constructor(e){super(e.definition),this.idx=1,w(this,O(e,e=>void 0!==e))}}class H extends j{constructor(e){super(e.definition),this.idx=1,w(this,O(e,e=>void 0!==e))}}class Y extends j{constructor(e){super(e.definition),this.idx=1,w(this,O(e,e=>void 0!==e))}}class X extends j{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,w(this,O(e,e=>void 0!==e))}}class J{constructor(e){this.idx=1,w(this,O(e,e=>void 0!==e))}accept(e){e.visit(this)}}class Q{visit(e){switch(e.constructor){case G:return this.visitNonTerminal(e);case W:return this.visitAlternative(e);case V:return this.visitOption(e);case B:return this.visitRepetitionMandatory(e);case K:return this.visitRepetitionMandatoryWithSeparator(e);case Y:return this.visitRepetitionWithSeparator(e);case H:return this.visitRepetition(e);case X:return this.visitAlternation(e);case J:return this.visitTerminal(e);case z:return this.visitRule(e);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}var ee=r(77395),et=r(50388),er=function(e,t){var r;return(0,et.Z)(e,function(e,n,i){return!(r=t(e,n,i))}),!!r},en=r(28070),ei=r(2864),es=function(e,t,r){var n=(0,en.Z)(e)?ee.Z:er;return r&&(0,ei.Z)(e,t,r)&&(t=void 0),n(e,(0,_.Z)(t,3))},ea=r(75763),eo=Math.max,el=function(e,t,r,n){e=(0,$.Z)(e)?e:(0,f.Z)(e),r=r&&!n?(0,v.Z)(r):0;var i=e.length;return r<0&&(r=eo(i+r,0)),(0,S.Z)(e)?r<=i&&e.indexOf(t,r)>-1:!!i&&(0,ea.Z)(e,t,r)>-1},eu=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(!t(e[r],r,e))return!1;return!0},ec=function(e,t){var r=!0;return(0,et.Z)(e,function(e,n,i){return r=!!t(e,n,i)}),r},ed=function(e,t,r){var n=(0,en.Z)(e)?eu:ec;return r&&(0,ei.Z)(e,t,r)&&(t=void 0),n(e,(0,_.Z)(t,3))};function eh(e,t=[]){return e instanceof V||e instanceof H||e instanceof Y||(e instanceof X?es(e.definition,e=>eh(e,t)):!(e instanceof G&&el(t,e))&&e instanceof j&&(e instanceof G&&t.push(e),ed(e.definition,e=>eh(e,t))))}function ef(e){if(e instanceof G)return"SUBRULE";if(e instanceof V)return"OPTION";if(e instanceof X)return"OR";if(e instanceof B)return"AT_LEAST_ONE";if(e instanceof K)return"AT_LEAST_ONE_SEP";if(e instanceof Y)return"MANY_SEP";if(e instanceof H)return"MANY";else if(e instanceof J)return"CONSUME";else throw Error("non exhaustive match")}class ep{walk(e,t=[]){(0,h.Z)(e.definition,(r,n)=>{let i=E(e.definition,n+1);if(r instanceof G)this.walkProdRef(r,i,t);else if(r instanceof J)this.walkTerminal(r,i,t);else if(r instanceof W)this.walkFlat(r,i,t);else if(r instanceof V)this.walkOption(r,i,t);else if(r instanceof B)this.walkAtLeastOne(r,i,t);else if(r instanceof K)this.walkAtLeastOneSep(r,i,t);else if(r instanceof Y)this.walkManySep(r,i,t);else if(r instanceof H)this.walkMany(r,i,t);else if(r instanceof X)this.walkOr(r,i,t);else throw Error("non exhaustive match")})}walkTerminal(e,t,r){}walkProdRef(e,t,r){}walkFlat(e,t,r){let n=t.concat(r);this.walk(e,n)}walkOption(e,t,r){let n=t.concat(r);this.walk(e,n)}walkAtLeastOne(e,t,r){let n=[new V({definition:e.definition})].concat(t,r);this.walk(e,n)}walkAtLeastOneSep(e,t,r){let n=em(e,t,r);this.walk(e,n)}walkMany(e,t,r){let n=[new V({definition:e.definition})].concat(t,r);this.walk(e,n)}walkManySep(e,t,r){let n=em(e,t,r);this.walk(e,n)}walkOr(e,t,r){let n=t.concat(r);(0,h.Z)(e.definition,e=>{let t=new W({definition:[e]});this.walk(t,n)})}}function em(e,t,r){return[new V({definition:[new J({terminalType:e.separator})].concat(e.definition)})].concat(t,r)}var eg=r(3394),ey=function(e){return e&&e.length?(0,eg.Z)(e):[]},eT=r(85765);function eR(e){if(e instanceof G)return eR(e.referencedRule);if(e instanceof J)return[e.terminalType];if(e instanceof W||e instanceof V||e instanceof H||e instanceof B||e instanceof K||e instanceof Y||e instanceof J||e instanceof z)return function(e){let t,r=[],n=e.definition,i=0,s=n.length>i,a=!0;for(;s&&a;)a=eh(t=n[i]),r=r.concat(eR(t)),i+=1,s=n.length>i;return ey(r)}(e);if(e instanceof X)return function(e){let t=(0,m.Z)(e.definition,e=>eR(e));return ey((0,eT.Z)(t))}(e);throw Error("non exhaustive match")}let ev="_~IN~_";class eE extends ep{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,r){}walkProdRef(e,t,r){var n,i;let s=(n=e.referencedRule,i=e.idx,n.name+i+ev+this.topProd.name),a=eR(new W({definition:t.concat(r)}));this.follows[s]=a}}var eS=r(87826),ek=r(22681),eC=r(37340),eA=r(84168),e$=r(82673),eb=function(e){if("function"!=typeof e)throw TypeError("Expected a function");return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}},ex=function(e,t){return((0,en.Z)(e)?eA.Z:e$.Z)(e,eb((0,_.Z)(t,3)))},eN=r(98402),ew=Math.max,eI=function(e,t,r){var n=null==e?0:e.length;if(!n)return -1;var i=null==r?0:(0,v.Z)(r);return i<0&&(i=ew(n+i,0)),(0,ea.Z)(e,t,i)},e_=r(49579),eP=r(52422),eL=r(25770),eO=r(88576),eD=r(30985),eM=r(92363),eF=function(e,t,r,n){var i=-1,s=eO.Z,a=!0,o=e.length,l=[],u=t.length;if(!o)return l;r&&(t=(0,I.Z)(t,(0,F.Z)(r))),n?(s=eD.Z,a=!1):t.length>=200&&(s=eM.Z,a=!1,t=new eL.Z(t));t:for(;++i<o;){var c=e[i],d=null==r?c:r(c);if(c=n||0!==c?c:0,a&&d==d){for(var h=u;h--;)if(t[h]===d)continue t;l.push(c)}else s(t,d,n)||l.push(c)}return l},eZ=r(28491),eq=r(30801),eU=r(38259),ej=(0,eq.Z)(function(e,t){return(0,eU.Z)(e)?eF(e,(0,eZ.Z)(t,1,eU.Z,!0)):[]}),eG=function(e){for(var t=-1,r=null==e?0:e.length,n=0,i=[];++t<r;){var s=e[t];s&&(i[n++]=s)}return i},ez=function(e){return e&&e.length?e[0]:void 0},eW=r(23969);function eV(e){console&&console.error&&console.error(`Error: ${e}`)}function eB(e){console&&console.warn&&console.warn(`Warning: ${e}`)}let eK={},eH=new ek.O;function eY(e){let t=e.toString();if(eK.hasOwnProperty(t))return eK[t];{let e=eH.pattern(t);return eK[t]=e,e}}let eX="Complement Sets are not supported for first char optimization",eJ='Unable to use "first char" lexer optimizations:\n';function eQ(e,t,r){let n=ta(e);t[n]=n,!0===r&&function(e,t){let r=String.fromCharCode(e),n=r.toUpperCase();if(n!==r){let e=ta(n.charCodeAt(0));t[e]=e}else{let e=r.toLowerCase();if(e!==r){let r=ta(e.charCodeAt(0));t[r]=r}}}(e,t)}function e0(e,t){return(0,eW.Z)(e.value,e=>"number"==typeof e?el(t,e):void 0!==(0,eW.Z)(t,t=>e.from<=t&&t<=e.to))}class e1 extends ek.e{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(!0!==this.found){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){el(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?void 0===e0(e,this.targetCharCodes)&&(this.found=!0):void 0!==e0(e,this.targetCharCodes)&&(this.found=!0)}}function e2(e,t){if(!(t instanceof RegExp))return void 0!==(0,eW.Z)(t,t=>el(e,t.charCodeAt(0)));{let r=eY(t),n=new e1(e);return n.visit(r),n.found}}let e3="PATTERN",e9="defaultMode",e4="modes",e5=/[^\\][$]/,e8=/[^\\[][\^]|^\^/;function e7(e){let t=e.ignoreCase?"iy":"y";return RegExp(`${e.source}`,t)}function e6(e){let t=e.PATTERN;if(U(t))return!1;if((0,eN.Z)(t)||(0,g.Z)(t,"exec"))return!0;if((0,S.Z)(t))return!1;throw Error("non exhaustive match")}function te(e){return!!(0,S.Z)(e)&&1===e.length&&e.charCodeAt(0)}let tt={test:function(e){let t=e.length;for(let r=this.lastIndex;r<t;r++){let t=e.charCodeAt(r);if(10===t)return this.lastIndex=r+1,!0;if(13===t)return 10===e.charCodeAt(r+1)?this.lastIndex=r+2:this.lastIndex=r+1,!0}return!1},lastIndex:0};function tr(e,t){if((0,g.Z)(e,"LINE_BREAKS"))return!1;if(U(e.PATTERN)){try{e2(t,e.PATTERN)}catch(e){return{issue:l.IDENTIFY_TERMINATOR,errMsg:e.message}}return!1}if((0,S.Z)(e.PATTERN))return!1;if(e6(e))return{issue:l.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}function tn(e){return(0,m.Z)(e,e=>(0,S.Z)(e)?e.charCodeAt(0):e)}function ti(e,t,r){void 0===e[t]?e[t]=[r]:e[t].push(r)}let ts=[];function ta(e){return e<256?e:ts[e]}var to=r(26161),tl=r(20937),tu=r(1848);function tc(e){let t=new Date().getTime(),r=e();return{time:new Date().getTime()-t,value:r}}function td(e,t){let r=e.tokenTypeIdx;return r===t.tokenTypeIdx||!0===t.isParent&&!0===t.categoryMatchesMap[r]}function th(e,t){return e.tokenTypeIdx===t.tokenTypeIdx}let tf=1,tp={};function tm(e){let t=function(e){let t=(0,y.Z)(e),r=e,n=!0;for(;n;){let e=ej(r=eG((0,eT.Z)((0,m.Z)(r,e=>e.CATEGORIES))),t);t=t.concat(e),(0,p.Z)(e)?n=!1:r=e}return t}(e);(0,h.Z)(t,e=>{tg(e)||(tp[tf]=e,e.tokenTypeIdx=tf++),ty(e)&&!(0,en.Z)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),ty(e)||(e.CATEGORIES=[]),(0,g.Z)(e,"categoryMatches")||(e.categoryMatches=[]),(0,g.Z)(e,"categoryMatchesMap")||(e.categoryMatchesMap={})}),(0,h.Z)(t,e=>{(function e(t,r){(0,h.Z)(t,e=>{r.categoryMatchesMap[e.tokenTypeIdx]=!0}),(0,h.Z)(r.CATEGORIES,n=>{let i=t.concat(r);el(i,n)||e(i,n)})})([],e)}),(0,h.Z)(t,e=>{e.categoryMatches=[],(0,h.Z)(e.categoryMatchesMap,(t,r)=>{e.categoryMatches.push(tp[r].tokenTypeIdx)})}),(0,h.Z)(t,e=>{e.isParent=e.categoryMatches.length>0})}function tg(e){return(0,g.Z)(e,"tokenTypeIdx")}function ty(e){return(0,g.Z)(e,"CATEGORIES")}function tT(e){return(0,g.Z)(e,"tokenTypeIdx")}let tR={buildUnableToPopLexerModeMessage:e=>`Unable to pop Lexer Mode after encountering Token ->${e.image}<- The Mode Stack is empty`,buildUnexpectedCharactersMessage:(e,t,r,n,i,s)=>`unexpected character: ->${e.charAt(t)}<- at offset: ${t}, skipped ${r} characters.`};(n=l||(l={}))[n.MISSING_PATTERN=0]="MISSING_PATTERN",n[n.INVALID_PATTERN=1]="INVALID_PATTERN",n[n.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",n[n.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",n[n.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",n[n.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",n[n.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",n[n.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",n[n.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",n[n.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",n[n.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",n[n.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",n[n.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",n[n.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",n[n.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",n[n.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",n[n.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",n[n.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE";let tv={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:["\n","\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:tR,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(tv);class tE{constructor(e,t=tv){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(e,t)=>{if(!0!==this.traceInitPerf)return t();{this.traceInitIndent++;let r=Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--> <${e}>`);let{time:n,value:i}=tc(t),s=n>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&s(`${r}<-- <${e}> time: ${n}ms`),this.traceInitIndent--,i}},"boolean"==typeof t)throw Error("The second argument to the Lexer constructor is now an ILexerConfig Object.\na boolean 2nd argument is no longer supported");this.config=w({},tv,t);let r=this.config.traceInitPerf;!0===r?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):"number"==typeof r&&(this.traceInitMaxIdent=r,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let r;let n=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===tv.lineTerminatorsPattern)this.config.lineTerminatorsPattern=tt;else if(this.config.lineTerminatorCharacters===tv.lineTerminatorCharacters)throw Error("Error: Missing <lineTerminatorCharacters> property on the Lexer config.\n For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS");if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),(0,en.Z)(e)?r={modes:{defaultMode:(0,y.Z)(e)},defaultMode:e9}:(n=!1,r=(0,y.Z)(e))}),!1===this.config.skipValidations&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(function(e,t,r){let n=[];return(0,g.Z)(e,e9)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+e9+"> property in its definition\n",type:l.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,g.Z)(e,e4)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+e4+"> property in its definition\n",type:l.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,g.Z)(e,e4)&&(0,g.Z)(e,e9)&&!(0,g.Z)(e.modes,e.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${e9}: <${e.defaultMode}>which does not exist
|
|
22
|
+
`,type:l.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,g.Z)(e,e4)&&(0,h.Z)(e.modes,(e,t)=>{(0,h.Z)(e,(r,i)=>{if((0,eS.Z)(r))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${t}> at index: <${i}>
|
|
23
|
+
`,type:l.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if((0,g.Z)(r,"LONGER_ALT")){let i=(0,en.Z)(r.LONGER_ALT)?r.LONGER_ALT:[r.LONGER_ALT];(0,h.Z)(i,i=>{(0,eS.Z)(i)||el(e,i)||n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${i.name}> on token <${r.name}> outside of mode <${t}>
|
|
24
|
+
`,type:l.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}(r,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(function(e,t,r){let n=[],i=!1,s=ex(eG((0,eT.Z)((0,f.Z)(e.modes))),e=>e[e3]===tE.NA),a=tn(r);return t&&(0,h.Z)(s,e=>{let t=tr(e,a);if(!1!==t){let r={message:function(e,t){if(t.issue===l.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
|
|
25
|
+
The problem is in the <${e.name}> Token Type
|
|
26
|
+
Root cause: ${t.errMsg}.
|
|
27
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(t.issue===l.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
|
|
28
|
+
The problem is in the <${e.name}> Token Type
|
|
29
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}(e,t),type:t.issue,tokenType:e};n.push(r)}else(0,g.Z)(e,"LINE_BREAKS")?!0===e.LINE_BREAKS&&(i=!0):e2(a,e.PATTERN)&&(i=!0)}),t&&!i&&n.push({message:"Warning: No LINE_BREAKS Found.\n This Lexer has been defined to track line and column information,\n But none of the Token Types can be identified as matching a line terminator.\n See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS \n for details.",type:l.NO_LINE_BREAKS_FLAGS}),n}(r,this.trackStartLines,this.config.lineTerminatorCharacters))})),r.modes=r.modes?r.modes:{},(0,h.Z)(r.modes,(e,t)=>{r.modes[t]=ex(e,e=>(0,eS.Z)(e))});let i=(0,x.Z)(r.modes);if((0,h.Z)(r.modes,(e,r)=>{this.TRACE_INIT(`Mode: <${r}> processing`,()=>{if(this.modes.push(r),!1===this.config.skipValidations&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(function(e,t){let r=[],n=function(e){let t=(0,eP.Z)(e,e=>!(0,g.Z)(e,e3));return{errors:(0,m.Z)(t,e=>({message:"Token Type: ->"+e.name+"<- missing static 'PATTERN' property",type:l.MISSING_PATTERN,tokenTypes:[e]})),valid:ej(e,t)}}(e);r=r.concat(n.errors);let i=function(e){let t=(0,eP.Z)(e,e=>{let t=e[e3];return!U(t)&&!(0,eN.Z)(t)&&!(0,g.Z)(t,"exec")&&!(0,S.Z)(t)});return{errors:(0,m.Z)(t,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:l.INVALID_PATTERN,tokenTypes:[e]})),valid:ej(e,t)}}(n.valid),s=i.valid;return(r=(r=(r=(r=r.concat(i.errors)).concat(function(e){let t=[],r=(0,eP.Z)(e,e=>U(e[e3]));return(t=(t=(t=(t=t.concat(function(e){class t extends ek.e{constructor(){super(...arguments),this.found=!1}visitEndAnchor(e){this.found=!0}}let r=(0,eP.Z)(e,e=>{let r=e.PATTERN;try{let e=eY(r),n=new t;return n.visit(e),n.found}catch(e){return e5.test(r.source)}});return(0,m.Z)(r,e=>({message:"Unexpected RegExp Anchor Error:\n Token Type: ->"+e.name+"<- static 'PATTERN' cannot contain end of input anchor '$'\n See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.",type:l.EOI_ANCHOR_FOUND,tokenTypes:[e]}))}(r))).concat(function(e){class t extends ek.e{constructor(){super(...arguments),this.found=!1}visitStartAnchor(e){this.found=!0}}let r=(0,eP.Z)(e,e=>{let r=e.PATTERN;try{let e=eY(r),n=new t;return n.visit(e),n.found}catch(e){return e8.test(r.source)}});return(0,m.Z)(r,e=>({message:"Unexpected RegExp Anchor Error:\n Token Type: ->"+e.name+"<- static 'PATTERN' cannot contain start of input anchor '^'\n See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.",type:l.SOI_ANCHOR_FOUND,tokenTypes:[e]}))}(r))).concat(function(e){let t=(0,eP.Z)(e,e=>{let t=e[e3];return t instanceof RegExp&&(t.multiline||t.global)});return(0,m.Z)(t,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:l.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[e]}))}(r))).concat(function(e){let t=[],r=(0,m.Z)(e,r=>(0,e_.Z)(e,(e,n)=>(r.PATTERN.source!==n.PATTERN.source||el(t,n)||n.PATTERN===tE.NA||(t.push(n),e.push(n)),e),[]));r=eG(r);let n=(0,eP.Z)(r,e=>e.length>1);return(0,m.Z)(n,e=>{let t=(0,m.Z)(e,e=>e.name),r=ez(e).PATTERN;return{message:`The same RegExp pattern ->${r}<-has been used in all of the following Token Types: ${t.join(", ")} <-`,type:l.DUPLICATE_PATTERNS_FOUND,tokenTypes:e}})}(r))).concat(function(e){let t=(0,eP.Z)(e,e=>e.PATTERN.test(""));return(0,m.Z)(t,e=>({message:"Token Type: ->"+e.name+"<- static 'PATTERN' must not match an empty string",type:l.EMPTY_MATCH_PATTERN,tokenTypes:[e]}))}(r))}(s))).concat(function(e){let t=(0,eP.Z)(e,e=>{if(!(0,g.Z)(e,"GROUP"))return!1;let t=e.GROUP;return t!==tE.SKIPPED&&t!==tE.NA&&!(0,S.Z)(t)});return(0,m.Z)(t,e=>({message:"Token Type: ->"+e.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:l.INVALID_GROUP_TYPE_FOUND,tokenTypes:[e]}))}(s))).concat(function(e,t){let r=(0,eP.Z)(e,e=>void 0!==e.PUSH_MODE&&!el(t,e.PUSH_MODE));return(0,m.Z)(r,e=>({message:`Token Type: ->${e.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${e.PUSH_MODE}<-which does not exist`,type:l.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[e]}))}(s,t))).concat(function(e){let t=[],r=(0,e_.Z)(e,(e,t,r)=>{let n=t.PATTERN;return n===tE.NA||((0,S.Z)(n)?e.push({str:n,idx:r,tokenType:t}):U(n)&&void 0===(0,eW.Z)([".","\\","[","]","|","^","$","(",")","?","*","+","{"],e=>-1!==n.source.indexOf(e))&&e.push({str:n.source,idx:r,tokenType:t})),e},[]);return(0,h.Z)(e,(e,n)=>{(0,h.Z)(r,({str:r,idx:i,tokenType:s})=>{if(n<i&&function(e,t){if(U(t)){if(/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(t.source))return!1;let r=t.exec(e);return null!==r&&0===r.index}if((0,eN.Z)(t))return t(e,0,[],{});if((0,g.Z)(t,"exec"))return t.exec(e,0,[],{});if("string"==typeof t)return t===e;throw Error("non exhaustive match")}(r,e.PATTERN)){let r=`Token: ->${s.name}<- can never be matched.
|
|
30
|
+
Because it appears AFTER the Token Type ->${e.name}<-in the lexer's definition.
|
|
31
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;t.push({message:r,type:l.UNREACHABLE_PATTERN,tokenTypes:[e,s]})}})}),t}(s))}(e,i))}),(0,p.Z)(this.lexerDefinitionErrors)){let n;tm(e),this.TRACE_INIT("analyzeTokenTypes",()=>{n=function(e,t){let r,n,i,s,a,o,l,u,c,d,y,T;let R=(t=(0,eC.Z)(t,{debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r","\n"],tracer:(e,t)=>t()})).tracer;R("initCharCodeToOptimizedIndexMap",()=>{(function(){if((0,p.Z)(ts)){ts=Array(65536);for(let e=0;e<65536;e++)ts[e]=e>255?255+~~(e/255):e}})()}),R("Reject Lexer.NA",()=>{r=ex(e,e=>e[e3]===tE.NA)});let v=!1;R("Transform Patterns",()=>{v=!1,n=(0,m.Z)(r,e=>{let t=e[e3];if(U(t)){let e=t.source;return 1!==e.length||"^"===e||"$"===e||"."===e||t.ignoreCase?2!==e.length||"\\"!==e[0]||el(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],e[1])?e7(t):e[1]:e}if((0,eN.Z)(t))return v=!0,{exec:t};if("object"==typeof t)return v=!0,t;if("string"==typeof t)return 1===t.length?t:e7(new RegExp(t.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&")));throw Error("non exhaustive match")})}),R("misc mapping",()=>{i=(0,m.Z)(r,e=>e.tokenTypeIdx),s=(0,m.Z)(r,e=>{let t=e.GROUP;if(t!==tE.SKIPPED){if((0,S.Z)(t))return t;if((0,eS.Z)(t))return!1;throw Error("non exhaustive match")}}),a=(0,m.Z)(r,e=>{let t=e.LONGER_ALT;if(t)return(0,en.Z)(t)?(0,m.Z)(t,e=>eI(r,e)):[eI(r,t)]}),o=(0,m.Z)(r,e=>e.PUSH_MODE),l=(0,m.Z)(r,e=>(0,g.Z)(e,"POP_MODE"))}),R("Line Terminator Handling",()=>{let e=tn(t.lineTerminatorCharacters);u=(0,m.Z)(r,e=>!1),"onlyOffset"!==t.positionTracking&&(u=(0,m.Z)(r,t=>(0,g.Z)(t,"LINE_BREAKS")?!!t.LINE_BREAKS:!1===tr(t,e)&&e2(e,t.PATTERN)))}),R("Misc Mapping #2",()=>{c=(0,m.Z)(r,e6),d=(0,m.Z)(n,te),y=(0,e_.Z)(r,(e,t)=>{let r=t.GROUP;return(0,S.Z)(r)&&r!==tE.SKIPPED&&(e[r]=[]),e},{}),T=(0,m.Z)(n,(e,t)=>({pattern:n[t],longerAlt:a[t],canLineTerminator:u[t],isCustom:c[t],short:d[t],group:s[t],push:o[t],pop:l[t],tokenTypeIdx:i[t],tokenType:r[t]}))});let E=!0,k=[];return t.safeMode||R("First Char Optimization",()=>{k=(0,e_.Z)(r,(e,r,n)=>{if("string"==typeof r.PATTERN)ti(e,ta(r.PATTERN.charCodeAt(0)),T[n]);else if((0,en.Z)(r.START_CHARS_HINT)){let t;(0,h.Z)(r.START_CHARS_HINT,r=>{let i=ta("string"==typeof r?r.charCodeAt(0):r);t!==i&&(t=i,ti(e,i,T[n]))})}else if(U(r.PATTERN)){if(r.PATTERN.unicode)E=!1,t.ensureOptimizations&&eV(`${eJ} Unable to analyze < ${r.PATTERN.toString()} > pattern.
|
|
32
|
+
The regexp unicode flag is not currently supported by the regexp-to-ast library.
|
|
33
|
+
This will disable the lexer's first char optimizations.
|
|
34
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let i=function(e,t=!1){try{let t=eY(e);return function e(t,r,n){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)e(t.value[i],r,n);break;case"Alternative":let i=t.value;for(let t=0;t<i.length;t++){let s=i[t];switch(s.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}switch(s.type){case"Character":eQ(s.value,r,n);break;case"Set":if(!0===s.complement)throw Error(eX);(0,h.Z)(s.value,e=>{if("number"==typeof e)eQ(e,r,n);else if(!0===n)for(let t=e.from;t<=e.to;t++)eQ(t,r,n);else{for(let t=e.from;t<=e.to&&t<256;t++)eQ(t,r,n);if(e.to>=256){let t=e.from>=256?e.from:256,n=e.to,i=ta(t),s=ta(n);for(let e=i;e<=s;e++)r[e]=e}}});break;case"Group":e(s.value,r,n);break;default:throw Error("Non Exhaustive Match")}let a=void 0!==s.quantifier&&0===s.quantifier.atLeast;if("Group"===s.type&&!1===function e(t){let r=t.quantifier;return!!r&&0===r.atLeast||!!t.value&&((0,en.Z)(t.value)?ed(t.value,e):e(t.value))}(s)||"Group"!==s.type&&!1===a)break}break;default:throw Error("non exhaustive match!")}return(0,f.Z)(r)}(t.value,{},t.flags.ignoreCase)}catch(r){if(r.message===eX)t&&eB(`${eJ} Unable to optimize: < ${e.toString()} >
|
|
35
|
+
Complement Sets cannot be automatically optimized.
|
|
36
|
+
This will disable the lexer's first char optimizations.
|
|
37
|
+
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let r="";t&&(r="\n This will disable the lexer's first char optimizations.\n See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details."),eV(`${eJ}
|
|
38
|
+
Failed parsing: < ${e.toString()} >
|
|
39
|
+
Using the @chevrotain/regexp-to-ast library
|
|
40
|
+
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+r)}}return[]}(r.PATTERN,t.ensureOptimizations);(0,p.Z)(i)&&(E=!1),(0,h.Z)(i,t=>{ti(e,t,T[n])})}}else t.ensureOptimizations&&eV(`${eJ} TokenType: <${r.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
|
|
41
|
+
This will disable the lexer's first char optimizations.
|
|
42
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),E=!1;return e},[])}),{emptyGroups:y,patternIdxToConfig:T,charCodeToPatternIdxToConfig:k,hasCustom:v,canBeOptimized:E}}(e,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[r]=n.patternIdxToConfig,this.charCodeToPatternIdxToConfig[r]=n.charCodeToPatternIdxToConfig,this.emptyGroups=w({},this.emptyGroups,n.emptyGroups),this.hasCustom=n.hasCustom||this.hasCustom,this.canModeBeOptimized[r]=n.canBeOptimized}})}),this.defaultMode=r.defaultMode,!(0,p.Z)(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling)throw Error("Errors detected in definition of Lexer:\n"+(0,m.Z)(this.lexerDefinitionErrors,e=>e.message).join("-----------------------\n"));(0,h.Z)(this.lexerDefinitionWarning,e=>{eB(e.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(n&&(this.handleModes=to.Z),!1===this.trackStartLines&&(this.computeNewColumn=tl.Z),!1===this.trackEndLines&&(this.updateTokenEndLineColumnLocation=to.Z),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let e=(0,e_.Z)(this.canModeBeOptimized,(e,t,r)=>(!1===t&&e.push(r),e),[]);if(t.ensureOptimizations&&!(0,p.Z)(e))throw Error(`Lexer Modes: < ${e.join(", ")} > cannot be optimized.
|
|
43
|
+
Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
|
|
44
|
+
Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{eK={}}),this.TRACE_INIT("toFastProperties",()=>{T(this)})})}tokenize(e,t=this.defaultMode){if(!(0,p.Z)(this.lexerDefinitionErrors))throw Error("Unable to Tokenize because Errors detected in definition of Lexer:\n"+(0,m.Z)(this.lexerDefinitionErrors,e=>e.message).join("-----------------------\n"));return this.tokenizeInternal(e,t)}tokenizeInternal(e,t){let r,n,i,s,a,o,l,u,c,d,f,p,m,g,y,T;let R=e.length,v=0,E=0,S=Array(this.hasCustom?0:Math.floor(e.length/10)),k=[],C=this.trackStartLines?1:void 0,A=this.trackStartLines?1:void 0,$=function(e){let t={},r=(0,x.Z)(e);return(0,h.Z)(r,r=>{let n=e[r];if((0,en.Z)(n))t[r]=[];else throw Error("non exhaustive match")}),t}(this.emptyGroups),b=this.trackStartLines,N=this.config.lineTerminatorsPattern,w=0,I=[],_=[],P=[],L=[];Object.freeze(L);let O=!1,D=e=>{if(1===P.length&&void 0===e.tokenType.PUSH_MODE){let t=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(e);k.push({offset:e.startOffset,line:e.startLine,column:e.startColumn,length:e.image.length,message:t})}else{P.pop();let e=(0,tu.Z)(P);I=this.patternIdxToConfig[e],_=this.charCodeToPatternIdxToConfig[e],w=I.length;let t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;O=!!_&&!!t}};function M(e){P.push(e),_=this.charCodeToPatternIdxToConfig[e],w=(I=this.patternIdxToConfig[e]).length,w=I.length;let t=this.canModeBeOptimized[e]&&!1===this.config.safeMode;O=!!_&&!!t}M.call(this,t);let F=this.config.recoveryEnabled;for(;v<R;){let t;o=null,c=-1;let h=e.charCodeAt(v);if(O){let e=_[ta(h)];t=void 0!==e?e:L}else t=I;let x=t.length;for(r=0;r<x;r++){let n=(T=t[r]).pattern;l=null;let d=T.short;if(!1!==d?h===d&&(c=1,o=n):!0===T.isCustom?null!==(y=n.exec(e,v,S,$))?(c=(o=y[0]).length,void 0!==y.payload&&(l=y.payload)):o=null:(n.lastIndex=v,c=this.matchLength(n,e,v)),-1!==c){if(void 0!==(a=T.longerAlt)){o=e.substring(v,v+c);let t=a.length;for(i=0;i<t;i++){let t=I[a[i]],r=t.pattern;if(u=null,!0===t.isCustom?null!==(y=r.exec(e,v,S,$))?(s=y[0],void 0!==y.payload&&(u=y.payload)):s=null:(r.lastIndex=v,s=this.match(r,e,v)),s&&s.length>o.length){o=s,c=s.length,l=u,T=t;break}}}break}}if(-1!==c){if(void 0!==(d=T.group)&&(o=null!==o?o:e.substring(v,v+c),f=T.tokenTypeIdx,p=this.createTokenInstance(o,v,f,T.tokenType,C,A,c),this.handlePayload(p,l),!1===d?E=this.addToken(S,E,p):$[d].push(p)),!0===b&&!0===T.canLineTerminator){let t,r,n=0;N.lastIndex=0;do o=null!==o?o:e.substring(v,v+c),!0===(t=N.test(o))&&(r=N.lastIndex-1,n++);while(!0===t);0!==n?(C+=n,A=c-r,this.updateTokenEndLineColumnLocation(p,d,r,n,C,A,c)):A=this.computeNewColumn(A,c)}else A=this.computeNewColumn(A,c);v+=c,this.handleModes(T,D,M,p)}else{let t=v,r=C,i=A,s=!1===F;for(;!1===s&&v<R;)for(v++,n=0;n<w;n++){let t=I[n],r=t.pattern,i=t.short;if(!1!==i?e.charCodeAt(v)===i&&(s=!0):!0===t.isCustom?s=null!==r.exec(e,v,S,$):(r.lastIndex=v,s=null!==r.exec(e)),!0===s)break}if(m=v-t,A=this.computeNewColumn(A,m),g=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(e,t,m,r,i,(0,tu.Z)(P)),k.push({offset:t,line:r,column:i,length:m,message:g}),!1===F)break}}return this.hasCustom||(S.length=E),{tokens:S,groups:$,errors:k}}handleModes(e,t,r,n){if(!0===e.pop){let i=e.push;t(n),void 0!==i&&r.call(this,i)}else void 0!==e.push&&r.call(this,e.push)}updateTokenEndLineColumnLocation(e,t,r,n,i,s,a){let o,l;void 0===t||(l=(o=r===a-1)?-1:0,1===n&&!0===o||(e.endLine=i+l,e.endColumn=s-1+-l))}computeNewColumn(e,t){return e+t}createOffsetOnlyToken(e,t,r,n){return{image:e,startOffset:t,tokenTypeIdx:r,tokenType:n}}createStartOnlyToken(e,t,r,n,i,s){return{image:e,startOffset:t,startLine:i,startColumn:s,tokenTypeIdx:r,tokenType:n}}createFullToken(e,t,r,n,i,s,a){return{image:e,startOffset:t,endOffset:t+a-1,startLine:i,endLine:i,startColumn:s,endColumn:s+a-1,tokenTypeIdx:r,tokenType:n}}addTokenUsingPush(e,t,r){return e.push(r),t}addTokenUsingMemberAccess(e,t,r){return e[t]=r,++t}handlePayloadNoCustom(e,t){}handlePayloadWithCustom(e,t){null!==t&&(e.payload=t)}match(e,t,r){return!0===e.test(t)?t.substring(r,e.lastIndex):null}matchLength(e,t,r){return!0===e.test(t)?e.lastIndex-r:-1}}function tS(e){return tk(e)?e.LABEL:e.name}function tk(e){return(0,S.Z)(e.LABEL)&&""!==e.LABEL}tE.SKIPPED="This marks a skipped Token pattern, this means each token identified by it will be consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",tE.NA=/NOT_APPLICABLE/;let tC="categories",tA="label",t$="group",tb="push_mode",tx="pop_mode",tN="longer_alt",tw="line_breaks",tI="start_chars_hint";function t_(e){let t=e.pattern,r={};if(r.name=e.name,(0,eS.Z)(t)||(r.PATTERN=t),(0,g.Z)(e,"parent"))throw"The parent property is no longer supported.\nSee: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.";return(0,g.Z)(e,tC)&&(r.CATEGORIES=e[tC]),tm([r]),(0,g.Z)(e,tA)&&(r.LABEL=e[tA]),(0,g.Z)(e,t$)&&(r.GROUP=e[t$]),(0,g.Z)(e,tx)&&(r.POP_MODE=e[tx]),(0,g.Z)(e,tb)&&(r.PUSH_MODE=e[tb]),(0,g.Z)(e,tN)&&(r.LONGER_ALT=e[tN]),(0,g.Z)(e,tw)&&(r.LINE_BREAKS=e[tw]),(0,g.Z)(e,tI)&&(r.START_CHARS_HINT=e[tI]),r}let tP=t_({name:"EOF",pattern:tE.NA});function tL(e,t,r,n,i,s,a,o){return{image:t,startOffset:r,endOffset:n,startLine:i,endLine:s,startColumn:a,endColumn:o,tokenTypeIdx:e.tokenTypeIdx,tokenType:e}}function tO(e,t){return td(e,t)}tm([tP]);let tD={buildMismatchTokenMessage({expected:e,actual:t,previous:r,ruleName:n}){let i=tk(e)?`--> ${tS(e)} <--`:`token of type --> ${e.name} <--`;return`Expecting ${i} but found --> '${t.image}' <--`},buildNotAllInputParsedMessage:({firstRedundant:e,ruleName:t})=>"Redundant input, expecting EOF but found: "+e.image,buildNoViableAltMessage({expectedPathsPerAlt:e,actual:t,previous:r,customUserDescription:n,ruleName:i}){let s="Expecting: ",a="\nbut found: '"+ez(t).image+"'";if(n)return s+n+a;{let t=(0,e_.Z)(e,(e,t)=>e.concat(t),[]),r=(0,m.Z)(t,e=>`[${(0,m.Z)(e,e=>tS(e)).join(", ")}]`),n=(0,m.Z)(r,(e,t)=>` ${t+1}. ${e}`);return s+`one of these possible Token sequences:
|
|
45
|
+
${n.join("\n")}`+a}},buildEarlyExitMessage({expectedIterationPaths:e,actual:t,customUserDescription:r,ruleName:n}){let i="Expecting: ",s="\nbut found: '"+ez(t).image+"'";if(r)return i+r+s;{let t=(0,m.Z)(e,e=>`[${(0,m.Z)(e,e=>tS(e)).join(",")}]`);return i+`expecting at least one iteration which starts with one of these possible Token sequences::
|
|
46
|
+
<${t.join(" ,")}>`+s}}};Object.freeze(tD);let tM={buildRuleNotFoundError:(e,t)=>"Invalid grammar, reference to a rule which is not defined: ->"+t.nonTerminalName+"<-\ninside top level rule: ->"+e.name+"<-"},tF={buildDuplicateFoundError(e,t){let r=e.name,n=ez(t),i=n.idx,s=ef(n),a=n instanceof J?n.terminalType.name:n instanceof G?n.nonTerminalName:"",o=`->${s}${i>0?i:""}<- ${a?`with argument: ->${a}<-`:""}
|
|
47
|
+
appears more than once (${t.length} times) in the top level rule: ->${r}<-.
|
|
48
|
+
For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
|
|
49
|
+
`;return(o=o.replace(/[ \t]+/g," ")).replace(/\s\s+/g,"\n")},buildNamespaceConflictError:e=>`Namespace conflict found in grammar.
|
|
50
|
+
The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${e.name}>.
|
|
51
|
+
To resolve this make sure each Terminal and Non-Terminal names are unique
|
|
52
|
+
This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
|
|
53
|
+
and Non-Terminal names start with a lower case letter.`,buildAlternationPrefixAmbiguityError(e){let t=(0,m.Z)(e.prefixPath,e=>tS(e)).join(", "),r=0===e.alternation.idx?"":e.alternation.idx;return`Ambiguous alternatives: <${e.ambiguityIndices.join(" ,")}> due to common lookahead prefix
|
|
54
|
+
in <OR${r}> inside <${e.topLevelRule.name}> Rule,
|
|
55
|
+
<${t}> may appears as a prefix path in all these alternatives.
|
|
56
|
+
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
|
|
57
|
+
For Further details.`},buildAlternationAmbiguityError(e){let t=0===e.alternation.idx?"":e.alternation.idx,r=0===e.prefixPath.length,n=`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(" ,")}> in <OR${t}> inside <${e.topLevelRule.name}> Rule,
|
|
58
|
+
`;if(r)n+=`These alternatives are all empty (match no tokens), making them indistinguishable.
|
|
59
|
+
Only the last alternative may be empty.
|
|
60
|
+
`;else{let t=(0,m.Z)(e.prefixPath,e=>tS(e)).join(", ");n+=`<${t}> may appears as a prefix path in all these alternatives.
|
|
61
|
+
`}return n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
62
|
+
For Further details.`},buildEmptyRepetitionError(e){let t=ef(e.repetition);return 0!==e.repetition.idx&&(t+=e.repetition.idx),`The repetition <${t}> within Rule <${e.topLevelRule.name}> can never consume any tokens.
|
|
63
|
+
This could lead to an infinite loop.`},buildTokenNameError:e=>"deprecated",buildEmptyAlternationError:e=>`Ambiguous empty alternative: <${e.emptyChoiceIdx+1}> in <OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule.
|
|
64
|
+
Only the last alternative may be an empty alternative.`,buildTooManyAlternativesError:e=>`An Alternation cannot have more than 256 alternatives:
|
|
65
|
+
<OR${e.alternation.idx}> inside <${e.topLevelRule.name}> Rule.
|
|
66
|
+
has ${e.alternation.definition.length+1} alternatives.`,buildLeftRecursionError(e){let t=e.topLevelRule.name,r=(0,m.Z)(e.leftRecursionPath,e=>e.name),n=`${t} --> ${r.concat([t]).join(" --> ")}`;return`Left Recursion found in grammar.
|
|
67
|
+
rule: <${t}> can be invoked from itself (directly or indirectly)
|
|
68
|
+
without consuming any Tokens. The grammar path that causes this is:
|
|
69
|
+
${n}
|
|
70
|
+
To fix this refactor your grammar to remove the left recursion.
|
|
71
|
+
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError:e=>"deprecated",buildDuplicateRuleNameError(e){let t;return t=e.topLevelRule instanceof z?e.topLevelRule.name:e.topLevelRule,`Duplicate definition, rule: ->${t}<- is already defined in the grammar: ->${e.grammarName}<-`}};class tZ extends Q{constructor(e,t){super(),this.nameToTopRule=e,this.errMsgProvider=t,this.errors=[]}resolveRefs(){(0,h.Z)((0,f.Z)(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let t=this.nameToTopRule[e.nonTerminalName];if(t)e.referencedRule=t;else{let t=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:t,type:d.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}var tq=r(3548),tU=r(80101),tj=function(e,t,r,n){for(var i=-1,s=null==e?0:e.length;++i<s;){var a=e[i];t(n,a,r(a),e)}return n},tG=Object.prototype.hasOwnProperty,tz=(i=function(e,t,r){tG.call(e,r)?e[r].push(t):(0,tU.Z)(e,r,[t])},function(e,t){return((0,en.Z)(e)?tj:function(e,t,r,n){return(0,et.Z)(e,function(e,i,s){t(n,e,r(e),s)}),n})(e,i,(0,_.Z)(t,2),{})}),tW=function(e,t,r){var n=null==e?0:e.length;return n?R(e,0,(t=n-(t=r||void 0===t?1:(0,v.Z)(t)))<0?0:t):[]};class tV extends ep{constructor(e,t){super(),this.topProd=e,this.path=t,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,y.Z)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,y.Z)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,t=[]){this.found||super.walk(e,t)}walkProdRef(e,t,r){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let n=t.concat(r);this.updateExpectedNext(),this.walk(e.referencedRule,n)}}updateExpectedNext(){(0,p.Z)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}}class tB extends tV{constructor(e,t){super(e,t),this.path=t,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,t,r){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let e=new W({definition:t.concat(r)});this.possibleTokTypes=eR(e),this.found=!0}}}class tK extends ep{constructor(e,t){super(),this.topRule=e,this.occurrence=t,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}}class tH extends tK{walkMany(e,t,r){if(e.idx===this.occurrence){let e=ez(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof J&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkMany(e,t,r)}}class tY extends tK{walkManySep(e,t,r){if(e.idx===this.occurrence){let e=ez(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof J&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkManySep(e,t,r)}}class tX extends tK{walkAtLeastOne(e,t,r){if(e.idx===this.occurrence){let e=ez(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof J&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOne(e,t,r)}}class tJ extends tK{walkAtLeastOneSep(e,t,r){if(e.idx===this.occurrence){let e=ez(t.concat(r));this.result.isEndOfRule=void 0===e,e instanceof J&&(this.result.token=e.terminalType,this.result.occurrence=e.idx)}else super.walkAtLeastOneSep(e,t,r)}}function tQ(e,t,r=[]){r=(0,y.Z)(r);let n=[],i=0;function s(s){let a=tQ(s.concat(E(e,i+1)),t,r);return n.concat(a)}for(;r.length<t&&i<e.length;){let t=e[i];if(t instanceof W||t instanceof G)return s(t.definition);if(t instanceof V)n=s(t.definition);else if(t instanceof B)return s(t.definition.concat([new H({definition:t.definition})]));else if(t instanceof K)return s([new W({definition:t.definition}),new H({definition:[new J({terminalType:t.separator})].concat(t.definition)})]);else if(t instanceof Y)n=s(t.definition.concat([new H({definition:[new J({terminalType:t.separator})].concat(t.definition)})]));else if(t instanceof H)n=s(t.definition.concat([new H({definition:t.definition})]));else if(t instanceof X)return(0,h.Z)(t.definition,e=>{!1===(0,p.Z)(e.definition)&&(n=s(e.definition))}),n;else if(t instanceof J)r.push(t.terminalType);else throw Error("non exhaustive match");i++}return n.push({partialPath:r,suffixDef:E(e,i)}),n}function t0(e,t,r,n){let i="EXIT_NONE_TERMINAL",s=[i],a="EXIT_ALTERNATIVE",o=!1,l=t.length,u=l-n-1,c=[],d=[];for(d.push({idx:-1,def:e,ruleStack:[],occurrenceStack:[]});!(0,p.Z)(d);){let e=d.pop();if(e===a){o&&(0,tu.Z)(d).idx<=u&&d.pop();continue}let n=e.def,h=e.idx,f=e.ruleStack,m=e.occurrenceStack;if((0,p.Z)(n))continue;let g=n[0];if(g===i){let e={idx:h,def:E(n),ruleStack:tW(f),occurrenceStack:tW(m)};d.push(e)}else if(g instanceof J){if(h<l-1){let e=h+1;if(r(t[e],g.terminalType)){let t={idx:e,def:E(n),ruleStack:f,occurrenceStack:m};d.push(t)}}else if(h===l-1)c.push({nextTokenType:g.terminalType,nextTokenOccurrence:g.idx,ruleStack:f,occurrenceStack:m}),o=!0;else throw Error("non exhaustive match")}else if(g instanceof G){let e=(0,y.Z)(f);e.push(g.nonTerminalName);let t=(0,y.Z)(m);t.push(g.idx);let r={idx:h,def:g.definition.concat(s,E(n)),ruleStack:e,occurrenceStack:t};d.push(r)}else if(g instanceof V){let e={idx:h,def:E(n),ruleStack:f,occurrenceStack:m};d.push(e),d.push(a);let t={idx:h,def:g.definition.concat(E(n)),ruleStack:f,occurrenceStack:m};d.push(t)}else if(g instanceof B){let e=new H({definition:g.definition,idx:g.idx}),t={idx:h,def:g.definition.concat([e],E(n)),ruleStack:f,occurrenceStack:m};d.push(t)}else if(g instanceof K){let e=new H({definition:[new J({terminalType:g.separator})].concat(g.definition),idx:g.idx}),t={idx:h,def:g.definition.concat([e],E(n)),ruleStack:f,occurrenceStack:m};d.push(t)}else if(g instanceof Y){let e={idx:h,def:E(n),ruleStack:f,occurrenceStack:m};d.push(e),d.push(a);let t=new H({definition:[new J({terminalType:g.separator})].concat(g.definition),idx:g.idx}),r={idx:h,def:g.definition.concat([t],E(n)),ruleStack:f,occurrenceStack:m};d.push(r)}else if(g instanceof H){let e={idx:h,def:E(n),ruleStack:f,occurrenceStack:m};d.push(e),d.push(a);let t=new H({definition:g.definition,idx:g.idx}),r={idx:h,def:g.definition.concat([t],E(n)),ruleStack:f,occurrenceStack:m};d.push(r)}else if(g instanceof X)for(let e=g.definition.length-1;e>=0;e--){let t={idx:h,def:g.definition[e].definition.concat(E(n)),ruleStack:f,occurrenceStack:m};d.push(t),d.push(a)}else if(g instanceof W)d.push({idx:h,def:g.definition.concat(E(n)),ruleStack:f,occurrenceStack:m});else if(g instanceof z)d.push(function(e,t,r,n){let i=(0,y.Z)(r);i.push(e.name);let s=(0,y.Z)(n);return s.push(1),{idx:t,def:e.definition,ruleStack:i,occurrenceStack:s}}(g,h,f,m));else throw Error("non exhaustive match")}return c}function t1(e){if(e instanceof V||"Option"===e)return u.OPTION;if(e instanceof H||"Repetition"===e)return u.REPETITION;if(e instanceof B||"RepetitionMandatory"===e)return u.REPETITION_MANDATORY;if(e instanceof K||"RepetitionMandatoryWithSeparator"===e)return u.REPETITION_MANDATORY_WITH_SEPARATOR;if(e instanceof Y||"RepetitionWithSeparator"===e)return u.REPETITION_WITH_SEPARATOR;if(e instanceof X||"Alternation"===e)return u.ALTERNATION;throw Error("non exhaustive match")}function t2(e){let{occurrence:t,rule:r,prodType:n,maxLookahead:i}=e,s=t1(n);return s===u.ALTERNATION?re(t,r,i):rt(t,r,s,i)}function t3(e,t,r,n){let i=e.length,s=ed(e,e=>ed(e,e=>1===e.length));if(t)return function(t){let n=(0,m.Z)(t,e=>e.GATE);for(let t=0;t<i;t++){let i=e[t],s=i.length,a=n[t];if(void 0===a||!1!==a.call(this))r:for(let e=0;e<s;e++){let n=i[e],s=n.length;for(let e=0;e<s;e++)if(!1===r(this.LA(e+1),n[e]))continue r;return t}}};if(!s||n)return function(){for(let t=0;t<i;t++){let n=e[t],i=n.length;r:for(let e=0;e<i;e++){let i=n[e],s=i.length;for(let e=0;e<s;e++)if(!1===r(this.LA(e+1),i[e]))continue r;return t}}};{let t=(0,m.Z)(e,e=>(0,eT.Z)(e)),r=(0,e_.Z)(t,(e,t,r)=>((0,h.Z)(t,t=>{(0,g.Z)(e,t.tokenTypeIdx)||(e[t.tokenTypeIdx]=r),(0,h.Z)(t.categoryMatches,t=>{(0,g.Z)(e,t)||(e[t]=r)})}),e),{});return function(){return r[this.LA(1).tokenTypeIdx]}}}function t9(e,t,r){let n=ed(e,e=>1===e.length),i=e.length;if(!n||r)return function(){r:for(let r=0;r<i;r++){let n=e[r],i=n.length;for(let e=0;e<i;e++)if(!1===t(this.LA(e+1),n[e]))continue r;return!0}return!1};{let t=(0,eT.Z)(e);if(1===t.length&&(0,p.Z)(t[0].categoryMatches)){let e=t[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}{let e=(0,e_.Z)(t,(e,t,r)=>(e[t.tokenTypeIdx]=!0,(0,h.Z)(t.categoryMatches,t=>{e[t]=!0}),e),[]);return function(){return!0===e[this.LA(1).tokenTypeIdx]}}}}(s=u||(u={}))[s.OPTION=0]="OPTION",s[s.REPETITION=1]="REPETITION",s[s.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",s[s.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",s[s.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",s[s.ALTERNATION=5]="ALTERNATION";class t4 extends ep{constructor(e,t,r){super(),this.topProd=e,this.targetOccurrence=t,this.targetProdType=r}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,t,r,n){return e.idx===this.targetOccurrence&&this.targetProdType===t&&(this.restDef=r.concat(n),!0)}walkOption(e,t,r){this.checkIsTarget(e,u.OPTION,t,r)||super.walkOption(e,t,r)}walkAtLeastOne(e,t,r){this.checkIsTarget(e,u.REPETITION_MANDATORY,t,r)||super.walkOption(e,t,r)}walkAtLeastOneSep(e,t,r){this.checkIsTarget(e,u.REPETITION_MANDATORY_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}walkMany(e,t,r){this.checkIsTarget(e,u.REPETITION,t,r)||super.walkOption(e,t,r)}walkManySep(e,t,r){this.checkIsTarget(e,u.REPETITION_WITH_SEPARATOR,t,r)||super.walkOption(e,t,r)}}class t5 extends Q{constructor(e,t,r){super(),this.targetOccurrence=e,this.targetProdType=t,this.targetRef=r,this.result=[]}checkIsTarget(e,t){e.idx===this.targetOccurrence&&this.targetProdType===t&&(void 0===this.targetRef||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,u.OPTION)}visitRepetition(e){this.checkIsTarget(e,u.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,u.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,u.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,u.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,u.ALTERNATION)}}function t8(e){let t=Array(e);for(let r=0;r<e;r++)t[r]=[];return t}function t7(e){let t=[""];for(let r=0;r<e.length;r++){let n=e[r],i=[];for(let e=0;e<t.length;e++){let r=t[e];i.push(r+"_"+n.tokenTypeIdx);for(let e=0;e<n.categoryMatches.length;e++){let t="_"+n.categoryMatches[e];i.push(r+t)}}t=i}return t}function t6(e,t){let r=(0,m.Z)(e,e=>tQ([e],1)),n=t8(r.length),i=(0,m.Z)(r,e=>{let t={};return(0,h.Z)(e,e=>{let r=t7(e.partialPath);(0,h.Z)(r,e=>{t[e]=!0})}),t}),s=r;for(let e=1;e<=t;e++){let r=s;s=t8(r.length);for(let a=0;a<r.length;a++){let o=r[a];for(let r=0;r<o.length;r++){let l=o[r].partialPath,u=o[r].suffixDef,c=t7(l);if(function(e,t,r){for(let n=0;n<e.length;n++){if(n===r)continue;let i=e[n];for(let e=0;e<t.length;e++)if(!0===i[t[e]])return!1}return!0}(i,c,a)||(0,p.Z)(u)||l.length===t){let e=n[a];if(!1===rr(e,l)){e.push(l);for(let e=0;e<c.length;e++){let t=c[e];i[a][t]=!0}}}else{let t=tQ(u,e+1,l);s[a]=s[a].concat(t),(0,h.Z)(t,e=>{let t=t7(e.partialPath);(0,h.Z)(t,e=>{i[a][e]=!0})})}}}}return n}function re(e,t,r,n){let i=new t5(e,u.ALTERNATION,n);return t.accept(i),t6(i.result,r)}function rt(e,t,r,n){let i=new t5(e,r);t.accept(i);let s=i.result,a=new t4(t,e,r).startWalking();return t6([new W({definition:s}),new W({definition:a})],n)}function rr(e,t){n:for(let r=0;r<e.length;r++){let n=e[r];if(n.length===t.length){for(let e=0;e<n.length;e++){let r=t[e],i=n[e];if(!1==(r===i||void 0!==i.categoryMatchesMap[r.tokenTypeIdx]))continue n}return!0}}return!1}function rn(e){return ed(e,e=>ed(e,e=>ed(e,e=>(0,p.Z)(e.categoryMatches))))}function ri(e){return`${ef(e)}_#_${e.idx}_#_${rs(e)}`}function rs(e){return e instanceof J?e.terminalType.name:e instanceof G?e.nonTerminalName:""}class ra extends Q{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}}class ro extends Q{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}}class rl extends Q{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}}let ru="MismatchedTokenException",rc="NoViableAltException",rd="EarlyExitException",rh="NotAllInputParsedException",rf=[ru,rc,rd,rh];function rp(e){return el(rf,e.name)}Object.freeze(rf);class rm extends Error{constructor(e,t){super(e),this.token=t,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}class rg extends rm{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=ru}}class ry extends rm{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=rc}}class rT extends rm{constructor(e,t){super(e,t),this.name=rh}}class rR extends rm{constructor(e,t,r){super(e,t),this.previousToken=r,this.name=rd}}let rv={},rE="InRuleRecoveryException";class rS extends Error{constructor(e){super(e),this.name=rE}}class rk{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,g.Z)(e,"recoveryEnabled")?e.recoveryEnabled:rX.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=rC)}getTokenToInsert(e){let t=tL(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,t,r,n){let i=this.findReSyncTokenType(),s=this.exportLexerState(),a=[],o=!1,l=this.LA(1),u=this.LA(1),c=()=>{let e=this.LA(0),t=new rg(this.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:l,previous:e,ruleName:this.getCurrRuleFullName()}),l,this.LA(0));t.resyncedTokens=tW(a),this.SAVE_ERROR(t)};for(;!o;){if(this.tokenMatcher(u,n)){c();return}if(r.call(this)){c(),e.apply(this,t);return}this.tokenMatcher(u,i)?o=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,a))}this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,t,r){return!(!1===r||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))}getFollowsForInRuleRecovery(e,t){let r=this.getCurrentGrammarPath(e,t);return this.getNextPossibleTokenTypes(r)}tryInRuleRecovery(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let e=this.SKIP_TOKEN();return this.consumeToken(),e}throw new rS("sad sad panda")}canPerformInRuleRecovery(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,t){if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,p.Z)(t))return!1;let r=this.LA(1);return void 0!==(0,eW.Z)(t,e=>this.tokenMatcher(r,e))}canRecoverWithSingleTokenDeletion(e){return!!this.canTokenTypeBeDeletedInRecovery(e)&&this.tokenMatcher(this.LA(2),e)}isInCurrentRuleReSyncSet(e){let t=this.getCurrFollowKey();return el(this.getFollowSetFromFollowKey(t),e)}findReSyncTokenType(){let e=this.flattenFollowSet(),t=this.LA(1),r=2;for(;;){let n=(0,eW.Z)(e,e=>td(t,e));if(void 0!==n)return n;t=this.LA(r),r++}}getCurrFollowKey(){if(1===this.RULE_STACK.length)return rv;let e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),r=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(r)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,t=this.RULE_OCCURRENCE_STACK;return(0,m.Z)(e,(r,n)=>0===n?rv:{ruleName:this.shortRuleNameToFullName(r),idxInCallingRule:t[n],inRule:this.shortRuleNameToFullName(e[n-1])})}flattenFollowSet(){let e=(0,m.Z)(this.buildFullFollowKeyStack(),e=>this.getFollowSetFromFollowKey(e));return(0,eT.Z)(e)}getFollowSetFromFollowKey(e){if(e===rv)return[tP];let t=e.ruleName+e.idxInCallingRule+ev+e.inRule;return this.resyncFollows[t]}addToResyncTokens(e,t){return this.tokenMatcher(e,tP)||t.push(e),t}reSyncTo(e){let t=[],r=this.LA(1);for(;!1===this.tokenMatcher(r,e);)r=this.SKIP_TOKEN(),this.addToResyncTokens(r,t);return tW(t)}attemptInRepetitionRecovery(e,t,r,n,i,s,a){}getCurrentGrammarPath(e,t){return{ruleStack:this.getHumanReadableRuleStack(),occurrenceStack:(0,y.Z)(this.RULE_OCCURRENCE_STACK),lastTok:e,lastTokOccurrence:t}}getHumanReadableRuleStack(){return(0,m.Z)(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}}function rC(e,t,r,n,i,s,a){let o=this.getKeyForAutomaticLookahead(n,i),l=this.firstAfterRepMap[o];if(void 0===l){let e=this.getCurrRuleFullName();l=new s(this.getGAstProductions()[e],i).startWalking(),this.firstAfterRepMap[o]=l}let u=l.token,c=l.occurrence,d=l.isEndOfRule;1===this.RULE_STACK.length&&d&&void 0===u&&(u=tP,c=1),void 0!==u&&void 0!==c&&this.shouldInRepetitionRecoveryBeTried(u,c,a)&&this.tryInRepetitionRecovery(e,t,r,u)}class rA{constructor(e){var t;this.maxLookahead=null!==(t=null==e?void 0:e.maxLookahead)&&void 0!==t?t:rX.maxLookahead}validate(e){let t=this.validateNoLeftRecursion(e.rules);return(0,p.Z)(t)?[...t,...this.validateEmptyOrAlternatives(e.rules),...this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),...this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead)]:t}validateNoLeftRecursion(e){return(0,tq.Z)(e,e=>(function e(t,r,n,i=[]){let s=[],a=function e(t){let r=[];if((0,p.Z)(t))return r;let n=ez(t);if(n instanceof G)r.push(n.referencedRule);else if(n instanceof W||n instanceof V||n instanceof B||n instanceof K||n instanceof Y||n instanceof H)r=r.concat(e(n.definition));else if(n instanceof X)r=(0,eT.Z)((0,m.Z)(n.definition,t=>e(t.definition)));else if(n instanceof J);else throw Error("non exhaustive match");let i=eh(n),s=t.length>1;if(!i||!s)return r;{let n=E(t);return r.concat(e(n))}}(r.definition);if((0,p.Z)(a))return[];{let r=t.name;el(a,t)&&s.push({message:n.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:i}),type:d.LEFT_RECURSION,ruleName:r});let o=ej(a,i.concat([t])),l=(0,tq.Z)(o,r=>{let s=(0,y.Z)(i);return s.push(r),e(t,r,n,s)});return s.concat(l)}})(e,e,tF))}validateEmptyOrAlternatives(e){return(0,tq.Z)(e,e=>(function(e,t){let r=new ro;e.accept(r);let n=r.alternations;return(0,tq.Z)(n,r=>{let n=tW(r.definition);return(0,tq.Z)(n,(n,i)=>{let s=t0([n],[],td,1);return(0,p.Z)(s)?[{message:t.buildEmptyAlternationError({topLevelRule:e,alternation:r,emptyChoiceIdx:i}),type:d.NONE_LAST_EMPTY_ALT,ruleName:e.name,occurrence:r.idx,alternative:i+1}]:[]})})})(e,tF))}validateAmbiguousAlternationAlternatives(e,t){return(0,tq.Z)(e,e=>(function(e,t,r){let n=new ro;e.accept(n);let i=n.alternations;return i=ex(i,e=>!0===e.ignoreAmbiguities),(0,tq.Z)(i,n=>{let i=re(n.idx,e,n.maxLookahead||t,n),s=function(e,t,r,n){let i=[],s=(0,e_.Z)(e,(r,n,s)=>(!0===t.definition[s].ignoreAmbiguities||(0,h.Z)(n,n=>{let a=[s];(0,h.Z)(e,(e,r)=>{s!==r&&rr(e,n)&&!0!==t.definition[r].ignoreAmbiguities&&a.push(r)}),a.length>1&&!rr(i,n)&&(i.push(n),r.push({alts:a,path:n}))}),r),[]);return(0,m.Z)(s,e=>{let i=(0,m.Z)(e.alts,e=>e+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:d.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:t.idx,alternatives:e.alts}})}(i,n,e,r),a=function(e,t,r,n){let i=(0,e_.Z)(e,(e,t,r)=>{let n=(0,m.Z)(t,e=>({idx:r,path:e}));return e.concat(n)},[]);return eG((0,tq.Z)(i,e=>{if(!0===t.definition[e.idx].ignoreAmbiguities)return[];let s=e.idx,a=e.path,o=(0,eP.Z)(i,e=>{var r;return!0!==t.definition[e.idx].ignoreAmbiguities&&e.idx<s&&(r=e.path).length<a.length&&ed(r,(e,t)=>{let r=a[t];return e===r||r.categoryMatchesMap[e.tokenTypeIdx]})});return(0,m.Z)(o,e=>{let i=[e.idx+1,s+1],a=0===t.idx?"":t.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:t,ambiguityIndices:i,prefixPath:e.path}),type:d.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:a,alternatives:i}})}))}(i,n,e,r);return s.concat(a)})})(e,t,tF))}validateSomeNonEmptyLookaheadPath(e,t){return function(e,t,r){let n=[];return(0,h.Z)(e,e=>{let i=new rl;e.accept(i);let s=i.allProductions;(0,h.Z)(s,i=>{let s=t1(i),a=i.maxLookahead||t,o=rt(i.idx,e,s,a)[0];if((0,p.Z)((0,eT.Z)(o))){let t=r.buildEmptyRepetitionError({topLevelRule:e,repetition:i});n.push({message:t,type:d.NO_NON_EMPTY_LOOKAHEAD,ruleName:e.name})}})}),n}(e,t,tF)}buildLookaheadForAlternation(e){return function(e,t,r,n,i,s){let a=re(e,t,r),o=rn(a)?th:td;return s(a,n,o,i)}(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,t3)}buildLookaheadForOptional(e){return function(e,t,r,n,i,s){let a=rt(e,t,i,r),o=rn(a)?th:td;return s(a[0],o,n)}(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,t1(e.prodType),t9)}}class r${initLooksAhead(e){this.dynamicTokensEnabled=(0,g.Z)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:rX.dynamicTokensEnabled,this.maxLookahead=(0,g.Z)(e,"maxLookahead")?e.maxLookahead:rX.maxLookahead,this.lookaheadStrategy=(0,g.Z)(e,"lookaheadStrategy")?e.lookaheadStrategy:new rA({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){(0,h.Z)(e,e=>{this.TRACE_INIT(`${e.name} Rule Lookahead`,()=>{let{alternation:t,repetition:r,option:n,repetitionMandatory:i,repetitionMandatoryWithSeparator:s,repetitionWithSeparator:a}=function(e){rx.reset(),e.accept(rx);let t=rx.dslMethods;return rx.reset(),t}(e);(0,h.Z)(t,t=>{let r=0===t.idx?"":t.idx;this.TRACE_INIT(`${ef(t)}${r}`,()=>{var r;let n=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:t.idx,rule:e,maxLookahead:t.maxLookahead||this.maxLookahead,hasPredicates:t.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),i=(r=this.fullRuleNameToShort[e.name],256|t.idx|r);this.setLaFuncCache(i,n)})}),(0,h.Z)(r,t=>{this.computeLookaheadFunc(e,t.idx,768,"Repetition",t.maxLookahead,ef(t))}),(0,h.Z)(n,t=>{this.computeLookaheadFunc(e,t.idx,512,"Option",t.maxLookahead,ef(t))}),(0,h.Z)(i,t=>{this.computeLookaheadFunc(e,t.idx,1024,"RepetitionMandatory",t.maxLookahead,ef(t))}),(0,h.Z)(s,t=>{this.computeLookaheadFunc(e,t.idx,1536,"RepetitionMandatoryWithSeparator",t.maxLookahead,ef(t))}),(0,h.Z)(a,t=>{this.computeLookaheadFunc(e,t.idx,1280,"RepetitionWithSeparator",t.maxLookahead,ef(t))})})})}computeLookaheadFunc(e,t,r,n,i,s){this.TRACE_INIT(`${s}${0===t?"":t}`,()=>{let s=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:t,rule:e,maxLookahead:i||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:n}),a=t|r|this.fullRuleNameToShort[e.name];this.setLaFuncCache(a,s)})}getKeyForAutomaticLookahead(e,t){return t|e|this.getLastExplicitRuleShortName()}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,t){this.lookAheadFuncsCache.set(e,t)}}class rb extends Q{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}}let rx=new rb;function rN(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.endOffset=t.endOffset):e.endOffset<t.endOffset==!0&&(e.endOffset=t.endOffset)}function rw(e,t){!0===isNaN(e.startOffset)?(e.startOffset=t.startOffset,e.startColumn=t.startColumn,e.startLine=t.startLine,e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine):e.endOffset<t.endOffset==!0&&(e.endOffset=t.endOffset,e.endColumn=t.endColumn,e.endLine=t.endLine)}function rI(e,t){Object.defineProperty(e,"name",{enumerable:!1,configurable:!0,writable:!1,value:t})}function r_(e,t){let r=(0,x.Z)(e),n=r.length;for(let i=0;i<n;i++){let n=e[r[i]],s=n.length;for(let e=0;e<s;e++){let r=n[e];void 0===r.tokenTypeIdx&&this[r.name](r.children,t)}}}(a=c||(c={}))[a.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",a[a.MISSING_METHOD=1]="MISSING_METHOD";class rP{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,g.Z)(e,"nodeLocationTracking")?e.nodeLocationTracking:rX.nodeLocationTracking,this.outputCst){if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=rw,this.setNodeLocationFromNode=rw,this.cstPostRule=to.Z,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=to.Z,this.setNodeLocationFromNode=to.Z,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=rN,this.setNodeLocationFromNode=rN,this.cstPostRule=to.Z,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=to.Z,this.setNodeLocationFromNode=to.Z,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=to.Z,this.setNodeLocationFromNode=to.Z,this.cstPostRule=to.Z,this.setInitialNodeLocation=to.Z;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}else this.cstInvocationStateUpdate=to.Z,this.cstFinallyStateUpdate=to.Z,this.cstPostTerminal=to.Z,this.cstPostNonTerminal=to.Z,this.cstPostRule=to.Z}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let t={name:e,children:Object.create(null)};this.setInitialNodeLocation(t),this.CST_STACK.push(t)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let t=this.LA(0),r=e.location;r.startOffset<=t.startOffset==!0?(r.endOffset=t.endOffset,r.endLine=t.endLine,r.endColumn=t.endColumn):(r.startOffset=NaN,r.startLine=NaN,r.startColumn=NaN)}cstPostRuleOnlyOffset(e){let t=this.LA(0),r=e.location;r.startOffset<=t.startOffset==!0?r.endOffset=t.endOffset:r.startOffset=NaN}cstPostTerminal(e,t){let r=this.CST_STACK[this.CST_STACK.length-1];void 0===r.children[e]?r.children[e]=[t]:r.children[e].push(t),this.setNodeLocationFromToken(r.location,t)}cstPostNonTerminal(e,t){let r=this.CST_STACK[this.CST_STACK.length-1];void 0===r.children[t]?r.children[t]=[e]:r.children[t].push(e),this.setNodeLocationFromNode(r.location,e.location)}getBaseCstVisitorConstructor(){if((0,eS.Z)(this.baseCstVisitorConstructor)){let e=function(e,t){let r=function(){};return rI(r,e+"BaseSemantics"),r.prototype={visit:function(e,t){if((0,en.Z)(e)&&(e=e[0]),!(0,eS.Z)(e))return this[e.name](e.children,t)},validateVisitor:function(){let e=function(e,t){let r=(0,eP.Z)(t,t=>!1===(0,eN.Z)(e[t]));return eG((0,m.Z)(r,t=>({msg:`Missing visitor method: <${t}> on ${e.constructor.name} CST Visitor.`,type:c.MISSING_METHOD,methodName:t})))}(this,t);if(!(0,p.Z)(e)){let t=(0,m.Z)(e,e=>e.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
|
|
72
|
+
${t.join("\n\n").replace(/\n/g,"\n ")}`)}}},r.prototype.constructor=r,r._RULE_NAMES=t,r}(this.className,(0,x.Z)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if((0,eS.Z)(this.baseCstVisitorWithDefaultsConstructor)){let e=function(e,t,r){let n=function(){};rI(n,e+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return(0,h.Z)(t,e=>{i[e]=r_}),n.prototype=i,n.prototype.constructor=n,n}(this.className,(0,x.Z)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}class rL{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(!0!==this.selfAnalysisDone)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):rY}LA(e){let t=this.currIdx+e;return t<0||this.tokVectorLength<=t?rY:this.tokVector[t]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}class rO{ACTION(e){return e.call(this)}consume(e,t,r){return this.consumeInternal(t,e,r)}subrule(e,t,r){return this.subruleInternal(t,e,r)}option(e,t){return this.optionInternal(t,e)}or(e,t){return this.orInternal(t,e)}many(e,t){return this.manyInternal(e,t)}atLeastOne(e,t){return this.atLeastOneInternal(e,t)}CONSUME(e,t){return this.consumeInternal(e,0,t)}CONSUME1(e,t){return this.consumeInternal(e,1,t)}CONSUME2(e,t){return this.consumeInternal(e,2,t)}CONSUME3(e,t){return this.consumeInternal(e,3,t)}CONSUME4(e,t){return this.consumeInternal(e,4,t)}CONSUME5(e,t){return this.consumeInternal(e,5,t)}CONSUME6(e,t){return this.consumeInternal(e,6,t)}CONSUME7(e,t){return this.consumeInternal(e,7,t)}CONSUME8(e,t){return this.consumeInternal(e,8,t)}CONSUME9(e,t){return this.consumeInternal(e,9,t)}SUBRULE(e,t){return this.subruleInternal(e,0,t)}SUBRULE1(e,t){return this.subruleInternal(e,1,t)}SUBRULE2(e,t){return this.subruleInternal(e,2,t)}SUBRULE3(e,t){return this.subruleInternal(e,3,t)}SUBRULE4(e,t){return this.subruleInternal(e,4,t)}SUBRULE5(e,t){return this.subruleInternal(e,5,t)}SUBRULE6(e,t){return this.subruleInternal(e,6,t)}SUBRULE7(e,t){return this.subruleInternal(e,7,t)}SUBRULE8(e,t){return this.subruleInternal(e,8,t)}SUBRULE9(e,t){return this.subruleInternal(e,9,t)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,t,r=rJ){if(el(this.definedRulesNames,e)){let t={message:tF.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:d.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(t)}this.definedRulesNames.push(e);let n=this.defineRule(e,t,r);return this[e]=n,n}OVERRIDE_RULE(e,t,r=rJ){let n=function(e,t,r){let n=[];return el(t,e)||n.push({message:`Invalid rule override, rule: ->${e}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,type:d.INVALID_RULE_OVERRIDE,ruleName:e}),n}(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(n);let i=this.defineRule(e,t,r);return this[e]=i,i}BACKTRACK(e,t){return function(){this.isBackTrackingStack.push(1);let r=this.saveRecogState();try{return e.apply(this,t),!0}catch(e){if(rp(e))return!1;throw e}finally{this.reloadRecogState(r),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){var e;return e=(0,f.Z)(this.gastProductionsCache),(0,m.Z)(e,function e(t){function r(t){return(0,m.Z)(t,e)}if(t instanceof G){let e={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return(0,S.Z)(t.label)&&(e.label=t.label),e}if(t instanceof W)return{type:"Alternative",definition:r(t.definition)};if(t instanceof V)return{type:"Option",idx:t.idx,definition:r(t.definition)};if(t instanceof B)return{type:"RepetitionMandatory",idx:t.idx,definition:r(t.definition)};if(t instanceof K)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:e(new J({terminalType:t.separator})),definition:r(t.definition)};if(t instanceof Y)return{type:"RepetitionWithSeparator",idx:t.idx,separator:e(new J({terminalType:t.separator})),definition:r(t.definition)};if(t instanceof H)return{type:"Repetition",idx:t.idx,definition:r(t.definition)};else if(t instanceof X)return{type:"Alternation",idx:t.idx,definition:r(t.definition)};else if(t instanceof J){var n,i;let e={type:"Terminal",name:t.terminalType.name,label:(i=n=t.terminalType,(0,S.Z)(i.LABEL)&&""!==i.LABEL)?n.LABEL:n.name,idx:t.idx};(0,S.Z)(t.label)&&(e.terminalLabel=t.label);let r=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(e.pattern=U(r)?r.source:r),e}else if(t instanceof z)return{type:"Rule",name:t.name,orgText:t.orgText,definition:r(t.definition)};else throw Error("non exhaustive match")})}}var rD=r(7632);class rM{initRecognizerEngine(e,t){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=th,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,g.Z)(t,"serializedGrammar"))throw Error("The Parser's configuration can no longer contain a <serializedGrammar> property.\n See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0\n For Further details.");if((0,en.Z)(e)){if((0,p.Z)(e))throw Error("A Token Vocabulary cannot be empty.\n Note that the first argument for the parser constructor\n is no longer a Token vector (since v4.0).");if("number"==typeof e[0].startOffset)throw Error("The Parser constructor no longer accepts a token vector as the first argument.\n See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0\n For Further details.")}if((0,en.Z)(e))this.tokensMap=(0,e_.Z)(e,(e,t)=>(e[t.name]=t,e),{});else if((0,g.Z)(e,"modes")&&ed((0,eT.Z)((0,f.Z)(e.modes)),tT)){let t=ey((0,eT.Z)((0,f.Z)(e.modes)));this.tokensMap=(0,e_.Z)(t,(e,t)=>(e[t.name]=t,e),{})}else if((0,rD.Z)(e))this.tokensMap=(0,y.Z)(e);else throw Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=tP;let r=ed((0,g.Z)(e,"modes")?(0,eT.Z)((0,f.Z)(e.modes)):(0,f.Z)(e),e=>(0,p.Z)(e.categoryMatches));this.tokenMatcher=r?th:td,tm((0,f.Z)(this.tokensMap))}defineRule(e,t,r){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
|
|
73
|
+
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let n=(0,g.Z)(r,"resyncEnabled")?r.resyncEnabled:rJ.resyncEnabled,i=(0,g.Z)(r,"recoveryValueFunc")?r.recoveryValueFunc:rJ.recoveryValueFunc,s=this.ruleShortNameIdx<<12;return this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s,Object.assign(!0===this.outputCst?function(...r){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),t.apply(this,r);let n=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(n),n}catch(e){return this.invokeRuleCatch(e,n,i)}finally{this.ruleFinallyStateUpdate()}}:function(...r){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),t.apply(this,r)}catch(e){return this.invokeRuleCatch(e,n,i)}finally{this.ruleFinallyStateUpdate()}},{ruleName:e,originalGrammarAction:t})}invokeRuleCatch(e,t,r){let n=1===this.RULE_STACK.length,i=t&&!this.isBackTracking()&&this.recoveryEnabled;if(rp(e)){if(i){let t=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(t)){if(e.resyncedTokens=this.reSyncTo(t),!this.outputCst)return r(e);{let e=this.CST_STACK[this.CST_STACK.length-1];return e.recoveredNode=!0,e}}if(this.outputCst){let t=this.CST_STACK[this.CST_STACK.length-1];t.recoveredNode=!0,e.partialCstResult=t}throw e}if(n)return this.moveToTerminatedState(),r(e)}throw e}optionInternal(e,t){let r=this.getKeyForAutomaticLookahead(512,t);return this.optionInternalLogic(e,t,r)}optionInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof e){n=e.DEF;let t=e.GATE;if(void 0!==t){let e=i;i=()=>t.call(this)&&e.call(this)}}else n=e;if(!0===i.call(this))return n.call(this)}atLeastOneInternal(e,t){let r=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,t,r)}atLeastOneInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof t){n=t.DEF;let e=t.GATE;if(void 0!==e){let t=i;i=()=>e.call(this)&&t.call(this)}}else n=t;if(!0===i.call(this)){let e=this.doSingleRepetition(n);for(;!0===i.call(this)&&!0===e;)e=this.doSingleRepetition(n)}else throw this.raiseEarlyExitException(e,u.REPETITION_MANDATORY,t.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,t],i,1024,e,tX)}atLeastOneSepFirstInternal(e,t){let r=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,t,r)}atLeastOneSepFirstInternalLogic(e,t,r){let n=t.DEF,i=t.SEP;if(!0===this.getLaFuncFromCache(r).call(this)){n.call(this);let t=()=>this.tokenMatcher(this.LA(1),i);for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,n,tJ],t,1536,e,tJ)}else throw this.raiseEarlyExitException(e,u.REPETITION_MANDATORY_WITH_SEPARATOR,t.ERR_MSG)}manyInternal(e,t){let r=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,t,r)}manyInternalLogic(e,t,r){let n,i=this.getLaFuncFromCache(r);if("function"!=typeof t){n=t.DEF;let e=t.GATE;if(void 0!==e){let t=i;i=()=>e.call(this)&&t.call(this)}}else n=t;let s=!0;for(;!0===i.call(this)&&!0===s;)s=this.doSingleRepetition(n);this.attemptInRepetitionRecovery(this.manyInternal,[e,t],i,768,e,tH,s)}manySepFirstInternal(e,t){let r=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,t,r)}manySepFirstInternalLogic(e,t,r){let n=t.DEF,i=t.SEP;if(!0===this.getLaFuncFromCache(r).call(this)){n.call(this);let t=()=>this.tokenMatcher(this.LA(1),i);for(;!0===this.tokenMatcher(this.LA(1),i);)this.CONSUME(i),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,i,t,n,tY],t,1280,e,tY)}}repetitionSepSecondInternal(e,t,r,n,i){for(;r();)this.CONSUME(t),n.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,t,r,n,i],r,1536,e,i)}doSingleRepetition(e){let t=this.getLexerPosition();return e.call(this),this.getLexerPosition()>t}orInternal(e,t){let r=this.getKeyForAutomaticLookahead(256,t),n=(0,en.Z)(e)?e:e.DEF,i=this.getLaFuncFromCache(r).call(this,n);if(void 0!==i)return n[i].ALT.call(this);this.raiseNoAltException(t,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),0===this.RULE_STACK.length&&!1===this.isAtEndOfInput()){let e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new rT(t,e))}}subruleInternal(e,t,r){let n;try{let i=void 0!==r?r.ARGS:void 0;return this.subruleIdx=t,n=e.apply(this,i),this.cstPostNonTerminal(n,void 0!==r&&void 0!==r.LABEL?r.LABEL:e.ruleName),n}catch(t){throw this.subruleInternalError(t,r,e.ruleName)}}subruleInternalError(e,t,r){throw rp(e)&&void 0!==e.partialCstResult&&(this.cstPostNonTerminal(e.partialCstResult,void 0!==t&&void 0!==t.LABEL?t.LABEL:r),delete e.partialCstResult),e}consumeInternal(e,t,r){let n;try{let t=this.LA(1);!0===this.tokenMatcher(t,e)?(this.consumeToken(),n=t):this.consumeInternalError(e,t,r)}catch(r){n=this.consumeInternalRecovery(e,t,r)}return this.cstPostTerminal(void 0!==r&&void 0!==r.LABEL?r.LABEL:e.name,n),n}consumeInternalError(e,t,r){let n;let i=this.LA(0);throw n=void 0!==r&&r.ERR_MSG?r.ERR_MSG:this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:i,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new rg(n,t,i))}consumeInternalRecovery(e,t,r){if(this.recoveryEnabled&&"MismatchedTokenException"===r.name&&!this.isBackTracking()){let n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(e){if(e.name===rE)throw r;throw e}}else throw r}saveRecogState(){let e=this.errors,t=(0,y.Z)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,t,r){this.RULE_OCCURRENCE_STACK.push(r),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t)}isBackTracking(){return 0!==this.isBackTrackingStack.length}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),tP)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}class rF{initErrorHandler(e){this._errors=[],this.errorMessageProvider=(0,g.Z)(e,"errorMessageProvider")?e.errorMessageProvider:rX.errorMessageProvider}SAVE_ERROR(e){if(rp(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,y.Z)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return(0,y.Z)(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,t,r){let n=this.getCurrRuleFullName(),i=rt(e,this.getGAstProductions()[n],t,this.maxLookahead)[0],s=[];for(let e=1;e<=this.maxLookahead;e++)s.push(this.LA(e));let a=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:i,actual:s,previous:this.LA(0),customUserDescription:r,ruleName:n});throw this.SAVE_ERROR(new rR(a,this.LA(1),this.LA(0)))}raiseNoAltException(e,t){let r=this.getCurrRuleFullName(),n=re(e,this.getGAstProductions()[r],this.maxLookahead),i=[];for(let e=1;e<=this.maxLookahead;e++)i.push(this.LA(e));let s=this.LA(0),a=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:n,actual:i,previous:s,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new ry(a,this.LA(1),s))}}class rZ{initContentAssist(){}computeContentAssist(e,t){let r=this.gastProductionsCache[e];if((0,eS.Z)(r))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return t0([r],t,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let t=ez(e.ruleStack);return new tB(this.getGAstProductions()[t],e).startWalking()}}let rq={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(rq);let rU=t_({name:"RECORDING_PHASE_TOKEN",pattern:tE.NA});tm([rU]);let rj=tL(rU,"This IToken indicates the Parser is in Recording Phase\n See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",-1,-1,-1,-1,-1,-1);Object.freeze(rj);let rG={name:"This CSTNode indicates the Parser is in Recording Phase\n See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details",children:{}};class rz{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let t=e>0?e:"";this[`CONSUME${t}`]=function(t,r){return this.consumeInternalRecord(t,e,r)},this[`SUBRULE${t}`]=function(t,r){return this.subruleInternalRecord(t,e,r)},this[`OPTION${t}`]=function(t){return this.optionInternalRecord(t,e)},this[`OR${t}`]=function(t){return this.orInternalRecord(t,e)},this[`MANY${t}`]=function(t){this.manyInternalRecord(e,t)},this[`MANY_SEP${t}`]=function(t){this.manySepFirstInternalRecord(e,t)},this[`AT_LEAST_ONE${t}`]=function(t){this.atLeastOneInternalRecord(e,t)},this[`AT_LEAST_ONE_SEP${t}`]=function(t){this.atLeastOneSepFirstInternalRecord(e,t)}}this.consume=function(e,t,r){return this.consumeInternalRecord(t,e,r)},this.subrule=function(e,t,r){return this.subruleInternalRecord(t,e,r)},this.option=function(e,t){return this.optionInternalRecord(t,e)},this.or=function(e,t){return this.orInternalRecord(t,e)},this.many=function(e,t){this.manyInternalRecord(e,t)},this.atLeastOne=function(e,t){this.atLeastOneInternalRecord(e,t)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{for(let e=0;e<10;e++){let t=e>0?e:"";delete this[`CONSUME${t}`],delete this[`SUBRULE${t}`],delete this[`OPTION${t}`],delete this[`OR${t}`],delete this[`MANY${t}`],delete this[`MANY_SEP${t}`],delete this[`AT_LEAST_ONE${t}`],delete this[`AT_LEAST_ONE_SEP${t}`]}delete this.consume,delete this.subrule,delete this.option,delete this.or,delete this.many,delete this.atLeastOne,delete this.ACTION,delete this.BACKTRACK,delete this.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,t){return()=>!0}LA_RECORD(e){return rY}topLevelRuleRecord(e,t){try{let r=new z({definition:[],name:e});return r.name=e,this.recordingProdStack.push(r),t.call(this),this.recordingProdStack.pop(),r}catch(e){if(!0!==e.KNOWN_RECORDER_ERROR)try{e.message=e.message+'\n This error was thrown during the "grammar recording phase" For more info see:\n https://chevrotain.io/docs/guide/internals.html#grammar-recording'}catch(e){}throw e}}optionInternalRecord(e,t){return rW.call(this,V,e,t)}atLeastOneInternalRecord(e,t){rW.call(this,B,t,e)}atLeastOneSepFirstInternalRecord(e,t){rW.call(this,K,t,e,!0)}manyInternalRecord(e,t){rW.call(this,H,t,e)}manySepFirstInternalRecord(e,t){rW.call(this,Y,t,e,!0)}orInternalRecord(e,t){return rV.call(this,e,t)}subruleInternalRecord(e,t,r){if(rK(t),!e||!1===(0,g.Z)(e,"ruleName")){let r=Error(`<SUBRULE${rB(t)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
|
|
74
|
+
inside top level rule: <${this.recordingProdStack[0].name}>`);throw r.KNOWN_RECORDER_ERROR=!0,r}let n=(0,tu.Z)(this.recordingProdStack),i=new G({idx:t,nonTerminalName:e.ruleName,label:null==r?void 0:r.LABEL,referencedRule:void 0});return n.definition.push(i),this.outputCst?rG:rq}consumeInternalRecord(e,t,r){if(rK(t),!tg(e)){let r=Error(`<CONSUME${rB(t)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
|
|
75
|
+
inside top level rule: <${this.recordingProdStack[0].name}>`);throw r.KNOWN_RECORDER_ERROR=!0,r}let n=(0,tu.Z)(this.recordingProdStack),i=new J({idx:t,terminalType:e,label:null==r?void 0:r.LABEL});return n.definition.push(i),rj}}function rW(e,t,r,n=!1){rK(r);let i=(0,tu.Z)(this.recordingProdStack),s=(0,eN.Z)(t)?t:t.DEF,a=new e({definition:[],idx:r});return n&&(a.separator=t.SEP),(0,g.Z)(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD),this.recordingProdStack.push(a),s.call(this),i.definition.push(a),this.recordingProdStack.pop(),rq}function rV(e,t){rK(t);let r=(0,tu.Z)(this.recordingProdStack),n=!1===(0,en.Z)(e),i=!1===n?e:e.DEF,s=new X({definition:[],idx:t,ignoreAmbiguities:n&&!0===e.IGNORE_AMBIGUITIES});(0,g.Z)(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD);let a=es(i,e=>(0,eN.Z)(e.GATE));return s.hasPredicates=a,r.definition.push(s),(0,h.Z)(i,e=>{let t=new W({definition:[]});s.definition.push(t),(0,g.Z)(e,"IGNORE_AMBIGUITIES")?t.ignoreAmbiguities=e.IGNORE_AMBIGUITIES:(0,g.Z)(e,"GATE")&&(t.ignoreAmbiguities=!0),this.recordingProdStack.push(t),e.ALT.call(this),this.recordingProdStack.pop()}),rq}function rB(e){return 0===e?"":`${e}`}function rK(e){if(e<0||e>255){let t=Error(`Invalid DSL Method idx value: <${e}>
|
|
76
|
+
Idx value must be a none negative value smaller than 256`);throw t.KNOWN_RECORDER_ERROR=!0,t}}class rH{initPerformanceTracer(e){if((0,g.Z)(e,"traceInitPerf")){let t=e.traceInitPerf,r="number"==typeof t;this.traceInitMaxIdent=r?t:1/0,this.traceInitPerf=r?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=rX.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,t){if(!0!==this.traceInitPerf)return t();{this.traceInitIndent++;let r=Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${r}--> <${e}>`);let{time:n,value:i}=tc(t),s=n>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&s(`${r}<-- <${e}> time: ${n}ms`),this.traceInitIndent--,i}}}let rY=tL(tP,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(rY);let rX=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:tD,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),rJ=Object.freeze({recoveryValueFunc:()=>void 0,resyncEnabled:!0});function rQ(e){return function(){return e}}(o=d||(d={}))[o.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",o[o.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",o[o.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",o[o.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",o[o.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",o[o.LEFT_RECURSION=5]="LEFT_RECURSION",o[o.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",o[o.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",o[o.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",o[o.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",o[o.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",o[o.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",o[o.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",o[o.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION";class r0{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let t=this.className;this.TRACE_INIT("toFastProps",()=>{T(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),(0,h.Z)(this.definedRulesNames,e=>{let t;let r=this[e].originalGrammarAction;this.TRACE_INIT(`${e} Rule`,()=>{t=this.topLevelRuleRecord(e,r)}),this.gastProductionsCache[e]=t})}finally{this.disableRecording()}});let r=[];if(this.TRACE_INIT("Grammar Resolving",()=>{r=function(e){let t=(0,eC.Z)(e,{errMsgProvider:tM}),r={};return(0,h.Z)(e.rules,e=>{r[e.name]=e}),function(e,t){let r=new tZ(e,t);return r.resolveRefs(),r.errors}(r,t.errMsgProvider)}({rules:(0,f.Z)(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(r)}),this.TRACE_INIT("Grammar Validations",()=>{if((0,p.Z)(r)&&!1===this.skipValidations){var e;let r=(e={rules:(0,f.Z)(this.gastProductionsCache),tokenTypes:(0,f.Z)(this.tokensMap),errMsgProvider:tF,grammarName:t},function(e,t,r,n){let i=(0,tq.Z)(e,e=>(function(e,t){let r=new ra;e.accept(r);let n=O(tz(r.allProductions,ri),e=>e.length>1);return(0,m.Z)((0,f.Z)(n),r=>{let n=ez(r),i=t.buildDuplicateFoundError(e,r),s=ef(n),a={message:i,type:d.DUPLICATE_PRODUCTIONS,ruleName:e.name,dslName:s,occurrence:n.idx},o=rs(n);return o&&(a.parameter=o),a})})(e,r)),s=function(e,t,r){let n=[],i=(0,m.Z)(t,e=>e.name);return(0,h.Z)(e,e=>{let t=e.name;if(el(i,t)){let i=r.buildNamespaceConflictError(e);n.push({message:i,type:d.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:t})}}),n}(e,t,r),a=(0,tq.Z)(e,e=>(function(e,t){let r=new ro;e.accept(r);let n=r.alternations;return(0,tq.Z)(n,r=>r.definition.length>255?[{message:t.buildTooManyAlternativesError({topLevelRule:e,alternation:r}),type:d.TOO_MANY_ALTS,ruleName:e.name,occurrence:r.idx}]:[])})(e,r)),o=(0,tq.Z)(e,t=>(function(e,t,r,n){let i=[];if((0,e_.Z)(t,(t,r)=>r.name===e.name?t+1:t,0)>1){let t=n.buildDuplicateRuleNameError({topLevelRule:e,grammarName:r});i.push({message:t,type:d.DUPLICATE_RULE_NAME,ruleName:e.name})}return i})(t,e,n,r));return i.concat(s,a,o)}((e=(0,eC.Z)(e,{errMsgProvider:tF})).rules,e.tokenTypes,e.errMsgProvider,e.grammarName)),n=function(e){let t=e.lookaheadStrategy.validate({rules:e.rules,tokenTypes:e.tokenTypes,grammarName:e.grammarName});return(0,m.Z)(t,e=>Object.assign({type:d.CUSTOM_LOOKAHEAD_VALIDATION},e))}({lookaheadStrategy:this.lookaheadStrategy,rules:(0,f.Z)(this.gastProductionsCache),tokenTypes:(0,f.Z)(this.tokensMap),grammarName:t});this.definitionErrors=this.definitionErrors.concat(r,n)}}),(0,p.Z)(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let e=function(e){let t={};return(0,h.Z)(e,e=>{w(t,new eE(e).startWalking())}),t}((0,f.Z)(this.gastProductionsCache));this.resyncFollows=e}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var e,t;null===(t=(e=this.lookaheadStrategy).initialize)||void 0===t||t.call(e,{rules:(0,f.Z)(this.gastProductionsCache)}),this.preComputeLookaheadFunctions((0,f.Z)(this.gastProductionsCache))})),!r0.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,p.Z)(this.definitionErrors))throw e=(0,m.Z)(this.definitionErrors,e=>e.message),Error(`Parser Definition Errors detected:
|
|
77
|
+
${e.join("\n-------------------------------\n")}`)})}constructor(e,t){if(this.definitionErrors=[],this.selfAnalysisDone=!1,this.initErrorHandler(t),this.initLexerAdapter(),this.initLooksAhead(t),this.initRecognizerEngine(e,t),this.initRecoverable(t),this.initTreeBuilder(t),this.initContentAssist(),this.initGastRecorder(t),this.initPerformanceTracer(t),(0,g.Z)(t,"ignoredIssues"))throw Error("The <ignoredIssues> IParserConfig property has been deprecated.\n Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.\n See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES\n For further details.");this.skipValidations=(0,g.Z)(t,"skipValidations")?t.skipValidations:rX.skipValidations}}r0.DEFER_DEFINITION_ERRORS_HANDLING=!1,function(e,t){t.forEach(t=>{let r=t.prototype;Object.getOwnPropertyNames(r).forEach(n=>{if("constructor"===n)return;let i=Object.getOwnPropertyDescriptor(r,n);i&&(i.get||i.set)?Object.defineProperty(e.prototype,n,i):e.prototype[n]=t.prototype[n]})})}(r0,[rk,r$,rP,rL,rM,rO,rF,rZ,rz,rH]);class r1 extends r0{constructor(e,t=rX){let r=(0,y.Z)(t);r.outputCst=!1,super(e,r)}}},82844:function(e,t,r){"use strict";r.d(t,{Q:function(){return tZ},T:function(){return tq}});var n,i,s,a,o,l,u,c,d,h,f=r(62563),p=r(90676),m=r(59901),g=r(23425),y=r(56193),T=r(68692),R=r(52422);function v(e,t,r){return`${e.name}_${t}_${r}`}class E{constructor(e){this.target=e}isEpsilon(){return!1}}class S extends E{constructor(e,t){super(e),this.tokenType=t}}class k extends E{constructor(e){super(e)}isEpsilon(){return!0}}class C extends E{constructor(e,t,r){super(e),this.rule=t,this.followState=r}isEpsilon(){return!0}}function A(e,t,r,n,i){let s=n.left,a=n.right,o=I(e,t,r,{type:11});b(e,o);let l=I(e,t,r,{type:12});return s.loopback=o,l.loopback=o,e.decisionMap[v(t,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=o,w(a,o),void 0===i?(w(o,s),w(o,l)):(w(o,l),w(o,i.left),w(i.right,s)),{left:s,right:l}}function $(e,t,r,n,i){let s=n.left,a=n.right,o=I(e,t,r,{type:10});b(e,o);let l=I(e,t,r,{type:12}),u=I(e,t,r,{type:9});return o.loopback=u,l.loopback=u,w(o,s),w(o,l),w(a,u),void 0!==i?(w(u,l),w(u,i.left),w(i.right,s)):w(u,o),e.decisionMap[v(t,i?"RepetitionWithSeparator":"Repetition",r.idx)]=o,{left:o,right:l}}function b(e,t){return e.decisionStates.push(t),t.decision=e.decisionStates.length-1,t.decision}function x(e,t,r,n,...i){let s=I(e,t,n,{type:8,start:r});for(let e of(r.end=s,i))void 0!==e?(w(r,e.left),w(e.right,s)):w(r,s);return e.decisionMap[v(t,function(e){if(e instanceof y.ue)return"Alternation";if(e instanceof y.Wx)return"Option";if(e instanceof y.hI)return"Repetition";if(e instanceof y.pT)return"RepetitionWithSeparator";if(e instanceof y.ej)return"RepetitionMandatory";if(e instanceof y.fK)return"RepetitionMandatoryWithSeparator";throw Error("Invalid production type encountered")}(n),n.idx)]=r,{left:r,right:s}}function N(e,t,r,n){let i=I(e,t,n,{type:1}),s=I(e,t,n,{type:1});return _(i,new S(s,r)),{left:i,right:s}}function w(e,t){_(e,new k(t))}function I(e,t,r,n){let i=Object.assign({atn:e,production:r,epsilonOnlyTransitions:!1,rule:t,transitions:[],nextTokenWithinRule:[],stateNumber:e.states.length},n);return e.states.push(i),i}function _(e,t){0===e.transitions.length&&(e.epsilonOnlyTransitions=t.isEpsilon()),e.transitions.push(t)}let P={};class L{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let t=O(e);t in this.map||(this.map[t]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return(0,T.Z)(this.configs,e=>e.alt)}get key(){let e="";for(let t in this.map)e+=t+":";return e}}function O(e,t=!0){return`${t?`a${e.alt}`:""}s${e.state.stateNumber}:${e.stack.map(e=>e.stateNumber.toString()).join("_")}`}var D=r(58271),M=r(3548),F=r(18856),Z=r(3394),q=r(85765),U=r(81585),j=r(45130),G=r(49579);class z{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,t){this.predicates[e]=t}toString(){let e="",t=this.predicates.length;for(let r=0;r<t;r++)e+=!0===this.predicates[r]?"1":"0";return e}}let W=new z;class V extends y.dV{constructor(e){var t;super(),this.logging=null!==(t=null==e?void 0:e.logging)&&void 0!==t?t:e=>console.log(e)}initialize(e){this.atn=function(e){let t={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};(function(e,t){let r=t.length;for(let n=0;n<r;n++){let r=t[n],i=I(e,r,void 0,{type:2}),s=I(e,r,void 0,{type:7});i.stop=s,e.ruleToStartState.set(r,i),e.ruleToStopState.set(r,s)}})(t,e);let r=e.length;for(let n=0;n<r;n++){let r=e[n],i=function e(t,r,n){let i=(0,R.Z)((0,T.Z)(n.definition,n=>(function t(r,n,i){if(i instanceof y.oI)return N(r,n,i.terminalType,i);if(i instanceof y.Sj)return function(e,t,r){let n=r.referencedRule,i=e.ruleToStartState.get(n),s=I(e,t,r,{type:1}),a=I(e,t,r,{type:1});return _(s,new C(i,n,a)),{left:s,right:a}}(r,n,i);if(i instanceof y.ue)return function(e,r,n){let i=I(e,r,n,{type:1});b(e,i);let s=(0,T.Z)(n.definition,n=>t(e,r,n));return x(e,r,i,n,...s)}(r,n,i);if(i instanceof y.Wx)return function(t,r,n){let i=I(t,r,n,{type:1});b(t,i);let s=x(t,r,i,n,e(t,r,n));return function(e,t,r,n){let i=n.left;return w(i,n.right),e.decisionMap[v(t,"Option",r.idx)]=i,n}(t,r,n,s)}(r,n,i);if(i instanceof y.hI)return function(t,r,n){let i=I(t,r,n,{type:5});b(t,i);let s=x(t,r,i,n,e(t,r,n));return $(t,r,n,s)}(r,n,i);if(i instanceof y.pT)return function(t,r,n){let i=I(t,r,n,{type:5});b(t,i);let s=x(t,r,i,n,e(t,r,n)),a=N(t,r,n.separator,n);return $(t,r,n,s,a)}(r,n,i);if(i instanceof y.ej)return function(t,r,n){let i=I(t,r,n,{type:4});b(t,i);let s=x(t,r,i,n,e(t,r,n));return A(t,r,n,s)}(r,n,i);else if(i instanceof y.fK)return function(t,r,n){let i=I(t,r,n,{type:4});b(t,i);let s=x(t,r,i,n,e(t,r,n)),a=N(t,r,n.separator,n);return A(t,r,n,s,a)}(r,n,i);else return e(r,n,i)})(t,r,n)),e=>void 0!==e);return 1===i.length?i[0]:0===i.length?void 0:function(e,t){let r=t.length;for(let n=0;n<r-1;n++){let r;let i=t[n];1===i.left.transitions.length&&(r=i.left.transitions[0]);let s=r instanceof C,a=r,o=t[n+1].left;1===i.left.type&&1===i.right.type&&void 0!==r&&(s&&a.followState===i.right||r.target===i.right)?(s?a.followState=o:r.target=o,function(e,t){e.states.splice(e.states.indexOf(t),1)}(e,i.right)):w(i.right,o)}let n=t[0],i=t[r-1];return{left:n.left,right:i.right}}(t,i)}(t,r,r);void 0!==i&&function(e,t,r){w(e.ruleToStartState.get(t),r.left);let n=e.ruleToStopState.get(t);w(r.right,n)}(t,r,i)}return t}(e.rules),this.dfas=function(e){let t=e.decisionStates.length,r=Array(t);for(let n=0;n<t;n++)r[n]=function(e,t){let r={};return n=>{let i=n.toString(),s=r[i];return void 0!==s||(s={atnStartState:e,decision:t,states:{}},r[i]=s),s}}(e.decisionStates[n],n);return r}(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:t,rule:r,hasPredicates:n,dynamicTokensEnabled:i}=e,s=this.dfas,a=this.logging,o=v(r,"Alternation",t),l=this.atn.decisionMap[o].decision,u=(0,T.Z)((0,y.oC)({maxLookahead:1,occurrence:t,prodType:"Alternation",rule:r}),e=>(0,T.Z)(e,e=>e[0]));if(B(u,!1)&&!i){let e=(0,G.Z)(u,(e,t,r)=>((0,U.Z)(t,t=>{t&&(e[t.tokenTypeIdx]=r,(0,U.Z)(t.categoryMatches,t=>{e[t]=r}))}),e),{});return n?function(t){var r;let n=e[this.LA(1).tokenTypeIdx];if(void 0!==t&&void 0!==n){let e=null===(r=t[n])||void 0===r?void 0:r.GATE;if(void 0!==e&&!1===e.call(this))return}return n}:function(){return e[this.LA(1).tokenTypeIdx]}}return n?function(e){let t=new z,r=void 0===e?0:e.length;for(let n=0;n<r;n++){let r=null==e?void 0:e[n].GATE;t.set(n,void 0===r||r.call(this))}let n=K.call(this,s,l,t,a);return"number"==typeof n?n:void 0}:function(){let e=K.call(this,s,l,W,a);return"number"==typeof e?e:void 0}}buildLookaheadForOptional(e){let{prodOccurrence:t,rule:r,prodType:n,dynamicTokensEnabled:i}=e,s=this.dfas,a=this.logging,o=v(r,n,t),l=this.atn.decisionMap[o].decision,u=(0,T.Z)((0,y.oC)({maxLookahead:1,occurrence:t,prodType:n,rule:r}),e=>(0,T.Z)(e,e=>e[0]));if(B(u)&&u[0][0]&&!i){let e=u[0],t=(0,q.Z)(e);if(1===t.length&&(0,j.Z)(t[0].categoryMatches)){let e=t[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===e}}{let e=(0,G.Z)(t,(e,t)=>(void 0!==t&&(e[t.tokenTypeIdx]=!0,(0,U.Z)(t.categoryMatches,t=>{e[t]=!0})),e),{});return function(){return!0===e[this.LA(1).tokenTypeIdx]}}}return function(){let e=K.call(this,s,l,W,a);return"object"!=typeof e&&0===e}}}function B(e,t=!0){let r=new Set;for(let n of e){let e=new Set;for(let i of n){if(void 0===i){if(!t)return!1;break}for(let t of[i.tokenTypeIdx].concat(i.categoryMatches))if(r.has(t)){if(!e.has(t))return!1}else r.add(t),e.add(t)}}return!0}function K(e,t,r,n){let i=e[t](r),s=i.start;if(void 0===s){let e=function(e){let t=new L,r=e.transitions.length;for(let n=0;n<r;n++)et({state:e.transitions[n].target,alt:n,stack:[]},t);return t}(i.atnStartState);s=ee(i,J(e)),i.start=s}return H.apply(this,[i,s,r,n])}function H(e,t,r,n){let i=t,s=1,a=[],o=this.LA(s++);for(;;){var l,u;let t=(l=i,u=o,l.edges[u.tokenTypeIdx]);if(void 0===t&&(t=Y.apply(this,[e,i,o,s,r,n])),t===P)return function(e,t,r){var n,i;return{actualToken:r,possibleTokenTypes:(n=(0,M.Z)(t.configs.elements,e=>e.state.transitions).filter(e=>e instanceof S).map(e=>e.tokenType),i=e=>e.tokenTypeIdx,n&&n.length?(0,Z.Z)(n,(0,F.Z)(i,2)):[]),tokenPath:e}}(a,i,o);if(!0===t.isAcceptState)return t.prediction;i=t,a.push(o),o=this.LA(s++)}}function Y(e,t,r,n,i,s){let a=function(e,t,r){let n;let i=new L,s=[];for(let n of e.elements){if(!1===r.is(n.alt))continue;if(7===n.state.type){s.push(n);continue}let e=n.state.transitions.length;for(let r=0;r<e;r++){let e=function(e,t){if(e instanceof S&&(0,y.ol)(t,e.tokenType))return e.target}(n.state.transitions[r],t);void 0!==e&&i.add({state:e,alt:n.alt,stack:n.stack})}}if(0===s.length&&1===i.size&&(n=i),void 0===n)for(let e of(n=new L,i.elements))et(e,n);if(s.length>0&&!function(e){for(let t of e.elements)if(7===t.state.type)return!0;return!1}(n))for(let e of s)n.add(e);return n}(t.configs,r,i);if(0===a.size)return Q(e,t,r,P),P;let o=J(a),l=function(e,t){let r;for(let n of e.elements)if(!0===t.is(n.alt)){if(void 0===r)r=n.alt;else if(r!==n.alt)return}return r}(a,i);if(void 0!==l)o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l;else if(function(e){if(function(e){for(let t of e.elements)if(7!==t.state.type)return!1;return!0}(e))return!0;let t=function(e){let t=new Map;for(let r of e){let e=O(r,!1),n=t.get(e);void 0===n&&(n={},t.set(e,n)),n[r.alt]=!0}return t}(e.elements);return function(e){for(let t of Array.from(e.values()))if(Object.keys(t).length>1)return!0;return!1}(t)&&!function(e){for(let t of Array.from(e.values()))if(1===Object.keys(t).length)return!0;return!1}(t)}(a)){let t=(0,D.Z)(a.alts);o.isAcceptState=!0,o.prediction=t,o.configs.uniqueAlt=t,X.apply(this,[e,n,a.alts,s])}return Q(e,t,r,o)}function X(e,t,r,n){let i=[];for(let e=1;e<=t;e++)i.push(this.LA(e).tokenType);let s=e.atnStartState;n(function(e){let t=(0,T.Z)(e.prefixPath,e=>(0,y.l$)(e)).join(", "),r=0===e.production.idx?"":e.production.idx;return`Ambiguous Alternatives Detected: <${e.ambiguityIndices.join(", ")}> in <${function(e){if(e instanceof y.Sj)return"SUBRULE";if(e instanceof y.Wx)return"OPTION";if(e instanceof y.ue)return"OR";if(e instanceof y.ej)return"AT_LEAST_ONE";if(e instanceof y.fK)return"AT_LEAST_ONE_SEP";if(e instanceof y.pT)return"MANY_SEP";if(e instanceof y.hI)return"MANY";else if(e instanceof y.oI)return"CONSUME";else throw Error("non exhaustive match")}(e.production)}${r}> inside <${e.topLevelRule.name}> Rule,
|
|
78
|
+
<${t}> may appears as a prefix path in all these alternatives.
|
|
79
|
+
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
80
|
+
For Further details.`}({topLevelRule:s.rule,ambiguityIndices:r,production:s.production,prefixPath:i}))}function J(e){return{configs:e,edges:{},isAcceptState:!1,prediction:-1}}function Q(e,t,r,n){return n=ee(e,n),t.edges[r.tokenTypeIdx]=n,n}function ee(e,t){if(t===P)return t;let r=t.configs.key,n=e.states[r];return void 0!==n?n:(t.configs.finalize(),e.states[r]=t,t)}function et(e,t){let r=e.state;if(7===r.type){if(e.stack.length>0){let r=[...e.stack];et({state:r.pop(),alt:e.alt,stack:r},t)}else t.add(e);return}r.epsilonOnlyTransitions||t.add(e);let n=r.transitions.length;for(let i=0;i<n;i++){let n=function(e,t){if(t instanceof k)return{state:t.target,alt:e.alt,stack:e.stack};if(t instanceof C){let r=[...e.stack,t.followState];return{state:t.target,alt:e.alt,stack:r}}}(e,r.transitions[i]);void 0!==n&&et(n,t)}}var er=r(81274),en=r(7824);class ei{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new eu(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let t=new eo;return t.grammarSource=e,t.root=this.rootNode,this.current.content.push(t),this.nodeStack.push(t),t}buildLeafNode(e,t){let r=new ea(e.startOffset,e.image.length,(0,f.sp)(e),e.tokenType,!t);return r.grammarSource=t,r.root=this.rootNode,this.current.content.push(r),r}removeNode(e){let t=e.container;if(t){let r=t.content.indexOf(e);r>=0&&t.content.splice(r,1)}}addHiddenNodes(e){let t=[];for(let r of e){let e=new ea(r.startOffset,r.image.length,(0,f.sp)(r),r.tokenType,!0);e.root=this.rootNode,t.push(e)}let r=this.current,n=!1;if(r.content.length>0){r.content.push(...t);return}for(;r.container;){let e=r.container.content.indexOf(r);if(e>0){r.container.content.splice(e,0,...t),n=!0;break}r=r.container}n||this.rootNode.content.unshift(...t)}construct(e){let t=this.current;"string"!=typeof e.$type||e.$infixName||(this.current.astNode=e),e.$cstNode=t;let r=this.nodeStack.pop();r?.content.length===0&&this.removeNode(r)}}class es{get hidden(){return!1}get astNode(){let e="string"==typeof this._astNode?.$type?this._astNode:this.container?.astNode;if(!e)throw Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}}class ea extends es{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,t,r,n,i=!1){super(),this._hidden=i,this._offset=e,this._tokenType=n,this._length=t,this._range=r}}class eo extends es{constructor(){super(...arguments),this.content=new el(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){let e=this.firstNonHiddenNode,t=this.lastNonHiddenNode;if(!e||!t)return{start:en.Position.create(0,0),end:en.Position.create(0,0)};if(void 0===this._rangeCache){let{range:r}=e,{range:n}=t;this._rangeCache={start:r.start,end:n.end.line<r.start.line?r.start:n.end}}return this._rangeCache}get firstNonHiddenNode(){for(let e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){let t=this.content[e];if(!t.hidden)return t}return this.content[this.content.length-1]}}class el extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,el.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,t,...r){return this.addParents(r),super.splice(e,t,...r)}addParents(e){for(let t of e)t.container=this.parent}}class eu extends eo{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}let ec=Symbol("Datatype");function ed(e){return e.$type===ec}let eh=e=>e.endsWith("")?e:e+"";class ef{constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let t=this.lexer.definition,r="production"===e.LanguageMetaData.mode;e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new ev(t,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new eR(t,{...e.parser.ParserConfig,skipValidations:r,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,t){this.wrapper.wrapOr(e,t)}optional(e,t){this.wrapper.wrapOption(e,t)}many(e,t){this.wrapper.wrapMany(e,t)}atLeastOne(e,t){this.wrapper.wrapAtLeastOne(e,t)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}}class ep extends ef{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new ei,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,t){let r;let n=this.computeRuleType(e);(0,g.Zu)(e)&&(r=e.name,this.registerPrecedenceMap(e));let i=this.wrapper.DEFINE_RULE(eh(e.name),this.startImplementation(n,r,t).bind(this));return this.allRules.set(e.name,i),(0,g.F9)(e)&&e.entry&&(this.mainRule=i),i}registerPrecedenceMap(e){let t=e.name,r=new Map;for(let t=0;t<e.operators.precedences.length;t++){let n=e.operators.precedences[t];for(let e of n.operators)r.set(e.value,{precedence:t,rightAssoc:"right"===n.associativity})}this.operatorPrecedence.set(t,r)}computeRuleType(e){if((0,g.Zu)(e))return(0,p.z$)(e);if(!e.fragment)return(0,p.UP)(e)?ec:(0,p.z$)(e)}parse(e,t={}){this.nodeBuilder.buildRootNode(e);let r=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=r.tokens;let n=t.rule?this.allRules.get(t.rule):this.mainRule;if(!n)throw Error(t.rule?`No rule found with name '${t.rule}'`:"No main rule available.");let i=this.doParse(n);return this.nodeBuilder.addHiddenNodes(r.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,(0,er.b2)(i,{deep:!0}),{value:i,lexerErrors:r.errors,lexerReport:r.report,parserErrors:this.wrapper.errors}}doParse(e){let t=this.wrapper.rule(e);if(this.stack.length>0&&(t=this.construct()),void 0===t)throw Error("No result from parser");if(this.stack.length>0)throw Error("Parser stack is not empty after parsing");return t}startImplementation(e,t,r){return n=>{let i=!this.isRecording()&&void 0!==e;if(i){let r={$type:e};this.stack.push(r),e===ec?r.value="":void 0!==t&&(r.$infixName=t)}return r(n),i?this.construct():void 0}}extractHiddenTokens(e){let t=this.lexerResult.hidden;if(!t.length)return[];let r=e.startOffset;for(let e=0;e<t.length;e++)if(t[e].startOffset>r)return t.splice(0,e);return t.splice(0,t.length)}consume(e,t,r){let n=this.wrapper.wrapConsume(e,t);if(!this.isRecording()&&this.isValidToken(n)){let e=this.extractHiddenTokens(n);this.nodeBuilder.addHiddenNodes(e);let t=this.nodeBuilder.buildLeafNode(n,r),{assignment:i,crossRef:s}=this.getAssignment(r),a=this.current;if(i){let e=(0,g.p1)(r)?n.image:this.converter.convert(n.image,t);this.assign(i.operator,i.feature,e,t,s)}else if(ed(a)){let e=n.image;(0,g.p1)(r)||(e=this.converter.convert(e,t).toString()),a.value+=e}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&"number"==typeof e.endOffset&&!isNaN(e.endOffset)}subrule(e,t,r,n,i){let s,a;this.isRecording()||r||(s=this.nodeBuilder.buildCompositeNode(n));try{a=this.wrapper.wrapSubrule(e,t,i)}finally{!this.isRecording()&&(void 0!==a||r||(a=this.construct()),void 0!==a&&s&&s.length>0&&this.performSubruleAssignment(a,n,s))}}performSubruleAssignment(e,t,r){let{assignment:n,crossRef:i}=this.getAssignment(t);if(n)this.assign(n.operator,n.feature,e,r,i);else if(!n){let t=this.current;if(ed(t))t.value+=e.toString();else if("object"==typeof e&&e){let r=this.assignWithoutOverride(e,t);this.stack.pop(),this.stack.push(r)}}}action(e,t){if(!this.isRecording()){let r=this.current;t.feature&&t.operator?(r=this.construct(),this.nodeBuilder.removeNode(r.$cstNode),this.nodeBuilder.buildCompositeNode(t).content.push(r.$cstNode),this.stack.push({$type:e}),this.assign(t.operator,t.feature,r,r.$cstNode)):r.$type=e}}construct(){if(this.isRecording())return;let e=this.stack.pop();return(this.nodeBuilder.construct(e),"$infixName"in e)?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):ed(e)?this.converter.convert(e.value,e.$cstNode):((0,er.a1)(this.astReflection,e),e)}constructInfix(e,t){let r=e.parts;if(!Array.isArray(r)||0===r.length)return;let n=e.operators;if(!Array.isArray(n)||r.length<2)return r[0];let i=0,s=-1;for(let e=0;e<n.length;e++){let r=n[e],a=t.get(r)??{precedence:1/0,rightAssoc:!1};a.precedence>s?(s=a.precedence,i=e):a.precedence!==s||a.rightAssoc||(i=e)}let a=n.slice(0,i),o=n.slice(i+1),l=r.slice(0,i+1),u=r.slice(i+1),c={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:l,operators:a},d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:o},h=this.constructInfix(c,t),f=this.constructInfix(d,t);return{$type:e.$type,$cstNode:e.$cstNode,left:h,operator:n[i],right:f}}getAssignment(e){if(!this.assignmentMap.has(e)){let t=(0,er.V_)(e,g.B7);this.assignmentMap.set(e,{assignment:t,crossRef:t&&(0,g.Ki)(t.terminal)?t.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,t,r,n,i){let s;let a=this.current;switch(s="single"===i&&"string"==typeof r?this.linker.buildReference(a,t,n,r):"multi"===i&&"string"==typeof r?this.linker.buildMultiReference(a,t,n,r):r,e){case"=":a[t]=s;break;case"?=":a[t]=!0;break;case"+=":Array.isArray(a[t])||(a[t]=[]),a[t].push(s)}}assignWithoutOverride(e,t){for(let[r,n]of Object.entries(t)){let t=e[r];void 0===t?e[r]=n:Array.isArray(t)&&Array.isArray(n)&&(n.push(...t),e[r]=n)}let r=e.$cstNode;return r&&(r.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}}class em{buildMismatchTokenMessage(e){return y.Hs.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return y.Hs.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return y.Hs.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return y.Hs.buildEarlyExitMessage(e)}}class eg extends em{buildMismatchTokenMessage({expected:e,actual:t}){let r=e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`;return`Expecting ${r} but found \`${t.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}}class ey extends ef{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let t=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=t.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,t){let r=this.wrapper.DEFINE_RULE(eh(e.name),this.startImplementation(t).bind(this));return this.allRules.set(e.name,r),e.entry&&(this.mainRule=r),r}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return t=>{let r=this.keepStackSize();try{e(t)}finally{this.resetStackSize(r)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,t,r){this.wrapper.wrapConsume(e,t),this.isRecording()||(this.lastElementStack=[...this.elementStack,r],this.nextTokenIndex=this.currIdx+1)}subrule(e,t,r,n,i){this.before(n),this.wrapper.wrapSubrule(e,t,i),this.after(n)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let t=this.elementStack.lastIndexOf(e);t>=0&&this.elementStack.splice(t)}}get currIdx(){return this.wrapper.currIdx}}let eT={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new eg};class eR extends y.nu{constructor(e,t){super(e,{...eT,lookaheadStrategy:t&&"maxLookahead"in t?new y.dV({maxLookahead:t.maxLookahead}):new V({logging:t.skipValidations?()=>{}:void 0}),...t})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,t,r){return this.RULE(e,t,r)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,t){return this.consume(e,t,void 0)}wrapSubrule(e,t,r){return this.subrule(e,t,{ARGS:[r]})}wrapOr(e,t){this.or(e,t)}wrapOption(e,t){this.option(e,t)}wrapMany(e,t){this.many(e,t)}wrapAtLeastOne(e,t){this.atLeastOne(e,t)}rule(e){return e.call(this,{})}}class ev extends eR{constructor(e,t,r){super(e,t),this.task=r}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,t,r){this.task.startSubTask(this.ruleName(t));try{return super.subrule(e,t,r)}finally{this.task.stopSubTask(this.ruleName(t))}}}var eE=r(50361),eS=r(79771);function ek(e,t,r){return function(e,t){let r=(0,p.VD)(t,!1);for(let n of(0,eS.Vw)(t.rules).filter(g.F9).filter(e=>r.has(e))){let t={...e,consume:1,optional:1,subrule:1,many:1,or:1};e.parser.rule(n,function e(t,r,n=!1){let i;if((0,g.p1)(r))i=function(e,t){let r=e.consume++,n=e.tokens[t.value];if(!n)throw Error("Could not find token for keyword: "+t.value);return()=>e.parser.consume(r,n,t)}(t,r);else if((0,g.LG)(r))i=function(e,t){let r=(0,p.z$)(t);return()=>e.parser.action(r,t)}(t,r);else if((0,g.B7)(r))i=e(t,r.terminal);else if((0,g.Ki)(r))i=function e(t,r,n=r.terminal){if(n){if((0,g.t3)(n)&&(0,g.F9)(n.rule.ref)){let e;let i=n.rule.ref,s=t.subrule++;return n=>{e??(e=eb(t,i)),t.parser.subrule(s,e,!1,r,n)}}if((0,g.t3)(n)&&(0,g.MS)(n.rule.ref)){let e=t.consume++,i=ex(t,n.rule.ref.name);return()=>t.parser.consume(e,i,r)}if((0,g.p1)(n)){let e=t.consume++,i=ex(t,n.value);return()=>t.parser.consume(e,i,r)}else throw Error("Could not build cross reference parser")}{if(!r.type.ref)throw Error("Could not resolve reference to type: "+r.type.$refText);let n=(0,p.ib)(r.type.ref),i=n?.terminal;if(!i)throw Error("Could not find name assignment for type: "+(0,p.z$)(r.type.ref));return e(t,r,i)}}(t,r);else if((0,g.t3)(r))i=function(e,t){let r=t.rule.ref;if((0,g.zl)(r)){let n;let i=e.subrule++,s=(0,g.F9)(r)&&r.fragment,a=t.arguments.length>0?function(e,t){if(t.some(e=>e.calledByName)){let e=t.map(e=>({parameterName:e.parameter?.ref?.name,predicate:eC(e.value)}));return t=>{let r={};for(let{parameterName:n,predicate:i}of e)n&&(r[n]=i(t));return r}}{let r=t.map(e=>eC(e.value));return t=>{let n={};for(let i=0;i<r.length;i++)if(i<e.parameters.length){let s=e.parameters[i].name,a=r[i];n[s]=a(t)}return n}}}(r,t.arguments):()=>({});return o=>{n??(n=eb(e,r)),e.parser.subrule(i,n,s,t,a(o))}}if((0,g.MS)(r)){let n=e.consume++,i=ex(e,r.name);return()=>e.parser.consume(n,i,t)}if(r)(0,eE.UT)(r);else throw new eE.hv(t.$cstNode,`Undefined rule: ${t.rule.$refText}`)}(t,r);else if((0,g.MZ)(r))i=function(t,r){if(1===r.elements.length)return e(t,r.elements[0]);{let n=[];for(let i of r.elements){let r={ALT:e(t,i,!0)},s=eA(i);s&&(r.GATE=eC(s)),n.push(r)}let i=t.or++;return e=>t.parser.alternatives(i,n.map(t=>{let r={ALT:()=>t.ALT(e)},n=t.GATE;return n&&(r.GATE=()=>n(e)),r}))}}(t,r);else if((0,g.W1)(r))i=function(t,r){if(1===r.elements.length)return e(t,r.elements[0]);let n=[];for(let i of r.elements){let r={ALT:e(t,i,!0)},s=eA(i);s&&(r.GATE=eC(s)),n.push(r)}let i=t.or++,s=(e,t)=>{let r=t.getRuleStack().join("-");return`uGroup_${e}_${r}`},a=e$(t,eA(r),e=>t.parser.alternatives(i,n.map((r,n)=>{let a={ALT:()=>!0},o=t.parser;a.ALT=()=>{if(r.ALT(e),!o.isRecording()){let e=s(i,o);o.unorderedGroups.get(e)||o.unorderedGroups.set(e,[]);let t=o.unorderedGroups.get(e);void 0===t?.[n]&&(t[n]=!0)}};let l=r.GATE;return l?a.GATE=()=>l(e):a.GATE=()=>{let e=o.unorderedGroups.get(s(i,o));return!e?.[n]},a})),"*");return e=>{a(e),t.parser.isRecording()||t.parser.unorderedGroups.delete(s(i,t.parser))}}(t,r);else if((0,g.ty)(r))i=function(t,r){let n=r.elements.map(r=>e(t,r));return e=>n.forEach(t=>t(e))}(t,r);else if((0,g.rT)(r)){let e=t.consume++;i=()=>t.parser.consume(e,y.sd,r)}else throw new eE.hv(r.$cstNode,`Unexpected element type: ${r.$type}`);return e$(t,n?void 0:eA(r),i,r.cardinality)}(t,n.definition))}for(let n of(0,eS.Vw)(t.rules).filter(g.Zu).filter(e=>r.has(e)))e.parser.rule(n,function(e,t){let r;let n=t.call.rule.ref;if(!n)throw Error("Could not resolve reference to infix operator rule: "+t.call.rule.$refText);if((0,g.MS)(n))throw Error("Cannot use terminal rule in infix expression");let i=t.operators.precedences.flatMap(e=>e.operators),s={$type:"Group",elements:[]},a={$container:s,$type:"Assignment",feature:"parts",operator:"+=",terminal:t.call},o={$container:s,$type:"Group",elements:[],cardinality:"*"};s.elements.push(a,o);let l={$container:o,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:i}},u={...a,$container:o};o.elements.push(l,u);let c=i.map(t=>e.tokens[t.value]).map((t,r)=>({ALT:()=>e.parser.consume(r,t,l)}));return t=>{r??(r=eb(e,n)),e.parser.subrule(0,r,!1,a,t),e.parser.many(0,{DEF:()=>{e.parser.alternatives(0,c),e.parser.subrule(1,r,!1,u,t)}})}}(e,n))}({parser:t,tokens:r,ruleNames:new Map},e),t}function eC(e){if((0,g.F8)(e)){let t=eC(e.left),r=eC(e.right);return e=>t(e)||r(e)}if((0,g.TB)(e)){let t=eC(e.left),r=eC(e.right);return e=>t(e)&&r(e)}if((0,g.Ii)(e)){let t=eC(e.value);return e=>!t(e)}if((0,g.yW)(e)){let t=e.parameter.ref.name;return e=>void 0!==e&&!0===e[t]}if((0,g.L)(e)){let t=!!e.true;return()=>t}(0,eE.UT)(e)}function eA(e){if((0,g.ty)(e))return e.guardCondition}function e$(e,t,r,n){let i=t&&eC(t);if(!n){if(!i)return r;{let t=e.or++;return n=>e.parser.alternatives(t,[{ALT:()=>r(n),GATE:()=>i(n)},{ALT:(0,y._o)(),GATE:()=>!i(n)}])}}if("*"===n){let t=e.many++;return n=>e.parser.many(t,{DEF:()=>r(n),GATE:i?()=>i(n):void 0})}if("+"===n){let t=e.many++;if(!i)return n=>e.parser.atLeastOne(t,{DEF:()=>r(n)});{let n=e.or++;return s=>e.parser.alternatives(n,[{ALT:()=>e.parser.atLeastOne(t,{DEF:()=>r(s)}),GATE:()=>i(s)},{ALT:(0,y._o)(),GATE:()=>!i(s)}])}}if("?"===n){let t=e.optional++;return n=>e.parser.optional(t,{DEF:()=>r(n),GATE:i?()=>i(n):void 0})}(0,eE.UT)(n)}function eb(e,t){let r=function(e,t){if((0,g.zl)(t))return t.name;if(e.ruleNames.has(t))return e.ruleNames.get(t);{let r=t,n=r.$container,i=t.$type;for(;!(0,g.F9)(n);)((0,g.ty)(n)||(0,g.MZ)(n)||(0,g.W1)(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,e.ruleNames.set(t,i),i}}(e,t),n=e.parser.getRule(r);if(!n)throw Error(`Rule "${r}" not found."`);return n}function ex(e,t){let r=e.tokens[t];if(!r)throw Error(`Token "${t}" not found."`);return r}var eN=r(21182),ew=r(53755),eI=r(93237),e_=r(90505);let eP=0,eL=Symbol("OperationCancelled");async function eO(e){if(e===eI.CancellationToken.None)return;let t=performance.now();if(t-eP>=10&&(eP=t,await new Promise(e=>{"undefined"==typeof setImmediate?setTimeout(e,0):setImmediate(e)}),eP=performance.now()),e.isCancellationRequested)throw eL}class eD{constructor(){this.promise=new Promise((e,t)=>{this.resolve=t=>(e(t),this),this.reject=e=>(t(e),this)})}}class eM{constructor(e,t,r,n){this._uri=e,this._languageId=t,this._version=r,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(e,t){for(let t of e)if(eM.isIncremental(t)){let e=eq(t.range),r=this.offsetAt(e.start),n=this.offsetAt(e.end);this._content=this._content.substring(0,r)+t.text+this._content.substring(n,this._content.length);let i=Math.max(e.start.line,0),s=Math.max(e.end.line,0),a=this._lineOffsets,o=eF(t.text,!1,r);if(s-i===o.length)for(let e=0,t=o.length;e<t;e++)a[e+i+1]=o[e];else o.length<1e4?a.splice(i+1,s-i,...o):this._lineOffsets=a=a.slice(0,i+1).concat(o,a.slice(s+1));let l=t.text.length-(n-r);if(0!==l)for(let e=i+1+o.length,t=a.length;e<t;e++)a[e]=a[e]+l}else if(eM.isFull(t))this._content=t.text,this._lineOffsets=void 0;else throw Error("Unknown change event received");this._version=t}getLineOffsets(){return void 0===this._lineOffsets&&(this._lineOffsets=eF(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),r=0,n=t.length;if(0===n)return{line:0,character:e};for(;r<n;){let i=Math.floor((r+n)/2);t[i]>e?n=i:r=i+1}let i=r-1;return e=this.ensureBeforeEOL(e,t[i]),{line:i,character:e-t[i]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line];if(e.character<=0)return r;let n=e.line+1<t.length?t[e.line+1]:this._content.length,i=Math.min(r+e.character,n);return this.ensureBeforeEOL(i,r)}ensureBeforeEOL(e,t){for(;e>t&&eZ(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){return null!=e&&"string"==typeof e.text&&void 0!==e.range&&(void 0===e.rangeLength||"number"==typeof e.rangeLength)}static isFull(e){return null!=e&&"string"==typeof e.text&&void 0===e.range&&void 0===e.rangeLength}}function eF(e,t,r=0){let n=t?[r]:[];for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);eZ(i)&&(13===i&&t+1<e.length&&10===e.charCodeAt(t+1)&&t++,n.push(r+t+1))}return n}function eZ(e){return 13===e||10===e}function eq(e){let t=e.start,r=e.end;return t.line>r.line||t.line===r.line&&t.character>r.character?{start:r,end:t}:e}function eU(e){let t=eq(e.range);return t!==e.range?{newText:e.newText,range:t}:e}(n=o||(o={})).create=function(e,t,r,n){return new eM(e,t,r,n)},n.update=function(e,t,r){if(e instanceof eM)return e.update(t,r),e;throw Error("TextDocument.update: document must be created by TextDocument.create")},n.applyEdits=function(e,t){let r=e.getText(),n=function e(t,r){if(t.length<=1)return t;let n=t.length/2|0,i=t.slice(0,n),s=t.slice(n);e(i,r),e(s,r);let a=0,o=0,l=0;for(;a<i.length&&o<s.length;)0>=r(i[a],s[o])?t[l++]=i[a++]:t[l++]=s[o++];for(;a<i.length;)t[l++]=i[a++];for(;o<s.length;)t[l++]=s[o++];return t}(t.map(eU),(e,t)=>{let r=e.range.start.line-t.range.start.line;return 0===r?e.range.start.character-t.range.start.character:r}),i=0,s=[];for(let t of n){let n=e.offsetAt(t.range.start);if(n<i)throw Error("Overlapping edit");n>i&&s.push(r.substring(i,n)),t.newText.length&&s.push(t.newText),i=e.offsetAt(t.range.end)}return s.push(r.substr(i)),s.join("")};var ej=r(57870),eG=r(40257);!function(e){e.basename=ej.c.basename,e.dirname=ej.c.dirname,e.extname=ej.c.extname,e.joinPath=ej.c.joinPath,e.resolvePath=ej.c.resolvePath;let t="object"==typeof eG&&eG?.platform==="win32";e.equals=function(e,t){return e?.toString()===t?.toString()},e.relative=function(e,r){let n="string"==typeof e?ej.o.parse(e).path:e.path,i="string"==typeof r?ej.o.parse(r).path:r.path,s=n.split("/").filter(e=>e.length>0),a=i.split("/").filter(e=>e.length>0);if(t){let e=/^[A-Z]:$/;if(s[0]&&e.test(s[0])&&(s[0]=s[0].toLowerCase()),a[0]&&e.test(a[0])&&(a[0]=a[0].toLowerCase()),s[0]!==a[0])return i.substring(1)}let o=0;for(;o<s.length&&s[o]===a[o];o++);return"../".repeat(s.length-o)+a.slice(o).join("/")},e.normalize=function(e){return ej.o.parse(e.toString()).toString()},e.contains=function(e,t){let r="string"==typeof e?e:e.path,n="string"==typeof t?t:t.path;return"/"===n.charAt(n.length-1)&&(n=n.slice(0,-1)),"/"===r.charAt(r.length-1)&&(r=r.slice(0,-1)),n===r||!(n.length<r.length)&&"/"===n.charAt(r.length)&&n.startsWith(r)}}(l||(l={}));class ez{constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return l.normalize(e)}clear(){this.root.children.clear()}insert(e,t){this.getNode(this.normalizeUri(e),!0).element=t}delete(e){let t=this.getNode(this.normalizeUri(e),!1);t?.parent&&t.parent.children.delete(t.name)}has(e){return this.getNode(this.normalizeUri(e),!1)?.element!==void 0}hasNode(e){return void 0!==this.getNode(this.normalizeUri(e),!1)}find(e){return this.getNode(this.normalizeUri(e),!1)?.element}findNode(e){let t=this.normalizeUri(e),r=this.getNode(t,!1);if(r)return{name:r.name,uri:l.joinPath(ej.o.parse(t),r.name).toString(),element:r.element}}findChildren(e){let t=this.normalizeUri(e),r=this.getNode(t,!1);return r?Array.from(r.children.values()).map(e=>({name:e.name,uri:l.joinPath(ej.o.parse(t),e.name).toString(),element:e.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let t=this.getNode(l.normalize(e),!1);return t?this.collectValues(t):[]}getNode(e,t){let r=e.split("/");"/"===e.charAt(e.length-1)&&r.pop();let n=this.root;for(let e of r){let r=n.children.get(e);if(!r){if(!t)return;r={name:e,children:new Map,parent:n},n.children.set(e,r)}n=r}return n}collectValues(e){let t=[];for(let r of(e.element&&t.push(e.element),e.children.values()))t.push(...this.collectValues(r));return t}}(i=u||(u={}))[i.Changed=0]="Changed",i[i.Parsed=1]="Parsed",i[i.IndexedContent=2]="IndexedContent",i[i.ComputedScopes=3]="ComputedScopes",i[i.Linked=4]="Linked",i[i.IndexedReferences=5]="IndexedReferences",i[i.Validated=6]="Validated";class eW{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,t=eI.CancellationToken.None){let r=await this.fileSystemProvider.readFile(e);return this.createAsync(e,r,t)}fromTextDocument(e,t,r){return(t=t??ej.o.parse(e.uri),eI.CancellationToken.is(r))?this.createAsync(t,e,r):this.create(t,e,r)}fromString(e,t,r){return eI.CancellationToken.is(r)?this.createAsync(t,e,r):this.create(t,e,r)}fromModel(e,t){return this.create(t,{$model:e})}create(e,t,r){if("string"==typeof t){let n=this.parse(e,t,r);return this.createLangiumDocument(n,e,void 0,t)}if("$model"in t){let r={value:t.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(r,e)}{let n=this.parse(e,t.getText(),r);return this.createLangiumDocument(n,e,t)}}async createAsync(e,t,r){if("string"==typeof t){let n=await this.parseAsync(e,t,r);return this.createLangiumDocument(n,e,void 0,t)}{let n=await this.parseAsync(e,t.getText(),r);return this.createLangiumDocument(n,e,t)}}createLangiumDocument(e,t,r,n){let i;if(r)i={parseResult:e,uri:t,state:u.Parsed,references:[],textDocument:r};else{let r=this.createTextDocumentGetter(t,n);i={parseResult:e,uri:t,state:u.Parsed,references:[],get textDocument(){return r()}}}return e.value.$document=i,i}async update(e,t){let r=e.parseResult.value.$cstNode?.root.fullText,n=this.textDocuments?.get(e.uri.toString()),i=n?n.getText():await this.fileSystemProvider.readFile(e.uri);if(n)Object.defineProperty(e,"textDocument",{value:n});else{let t=this.createTextDocumentGetter(e.uri,i);Object.defineProperty(e,"textDocument",{get:t})}return r!==i&&(e.parseResult=await this.parseAsync(e.uri,i,t),e.parseResult.value.$document=e),e.state=u.Parsed,e}parse(e,t,r){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(t,r)}parseAsync(e,t,r){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(t,r)}createTextDocumentGetter(e,t){let r;let n=this.serviceRegistry;return()=>r??(r=o.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,t??""))}}class eV{constructor(e){this.documentTrie=new ez,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return(0,eS.Vw)(this.documentTrie.all())}addDocument(e){let t=e.uri.toString();if(this.documentTrie.has(t))throw Error(`A document with the URI '${t}' is already present.`);this.documentTrie.insert(t,e)}getDocument(e){let t=e.toString();return this.documentTrie.find(t)}getDocuments(e){let t=e.toString();return this.documentTrie.findAll(t)}async getOrCreateDocument(e,t){let r=this.getDocument(e);return r||(r=await this.langiumDocumentFactory.fromUri(e,t),this.addDocument(r)),r}createDocument(e,t,r){if(r)return this.langiumDocumentFactory.fromString(t,e,r).then(e=>(this.addDocument(e),e));{let r=this.langiumDocumentFactory.fromString(t,e);return this.addDocument(r),r}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let t=e.toString(),r=this.documentTrie.find(t);return r&&this.documentBuilder().resetToState(r,u.Changed),r}deleteDocument(e){let t=e.toString(),r=this.documentTrie.find(t);return r&&(r.state=u.Changed,this.documentTrie.delete(t)),r}deleteDocuments(e){let t=e.toString(),r=this.documentTrie.findAll(t);for(let e of r)e.state=u.Changed;return this.documentTrie.delete(t),r}}let eB=Symbol("RefResolving");class eK{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,t=eI.CancellationToken.None){if(this.profiler?.isActive("linking")){let r=this.profiler.createTask("linking",this.languageId);r.start();try{for(let n of(0,er.Zc)(e.parseResult.value))await eO(t),(0,er.fy)(n).forEach(t=>{let i=`${n.$type}:${t.property}`;r.startSubTask(i);try{this.doLink(t,e)}finally{r.stopSubTask(i)}})}finally{r.stop()}}else for(let r of(0,er.Zc)(e.parseResult.value))await eO(t),(0,er.fy)(r).forEach(t=>this.doLink(t,e))}doLink(e,t){let r=e.reference;if("_ref"in r&&void 0===r._ref){r._ref=eB;try{let t=this.getCandidate(e);if((0,e_.et)(t))r._ref=t;else{r._nodeDescription=t;let n=this.loadAstNode(t);r._ref=n??this.createLinkingError(e,t)}}catch(n){console.error(`An error occurred while resolving reference to '${r.$refText}':`,n);let t=n.message??String(n);r._ref={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${t}`}}t.references.push(r)}else if("_items"in r&&void 0===r._items){r._items=eB;try{let t=this.getCandidates(e),n=[];if((0,e_.et)(t))r._linkingError=t;else for(let e of t){let t=this.loadAstNode(e);t&&n.push({ref:t,$nodeDescription:e})}r._items=n}catch(t){r._linkingError={info:e,message:`An error occurred while resolving reference to '${r.$refText}': ${t}`},r._items=[]}t.references.push(r)}}unlink(e){for(let t of e.references)"_ref"in t?(t._ref=void 0,delete t._nodeDescription):"_items"in t&&(t._items=void 0,delete t._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let t=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(e=>`${e.documentUri}#${e.path}`).toArray();return t.length>0?t:this.createLinkingError(e)}buildReference(e,t,r,n){let i=this,s={$refNode:r,$refText:n,_ref:void 0,get ref(){if((0,e_.xA)(this._ref))return this._ref;if((0,e_.SI)(this._nodeDescription)){let r=i.loadAstNode(this._nodeDescription);this._ref=r??i.createLinkingError({reference:s,container:e,property:t},this._nodeDescription)}else if(void 0===this._ref){this._ref=eB;let r=(0,er.E$)(e).$document,n=i.getLinkedNode({reference:s,container:e,property:t});if(n.error&&r&&r.state<u.ComputedScopes)return this._ref=void 0;this._ref=n.node??n.error,this._nodeDescription=n.descr,r?.references.push(this)}else this._ref===eB&&i.throwCyclicReferenceError(e,t,n);return(0,e_.xA)(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return(0,e_.et)(this._ref)?this._ref:void 0}};return s}buildMultiReference(e,t,r,n){let i=this,s={$refNode:r,$refText:n,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(void 0===this._items){this._items=eB;let r=(0,er.E$)(e).$document,n=i.getCandidates({reference:s,container:e,property:t}),a=[];if((0,e_.et)(n))this._linkingError=n;else for(let e of n){let t=i.loadAstNode(e);t&&a.push({ref:t,$nodeDescription:e})}this._items=a,r?.references.push(this)}else this._items===eB&&i.throwCyclicReferenceError(e,t,n);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;if(this.items.length>0)return;return this._linkingError=i.createLinkingError({reference:s,container:e,property:t})}};return s}throwCyclicReferenceError(e,t,r){throw Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${t} (symbol '${r}')`)}getLinkedNode(e){try{let t=this.getCandidate(e);if((0,e_.et)(t))return{error:t};let r=this.loadAstNode(t);if(r)return{node:r,descr:t};return{descr:t,error:this.createLinkingError(e,t)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);let t=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${t}`}}}}loadAstNode(e){if(e.node)return e.node;let t=this.langiumDocuments().getDocument(e.documentUri);if(t)return this.astNodeLocator.getAstNode(t.parseResult.value,e.path)}createLinkingError(e,t){let r=(0,er.E$)(e.container).$document;r&&r.state<u.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${r.uri}).`);let n=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${n} named '${e.reference.$refText}'.`,targetDescription:t}}}class eH{getName(e){if("string"==typeof e.name)return e.name}getNameNode(e){return(0,p.vb)(e.$cstNode,"name")}}class eY{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator,this.documents=e.shared.workspace.LangiumDocuments,this.hasMultiReference=(0,er.Zc)(e.Grammar).some(e=>(0,g.Ki)(e)&&e.isMulti)}findDeclarations(e){if(e){let t=(0,p.h7)(e),r=e.astNode;if(t&&r){let n=r[t.feature];if((0,e_.Yk)(n)||(0,e_.uh)(n))return(0,er.Dp)(n);if(Array.isArray(n)){for(let t of n)if(((0,e_.Yk)(t)||(0,e_.uh)(t))&&t.$refNode&&t.$refNode.offset<=e.offset&&t.$refNode.end>=e.end)return(0,er.Dp)(t)}}if(r){let t=this.nameProvider.getNameNode(r);if(t&&(t===e||(0,f.OB)(e,t)))return this.getSelfNodes(r)}}return[]}getSelfNodes(e){if(!this.hasMultiReference)return[e];{let t=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),r=this.getNodeFromReferenceDescription(t.head());if(r){for(let t of(0,er.fy)(r))if((0,e_.uh)(t.reference)&&t.reference.items.some(t=>t.ref===e))return t.reference.items.map(e=>e.ref)}return[e]}}getNodeFromReferenceDescription(e){if(!e)return;let t=this.documents.getDocument(e.sourceUri);if(t)return this.nodeLocator.getAstNode(t.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let t=this.findDeclarations(e),r=[];for(let e of t){let t=this.nameProvider.getNameNode(e)??e.$cstNode;t&&r.push(t)}return r}findReferences(e,t){let r=[];t.includeDeclaration&&r.push(...this.getSelfReferences(e));let n=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return t.documentUri&&(n=n.filter(e=>l.equals(e.sourceUri,t.documentUri))),r.push(...n),(0,eS.Vw)(r)}getSelfReferences(e){let t=this.getSelfNodes(e),r=[];for(let e of t){let t=this.nameProvider.getNameNode(e);if(t){let n=(0,er.Me)(e),i=this.nodeLocator.getAstNodePath(e);r.push({sourceUri:n.uri,sourcePath:i,targetUri:n.uri,targetPath:i,segment:(0,f.yn)(t),local:!0})}}return r}}class eX{constructor(e){if(this.map=new Map,e)for(let[t,r]of e)this.add(t,r)}get size(){return eS.IH.sum((0,eS.Vw)(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,t){if(void 0===t)return this.map.delete(e);{let r=this.map.get(e);if(r){let n=r.indexOf(t);if(n>=0)return 1===r.length?this.map.delete(e):r.splice(n,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let t=this.map.get(e);return t?(0,eS.Vw)(t):eS.Cl}has(e,t){if(void 0===t)return this.map.has(e);{let r=this.map.get(e);return!!r&&r.indexOf(t)>=0}}add(e,t){return this.map.has(e)?this.map.get(e).push(t):this.map.set(e,[t]),this}addAll(e,t){return this.map.has(e)?this.map.get(e).push(...t):this.map.set(e,Array.from(t)),this}forEach(e){this.map.forEach((t,r)=>t.forEach(t=>e(t,r,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return(0,eS.Vw)(this.map.entries()).flatMap(([e,t])=>t.map(t=>[e,t]))}keys(){return(0,eS.Vw)(this.map.keys())}values(){return(0,eS.Vw)(this.map.values()).flat()}entriesGroupedByKey(){return(0,eS.Vw)(this.map.entries())}}class eJ{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[t,r]of e)this.set(t,r)}clear(){this.map.clear(),this.inverse.clear()}set(e,t){return this.map.set(e,t),this.inverse.set(t,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let t=this.map.get(e);return void 0!==t&&(this.map.delete(e),this.inverse.delete(t),!0)}}class eQ{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,t=eI.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,t)}async collectExportedSymbolsForNode(e,t,r=er.sx,n=eI.CancellationToken.None){let i=[];for(let s of(this.addExportedSymbol(e,i,t),r(e)))await eO(n),this.addExportedSymbol(s,i,t);return i}addExportedSymbol(e,t,r){let n=this.nameProvider.getName(e);n&&t.push(this.descriptions.createDescription(e,n,r))}async collectLocalSymbols(e,t=eI.CancellationToken.None){let r=e.parseResult.value,n=new eX;for(let i of(0,er.VY)(r))await eO(t),this.addLocalSymbol(i,e,n);return n}addLocalSymbol(e,t,r){let n=e.$container;if(n){let i=this.nameProvider.getName(e);i&&r.add(n,this.descriptions.createDescription(e,i,t))}}}class e0{constructor(e,t,r){this.elements=e,this.outerScope=t,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e;return(this.caseInsensitive?this.elements.find(e=>e.name.toLowerCase()===t):this.elements.find(t=>t.name===e))||(this.outerScope?this.outerScope.getElement(e):void 0)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.caseInsensitive?this.elements.filter(e=>e.name.toLowerCase()===t):this.elements.filter(t=>t.name===e);return(this.concatOuterScope||r.isEmpty())&&this.outerScope?r.concat(this.outerScope.getElements(e)):r}}class e1{constructor(e,t,r){for(let t of(this.elements=new eX,this.caseInsensitive=r?.caseInsensitive??!1,this.concatOuterScope=r?.concatOuterScope??!0,e)){let e=this.caseInsensitive?t.name.toLowerCase():t.name;this.elements.add(e,t)}this.outerScope=t}getElement(e){let t=this.caseInsensitive?e.toLowerCase():e;return this.elements.get(t)[0]||(this.outerScope?this.outerScope.getElement(e):void 0)}getElements(e){let t=this.caseInsensitive?e.toLowerCase():e,r=this.elements.get(t);return(this.concatOuterScope||0===r.length)&&this.outerScope?(0,eS.Vw)(r).concat(this.outerScope.getElements(e)):(0,eS.Vw)(r)}getAllElements(){let e=(0,eS.Vw)(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}}class e2{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw Error("This cache has already been disposed")}}class e3 extends e2{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,t){this.throwIfDisposed(),this.cache.set(e,t)}get(e,t){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(t){let r=t();return this.cache.set(e,r),r}}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}}class e9 extends e2{constructor(e){super(),this.cache=new Map,this.converter=e??(e=>e)}has(e,t){return this.throwIfDisposed(),this.cacheForContext(e).has(t)}set(e,t,r){this.throwIfDisposed(),this.cacheForContext(e).set(t,r)}get(e,t,r){this.throwIfDisposed();let n=this.cacheForContext(e);if(n.has(t))return n.get(t);if(r){let e=r();return n.set(t,e),e}}delete(e,t){return this.throwIfDisposed(),this.cacheForContext(e).delete(t)}clear(e){if(this.throwIfDisposed(),e){let t=this.converter(e);this.cache.delete(t)}else this.cache.clear()}cacheForContext(e){let t=this.converter(e),r=this.cache.get(t);return r||(r=new Map,this.cache.set(t,r)),r}}class e4 extends e3{constructor(e,t){super(),t?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(t,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((e,t)=>{t.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}class e5{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new e4(e.shared)}getScope(e){let t=[],r=this.reflection.getReferenceType(e),n=(0,er.Me)(e.container).localSymbols;if(n){let i=e.container;do n.has(i)&&t.push(n.getStream(i).filter(e=>this.reflection.isSubtype(e.type,r))),i=i.$container;while(i)}let i=this.getGlobalScope(r,e);for(let e=t.length-1;e>=0;e--)i=this.createScope(t[e],i);return i}createScope(e,t,r){return new e0((0,eS.Vw)(e),t,r)}createScopeForNodes(e,t,r){return new e0((0,eS.Vw)(e).map(e=>{let t=this.nameProvider.getName(e);if(t)return this.descriptions.createDescription(e,t)}).nonNullable(),t,r)}getGlobalScope(e,t){return this.globalScopeCache.get(e,()=>new e1(this.indexManager.allElements(e)))}}function e8(e){return"object"==typeof e&&!!e&&("$ref"in e||"$error"in e)}class e7{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,t){let r=t??{},n=t?.replacer,i=(e,t)=>this.replacer(e,t,r),s=n?(e,t)=>n(e,t,i):i;try{return this.currentDocument=(0,er.Me)(e),JSON.stringify(e,s,t?.space)}finally{this.currentDocument=void 0}}deserialize(e,t){let r=JSON.parse(e);return this.linkNode(r,r,t??{}),r}replacer(e,t,{refText:r,sourceText:n,textRegions:i,comments:s,uriConverter:a}){if(!this.ignoreProperties.has(e)){if((0,e_.Yk)(t)){let e=t.ref,n=r?t.$refText:void 0;if(!e)return{$error:t.error?.message??"Could not resolve reference",$refText:n};{let t=(0,er.Me)(e),r="";this.currentDocument&&this.currentDocument!==t&&(r=a?a(t.uri,e):t.uri.toString());let i=this.astNodeLocator.getAstNodePath(e);return{$ref:`${r}#${i}`,$refText:n}}}if((0,e_.uh)(t)){let e=r?t.$refText:void 0,n=[];for(let e of t.items){let t=e.ref,r=(0,er.Me)(e.ref),i="";this.currentDocument&&this.currentDocument!==r&&(i=a?a(r.uri,t):r.uri.toString());let s=this.astNodeLocator.getAstNodePath(t);n.push(`${i}#${s}`)}return{$refs:n,$refText:e}}{let r;if(!(0,e_.xA)(t))return t;if(i&&(r=this.addAstNodeRegionWithAssignmentsTo({...t}),(!e||t.$document)&&r?.$textRegion&&(r.$textRegion.documentURI=this.currentDocument?.uri.toString())),n&&!e&&(r??(r={...t}),r.$sourceText=t.$cstNode?.text),s){r??(r={...t});let e=this.commentProvider.getComment(t);e&&(r.$comment=e.replace(/\r/g,""))}return r??t}}}addAstNodeRegionWithAssignmentsTo(e){let t=e=>({offset:e.offset,end:e.end,length:e.length,range:e.range});if(e.$cstNode){let r=(e.$textRegion=t(e.$cstNode)).assignments={};return Object.keys(e).filter(e=>!e.startsWith("$")).forEach(n=>{let i=(0,p.EL)(e.$cstNode,n).map(t);0!==i.length&&(r[n]=i)}),e}}linkNode(e,t,r,n,i,s){for(let[n,i]of Object.entries(e))if(Array.isArray(i))for(let s=0;s<i.length;s++){let a=i[s];e8(a)?i[s]=this.reviveReference(e,n,t,a,r):(0,e_.xA)(a)&&this.linkNode(a,t,r,e,n,s)}else e8(i)?e[n]=this.reviveReference(e,n,t,i,r):(0,e_.xA)(i)&&this.linkNode(i,t,r,e,n);e.$container=n,e.$containerProperty=i,e.$containerIndex=s}reviveReference(e,t,r,n,i){let s,a=n.$refText,o=n.$error;if(n.$ref){let e=this.getRefNode(r,n.$ref,i.uriConverter);if((0,e_.xA)(e))return a||(a=this.nameProvider.getName(e)),{$refText:a??"",ref:e};o=e}else if(n.$refs){let e=[];for(let t of n.$refs){let n=this.getRefNode(r,t,i.uriConverter);(0,e_.xA)(n)&&e.push({ref:n})}if(0!==e.length)return{$refText:a??"",items:e};s={$refText:a??"",items:e},o??(o="Could not resolve multi-reference")}return o?(s??(s={$refText:a??"",ref:void 0}),s.error={info:{container:e,property:t,reference:s},message:o},s):void 0}getRefNode(e,t,r){try{let n=t.indexOf("#");if(0===n){let r=this.astNodeLocator.getAstNode(e,t.substring(1));if(!r)return"Could not resolve path: "+t;return r}if(n<0){let e=r?r(t):ej.o.parse(t),n=this.langiumDocuments.getDocument(e);if(!n)return"Could not find document for URI: "+t;return n.parseResult.value}let i=r?r(t.substring(0,n)):ej.o.parse(t.substring(0,n)),s=this.langiumDocuments.getDocument(i);if(!s)return"Could not find document for URI: "+t;if(n===t.length-1)return s.parseResult.value;let a=this.astNodeLocator.getAstNode(s.parseResult.value,t.substring(n+1));if(!a)return"Could not resolve URI: "+t;return a}catch(e){return String(e)}}}class e6{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){let t=e.LanguageMetaData;for(let r of t.fileExtensions)this.fileExtensionMap.has(r)&&console.warn(`The file extension ${r} is used by multiple languages. It is now assigned to '${t.languageId}'.`),this.fileExtensionMap.set(r,e);if(t.fileNames)for(let r of t.fileNames)this.fileNameMap.has(r)&&console.warn(`The file name ${r} is used by multiple languages. It is now assigned to '${t.languageId}'.`),this.fileNameMap.set(r,e);this.languageIdMap.set(t.languageId,e)}getServices(e){if(0===this.languageIdMap.size)throw Error("The service registry is empty. Use `register` to register the services of a language.");let t=this.textDocuments?.get(e)?.languageId;if(void 0!==t){let e=this.languageIdMap.get(t);if(e)return e}let r=l.extname(e),n=l.basename(e),i=this.fileNameMap.get(n)??this.fileExtensionMap.get(r);if(!i){if(t)throw Error(`The service registry contains no services for the extension '${r}' for language '${t}'.`);throw Error(`The service registry contains no services for the extension '${r}'.`)}return i}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}}(s=c||(c={})).defaults=["fast","slow","built-in"],s.all=s.defaults;class te{constructor(e){this.entries=new eX,this.knownCategories=new Set(c.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,t=this,r="fast"){if("built-in"===r)throw Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(let[n,i]of(this.knownCategories.add(r),Object.entries(e)))if(Array.isArray(i))for(let e of i){let i={check:this.wrapValidationException(e,t),category:r};this.addEntry(n,i)}else if("function"==typeof i){let e={check:this.wrapValidationException(i,t),category:r};this.addEntry(n,e)}else(0,eE.UT)(i)}wrapValidationException(e,t){return async(r,n,i)=>{await this.handleException(()=>e.call(t,r,n,i),"An error occurred during validation",n,r)}}async handleException(e,t,r,n){try{await e()}catch(i){if(i===eL)throw i;console.error(`${t}:`,i),i instanceof Error&&i.stack&&console.error(i.stack);let e=i instanceof Error?i.message:String(i);r("error",`${t}: ${e}`,{node:n})}}addEntry(e,t){if("AstNode"===e){this.entries.add("AstNode",t);return}for(let r of this.reflection.getAllSubTypes(e))this.entries.add(r,t)}getChecks(e,t){let r=(0,eS.Vw)(this.entries.get(e)).concat(this.entries.get("AstNode"));return t&&(r=r.filter(e=>t.includes(e.category))),r.map(e=>e.check)}registerBeforeDocument(e,t=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",t))}registerAfterDocument(e,t=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",t))}wrapPreparationException(e,t,r){return async(n,i,s,a)=>{await this.handleException(()=>e.call(r,n,i,s,a),t,i,n)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}}let tt=Object.freeze({validateNode:!0,validateChildren:!0});class tr{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,t={},r=eI.CancellationToken.None){let n=e.parseResult,i=[];if(await eO(r),(!t.categories||t.categories.includes("built-in"))&&(this.processLexingErrors(n,i,t),t.stopAfterLexingErrors&&i.some(e=>e.data?.code===d.LexingError)||(this.processParsingErrors(n,i,t),t.stopAfterParsingErrors&&i.some(e=>e.data?.code===d.ParsingError))||(this.processLinkingErrors(e,i,t),t.stopAfterLinkingErrors&&i.some(e=>e.data?.code===d.LinkingError))))return i;try{i.push(...await this.validateAst(n.value,t,r))}catch(e){if(e===eL)throw e;console.error("An error occurred during validation:",e)}return await eO(r),i}processLexingErrors(e,t,r){for(let r of[...e.lexerErrors,...e.lexerReport?.diagnostics??[]]){let e=r.severity??"error",n={severity:tn(e),range:{start:{line:r.line-1,character:r.column-1},end:{line:r.line-1,character:r.column+r.length-1}},message:r.message,data:function(e){switch(e){case"error":return{code:d.LexingError};case"warning":return{code:d.LexingWarning};case"info":return{code:d.LexingInfo};case"hint":return{code:d.LexingHint};default:throw Error("Invalid diagnostic severity: "+e)}}(e),source:this.getSource()};t.push(n)}}processParsingErrors(e,t,r){for(let r of e.parserErrors){let e;if(isNaN(r.token.startOffset)){if("previousToken"in r){let t=r.previousToken;if(isNaN(t.startOffset)){let t={line:0,character:0};e={start:t,end:t}}else{let r={line:t.endLine-1,character:t.endColumn};e={start:r,end:r}}}}else e=(0,f.sp)(r.token);if(e){let n={severity:tn("error"),range:e,message:r.message,data:{code:d.ParsingError},source:this.getSource()};t.push(n)}}}processLinkingErrors(e,t,r){for(let r of e.references){let e=r.error;if(e){let n={node:e.info.container,range:r.$refNode?.range,property:e.info.property,index:e.info.index,data:{code:d.LinkingError,containerType:e.info.container.$type,property:e.info.property,refText:e.info.reference.$refText}};t.push(this.toDiagnostic("error",e.message,n))}}}async validateAst(e,t,r=eI.CancellationToken.None){let n=[],i=(e,t,r)=>{n.push(this.toDiagnostic(e,t,r))};return await this.validateAstBefore(e,t,i,r),await this.validateAstNodes(e,t,i,r),await this.validateAstAfter(e,t,i,r),n}async validateAstBefore(e,t,r,n=eI.CancellationToken.None){for(let i of this.validationRegistry.checksBefore)await eO(n),await i(e,r,t.categories??[],n)}async validateAstNodes(e,t,r,n=eI.CancellationToken.None){if(this.profiler?.isActive("validating")){let i=this.profiler.createTask("validating",this.languageId);i.start();try{let s=(0,er.Zc)(e).iterator();for(let e of s){i.startSubTask(e.$type);let a=this.validateSingleNodeOptions(e,t);if(a.validateNode)try{for(let i of this.validationRegistry.getChecks(e.$type,t.categories))await i(e,r,n)}finally{i.stopSubTask(e.$type)}a.validateChildren||s.prune()}}finally{i.stop()}}else{let i=(0,er.Zc)(e).iterator();for(let e of i){await eO(n);let s=this.validateSingleNodeOptions(e,t);if(s.validateNode)for(let i of this.validationRegistry.getChecks(e.$type,t.categories))await i(e,r,n);s.validateChildren||i.prune()}}}validateSingleNodeOptions(e,t){return tt}async validateAstAfter(e,t,r,n=eI.CancellationToken.None){for(let i of this.validationRegistry.checksAfter)await eO(n),await i(e,r,t.categories??[],n)}toDiagnostic(e,t,r){let n;return{message:t,range:r.range?r.range:("string"==typeof r.property?n=(0,p.vb)(r.node.$cstNode,r.property,r.index):"string"==typeof r.keyword&&(n=(0,p.lA)(r.node.$cstNode,r.keyword,r.index)),n??(n=r.node.$cstNode),n)?n.range:{start:{line:0,character:0},end:{line:0,character:0}},severity:tn(e),code:r.code,codeDescription:r.codeDescription,tags:r.tags,relatedInformation:r.relatedInformation,data:r.data,source:this.getSource()}}getSource(){return this.metadata.languageId}}function tn(e){switch(e){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw Error("Invalid diagnostic severity: "+e)}}(a=d||(d={})).LexingError="lexing-error",a.LexingWarning="lexing-warning",a.LexingInfo="lexing-info",a.LexingHint="lexing-hint",a.ParsingError="parsing-error",a.LinkingError="linking-error";class ti{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,t,r){let n;let i=r??(0,er.Me)(e);t??(t=this.nameProvider.getName(e));let s=this.astNodeLocator.getAstNodePath(e);if(!t)throw Error(`Node at path ${s} has no name.`);let a=()=>n??(n=(0,f.yn)(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:t,get nameSegment(){return a()},selectionSegment:(0,f.yn)(e.$cstNode),type:e.$type,documentUri:i.uri,path:s}}}class ts{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,t=eI.CancellationToken.None){let r=[],n=e.parseResult.value;for(let e of(0,er.Zc)(n))await eO(t),(0,er.fy)(e).forEach(e=>{e.reference.error||r.push(...this.createInfoDescriptions(e))});return r}createInfoDescriptions(e){let t=e.reference;if(t.error||!t.$refNode)return[];let r=[];(0,e_.Yk)(t)&&t.$nodeDescription?r=[t.$nodeDescription]:(0,e_.uh)(t)&&(r=t.items.map(e=>e.$nodeDescription).filter(e=>void 0!==e));let n=(0,er.Me)(e.container).uri,i=this.nodeLocator.getAstNodePath(e.container),s=[],a=(0,f.yn)(t.$refNode);for(let e of r)s.push({sourceUri:n,sourcePath:i,targetUri:e.documentUri,targetPath:e.path,segment:a,local:l.equals(e.documentUri,n)});return s}}class ta{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let t=this.getAstNodePath(e.$container),r=this.getPathSegment(e);return t+this.segmentSeparator+r}return""}getPathSegment({$containerProperty:e,$containerIndex:t}){if(!e)throw Error("Missing '$containerProperty' in AST node.");return void 0!==t?e+this.indexSeparator+t:e}getAstNode(e,t){return t.split(this.segmentSeparator).reduce((e,t)=>{if(!e||0===t.length)return e;let r=t.indexOf(this.indexSeparator);if(r>0){let n=t.substring(0,r),i=parseInt(t.substring(r+1)),s=e[n];return s?.[i]}return e[t]},e)}}var to=r(72937);class tl{constructor(e){this._ready=new eD,this.onConfigurationSectionUpdateEmitter=new to.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){let t=this.serviceRegistry.all;e.register({section:t.map(e=>this.toSectionName(e.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let t=this.serviceRegistry.all.map(e=>({section:this.toSectionName(e.LanguageMetaData.languageId)})),r=await e.fetchConfiguration(t);t.forEach((e,t)=>{this.updateSectionConfiguration(e.section,r[t])})}}this._ready.resolve()}updateConfiguration(e){"object"==typeof e.settings&&null!==e.settings&&Object.entries(e.settings).forEach(([e,t])=>{this.updateSectionConfiguration(e,t),this.onConfigurationSectionUpdateEmitter.fire({section:e,configuration:t})})}updateSectionConfiguration(e,t){this.settings[e]=t}async getConfiguration(e,t){await this.ready;let r=this.toSectionName(e);if(this.settings[r])return this.settings[r][t]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}var tu=r(8585);(h||(h={})).create=function(e){return{dispose:async()=>await e()}};class tc{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new eX,this.documentPhaseListeners=new eX,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=u.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,t={},r=eI.CancellationToken.None){for(let r of e){let e=r.uri.toString();if(r.state===u.Validated){if("boolean"==typeof t.validation&&t.validation)this.resetToState(r,u.IndexedReferences);else if("object"==typeof t.validation){let n=this.findMissingValidationCategories(r,t);n.length>0&&(this.buildState.set(e,{completed:!1,options:{validation:{categories:n}},result:this.buildState.get(e)?.result}),r.state=u.IndexedReferences)}}else this.buildState.delete(e)}this.currentState=u.Changed,await this.emitUpdate(e.map(e=>e.uri),[]),await this.buildDocuments(e,t,r)}async update(e,t,r=eI.CancellationToken.None){this.currentState=u.Changed;let n=[];for(let e of t)for(let t of this.langiumDocuments.deleteDocuments(e))n.push(t.uri),this.cleanUpDeleted(t);let i=(await Promise.all(e.map(e=>this.findChangedUris(e)))).flat();for(let e of i){let t=this.langiumDocuments.getDocument(e);void 0===t&&((t=this.langiumDocumentFactory.fromModel({$type:"INVALID"},e)).state=u.Changed,this.langiumDocuments.addDocument(t)),this.resetToState(t,u.Changed)}let s=(0,eS.Vw)(i).concat(n).map(e=>e.toString()).toSet();this.langiumDocuments.all.filter(e=>!s.has(e.uri.toString())&&this.shouldRelink(e,s)).forEach(e=>this.resetToState(e,u.ComputedScopes)),await this.emitUpdate(i,n),await eO(r);let a=this.sortDocuments(this.langiumDocuments.all.filter(e=>e.state<u.Validated||!this.buildState.get(e.uri.toString())?.completed||this.resultsAreIncomplete(e,this.updateBuildOptions)).toArray());await this.buildDocuments(a,this.updateBuildOptions,r)}resultsAreIncomplete(e,t){return this.findMissingValidationCategories(e,t).length>=1}findMissingValidationCategories(e,t){let r=this.buildState.get(e.uri.toString()),n=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),i=r?.result?.validationChecks?new Set(r?.result?.validationChecks):r?.completed?n:new Set,s=void 0===t||!0===t.validation?n:"object"==typeof t.validation?t.validation.categories??n:[];return(0,eS.Vw)(s).filter(e=>!i.has(e)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let t=await this.fileSystemProvider.stat(e);if(t.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(t))return[e]}catch{}return[]}async emitUpdate(e,t){await Promise.all(this.updateListeners.map(r=>r(e,t)))}sortDocuments(e){let t=0,r=e.length-1;for(;t<r;){for(;t<e.length&&this.hasTextDocument(e[t]);)t++;for(;r>=0&&!this.hasTextDocument(e[r]);)r--;t<r&&([e[t],e[r]]=[e[r],e[t]])}return e}hasTextDocument(e){return!!this.textDocuments?.get(e.uri)}shouldRelink(e,t){return!!e.references.some(e=>void 0!==e.error)||this.indexManager.isAffected(e,t)}onUpdate(e){return this.updateListeners.push(e),h.create(()=>{let t=this.updateListeners.indexOf(e);t>=0&&this.updateListeners.splice(t,1)})}resetToState(e,t){switch(t){case u.Changed:case u.Parsed:this.indexManager.removeContent(e.uri);case u.IndexedContent:e.localSymbols=void 0;case u.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case u.Linked:this.indexManager.removeReferences(e.uri);case u.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case u.Validated:}e.state>t&&(e.state=t)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=u.Changed}async buildDocuments(e,t,r){this.prepareBuild(e,t),await this.runCancelable(e,u.Parsed,r,e=>this.langiumDocumentFactory.update(e,r)),await this.runCancelable(e,u.IndexedContent,r,e=>this.indexManager.updateContent(e,r)),await this.runCancelable(e,u.ComputedScopes,r,async e=>{let t=this.serviceRegistry.getServices(e.uri).references.ScopeComputation;e.localSymbols=await t.collectLocalSymbols(e,r)});let n=e.filter(e=>this.shouldLink(e));await this.runCancelable(n,u.Linked,r,e=>this.serviceRegistry.getServices(e.uri).references.Linker.link(e,r)),await this.runCancelable(n,u.IndexedReferences,r,e=>this.indexManager.updateReferences(e,r));let i=e.filter(e=>!!this.shouldValidate(e)||(this.markAsCompleted(e),!1));await this.runCancelable(i,u.Validated,r,async e=>{await this.validate(e,r),this.markAsCompleted(e)})}markAsCompleted(e){let t=this.buildState.get(e.uri.toString());t&&(t.completed=!0)}prepareBuild(e,t){for(let r of e){let e=r.uri.toString(),n=this.buildState.get(e);(!n||n.completed)&&this.buildState.set(e,{completed:!1,options:t,result:n?.result})}}async runCancelable(e,t,r,n){for(let i of e)i.state<t&&(await eO(r),await n(i),i.state=t,await this.notifyDocumentPhase(i,t,r));let i=e.filter(e=>e.state===t);await this.notifyBuildPhase(i,t,r),this.currentState=t}onBuildPhase(e,t){return this.buildPhaseListeners.add(e,t),h.create(()=>{this.buildPhaseListeners.delete(e,t)})}onDocumentPhase(e,t){return this.documentPhaseListeners.add(e,t),h.create(()=>{this.documentPhaseListeners.delete(e,t)})}waitUntil(e,t,r){let n;return(t&&"path"in t?n=t:r=t,r??(r=eI.CancellationToken.None),n)?this.awaitDocumentState(e,n,r):this.awaitBuilderState(e,r)}awaitDocumentState(e,t,r){let n=this.langiumDocuments.getDocument(t);return n?n.state>=e?Promise.resolve(t):r.isCancellationRequested?Promise.reject(eL):this.currentState>=e&&e>n.state?Promise.reject(new tu.ResponseError(tu.LSPErrorCodes.RequestFailed,`Document state of ${t.toString()} is ${u[n.state]}, requiring ${u[e]}, but workspace state is already ${u[this.currentState]}. Returning undefined.`)):new Promise((n,i)=>{let s=this.onDocumentPhase(e,e=>{l.equals(e.uri,t)&&(s.dispose(),a.dispose(),n(e.uri))}),a=r.onCancellationRequested(()=>{s.dispose(),a.dispose(),i(eL)})}):Promise.reject(new tu.ResponseError(tu.LSPErrorCodes.ServerCancelled,`No document found for URI: ${t.toString()}`))}awaitBuilderState(e,t){return this.currentState>=e?Promise.resolve():t.isCancellationRequested?Promise.reject(eL):new Promise((r,n)=>{let i=this.onBuildPhase(e,()=>{i.dispose(),s.dispose(),r()}),s=t.onCancellationRequested(()=>{i.dispose(),s.dispose(),n(eL)})})}async notifyDocumentPhase(e,t,r){for(let n of this.documentPhaseListeners.get(t).slice())try{await eO(r),await n(e,r)}catch(e){if(e!==eL)throw e}}async notifyBuildPhase(e,t,r){if(0!==e.length)for(let n of this.buildPhaseListeners.get(t).slice())await eO(r),await n(e,r)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,t){let r=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,n=this.getBuildOptions(e),i="object"==typeof n.validation?{...n.validation}:{};i.categories=this.findMissingValidationCategories(e,n);let s=await r.validateDocument(e,i,t);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;let a=this.buildState.get(e.uri.toString());a&&(a.result??(a.result={}),a.result.validationChecks?a.result.validationChecks=(0,eS.Vw)(a.result.validationChecks).concat(i.categories).distinct().toArray():a.result.validationChecks=[...i.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}}class td{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new e9,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,t){let r=(0,er.Me)(e).uri,n=[];return this.referenceIndex.forEach(e=>{e.forEach(e=>{l.equals(e.targetUri,r)&&e.targetPath===t&&n.push(e)})}),(0,eS.Vw)(n)}allElements(e,t){let r=(0,eS.Vw)(this.symbolIndex.keys());return t&&(r=r.filter(e=>!t||t.has(e))),r.map(t=>this.getFileDescriptions(t,e)).flat()}getFileDescriptions(e,t){return t?this.symbolByTypeIndex.get(e,t,()=>(this.symbolIndex.get(e)??[]).filter(e=>this.astReflection.isSubtype(e.type,t))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let t=e.toString();this.symbolIndex.delete(t),this.symbolByTypeIndex.clear(t)}removeReferences(e){let t=e.toString();this.referenceIndex.delete(t)}async updateContent(e,t=eI.CancellationToken.None){let r=this.serviceRegistry.getServices(e.uri),n=await r.references.ScopeComputation.collectExportedSymbols(e,t),i=e.uri.toString();this.symbolIndex.set(i,n),this.symbolByTypeIndex.clear(i)}async updateReferences(e,t=eI.CancellationToken.None){let r=this.serviceRegistry.getServices(e.uri),n=await r.workspace.ReferenceDescriptionProvider.createDescriptions(e,t);this.referenceIndex.set(e.uri.toString(),n)}isAffected(e,t){let r=this.referenceIndex.get(e.uri.toString());return!!r&&r.some(e=>!e.local&&t.has(e.targetUri.toString()))}}class th{constructor(e){this.initialBuildOptions={},this._ready=new eD,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(e=>this.initializeWorkspace(this.folders??[],e))}async initializeWorkspace(e,t=eI.CancellationToken.None){let r=await this.performStartup(e);await eO(t),await this.documentBuilder.build(r,this.initialBuildOptions,t)}async performStartup(e){let t=[],r=e=>{t.push(e),this.langiumDocuments.hasDocument(e.uri)||this.langiumDocuments.addDocument(e)};await this.loadAdditionalDocuments(e,r);let n=[];await Promise.all(e.map(e=>this.getRootFolder(e)).map(async e=>this.traverseFolder(e,n)));let i=(0,eS.Vw)(n).distinct(e=>e.toString()).filter(e=>!this.langiumDocuments.hasDocument(e));return await this.loadWorkspaceDocuments(i,r),this._ready.resolve(),t}async loadWorkspaceDocuments(e,t){await Promise.all(e.map(async e=>{t(await this.langiumDocuments.getOrCreateDocument(e))}))}loadAdditionalDocuments(e,t){return Promise.resolve()}getRootFolder(e){return ej.o.parse(e.uri)}async traverseFolder(e,t){try{let r=await this.fileSystemProvider.readDirectory(e);await Promise.all(r.map(async e=>{this.shouldIncludeEntry(e)&&(e.isDirectory?await this.traverseFolder(e.uri,t):e.isFile&&t.push(e.uri))}))}catch(t){console.error("Failure to read directory content of "+e.toString(!0),t)}}async searchFolder(e){let t=[];return await this.traverseFolder(e,t),t}shouldIncludeEntry(e){let t=l.basename(e.uri);return!t.startsWith(".")&&(e.isDirectory?"node_modules"!==t&&"out"!==t:!!e.isFile&&this.serviceRegistry.hasServices(e.uri))}}class tf{buildUnexpectedCharactersMessage(e,t,r,n,i){return y.ZW.buildUnexpectedCharactersMessage(e,t,r,n,i)}buildUnableToPopLexerModeMessage(e){return y.ZW.buildUnableToPopLexerModeMessage(e)}}let tp={mode:"full"};class tm{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let t=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(t);let r=ty(t)?Object.values(t):t,n="production"===e.LanguageMetaData.mode;this.chevrotainLexer=new y.hW(r,{positionTracking:"full",skipValidations:n,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,t=tp){let r=this.chevrotainLexer.tokenize(e);return{tokens:r.tokens,errors:r.errors,hidden:r.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(ty(e))return e;let t=tg(e)?Object.values(e.modes).flat():e,r={};return t.forEach(e=>r[e.name]=e),r}}function tg(e){return e&&"modes"in e&&"defaultMode"in e}function ty(e){return!(Array.isArray(e)&&(0===e.length||"name"in e[0]))&&!tg(e)}function tT(e){return("string"==typeof e?e:e.text).split(m.K0)}let tR=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,tv=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu,tE=/\S/,tS=/\s*$/;function tk(e,t){let r=e.substring(t).match(tE);return r?t+r.index:e.length}function tC(e){let t=e.tokens[e.index],r=t,n=t,i=[];for(;t&&"break"!==t.type&&"tag"!==t.type;)i.push("inline-tag"===e.tokens[e.index].type?tA(e,!0):t$(e)),n=t,t=e.tokens[e.index];return new tI(i,en.Range.create(r.range.start,n.range.end))}function tA(e,t){let r=e.tokens[e.index++],n=r.content.substring(1),i=e.tokens[e.index];if(i?.type==="text"){if(t){let i=t$(e);return new tw(n,new tI([i],i.range),t,en.Range.create(r.range.start,i.range.end))}{let i=tC(e);return new tw(n,i,t,en.Range.create(r.range.start,i.range.end))}}{let e=r.range;return new tw(n,new tI([],e),t,e)}}function t$(e){let t=e.tokens[e.index++];return new t_(t.content,t.range)}function tb(e){if(!e)return tb({start:"/**",end:"*/",line:"*"});let{start:t,end:r,line:n}=e;return{start:tx(t,!0),end:tx(r,!1),line:tx(n,!0)}}function tx(e,t){if("string"!=typeof e&&"object"!=typeof e)return e;{let r="string"==typeof e?(0,m.hr)(e):e.source;return t?RegExp(`^\\s*${r}`):RegExp(`\\s*${r}\\s*$`)}}class tN{constructor(e,t){this.elements=e,this.range=t}getTag(e){return this.getAllTags().find(t=>t.name===e)}getTags(e){return this.getAllTags().filter(t=>t.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let t of this.elements)if(0===e.length)e=t.toString();else{let r=t.toString();e+=tP(e)+r}return e.trim()}toMarkdown(e){let t="";for(let r of this.elements)if(0===t.length)t=r.toMarkdown(e);else{let n=r.toMarkdown(e);t+=tP(t)+n}return t.trim()}}class tw{constructor(e,t,r,n){this.name=e,this.content=t,this.inline=r,this.range=n}toString(){let e=`@${this.name}`,t=this.content.toString();return(1===this.content.inlines.length?e=`${e} ${t}`:this.content.inlines.length>1&&(e=`${e}
|
|
81
|
+
${t}`),this.inline)?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let t=this.content.toMarkdown(e);if(this.inline){let r=function(e,t,r){if("linkplain"===e||"linkcode"===e||"link"===e){let n=t.indexOf(" "),i=t;if(n>0){let e=tk(t,n);i=t.substring(e),t=t.substring(0,n)}return("linkcode"===e||"link"===e&&"code"===r.link)&&(i=`\`${i}\``),r.renderLink?.(t,i)??function(e,t){try{return ej.o.parse(e,!0),`[${t}](${e})`}catch{return e}}(t,i)}}(this.name,t,e??{});if("string"==typeof r)return r}let r="";e?.tag==="italic"||e?.tag===void 0?r="*":e?.tag==="bold"?r="**":e?.tag==="bold-italic"&&(r="***");let n=`${r}@${this.name}${r}`;return(1===this.content.inlines.length?n=`${n} — ${t}`:this.content.inlines.length>1&&(n=`${n}
|
|
82
|
+
${t}`),this.inline)?`{${n}}`:n}}class tI{constructor(e,t){this.inlines=e,this.range=t}toString(){let e="";for(let t=0;t<this.inlines.length;t++){let r=this.inlines[t],n=this.inlines[t+1];e+=r.toString(),n&&n.range.start.line>r.range.start.line&&(e+="\n")}return e}toMarkdown(e){let t="";for(let r=0;r<this.inlines.length;r++){let n=this.inlines[r],i=this.inlines[r+1];t+=n.toMarkdown(e),i&&i.range.start.line>n.range.start.line&&(t+="\n")}return t}}class t_{constructor(e,t){this.text=e,this.range=t}toString(){return this.text}toMarkdown(){return this.text}}function tP(e){return e.endsWith("\n")?"\n":"\n\n"}class tL{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let t=this.commentProvider.getComment(e);if(t&&function(e,t){let r=tb(void 0),n=tT(e);if(0===n.length)return!1;let i=n[0],s=n[n.length-1],a=r.start,o=r.end;return!!a?.exec(i)&&!!o?.exec(s)}(t)){let r,n;return("string"==typeof t?n=void 0:n=t.range.start,r=void 0,n||(n=en.Position.create(0,0)),function(e){let t=en.Position.create(e.position.line,e.position.character);if(0===e.tokens.length)return new tN([],en.Range.create(t,t));let r=[];for(;e.index<e.tokens.length;){let t=function(e,t){let r=e.tokens[e.index];return"tag"===r.type?tA(e,!1):"text"===r.type||"inline-tag"===r.type?tC(e):void(function(e,t){if(t){let r=new t_("",e.range);"inlines"in t?t.inlines.push(r):t.content.inlines.push(r)}}(r,t),e.index++)}(e,r[r.length-1]);t&&r.push(t)}let n=r[0]?.range.start??t,i=r[r.length-1]?.range.end??t;return new tN(r,en.Range.create(n,i))}({index:0,tokens:function(e){let t=[],r=e.position.line,n=e.position.character;for(let i=0;i<e.lines.length;i++){let s=0===i,a=i===e.lines.length-1,o=e.lines[i],l=0;if(s&&e.options.start){let t=e.options.start?.exec(o);t&&(l=t.index+t[0].length)}else{let t=e.options.line?.exec(o);t&&(l=t.index+t[0].length)}if(a){let t=e.options.end?.exec(o);t&&(o=o.substring(0,t.index))}if(tk(o=o.substring(0,function(e){let t=e.match(tS);if(t&&"number"==typeof t.index)return t.index}(o)),l)>=o.length){if(t.length>0){let e=en.Position.create(r,n);t.push({type:"break",content:"",range:en.Range.create(e,e)})}}else{tR.lastIndex=l;let e=tR.exec(o);if(e){let i=e[0],s=e[1],a=en.Position.create(r,n+l),u=en.Position.create(r,n+l+i.length);t.push({type:"tag",content:s,range:en.Range.create(a,u)}),l+=i.length,l=tk(o,l)}if(l<o.length){let e=o.substring(l),i=Array.from(e.matchAll(tv));t.push(...function(e,t,r,n){let i=[];if(0===e.length){let e=en.Position.create(r,n),s=en.Position.create(r,n+t.length);i.push({type:"text",content:t,range:en.Range.create(e,s)})}else{let s=0;for(let a of e){let e=a.index,o=t.substring(s,e);o.length>0&&i.push({type:"text",content:t.substring(s,e),range:en.Range.create(en.Position.create(r,s+n),en.Position.create(r,e+n))});let l=o.length+1,u=a[1];if(i.push({type:"inline-tag",content:u,range:en.Range.create(en.Position.create(r,s+l+n),en.Position.create(r,s+l+u.length+n))}),l+=u.length,4===a.length){l+=a[2].length;let e=a[3];i.push({type:"text",content:e,range:en.Range.create(en.Position.create(r,s+l+n),en.Position.create(r,s+l+e.length+n))})}else i.push({type:"text",content:"",range:en.Range.create(en.Position.create(r,s+l+n),en.Position.create(r,s+l+n))});s=e+a[0].length}let a=t.substring(s);a.length>0&&i.push({type:"text",content:a,range:en.Range.create(en.Position.create(r,s+n),en.Position.create(r,s+n+a.length))})}return i}(i,e,r,n+l))}}r++,n=0}return t.length>0&&"break"===t[t.length-1].type?t.slice(0,-1):t}({lines:tT(t),position:n,options:tb(r)}),position:n})).toMarkdown({renderLink:(t,r)=>this.documentationLinkRenderer(e,t,r),renderTag:t=>this.documentationTagRenderer(e,t)})}}documentationLinkRenderer(e,t,r){let n=this.findNameInLocalSymbols(e,t)??this.findNameInGlobalScope(e,t);if(n&&n.nameSegment){let e=n.nameSegment.range.start.line+1,t=n.nameSegment.range.start.character+1,i=n.documentUri.with({fragment:`L${e},${t}`});return`[${r}](${i.toString()})`}}documentationTagRenderer(e,t){}findNameInLocalSymbols(e,t){let r=(0,er.Me)(e).localSymbols;if(!r)return;let n=e;do{let e=r.getStream(n).find(e=>e.name===t);if(e)return e;n=n.$container}while(n)}findNameInGlobalScope(e,t){return this.indexManager.allElements().find(e=>e.name===t)}}class tO{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return"string"==typeof e.$comment?e.$comment:f.LK(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}}class tD{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,t){return Promise.resolve(this.syncParser.parse(e))}}class tM{constructor(){this.previousTokenSource=new eI.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let t=(eP=performance.now(),new eI.CancellationTokenSource);return this.previousTokenSource=t,this.enqueue(this.writeQueue,e,t.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,t,r=eI.CancellationToken.None){let n=new eD;return e.push({action:t,deferred:n,cancellationToken:r}),this.performNextOperation(),n.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else{if(!(this.readQueue.length>0))return;e.push(...this.readQueue.splice(0,this.readQueue.length))}this.done=!1,await Promise.all(e.map(async({action:e,deferred:t,cancellationToken:r})=>{try{let n=await Promise.resolve().then(()=>e(r));t.resolve(n)}catch(e){e===eL?t.resolve(void 0):t.reject(e)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}class tF{constructor(e){this.grammarElementIdMap=new eJ,this.tokenTypeIdMap=new eJ,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(e=>({...e,message:e.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let t=new Map,r=new Map;for(let r of(0,er.Zc)(e))t.set(r,{});if(e.$cstNode)for(let t of(0,f._t)(e.$cstNode))r.set(t,{});return{astNodes:t,cstNodes:r}}dehydrateAstNode(e,t){let r=t.astNodes.get(e);for(let[n,i]of(r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,void 0!==e.$cstNode&&(r.$cstNode=this.dehydrateCstNode(e.$cstNode,t)),Object.entries(e)))if(!n.startsWith("$")){if(Array.isArray(i)){let e=[];for(let s of(r[n]=e,i))(0,e_.xA)(s)?e.push(this.dehydrateAstNode(s,t)):(0,e_.Yk)(s)?e.push(this.dehydrateReference(s,t)):e.push(s)}else(0,e_.xA)(i)?r[n]=this.dehydrateAstNode(i,t):(0,e_.Yk)(i)?r[n]=this.dehydrateReference(i,t):void 0!==i&&(r[n]=i)}return r}dehydrateReference(e,t){let r={};return r.$refText=e.$refText,e.$refNode&&(r.$refNode=t.cstNodes.get(e.$refNode)),r}dehydrateCstNode(e,t){let r=t.cstNodes.get(e);return(0,e_.U8)(e)?r.fullText=e.fullText:r.grammarSource=this.getGrammarElementId(e.grammarSource),r.hidden=e.hidden,r.astNode=t.astNodes.get(e.astNode),(0,e_.al)(e)?r.content=e.content.map(e=>this.dehydrateCstNode(e,t)):(0,e_.dm)(e)&&(r.tokenType=e.tokenType.name,r.offset=e.offset,r.length=e.length,r.startLine=e.range.start.line,r.startColumn=e.range.start.character,r.endLine=e.range.end.line,r.endColumn=e.range.end.character),r}hydrate(e){let t=e.value,r=this.createHydrationContext(t);return"$cstNode"in t&&this.hydrateCstNode(t.$cstNode,r),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(t,r)}}createHydrationContext(e){let t;let r=new Map,n=new Map;for(let t of(0,er.Zc)(e))r.set(t,{});if(e.$cstNode)for(let r of(0,f._t)(e.$cstNode)){let e;"fullText"in r?t=e=new eu(r.fullText):"content"in r?e=new eo:"tokenType"in r&&(e=this.hydrateCstLeafNode(r)),e&&(n.set(r,e),e.root=t)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,t){let r=t.astNodes.get(e);for(let[n,i]of(r.$type=e.$type,r.$containerIndex=e.$containerIndex,r.$containerProperty=e.$containerProperty,e.$cstNode&&(r.$cstNode=t.cstNodes.get(e.$cstNode)),Object.entries(e)))if(!n.startsWith("$")){if(Array.isArray(i)){let e=[];for(let s of(r[n]=e,i))(0,e_.xA)(s)?e.push(this.setParent(this.hydrateAstNode(s,t),r)):(0,e_.Yk)(s)?e.push(this.hydrateReference(s,r,n,t)):e.push(s)}else(0,e_.xA)(i)?r[n]=this.setParent(this.hydrateAstNode(i,t),r):(0,e_.Yk)(i)?r[n]=this.hydrateReference(i,r,n,t):void 0!==i&&(r[n]=i)}return r}setParent(e,t){return e.$container=t,e}hydrateReference(e,t,r,n){return this.linker.buildReference(t,r,n.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,t,r=0){let n=t.cstNodes.get(e);if("number"==typeof e.grammarSource&&(n.grammarSource=this.getGrammarElement(e.grammarSource)),n.astNode=t.astNodes.get(e.astNode),(0,e_.al)(n))for(let i of e.content){let e=this.hydrateCstNode(i,t,r++);n.content.push(e)}return n}hydrateCstLeafNode(e){let t=this.getTokenType(e.tokenType),r=e.offset,n=e.length,i=e.startLine,s=e.startColumn;return new ea(r,n,{start:{line:i,character:s},end:{line:e.endLine,character:e.endColumn}},t,e.hidden)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return 0===this.grammarElementIdMap.size&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let t of(0,er.Zc)(this.grammar))(0,g.zJ)(t)&&this.grammarElementIdMap.set(t,e++)}}function tZ(e){return{documentation:{CommentProvider:e=>new tO(e),DocumentationProvider:e=>new tL(e)},parser:{AsyncParser:e=>new tD(e),GrammarConfig:e=>(function(e){let t=[];for(let r of e.Grammar.rules)(0,g.MS)(r)&&(0,p.md)(r)&&(0,m.Rn)((0,p.s1)(r))&&t.push(r.name);return{multilineCommentRules:t,nameRegexp:f.uz}})(e),LangiumParser:e=>(function(e){let t=function(e){let t=e.Grammar,r=e.parser.Lexer;return ek(t,new ep(e),r.definition)}(e);return t.finalize(),t})(e),CompletionParser:e=>(function(e){let t=e.Grammar,r=e.parser.Lexer,n=new ey(e);return ek(t,n,r.definition),n.finalize(),n})(e),ValueConverter:()=>new ew.t,TokenBuilder:()=>new eN.P,Lexer:e=>new tm(e),ParserErrorMessageProvider:()=>new eg,LexerErrorMessageProvider:()=>new tf},workspace:{AstNodeLocator:()=>new ta,AstNodeDescriptionProvider:e=>new ti(e),ReferenceDescriptionProvider:e=>new ts(e)},references:{Linker:e=>new eK(e),NameProvider:()=>new eH,ScopeProvider:e=>new e5(e),ScopeComputation:e=>new eQ(e),References:e=>new eY(e)},serializer:{Hydrator:e=>new tF(e),JsonSerializer:e=>new e7(e)},validation:{DocumentValidator:e=>new tr(e),ValidationRegistry:e=>new te(e)},shared:()=>e.shared}}function tq(e){return{ServiceRegistry:e=>new e6(e),workspace:{LangiumDocuments:e=>new eV(e),LangiumDocumentFactory:e=>new eW(e),DocumentBuilder:e=>new tc(e),IndexManager:e=>new td(e),WorkspaceManager:e=>new th(e),FileSystemProvider:t=>e.fileSystemProvider(t),WorkspaceLock:()=>new tM,ConfigurationProvider:e=>new tl(e)},profilers:{}}}},90569:function(e,t,r){"use strict";var n;function i(e,t,r,n,i,s,o,l,c){return a([e,t,r,n,i,s,o,l,c].reduce(u,{}))}r.d(t,{f3:function(){return i}}),(n||(n={})).merge=(e,t)=>u(u({},e),t);let s=Symbol("isProxy");function a(e,t){let r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw Error("Cannot set property on injected service container")},get:(n,i)=>i===s||l(n,i,e,t||r),getOwnPropertyDescriptor:(n,i)=>(l(n,i,e,t||r),Object.getOwnPropertyDescriptor(n,i)),has:(t,r)=>r in e,ownKeys:()=>[...Object.getOwnPropertyNames(e)]});return r}let o=Symbol();function l(e,t,r,n){if(t in e){if(e[t]instanceof Error)throw Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+e[t]);if(e[t]===o)throw Error('Cycle detected. Please make "'+String(t)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return e[t]}if(t in r){let i=r[t];e[t]=o;try{e[t]="function"==typeof i?i(n):a(i,n)}catch(r){throw e[t]=r instanceof Error?r:void 0,r}return e[t]}}function u(e,t){if(t){for(let[r,n]of Object.entries(t))if(null!=n){if("object"==typeof n){let t=e[r];"object"==typeof t&&null!==t?e[r]=u(t,n):e[r]=u({},n)}else e[r]=n}}return e}},23425:function(e,t,r){"use strict";r.d(t,{B7:function(){return m},Bf:function(){return R},Bi:function(){return q},F8:function(){return $},F9:function(){return B},Ii:function(){return j},Iy:function(){return et},Ki:function(){return C},L:function(){return y},LG:function(){return d},MS:function(){return el},MZ:function(){return f},Mp:function(){return X},OG:function(){return ey},P9:function(){return eh},QV:function(){return D},SV:function(){return eE},S_:function(){return _},Sg:function(){return H},TB:function(){return S},V7:function(){return en},W1:function(){return em},X9:function(){return ea},Zu:function(){return L},gf:function(){return ec},p1:function(){return F},qm:function(){return ev},rT:function(){return x},t3:function(){return Q},ty:function(){return w},yW:function(){return W},zJ:function(){return s},zl:function(){return o}});var n=r(90505);let i="AbstractElement";function s(e){return eS.isInstance(e,i)}let a="AbstractParserRule";function o(e){return eS.isInstance(e,a)}let l="AbstractRule",u="AbstractType",c="Action";function d(e){return eS.isInstance(e,c)}let h="Alternatives";function f(e){return eS.isInstance(e,h)}let p="Assignment";function m(e){return eS.isInstance(e,p)}let g="BooleanLiteral";function y(e){return eS.isInstance(e,g)}let T="CharacterRange";function R(e){return eS.isInstance(e,T)}let v="Condition",E="Conjunction";function S(e){return eS.isInstance(e,E)}let k="CrossReference";function C(e){return eS.isInstance(e,k)}let A="Disjunction";function $(e){return eS.isInstance(e,A)}let b="EndOfFile";function x(e){return eS.isInstance(e,b)}let N="Group";function w(e){return eS.isInstance(e,N)}let I="InferredType";function _(e){return eS.isInstance(e,I)}let P="InfixRule";function L(e){return eS.isInstance(e,P)}let O="Interface";function D(e){return eS.isInstance(e,O)}let M="Keyword";function F(e){return eS.isInstance(e,M)}let Z="NegatedToken";function q(e){return eS.isInstance(e,Z)}let U="Negation";function j(e){return eS.isInstance(e,U)}let G="Parameter",z="ParameterReference";function W(e){return eS.isInstance(e,z)}let V="ParserRule";function B(e){return eS.isInstance(e,V)}let K="RegexToken";function H(e){return eS.isInstance(e,K)}let Y="ReturnType";function X(e){return eS.isInstance(e,Y)}let J="RuleCall";function Q(e){return eS.isInstance(e,J)}let ee="SimpleType";function et(e){return eS.isInstance(e,ee)}let er="TerminalAlternatives";function en(e){return eS.isInstance(e,er)}let ei="TerminalElement",es="TerminalGroup";function ea(e){return eS.isInstance(e,es)}let eo="TerminalRule";function el(e){return eS.isInstance(e,eo)}let eu="TerminalRuleCall";function ec(e){return eS.isInstance(e,eu)}let ed="Type";function eh(e){return eS.isInstance(e,ed)}let ef="TypeDefinition",ep="UnorderedGroup";function em(e){return eS.isInstance(e,ep)}let eg="UntilToken";function ey(e){return eS.isInstance(e,eg)}let eT="ValueLiteral",eR="Wildcard";function ev(e){return eS.isInstance(e,eR)}class eE extends n.$v{constructor(){super(...arguments),this.types={AbstractElement:{name:i,properties:{cardinality:{name:"cardinality"}},superTypes:[]},AbstractParserRule:{name:a,properties:{},superTypes:[l,u]},AbstractRule:{name:l,properties:{},superTypes:[]},AbstractType:{name:u,properties:{},superTypes:[]},Action:{name:c,properties:{cardinality:{name:"cardinality"},feature:{name:"feature"},inferredType:{name:"inferredType"},operator:{name:"operator"},type:{name:"type",referenceType:u}},superTypes:[i]},Alternatives:{name:h,properties:{cardinality:{name:"cardinality"},elements:{name:"elements",defaultValue:[]}},superTypes:[i]},ArrayLiteral:{name:"ArrayLiteral",properties:{elements:{name:"elements",defaultValue:[]}},superTypes:[eT]},ArrayType:{name:"ArrayType",properties:{elementType:{name:"elementType"}},superTypes:[ef]},Assignment:{name:p,properties:{cardinality:{name:"cardinality"},feature:{name:"feature"},operator:{name:"operator"},predicate:{name:"predicate"},terminal:{name:"terminal"}},superTypes:[i]},BooleanLiteral:{name:g,properties:{true:{name:"true",defaultValue:!1}},superTypes:[v,eT]},CharacterRange:{name:T,properties:{cardinality:{name:"cardinality"},left:{name:"left"},lookahead:{name:"lookahead"},parenthesized:{name:"parenthesized",defaultValue:!1},right:{name:"right"}},superTypes:[ei]},Condition:{name:v,properties:{},superTypes:[]},Conjunction:{name:E,properties:{left:{name:"left"},right:{name:"right"}},superTypes:[v]},CrossReference:{name:k,properties:{cardinality:{name:"cardinality"},deprecatedSyntax:{name:"deprecatedSyntax",defaultValue:!1},isMulti:{name:"isMulti",defaultValue:!1},terminal:{name:"terminal"},type:{name:"type",referenceType:u}},superTypes:[i]},Disjunction:{name:A,properties:{left:{name:"left"},right:{name:"right"}},superTypes:[v]},EndOfFile:{name:b,properties:{cardinality:{name:"cardinality"}},superTypes:[i]},Grammar:{name:"Grammar",properties:{imports:{name:"imports",defaultValue:[]},interfaces:{name:"interfaces",defaultValue:[]},isDeclared:{name:"isDeclared",defaultValue:!1},name:{name:"name"},rules:{name:"rules",defaultValue:[]},types:{name:"types",defaultValue:[]}},superTypes:[]},GrammarImport:{name:"GrammarImport",properties:{path:{name:"path"}},superTypes:[]},Group:{name:N,properties:{cardinality:{name:"cardinality"},elements:{name:"elements",defaultValue:[]},guardCondition:{name:"guardCondition"},predicate:{name:"predicate"}},superTypes:[i]},InferredType:{name:I,properties:{name:{name:"name"}},superTypes:[u]},InfixRule:{name:P,properties:{call:{name:"call"},dataType:{name:"dataType"},inferredType:{name:"inferredType"},name:{name:"name"},operators:{name:"operators"},parameters:{name:"parameters",defaultValue:[]},returnType:{name:"returnType",referenceType:u}},superTypes:[a]},InfixRuleOperatorList:{name:"InfixRuleOperatorList",properties:{associativity:{name:"associativity"},operators:{name:"operators",defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:"InfixRuleOperators",properties:{precedences:{name:"precedences",defaultValue:[]}},superTypes:[]},Interface:{name:O,properties:{attributes:{name:"attributes",defaultValue:[]},name:{name:"name"},superTypes:{name:"superTypes",defaultValue:[],referenceType:u}},superTypes:[u]},Keyword:{name:M,properties:{cardinality:{name:"cardinality"},predicate:{name:"predicate"},value:{name:"value"}},superTypes:[i]},NamedArgument:{name:"NamedArgument",properties:{calledByName:{name:"calledByName",defaultValue:!1},parameter:{name:"parameter",referenceType:G},value:{name:"value"}},superTypes:[]},NegatedToken:{name:Z,properties:{cardinality:{name:"cardinality"},lookahead:{name:"lookahead"},parenthesized:{name:"parenthesized",defaultValue:!1},terminal:{name:"terminal"}},superTypes:[ei]},Negation:{name:U,properties:{value:{name:"value"}},superTypes:[v]},NumberLiteral:{name:"NumberLiteral",properties:{value:{name:"value"}},superTypes:[eT]},Parameter:{name:G,properties:{name:{name:"name"}},superTypes:[]},ParameterReference:{name:z,properties:{parameter:{name:"parameter",referenceType:G}},superTypes:[v]},ParserRule:{name:V,properties:{dataType:{name:"dataType"},definition:{name:"definition"},entry:{name:"entry",defaultValue:!1},fragment:{name:"fragment",defaultValue:!1},inferredType:{name:"inferredType"},name:{name:"name"},parameters:{name:"parameters",defaultValue:[]},returnType:{name:"returnType",referenceType:u}},superTypes:[a]},ReferenceType:{name:"ReferenceType",properties:{isMulti:{name:"isMulti",defaultValue:!1},referenceType:{name:"referenceType"}},superTypes:[ef]},RegexToken:{name:K,properties:{cardinality:{name:"cardinality"},lookahead:{name:"lookahead"},parenthesized:{name:"parenthesized",defaultValue:!1},regex:{name:"regex"}},superTypes:[ei]},ReturnType:{name:Y,properties:{name:{name:"name"}},superTypes:[]},RuleCall:{name:J,properties:{arguments:{name:"arguments",defaultValue:[]},cardinality:{name:"cardinality"},predicate:{name:"predicate"},rule:{name:"rule",referenceType:l}},superTypes:[i]},SimpleType:{name:ee,properties:{primitiveType:{name:"primitiveType"},stringType:{name:"stringType"},typeRef:{name:"typeRef",referenceType:u}},superTypes:[ef]},StringLiteral:{name:"StringLiteral",properties:{value:{name:"value"}},superTypes:[eT]},TerminalAlternatives:{name:er,properties:{cardinality:{name:"cardinality"},elements:{name:"elements",defaultValue:[]},lookahead:{name:"lookahead"},parenthesized:{name:"parenthesized",defaultValue:!1}},superTypes:[ei]},TerminalElement:{name:ei,properties:{cardinality:{name:"cardinality"},lookahead:{name:"lookahead"},parenthesized:{name:"parenthesized",defaultValue:!1}},superTypes:[i]},TerminalGroup:{name:es,properties:{cardinality:{name:"cardinality"},elements:{name:"elements",defaultValue:[]},lookahead:{name:"lookahead"},parenthesized:{name:"parenthesized",defaultValue:!1}},superTypes:[ei]},TerminalRule:{name:eo,properties:{definition:{name:"definition"},fragment:{name:"fragment",defaultValue:!1},hidden:{name:"hidden",defaultValue:!1},name:{name:"name"},type:{name:"type"}},superTypes:[l]},TerminalRuleCall:{name:eu,properties:{cardinality:{name:"cardinality"},lookahead:{name:"lookahead"},parenthesized:{name:"parenthesized",defaultValue:!1},rule:{name:"rule",referenceType:eo}},superTypes:[ei]},Type:{name:ed,properties:{name:{name:"name"},type:{name:"type"}},superTypes:[u]},TypeAttribute:{name:"TypeAttribute",properties:{defaultValue:{name:"defaultValue"},isOptional:{name:"isOptional",defaultValue:!1},name:{name:"name"},type:{name:"type"}},superTypes:[]},TypeDefinition:{name:ef,properties:{},superTypes:[]},UnionType:{name:"UnionType",properties:{types:{name:"types",defaultValue:[]}},superTypes:[ef]},UnorderedGroup:{name:ep,properties:{cardinality:{name:"cardinality"},elements:{name:"elements",defaultValue:[]}},superTypes:[i]},UntilToken:{name:eg,properties:{cardinality:{name:"cardinality"},lookahead:{name:"lookahead"},parenthesized:{name:"parenthesized",defaultValue:!1},terminal:{name:"terminal"}},superTypes:[ei]},ValueLiteral:{name:eT,properties:{},superTypes:[]},Wildcard:{name:eR,properties:{cardinality:{name:"cardinality"},lookahead:{name:"lookahead"},parenthesized:{name:"parenthesized",defaultValue:!1}},superTypes:[ei]}}}}let eS=new eE},21182:function(e,t,r){"use strict";r.d(t,{P:function(){return u}});var n=r(56193),i=r(23425),s=r(81274),a=r(90676),o=r(59901),l=r(79771);class u{constructor(){this.diagnostics=[]}buildTokens(e,t){let r=(0,l.Vw)((0,a.VD)(e,!1)),n=this.buildTerminalTokens(r),i=this.buildKeywordTokens(r,n,t);return i.push(...n),i}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(i.MS).filter(e=>!e.fragment).map(e=>this.buildTerminalToken(e)).toArray()}buildTerminalToken(e){let t=(0,a.s1)(e),r=this.requiresCustomPattern(t)?this.regexPatternFunction(t):t,i={name:e.name,PATTERN:r};return"function"==typeof r&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=(0,o.cb)(t)?n.hW.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let t=RegExp(e,e.flags+"y");return(e,r)=>(t.lastIndex=r,t.exec(e))}buildKeywordTokens(e,t,r){return e.filter(i.zl).flatMap(e=>(0,s.VY)(e).filter(i.p1)).distinct(e=>e.value).toArray().sort((e,t)=>t.value.length-e.value.length).map(e=>this.buildKeywordToken(e,t,!!r?.caseInsensitive))}buildKeywordToken(e,t,r){let n=this.buildKeywordPattern(e,r),i={name:e.value,PATTERN:n,LONGER_ALT:this.findLongerAlt(e,t)};return"function"==typeof n&&(i.LINE_BREAKS=!0),i}buildKeywordPattern(e,t){return t?RegExp((0,o.hr)(e.value),"i"):e.value}findLongerAlt(e,t){return t.reduce((t,r)=>{let n=r?.PATTERN;return n?.source&&(0,o.XC)("^"+n.source+"$",e.value)&&t.push(r),t},[])}}},53755:function(e,t,r){"use strict";r.d(t,{t:function(){return o}});var n,i,s=r(23425),a=r(90676);class o{convert(e,t){let r=t.grammarSource;if((0,s.Ki)(r)&&(r=(0,a.eN)(r)),(0,s.t3)(r)){let n=r.rule.ref;if(!n)throw Error("This cst node was not parsed by a rule.");return this.runConverter(n,e,t)}return e}runConverter(e,t,r){switch(e.name.toUpperCase()){case"INT":return i.convertInt(t);case"STRING":return i.convertString(t);case"ID":return i.convertID(t)}switch(a.mJ(e)?.toLowerCase()){case"number":return i.convertNumber(t);case"boolean":return i.convertBoolean(t);case"bigint":return i.convertBigint(t);case"date":return i.convertDate(t);default:return t}}}(n=i||(i={})).convertString=function(e){let t="";for(let r=1;r<e.length-1;r++){let n=e.charAt(r);"\\"===n?t+=function(e){switch(e){case"b":return"\b";case"f":return"\f";case"n":return"\n";case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return e}}(e.charAt(++r)):t+=n}return t},n.convertID=function(e){return"^"===e.charAt(0)?e.substring(1):e},n.convertInt=function(e){return parseInt(e)},n.convertBigint=function(e){return BigInt(e)},n.convertDate=function(e){return new Date(e)},n.convertNumber=function(e){return Number(e)},n.convertBoolean=function(e){return"true"===e.toLowerCase()}},90505:function(e,t,r){"use strict";function n(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$type}function i(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$refText&&"ref"in e}function s(e){return"object"==typeof e&&null!==e&&"string"==typeof e.$refText&&"items"in e}function a(e){return"object"==typeof e&&null!==e&&"string"==typeof e.name&&"string"==typeof e.type&&"string"==typeof e.path}function o(e){return"object"==typeof e&&null!==e&&"object"==typeof e.info&&"string"==typeof e.message}r.d(t,{$v:function(){return l},SI:function(){return a},U8:function(){return d},Yk:function(){return i},al:function(){return u},dm:function(){return c},et:function(){return o},uh:function(){return s},xA:function(){return n}});class l{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let t=this.types[e.container.$type];if(!t)throw Error(`Type ${e.container.$type||"undefined"} not found.`);let r=t.properties[e.property]?.referenceType;if(!r)throw Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return r}getTypeMetaData(e){return this.types[e]||{name:e,properties:{},superTypes:[]}}isInstance(e,t){return n(e)&&this.isSubtype(e.$type,t)}isSubtype(e,t){if(e===t)return!0;let r=this.subtypes[e];r||(r=this.subtypes[e]={});let n=r[t];if(void 0!==n)return n;{let n=this.types[e],i=!!n&&n.superTypes.some(e=>this.isSubtype(e,t));return r[t]=i,i}}getAllSubTypes(e){let t=this.allSubtypes[e];if(t)return t;{let t=this.getAllTypes(),r=[];for(let n of t)this.isSubtype(n,e)&&r.push(n);return this.allSubtypes[e]=r,r}}}function u(e){return"object"==typeof e&&null!==e&&Array.isArray(e.content)}function c(e){return"object"==typeof e&&null!==e&&"object"==typeof e.tokenType}function d(e){return u(e)&&"string"==typeof e.fullText}},81274:function(e,t,r){"use strict";r.d(t,{Dp:function(){return u},E$:function(){return l},Me:function(){return o},VY:function(){return d},V_:function(){return a},Zc:function(){return h},a1:function(){return m},b2:function(){return function e(t,r={}){for(let[i,s]of Object.entries(t))!i.startsWith("$")&&(Array.isArray(s)?s.forEach((s,a)=>{(0,n.xA)(s)&&(s.$container=t,s.$containerProperty=i,s.$containerIndex=a,r.deep&&e(s,r))}):(0,n.xA)(s)&&(s.$container=t,s.$containerProperty=i,r.deep&&e(s,r)))}},fy:function(){return p},sx:function(){return c}});var n=r(90505),i=r(79771),s=r(62563);function a(e,t){let r=e;for(;r;){if(t(r))return r;r=r.$container}}function o(e){let t=l(e).$document;if(!t)throw Error("AST node has no document.");return t}function l(e){for(;e.$container;)e=e.$container;return e}function u(e){return(0,n.Yk)(e)?e.ref?[e.ref]:[]:(0,n.uh)(e)?e.items.map(e=>e.ref):[]}function c(e,t){if(!e)throw Error("Node must be an AstNode.");let r=t?.range;return new i.i(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){let i=t.keys[t.keyIndex];if(!i.startsWith("$")){let s=e[i];if((0,n.xA)(s)){if(t.keyIndex++,f(s,r))return{done:!1,value:s}}else if(Array.isArray(s)){for(;t.arrayIndex<s.length;){let e=s[t.arrayIndex++];if((0,n.xA)(e)&&f(e,r))return{done:!1,value:e}}t.arrayIndex=0}}t.keyIndex++}return i.Ry})}function d(e,t){if(!e)throw Error("Root node must be an AstNode.");return new i.i8(e,e=>c(e,t))}function h(e,t){if(e){if(t?.range&&!f(e,t.range))return new i.i8(e,()=>[])}else throw Error("Root node must be an AstNode.");return new i.i8(e,e=>c(e,t),{includeRoot:!0})}function f(e,t){if(!t)return!0;let r=e.$cstNode?.range;return!!r&&(0,s.Z2)(r,t)}function p(e){return new i.i(()=>({keys:Object.keys(e),keyIndex:0,arrayIndex:0}),t=>{for(;t.keyIndex<t.keys.length;){let r=t.keys[t.keyIndex];if(!r.startsWith("$")){let i=e[r];if((0,n.Yk)(i)||(0,n.uh)(i))return t.keyIndex++,{done:!1,value:{reference:i,container:e,property:r}};if(Array.isArray(i)){for(;t.arrayIndex<i.length;){let s=t.arrayIndex++,a=i[s];if((0,n.Yk)(a)||(0,n.uh)(i))return{done:!1,value:{reference:a,container:e,property:r,index:s}}}t.arrayIndex=0}}t.keyIndex++}return i.Ry})}function m(e,t){for(let r of Object.values(e.getTypeMetaData(t.$type).properties))void 0!==r.defaultValue&&void 0===t[r.name]&&(t[r.name]=function e(t){return Array.isArray(t)?[...t.map(e)]:t}(r.defaultValue))}},62563:function(e,t,r){"use strict";r.d(t,{LK:function(){return f},OB:function(){return l},Z2:function(){return d},_t:function(){return o},sp:function(){return u},uz:function(){return h},yn:function(){return c}});var n,i,s=r(90505),a=r(79771);function o(e){return new a.i8(e,e=>(0,s.al)(e)?e.content:[],{includeRoot:!0})}function l(e,t){for(;e.container;)if((e=e.container)===t)return!0;return!1}function u(e){return{start:{character:e.startColumn-1,line:e.startLine-1},end:{character:e.endColumn,line:e.endLine-1}}}function c(e){if(!e)return;let{offset:t,end:r,range:n}=e;return{range:n,offset:t,end:r,length:r-t}}function d(e,t){return function(e,t){if(e.end.line<t.start.line||e.end.line===t.start.line&&e.end.character<=t.start.character)return i.Before;if(e.start.line>t.end.line||e.start.line===t.end.line&&e.start.character>=t.end.character)return i.After;let r=e.start.line>t.start.line||e.start.line===t.start.line&&e.start.character>=t.start.character,n=e.end.line<t.end.line||e.end.line===t.end.line&&e.end.character<=t.end.character;return r&&n?i.Inside:r?i.OverlapBack:n?i.OverlapFront:i.Outside}(e,t)>i.After}(n=i||(i={}))[n.Before=0]="Before",n[n.After=1]="After",n[n.OverlapFront=2]="OverlapFront",n[n.OverlapBack=3]="OverlapBack",n[n.Inside=4]="Inside",n[n.Outside=5]="Outside";let h=/^[\w\p{L}]$/u;function f(e,t){if(e){let r=function(e,t=!0){for(;e.container;){let r=e.container,n=r.content.indexOf(e);for(;n>0;){n--;let e=r.content[n];if(t||!e.hidden)return e}e=r}}(e,!0);if(r&&p(r,t))return r;if((0,s.U8)(e)){let r=e.content.findIndex(e=>!e.hidden);for(let n=r-1;n>=0;n--){let r=e.content[n];if(p(r,t))return r}}}}function p(e,t){return(0,s.dm)(e)&&t.includes(e.tokenType.name)}},50361:function(e,t,r){"use strict";r.d(t,{UT:function(){return i},hv:function(){return n}});class n extends Error{constructor(e,t){super(e?`${t} at ${e.range.start.line}:${e.range.start.character}`:t)}}function i(e,t="Error: Got unexpected value."){throw Error(t)}},90676:function(e,t,r){"use strict";r.d(t,{EL:function(){return h},UP:function(){return T},VD:function(){return u},eN:function(){return c},h7:function(){return g},ib:function(){return y},lA:function(){return m},mJ:function(){return v},md:function(){return d},s1:function(){return E},vb:function(){return f},z$:function(){return function e(t){if(i.zl(t))return i.F9(t)&&T(t)?t.name:R(t)??t.name;if(i.QV(t)||i.P9(t)||i.Mp(t))return t.name;if(i.LG(t)){let r=t.inferredType?t.inferredType.name:t.type?.ref?e(t.type.ref):void 0;if(r)return r}else if(i.S_(t))return t.name;throw Error("Cannot get name of Unknown Type")}}});var n=r(50361),i=r(23425),s=r(90505),a=r(81274),o=r(62563),l=r(59901);function u(e,t){let r=new Set,n=e.rules.find(e=>i.F9(e)&&e.entry);if(!n)return new Set(e.rules);for(let s of[n].concat(e.rules.filter(e=>i.MS(e)&&e.hidden)))!function e(t,r,n){r.add(t.name),(0,a.VY)(t).forEach(t=>{if(i.t3(t)||n&&i.gf(t)){let i=t.rule.ref;i&&!r.has(i.name)&&e(i,r,n)}})}(s,r,t);let s=new Set;for(let t of e.rules)(r.has(t.name)||i.MS(t)&&t.hidden)&&s.add(t);return s}function c(e){if(e.terminal)return e.terminal;if(e.type.ref){let t=y(e.type.ref);return t?.terminal}}function d(e){return e.hidden&&!(0,l.cb)(E(e))}function h(e,t){return e&&t?p(e,t,e.astNode,!0):[]}function f(e,t,r){if(!e||!t)return;let n=p(e,t,e.astNode,!0);if(0!==n.length)return r=void 0!==r?Math.max(0,Math.min(r,n.length-1)):0,n[r]}function p(e,t,r,n){if(!n){let r=(0,a.V_)(e.grammarSource,i.B7);if(r&&r.feature===t)return[e]}return(0,s.al)(e)&&e.astNode===r?e.content.flatMap(e=>p(e,t,r,!1)):[]}function m(e,t,r){if(!e)return;let n=function(e,t,r){let n;if(e.astNode!==r)return[];if(i.p1(e.grammarSource)&&e.grammarSource.value===t)return[e];let s=(0,o._t)(e).iterator(),a=[];do if(!(n=s.next()).done){let e=n.value;e.astNode===r?i.p1(e.grammarSource)&&e.grammarSource.value===t&&a.push(e):s.prune()}while(!n.done);return a}(e,t,e?.astNode);if(0!==n.length)return r=void 0!==r?Math.max(0,Math.min(r,n.length-1)):0,n[r]}function g(e){let t=e.astNode;for(;t===e.container?.astNode;){let t=(0,a.V_)(e.grammarSource,i.B7);if(t)return t;e=e.container}}function y(e){let t=e;return i.S_(t)&&(i.LG(t.$container)?t=t.$container.$container:i.zl(t.$container)?t=t.$container:(0,n.UT)(t.$container)),function e(t,r,n){function s(r,s){let o;return(0,a.V_)(r,i.B7)||(o=e(s,s,n)),n.set(t,o),o}if(n.has(t))return n.get(t);for(let e of(n.set(t,void 0),(0,a.VY)(r))){if(i.B7(e)&&"name"===e.feature.toLowerCase())return n.set(t,e),e;if(i.t3(e)&&i.F9(e.rule.ref))return s(e,e.rule.ref);if(i.Iy(e)&&e.typeRef?.ref)return s(e,e.typeRef.ref)}}(e,t,new Map)}function T(e){return function e(t,r){if(r.has(t))return!0;for(let n of(r.add(t),(0,a.VY)(t)))if(i.t3(n)){if(!n.rule.ref||i.F9(n.rule.ref)&&!e(n.rule.ref,r)||i.Zu(n.rule.ref))return!1}else if(i.B7(n))return!1;else if(i.LG(n))return!1;return!!t.definition}(e,new Set)}function R(e){if(!i.MS(e)){if(e.inferredType)return e.inferredType.name;if(e.dataType)return e.dataType;if(e.returnType){let t=e.returnType.ref;if(t)return t.name}}}function v(e){return i.MS(e)?e.type?.name??"string":R(e)??e.name}function E(e){let t={s:!1,i:!1,u:!1};return new RegExp(function e(t,r){if(i.V7(t))return C(t.elements.map(t=>e(t)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1});if(i.X9(t))return C(t.elements.map(t=>e(t)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1});if(i.Bf(t))return t.right?C(`[${k(t.left)}-${k(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):C(k(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1});if(i.gf(t)){let r=t.rule.ref;if(!r)throw Error("Missing rule reference.");return C(e(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}if(i.Bi(t))return C(`(?!${e(t.terminal)})${S}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});if(i.OG(t))return C(`${S}*?${e(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});if(i.Sg(t)){let e=t.regex.lastIndexOf("/"),n=t.regex.substring(1,e),i=t.regex.substring(e+1);return r&&(r.i=i.includes("i"),r.s=i.includes("s"),r.u=i.includes("u")),C(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else if(i.qm(t))return C(S,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});else throw Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}(e.definition,t),Object.entries(t).filter(([,e])=>e).map(([e])=>e).join(""))}let S=/[\s\S]/.source;function k(e){return(0,l.hr)(e.value)}function C(e,t){if(t.parenthesized||t.lookahead||!1!==t.wrap){let r=t.lookahead??(t.parenthesized?"":"?:");e=`(${r}${e})`}return t.cardinality?`${e}${t.cardinality}`:e}},59901:function(e,t,r){"use strict";r.d(t,{K0:function(){return i},Rn:function(){return l},XC:function(){return h},cb:function(){return c},hr:function(){return d}});var n=r(22681);let i=/\r?\n/gm,s=new n.O;class a extends n.e{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let t=String.fromCharCode(e.value);if(this.multiline||"\n"!==t||(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let e=d(t);this.endRegexpStack.push(e),this.isStarting&&(this.startRegexp+=e)}}visitSet(e){if(!this.multiline){let t=new RegExp(this.regex.substring(e.loc.begin,e.loc.end));this.multiline=!!"\n".match(t)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let t=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(t),this.isStarting&&(this.startRegexp+=t)}}visitChildren(e){"Group"===e.type&&e.quantifier||super.visitChildren(e)}}let o=new a;function l(e){try{return"string"==typeof e&&(e=new RegExp(e)),e=e.toString(),o.reset(e),o.visit(s.pattern(e)),o.multiline}catch{return!1}}let u="\f\n\r \v \xa0 \u2028\u2029 \uFEFF".split("");function c(e){let t="string"==typeof e?new RegExp(e):e;return u.some(e=>t.test(e))}function d(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function h(e,t){let r=function(e){"string"==typeof e&&(e=new RegExp(e));let t=e,r=e.source,n=0;return new RegExp(function e(){let i="",s;function a(e){i+=r.substr(n,e),n+=e}function o(e){i+="(?:"+r.substr(n,e)+"|$)",n+=e}for(;n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":o(3);break;case"x":o(4);break;case"u":o(t.unicode?"{"===r[n+2]?r.indexOf("}",n)-n+1:6:2);break;case"p":case"P":o(t.unicode?r.indexOf("}",n)-n+1:2);break;case"k":o(r.indexOf(">",n)-n+1);break;default:o(2)}break;case"[":(s=/\[(?:\\.|.)*?\]/g).lastIndex=n,o((s=s.exec(r)||[])[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":a(1);break;case"{":(s=/\{\d+,?\d*\}/g).lastIndex=n,(s=s.exec(r))?a(s[0].length):o(1);break;case"(":if("?"===r[n+1])switch(r[n+2]){case":":i+="(?:",n+=3,i+=e()+"|$)";break;case"=":i+="(?=",n+=3,i+=e()+")";break;case"!":s=n,n+=3,e(),i+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,e(),i+=r.substr(s,n-s);break;default:a(r.indexOf(">",n)-n+1),i+=e()+"|$)"}}else a(1),i+=e()+"|$)";break;case")":return++n,i;default:o(1)}return i}(),e.flags)}(e),n=t.match(r);return!!n&&n[0].length>0}},79771:function(e,t,r){"use strict";var n,i;r.d(t,{Cl:function(){return o},IH:function(){return n},Ry:function(){return l},Vw:function(){return u},i:function(){return s},i8:function(){return c}});class s{constructor(e,t){this.startFn=e,this.nextFn=t}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),t=0,r=e.next();for(;!r.done;)t++,r=e.next();return t}toArray(){let e;let t=[],r=this.iterator();do void 0!==(e=r.next()).value&&t.push(e.value);while(!e.done);return t}toSet(){return new Set(this)}toMap(e,t){return new Map(this.map(r=>[e?e(r):r,t?t(r):r]))}toString(){return this.join()}concat(e){return new s(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),e=>{let t;if(!e.firstDone){do if(!(t=this.nextFn(e.first)).done)return t;while(!t.done);e.firstDone=!0}do if(!(t=e.iterator.next()).done)return t;while(!t.done);return l})}join(e=","){let t;let r=this.iterator(),n="",i=!1;do{var s;(t=r.next()).done||(i&&(n+=e),n+="string"==typeof(s=t.value)?s:void 0===s?"undefined":"function"==typeof s.toString?s.toString():Object.prototype.toString.call(s)),i=!0}while(!t.done);return n}indexOf(e,t=0){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(n>=t&&i.value===e)return n;i=r.next(),n++}return -1}every(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(!e(r.value))return!1;r=t.next()}return!0}some(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(e(r.value))return!0;r=t.next()}return!1}forEach(e){let t=this.iterator(),r=0,n=t.next();for(;!n.done;)e(n.value,r),n=t.next(),r++}map(e){return new s(this.startFn,t=>{let{done:r,value:n}=this.nextFn(t);return r?l:{done:!1,value:e(n)}})}filter(e){return new s(this.startFn,t=>{let r;do if(!(r=this.nextFn(t)).done&&e(r.value))return r;while(!r.done);return l})}nonNullable(){return this.filter(e=>null!=e)}reduce(e,t){let r=this.iterator(),n=t,i=r.next();for(;!i.done;)n=void 0===n?i.value:e(n,i.value),i=r.next();return n}reduceRight(e,t){return this.recursiveReduce(this.iterator(),e,t)}recursiveReduce(e,t,r){let n=e.next();if(n.done)return r;let i=this.recursiveReduce(e,t,r);return void 0===i?n.value:t(i,n.value)}find(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(e(r.value))return r.value;r=t.next()}}findIndex(e){let t=this.iterator(),r=0,n=t.next();for(;!n.done;){if(e(n.value))return r;n=t.next(),r++}return -1}includes(e){let t=this.iterator(),r=t.next();for(;!r.done;){if(r.value===e)return!0;r=t.next()}return!1}flatMap(e){return new s(()=>({this:this.startFn()}),t=>{do{if(t.iterator){let e=t.iterator.next();if(!e.done)return e;t.iterator=void 0}let{done:r,value:n}=this.nextFn(t.this);if(!r){let r=e(n);if(!a(r))return{done:!1,value:r};t.iterator=r[Symbol.iterator]()}}while(t.iterator);return l})}flat(e){if(void 0===e&&(e=1),e<=0)return this;let t=e>1?this.flat(e-1):this;return new s(()=>({this:t.startFn()}),e=>{do{if(e.iterator){let t=e.iterator.next();if(!t.done)return t;e.iterator=void 0}let{done:r,value:n}=t.nextFn(e.this);if(!r){if(!a(n))return{done:!1,value:n};e.iterator=n[Symbol.iterator]()}}while(e.iterator);return l})}head(){let e=this.iterator().next();if(!e.done)return e.value}tail(e=1){return new s(()=>{let t=this.startFn();for(let r=0;r<e&&!this.nextFn(t).done;r++);return t},this.nextFn)}limit(e){return new s(()=>({size:0,state:this.startFn()}),t=>(t.size++,t.size>e)?l:this.nextFn(t.state))}distinct(e){return new s(()=>({set:new Set,internalState:this.startFn()}),t=>{let r;do if(!(r=this.nextFn(t.internalState)).done){let n=e?e(r.value):r.value;if(!t.set.has(n))return t.set.add(n),r}while(!r.done);return l})}exclude(e,t){let r=new Set;for(let n of e){let e=t?t(n):n;r.add(e)}return this.filter(e=>{let n=t?t(e):e;return!r.has(n)})}}function a(e){return!!e&&"function"==typeof e[Symbol.iterator]}let o=new s(()=>void 0,()=>l),l=Object.freeze({done:!0,value:void 0});function u(...e){if(1===e.length){let t=e[0];if(t instanceof s)return t;if(a(t))return new s(()=>t[Symbol.iterator](),e=>e.next());if("number"==typeof t.length)return new s(()=>({index:0}),e=>e.index<t.length?{done:!1,value:t[e.index++]}:l)}return e.length>1?new s(()=>({collIndex:0,arrIndex:0}),t=>{do{if(t.iterator){let e=t.iterator.next();if(!e.done)return e;t.iterator=void 0}if(t.array){if(t.arrIndex<t.array.length)return{done:!1,value:t.array[t.arrIndex++]};t.array=void 0,t.arrIndex=0}if(t.collIndex<e.length){let r=e[t.collIndex++];a(r)?t.iterator=r[Symbol.iterator]():r&&"number"==typeof r.length&&(t.array=r)}}while(t.iterator||t.array||t.collIndex<e.length);return l}):o}class c extends s{constructor(e,t,r){super(()=>({iterators:r?.includeRoot?[[e][Symbol.iterator]()]:[t(e)[Symbol.iterator]()],pruned:!1}),e=>{for(e.pruned&&(e.iterators.pop(),e.pruned=!1);e.iterators.length>0;){let r=e.iterators[e.iterators.length-1].next();if(!r.done)return e.iterators.push(t(r.value)[Symbol.iterator]()),r;e.iterators.pop()}return l})}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}}(i=n||(n={})).sum=function(e){return e.reduce((e,t)=>e+t,0)},i.product=function(e){return e.reduce((e,t)=>e*t,0)},i.min=function(e){return e.reduce((e,t)=>Math.min(e,t))},i.max=function(e){return e.reduce((e,t)=>Math.max(e,t))}},63218:function(e,t,r){"use strict";r.d(t,{u:function(){return i}});class n{stat(e){throw Error("No file system is available.")}statSync(e){throw Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw Error("No file system is available.")}readBinarySync(){throw Error("No file system is available.")}readFile(){throw Error("No file system is available.")}readFileSync(){throw Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}}let i={fileSystemProvider:()=>new n}},81496:function(e,t,r){"use strict";var n=r(82245);t.Z=function(e,t,r){for(var i=-1,s=e.length;++i<s;){var a=e[i],o=t(a);if(null!=o&&(void 0===l?o==o&&!(0,n.Z)(o):r(o,l)))var l=o,u=a}return u}},24639:function(e,t){"use strict";t.Z=function(e,t){return e<t}},97064:function(e,t,r){"use strict";var n=r(50388),i=r(82025);t.Z=function(e,t){var r=-1,s=(0,i.Z)(e)?Array(e.length):[];return(0,n.Z)(e,function(e,n,i){s[++r]=t(e,n,i)}),s}},76834:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n=r(83613),i=r(54646),s=r(87439),a=r(65482),o=r(7632),l=r(47373),u=function(e,t,r,n){if(!(0,o.Z)(e))return e;t=(0,s.Z)(t,e);for(var u=-1,c=t.length,d=c-1,h=e;null!=h&&++u<c;){var f=(0,l.Z)(t[u]),p=r;if("__proto__"===f||"constructor"===f||"prototype"===f)break;if(u!=d){var m=h[f];void 0===(p=n?n(m,f,h):void 0)&&(p=(0,o.Z)(m)?m:(0,a.Z)(t[u+1])?[]:{})}(0,i.Z)(h,f,p),h=h[f]}return e},c=function(e,t,r){for(var i=-1,a=t.length,o={};++i<a;){var l=t[i],c=(0,n.Z)(e,l);r(c,l)&&u(o,(0,s.Z)(l,e),c)}return o}},89371:function(e,t,r){"use strict";var n=r(13606);t.Z=function(e){return(0,n.Z)(e,4)}},37340:function(e,t,r){"use strict";var n=r(30801),i=r(84338),s=r(2864),a=r(49625),o=Object.prototype,l=o.hasOwnProperty,u=(0,n.Z)(function(e,t){e=Object(e);var r=-1,n=t.length,u=n>2?t[2]:void 0;for(u&&(0,s.Z)(t[0],t[1],u)&&(n=1);++r<n;)for(var c=t[r],d=(0,a.Z)(c),h=-1,f=d.length;++h<f;){var p=d[h],m=e[p];(void 0===m||(0,i.Z)(m,o[p])&&!l.call(e,p))&&(e[p]=c[p])}return e});t.Z=u},23969:function(e,t,r){"use strict";r.d(t,{Z:function(){return c}});var n,i=r(18856),s=r(82025),a=r(47799),o=r(41764),l=r(75300),u=Math.max,c=(n=function(e,t,r){var n=null==e?0:e.length;if(!n)return -1;var s=null==r?0:(0,l.Z)(r);return s<0&&(s=u(n+s,0)),(0,o.Z)(e,(0,i.Z)(t,3),s)},function(e,t,r){var o=Object(e);if(!(0,s.Z)(e)){var l=(0,i.Z)(t,3);e=(0,a.Z)(e),t=function(e){return l(o[e],e,o)}}var u=n(e,t,r);return u>-1?o[l?e[u]:u]:void 0})},3548:function(e,t,r){"use strict";var n=r(28491),i=r(68692);t.Z=function(e,t){return(0,n.Z)((0,i.Z)(e,t),1)}},85765:function(e,t,r){"use strict";var n=r(28491);t.Z=function(e){return(null==e?0:e.length)?(0,n.Z)(e,1):[]}},12937:function(e,t,r){"use strict";r.d(t,{Z:function(){return a}});var n=Object.prototype.hasOwnProperty,i=function(e,t){return null!=e&&n.call(e,t)},s=r(93025),a=function(e,t){return null!=e&&(0,s.Z)(e,t,i)}},2564:function(e,t,r){"use strict";var n=r(59576),i=r(28070),s=r(82370);t.Z=function(e){return"string"==typeof e||!(0,i.Z)(e)&&(0,s.Z)(e)&&"[object String]"==(0,n.Z)(e)}},1848:function(e,t){"use strict";t.Z=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},68692:function(e,t,r){"use strict";var n=r(80659),i=r(18856),s=r(97064),a=r(28070);t.Z=function(e,t){return((0,a.Z)(e)?n.Z:s.Z)(e,(0,i.Z)(t,3))}},58271:function(e,t,r){"use strict";var n=r(81496),i=r(24639),s=r(20937);t.Z=function(e){return e&&e.length?(0,n.Z)(e,s.Z,i.Z):void 0}},30898:function(e,t,r){"use strict";r.d(t,{Z:function(){return m}});var n=/\s/,i=function(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t},s=/^\s+/,a=r(7632),o=r(82245),l=0/0,u=/^[-+]0x[0-9a-f]+$/i,c=/^0b[01]+$/i,d=/^0o[0-7]+$/i,h=parseInt,f=function(e){if("number"==typeof e)return e;if((0,o.Z)(e))return l;if((0,a.Z)(e)){var t,r="function"==typeof e.valueOf?e.valueOf():e;e=(0,a.Z)(r)?r+"":r}if("string"!=typeof e)return 0===e?e:+e;e=(t=e)?t.slice(0,i(t)+1).replace(s,""):t;var n=c.test(e);return n||d.test(e)?h(e.slice(2),n?2:8):u.test(e)?l:+e},p=1/0,m=function(e){return e?(e=f(e))===p||e===-p?(e<0?-1:1)*17976931348623157e292:e==e?e:0:0===e?e:0}},75300:function(e,t,r){"use strict";var n=r(30898);t.Z=function(e){var t=(0,n.Z)(e),r=t%1;return t==t?r?t-r:t:0}},7824:function(e,t,r){"use strict";var n,i,s,a,o,l,u,c,d,h,f,p,m,g,y,T,R,v,E,S,k,C,A,$,b,x,N,w,I,_,P,L,O,D,M,F,Z,q,U,j,G,z,W,V,B,K,H,Y,X,J,Q,ee,et,er,en,ei,es,ea,eo,el,eu,ec,ed,eh,ef,ep,em,eg,ey,eT,eR,ev,eE,eS,ek,eC,eA,e$,eb,ex,eN,ew,eI,e_,eP,eL,eO,eD,eM,eF,eZ,eq,eU,ej,eG,ez,eW,eV,eB,eK,eH,eY,eX,eJ,eQ,e0,e1,e2,e3,e9,e4,e5,e8,e7,e6,te,tt,tr,tn,ti,ts,ta,to,tl,tu,tc,td,th,tf,tp,tm,tg,ty,tT,tR;r.r(t),r.d(t,{AnnotatedTextEdit:function(){return A},ChangeAnnotation:function(){return k},ChangeAnnotationIdentifier:function(){return C},CodeAction:function(){return es},CodeActionContext:function(){return ei},CodeActionKind:function(){return er},CodeActionTriggerKind:function(){return en},CodeDescription:function(){return R},CodeLens:function(){return ea},Color:function(){return d},ColorInformation:function(){return h},ColorPresentation:function(){return f},Command:function(){return E},CompletionItem:function(){return G},CompletionItemKind:function(){return M},CompletionItemLabelDetails:function(){return j},CompletionItemTag:function(){return Z},CompletionList:function(){return z},CreateFile:function(){return b},DeleteFile:function(){return N},Diagnostic:function(){return v},DiagnosticRelatedInformation:function(){return g},DiagnosticSeverity:function(){return y},DiagnosticTag:function(){return T},DocumentHighlight:function(){return Y},DocumentHighlightKind:function(){return H},DocumentLink:function(){return el},DocumentSymbol:function(){return et},DocumentUri:function(){return n},EOL:function(){return tk},FoldingRange:function(){return m},FoldingRangeKind:function(){return p},FormattingOptions:function(){return eo},Hover:function(){return V},InlayHint:function(){return eR},InlayHintKind:function(){return ey},InlayHintLabelPart:function(){return eT},InlineCompletionContext:function(){return eA},InlineCompletionItem:function(){return eE},InlineCompletionList:function(){return eS},InlineCompletionTriggerKind:function(){return ek},InlineValueContext:function(){return eg},InlineValueEvaluatableExpression:function(){return em},InlineValueText:function(){return ef},InlineValueVariableLookup:function(){return ep},InsertReplaceEdit:function(){return q},InsertTextFormat:function(){return F},InsertTextMode:function(){return U},Location:function(){return u},LocationLink:function(){return c},MarkedString:function(){return W},MarkupContent:function(){return D},MarkupKind:function(){return O},OptionalVersionedTextDocumentIdentifier:function(){return P},ParameterInformation:function(){return B},Position:function(){return o},Range:function(){return l},RenameFile:function(){return x},SelectedCompletionInfo:function(){return eC},SelectionRange:function(){return eu},SemanticTokenModifiers:function(){return ed},SemanticTokenTypes:function(){return ec},SemanticTokens:function(){return eh},SignatureInformation:function(){return K},StringValue:function(){return ev},SymbolInformation:function(){return Q},SymbolKind:function(){return X},SymbolTag:function(){return J},TextDocument:function(){return eb},TextDocumentEdit:function(){return $},TextDocumentIdentifier:function(){return I},TextDocumentItem:function(){return L},TextEdit:function(){return S},URI:function(){return i},VersionedTextDocumentIdentifier:function(){return _},WorkspaceChange:function(){return tS},WorkspaceEdit:function(){return w},WorkspaceFolder:function(){return e$},WorkspaceSymbol:function(){return ee},integer:function(){return s},uinteger:function(){return a}}),(n||(n={})).is=function(e){return"string"==typeof e},(i||(i={})).is=function(e){return"string"==typeof e},(eN=s||(s={})).MIN_VALUE=-2147483648,eN.MAX_VALUE=2147483647,eN.is=function(e){return"number"==typeof e&&eN.MIN_VALUE<=e&&e<=eN.MAX_VALUE},(ew=a||(a={})).MIN_VALUE=0,ew.MAX_VALUE=2147483647,ew.is=function(e){return"number"==typeof e&&ew.MIN_VALUE<=e&&e<=ew.MAX_VALUE},(eI=o||(o={})).create=function(e,t){return e===Number.MAX_VALUE&&(e=a.MAX_VALUE),t===Number.MAX_VALUE&&(t=a.MAX_VALUE),{line:e,character:t}},eI.is=function(e){return ex.objectLiteral(e)&&ex.uinteger(e.line)&&ex.uinteger(e.character)},(e_=l||(l={})).create=function(e,t,r,n){if(ex.uinteger(e)&&ex.uinteger(t)&&ex.uinteger(r)&&ex.uinteger(n))return{start:o.create(e,t),end:o.create(r,n)};if(o.is(e)&&o.is(t))return{start:e,end:t};throw Error(`Range#create called with invalid arguments[${e}, ${t}, ${r}, ${n}]`)},e_.is=function(e){return ex.objectLiteral(e)&&o.is(e.start)&&o.is(e.end)},(eP=u||(u={})).create=function(e,t){return{uri:e,range:t}},eP.is=function(e){return ex.objectLiteral(e)&&l.is(e.range)&&(ex.string(e.uri)||ex.undefined(e.uri))},(eL=c||(c={})).create=function(e,t,r,n){return{targetUri:e,targetRange:t,targetSelectionRange:r,originSelectionRange:n}},eL.is=function(e){return ex.objectLiteral(e)&&l.is(e.targetRange)&&ex.string(e.targetUri)&&l.is(e.targetSelectionRange)&&(l.is(e.originSelectionRange)||ex.undefined(e.originSelectionRange))},(eO=d||(d={})).create=function(e,t,r,n){return{red:e,green:t,blue:r,alpha:n}},eO.is=function(e){return ex.objectLiteral(e)&&ex.numberRange(e.red,0,1)&&ex.numberRange(e.green,0,1)&&ex.numberRange(e.blue,0,1)&&ex.numberRange(e.alpha,0,1)},(eD=h||(h={})).create=function(e,t){return{range:e,color:t}},eD.is=function(e){return ex.objectLiteral(e)&&l.is(e.range)&&d.is(e.color)},(eM=f||(f={})).create=function(e,t,r){return{label:e,textEdit:t,additionalTextEdits:r}},eM.is=function(e){return ex.objectLiteral(e)&&ex.string(e.label)&&(ex.undefined(e.textEdit)||S.is(e))&&(ex.undefined(e.additionalTextEdits)||ex.typedArray(e.additionalTextEdits,S.is))},(eF=p||(p={})).Comment="comment",eF.Imports="imports",eF.Region="region",(eZ=m||(m={})).create=function(e,t,r,n,i,s){let a={startLine:e,endLine:t};return ex.defined(r)&&(a.startCharacter=r),ex.defined(n)&&(a.endCharacter=n),ex.defined(i)&&(a.kind=i),ex.defined(s)&&(a.collapsedText=s),a},eZ.is=function(e){return ex.objectLiteral(e)&&ex.uinteger(e.startLine)&&ex.uinteger(e.startLine)&&(ex.undefined(e.startCharacter)||ex.uinteger(e.startCharacter))&&(ex.undefined(e.endCharacter)||ex.uinteger(e.endCharacter))&&(ex.undefined(e.kind)||ex.string(e.kind))},(eq=g||(g={})).create=function(e,t){return{location:e,message:t}},eq.is=function(e){return ex.defined(e)&&u.is(e.location)&&ex.string(e.message)},(eU=y||(y={})).Error=1,eU.Warning=2,eU.Information=3,eU.Hint=4,(ej=T||(T={})).Unnecessary=1,ej.Deprecated=2,(R||(R={})).is=function(e){return ex.objectLiteral(e)&&ex.string(e.href)},(eG=v||(v={})).create=function(e,t,r,n,i,s){let a={range:e,message:t};return ex.defined(r)&&(a.severity=r),ex.defined(n)&&(a.code=n),ex.defined(i)&&(a.source=i),ex.defined(s)&&(a.relatedInformation=s),a},eG.is=function(e){var t;return ex.defined(e)&&l.is(e.range)&&ex.string(e.message)&&(ex.number(e.severity)||ex.undefined(e.severity))&&(ex.integer(e.code)||ex.string(e.code)||ex.undefined(e.code))&&(ex.undefined(e.codeDescription)||ex.string(null===(t=e.codeDescription)||void 0===t?void 0:t.href))&&(ex.string(e.source)||ex.undefined(e.source))&&(ex.undefined(e.relatedInformation)||ex.typedArray(e.relatedInformation,g.is))},(ez=E||(E={})).create=function(e,t,...r){let n={title:e,command:t};return ex.defined(r)&&r.length>0&&(n.arguments=r),n},ez.is=function(e){return ex.defined(e)&&ex.string(e.title)&&ex.string(e.command)},(eW=S||(S={})).replace=function(e,t){return{range:e,newText:t}},eW.insert=function(e,t){return{range:{start:e,end:e},newText:t}},eW.del=function(e){return{range:e,newText:""}},eW.is=function(e){return ex.objectLiteral(e)&&ex.string(e.newText)&&l.is(e.range)},(eV=k||(k={})).create=function(e,t,r){let n={label:e};return void 0!==t&&(n.needsConfirmation=t),void 0!==r&&(n.description=r),n},eV.is=function(e){return ex.objectLiteral(e)&&ex.string(e.label)&&(ex.boolean(e.needsConfirmation)||void 0===e.needsConfirmation)&&(ex.string(e.description)||void 0===e.description)},(C||(C={})).is=function(e){return ex.string(e)},(eB=A||(A={})).replace=function(e,t,r){return{range:e,newText:t,annotationId:r}},eB.insert=function(e,t,r){return{range:{start:e,end:e},newText:t,annotationId:r}},eB.del=function(e,t){return{range:e,newText:"",annotationId:t}},eB.is=function(e){return S.is(e)&&(k.is(e.annotationId)||C.is(e.annotationId))},(eK=$||($={})).create=function(e,t){return{textDocument:e,edits:t}},eK.is=function(e){return ex.defined(e)&&P.is(e.textDocument)&&Array.isArray(e.edits)},(eH=b||(b={})).create=function(e,t,r){let n={kind:"create",uri:e};return void 0!==t&&(void 0!==t.overwrite||void 0!==t.ignoreIfExists)&&(n.options=t),void 0!==r&&(n.annotationId=r),n},eH.is=function(e){return e&&"create"===e.kind&&ex.string(e.uri)&&(void 0===e.options||(void 0===e.options.overwrite||ex.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||ex.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||C.is(e.annotationId))},(eY=x||(x={})).create=function(e,t,r,n){let i={kind:"rename",oldUri:e,newUri:t};return void 0!==r&&(void 0!==r.overwrite||void 0!==r.ignoreIfExists)&&(i.options=r),void 0!==n&&(i.annotationId=n),i},eY.is=function(e){return e&&"rename"===e.kind&&ex.string(e.oldUri)&&ex.string(e.newUri)&&(void 0===e.options||(void 0===e.options.overwrite||ex.boolean(e.options.overwrite))&&(void 0===e.options.ignoreIfExists||ex.boolean(e.options.ignoreIfExists)))&&(void 0===e.annotationId||C.is(e.annotationId))},(eX=N||(N={})).create=function(e,t,r){let n={kind:"delete",uri:e};return void 0!==t&&(void 0!==t.recursive||void 0!==t.ignoreIfNotExists)&&(n.options=t),void 0!==r&&(n.annotationId=r),n},eX.is=function(e){return e&&"delete"===e.kind&&ex.string(e.uri)&&(void 0===e.options||(void 0===e.options.recursive||ex.boolean(e.options.recursive))&&(void 0===e.options.ignoreIfNotExists||ex.boolean(e.options.ignoreIfNotExists)))&&(void 0===e.annotationId||C.is(e.annotationId))},(w||(w={})).is=function(e){return e&&(void 0!==e.changes||void 0!==e.documentChanges)&&(void 0===e.documentChanges||e.documentChanges.every(e=>ex.string(e.kind)?b.is(e)||x.is(e)||N.is(e):$.is(e)))};class tv{constructor(e,t){this.edits=e,this.changeAnnotations=t}insert(e,t,r){let n,i;if(void 0===r?n=S.insert(e,t):C.is(r)?(i=r,n=A.insert(e,t,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=A.insert(e,t,i)),this.edits.push(n),void 0!==i)return i}replace(e,t,r){let n,i;if(void 0===r?n=S.replace(e,t):C.is(r)?(i=r,n=A.replace(e,t,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=A.replace(e,t,i)),this.edits.push(n),void 0!==i)return i}delete(e,t){let r,n;if(void 0===t?r=S.del(e):C.is(t)?(n=t,r=A.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),n=this.changeAnnotations.manage(t),r=A.del(e,n)),this.edits.push(r),void 0!==n)return n}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(void 0===e)throw Error("Text edit change is not configured to manage change annotations.")}}class tE{constructor(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,t){let r;if(C.is(e)?r=e:(r=this.nextId(),t=e),void 0!==this._annotations[r])throw Error(`Id ${r} is already in use.`);if(void 0===t)throw Error(`No annotation provided for id ${r}`);return this._annotations[r]=t,this._size++,r}nextId(){return this._counter++,this._counter.toString()}}class tS{constructor(e){this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new tE(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(e=>{if($.is(e)){let t=new tv(e.edits,this._changeAnnotations);this._textEditChanges[e.textDocument.uri]=t}})):e.changes&&Object.keys(e.changes).forEach(t=>{let r=new tv(e.changes[t]);this._textEditChanges[t]=r})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(P.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw Error("Workspace edit is not configured for document changes.");let t={uri:e.uri,version:e.version},r=this._textEditChanges[t.uri];if(!r){let e=[];this._workspaceEdit.documentChanges.push({textDocument:t,edits:e}),r=new tv(e,this._changeAnnotations),this._textEditChanges[t.uri]=r}return r}{if(this.initChanges(),void 0===this._workspaceEdit.changes)throw Error("Workspace edit is not configured for normal text edit changes.");let t=this._textEditChanges[e];if(!t){let r=[];this._workspaceEdit.changes[e]=r,t=new tv(r),this._textEditChanges[e]=t}return t}}initDocumentChanges(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new tE,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,t,r){let n,i,s;if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw Error("Workspace edit is not configured for document changes.");if(k.is(t)||C.is(t)?n=t:r=t,void 0===n?i=b.create(e,r):(s=C.is(n)?n:this._changeAnnotations.manage(n),i=b.create(e,r,s)),this._workspaceEdit.documentChanges.push(i),void 0!==s)return s}renameFile(e,t,r,n){let i,s,a;if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw Error("Workspace edit is not configured for document changes.");if(k.is(r)||C.is(r)?i=r:n=r,void 0===i?s=x.create(e,t,n):(a=C.is(i)?i:this._changeAnnotations.manage(i),s=x.create(e,t,n,a)),this._workspaceEdit.documentChanges.push(s),void 0!==a)return a}deleteFile(e,t,r){let n,i,s;if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw Error("Workspace edit is not configured for document changes.");if(k.is(t)||C.is(t)?n=t:r=t,void 0===n?i=N.create(e,r):(s=C.is(n)?n:this._changeAnnotations.manage(n),i=N.create(e,r,s)),this._workspaceEdit.documentChanges.push(i),void 0!==s)return s}}(eJ=I||(I={})).create=function(e){return{uri:e}},eJ.is=function(e){return ex.defined(e)&&ex.string(e.uri)},(eQ=_||(_={})).create=function(e,t){return{uri:e,version:t}},eQ.is=function(e){return ex.defined(e)&&ex.string(e.uri)&&ex.integer(e.version)},(e0=P||(P={})).create=function(e,t){return{uri:e,version:t}},e0.is=function(e){return ex.defined(e)&&ex.string(e.uri)&&(null===e.version||ex.integer(e.version))},(e1=L||(L={})).create=function(e,t,r,n){return{uri:e,languageId:t,version:r,text:n}},e1.is=function(e){return ex.defined(e)&&ex.string(e.uri)&&ex.string(e.languageId)&&ex.integer(e.version)&&ex.string(e.text)},(e2=O||(O={})).PlainText="plaintext",e2.Markdown="markdown",e2.is=function(e){return e===e2.PlainText||e===e2.Markdown},(D||(D={})).is=function(e){return ex.objectLiteral(e)&&O.is(e.kind)&&ex.string(e.value)},(e3=M||(M={})).Text=1,e3.Method=2,e3.Function=3,e3.Constructor=4,e3.Field=5,e3.Variable=6,e3.Class=7,e3.Interface=8,e3.Module=9,e3.Property=10,e3.Unit=11,e3.Value=12,e3.Enum=13,e3.Keyword=14,e3.Snippet=15,e3.Color=16,e3.File=17,e3.Reference=18,e3.Folder=19,e3.EnumMember=20,e3.Constant=21,e3.Struct=22,e3.Event=23,e3.Operator=24,e3.TypeParameter=25,(e9=F||(F={})).PlainText=1,e9.Snippet=2,(Z||(Z={})).Deprecated=1,(e4=q||(q={})).create=function(e,t,r){return{newText:e,insert:t,replace:r}},e4.is=function(e){return e&&ex.string(e.newText)&&l.is(e.insert)&&l.is(e.replace)},(e5=U||(U={})).asIs=1,e5.adjustIndentation=2,(j||(j={})).is=function(e){return e&&(ex.string(e.detail)||void 0===e.detail)&&(ex.string(e.description)||void 0===e.description)},(G||(G={})).create=function(e){return{label:e}},(z||(z={})).create=function(e,t){return{items:e||[],isIncomplete:!!t}},(e8=W||(W={})).fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e8.is=function(e){return ex.string(e)||ex.objectLiteral(e)&&ex.string(e.language)&&ex.string(e.value)},(V||(V={})).is=function(e){return!!e&&ex.objectLiteral(e)&&(D.is(e.contents)||W.is(e.contents)||ex.typedArray(e.contents,W.is))&&(void 0===e.range||l.is(e.range))},(B||(B={})).create=function(e,t){return t?{label:e,documentation:t}:{label:e}},(K||(K={})).create=function(e,t,...r){let n={label:e};return ex.defined(t)&&(n.documentation=t),ex.defined(r)?n.parameters=r:n.parameters=[],n},(e7=H||(H={})).Text=1,e7.Read=2,e7.Write=3,(Y||(Y={})).create=function(e,t){let r={range:e};return ex.number(t)&&(r.kind=t),r},(e6=X||(X={})).File=1,e6.Module=2,e6.Namespace=3,e6.Package=4,e6.Class=5,e6.Method=6,e6.Property=7,e6.Field=8,e6.Constructor=9,e6.Enum=10,e6.Interface=11,e6.Function=12,e6.Variable=13,e6.Constant=14,e6.String=15,e6.Number=16,e6.Boolean=17,e6.Array=18,e6.Object=19,e6.Key=20,e6.Null=21,e6.EnumMember=22,e6.Struct=23,e6.Event=24,e6.Operator=25,e6.TypeParameter=26,(J||(J={})).Deprecated=1,(Q||(Q={})).create=function(e,t,r,n,i){let s={name:e,kind:t,location:{uri:n,range:r}};return i&&(s.containerName=i),s},(ee||(ee={})).create=function(e,t,r,n){return void 0!==n?{name:e,kind:t,location:{uri:r,range:n}}:{name:e,kind:t,location:{uri:r}}},(te=et||(et={})).create=function(e,t,r,n,i,s){let a={name:e,detail:t,kind:r,range:n,selectionRange:i};return void 0!==s&&(a.children=s),a},te.is=function(e){return e&&ex.string(e.name)&&ex.number(e.kind)&&l.is(e.range)&&l.is(e.selectionRange)&&(void 0===e.detail||ex.string(e.detail))&&(void 0===e.deprecated||ex.boolean(e.deprecated))&&(void 0===e.children||Array.isArray(e.children))&&(void 0===e.tags||Array.isArray(e.tags))},(tt=er||(er={})).Empty="",tt.QuickFix="quickfix",tt.Refactor="refactor",tt.RefactorExtract="refactor.extract",tt.RefactorInline="refactor.inline",tt.RefactorRewrite="refactor.rewrite",tt.Source="source",tt.SourceOrganizeImports="source.organizeImports",tt.SourceFixAll="source.fixAll",(tr=en||(en={})).Invoked=1,tr.Automatic=2,(tn=ei||(ei={})).create=function(e,t,r){let n={diagnostics:e};return null!=t&&(n.only=t),null!=r&&(n.triggerKind=r),n},tn.is=function(e){return ex.defined(e)&&ex.typedArray(e.diagnostics,v.is)&&(void 0===e.only||ex.typedArray(e.only,ex.string))&&(void 0===e.triggerKind||e.triggerKind===en.Invoked||e.triggerKind===en.Automatic)},(ti=es||(es={})).create=function(e,t,r){let n={title:e},i=!0;return"string"==typeof t?(i=!1,n.kind=t):E.is(t)?n.command=t:n.edit=t,i&&void 0!==r&&(n.kind=r),n},ti.is=function(e){return e&&ex.string(e.title)&&(void 0===e.diagnostics||ex.typedArray(e.diagnostics,v.is))&&(void 0===e.kind||ex.string(e.kind))&&(void 0!==e.edit||void 0!==e.command)&&(void 0===e.command||E.is(e.command))&&(void 0===e.isPreferred||ex.boolean(e.isPreferred))&&(void 0===e.edit||w.is(e.edit))},(ts=ea||(ea={})).create=function(e,t){let r={range:e};return ex.defined(t)&&(r.data=t),r},ts.is=function(e){return ex.defined(e)&&l.is(e.range)&&(ex.undefined(e.command)||E.is(e.command))},(ta=eo||(eo={})).create=function(e,t){return{tabSize:e,insertSpaces:t}},ta.is=function(e){return ex.defined(e)&&ex.uinteger(e.tabSize)&&ex.boolean(e.insertSpaces)},(to=el||(el={})).create=function(e,t,r){return{range:e,target:t,data:r}},to.is=function(e){return ex.defined(e)&&l.is(e.range)&&(ex.undefined(e.target)||ex.string(e.target))},(tl=eu||(eu={})).create=function(e,t){return{range:e,parent:t}},tl.is=function(e){return ex.objectLiteral(e)&&l.is(e.range)&&(void 0===e.parent||tl.is(e.parent))},(tu=ec||(ec={})).namespace="namespace",tu.type="type",tu.class="class",tu.enum="enum",tu.interface="interface",tu.struct="struct",tu.typeParameter="typeParameter",tu.parameter="parameter",tu.variable="variable",tu.property="property",tu.enumMember="enumMember",tu.event="event",tu.function="function",tu.method="method",tu.macro="macro",tu.keyword="keyword",tu.modifier="modifier",tu.comment="comment",tu.string="string",tu.number="number",tu.regexp="regexp",tu.operator="operator",tu.decorator="decorator",(tc=ed||(ed={})).declaration="declaration",tc.definition="definition",tc.readonly="readonly",tc.static="static",tc.deprecated="deprecated",tc.abstract="abstract",tc.async="async",tc.modification="modification",tc.documentation="documentation",tc.defaultLibrary="defaultLibrary",(eh||(eh={})).is=function(e){return ex.objectLiteral(e)&&(void 0===e.resultId||"string"==typeof e.resultId)&&Array.isArray(e.data)&&(0===e.data.length||"number"==typeof e.data[0])},(td=ef||(ef={})).create=function(e,t){return{range:e,text:t}},td.is=function(e){return null!=e&&l.is(e.range)&&ex.string(e.text)},(th=ep||(ep={})).create=function(e,t,r){return{range:e,variableName:t,caseSensitiveLookup:r}},th.is=function(e){return null!=e&&l.is(e.range)&&ex.boolean(e.caseSensitiveLookup)&&(ex.string(e.variableName)||void 0===e.variableName)},(tf=em||(em={})).create=function(e,t){return{range:e,expression:t}},tf.is=function(e){return null!=e&&l.is(e.range)&&(ex.string(e.expression)||void 0===e.expression)},(tp=eg||(eg={})).create=function(e,t){return{frameId:e,stoppedLocation:t}},tp.is=function(e){return ex.defined(e)&&l.is(e.stoppedLocation)},(tm=ey||(ey={})).Type=1,tm.Parameter=2,tm.is=function(e){return 1===e||2===e},(tg=eT||(eT={})).create=function(e){return{value:e}},tg.is=function(e){return ex.objectLiteral(e)&&(void 0===e.tooltip||ex.string(e.tooltip)||D.is(e.tooltip))&&(void 0===e.location||u.is(e.location))&&(void 0===e.command||E.is(e.command))},(ty=eR||(eR={})).create=function(e,t,r){let n={position:e,label:t};return void 0!==r&&(n.kind=r),n},ty.is=function(e){return ex.objectLiteral(e)&&o.is(e.position)&&(ex.string(e.label)||ex.typedArray(e.label,eT.is))&&(void 0===e.kind||ey.is(e.kind))&&void 0===e.textEdits||ex.typedArray(e.textEdits,S.is)&&(void 0===e.tooltip||ex.string(e.tooltip)||D.is(e.tooltip))&&(void 0===e.paddingLeft||ex.boolean(e.paddingLeft))&&(void 0===e.paddingRight||ex.boolean(e.paddingRight))},(ev||(ev={})).createSnippet=function(e){return{kind:"snippet",value:e}},(eE||(eE={})).create=function(e,t,r,n){return{insertText:e,filterText:t,range:r,command:n}},(eS||(eS={})).create=function(e){return{items:e}},(tT=ek||(ek={})).Invoked=0,tT.Automatic=1,(eC||(eC={})).create=function(e,t){return{range:e,text:t}},(eA||(eA={})).create=function(e,t){return{triggerKind:e,selectedCompletionInfo:t}},(e$||(e$={})).is=function(e){return ex.objectLiteral(e)&&i.is(e.uri)&&ex.string(e.name)};let tk=["\n","\r\n","\r"];(tR=eb||(eb={})).create=function(e,t,r,n){return new tC(e,t,r,n)},tR.is=function(e){return!!(ex.defined(e)&&ex.string(e.uri)&&(ex.undefined(e.languageId)||ex.string(e.languageId))&&ex.uinteger(e.lineCount)&&ex.func(e.getText)&&ex.func(e.positionAt)&&ex.func(e.offsetAt))},tR.applyEdits=function(e,t){let r=e.getText(),n=function e(t,r){if(t.length<=1)return t;let n=t.length/2|0,i=t.slice(0,n),s=t.slice(n);e(i,r),e(s,r);let a=0,o=0,l=0;for(;a<i.length&&o<s.length;)0>=r(i[a],s[o])?t[l++]=i[a++]:t[l++]=s[o++];for(;a<i.length;)t[l++]=i[a++];for(;o<s.length;)t[l++]=s[o++];return t}(t,(e,t)=>{let r=e.range.start.line-t.range.start.line;return 0===r?e.range.start.character-t.range.start.character:r}),i=r.length;for(let t=n.length-1;t>=0;t--){let s=n[t],a=e.offsetAt(s.range.start),o=e.offsetAt(s.range.end);if(o<=i)r=r.substring(0,a)+s.newText+r.substring(o,r.length);else throw Error("Overlapping edit");i=a}return r};class tC{constructor(e,t,r,n){this._uri=e,this._languageId=t,this._version=r,this._content=n,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(void 0===this._lineOffsets){let e=[],t=this._content,r=!0;for(let n=0;n<t.length;n++){r&&(e.push(n),r=!1);let i=t.charAt(n);r="\r"===i||"\n"===i,"\r"===i&&n+1<t.length&&"\n"===t.charAt(n+1)&&n++}r&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),r=0,n=t.length;if(0===n)return o.create(0,e);for(;r<n;){let i=Math.floor((r+n)/2);t[i]>e?n=i:r=i+1}let i=r-1;return o.create(i,e-t[i])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line],n=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,n),r)}get lineCount(){return this.getLineOffsets().length}}!function(e){let t=Object.prototype.toString;e.defined=function(e){return void 0!==e},e.undefined=function(e){return void 0===e},e.boolean=function(e){return!0===e||!1===e},e.string=function(e){return"[object String]"===t.call(e)},e.number=function(e){return"[object Number]"===t.call(e)},e.numberRange=function(e,r,n){return"[object Number]"===t.call(e)&&r<=e&&e<=n},e.integer=function(e){return"[object Number]"===t.call(e)&&-2147483648<=e&&e<=2147483647},e.uinteger=function(e){return"[object Number]"===t.call(e)&&0<=e&&e<=2147483647},e.func=function(e){return"[object Function]"===t.call(e)},e.objectLiteral=function(e){return null!==e&&"object"==typeof e},e.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)}}(ex||(ex={}))},57870:function(e,t,r){"use strict";r.d(t,{c:function(){return a},o:function(){return s}});var n,i=r(40257);(()=>{let e;var t,r,s={975:e=>{function t(e){if("string"!=typeof e)throw TypeError("Path must be a string. Received "+JSON.stringify(e))}function r(e,t){for(var r,n="",i=0,s=-1,a=0,o=0;o<=e.length;++o){if(o<e.length)r=e.charCodeAt(o);else{if(47===r)break;r=47}if(47===r){if(s===o-1||1===a);else if(s!==o-1&&2===a){if(n.length<2||2!==i||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2)){if(n.length>2){var l=n.lastIndexOf("/");if(l!==n.length-1){-1===l?(n="",i=0):i=(n=n.slice(0,l)).length-1-n.lastIndexOf("/"),s=o,a=0;continue}}else if(2===n.length||1===n.length){n="",i=0,s=o,a=0;continue}}t&&(n.length>0?n+="/..":n="..",i=2)}else n.length>0?n+="/"+e.slice(s+1,o):n=e.slice(s+1,o),i=o-s-1;s=o,a=0}else 46===r&&-1!==a?++a:a=-1}return n}var n={resolve:function(){for(var e,n,s="",a=!1,o=arguments.length-1;o>=-1&&!a;o--)o>=0?e=arguments[o]:(void 0===n&&(n=i.cwd()),e=n),t(e),0!==e.length&&(s=e+"/"+s,a=47===e.charCodeAt(0));return s=r(s,!a),a?s.length>0?"/"+s:"/":s.length>0?s:"."},normalize:function(e){if(t(e),0===e.length)return".";var n=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1);return 0!==(e=r(e,!n)).length||n||(e="."),e.length>0&&i&&(e+="/"),n?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0==arguments.length)return".";for(var e,r=0;r<arguments.length;++r){var i=arguments[r];t(i),i.length>0&&(void 0===e?e=i:e+="/"+i)}return void 0===e?".":n.normalize(e)},relative:function(e,r){if(t(e),t(r),e===r||(e=n.resolve(e))===(r=n.resolve(r)))return"";for(var i=1;i<e.length&&47===e.charCodeAt(i);++i);for(var s=e.length,a=s-i,o=1;o<r.length&&47===r.charCodeAt(o);++o);for(var l=r.length-o,u=a<l?a:l,c=-1,d=0;d<=u;++d){if(d===u){if(l>u){if(47===r.charCodeAt(o+d))return r.slice(o+d+1);if(0===d)return r.slice(o+d)}else a>u&&(47===e.charCodeAt(i+d)?c=d:0===d&&(c=0));break}var h=e.charCodeAt(i+d);if(h!==r.charCodeAt(o+d))break;47===h&&(c=d)}var f="";for(d=i+c+1;d<=s;++d)d!==s&&47!==e.charCodeAt(d)||(0===f.length?f+="..":f+="/..");return f.length>0?f+r.slice(o+c):(o+=c,47===r.charCodeAt(o)&&++o,r.slice(o))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var r=e.charCodeAt(0),n=47===r,i=-1,s=!0,a=e.length-1;a>=1;--a)if(47===(r=e.charCodeAt(a))){if(!s){i=a;break}}else s=!1;return -1===i?n?"/":".":n&&1===i?"//":e.slice(0,i)},basename:function(e,r){if(void 0!==r&&"string"!=typeof r)throw TypeError('"ext" argument must be a string');t(e);var n,i=0,s=-1,a=!0;if(void 0!==r&&r.length>0&&r.length<=e.length){if(r.length===e.length&&r===e)return"";var o=r.length-1,l=-1;for(n=e.length-1;n>=0;--n){var u=e.charCodeAt(n);if(47===u){if(!a){i=n+1;break}}else -1===l&&(a=!1,l=n+1),o>=0&&(u===r.charCodeAt(o)?-1==--o&&(s=n):(o=-1,s=l))}return i===s?s=l:-1===s&&(s=e.length),e.slice(i,s)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!a){i=n+1;break}}else -1===s&&(a=!1,s=n+1);return -1===s?"":e.slice(i,s)},extname:function(e){t(e);for(var r=-1,n=0,i=-1,s=!0,a=0,o=e.length-1;o>=0;--o){var l=e.charCodeAt(o);if(47!==l)-1===i&&(s=!1,i=o+1),46===l?-1===r?r=o:1!==a&&(a=1):-1!==r&&(a=-1);else if(!s){n=o+1;break}}return -1===r||-1===i||0===a||1===a&&r===i-1&&r===n+1?"":e.slice(r,i)},format:function(e){var t,r;if(null===e||"object"!=typeof e)throw TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return t=e.dir||e.root,r=e.base||(e.name||"")+(e.ext||""),t?t===e.root?t+r:t+"/"+r:r},parse:function(e){t(e);var r={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return r;var n,i=e.charCodeAt(0),s=47===i;s?(r.root="/",n=1):n=0;for(var a=-1,o=0,l=-1,u=!0,c=e.length-1,d=0;c>=n;--c)if(47!==(i=e.charCodeAt(c)))-1===l&&(u=!1,l=c+1),46===i?-1===a?a=c:1!==d&&(d=1):-1!==a&&(d=-1);else if(!u){o=c+1;break}return -1===a||-1===l||0===d||1===d&&a===l-1&&a===o+1?-1!==l&&(r.base=r.name=0===o&&s?e.slice(1,l):e.slice(o,l)):(0===o&&s?(r.name=e.slice(1,a),r.base=e.slice(1,l)):(r.name=e.slice(o,a),r.base=e.slice(o,l)),r.ext=e.slice(a,l)),o>0?r.dir=e.slice(0,o-1):s&&(r.dir="/"),r},sep:"/",delimiter:":",win32:null,posix:null};n.posix=n,e.exports=n}},a={};function o(e){var t=a[e];if(void 0!==t)return t.exports;var r=a[e]={exports:{}};return s[e](r,r.exports,o),r.exports}o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var l={};(o.r(l),o.d(l,{URI:()=>p,Utils:()=>r}),"object"==typeof i)?e="win32"===i.platform:"object"==typeof navigator&&(e=navigator.userAgent.indexOf("Windows")>=0);let u=/^\w[\w\d+.-]*$/,c=/^\//,d=/^\/\//;function h(e,t){if(!e.scheme&&t)throw Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!u.test(e.scheme))throw Error("[UriError]: Scheme contains illegal characters.");if(e.path){if(e.authority){if(!c.test(e.path))throw Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(d.test(e.path))throw Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}let f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class p{static isUri(e){return e instanceof p||!!e&&"string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString}scheme;authority;path;query;fragment;constructor(e,t,r,n,i,s=!1){"object"==typeof e?(this.scheme=e.scheme||"",this.authority=e.authority||"",this.path=e.path||"",this.query=e.query||"",this.fragment=e.fragment||""):(this.scheme=e||s?e:"file",this.authority=t||"",this.path=function(e,t){switch(e){case"https":case"http":case"file":t?"/"!==t[0]&&(t="/"+t):t="/"}return t}(this.scheme,r||""),this.query=n||"",this.fragment=i||"",h(this,s))}get fsPath(){return v(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:r,path:n,query:i,fragment:s}=e;return void 0===t?t=this.scheme:null===t&&(t=""),void 0===r?r=this.authority:null===r&&(r=""),void 0===n?n=this.path:null===n&&(n=""),void 0===i?i=this.query:null===i&&(i=""),void 0===s?s=this.fragment:null===s&&(s=""),t===this.scheme&&r===this.authority&&n===this.path&&i===this.query&&s===this.fragment?this:new g(t,r,n,i,s)}static parse(e,t=!1){let r=f.exec(e);return r?new g(r[2]||"",k(r[4]||""),k(r[5]||""),k(r[7]||""),k(r[9]||""),t):new g("","","","","")}static file(t){let r="";if(e&&(t=t.replace(/\\/g,"/")),"/"===t[0]&&"/"===t[1]){let e=t.indexOf("/",2);-1===e?(r=t.substring(2),t="/"):(r=t.substring(2,e),t=t.substring(e)||"/")}return new g("file",r,t,"","")}static from(e){let t=new g(e.scheme,e.authority,e.path,e.query,e.fragment);return h(t,!0),t}toString(e=!1){return E(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof p)return e;{let t=new g(e);return t._formatted=e.external,t._fsPath=e._sep===m?e.fsPath:null,t}}return e}}let m=e?1:void 0;class g extends p{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=v(this,!1)),this._fsPath}toString(e=!1){return e?E(this,!0):(this._formatted||(this._formatted=E(this,!1)),this._formatted)}toJSON(){let e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=m),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}let y={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function T(e,t,r){let n,i=-1;for(let s=0;s<e.length;s++){let a=e.charCodeAt(s);if(a>=97&&a<=122||a>=65&&a<=90||a>=48&&a<=57||45===a||46===a||95===a||126===a||t&&47===a||r&&91===a||r&&93===a||r&&58===a)-1!==i&&(n+=encodeURIComponent(e.substring(i,s)),i=-1),void 0!==n&&(n+=e.charAt(s));else{void 0===n&&(n=e.substr(0,s));let t=y[a];void 0!==t?(-1!==i&&(n+=encodeURIComponent(e.substring(i,s)),i=-1),n+=t):-1===i&&(i=s)}}return -1!==i&&(n+=encodeURIComponent(e.substring(i))),void 0!==n?n:e}function R(e){let t;for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);35===n||63===n?(void 0===t&&(t=e.substr(0,r)),t+=y[n]):void 0!==t&&(t+=e[r])}return void 0!==t?t:e}function v(t,r){let n;return n=t.authority&&t.path.length>1&&"file"===t.scheme?`//${t.authority}${t.path}`:47===t.path.charCodeAt(0)&&(t.path.charCodeAt(1)>=65&&90>=t.path.charCodeAt(1)||t.path.charCodeAt(1)>=97&&122>=t.path.charCodeAt(1))&&58===t.path.charCodeAt(2)?r?t.path.substr(1):t.path[1].toLowerCase()+t.path.substr(2):t.path,e&&(n=n.replace(/\//g,"\\")),n}function E(e,t){let r=t?R:T,n="",{scheme:i,authority:s,path:a,query:o,fragment:l}=e;if(i&&(n+=i+":"),(s||"file"===i)&&(n+="//"),s){let e=s.indexOf("@");if(-1!==e){let t=s.substr(0,e);s=s.substr(e+1),-1===(e=t.lastIndexOf(":"))?n+=r(t,!1,!1):n+=r(t.substr(0,e),!1,!1)+":"+r(t.substr(e+1),!1,!0),n+="@"}-1===(e=(s=s.toLowerCase()).lastIndexOf(":"))?n+=r(s,!1,!0):n+=r(s.substr(0,e),!1,!0)+s.substr(e)}if(a){if(a.length>=3&&47===a.charCodeAt(0)&&58===a.charCodeAt(2)){let e=a.charCodeAt(1);e>=65&&e<=90&&(a=`/${String.fromCharCode(e+32)}:${a.substr(3)}`)}else if(a.length>=2&&58===a.charCodeAt(1)){let e=a.charCodeAt(0);e>=65&&e<=90&&(a=`${String.fromCharCode(e+32)}:${a.substr(2)}`)}n+=r(a,!0,!1)}return o&&(n+="?"+r(o,!1,!1)),l&&(n+="#"+(t?l:T(l,!1,!1))),n}let S=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function k(e){return e.match(S)?e.replace(S,e=>(function e(t){try{return decodeURIComponent(t)}catch{return t.length>3?t.substr(0,3)+e(t.substr(3)):t}})(e)):e}var C=o(975);let A=C.posix||C;(t=r||(r={})).joinPath=function(e,...t){return e.with({path:A.join(e.path,...t)})},t.resolvePath=function(e,...t){let r=e.path,n=!1;"/"!==r[0]&&(r="/"+r,n=!0);let i=A.resolve(r,...t);return n&&"/"===i[0]&&!e.authority&&(i=i.substring(1)),e.with({path:i})},t.dirname=function(e){if(0===e.path.length||"/"===e.path)return e;let t=A.dirname(e.path);return 1===t.length&&46===t.charCodeAt(0)&&(t=""),e.with({path:t})},t.basename=function(e){return A.basename(e.path)},t.extname=function(e){return A.extname(e.path)},n=l})();let{URI:s,Utils:a}=n}}]);
|