dts-linter 0.0.0-alpha5 → 0.0.0-alpha6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/server.js +8 -8
  2. package/package.json +2 -2
package/dist/server.js CHANGED
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
- "use strict";var mM=Object.create;var Cp=Object.defineProperty;var gM=Object.getOwnPropertyDescriptor;var yM=Object.getOwnPropertyNames;var bM=Object.getPrototypeOf,vM=Object.prototype.hasOwnProperty;var k=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),TM=(t,e)=>{for(var n in e)Cp(t,n,{get:e[n],enumerable:!0})},_M=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of yM(e))!vM.call(t,i)&&i!==n&&Cp(t,i,{get:()=>e[i],enumerable:!(r=gM(e,i))||r.enumerable});return t};var K=(t,e,n)=>(n=t!=null?mM(bM(t)):{},_M(e||!t||!t.__esModule?Cp(n,"default",{value:t,enumerable:!0}):n,t));var ru=k(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.thenable=Nt.typedArray=Nt.stringArray=Nt.array=Nt.func=Nt.error=Nt.number=Nt.string=Nt.boolean=void 0;function SM(t){return t===!0||t===!1}Nt.boolean=SM;function D_(t){return typeof t=="string"||t instanceof String}Nt.string=D_;function EM(t){return typeof t=="number"||t instanceof Number}Nt.number=EM;function wM(t){return t instanceof Error}Nt.error=wM;function A_(t){return typeof t=="function"}Nt.func=A_;function O_(t){return Array.isArray(t)}Nt.array=O_;function kM(t){return O_(t)&&t.every(e=>D_(e))}Nt.stringArray=kM;function NM(t,e){return Array.isArray(t)&&t.every(e)}Nt.typedArray=NM;function PM(t){return t&&A_(t.then)}Nt.thenable=PM});var no=k(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.stringArray=Jt.array=Jt.func=Jt.error=Jt.number=Jt.string=Jt.boolean=void 0;function RM(t){return t===!0||t===!1}Jt.boolean=RM;function I_(t){return typeof t=="string"||t instanceof String}Jt.string=I_;function CM(t){return typeof t=="number"||t instanceof Number}Jt.number=CM;function DM(t){return t instanceof Error}Jt.error=DM;function AM(t){return typeof t=="function"}Jt.func=AM;function x_(t){return Array.isArray(t)}Jt.array=x_;function OM(t){return x_(t)&&t.every(e=>I_(e))}Jt.stringArray=OM});var em=k(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.Message=Z.NotificationType9=Z.NotificationType8=Z.NotificationType7=Z.NotificationType6=Z.NotificationType5=Z.NotificationType4=Z.NotificationType3=Z.NotificationType2=Z.NotificationType1=Z.NotificationType0=Z.NotificationType=Z.RequestType9=Z.RequestType8=Z.RequestType7=Z.RequestType6=Z.RequestType5=Z.RequestType4=Z.RequestType3=Z.RequestType2=Z.RequestType1=Z.RequestType=Z.RequestType0=Z.AbstractMessageSignature=Z.ParameterStructures=Z.ResponseError=Z.ErrorCodes=void 0;var fs=no(),Dp;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})(Dp||(Z.ErrorCodes=Dp={}));var Ap=class t extends Error{constructor(e,n,r){super(n),this.code=fs.number(e)?e:Dp.UnknownErrorCode,this.data=r,Object.setPrototypeOf(this,t.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};Z.ResponseError=Ap;var gn=class t{constructor(e){this.kind=e}static is(e){return e===t.auto||e===t.byName||e===t.byPosition}toString(){return this.kind}};Z.ParameterStructures=gn;gn.auto=new gn("auto");gn.byPosition=new gn("byPosition");gn.byName=new gn("byName");var st=class{constructor(e,n){this.method=e,this.numberOfParams=n}get parameterStructures(){return gn.auto}};Z.AbstractMessageSignature=st;var Op=class extends st{constructor(e){super(e,0)}};Z.RequestType0=Op;var Ip=class extends st{constructor(e,n=gn.auto){super(e,1),this._parameterStructures=n}get parameterStructures(){return this._parameterStructures}};Z.RequestType=Ip;var xp=class extends st{constructor(e,n=gn.auto){super(e,1),this._parameterStructures=n}get parameterStructures(){return this._parameterStructures}};Z.RequestType1=xp;var Mp=class extends st{constructor(e){super(e,2)}};Z.RequestType2=Mp;var Lp=class extends st{constructor(e){super(e,3)}};Z.RequestType3=Lp;var $p=class extends st{constructor(e){super(e,4)}};Z.RequestType4=$p;var qp=class extends st{constructor(e){super(e,5)}};Z.RequestType5=qp;var jp=class extends st{constructor(e){super(e,6)}};Z.RequestType6=jp;var Fp=class extends st{constructor(e){super(e,7)}};Z.RequestType7=Fp;var Bp=class extends st{constructor(e){super(e,8)}};Z.RequestType8=Bp;var Up=class extends st{constructor(e){super(e,9)}};Z.RequestType9=Up;var Vp=class extends st{constructor(e,n=gn.auto){super(e,1),this._parameterStructures=n}get parameterStructures(){return this._parameterStructures}};Z.NotificationType=Vp;var zp=class extends st{constructor(e){super(e,0)}};Z.NotificationType0=zp;var Wp=class extends st{constructor(e,n=gn.auto){super(e,1),this._parameterStructures=n}get parameterStructures(){return this._parameterStructures}};Z.NotificationType1=Wp;var Hp=class extends st{constructor(e){super(e,2)}};Z.NotificationType2=Hp;var Gp=class extends st{constructor(e){super(e,3)}};Z.NotificationType3=Gp;var Yp=class extends st{constructor(e){super(e,4)}};Z.NotificationType4=Yp;var Kp=class extends st{constructor(e){super(e,5)}};Z.NotificationType5=Kp;var Xp=class extends st{constructor(e){super(e,6)}};Z.NotificationType6=Xp;var Jp=class extends st{constructor(e){super(e,7)}};Z.NotificationType7=Jp;var Qp=class extends st{constructor(e){super(e,8)}};Z.NotificationType8=Qp;var Zp=class extends st{constructor(e){super(e,9)}};Z.NotificationType9=Zp;var M_;(function(t){function e(i){let s=i;return s&&fs.string(s.method)&&(fs.string(s.id)||fs.number(s.id))}t.isRequest=e;function n(i){let s=i;return s&&fs.string(s.method)&&i.id===void 0}t.isNotification=n;function r(i){let s=i;return s&&(s.result!==void 0||!!s.error)&&(fs.string(s.id)||fs.number(s.id)||s.id===null)}t.isResponse=r})(M_||(Z.Message=M_={}))});var nm=k(_i=>{"use strict";var L_;Object.defineProperty(_i,"__esModule",{value:!0});_i.LRUCache=_i.LinkedMap=_i.Touch=void 0;var Qt;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(Qt||(_i.Touch=Qt={}));var iu=class{constructor(){this[L_]="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,n=Qt.None){let r=this._map.get(e);if(r)return n!==Qt.None&&this.touch(r,n),r.value}set(e,n,r=Qt.None){let i=this._map.get(e);if(i)i.value=n,r!==Qt.None&&this.touch(i,r);else{switch(i={key:e,value:n,next:void 0,previous:void 0},r){case Qt.None:this.addItemLast(i);break;case Qt.First:this.addItemFirst(i);break;case Qt.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let n=this._map.get(e);if(n)return this._map.delete(e),this.removeItem(n),this._size--,n.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,n){let r=this._state,i=this._head;for(;i;){if(n?e.bind(n)(i.value,i.key,this):e(i.value,i.key,this),this._state!==r)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,n=this._head,r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(n){let i={value:n.key,done:!1};return n=n.next,i}else return{value:void 0,done:!0}}};return r}values(){let e=this._state,n=this._head,r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(n){let i={value:n.value,done:!1};return n=n.next,i}else return{value:void 0,done:!0}}};return r}entries(){let e=this._state,n=this._head,r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(n){let i={value:[n.key,n.value],done:!1};return n=n.next,i}else return{value:void 0,done:!0}}};return r}[(L_=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let n=this._head,r=this.size;for(;n&&r>e;)this._map.delete(n.key),n=n.next,r--;this._head=n,this._size=r,n&&(n.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");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 new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let n=e.next,r=e.previous;if(!n||!r)throw new Error("Invalid list");n.previous=r,r.next=n}e.next=void 0,e.previous=void 0,this._state++}touch(e,n){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(n!==Qt.First&&n!==Qt.Last)){if(n===Qt.First){if(e===this._head)return;let r=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(r.previous=i,i.next=r),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(n===Qt.Last){if(e===this._tail)return;let r=e.next,i=e.previous;e===this._head?(r.previous=void 0,this._head=r):(r.previous=i,i.next=r),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((n,r)=>{e.push([r,n])}),e}fromJSON(e){this.clear();for(let[n,r]of e)this.set(n,r)}};_i.LinkedMap=iu;var tm=class extends iu{constructor(e,n=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,n),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,n=Qt.AsNew){return super.get(e,n)}peek(e){return super.get(e,Qt.None)}set(e,n){return super.set(e,n,Qt.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};_i.LRUCache=tm});var q_=k(su=>{"use strict";Object.defineProperty(su,"__esModule",{value:!0});su.Disposable=void 0;var $_;(function(t){function e(n){return{dispose:n}}t.create=e})($_||(su.Disposable=$_={}))});var Si=k(sm=>{"use strict";Object.defineProperty(sm,"__esModule",{value:!0});var rm;function im(){if(rm===void 0)throw new Error("No runtime abstraction layer installed");return rm}(function(t){function e(n){if(n===void 0)throw new Error("No runtime abstraction layer provided");rm=n}t.install=e})(im||(im={}));sm.default=im});var io=k(ro=>{"use strict";Object.defineProperty(ro,"__esModule",{value:!0});ro.Emitter=ro.Event=void 0;var IM=Si(),j_;(function(t){let e={dispose(){}};t.None=function(){return e}})(j_||(ro.Event=j_={}));var om=class{add(e,n=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(n),Array.isArray(r)&&r.push({dispose:()=>this.remove(e,n)})}remove(e,n=null){if(!this._callbacks)return;let r=!1;for(let i=0,s=this._callbacks.length;i<s;i++)if(this._callbacks[i]===e)if(this._contexts[i]===n){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else r=!0;if(r)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let n=[],r=this._callbacks.slice(0),i=this._contexts.slice(0);for(let s=0,o=r.length;s<o;s++)try{n.push(r[s].apply(i[s],e))}catch(a){(0,IM.default)().console.error(a)}return n}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},ou=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,n,r)=>{this._callbacks||(this._callbacks=new om),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,n);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,n),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(r)&&r.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};ro.Emitter=ou;ou._noop=function(){}});var lu=k(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.CancellationTokenSource=so.CancellationToken=void 0;var xM=Si(),MM=no(),am=io(),au;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:am.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:am.Event.None});function e(n){let r=n;return r&&(r===t.None||r===t.Cancelled||MM.boolean(r.isCancellationRequested)&&!!r.onCancellationRequested)}t.is=e})(au||(so.CancellationToken=au={}));var LM=Object.freeze(function(t,e){let n=(0,xM.default)().timer.setTimeout(t.bind(e),0);return{dispose(){n.dispose()}}}),cu=class{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?LM:(this._emitter||(this._emitter=new am.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},cm=class{get token(){return this._token||(this._token=new cu),this._token}cancel(){this._token?this._token.cancel():this._token=au.Cancelled}dispose(){this._token?this._token instanceof cu&&this._token.dispose():this._token=au.None}};so.CancellationTokenSource=cm});var F_=k(oo=>{"use strict";Object.defineProperty(oo,"__esModule",{value:!0});oo.SharedArrayReceiverStrategy=oo.SharedArraySenderStrategy=void 0;var $M=lu(),Oa;(function(t){t.Continue=0,t.Cancelled=1})(Oa||(Oa={}));var lm=class{constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let n=new SharedArrayBuffer(4),r=new Int32Array(n,0,1);r[0]=Oa.Continue,this.buffers.set(e.id,n),e.$cancellationData=n}async sendCancellation(e,n){let r=this.buffers.get(n);if(r===void 0)return;let i=new Int32Array(r,0,1);Atomics.store(i,0,Oa.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};oo.SharedArraySenderStrategy=lm;var um=class{constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===Oa.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},dm=class{constructor(e){this.token=new um(e)}cancel(){}dispose(){}},fm=class{constructor(){this.kind="request"}createCancellationTokenSource(e){let n=e.$cancellationData;return n===void 0?new $M.CancellationTokenSource:new dm(n)}};oo.SharedArrayReceiverStrategy=fm});var pm=k(uu=>{"use strict";Object.defineProperty(uu,"__esModule",{value:!0});uu.Semaphore=void 0;var qM=Si(),hm=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((n,r)=>{this._waiting.push({thunk:e,resolve:n,reject:r}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,qM.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let n=e.thunk();n instanceof Promise?n.then(r=>{this._active--,e.resolve(r),this.runNext()},r=>{this._active--,e.reject(r),this.runNext()}):(this._active--,e.resolve(n),this.runNext())}catch(n){this._active--,e.reject(n),this.runNext()}}};uu.Semaphore=hm});var U_=k(Ei=>{"use strict";Object.defineProperty(Ei,"__esModule",{value:!0});Ei.ReadableStreamMessageReader=Ei.AbstractMessageReader=Ei.MessageReader=void 0;var gm=Si(),ao=no(),mm=io(),jM=pm(),B_;(function(t){function e(n){let r=n;return r&&ao.func(r.listen)&&ao.func(r.dispose)&&ao.func(r.onError)&&ao.func(r.onClose)&&ao.func(r.onPartialMessage)}t.is=e})(B_||(Ei.MessageReader=B_={}));var du=class{constructor(){this.errorEmitter=new mm.Emitter,this.closeEmitter=new mm.Emitter,this.partialMessageEmitter=new mm.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:new Error(`Reader received error. Reason: ${ao.string(e.message)?e.message:"unknown"}`)}};Ei.AbstractMessageReader=du;var ym;(function(t){function e(n){let r,i,s,o=new Map,a,c=new Map;if(n===void 0||typeof n=="string")r=n??"utf-8";else{if(r=n.charset??"utf-8",n.contentDecoder!==void 0&&(s=n.contentDecoder,o.set(s.name,s)),n.contentDecoders!==void 0)for(let l of n.contentDecoders)o.set(l.name,l);if(n.contentTypeDecoder!==void 0&&(a=n.contentTypeDecoder,c.set(a.name,a)),n.contentTypeDecoders!==void 0)for(let l of n.contentTypeDecoders)c.set(l.name,l)}return a===void 0&&(a=(0,gm.default)().applicationJson.decoder,c.set(a.name,a)),{charset:r,contentDecoder:s,contentDecoders:o,contentTypeDecoder:a,contentTypeDecoders:c}}t.fromOptions=e})(ym||(ym={}));var bm=class extends du{constructor(e,n){super(),this.readable=e,this.options=ym.fromOptions(n),this.buffer=(0,gm.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new jM.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 n=this.readable.onData(r=>{this.onData(r)});return this.readable.onError(r=>this.fireError(r)),this.readable.onClose(()=>this.fireClose()),n}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let r=this.buffer.tryReadHeaders(!0);if(!r)return;let i=r.get("content-length");if(!i){this.fireError(new Error(`Header must provide a Content-Length property.
2
+ "use strict";var mM=Object.create;var Cp=Object.defineProperty;var gM=Object.getOwnPropertyDescriptor;var yM=Object.getOwnPropertyNames;var bM=Object.getPrototypeOf,vM=Object.prototype.hasOwnProperty;var k=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),TM=(t,e)=>{for(var n in e)Cp(t,n,{get:e[n],enumerable:!0})},_M=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of yM(e))!vM.call(t,i)&&i!==n&&Cp(t,i,{get:()=>e[i],enumerable:!(r=gM(e,i))||r.enumerable});return t};var K=(t,e,n)=>(n=t!=null?mM(bM(t)):{},_M(e||!t||!t.__esModule?Cp(n,"default",{value:t,enumerable:!0}):n,t));var ru=k(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.thenable=Nt.typedArray=Nt.stringArray=Nt.array=Nt.func=Nt.error=Nt.number=Nt.string=Nt.boolean=void 0;function SM(t){return t===!0||t===!1}Nt.boolean=SM;function D_(t){return typeof t=="string"||t instanceof String}Nt.string=D_;function EM(t){return typeof t=="number"||t instanceof Number}Nt.number=EM;function wM(t){return t instanceof Error}Nt.error=wM;function A_(t){return typeof t=="function"}Nt.func=A_;function O_(t){return Array.isArray(t)}Nt.array=O_;function kM(t){return O_(t)&&t.every(e=>D_(e))}Nt.stringArray=kM;function NM(t,e){return Array.isArray(t)&&t.every(e)}Nt.typedArray=NM;function PM(t){return t&&A_(t.then)}Nt.thenable=PM});var no=k(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.stringArray=Jt.array=Jt.func=Jt.error=Jt.number=Jt.string=Jt.boolean=void 0;function RM(t){return t===!0||t===!1}Jt.boolean=RM;function I_(t){return typeof t=="string"||t instanceof String}Jt.string=I_;function CM(t){return typeof t=="number"||t instanceof Number}Jt.number=CM;function DM(t){return t instanceof Error}Jt.error=DM;function AM(t){return typeof t=="function"}Jt.func=AM;function x_(t){return Array.isArray(t)}Jt.array=x_;function OM(t){return x_(t)&&t.every(e=>I_(e))}Jt.stringArray=OM});var em=k(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.Message=Z.NotificationType9=Z.NotificationType8=Z.NotificationType7=Z.NotificationType6=Z.NotificationType5=Z.NotificationType4=Z.NotificationType3=Z.NotificationType2=Z.NotificationType1=Z.NotificationType0=Z.NotificationType=Z.RequestType9=Z.RequestType8=Z.RequestType7=Z.RequestType6=Z.RequestType5=Z.RequestType4=Z.RequestType3=Z.RequestType2=Z.RequestType1=Z.RequestType=Z.RequestType0=Z.AbstractMessageSignature=Z.ParameterStructures=Z.ResponseError=Z.ErrorCodes=void 0;var fs=no(),Dp;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})(Dp||(Z.ErrorCodes=Dp={}));var Ap=class t extends Error{constructor(e,n,r){super(n),this.code=fs.number(e)?e:Dp.UnknownErrorCode,this.data=r,Object.setPrototypeOf(this,t.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};Z.ResponseError=Ap;var gn=class t{constructor(e){this.kind=e}static is(e){return e===t.auto||e===t.byName||e===t.byPosition}toString(){return this.kind}};Z.ParameterStructures=gn;gn.auto=new gn("auto");gn.byPosition=new gn("byPosition");gn.byName=new gn("byName");var ot=class{constructor(e,n){this.method=e,this.numberOfParams=n}get parameterStructures(){return gn.auto}};Z.AbstractMessageSignature=ot;var Op=class extends ot{constructor(e){super(e,0)}};Z.RequestType0=Op;var Ip=class extends ot{constructor(e,n=gn.auto){super(e,1),this._parameterStructures=n}get parameterStructures(){return this._parameterStructures}};Z.RequestType=Ip;var xp=class extends ot{constructor(e,n=gn.auto){super(e,1),this._parameterStructures=n}get parameterStructures(){return this._parameterStructures}};Z.RequestType1=xp;var Mp=class extends ot{constructor(e){super(e,2)}};Z.RequestType2=Mp;var Lp=class extends ot{constructor(e){super(e,3)}};Z.RequestType3=Lp;var $p=class extends ot{constructor(e){super(e,4)}};Z.RequestType4=$p;var qp=class extends ot{constructor(e){super(e,5)}};Z.RequestType5=qp;var jp=class extends ot{constructor(e){super(e,6)}};Z.RequestType6=jp;var Fp=class extends ot{constructor(e){super(e,7)}};Z.RequestType7=Fp;var Bp=class extends ot{constructor(e){super(e,8)}};Z.RequestType8=Bp;var Up=class extends ot{constructor(e){super(e,9)}};Z.RequestType9=Up;var Vp=class extends ot{constructor(e,n=gn.auto){super(e,1),this._parameterStructures=n}get parameterStructures(){return this._parameterStructures}};Z.NotificationType=Vp;var zp=class extends ot{constructor(e){super(e,0)}};Z.NotificationType0=zp;var Wp=class extends ot{constructor(e,n=gn.auto){super(e,1),this._parameterStructures=n}get parameterStructures(){return this._parameterStructures}};Z.NotificationType1=Wp;var Hp=class extends ot{constructor(e){super(e,2)}};Z.NotificationType2=Hp;var Gp=class extends ot{constructor(e){super(e,3)}};Z.NotificationType3=Gp;var Yp=class extends ot{constructor(e){super(e,4)}};Z.NotificationType4=Yp;var Kp=class extends ot{constructor(e){super(e,5)}};Z.NotificationType5=Kp;var Xp=class extends ot{constructor(e){super(e,6)}};Z.NotificationType6=Xp;var Jp=class extends ot{constructor(e){super(e,7)}};Z.NotificationType7=Jp;var Qp=class extends ot{constructor(e){super(e,8)}};Z.NotificationType8=Qp;var Zp=class extends ot{constructor(e){super(e,9)}};Z.NotificationType9=Zp;var M_;(function(t){function e(i){let s=i;return s&&fs.string(s.method)&&(fs.string(s.id)||fs.number(s.id))}t.isRequest=e;function n(i){let s=i;return s&&fs.string(s.method)&&i.id===void 0}t.isNotification=n;function r(i){let s=i;return s&&(s.result!==void 0||!!s.error)&&(fs.string(s.id)||fs.number(s.id)||s.id===null)}t.isResponse=r})(M_||(Z.Message=M_={}))});var nm=k(_i=>{"use strict";var L_;Object.defineProperty(_i,"__esModule",{value:!0});_i.LRUCache=_i.LinkedMap=_i.Touch=void 0;var Qt;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(Qt||(_i.Touch=Qt={}));var iu=class{constructor(){this[L_]="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,n=Qt.None){let r=this._map.get(e);if(r)return n!==Qt.None&&this.touch(r,n),r.value}set(e,n,r=Qt.None){let i=this._map.get(e);if(i)i.value=n,r!==Qt.None&&this.touch(i,r);else{switch(i={key:e,value:n,next:void 0,previous:void 0},r){case Qt.None:this.addItemLast(i);break;case Qt.First:this.addItemFirst(i);break;case Qt.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let n=this._map.get(e);if(n)return this._map.delete(e),this.removeItem(n),this._size--,n.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,n){let r=this._state,i=this._head;for(;i;){if(n?e.bind(n)(i.value,i.key,this):e(i.value,i.key,this),this._state!==r)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,n=this._head,r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(n){let i={value:n.key,done:!1};return n=n.next,i}else return{value:void 0,done:!0}}};return r}values(){let e=this._state,n=this._head,r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(n){let i={value:n.value,done:!1};return n=n.next,i}else return{value:void 0,done:!0}}};return r}entries(){let e=this._state,n=this._head,r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(n){let i={value:[n.key,n.value],done:!1};return n=n.next,i}else return{value:void 0,done:!0}}};return r}[(L_=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let n=this._head,r=this.size;for(;n&&r>e;)this._map.delete(n.key),n=n.next,r--;this._head=n,this._size=r,n&&(n.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");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 new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let n=e.next,r=e.previous;if(!n||!r)throw new Error("Invalid list");n.previous=r,r.next=n}e.next=void 0,e.previous=void 0,this._state++}touch(e,n){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(n!==Qt.First&&n!==Qt.Last)){if(n===Qt.First){if(e===this._head)return;let r=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(r.previous=i,i.next=r),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(n===Qt.Last){if(e===this._tail)return;let r=e.next,i=e.previous;e===this._head?(r.previous=void 0,this._head=r):(r.previous=i,i.next=r),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((n,r)=>{e.push([r,n])}),e}fromJSON(e){this.clear();for(let[n,r]of e)this.set(n,r)}};_i.LinkedMap=iu;var tm=class extends iu{constructor(e,n=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,n),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,n=Qt.AsNew){return super.get(e,n)}peek(e){return super.get(e,Qt.None)}set(e,n){return super.set(e,n,Qt.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};_i.LRUCache=tm});var q_=k(su=>{"use strict";Object.defineProperty(su,"__esModule",{value:!0});su.Disposable=void 0;var $_;(function(t){function e(n){return{dispose:n}}t.create=e})($_||(su.Disposable=$_={}))});var Si=k(sm=>{"use strict";Object.defineProperty(sm,"__esModule",{value:!0});var rm;function im(){if(rm===void 0)throw new Error("No runtime abstraction layer installed");return rm}(function(t){function e(n){if(n===void 0)throw new Error("No runtime abstraction layer provided");rm=n}t.install=e})(im||(im={}));sm.default=im});var io=k(ro=>{"use strict";Object.defineProperty(ro,"__esModule",{value:!0});ro.Emitter=ro.Event=void 0;var IM=Si(),j_;(function(t){let e={dispose(){}};t.None=function(){return e}})(j_||(ro.Event=j_={}));var om=class{add(e,n=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(n),Array.isArray(r)&&r.push({dispose:()=>this.remove(e,n)})}remove(e,n=null){if(!this._callbacks)return;let r=!1;for(let i=0,s=this._callbacks.length;i<s;i++)if(this._callbacks[i]===e)if(this._contexts[i]===n){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else r=!0;if(r)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let n=[],r=this._callbacks.slice(0),i=this._contexts.slice(0);for(let s=0,o=r.length;s<o;s++)try{n.push(r[s].apply(i[s],e))}catch(a){(0,IM.default)().console.error(a)}return n}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},ou=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,n,r)=>{this._callbacks||(this._callbacks=new om),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,n);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,n),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(r)&&r.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};ro.Emitter=ou;ou._noop=function(){}});var lu=k(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.CancellationTokenSource=so.CancellationToken=void 0;var xM=Si(),MM=no(),am=io(),au;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:am.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:am.Event.None});function e(n){let r=n;return r&&(r===t.None||r===t.Cancelled||MM.boolean(r.isCancellationRequested)&&!!r.onCancellationRequested)}t.is=e})(au||(so.CancellationToken=au={}));var LM=Object.freeze(function(t,e){let n=(0,xM.default)().timer.setTimeout(t.bind(e),0);return{dispose(){n.dispose()}}}),cu=class{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?LM:(this._emitter||(this._emitter=new am.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},cm=class{get token(){return this._token||(this._token=new cu),this._token}cancel(){this._token?this._token.cancel():this._token=au.Cancelled}dispose(){this._token?this._token instanceof cu&&this._token.dispose():this._token=au.None}};so.CancellationTokenSource=cm});var F_=k(oo=>{"use strict";Object.defineProperty(oo,"__esModule",{value:!0});oo.SharedArrayReceiverStrategy=oo.SharedArraySenderStrategy=void 0;var $M=lu(),Oa;(function(t){t.Continue=0,t.Cancelled=1})(Oa||(Oa={}));var lm=class{constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let n=new SharedArrayBuffer(4),r=new Int32Array(n,0,1);r[0]=Oa.Continue,this.buffers.set(e.id,n),e.$cancellationData=n}async sendCancellation(e,n){let r=this.buffers.get(n);if(r===void 0)return;let i=new Int32Array(r,0,1);Atomics.store(i,0,Oa.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};oo.SharedArraySenderStrategy=lm;var um=class{constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===Oa.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},dm=class{constructor(e){this.token=new um(e)}cancel(){}dispose(){}},fm=class{constructor(){this.kind="request"}createCancellationTokenSource(e){let n=e.$cancellationData;return n===void 0?new $M.CancellationTokenSource:new dm(n)}};oo.SharedArrayReceiverStrategy=fm});var pm=k(uu=>{"use strict";Object.defineProperty(uu,"__esModule",{value:!0});uu.Semaphore=void 0;var qM=Si(),hm=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((n,r)=>{this._waiting.push({thunk:e,resolve:n,reject:r}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,qM.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let n=e.thunk();n instanceof Promise?n.then(r=>{this._active--,e.resolve(r),this.runNext()},r=>{this._active--,e.reject(r),this.runNext()}):(this._active--,e.resolve(n),this.runNext())}catch(n){this._active--,e.reject(n),this.runNext()}}};uu.Semaphore=hm});var U_=k(Ei=>{"use strict";Object.defineProperty(Ei,"__esModule",{value:!0});Ei.ReadableStreamMessageReader=Ei.AbstractMessageReader=Ei.MessageReader=void 0;var gm=Si(),ao=no(),mm=io(),jM=pm(),B_;(function(t){function e(n){let r=n;return r&&ao.func(r.listen)&&ao.func(r.dispose)&&ao.func(r.onError)&&ao.func(r.onClose)&&ao.func(r.onPartialMessage)}t.is=e})(B_||(Ei.MessageReader=B_={}));var du=class{constructor(){this.errorEmitter=new mm.Emitter,this.closeEmitter=new mm.Emitter,this.partialMessageEmitter=new mm.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:new Error(`Reader received error. Reason: ${ao.string(e.message)?e.message:"unknown"}`)}};Ei.AbstractMessageReader=du;var ym;(function(t){function e(n){let r,i,s,o=new Map,a,c=new Map;if(n===void 0||typeof n=="string")r=n??"utf-8";else{if(r=n.charset??"utf-8",n.contentDecoder!==void 0&&(s=n.contentDecoder,o.set(s.name,s)),n.contentDecoders!==void 0)for(let l of n.contentDecoders)o.set(l.name,l);if(n.contentTypeDecoder!==void 0&&(a=n.contentTypeDecoder,c.set(a.name,a)),n.contentTypeDecoders!==void 0)for(let l of n.contentTypeDecoders)c.set(l.name,l)}return a===void 0&&(a=(0,gm.default)().applicationJson.decoder,c.set(a.name,a)),{charset:r,contentDecoder:s,contentDecoders:o,contentTypeDecoder:a,contentTypeDecoders:c}}t.fromOptions=e})(ym||(ym={}));var bm=class extends du{constructor(e,n){super(),this.readable=e,this.options=ym.fromOptions(n),this.buffer=(0,gm.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new jM.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 n=this.readable.onData(r=>{this.onData(r)});return this.readable.onError(r=>this.fireError(r)),this.readable.onClose(()=>this.fireClose()),n}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let r=this.buffer.tryReadHeaders(!0);if(!r)return;let i=r.get("content-length");if(!i){this.fireError(new Error(`Header must provide a Content-Length property.
3
3
  ${JSON.stringify(Object.fromEntries(r))}`));return}let s=parseInt(i);if(isNaN(s)){this.fireError(new Error(`Content-Length value must be a number. Got ${i}`));return}this.nextMessageLength=s}let n=this.buffer.tryReadBody(this.nextMessageLength);if(n===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let r=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(n):n,i=await this.options.contentTypeDecoder.decode(r,this.options);this.callback(i)}).catch(r=>{this.fireError(r)})}}catch(n){this.fireError(n)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,gm.default)().timer.setTimeout((e,n)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:n}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};Ei.ReadableStreamMessageReader=bm});var G_=k(wi=>{"use strict";Object.defineProperty(wi,"__esModule",{value:!0});wi.WriteableStreamMessageWriter=wi.AbstractMessageWriter=wi.MessageWriter=void 0;var V_=Si(),Ia=no(),FM=pm(),z_=io(),BM="Content-Length: ",W_=`\r
4
4
  `,H_;(function(t){function e(n){let r=n;return r&&Ia.func(r.dispose)&&Ia.func(r.onClose)&&Ia.func(r.onError)&&Ia.func(r.write)}t.is=e})(H_||(wi.MessageWriter=H_={}));var fu=class{constructor(){this.errorEmitter=new z_.Emitter,this.closeEmitter=new z_.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,n,r){this.errorEmitter.fire([this.asError(e),n,r])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${Ia.string(e.message)?e.message:"unknown"}`)}};wi.AbstractMessageWriter=fu;var vm;(function(t){function e(n){return n===void 0||typeof n=="string"?{charset:n??"utf-8",contentTypeEncoder:(0,V_.default)().applicationJson.encoder}:{charset:n.charset??"utf-8",contentEncoder:n.contentEncoder,contentTypeEncoder:n.contentTypeEncoder??(0,V_.default)().applicationJson.encoder}}t.fromOptions=e})(vm||(vm={}));var Tm=class extends fu{constructor(e,n){super(),this.writable=e,this.options=vm.fromOptions(n),this.errorCount=0,this.writeSemaphore=new FM.Semaphore(1),this.writable.onError(r=>this.fireError(r)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(r=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(r):r).then(r=>{let i=[];return i.push(BM,r.byteLength.toString(),W_),i.push(W_),this.doWrite(e,i,r)},r=>{throw this.fireError(r),r}))}async doWrite(e,n,r){try{return await this.writable.write(n.join(""),"ascii"),this.writable.write(r)}catch(i){return this.handleError(i,e),Promise.reject(i)}}handleError(e,n){this.errorCount++,this.fireError(e,n,this.errorCount)}end(){this.writable.end()}};wi.WriteableStreamMessageWriter=Tm});var Y_=k(hu=>{"use strict";Object.defineProperty(hu,"__esModule",{value:!0});hu.AbstractMessageBuffer=void 0;var UM=13,VM=10,zM=`\r
5
5
  `,_m=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let n=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(n),this._totalLength+=n.byteLength}tryReadHeaders(e=!1){if(this._chunks.length===0)return;let n=0,r=0,i=0,s=0;e:for(;r<this._chunks.length;){let l=this._chunks[r];for(i=0;i<l.length;){switch(l[i]){case UM:switch(n){case 0:n=1;break;case 2:n=3;break;default:n=0}break;case VM:switch(n){case 1:n=2;break;case 3:n=4,i++;break e;default:n=0}break;default:n=0}i++}s+=l.byteLength,r++}if(n!==4)return;let o=this._read(s+i),a=new Map,c=this.toString(o,"ascii").split(zM);if(c.length<2)return a;for(let l=0;l<c.length-2;l++){let u=c[l],d=u.indexOf(":");if(d===-1)throw new Error(`Message header must separate key and value using ':'
6
- ${u}`);let f=u.substr(0,d),h=u.substr(d+1).trim();a.set(e?f.toLowerCase():f,h)}return a}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(e===0)return this.emptyBuffer();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let s=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(s)}if(this._chunks[0].byteLength>e){let s=this._chunks[0],o=this.asNative(s,e);return this._chunks[0]=s.slice(e),this._totalLength-=e,o}let n=this.allocNative(e),r=0,i=0;for(;e>0;){let s=this._chunks[i];if(s.byteLength>e){let o=s.slice(0,e);n.set(o,r),r+=e,this._chunks[i]=s.slice(e),this._totalLength-=e,e-=e}else n.set(s,r),r+=s.byteLength,this._chunks.shift(),this._totalLength-=s.byteLength,e-=s.byteLength}return n}};hu.AbstractMessageBuffer=_m});var Z_=k(le=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.createMessageConnection=le.ConnectionOptions=le.MessageStrategy=le.CancellationStrategy=le.CancellationSenderStrategy=le.CancellationReceiverStrategy=le.RequestCancellationReceiverStrategy=le.IdCancellationReceiverStrategy=le.ConnectionStrategy=le.ConnectionError=le.ConnectionErrors=le.LogTraceNotification=le.SetTraceNotification=le.TraceFormat=le.TraceValues=le.Trace=le.NullLogger=le.ProgressType=le.ProgressToken=void 0;var K_=Si(),gt=no(),ne=em(),X_=nm(),xa=io(),Sm=lu(),$a;(function(t){t.type=new ne.NotificationType("$/cancelRequest")})($a||($a={}));var Em;(function(t){function e(n){return typeof n=="string"||typeof n=="number"}t.is=e})(Em||(le.ProgressToken=Em={}));var Ma;(function(t){t.type=new ne.NotificationType("$/progress")})(Ma||(Ma={}));var wm=class{constructor(){}};le.ProgressType=wm;var km;(function(t){function e(n){return gt.func(n)}t.is=e})(km||(km={}));le.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var Ie;(function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"})(Ie||(le.Trace=Ie={}));var J_;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(J_||(le.TraceValues=J_={}));(function(t){function e(r){if(!gt.string(r))return t.Off;switch(r=r.toLowerCase(),r){case"off":return t.Off;case"messages":return t.Messages;case"compact":return t.Compact;case"verbose":return t.Verbose;default:return t.Off}}t.fromString=e;function n(r){switch(r){case t.Off:return"off";case t.Messages:return"messages";case t.Compact:return"compact";case t.Verbose:return"verbose";default:return"off"}}t.toString=n})(Ie||(le.Trace=Ie={}));var xn;(function(t){t.Text="text",t.JSON="json"})(xn||(le.TraceFormat=xn={}));(function(t){function e(n){return gt.string(n)?(n=n.toLowerCase(),n==="json"?t.JSON:t.Text):t.Text}t.fromString=e})(xn||(le.TraceFormat=xn={}));var Nm;(function(t){t.type=new ne.NotificationType("$/setTrace")})(Nm||(le.SetTraceNotification=Nm={}));var pu;(function(t){t.type=new ne.NotificationType("$/logTrace")})(pu||(le.LogTraceNotification=pu={}));var La;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})(La||(le.ConnectionErrors=La={}));var co=class t extends Error{constructor(e,n){super(n),this.code=e,Object.setPrototypeOf(this,t.prototype)}};le.ConnectionError=co;var Pm;(function(t){function e(n){let r=n;return r&&gt.func(r.cancelUndispatched)}t.is=e})(Pm||(le.ConnectionStrategy=Pm={}));var mu;(function(t){function e(n){let r=n;return r&&(r.kind===void 0||r.kind==="id")&&gt.func(r.createCancellationTokenSource)&&(r.dispose===void 0||gt.func(r.dispose))}t.is=e})(mu||(le.IdCancellationReceiverStrategy=mu={}));var Rm;(function(t){function e(n){let r=n;return r&&r.kind==="request"&&gt.func(r.createCancellationTokenSource)&&(r.dispose===void 0||gt.func(r.dispose))}t.is=e})(Rm||(le.RequestCancellationReceiverStrategy=Rm={}));var gu;(function(t){t.Message=Object.freeze({createCancellationTokenSource(n){return new Sm.CancellationTokenSource}});function e(n){return mu.is(n)||Rm.is(n)}t.is=e})(gu||(le.CancellationReceiverStrategy=gu={}));var yu;(function(t){t.Message=Object.freeze({sendCancellation(n,r){return n.sendNotification($a.type,{id:r})},cleanup(n){}});function e(n){let r=n;return r&&gt.func(r.sendCancellation)&&gt.func(r.cleanup)}t.is=e})(yu||(le.CancellationSenderStrategy=yu={}));var bu;(function(t){t.Message=Object.freeze({receiver:gu.Message,sender:yu.Message});function e(n){let r=n;return r&&gu.is(r.receiver)&&yu.is(r.sender)}t.is=e})(bu||(le.CancellationStrategy=bu={}));var vu;(function(t){function e(n){let r=n;return r&&gt.func(r.handleMessage)}t.is=e})(vu||(le.MessageStrategy=vu={}));var Q_;(function(t){function e(n){let r=n;return r&&(bu.is(r.cancellationStrategy)||Pm.is(r.connectionStrategy)||vu.is(r.messageStrategy))}t.is=e})(Q_||(le.ConnectionOptions=Q_={}));var ur;(function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"})(ur||(ur={}));function WM(t,e,n,r){let i=n!==void 0?n:le.NullLogger,s=0,o=0,a=0,c="2.0",l,u=new Map,d,f=new Map,h=new Map,y,p=new X_.LinkedMap,T=new Map,S=new Set,b=new Map,v=Ie.Off,w=xn.Text,C,L=ur.New,B=new xa.Emitter,q=new xa.Emitter,ae=new xa.Emitter,We=new xa.Emitter,Dt=new xa.Emitter,ge=r&&r.cancellationStrategy?r.cancellationStrategy:bu.Message;function Un(N){if(N===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+N.toString()}function vi(N){return N===null?"res-unknown-"+(++a).toString():"res-"+N.toString()}function Bl(){return"not-"+(++o).toString()}function Rp(N,x){ne.Message.isRequest(x)?N.set(Un(x.id),x):ne.Message.isResponse(x)?N.set(vi(x.id),x):N.set(Bl(),x)}function Ul(N){}function Na(){return L===ur.Listening}function ls(){return L===ur.Closed}function ei(){return L===ur.Disposed}function Js(){(L===ur.New||L===ur.Listening)&&(L=ur.Closed,q.fire(void 0))}function us(N){B.fire([N,void 0,void 0])}function Vl(N){B.fire(N)}t.onClose(Js),t.onError(us),e.onClose(Js),e.onError(Vl);function Pa(){y||p.size===0||(y=(0,K_.default)().timer.setImmediate(()=>{y=void 0,zl()}))}function Ra(N){ne.Message.isRequest(N)?Hl(N):ne.Message.isNotification(N)?Yl(N):ne.Message.isResponse(N)?Gl(N):Qs(N)}function zl(){if(p.size===0)return;let N=p.shift();try{let x=r?.messageStrategy;vu.is(x)?x.handleMessage(N,Ra):Ra(N)}finally{Pa()}}let Wl=N=>{try{if(ne.Message.isNotification(N)&&N.method===$a.type.method){let x=N.params.id,z=Un(x),X=p.get(z);if(ne.Message.isRequest(X)){let qe=r?.connectionStrategy,it=qe&&qe.cancelUndispatched?qe.cancelUndispatched(X,Ul):void 0;if(it&&(it.error!==void 0||it.result!==void 0)){p.delete(z),b.delete(x),it.id=X.id,ds(it,N.method,Date.now()),e.write(it).catch(()=>i.error("Sending response for canceled message failed."));return}}let He=b.get(x);if(He!==void 0){He.cancel(),Zs(N);return}else S.add(x)}Rp(p,N)}finally{Pa()}};function Hl(N){if(ei())return;function x(ye,Xe,De){let yt={jsonrpc:c,id:N.id};ye instanceof ne.ResponseError?yt.error=ye.toJson():yt.result=ye===void 0?null:ye,ds(yt,Xe,De),e.write(yt).catch(()=>i.error("Sending response failed."))}function z(ye,Xe,De){let yt={jsonrpc:c,id:N.id,error:ye.toJson()};ds(yt,Xe,De),e.write(yt).catch(()=>i.error("Sending response failed."))}function X(ye,Xe,De){ye===void 0&&(ye=null);let yt={jsonrpc:c,id:N.id,result:ye};ds(yt,Xe,De),e.write(yt).catch(()=>i.error("Sending response failed."))}Jl(N);let He=u.get(N.method),qe,it;He&&(qe=He.type,it=He.handler);let ht=Date.now();if(it||l){let ye=N.id??String(Date.now()),Xe=mu.is(ge.receiver)?ge.receiver.createCancellationTokenSource(ye):ge.receiver.createCancellationTokenSource(N);N.id!==null&&S.has(N.id)&&Xe.cancel(),N.id!==null&&b.set(ye,Xe);try{let De;if(it)if(N.params===void 0){if(qe!==void 0&&qe.numberOfParams!==0){z(new ne.ResponseError(ne.ErrorCodes.InvalidParams,`Request ${N.method} defines ${qe.numberOfParams} params but received none.`),N.method,ht);return}De=it(Xe.token)}else if(Array.isArray(N.params)){if(qe!==void 0&&qe.parameterStructures===ne.ParameterStructures.byName){z(new ne.ResponseError(ne.ErrorCodes.InvalidParams,`Request ${N.method} defines parameters by name but received parameters by position`),N.method,ht);return}De=it(...N.params,Xe.token)}else{if(qe!==void 0&&qe.parameterStructures===ne.ParameterStructures.byPosition){z(new ne.ResponseError(ne.ErrorCodes.InvalidParams,`Request ${N.method} defines parameters by position but received parameters by name`),N.method,ht);return}De=it(N.params,Xe.token)}else l&&(De=l(N.method,N.params,Xe.token));let yt=De;De?yt.then?yt.then(Lt=>{b.delete(ye),x(Lt,N.method,ht)},Lt=>{b.delete(ye),Lt instanceof ne.ResponseError?z(Lt,N.method,ht):Lt&&gt.string(Lt.message)?z(new ne.ResponseError(ne.ErrorCodes.InternalError,`Request ${N.method} failed with message: ${Lt.message}`),N.method,ht):z(new ne.ResponseError(ne.ErrorCodes.InternalError,`Request ${N.method} failed unexpectedly without providing any details.`),N.method,ht)}):(b.delete(ye),x(De,N.method,ht)):(b.delete(ye),X(De,N.method,ht))}catch(De){b.delete(ye),De instanceof ne.ResponseError?x(De,N.method,ht):De&&gt.string(De.message)?z(new ne.ResponseError(ne.ErrorCodes.InternalError,`Request ${N.method} failed with message: ${De.message}`),N.method,ht):z(new ne.ResponseError(ne.ErrorCodes.InternalError,`Request ${N.method} failed unexpectedly without providing any details.`),N.method,ht)}}else z(new ne.ResponseError(ne.ErrorCodes.MethodNotFound,`Unhandled method ${N.method}`),N.method,ht)}function Gl(N){if(!ei())if(N.id===null)N.error?i.error(`Received response message without id: Error is:
6
+ ${u}`);let f=u.substr(0,d),h=u.substr(d+1).trim();a.set(e?f.toLowerCase():f,h)}return a}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(e===0)return this.emptyBuffer();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let s=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(s)}if(this._chunks[0].byteLength>e){let s=this._chunks[0],o=this.asNative(s,e);return this._chunks[0]=s.slice(e),this._totalLength-=e,o}let n=this.allocNative(e),r=0,i=0;for(;e>0;){let s=this._chunks[i];if(s.byteLength>e){let o=s.slice(0,e);n.set(o,r),r+=e,this._chunks[i]=s.slice(e),this._totalLength-=e,e-=e}else n.set(s,r),r+=s.byteLength,this._chunks.shift(),this._totalLength-=s.byteLength,e-=s.byteLength}return n}};hu.AbstractMessageBuffer=_m});var Z_=k(le=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.createMessageConnection=le.ConnectionOptions=le.MessageStrategy=le.CancellationStrategy=le.CancellationSenderStrategy=le.CancellationReceiverStrategy=le.RequestCancellationReceiverStrategy=le.IdCancellationReceiverStrategy=le.ConnectionStrategy=le.ConnectionError=le.ConnectionErrors=le.LogTraceNotification=le.SetTraceNotification=le.TraceFormat=le.TraceValues=le.Trace=le.NullLogger=le.ProgressType=le.ProgressToken=void 0;var K_=Si(),gt=no(),ne=em(),X_=nm(),xa=io(),Sm=lu(),$a;(function(t){t.type=new ne.NotificationType("$/cancelRequest")})($a||($a={}));var Em;(function(t){function e(n){return typeof n=="string"||typeof n=="number"}t.is=e})(Em||(le.ProgressToken=Em={}));var Ma;(function(t){t.type=new ne.NotificationType("$/progress")})(Ma||(Ma={}));var wm=class{constructor(){}};le.ProgressType=wm;var km;(function(t){function e(n){return gt.func(n)}t.is=e})(km||(km={}));le.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var Ie;(function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"})(Ie||(le.Trace=Ie={}));var J_;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(J_||(le.TraceValues=J_={}));(function(t){function e(r){if(!gt.string(r))return t.Off;switch(r=r.toLowerCase(),r){case"off":return t.Off;case"messages":return t.Messages;case"compact":return t.Compact;case"verbose":return t.Verbose;default:return t.Off}}t.fromString=e;function n(r){switch(r){case t.Off:return"off";case t.Messages:return"messages";case t.Compact:return"compact";case t.Verbose:return"verbose";default:return"off"}}t.toString=n})(Ie||(le.Trace=Ie={}));var xn;(function(t){t.Text="text",t.JSON="json"})(xn||(le.TraceFormat=xn={}));(function(t){function e(n){return gt.string(n)?(n=n.toLowerCase(),n==="json"?t.JSON:t.Text):t.Text}t.fromString=e})(xn||(le.TraceFormat=xn={}));var Nm;(function(t){t.type=new ne.NotificationType("$/setTrace")})(Nm||(le.SetTraceNotification=Nm={}));var pu;(function(t){t.type=new ne.NotificationType("$/logTrace")})(pu||(le.LogTraceNotification=pu={}));var La;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})(La||(le.ConnectionErrors=La={}));var co=class t extends Error{constructor(e,n){super(n),this.code=e,Object.setPrototypeOf(this,t.prototype)}};le.ConnectionError=co;var Pm;(function(t){function e(n){let r=n;return r&&gt.func(r.cancelUndispatched)}t.is=e})(Pm||(le.ConnectionStrategy=Pm={}));var mu;(function(t){function e(n){let r=n;return r&&(r.kind===void 0||r.kind==="id")&&gt.func(r.createCancellationTokenSource)&&(r.dispose===void 0||gt.func(r.dispose))}t.is=e})(mu||(le.IdCancellationReceiverStrategy=mu={}));var Rm;(function(t){function e(n){let r=n;return r&&r.kind==="request"&&gt.func(r.createCancellationTokenSource)&&(r.dispose===void 0||gt.func(r.dispose))}t.is=e})(Rm||(le.RequestCancellationReceiverStrategy=Rm={}));var gu;(function(t){t.Message=Object.freeze({createCancellationTokenSource(n){return new Sm.CancellationTokenSource}});function e(n){return mu.is(n)||Rm.is(n)}t.is=e})(gu||(le.CancellationReceiverStrategy=gu={}));var yu;(function(t){t.Message=Object.freeze({sendCancellation(n,r){return n.sendNotification($a.type,{id:r})},cleanup(n){}});function e(n){let r=n;return r&&gt.func(r.sendCancellation)&&gt.func(r.cleanup)}t.is=e})(yu||(le.CancellationSenderStrategy=yu={}));var bu;(function(t){t.Message=Object.freeze({receiver:gu.Message,sender:yu.Message});function e(n){let r=n;return r&&gu.is(r.receiver)&&yu.is(r.sender)}t.is=e})(bu||(le.CancellationStrategy=bu={}));var vu;(function(t){function e(n){let r=n;return r&&gt.func(r.handleMessage)}t.is=e})(vu||(le.MessageStrategy=vu={}));var Q_;(function(t){function e(n){let r=n;return r&&(bu.is(r.cancellationStrategy)||Pm.is(r.connectionStrategy)||vu.is(r.messageStrategy))}t.is=e})(Q_||(le.ConnectionOptions=Q_={}));var ur;(function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"})(ur||(ur={}));function WM(t,e,n,r){let i=n!==void 0?n:le.NullLogger,s=0,o=0,a=0,c="2.0",l,u=new Map,d,f=new Map,h=new Map,y,p=new X_.LinkedMap,T=new Map,S=new Set,b=new Map,v=Ie.Off,w=xn.Text,C,L=ur.New,B=new xa.Emitter,q=new xa.Emitter,ae=new xa.Emitter,We=new xa.Emitter,Dt=new xa.Emitter,ge=r&&r.cancellationStrategy?r.cancellationStrategy:bu.Message;function Un(N){if(N===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+N.toString()}function vi(N){return N===null?"res-unknown-"+(++a).toString():"res-"+N.toString()}function Bl(){return"not-"+(++o).toString()}function Rp(N,x){ne.Message.isRequest(x)?N.set(Un(x.id),x):ne.Message.isResponse(x)?N.set(vi(x.id),x):N.set(Bl(),x)}function Ul(N){}function Na(){return L===ur.Listening}function ls(){return L===ur.Closed}function ei(){return L===ur.Disposed}function Js(){(L===ur.New||L===ur.Listening)&&(L=ur.Closed,q.fire(void 0))}function us(N){B.fire([N,void 0,void 0])}function Vl(N){B.fire(N)}t.onClose(Js),t.onError(us),e.onClose(Js),e.onError(Vl);function Pa(){y||p.size===0||(y=(0,K_.default)().timer.setImmediate(()=>{y=void 0,zl()}))}function Ra(N){ne.Message.isRequest(N)?Hl(N):ne.Message.isNotification(N)?Yl(N):ne.Message.isResponse(N)?Gl(N):Qs(N)}function zl(){if(p.size===0)return;let N=p.shift();try{let x=r?.messageStrategy;vu.is(x)?x.handleMessage(N,Ra):Ra(N)}finally{Pa()}}let Wl=N=>{try{if(ne.Message.isNotification(N)&&N.method===$a.type.method){let x=N.params.id,z=Un(x),X=p.get(z);if(ne.Message.isRequest(X)){let qe=r?.connectionStrategy,st=qe&&qe.cancelUndispatched?qe.cancelUndispatched(X,Ul):void 0;if(st&&(st.error!==void 0||st.result!==void 0)){p.delete(z),b.delete(x),st.id=X.id,ds(st,N.method,Date.now()),e.write(st).catch(()=>i.error("Sending response for canceled message failed."));return}}let He=b.get(x);if(He!==void 0){He.cancel(),Zs(N);return}else S.add(x)}Rp(p,N)}finally{Pa()}};function Hl(N){if(ei())return;function x(ye,Xe,De){let yt={jsonrpc:c,id:N.id};ye instanceof ne.ResponseError?yt.error=ye.toJson():yt.result=ye===void 0?null:ye,ds(yt,Xe,De),e.write(yt).catch(()=>i.error("Sending response failed."))}function z(ye,Xe,De){let yt={jsonrpc:c,id:N.id,error:ye.toJson()};ds(yt,Xe,De),e.write(yt).catch(()=>i.error("Sending response failed."))}function X(ye,Xe,De){ye===void 0&&(ye=null);let yt={jsonrpc:c,id:N.id,result:ye};ds(yt,Xe,De),e.write(yt).catch(()=>i.error("Sending response failed."))}Jl(N);let He=u.get(N.method),qe,st;He&&(qe=He.type,st=He.handler);let ht=Date.now();if(st||l){let ye=N.id??String(Date.now()),Xe=mu.is(ge.receiver)?ge.receiver.createCancellationTokenSource(ye):ge.receiver.createCancellationTokenSource(N);N.id!==null&&S.has(N.id)&&Xe.cancel(),N.id!==null&&b.set(ye,Xe);try{let De;if(st)if(N.params===void 0){if(qe!==void 0&&qe.numberOfParams!==0){z(new ne.ResponseError(ne.ErrorCodes.InvalidParams,`Request ${N.method} defines ${qe.numberOfParams} params but received none.`),N.method,ht);return}De=st(Xe.token)}else if(Array.isArray(N.params)){if(qe!==void 0&&qe.parameterStructures===ne.ParameterStructures.byName){z(new ne.ResponseError(ne.ErrorCodes.InvalidParams,`Request ${N.method} defines parameters by name but received parameters by position`),N.method,ht);return}De=st(...N.params,Xe.token)}else{if(qe!==void 0&&qe.parameterStructures===ne.ParameterStructures.byPosition){z(new ne.ResponseError(ne.ErrorCodes.InvalidParams,`Request ${N.method} defines parameters by position but received parameters by name`),N.method,ht);return}De=st(N.params,Xe.token)}else l&&(De=l(N.method,N.params,Xe.token));let yt=De;De?yt.then?yt.then(Lt=>{b.delete(ye),x(Lt,N.method,ht)},Lt=>{b.delete(ye),Lt instanceof ne.ResponseError?z(Lt,N.method,ht):Lt&&gt.string(Lt.message)?z(new ne.ResponseError(ne.ErrorCodes.InternalError,`Request ${N.method} failed with message: ${Lt.message}`),N.method,ht):z(new ne.ResponseError(ne.ErrorCodes.InternalError,`Request ${N.method} failed unexpectedly without providing any details.`),N.method,ht)}):(b.delete(ye),x(De,N.method,ht)):(b.delete(ye),X(De,N.method,ht))}catch(De){b.delete(ye),De instanceof ne.ResponseError?x(De,N.method,ht):De&&gt.string(De.message)?z(new ne.ResponseError(ne.ErrorCodes.InternalError,`Request ${N.method} failed with message: ${De.message}`),N.method,ht):z(new ne.ResponseError(ne.ErrorCodes.InternalError,`Request ${N.method} failed unexpectedly without providing any details.`),N.method,ht)}}else z(new ne.ResponseError(ne.ErrorCodes.MethodNotFound,`Unhandled method ${N.method}`),N.method,ht)}function Gl(N){if(!ei())if(N.id===null)N.error?i.error(`Received response message without id: Error is:
7
7
  ${JSON.stringify(N.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let x=N.id,z=T.get(x);if(Ql(N,z),z!==void 0){T.delete(x);try{if(N.error){let X=N.error;z.reject(new ne.ResponseError(X.code,X.message,X.data))}else if(N.result!==void 0)z.resolve(N.result);else throw new Error("Should never happen.")}catch(X){X.message?i.error(`Response handler '${z.method}' failed with message: ${X.message}`):i.error(`Response handler '${z.method}' failed unexpectedly.`)}}}}function Yl(N){if(ei())return;let x,z;if(N.method===$a.type.method){let X=N.params.id;S.delete(X),Zs(N);return}else{let X=f.get(N.method);X&&(z=X.handler,x=X.type)}if(z||d)try{if(Zs(N),z)if(N.params===void 0)x!==void 0&&x.numberOfParams!==0&&x.parameterStructures!==ne.ParameterStructures.byName&&i.error(`Notification ${N.method} defines ${x.numberOfParams} params but received none.`),z();else if(Array.isArray(N.params)){let X=N.params;N.method===Ma.type.method&&X.length===2&&Em.is(X[0])?z({token:X[0],value:X[1]}):(x!==void 0&&(x.parameterStructures===ne.ParameterStructures.byName&&i.error(`Notification ${N.method} defines parameters by name but received parameters by position`),x.numberOfParams!==N.params.length&&i.error(`Notification ${N.method} defines ${x.numberOfParams} params but received ${X.length} arguments`)),z(...X))}else x!==void 0&&x.parameterStructures===ne.ParameterStructures.byPosition&&i.error(`Notification ${N.method} defines parameters by position but received parameters by name`),z(N.params);else d&&d(N.method,N.params)}catch(X){X.message?i.error(`Notification handler '${N.method}' failed with message: ${X.message}`):i.error(`Notification handler '${N.method}' failed unexpectedly.`)}else ae.fire(N)}function Qs(N){if(!N){i.error("Received empty message.");return}i.error(`Received message which is neither a response nor a notification message:
8
8
  ${JSON.stringify(N,null,4)}`);let x=N;if(gt.string(x.id)||gt.number(x.id)){let z=x.id,X=T.get(z);X&&X.reject(new Error("The received response has neither a result nor an error property."))}}function ar(N){if(N!=null)switch(v){case Ie.Verbose:return JSON.stringify(N,null,4);case Ie.Compact:return JSON.stringify(N);default:return}}function Kl(N){if(!(v===Ie.Off||!C))if(w===xn.Text){let x;(v===Ie.Verbose||v===Ie.Compact)&&N.params&&(x=`Params: ${ar(N.params)}
9
9
 
@@ -29,7 +29,7 @@ ${JSON.stringify(N,null,4)}`);let x=N;if(gt.string(x.id)||gt.number(x.id)){let z
29
29
 
30
30
  `:N.error===void 0&&(z=`No result returned.
31
31
 
32
- `)),x){let X=N.error?` Request failed: ${N.error.message} (${N.error.code}).`:"";C.log(`Received response '${x.method} - (${N.id})' in ${Date.now()-x.timerStart}ms.${X}`,z)}else C.log(`Received response ${N.id} without active response promise.`,z)}else ti("receive-response",N)}function ti(N,x){if(!C||v===Ie.Off)return;let z={isLSPMessage:!0,type:N,message:x,timestamp:Date.now()};C.log(z)}function Ti(){if(ls())throw new co(La.Closed,"Connection is closed.");if(ei())throw new co(La.Disposed,"Connection is disposed.")}function Zl(){if(Na())throw new co(La.AlreadyListening,"Connection is already listening")}function eu(){if(!Na())throw new Error("Call listen() first.")}function Dr(N){return N===void 0?null:N}function Ca(N){if(N!==null)return N}function Da(N){return N!=null&&!Array.isArray(N)&&typeof N=="object"}function eo(N,x){switch(N){case ne.ParameterStructures.auto:return Da(x)?Ca(x):[Dr(x)];case ne.ParameterStructures.byName:if(!Da(x))throw new Error("Received parameters by name but param is not an object literal.");return Ca(x);case ne.ParameterStructures.byPosition:return[Dr(x)];default:throw new Error(`Unknown parameter structure ${N.toString()}`)}}function Aa(N,x){let z,X=N.numberOfParams;switch(X){case 0:z=void 0;break;case 1:z=eo(N.parameterStructures,x[0]);break;default:z=[];for(let He=0;He<x.length&&He<X;He++)z.push(Dr(x[He]));if(x.length<X)for(let He=x.length;He<X;He++)z.push(null);break}return z}let ni={sendNotification:(N,...x)=>{Ti();let z,X;if(gt.string(N)){z=N;let qe=x[0],it=0,ht=ne.ParameterStructures.auto;ne.ParameterStructures.is(qe)&&(it=1,ht=qe);let ye=x.length,Xe=ye-it;switch(Xe){case 0:X=void 0;break;case 1:X=eo(ht,x[it]);break;default:if(ht===ne.ParameterStructures.byName)throw new Error(`Received ${Xe} parameters for 'by Name' notification parameter structure.`);X=x.slice(it,ye).map(De=>Dr(De));break}}else{let qe=x;z=N.method,X=Aa(N,qe)}let He={jsonrpc:c,method:z,params:X};return Xl(He),e.write(He).catch(qe=>{throw i.error("Sending notification failed."),qe})},onNotification:(N,x)=>{Ti();let z;return gt.func(N)?d=N:x&&(gt.string(N)?(z=N,f.set(N,{type:void 0,handler:x})):(z=N.method,f.set(N.method,{type:N,handler:x}))),{dispose:()=>{z!==void 0?f.delete(z):d=void 0}}},onProgress:(N,x,z)=>{if(h.has(x))throw new Error(`Progress handler for token ${x} already registered`);return h.set(x,z),{dispose:()=>{h.delete(x)}}},sendProgress:(N,x,z)=>ni.sendNotification(Ma.type,{token:x,value:z}),onUnhandledProgress:We.event,sendRequest:(N,...x)=>{Ti(),eu();let z,X,He;if(gt.string(N)){z=N;let ye=x[0],Xe=x[x.length-1],De=0,yt=ne.ParameterStructures.auto;ne.ParameterStructures.is(ye)&&(De=1,yt=ye);let Lt=x.length;Sm.CancellationToken.is(Xe)&&(Lt=Lt-1,He=Xe);let In=Lt-De;switch(In){case 0:X=void 0;break;case 1:X=eo(yt,x[De]);break;default:if(yt===ne.ParameterStructures.byName)throw new Error(`Received ${In} parameters for 'by Name' request parameter structure.`);X=x.slice(De,Lt).map(tu=>Dr(tu));break}}else{let ye=x;z=N.method,X=Aa(N,ye);let Xe=N.numberOfParams;He=Sm.CancellationToken.is(ye[Xe])?ye[Xe]:void 0}let qe=s++,it;He&&(it=He.onCancellationRequested(()=>{let ye=ge.sender.sendCancellation(ni,qe);return ye===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${qe}`),Promise.resolve()):ye.catch(()=>{i.log(`Sending cancellation messages for id ${qe} failed`)})}));let ht={jsonrpc:c,id:qe,method:z,params:X};return Kl(ht),typeof ge.sender.enableCancellation=="function"&&ge.sender.enableCancellation(ht),new Promise(async(ye,Xe)=>{let De=In=>{ye(In),ge.sender.cleanup(qe),it?.dispose()},yt=In=>{Xe(In),ge.sender.cleanup(qe),it?.dispose()},Lt={method:z,timerStart:Date.now(),resolve:De,reject:yt};try{await e.write(ht),T.set(qe,Lt)}catch(In){throw i.error("Sending request failed."),Lt.reject(new ne.ResponseError(ne.ErrorCodes.MessageWriteError,In.message?In.message:"Unknown reason")),In}})},onRequest:(N,x)=>{Ti();let z=null;return km.is(N)?(z=void 0,l=N):gt.string(N)?(z=null,x!==void 0&&(z=N,u.set(N,{handler:x,type:void 0}))):x!==void 0&&(z=N.method,u.set(N.method,{type:N,handler:x})),{dispose:()=>{z!==null&&(z!==void 0?u.delete(z):l=void 0)}}},hasPendingResponse:()=>T.size>0,trace:async(N,x,z)=>{let X=!1,He=xn.Text;z!==void 0&&(gt.boolean(z)?X=z:(X=z.sendNotification||!1,He=z.traceFormat||xn.Text)),v=N,w=He,v===Ie.Off?C=void 0:C=x,X&&!ls()&&!ei()&&await ni.sendNotification(Nm.type,{value:Ie.toString(N)})},onError:B.event,onClose:q.event,onUnhandledNotification:ae.event,onDispose:Dt.event,end:()=>{e.end()},dispose:()=>{if(ei())return;L=ur.Disposed,Dt.fire(void 0);let N=new ne.ResponseError(ne.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let x of T.values())x.reject(N);T=new Map,b=new Map,S=new Set,p=new X_.LinkedMap,gt.func(e.dispose)&&e.dispose(),gt.func(t.dispose)&&t.dispose()},listen:()=>{Ti(),Zl(),L=ur.Listening,t.listen(Wl)},inspect:()=>{(0,K_.default)().console.log("inspect")}};return ni.onNotification(pu.type,N=>{if(v===Ie.Off||!C)return;let x=v===Ie.Verbose||v===Ie.Compact;C.log(N.message,x?N.verbose:void 0)}),ni.onNotification(Ma.type,N=>{let x=h.get(N.token);x?x(N.value):We.fire(N)}),ni}le.createMessageConnection=WM});var Tu=k(I=>{"use strict";Object.defineProperty(I,"__esModule",{value:!0});I.ProgressType=I.ProgressToken=I.createMessageConnection=I.NullLogger=I.ConnectionOptions=I.ConnectionStrategy=I.AbstractMessageBuffer=I.WriteableStreamMessageWriter=I.AbstractMessageWriter=I.MessageWriter=I.ReadableStreamMessageReader=I.AbstractMessageReader=I.MessageReader=I.SharedArrayReceiverStrategy=I.SharedArraySenderStrategy=I.CancellationToken=I.CancellationTokenSource=I.Emitter=I.Event=I.Disposable=I.LRUCache=I.Touch=I.LinkedMap=I.ParameterStructures=I.NotificationType9=I.NotificationType8=I.NotificationType7=I.NotificationType6=I.NotificationType5=I.NotificationType4=I.NotificationType3=I.NotificationType2=I.NotificationType1=I.NotificationType0=I.NotificationType=I.ErrorCodes=I.ResponseError=I.RequestType9=I.RequestType8=I.RequestType7=I.RequestType6=I.RequestType5=I.RequestType4=I.RequestType3=I.RequestType2=I.RequestType1=I.RequestType0=I.RequestType=I.Message=I.RAL=void 0;I.MessageStrategy=I.CancellationStrategy=I.CancellationSenderStrategy=I.CancellationReceiverStrategy=I.ConnectionError=I.ConnectionErrors=I.LogTraceNotification=I.SetTraceNotification=I.TraceFormat=I.TraceValues=I.Trace=void 0;var et=em();Object.defineProperty(I,"Message",{enumerable:!0,get:function(){return et.Message}});Object.defineProperty(I,"RequestType",{enumerable:!0,get:function(){return et.RequestType}});Object.defineProperty(I,"RequestType0",{enumerable:!0,get:function(){return et.RequestType0}});Object.defineProperty(I,"RequestType1",{enumerable:!0,get:function(){return et.RequestType1}});Object.defineProperty(I,"RequestType2",{enumerable:!0,get:function(){return et.RequestType2}});Object.defineProperty(I,"RequestType3",{enumerable:!0,get:function(){return et.RequestType3}});Object.defineProperty(I,"RequestType4",{enumerable:!0,get:function(){return et.RequestType4}});Object.defineProperty(I,"RequestType5",{enumerable:!0,get:function(){return et.RequestType5}});Object.defineProperty(I,"RequestType6",{enumerable:!0,get:function(){return et.RequestType6}});Object.defineProperty(I,"RequestType7",{enumerable:!0,get:function(){return et.RequestType7}});Object.defineProperty(I,"RequestType8",{enumerable:!0,get:function(){return et.RequestType8}});Object.defineProperty(I,"RequestType9",{enumerable:!0,get:function(){return et.RequestType9}});Object.defineProperty(I,"ResponseError",{enumerable:!0,get:function(){return et.ResponseError}});Object.defineProperty(I,"ErrorCodes",{enumerable:!0,get:function(){return et.ErrorCodes}});Object.defineProperty(I,"NotificationType",{enumerable:!0,get:function(){return et.NotificationType}});Object.defineProperty(I,"NotificationType0",{enumerable:!0,get:function(){return et.NotificationType0}});Object.defineProperty(I,"NotificationType1",{enumerable:!0,get:function(){return et.NotificationType1}});Object.defineProperty(I,"NotificationType2",{enumerable:!0,get:function(){return et.NotificationType2}});Object.defineProperty(I,"NotificationType3",{enumerable:!0,get:function(){return et.NotificationType3}});Object.defineProperty(I,"NotificationType4",{enumerable:!0,get:function(){return et.NotificationType4}});Object.defineProperty(I,"NotificationType5",{enumerable:!0,get:function(){return et.NotificationType5}});Object.defineProperty(I,"NotificationType6",{enumerable:!0,get:function(){return et.NotificationType6}});Object.defineProperty(I,"NotificationType7",{enumerable:!0,get:function(){return et.NotificationType7}});Object.defineProperty(I,"NotificationType8",{enumerable:!0,get:function(){return et.NotificationType8}});Object.defineProperty(I,"NotificationType9",{enumerable:!0,get:function(){return et.NotificationType9}});Object.defineProperty(I,"ParameterStructures",{enumerable:!0,get:function(){return et.ParameterStructures}});var Cm=nm();Object.defineProperty(I,"LinkedMap",{enumerable:!0,get:function(){return Cm.LinkedMap}});Object.defineProperty(I,"LRUCache",{enumerable:!0,get:function(){return Cm.LRUCache}});Object.defineProperty(I,"Touch",{enumerable:!0,get:function(){return Cm.Touch}});var HM=q_();Object.defineProperty(I,"Disposable",{enumerable:!0,get:function(){return HM.Disposable}});var eS=io();Object.defineProperty(I,"Event",{enumerable:!0,get:function(){return eS.Event}});Object.defineProperty(I,"Emitter",{enumerable:!0,get:function(){return eS.Emitter}});var tS=lu();Object.defineProperty(I,"CancellationTokenSource",{enumerable:!0,get:function(){return tS.CancellationTokenSource}});Object.defineProperty(I,"CancellationToken",{enumerable:!0,get:function(){return tS.CancellationToken}});var nS=F_();Object.defineProperty(I,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return nS.SharedArraySenderStrategy}});Object.defineProperty(I,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return nS.SharedArrayReceiverStrategy}});var Dm=U_();Object.defineProperty(I,"MessageReader",{enumerable:!0,get:function(){return Dm.MessageReader}});Object.defineProperty(I,"AbstractMessageReader",{enumerable:!0,get:function(){return Dm.AbstractMessageReader}});Object.defineProperty(I,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return Dm.ReadableStreamMessageReader}});var Am=G_();Object.defineProperty(I,"MessageWriter",{enumerable:!0,get:function(){return Am.MessageWriter}});Object.defineProperty(I,"AbstractMessageWriter",{enumerable:!0,get:function(){return Am.AbstractMessageWriter}});Object.defineProperty(I,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return Am.WriteableStreamMessageWriter}});var GM=Y_();Object.defineProperty(I,"AbstractMessageBuffer",{enumerable:!0,get:function(){return GM.AbstractMessageBuffer}});var Vt=Z_();Object.defineProperty(I,"ConnectionStrategy",{enumerable:!0,get:function(){return Vt.ConnectionStrategy}});Object.defineProperty(I,"ConnectionOptions",{enumerable:!0,get:function(){return Vt.ConnectionOptions}});Object.defineProperty(I,"NullLogger",{enumerable:!0,get:function(){return Vt.NullLogger}});Object.defineProperty(I,"createMessageConnection",{enumerable:!0,get:function(){return Vt.createMessageConnection}});Object.defineProperty(I,"ProgressToken",{enumerable:!0,get:function(){return Vt.ProgressToken}});Object.defineProperty(I,"ProgressType",{enumerable:!0,get:function(){return Vt.ProgressType}});Object.defineProperty(I,"Trace",{enumerable:!0,get:function(){return Vt.Trace}});Object.defineProperty(I,"TraceValues",{enumerable:!0,get:function(){return Vt.TraceValues}});Object.defineProperty(I,"TraceFormat",{enumerable:!0,get:function(){return Vt.TraceFormat}});Object.defineProperty(I,"SetTraceNotification",{enumerable:!0,get:function(){return Vt.SetTraceNotification}});Object.defineProperty(I,"LogTraceNotification",{enumerable:!0,get:function(){return Vt.LogTraceNotification}});Object.defineProperty(I,"ConnectionErrors",{enumerable:!0,get:function(){return Vt.ConnectionErrors}});Object.defineProperty(I,"ConnectionError",{enumerable:!0,get:function(){return Vt.ConnectionError}});Object.defineProperty(I,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return Vt.CancellationReceiverStrategy}});Object.defineProperty(I,"CancellationSenderStrategy",{enumerable:!0,get:function(){return Vt.CancellationSenderStrategy}});Object.defineProperty(I,"CancellationStrategy",{enumerable:!0,get:function(){return Vt.CancellationStrategy}});Object.defineProperty(I,"MessageStrategy",{enumerable:!0,get:function(){return Vt.MessageStrategy}});var YM=Si();I.RAL=YM.default});var sS=k(Mm=>{"use strict";Object.defineProperty(Mm,"__esModule",{value:!0});var rS=require("util"),ii=Tu(),_u=class t extends ii.AbstractMessageBuffer{constructor(e="utf-8"){super(e)}emptyBuffer(){return t.emptyBuffer}fromString(e,n){return Buffer.from(e,n)}toString(e,n){return e instanceof Buffer?e.toString(n):new rS.TextDecoder(n).decode(e)}asNative(e,n){return n===void 0?e instanceof Buffer?e:Buffer.from(e):e instanceof Buffer?e.slice(0,n):Buffer.from(e,0,n)}allocNative(e){return Buffer.allocUnsafe(e)}};_u.emptyBuffer=Buffer.allocUnsafe(0);var Om=class{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),ii.Disposable.create(()=>this.stream.off("close",e))}onError(e){return this.stream.on("error",e),ii.Disposable.create(()=>this.stream.off("error",e))}onEnd(e){return this.stream.on("end",e),ii.Disposable.create(()=>this.stream.off("end",e))}onData(e){return this.stream.on("data",e),ii.Disposable.create(()=>this.stream.off("data",e))}},Im=class{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),ii.Disposable.create(()=>this.stream.off("close",e))}onError(e){return this.stream.on("error",e),ii.Disposable.create(()=>this.stream.off("error",e))}onEnd(e){return this.stream.on("end",e),ii.Disposable.create(()=>this.stream.off("end",e))}write(e,n){return new Promise((r,i)=>{let s=o=>{o==null?r():i(o)};typeof e=="string"?this.stream.write(e,n,s):this.stream.write(e,s)})}end(){this.stream.end()}},iS=Object.freeze({messageBuffer:Object.freeze({create:t=>new _u(t)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(t,e)=>{try{return Promise.resolve(Buffer.from(JSON.stringify(t,void 0,0),e.charset))}catch(n){return Promise.reject(n)}}}),decoder:Object.freeze({name:"application/json",decode:(t,e)=>{try{return t instanceof Buffer?Promise.resolve(JSON.parse(t.toString(e.charset))):Promise.resolve(JSON.parse(new rS.TextDecoder(e.charset).decode(t)))}catch(n){return Promise.reject(n)}}})}),stream:Object.freeze({asReadableStream:t=>new Om(t),asWritableStream:t=>new Im(t)}),console,timer:Object.freeze({setTimeout(t,e,...n){let r=setTimeout(t,e,...n);return{dispose:()=>clearTimeout(r)}},setImmediate(t,...e){let n=setImmediate(t,...e);return{dispose:()=>clearImmediate(n)}},setInterval(t,e,...n){let r=setInterval(t,e,...n);return{dispose:()=>clearInterval(r)}}})});function xm(){return iS}(function(t){function e(){ii.RAL.install(iS)}t.install=e})(xm||(xm={}));Mm.default=xm});var ms=k(Se=>{"use strict";var KM=Se&&Se.__createBinding||(Object.create?function(t,e,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]}),XM=Se&&Se.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&KM(e,t,n)};Object.defineProperty(Se,"__esModule",{value:!0});Se.createMessageConnection=Se.createServerSocketTransport=Se.createClientSocketTransport=Se.createServerPipeTransport=Se.createClientPipeTransport=Se.generateRandomPipeName=Se.StreamMessageWriter=Se.StreamMessageReader=Se.SocketMessageWriter=Se.SocketMessageReader=Se.PortMessageWriter=Se.PortMessageReader=Se.IPCMessageWriter=Se.IPCMessageReader=void 0;var lo=sS();lo.default.install();var oS=require("path"),JM=require("os"),QM=require("crypto"),wu=require("net"),Mn=Tu();XM(Tu(),Se);var Lm=class extends Mn.AbstractMessageReader{constructor(e){super(),this.process=e;let n=this.process;n.on("error",r=>this.fireError(r)),n.on("close",()=>this.fireClose())}listen(e){return this.process.on("message",e),Mn.Disposable.create(()=>this.process.off("message",e))}};Se.IPCMessageReader=Lm;var $m=class extends Mn.AbstractMessageWriter{constructor(e){super(),this.process=e,this.errorCount=0;let n=this.process;n.on("error",r=>this.fireError(r)),n.on("close",()=>this.fireClose)}write(e){try{return typeof this.process.send=="function"&&this.process.send(e,void 0,void 0,n=>{n?(this.errorCount++,this.handleError(n,e)):this.errorCount=0}),Promise.resolve()}catch(n){return this.handleError(n,e),Promise.reject(n)}}handleError(e,n){this.errorCount++,this.fireError(e,n,this.errorCount)}end(){}};Se.IPCMessageWriter=$m;var qm=class extends Mn.AbstractMessageReader{constructor(e){super(),this.onData=new Mn.Emitter,e.on("close",()=>this.fireClose),e.on("error",n=>this.fireError(n)),e.on("message",n=>{this.onData.fire(n)})}listen(e){return this.onData.event(e)}};Se.PortMessageReader=qm;var jm=class extends Mn.AbstractMessageWriter{constructor(e){super(),this.port=e,this.errorCount=0,e.on("close",()=>this.fireClose()),e.on("error",n=>this.fireError(n))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(n){return this.handleError(n,e),Promise.reject(n)}}handleError(e,n){this.errorCount++,this.fireError(e,n,this.errorCount)}end(){}};Se.PortMessageWriter=jm;var hs=class extends Mn.ReadableStreamMessageReader{constructor(e,n="utf-8"){super((0,lo.default)().stream.asReadableStream(e),n)}};Se.SocketMessageReader=hs;var ps=class extends Mn.WriteableStreamMessageWriter{constructor(e,n){super((0,lo.default)().stream.asWritableStream(e),n),this.socket=e}dispose(){super.dispose(),this.socket.destroy()}};Se.SocketMessageWriter=ps;var Su=class extends Mn.ReadableStreamMessageReader{constructor(e,n){super((0,lo.default)().stream.asReadableStream(e),n)}};Se.StreamMessageReader=Su;var Eu=class extends Mn.WriteableStreamMessageWriter{constructor(e,n){super((0,lo.default)().stream.asWritableStream(e),n)}};Se.StreamMessageWriter=Eu;var aS=process.env.XDG_RUNTIME_DIR,ZM=new Map([["linux",107],["darwin",103]]);function e1(){let t=(0,QM.randomBytes)(21).toString("hex");if(process.platform==="win32")return`\\\\.\\pipe\\vscode-jsonrpc-${t}-sock`;let e;aS?e=oS.join(aS,`vscode-ipc-${t}.sock`):e=oS.join(JM.tmpdir(),`vscode-${t}.sock`);let n=ZM.get(process.platform);return n!==void 0&&e.length>n&&(0,lo.default)().console.warn(`WARNING: IPC handle "${e}" is longer than ${n} characters.`),e}Se.generateRandomPipeName=e1;function t1(t,e="utf-8"){let n,r=new Promise((i,s)=>{n=i});return new Promise((i,s)=>{let o=(0,wu.createServer)(a=>{o.close(),n([new hs(a,e),new ps(a,e)])});o.on("error",s),o.listen(t,()=>{o.removeListener("error",s),i({onConnected:()=>r})})})}Se.createClientPipeTransport=t1;function n1(t,e="utf-8"){let n=(0,wu.createConnection)(t);return[new hs(n,e),new ps(n,e)]}Se.createServerPipeTransport=n1;function r1(t,e="utf-8"){let n,r=new Promise((i,s)=>{n=i});return new Promise((i,s)=>{let o=(0,wu.createServer)(a=>{o.close(),n([new hs(a,e),new ps(a,e)])});o.on("error",s),o.listen(t,"127.0.0.1",()=>{o.removeListener("error",s),i({onConnected:()=>r})})})}Se.createClientSocketTransport=r1;function i1(t,e="utf-8"){let n=(0,wu.createConnection)(t,"127.0.0.1");return[new hs(n,e),new ps(n,e)]}Se.createServerSocketTransport=i1;function s1(t){let e=t;return e.read!==void 0&&e.addListener!==void 0}function o1(t){let e=t;return e.write!==void 0&&e.addListener!==void 0}function a1(t,e,n,r){n||(n=Mn.NullLogger);let i=s1(t)?new Su(t):t,s=o1(e)?new Eu(e):e;return Mn.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),(0,Mn.createMessageConnection)(i,s,n,r)}Se.createMessageConnection=a1});var Fm=k((WK,cS)=>{"use strict";cS.exports=ms()});var Nu=k((lS,ku)=>{(function(t){if(typeof ku=="object"&&typeof ku.exports=="object"){var e=t(require,lS);e!==void 0&&(ku.exports=e)}else typeof define=="function"&&define.amd&&define(["require","exports"],t)})(function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextDocument=e.EOL=e.WorkspaceFolder=e.InlineCompletionContext=e.SelectedCompletionInfo=e.InlineCompletionTriggerKind=e.InlineCompletionList=e.InlineCompletionItem=e.StringValue=e.InlayHint=e.InlayHintLabelPart=e.InlayHintKind=e.InlineValueContext=e.InlineValueEvaluatableExpression=e.InlineValueVariableLookup=e.InlineValueText=e.SemanticTokens=e.SemanticTokenModifiers=e.SemanticTokenTypes=e.SelectionRange=e.DocumentLink=e.FormattingOptions=e.CodeLens=e.CodeAction=e.CodeActionContext=e.CodeActionTriggerKind=e.CodeActionKind=e.DocumentSymbol=e.WorkspaceSymbol=e.SymbolInformation=e.SymbolTag=e.SymbolKind=e.DocumentHighlight=e.DocumentHighlightKind=e.SignatureInformation=e.ParameterInformation=e.Hover=e.MarkedString=e.CompletionList=e.CompletionItem=e.CompletionItemLabelDetails=e.InsertTextMode=e.InsertReplaceEdit=e.CompletionItemTag=e.InsertTextFormat=e.CompletionItemKind=e.MarkupContent=e.MarkupKind=e.TextDocumentItem=e.OptionalVersionedTextDocumentIdentifier=e.VersionedTextDocumentIdentifier=e.TextDocumentIdentifier=e.WorkspaceChange=e.WorkspaceEdit=e.DeleteFile=e.RenameFile=e.CreateFile=e.TextDocumentEdit=e.AnnotatedTextEdit=e.ChangeAnnotationIdentifier=e.ChangeAnnotation=e.TextEdit=e.Command=e.Diagnostic=e.CodeDescription=e.DiagnosticTag=e.DiagnosticSeverity=e.DiagnosticRelatedInformation=e.FoldingRange=e.FoldingRangeKind=e.ColorPresentation=e.ColorInformation=e.Color=e.LocationLink=e.Location=e.Range=e.Position=e.uinteger=e.integer=e.URI=e.DocumentUri=void 0;var n;(function(g){function P(R){return typeof R=="string"}g.is=P})(n||(e.DocumentUri=n={}));var r;(function(g){function P(R){return typeof R=="string"}g.is=P})(r||(e.URI=r={}));var i;(function(g){g.MIN_VALUE=-2147483648,g.MAX_VALUE=2147483647;function P(R){return typeof R=="number"&&g.MIN_VALUE<=R&&R<=g.MAX_VALUE}g.is=P})(i||(e.integer=i={}));var s;(function(g){g.MIN_VALUE=0,g.MAX_VALUE=2147483647;function P(R){return typeof R=="number"&&g.MIN_VALUE<=R&&R<=g.MAX_VALUE}g.is=P})(s||(e.uinteger=s={}));var o;(function(g){function P(_,m){return _===Number.MAX_VALUE&&(_=s.MAX_VALUE),m===Number.MAX_VALUE&&(m=s.MAX_VALUE),{line:_,character:m}}g.create=P;function R(_){var m=_;return A.objectLiteral(m)&&A.uinteger(m.line)&&A.uinteger(m.character)}g.is=R})(o||(e.Position=o={}));var a;(function(g){function P(_,m,D,M){if(A.uinteger(_)&&A.uinteger(m)&&A.uinteger(D)&&A.uinteger(M))return{start:o.create(_,m),end:o.create(D,M)};if(o.is(_)&&o.is(m))return{start:_,end:m};throw new Error("Range#create called with invalid arguments[".concat(_,", ").concat(m,", ").concat(D,", ").concat(M,"]"))}g.create=P;function R(_){var m=_;return A.objectLiteral(m)&&o.is(m.start)&&o.is(m.end)}g.is=R})(a||(e.Range=a={}));var c;(function(g){function P(_,m){return{uri:_,range:m}}g.create=P;function R(_){var m=_;return A.objectLiteral(m)&&a.is(m.range)&&(A.string(m.uri)||A.undefined(m.uri))}g.is=R})(c||(e.Location=c={}));var l;(function(g){function P(_,m,D,M){return{targetUri:_,targetRange:m,targetSelectionRange:D,originSelectionRange:M}}g.create=P;function R(_){var m=_;return A.objectLiteral(m)&&a.is(m.targetRange)&&A.string(m.targetUri)&&a.is(m.targetSelectionRange)&&(a.is(m.originSelectionRange)||A.undefined(m.originSelectionRange))}g.is=R})(l||(e.LocationLink=l={}));var u;(function(g){function P(_,m,D,M){return{red:_,green:m,blue:D,alpha:M}}g.create=P;function R(_){var m=_;return A.objectLiteral(m)&&A.numberRange(m.red,0,1)&&A.numberRange(m.green,0,1)&&A.numberRange(m.blue,0,1)&&A.numberRange(m.alpha,0,1)}g.is=R})(u||(e.Color=u={}));var d;(function(g){function P(_,m){return{range:_,color:m}}g.create=P;function R(_){var m=_;return A.objectLiteral(m)&&a.is(m.range)&&u.is(m.color)}g.is=R})(d||(e.ColorInformation=d={}));var f;(function(g){function P(_,m,D){return{label:_,textEdit:m,additionalTextEdits:D}}g.create=P;function R(_){var m=_;return A.objectLiteral(m)&&A.string(m.label)&&(A.undefined(m.textEdit)||C.is(m))&&(A.undefined(m.additionalTextEdits)||A.typedArray(m.additionalTextEdits,C.is))}g.is=R})(f||(e.ColorPresentation=f={}));var h;(function(g){g.Comment="comment",g.Imports="imports",g.Region="region"})(h||(e.FoldingRangeKind=h={}));var y;(function(g){function P(_,m,D,M,ce,bt){var Ze={startLine:_,endLine:m};return A.defined(D)&&(Ze.startCharacter=D),A.defined(M)&&(Ze.endCharacter=M),A.defined(ce)&&(Ze.kind=ce),A.defined(bt)&&(Ze.collapsedText=bt),Ze}g.create=P;function R(_){var m=_;return A.objectLiteral(m)&&A.uinteger(m.startLine)&&A.uinteger(m.startLine)&&(A.undefined(m.startCharacter)||A.uinteger(m.startCharacter))&&(A.undefined(m.endCharacter)||A.uinteger(m.endCharacter))&&(A.undefined(m.kind)||A.string(m.kind))}g.is=R})(y||(e.FoldingRange=y={}));var p;(function(g){function P(_,m){return{location:_,message:m}}g.create=P;function R(_){var m=_;return A.defined(m)&&c.is(m.location)&&A.string(m.message)}g.is=R})(p||(e.DiagnosticRelatedInformation=p={}));var T;(function(g){g.Error=1,g.Warning=2,g.Information=3,g.Hint=4})(T||(e.DiagnosticSeverity=T={}));var S;(function(g){g.Unnecessary=1,g.Deprecated=2})(S||(e.DiagnosticTag=S={}));var b;(function(g){function P(R){var _=R;return A.objectLiteral(_)&&A.string(_.href)}g.is=P})(b||(e.CodeDescription=b={}));var v;(function(g){function P(_,m,D,M,ce,bt){var Ze={range:_,message:m};return A.defined(D)&&(Ze.severity=D),A.defined(M)&&(Ze.code=M),A.defined(ce)&&(Ze.source=ce),A.defined(bt)&&(Ze.relatedInformation=bt),Ze}g.create=P;function R(_){var m,D=_;return A.defined(D)&&a.is(D.range)&&A.string(D.message)&&(A.number(D.severity)||A.undefined(D.severity))&&(A.integer(D.code)||A.string(D.code)||A.undefined(D.code))&&(A.undefined(D.codeDescription)||A.string((m=D.codeDescription)===null||m===void 0?void 0:m.href))&&(A.string(D.source)||A.undefined(D.source))&&(A.undefined(D.relatedInformation)||A.typedArray(D.relatedInformation,p.is))}g.is=R})(v||(e.Diagnostic=v={}));var w;(function(g){function P(_,m){for(var D=[],M=2;M<arguments.length;M++)D[M-2]=arguments[M];var ce={title:_,command:m};return A.defined(D)&&D.length>0&&(ce.arguments=D),ce}g.create=P;function R(_){var m=_;return A.defined(m)&&A.string(m.title)&&A.string(m.command)}g.is=R})(w||(e.Command=w={}));var C;(function(g){function P(D,M){return{range:D,newText:M}}g.replace=P;function R(D,M){return{range:{start:D,end:D},newText:M}}g.insert=R;function _(D){return{range:D,newText:""}}g.del=_;function m(D){var M=D;return A.objectLiteral(M)&&A.string(M.newText)&&a.is(M.range)}g.is=m})(C||(e.TextEdit=C={}));var L;(function(g){function P(_,m,D){var M={label:_};return m!==void 0&&(M.needsConfirmation=m),D!==void 0&&(M.description=D),M}g.create=P;function R(_){var m=_;return A.objectLiteral(m)&&A.string(m.label)&&(A.boolean(m.needsConfirmation)||m.needsConfirmation===void 0)&&(A.string(m.description)||m.description===void 0)}g.is=R})(L||(e.ChangeAnnotation=L={}));var B;(function(g){function P(R){var _=R;return A.string(_)}g.is=P})(B||(e.ChangeAnnotationIdentifier=B={}));var q;(function(g){function P(D,M,ce){return{range:D,newText:M,annotationId:ce}}g.replace=P;function R(D,M,ce){return{range:{start:D,end:D},newText:M,annotationId:ce}}g.insert=R;function _(D,M){return{range:D,newText:"",annotationId:M}}g.del=_;function m(D){var M=D;return C.is(M)&&(L.is(M.annotationId)||B.is(M.annotationId))}g.is=m})(q||(e.AnnotatedTextEdit=q={}));var ae;(function(g){function P(_,m){return{textDocument:_,edits:m}}g.create=P;function R(_){var m=_;return A.defined(m)&&ls.is(m.textDocument)&&Array.isArray(m.edits)}g.is=R})(ae||(e.TextDocumentEdit=ae={}));var We;(function(g){function P(_,m,D){var M={kind:"create",uri:_};return m!==void 0&&(m.overwrite!==void 0||m.ignoreIfExists!==void 0)&&(M.options=m),D!==void 0&&(M.annotationId=D),M}g.create=P;function R(_){var m=_;return m&&m.kind==="create"&&A.string(m.uri)&&(m.options===void 0||(m.options.overwrite===void 0||A.boolean(m.options.overwrite))&&(m.options.ignoreIfExists===void 0||A.boolean(m.options.ignoreIfExists)))&&(m.annotationId===void 0||B.is(m.annotationId))}g.is=R})(We||(e.CreateFile=We={}));var Dt;(function(g){function P(_,m,D,M){var ce={kind:"rename",oldUri:_,newUri:m};return D!==void 0&&(D.overwrite!==void 0||D.ignoreIfExists!==void 0)&&(ce.options=D),M!==void 0&&(ce.annotationId=M),ce}g.create=P;function R(_){var m=_;return m&&m.kind==="rename"&&A.string(m.oldUri)&&A.string(m.newUri)&&(m.options===void 0||(m.options.overwrite===void 0||A.boolean(m.options.overwrite))&&(m.options.ignoreIfExists===void 0||A.boolean(m.options.ignoreIfExists)))&&(m.annotationId===void 0||B.is(m.annotationId))}g.is=R})(Dt||(e.RenameFile=Dt={}));var ge;(function(g){function P(_,m,D){var M={kind:"delete",uri:_};return m!==void 0&&(m.recursive!==void 0||m.ignoreIfNotExists!==void 0)&&(M.options=m),D!==void 0&&(M.annotationId=D),M}g.create=P;function R(_){var m=_;return m&&m.kind==="delete"&&A.string(m.uri)&&(m.options===void 0||(m.options.recursive===void 0||A.boolean(m.options.recursive))&&(m.options.ignoreIfNotExists===void 0||A.boolean(m.options.ignoreIfNotExists)))&&(m.annotationId===void 0||B.is(m.annotationId))}g.is=R})(ge||(e.DeleteFile=ge={}));var Un;(function(g){function P(R){var _=R;return _&&(_.changes!==void 0||_.documentChanges!==void 0)&&(_.documentChanges===void 0||_.documentChanges.every(function(m){return A.string(m.kind)?We.is(m)||Dt.is(m)||ge.is(m):ae.is(m)}))}g.is=P})(Un||(e.WorkspaceEdit=Un={}));var vi=function(){function g(P,R){this.edits=P,this.changeAnnotations=R}return g.prototype.insert=function(P,R,_){var m,D;if(_===void 0?m=C.insert(P,R):B.is(_)?(D=_,m=q.insert(P,R,_)):(this.assertChangeAnnotations(this.changeAnnotations),D=this.changeAnnotations.manage(_),m=q.insert(P,R,D)),this.edits.push(m),D!==void 0)return D},g.prototype.replace=function(P,R,_){var m,D;if(_===void 0?m=C.replace(P,R):B.is(_)?(D=_,m=q.replace(P,R,_)):(this.assertChangeAnnotations(this.changeAnnotations),D=this.changeAnnotations.manage(_),m=q.replace(P,R,D)),this.edits.push(m),D!==void 0)return D},g.prototype.delete=function(P,R){var _,m;if(R===void 0?_=C.del(P):B.is(R)?(m=R,_=q.del(P,R)):(this.assertChangeAnnotations(this.changeAnnotations),m=this.changeAnnotations.manage(R),_=q.del(P,m)),this.edits.push(_),m!==void 0)return m},g.prototype.add=function(P){this.edits.push(P)},g.prototype.all=function(){return this.edits},g.prototype.clear=function(){this.edits.splice(0,this.edits.length)},g.prototype.assertChangeAnnotations=function(P){if(P===void 0)throw new Error("Text edit change is not configured to manage change annotations.")},g}(),Bl=function(){function g(P){this._annotations=P===void 0?Object.create(null):P,this._counter=0,this._size=0}return g.prototype.all=function(){return this._annotations},Object.defineProperty(g.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),g.prototype.manage=function(P,R){var _;if(B.is(P)?_=P:(_=this.nextId(),R=P),this._annotations[_]!==void 0)throw new Error("Id ".concat(_," is already in use."));if(R===void 0)throw new Error("No annotation provided for id ".concat(_));return this._annotations[_]=R,this._size++,_},g.prototype.nextId=function(){return this._counter++,this._counter.toString()},g}(),Rp=function(){function g(P){var R=this;this._textEditChanges=Object.create(null),P!==void 0?(this._workspaceEdit=P,P.documentChanges?(this._changeAnnotations=new Bl(P.changeAnnotations),P.changeAnnotations=this._changeAnnotations.all(),P.documentChanges.forEach(function(_){if(ae.is(_)){var m=new vi(_.edits,R._changeAnnotations);R._textEditChanges[_.textDocument.uri]=m}})):P.changes&&Object.keys(P.changes).forEach(function(_){var m=new vi(P.changes[_]);R._textEditChanges[_]=m})):this._workspaceEdit={}}return Object.defineProperty(g.prototype,"edit",{get:function(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),g.prototype.getTextEditChange=function(P){if(ls.is(P)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var R={uri:P.uri,version:P.version},_=this._textEditChanges[R.uri];if(!_){var m=[],D={textDocument:R,edits:m};this._workspaceEdit.documentChanges.push(D),_=new vi(m,this._changeAnnotations),this._textEditChanges[R.uri]=_}return _}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");var _=this._textEditChanges[P];if(!_){var m=[];this._workspaceEdit.changes[P]=m,_=new vi(m),this._textEditChanges[P]=_}return _}},g.prototype.initDocumentChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new Bl,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},g.prototype.initChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))},g.prototype.createFile=function(P,R,_){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var m;L.is(R)||B.is(R)?m=R:_=R;var D,M;if(m===void 0?D=We.create(P,_):(M=B.is(m)?m:this._changeAnnotations.manage(m),D=We.create(P,_,M)),this._workspaceEdit.documentChanges.push(D),M!==void 0)return M},g.prototype.renameFile=function(P,R,_,m){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var D;L.is(_)||B.is(_)?D=_:m=_;var M,ce;if(D===void 0?M=Dt.create(P,R,m):(ce=B.is(D)?D:this._changeAnnotations.manage(D),M=Dt.create(P,R,m,ce)),this._workspaceEdit.documentChanges.push(M),ce!==void 0)return ce},g.prototype.deleteFile=function(P,R,_){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var m;L.is(R)||B.is(R)?m=R:_=R;var D,M;if(m===void 0?D=ge.create(P,_):(M=B.is(m)?m:this._changeAnnotations.manage(m),D=ge.create(P,_,M)),this._workspaceEdit.documentChanges.push(D),M!==void 0)return M},g}();e.WorkspaceChange=Rp;var Ul;(function(g){function P(_){return{uri:_}}g.create=P;function R(_){var m=_;return A.defined(m)&&A.string(m.uri)}g.is=R})(Ul||(e.TextDocumentIdentifier=Ul={}));var Na;(function(g){function P(_,m){return{uri:_,version:m}}g.create=P;function R(_){var m=_;return A.defined(m)&&A.string(m.uri)&&A.integer(m.version)}g.is=R})(Na||(e.VersionedTextDocumentIdentifier=Na={}));var ls;(function(g){function P(_,m){return{uri:_,version:m}}g.create=P;function R(_){var m=_;return A.defined(m)&&A.string(m.uri)&&(m.version===null||A.integer(m.version))}g.is=R})(ls||(e.OptionalVersionedTextDocumentIdentifier=ls={}));var ei;(function(g){function P(_,m,D,M){return{uri:_,languageId:m,version:D,text:M}}g.create=P;function R(_){var m=_;return A.defined(m)&&A.string(m.uri)&&A.string(m.languageId)&&A.integer(m.version)&&A.string(m.text)}g.is=R})(ei||(e.TextDocumentItem=ei={}));var Js;(function(g){g.PlainText="plaintext",g.Markdown="markdown";function P(R){var _=R;return _===g.PlainText||_===g.Markdown}g.is=P})(Js||(e.MarkupKind=Js={}));var us;(function(g){function P(R){var _=R;return A.objectLiteral(R)&&Js.is(_.kind)&&A.string(_.value)}g.is=P})(us||(e.MarkupContent=us={}));var Vl;(function(g){g.Text=1,g.Method=2,g.Function=3,g.Constructor=4,g.Field=5,g.Variable=6,g.Class=7,g.Interface=8,g.Module=9,g.Property=10,g.Unit=11,g.Value=12,g.Enum=13,g.Keyword=14,g.Snippet=15,g.Color=16,g.File=17,g.Reference=18,g.Folder=19,g.EnumMember=20,g.Constant=21,g.Struct=22,g.Event=23,g.Operator=24,g.TypeParameter=25})(Vl||(e.CompletionItemKind=Vl={}));var Pa;(function(g){g.PlainText=1,g.Snippet=2})(Pa||(e.InsertTextFormat=Pa={}));var Ra;(function(g){g.Deprecated=1})(Ra||(e.CompletionItemTag=Ra={}));var zl;(function(g){function P(_,m,D){return{newText:_,insert:m,replace:D}}g.create=P;function R(_){var m=_;return m&&A.string(m.newText)&&a.is(m.insert)&&a.is(m.replace)}g.is=R})(zl||(e.InsertReplaceEdit=zl={}));var Wl;(function(g){g.asIs=1,g.adjustIndentation=2})(Wl||(e.InsertTextMode=Wl={}));var Hl;(function(g){function P(R){var _=R;return _&&(A.string(_.detail)||_.detail===void 0)&&(A.string(_.description)||_.description===void 0)}g.is=P})(Hl||(e.CompletionItemLabelDetails=Hl={}));var Gl;(function(g){function P(R){return{label:R}}g.create=P})(Gl||(e.CompletionItem=Gl={}));var Yl;(function(g){function P(R,_){return{items:R||[],isIncomplete:!!_}}g.create=P})(Yl||(e.CompletionList=Yl={}));var Qs;(function(g){function P(_){return _.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}g.fromPlainText=P;function R(_){var m=_;return A.string(m)||A.objectLiteral(m)&&A.string(m.language)&&A.string(m.value)}g.is=R})(Qs||(e.MarkedString=Qs={}));var ar;(function(g){function P(R){var _=R;return!!_&&A.objectLiteral(_)&&(us.is(_.contents)||Qs.is(_.contents)||A.typedArray(_.contents,Qs.is))&&(R.range===void 0||a.is(R.range))}g.is=P})(ar||(e.Hover=ar={}));var Kl;(function(g){function P(R,_){return _?{label:R,documentation:_}:{label:R}}g.create=P})(Kl||(e.ParameterInformation=Kl={}));var Xl;(function(g){function P(R,_){for(var m=[],D=2;D<arguments.length;D++)m[D-2]=arguments[D];var M={label:R};return A.defined(_)&&(M.documentation=_),A.defined(m)?M.parameters=m:M.parameters=[],M}g.create=P})(Xl||(e.SignatureInformation=Xl={}));var ds;(function(g){g.Text=1,g.Read=2,g.Write=3})(ds||(e.DocumentHighlightKind=ds={}));var Jl;(function(g){function P(R,_){var m={range:R};return A.number(_)&&(m.kind=_),m}g.create=P})(Jl||(e.DocumentHighlight=Jl={}));var Zs;(function(g){g.File=1,g.Module=2,g.Namespace=3,g.Package=4,g.Class=5,g.Method=6,g.Property=7,g.Field=8,g.Constructor=9,g.Enum=10,g.Interface=11,g.Function=12,g.Variable=13,g.Constant=14,g.String=15,g.Number=16,g.Boolean=17,g.Array=18,g.Object=19,g.Key=20,g.Null=21,g.EnumMember=22,g.Struct=23,g.Event=24,g.Operator=25,g.TypeParameter=26})(Zs||(e.SymbolKind=Zs={}));var Ql;(function(g){g.Deprecated=1})(Ql||(e.SymbolTag=Ql={}));var ti;(function(g){function P(R,_,m,D,M){var ce={name:R,kind:_,location:{uri:D,range:m}};return M&&(ce.containerName=M),ce}g.create=P})(ti||(e.SymbolInformation=ti={}));var Ti;(function(g){function P(R,_,m,D){return D!==void 0?{name:R,kind:_,location:{uri:m,range:D}}:{name:R,kind:_,location:{uri:m}}}g.create=P})(Ti||(e.WorkspaceSymbol=Ti={}));var Zl;(function(g){function P(_,m,D,M,ce,bt){var Ze={name:_,detail:m,kind:D,range:M,selectionRange:ce};return bt!==void 0&&(Ze.children=bt),Ze}g.create=P;function R(_){var m=_;return m&&A.string(m.name)&&A.number(m.kind)&&a.is(m.range)&&a.is(m.selectionRange)&&(m.detail===void 0||A.string(m.detail))&&(m.deprecated===void 0||A.boolean(m.deprecated))&&(m.children===void 0||Array.isArray(m.children))&&(m.tags===void 0||Array.isArray(m.tags))}g.is=R})(Zl||(e.DocumentSymbol=Zl={}));var eu;(function(g){g.Empty="",g.QuickFix="quickfix",g.Refactor="refactor",g.RefactorExtract="refactor.extract",g.RefactorInline="refactor.inline",g.RefactorRewrite="refactor.rewrite",g.Source="source",g.SourceOrganizeImports="source.organizeImports",g.SourceFixAll="source.fixAll"})(eu||(e.CodeActionKind=eu={}));var Dr;(function(g){g.Invoked=1,g.Automatic=2})(Dr||(e.CodeActionTriggerKind=Dr={}));var Ca;(function(g){function P(_,m,D){var M={diagnostics:_};return m!=null&&(M.only=m),D!=null&&(M.triggerKind=D),M}g.create=P;function R(_){var m=_;return A.defined(m)&&A.typedArray(m.diagnostics,v.is)&&(m.only===void 0||A.typedArray(m.only,A.string))&&(m.triggerKind===void 0||m.triggerKind===Dr.Invoked||m.triggerKind===Dr.Automatic)}g.is=R})(Ca||(e.CodeActionContext=Ca={}));var Da;(function(g){function P(_,m,D){var M={title:_},ce=!0;return typeof m=="string"?(ce=!1,M.kind=m):w.is(m)?M.command=m:M.edit=m,ce&&D!==void 0&&(M.kind=D),M}g.create=P;function R(_){var m=_;return m&&A.string(m.title)&&(m.diagnostics===void 0||A.typedArray(m.diagnostics,v.is))&&(m.kind===void 0||A.string(m.kind))&&(m.edit!==void 0||m.command!==void 0)&&(m.command===void 0||w.is(m.command))&&(m.isPreferred===void 0||A.boolean(m.isPreferred))&&(m.edit===void 0||Un.is(m.edit))}g.is=R})(Da||(e.CodeAction=Da={}));var eo;(function(g){function P(_,m){var D={range:_};return A.defined(m)&&(D.data=m),D}g.create=P;function R(_){var m=_;return A.defined(m)&&a.is(m.range)&&(A.undefined(m.command)||w.is(m.command))}g.is=R})(eo||(e.CodeLens=eo={}));var Aa;(function(g){function P(_,m){return{tabSize:_,insertSpaces:m}}g.create=P;function R(_){var m=_;return A.defined(m)&&A.uinteger(m.tabSize)&&A.boolean(m.insertSpaces)}g.is=R})(Aa||(e.FormattingOptions=Aa={}));var ni;(function(g){function P(_,m,D){return{range:_,target:m,data:D}}g.create=P;function R(_){var m=_;return A.defined(m)&&a.is(m.range)&&(A.undefined(m.target)||A.string(m.target))}g.is=R})(ni||(e.DocumentLink=ni={}));var N;(function(g){function P(_,m){return{range:_,parent:m}}g.create=P;function R(_){var m=_;return A.objectLiteral(m)&&a.is(m.range)&&(m.parent===void 0||g.is(m.parent))}g.is=R})(N||(e.SelectionRange=N={}));var x;(function(g){g.namespace="namespace",g.type="type",g.class="class",g.enum="enum",g.interface="interface",g.struct="struct",g.typeParameter="typeParameter",g.parameter="parameter",g.variable="variable",g.property="property",g.enumMember="enumMember",g.event="event",g.function="function",g.method="method",g.macro="macro",g.keyword="keyword",g.modifier="modifier",g.comment="comment",g.string="string",g.number="number",g.regexp="regexp",g.operator="operator",g.decorator="decorator"})(x||(e.SemanticTokenTypes=x={}));var z;(function(g){g.declaration="declaration",g.definition="definition",g.readonly="readonly",g.static="static",g.deprecated="deprecated",g.abstract="abstract",g.async="async",g.modification="modification",g.documentation="documentation",g.defaultLibrary="defaultLibrary"})(z||(e.SemanticTokenModifiers=z={}));var X;(function(g){function P(R){var _=R;return A.objectLiteral(_)&&(_.resultId===void 0||typeof _.resultId=="string")&&Array.isArray(_.data)&&(_.data.length===0||typeof _.data[0]=="number")}g.is=P})(X||(e.SemanticTokens=X={}));var He;(function(g){function P(_,m){return{range:_,text:m}}g.create=P;function R(_){var m=_;return m!=null&&a.is(m.range)&&A.string(m.text)}g.is=R})(He||(e.InlineValueText=He={}));var qe;(function(g){function P(_,m,D){return{range:_,variableName:m,caseSensitiveLookup:D}}g.create=P;function R(_){var m=_;return m!=null&&a.is(m.range)&&A.boolean(m.caseSensitiveLookup)&&(A.string(m.variableName)||m.variableName===void 0)}g.is=R})(qe||(e.InlineValueVariableLookup=qe={}));var it;(function(g){function P(_,m){return{range:_,expression:m}}g.create=P;function R(_){var m=_;return m!=null&&a.is(m.range)&&(A.string(m.expression)||m.expression===void 0)}g.is=R})(it||(e.InlineValueEvaluatableExpression=it={}));var ht;(function(g){function P(_,m){return{frameId:_,stoppedLocation:m}}g.create=P;function R(_){var m=_;return A.defined(m)&&a.is(_.stoppedLocation)}g.is=R})(ht||(e.InlineValueContext=ht={}));var ye;(function(g){g.Type=1,g.Parameter=2;function P(R){return R===1||R===2}g.is=P})(ye||(e.InlayHintKind=ye={}));var Xe;(function(g){function P(_){return{value:_}}g.create=P;function R(_){var m=_;return A.objectLiteral(m)&&(m.tooltip===void 0||A.string(m.tooltip)||us.is(m.tooltip))&&(m.location===void 0||c.is(m.location))&&(m.command===void 0||w.is(m.command))}g.is=R})(Xe||(e.InlayHintLabelPart=Xe={}));var De;(function(g){function P(_,m,D){var M={position:_,label:m};return D!==void 0&&(M.kind=D),M}g.create=P;function R(_){var m=_;return A.objectLiteral(m)&&o.is(m.position)&&(A.string(m.label)||A.typedArray(m.label,Xe.is))&&(m.kind===void 0||ye.is(m.kind))&&m.textEdits===void 0||A.typedArray(m.textEdits,C.is)&&(m.tooltip===void 0||A.string(m.tooltip)||us.is(m.tooltip))&&(m.paddingLeft===void 0||A.boolean(m.paddingLeft))&&(m.paddingRight===void 0||A.boolean(m.paddingRight))}g.is=R})(De||(e.InlayHint=De={}));var yt;(function(g){function P(R){return{kind:"snippet",value:R}}g.createSnippet=P})(yt||(e.StringValue=yt={}));var Lt;(function(g){function P(R,_,m,D){return{insertText:R,filterText:_,range:m,command:D}}g.create=P})(Lt||(e.InlineCompletionItem=Lt={}));var In;(function(g){function P(R){return{items:R}}g.create=P})(In||(e.InlineCompletionList=In={}));var tu;(function(g){g.Invoked=0,g.Automatic=1})(tu||(e.InlineCompletionTriggerKind=tu={}));var k_;(function(g){function P(R,_){return{range:R,text:_}}g.create=P})(k_||(e.SelectedCompletionInfo=k_={}));var N_;(function(g){function P(R,_){return{triggerKind:R,selectedCompletionInfo:_}}g.create=P})(N_||(e.InlineCompletionContext=N_={}));var P_;(function(g){function P(R){var _=R;return A.objectLiteral(_)&&r.is(_.uri)&&A.string(_.name)}g.is=P})(P_||(e.WorkspaceFolder=P_={})),e.EOL=[`
32
+ `)),x){let X=N.error?` Request failed: ${N.error.message} (${N.error.code}).`:"";C.log(`Received response '${x.method} - (${N.id})' in ${Date.now()-x.timerStart}ms.${X}`,z)}else C.log(`Received response ${N.id} without active response promise.`,z)}else ti("receive-response",N)}function ti(N,x){if(!C||v===Ie.Off)return;let z={isLSPMessage:!0,type:N,message:x,timestamp:Date.now()};C.log(z)}function Ti(){if(ls())throw new co(La.Closed,"Connection is closed.");if(ei())throw new co(La.Disposed,"Connection is disposed.")}function Zl(){if(Na())throw new co(La.AlreadyListening,"Connection is already listening")}function eu(){if(!Na())throw new Error("Call listen() first.")}function Dr(N){return N===void 0?null:N}function Ca(N){if(N!==null)return N}function Da(N){return N!=null&&!Array.isArray(N)&&typeof N=="object"}function eo(N,x){switch(N){case ne.ParameterStructures.auto:return Da(x)?Ca(x):[Dr(x)];case ne.ParameterStructures.byName:if(!Da(x))throw new Error("Received parameters by name but param is not an object literal.");return Ca(x);case ne.ParameterStructures.byPosition:return[Dr(x)];default:throw new Error(`Unknown parameter structure ${N.toString()}`)}}function Aa(N,x){let z,X=N.numberOfParams;switch(X){case 0:z=void 0;break;case 1:z=eo(N.parameterStructures,x[0]);break;default:z=[];for(let He=0;He<x.length&&He<X;He++)z.push(Dr(x[He]));if(x.length<X)for(let He=x.length;He<X;He++)z.push(null);break}return z}let ni={sendNotification:(N,...x)=>{Ti();let z,X;if(gt.string(N)){z=N;let qe=x[0],st=0,ht=ne.ParameterStructures.auto;ne.ParameterStructures.is(qe)&&(st=1,ht=qe);let ye=x.length,Xe=ye-st;switch(Xe){case 0:X=void 0;break;case 1:X=eo(ht,x[st]);break;default:if(ht===ne.ParameterStructures.byName)throw new Error(`Received ${Xe} parameters for 'by Name' notification parameter structure.`);X=x.slice(st,ye).map(De=>Dr(De));break}}else{let qe=x;z=N.method,X=Aa(N,qe)}let He={jsonrpc:c,method:z,params:X};return Xl(He),e.write(He).catch(qe=>{throw i.error("Sending notification failed."),qe})},onNotification:(N,x)=>{Ti();let z;return gt.func(N)?d=N:x&&(gt.string(N)?(z=N,f.set(N,{type:void 0,handler:x})):(z=N.method,f.set(N.method,{type:N,handler:x}))),{dispose:()=>{z!==void 0?f.delete(z):d=void 0}}},onProgress:(N,x,z)=>{if(h.has(x))throw new Error(`Progress handler for token ${x} already registered`);return h.set(x,z),{dispose:()=>{h.delete(x)}}},sendProgress:(N,x,z)=>ni.sendNotification(Ma.type,{token:x,value:z}),onUnhandledProgress:We.event,sendRequest:(N,...x)=>{Ti(),eu();let z,X,He;if(gt.string(N)){z=N;let ye=x[0],Xe=x[x.length-1],De=0,yt=ne.ParameterStructures.auto;ne.ParameterStructures.is(ye)&&(De=1,yt=ye);let Lt=x.length;Sm.CancellationToken.is(Xe)&&(Lt=Lt-1,He=Xe);let In=Lt-De;switch(In){case 0:X=void 0;break;case 1:X=eo(yt,x[De]);break;default:if(yt===ne.ParameterStructures.byName)throw new Error(`Received ${In} parameters for 'by Name' request parameter structure.`);X=x.slice(De,Lt).map(tu=>Dr(tu));break}}else{let ye=x;z=N.method,X=Aa(N,ye);let Xe=N.numberOfParams;He=Sm.CancellationToken.is(ye[Xe])?ye[Xe]:void 0}let qe=s++,st;He&&(st=He.onCancellationRequested(()=>{let ye=ge.sender.sendCancellation(ni,qe);return ye===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${qe}`),Promise.resolve()):ye.catch(()=>{i.log(`Sending cancellation messages for id ${qe} failed`)})}));let ht={jsonrpc:c,id:qe,method:z,params:X};return Kl(ht),typeof ge.sender.enableCancellation=="function"&&ge.sender.enableCancellation(ht),new Promise(async(ye,Xe)=>{let De=In=>{ye(In),ge.sender.cleanup(qe),st?.dispose()},yt=In=>{Xe(In),ge.sender.cleanup(qe),st?.dispose()},Lt={method:z,timerStart:Date.now(),resolve:De,reject:yt};try{await e.write(ht),T.set(qe,Lt)}catch(In){throw i.error("Sending request failed."),Lt.reject(new ne.ResponseError(ne.ErrorCodes.MessageWriteError,In.message?In.message:"Unknown reason")),In}})},onRequest:(N,x)=>{Ti();let z=null;return km.is(N)?(z=void 0,l=N):gt.string(N)?(z=null,x!==void 0&&(z=N,u.set(N,{handler:x,type:void 0}))):x!==void 0&&(z=N.method,u.set(N.method,{type:N,handler:x})),{dispose:()=>{z!==null&&(z!==void 0?u.delete(z):l=void 0)}}},hasPendingResponse:()=>T.size>0,trace:async(N,x,z)=>{let X=!1,He=xn.Text;z!==void 0&&(gt.boolean(z)?X=z:(X=z.sendNotification||!1,He=z.traceFormat||xn.Text)),v=N,w=He,v===Ie.Off?C=void 0:C=x,X&&!ls()&&!ei()&&await ni.sendNotification(Nm.type,{value:Ie.toString(N)})},onError:B.event,onClose:q.event,onUnhandledNotification:ae.event,onDispose:Dt.event,end:()=>{e.end()},dispose:()=>{if(ei())return;L=ur.Disposed,Dt.fire(void 0);let N=new ne.ResponseError(ne.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let x of T.values())x.reject(N);T=new Map,b=new Map,S=new Set,p=new X_.LinkedMap,gt.func(e.dispose)&&e.dispose(),gt.func(t.dispose)&&t.dispose()},listen:()=>{Ti(),Zl(),L=ur.Listening,t.listen(Wl)},inspect:()=>{(0,K_.default)().console.log("inspect")}};return ni.onNotification(pu.type,N=>{if(v===Ie.Off||!C)return;let x=v===Ie.Verbose||v===Ie.Compact;C.log(N.message,x?N.verbose:void 0)}),ni.onNotification(Ma.type,N=>{let x=h.get(N.token);x?x(N.value):We.fire(N)}),ni}le.createMessageConnection=WM});var Tu=k(I=>{"use strict";Object.defineProperty(I,"__esModule",{value:!0});I.ProgressType=I.ProgressToken=I.createMessageConnection=I.NullLogger=I.ConnectionOptions=I.ConnectionStrategy=I.AbstractMessageBuffer=I.WriteableStreamMessageWriter=I.AbstractMessageWriter=I.MessageWriter=I.ReadableStreamMessageReader=I.AbstractMessageReader=I.MessageReader=I.SharedArrayReceiverStrategy=I.SharedArraySenderStrategy=I.CancellationToken=I.CancellationTokenSource=I.Emitter=I.Event=I.Disposable=I.LRUCache=I.Touch=I.LinkedMap=I.ParameterStructures=I.NotificationType9=I.NotificationType8=I.NotificationType7=I.NotificationType6=I.NotificationType5=I.NotificationType4=I.NotificationType3=I.NotificationType2=I.NotificationType1=I.NotificationType0=I.NotificationType=I.ErrorCodes=I.ResponseError=I.RequestType9=I.RequestType8=I.RequestType7=I.RequestType6=I.RequestType5=I.RequestType4=I.RequestType3=I.RequestType2=I.RequestType1=I.RequestType0=I.RequestType=I.Message=I.RAL=void 0;I.MessageStrategy=I.CancellationStrategy=I.CancellationSenderStrategy=I.CancellationReceiverStrategy=I.ConnectionError=I.ConnectionErrors=I.LogTraceNotification=I.SetTraceNotification=I.TraceFormat=I.TraceValues=I.Trace=void 0;var et=em();Object.defineProperty(I,"Message",{enumerable:!0,get:function(){return et.Message}});Object.defineProperty(I,"RequestType",{enumerable:!0,get:function(){return et.RequestType}});Object.defineProperty(I,"RequestType0",{enumerable:!0,get:function(){return et.RequestType0}});Object.defineProperty(I,"RequestType1",{enumerable:!0,get:function(){return et.RequestType1}});Object.defineProperty(I,"RequestType2",{enumerable:!0,get:function(){return et.RequestType2}});Object.defineProperty(I,"RequestType3",{enumerable:!0,get:function(){return et.RequestType3}});Object.defineProperty(I,"RequestType4",{enumerable:!0,get:function(){return et.RequestType4}});Object.defineProperty(I,"RequestType5",{enumerable:!0,get:function(){return et.RequestType5}});Object.defineProperty(I,"RequestType6",{enumerable:!0,get:function(){return et.RequestType6}});Object.defineProperty(I,"RequestType7",{enumerable:!0,get:function(){return et.RequestType7}});Object.defineProperty(I,"RequestType8",{enumerable:!0,get:function(){return et.RequestType8}});Object.defineProperty(I,"RequestType9",{enumerable:!0,get:function(){return et.RequestType9}});Object.defineProperty(I,"ResponseError",{enumerable:!0,get:function(){return et.ResponseError}});Object.defineProperty(I,"ErrorCodes",{enumerable:!0,get:function(){return et.ErrorCodes}});Object.defineProperty(I,"NotificationType",{enumerable:!0,get:function(){return et.NotificationType}});Object.defineProperty(I,"NotificationType0",{enumerable:!0,get:function(){return et.NotificationType0}});Object.defineProperty(I,"NotificationType1",{enumerable:!0,get:function(){return et.NotificationType1}});Object.defineProperty(I,"NotificationType2",{enumerable:!0,get:function(){return et.NotificationType2}});Object.defineProperty(I,"NotificationType3",{enumerable:!0,get:function(){return et.NotificationType3}});Object.defineProperty(I,"NotificationType4",{enumerable:!0,get:function(){return et.NotificationType4}});Object.defineProperty(I,"NotificationType5",{enumerable:!0,get:function(){return et.NotificationType5}});Object.defineProperty(I,"NotificationType6",{enumerable:!0,get:function(){return et.NotificationType6}});Object.defineProperty(I,"NotificationType7",{enumerable:!0,get:function(){return et.NotificationType7}});Object.defineProperty(I,"NotificationType8",{enumerable:!0,get:function(){return et.NotificationType8}});Object.defineProperty(I,"NotificationType9",{enumerable:!0,get:function(){return et.NotificationType9}});Object.defineProperty(I,"ParameterStructures",{enumerable:!0,get:function(){return et.ParameterStructures}});var Cm=nm();Object.defineProperty(I,"LinkedMap",{enumerable:!0,get:function(){return Cm.LinkedMap}});Object.defineProperty(I,"LRUCache",{enumerable:!0,get:function(){return Cm.LRUCache}});Object.defineProperty(I,"Touch",{enumerable:!0,get:function(){return Cm.Touch}});var HM=q_();Object.defineProperty(I,"Disposable",{enumerable:!0,get:function(){return HM.Disposable}});var eS=io();Object.defineProperty(I,"Event",{enumerable:!0,get:function(){return eS.Event}});Object.defineProperty(I,"Emitter",{enumerable:!0,get:function(){return eS.Emitter}});var tS=lu();Object.defineProperty(I,"CancellationTokenSource",{enumerable:!0,get:function(){return tS.CancellationTokenSource}});Object.defineProperty(I,"CancellationToken",{enumerable:!0,get:function(){return tS.CancellationToken}});var nS=F_();Object.defineProperty(I,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return nS.SharedArraySenderStrategy}});Object.defineProperty(I,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return nS.SharedArrayReceiverStrategy}});var Dm=U_();Object.defineProperty(I,"MessageReader",{enumerable:!0,get:function(){return Dm.MessageReader}});Object.defineProperty(I,"AbstractMessageReader",{enumerable:!0,get:function(){return Dm.AbstractMessageReader}});Object.defineProperty(I,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return Dm.ReadableStreamMessageReader}});var Am=G_();Object.defineProperty(I,"MessageWriter",{enumerable:!0,get:function(){return Am.MessageWriter}});Object.defineProperty(I,"AbstractMessageWriter",{enumerable:!0,get:function(){return Am.AbstractMessageWriter}});Object.defineProperty(I,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return Am.WriteableStreamMessageWriter}});var GM=Y_();Object.defineProperty(I,"AbstractMessageBuffer",{enumerable:!0,get:function(){return GM.AbstractMessageBuffer}});var Vt=Z_();Object.defineProperty(I,"ConnectionStrategy",{enumerable:!0,get:function(){return Vt.ConnectionStrategy}});Object.defineProperty(I,"ConnectionOptions",{enumerable:!0,get:function(){return Vt.ConnectionOptions}});Object.defineProperty(I,"NullLogger",{enumerable:!0,get:function(){return Vt.NullLogger}});Object.defineProperty(I,"createMessageConnection",{enumerable:!0,get:function(){return Vt.createMessageConnection}});Object.defineProperty(I,"ProgressToken",{enumerable:!0,get:function(){return Vt.ProgressToken}});Object.defineProperty(I,"ProgressType",{enumerable:!0,get:function(){return Vt.ProgressType}});Object.defineProperty(I,"Trace",{enumerable:!0,get:function(){return Vt.Trace}});Object.defineProperty(I,"TraceValues",{enumerable:!0,get:function(){return Vt.TraceValues}});Object.defineProperty(I,"TraceFormat",{enumerable:!0,get:function(){return Vt.TraceFormat}});Object.defineProperty(I,"SetTraceNotification",{enumerable:!0,get:function(){return Vt.SetTraceNotification}});Object.defineProperty(I,"LogTraceNotification",{enumerable:!0,get:function(){return Vt.LogTraceNotification}});Object.defineProperty(I,"ConnectionErrors",{enumerable:!0,get:function(){return Vt.ConnectionErrors}});Object.defineProperty(I,"ConnectionError",{enumerable:!0,get:function(){return Vt.ConnectionError}});Object.defineProperty(I,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return Vt.CancellationReceiverStrategy}});Object.defineProperty(I,"CancellationSenderStrategy",{enumerable:!0,get:function(){return Vt.CancellationSenderStrategy}});Object.defineProperty(I,"CancellationStrategy",{enumerable:!0,get:function(){return Vt.CancellationStrategy}});Object.defineProperty(I,"MessageStrategy",{enumerable:!0,get:function(){return Vt.MessageStrategy}});var YM=Si();I.RAL=YM.default});var sS=k(Mm=>{"use strict";Object.defineProperty(Mm,"__esModule",{value:!0});var rS=require("util"),ii=Tu(),_u=class t extends ii.AbstractMessageBuffer{constructor(e="utf-8"){super(e)}emptyBuffer(){return t.emptyBuffer}fromString(e,n){return Buffer.from(e,n)}toString(e,n){return e instanceof Buffer?e.toString(n):new rS.TextDecoder(n).decode(e)}asNative(e,n){return n===void 0?e instanceof Buffer?e:Buffer.from(e):e instanceof Buffer?e.slice(0,n):Buffer.from(e,0,n)}allocNative(e){return Buffer.allocUnsafe(e)}};_u.emptyBuffer=Buffer.allocUnsafe(0);var Om=class{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),ii.Disposable.create(()=>this.stream.off("close",e))}onError(e){return this.stream.on("error",e),ii.Disposable.create(()=>this.stream.off("error",e))}onEnd(e){return this.stream.on("end",e),ii.Disposable.create(()=>this.stream.off("end",e))}onData(e){return this.stream.on("data",e),ii.Disposable.create(()=>this.stream.off("data",e))}},Im=class{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),ii.Disposable.create(()=>this.stream.off("close",e))}onError(e){return this.stream.on("error",e),ii.Disposable.create(()=>this.stream.off("error",e))}onEnd(e){return this.stream.on("end",e),ii.Disposable.create(()=>this.stream.off("end",e))}write(e,n){return new Promise((r,i)=>{let s=o=>{o==null?r():i(o)};typeof e=="string"?this.stream.write(e,n,s):this.stream.write(e,s)})}end(){this.stream.end()}},iS=Object.freeze({messageBuffer:Object.freeze({create:t=>new _u(t)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(t,e)=>{try{return Promise.resolve(Buffer.from(JSON.stringify(t,void 0,0),e.charset))}catch(n){return Promise.reject(n)}}}),decoder:Object.freeze({name:"application/json",decode:(t,e)=>{try{return t instanceof Buffer?Promise.resolve(JSON.parse(t.toString(e.charset))):Promise.resolve(JSON.parse(new rS.TextDecoder(e.charset).decode(t)))}catch(n){return Promise.reject(n)}}})}),stream:Object.freeze({asReadableStream:t=>new Om(t),asWritableStream:t=>new Im(t)}),console,timer:Object.freeze({setTimeout(t,e,...n){let r=setTimeout(t,e,...n);return{dispose:()=>clearTimeout(r)}},setImmediate(t,...e){let n=setImmediate(t,...e);return{dispose:()=>clearImmediate(n)}},setInterval(t,e,...n){let r=setInterval(t,e,...n);return{dispose:()=>clearInterval(r)}}})});function xm(){return iS}(function(t){function e(){ii.RAL.install(iS)}t.install=e})(xm||(xm={}));Mm.default=xm});var ms=k(Se=>{"use strict";var KM=Se&&Se.__createBinding||(Object.create?function(t,e,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]}),XM=Se&&Se.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&KM(e,t,n)};Object.defineProperty(Se,"__esModule",{value:!0});Se.createMessageConnection=Se.createServerSocketTransport=Se.createClientSocketTransport=Se.createServerPipeTransport=Se.createClientPipeTransport=Se.generateRandomPipeName=Se.StreamMessageWriter=Se.StreamMessageReader=Se.SocketMessageWriter=Se.SocketMessageReader=Se.PortMessageWriter=Se.PortMessageReader=Se.IPCMessageWriter=Se.IPCMessageReader=void 0;var lo=sS();lo.default.install();var oS=require("path"),JM=require("os"),QM=require("crypto"),wu=require("net"),Mn=Tu();XM(Tu(),Se);var Lm=class extends Mn.AbstractMessageReader{constructor(e){super(),this.process=e;let n=this.process;n.on("error",r=>this.fireError(r)),n.on("close",()=>this.fireClose())}listen(e){return this.process.on("message",e),Mn.Disposable.create(()=>this.process.off("message",e))}};Se.IPCMessageReader=Lm;var $m=class extends Mn.AbstractMessageWriter{constructor(e){super(),this.process=e,this.errorCount=0;let n=this.process;n.on("error",r=>this.fireError(r)),n.on("close",()=>this.fireClose)}write(e){try{return typeof this.process.send=="function"&&this.process.send(e,void 0,void 0,n=>{n?(this.errorCount++,this.handleError(n,e)):this.errorCount=0}),Promise.resolve()}catch(n){return this.handleError(n,e),Promise.reject(n)}}handleError(e,n){this.errorCount++,this.fireError(e,n,this.errorCount)}end(){}};Se.IPCMessageWriter=$m;var qm=class extends Mn.AbstractMessageReader{constructor(e){super(),this.onData=new Mn.Emitter,e.on("close",()=>this.fireClose),e.on("error",n=>this.fireError(n)),e.on("message",n=>{this.onData.fire(n)})}listen(e){return this.onData.event(e)}};Se.PortMessageReader=qm;var jm=class extends Mn.AbstractMessageWriter{constructor(e){super(),this.port=e,this.errorCount=0,e.on("close",()=>this.fireClose()),e.on("error",n=>this.fireError(n))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(n){return this.handleError(n,e),Promise.reject(n)}}handleError(e,n){this.errorCount++,this.fireError(e,n,this.errorCount)}end(){}};Se.PortMessageWriter=jm;var hs=class extends Mn.ReadableStreamMessageReader{constructor(e,n="utf-8"){super((0,lo.default)().stream.asReadableStream(e),n)}};Se.SocketMessageReader=hs;var ps=class extends Mn.WriteableStreamMessageWriter{constructor(e,n){super((0,lo.default)().stream.asWritableStream(e),n),this.socket=e}dispose(){super.dispose(),this.socket.destroy()}};Se.SocketMessageWriter=ps;var Su=class extends Mn.ReadableStreamMessageReader{constructor(e,n){super((0,lo.default)().stream.asReadableStream(e),n)}};Se.StreamMessageReader=Su;var Eu=class extends Mn.WriteableStreamMessageWriter{constructor(e,n){super((0,lo.default)().stream.asWritableStream(e),n)}};Se.StreamMessageWriter=Eu;var aS=process.env.XDG_RUNTIME_DIR,ZM=new Map([["linux",107],["darwin",103]]);function e1(){let t=(0,QM.randomBytes)(21).toString("hex");if(process.platform==="win32")return`\\\\.\\pipe\\vscode-jsonrpc-${t}-sock`;let e;aS?e=oS.join(aS,`vscode-ipc-${t}.sock`):e=oS.join(JM.tmpdir(),`vscode-${t}.sock`);let n=ZM.get(process.platform);return n!==void 0&&e.length>n&&(0,lo.default)().console.warn(`WARNING: IPC handle "${e}" is longer than ${n} characters.`),e}Se.generateRandomPipeName=e1;function t1(t,e="utf-8"){let n,r=new Promise((i,s)=>{n=i});return new Promise((i,s)=>{let o=(0,wu.createServer)(a=>{o.close(),n([new hs(a,e),new ps(a,e)])});o.on("error",s),o.listen(t,()=>{o.removeListener("error",s),i({onConnected:()=>r})})})}Se.createClientPipeTransport=t1;function n1(t,e="utf-8"){let n=(0,wu.createConnection)(t);return[new hs(n,e),new ps(n,e)]}Se.createServerPipeTransport=n1;function r1(t,e="utf-8"){let n,r=new Promise((i,s)=>{n=i});return new Promise((i,s)=>{let o=(0,wu.createServer)(a=>{o.close(),n([new hs(a,e),new ps(a,e)])});o.on("error",s),o.listen(t,"127.0.0.1",()=>{o.removeListener("error",s),i({onConnected:()=>r})})})}Se.createClientSocketTransport=r1;function i1(t,e="utf-8"){let n=(0,wu.createConnection)(t,"127.0.0.1");return[new hs(n,e),new ps(n,e)]}Se.createServerSocketTransport=i1;function s1(t){let e=t;return e.read!==void 0&&e.addListener!==void 0}function o1(t){let e=t;return e.write!==void 0&&e.addListener!==void 0}function a1(t,e,n,r){n||(n=Mn.NullLogger);let i=s1(t)?new Su(t):t,s=o1(e)?new Eu(e):e;return Mn.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),(0,Mn.createMessageConnection)(i,s,n,r)}Se.createMessageConnection=a1});var Fm=k((WK,cS)=>{"use strict";cS.exports=ms()});var Nu=k((lS,ku)=>{(function(t){if(typeof ku=="object"&&typeof ku.exports=="object"){var e=t(require,lS);e!==void 0&&(ku.exports=e)}else typeof define=="function"&&define.amd&&define(["require","exports"],t)})(function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextDocument=e.EOL=e.WorkspaceFolder=e.InlineCompletionContext=e.SelectedCompletionInfo=e.InlineCompletionTriggerKind=e.InlineCompletionList=e.InlineCompletionItem=e.StringValue=e.InlayHint=e.InlayHintLabelPart=e.InlayHintKind=e.InlineValueContext=e.InlineValueEvaluatableExpression=e.InlineValueVariableLookup=e.InlineValueText=e.SemanticTokens=e.SemanticTokenModifiers=e.SemanticTokenTypes=e.SelectionRange=e.DocumentLink=e.FormattingOptions=e.CodeLens=e.CodeAction=e.CodeActionContext=e.CodeActionTriggerKind=e.CodeActionKind=e.DocumentSymbol=e.WorkspaceSymbol=e.SymbolInformation=e.SymbolTag=e.SymbolKind=e.DocumentHighlight=e.DocumentHighlightKind=e.SignatureInformation=e.ParameterInformation=e.Hover=e.MarkedString=e.CompletionList=e.CompletionItem=e.CompletionItemLabelDetails=e.InsertTextMode=e.InsertReplaceEdit=e.CompletionItemTag=e.InsertTextFormat=e.CompletionItemKind=e.MarkupContent=e.MarkupKind=e.TextDocumentItem=e.OptionalVersionedTextDocumentIdentifier=e.VersionedTextDocumentIdentifier=e.TextDocumentIdentifier=e.WorkspaceChange=e.WorkspaceEdit=e.DeleteFile=e.RenameFile=e.CreateFile=e.TextDocumentEdit=e.AnnotatedTextEdit=e.ChangeAnnotationIdentifier=e.ChangeAnnotation=e.TextEdit=e.Command=e.Diagnostic=e.CodeDescription=e.DiagnosticTag=e.DiagnosticSeverity=e.DiagnosticRelatedInformation=e.FoldingRange=e.FoldingRangeKind=e.ColorPresentation=e.ColorInformation=e.Color=e.LocationLink=e.Location=e.Range=e.Position=e.uinteger=e.integer=e.URI=e.DocumentUri=void 0;var n;(function(g){function P(R){return typeof R=="string"}g.is=P})(n||(e.DocumentUri=n={}));var r;(function(g){function P(R){return typeof R=="string"}g.is=P})(r||(e.URI=r={}));var i;(function(g){g.MIN_VALUE=-2147483648,g.MAX_VALUE=2147483647;function P(R){return typeof R=="number"&&g.MIN_VALUE<=R&&R<=g.MAX_VALUE}g.is=P})(i||(e.integer=i={}));var s;(function(g){g.MIN_VALUE=0,g.MAX_VALUE=2147483647;function P(R){return typeof R=="number"&&g.MIN_VALUE<=R&&R<=g.MAX_VALUE}g.is=P})(s||(e.uinteger=s={}));var o;(function(g){function P(_,m){return _===Number.MAX_VALUE&&(_=s.MAX_VALUE),m===Number.MAX_VALUE&&(m=s.MAX_VALUE),{line:_,character:m}}g.create=P;function R(_){var m=_;return A.objectLiteral(m)&&A.uinteger(m.line)&&A.uinteger(m.character)}g.is=R})(o||(e.Position=o={}));var a;(function(g){function P(_,m,D,M){if(A.uinteger(_)&&A.uinteger(m)&&A.uinteger(D)&&A.uinteger(M))return{start:o.create(_,m),end:o.create(D,M)};if(o.is(_)&&o.is(m))return{start:_,end:m};throw new Error("Range#create called with invalid arguments[".concat(_,", ").concat(m,", ").concat(D,", ").concat(M,"]"))}g.create=P;function R(_){var m=_;return A.objectLiteral(m)&&o.is(m.start)&&o.is(m.end)}g.is=R})(a||(e.Range=a={}));var c;(function(g){function P(_,m){return{uri:_,range:m}}g.create=P;function R(_){var m=_;return A.objectLiteral(m)&&a.is(m.range)&&(A.string(m.uri)||A.undefined(m.uri))}g.is=R})(c||(e.Location=c={}));var l;(function(g){function P(_,m,D,M){return{targetUri:_,targetRange:m,targetSelectionRange:D,originSelectionRange:M}}g.create=P;function R(_){var m=_;return A.objectLiteral(m)&&a.is(m.targetRange)&&A.string(m.targetUri)&&a.is(m.targetSelectionRange)&&(a.is(m.originSelectionRange)||A.undefined(m.originSelectionRange))}g.is=R})(l||(e.LocationLink=l={}));var u;(function(g){function P(_,m,D,M){return{red:_,green:m,blue:D,alpha:M}}g.create=P;function R(_){var m=_;return A.objectLiteral(m)&&A.numberRange(m.red,0,1)&&A.numberRange(m.green,0,1)&&A.numberRange(m.blue,0,1)&&A.numberRange(m.alpha,0,1)}g.is=R})(u||(e.Color=u={}));var d;(function(g){function P(_,m){return{range:_,color:m}}g.create=P;function R(_){var m=_;return A.objectLiteral(m)&&a.is(m.range)&&u.is(m.color)}g.is=R})(d||(e.ColorInformation=d={}));var f;(function(g){function P(_,m,D){return{label:_,textEdit:m,additionalTextEdits:D}}g.create=P;function R(_){var m=_;return A.objectLiteral(m)&&A.string(m.label)&&(A.undefined(m.textEdit)||C.is(m))&&(A.undefined(m.additionalTextEdits)||A.typedArray(m.additionalTextEdits,C.is))}g.is=R})(f||(e.ColorPresentation=f={}));var h;(function(g){g.Comment="comment",g.Imports="imports",g.Region="region"})(h||(e.FoldingRangeKind=h={}));var y;(function(g){function P(_,m,D,M,ce,bt){var Ze={startLine:_,endLine:m};return A.defined(D)&&(Ze.startCharacter=D),A.defined(M)&&(Ze.endCharacter=M),A.defined(ce)&&(Ze.kind=ce),A.defined(bt)&&(Ze.collapsedText=bt),Ze}g.create=P;function R(_){var m=_;return A.objectLiteral(m)&&A.uinteger(m.startLine)&&A.uinteger(m.startLine)&&(A.undefined(m.startCharacter)||A.uinteger(m.startCharacter))&&(A.undefined(m.endCharacter)||A.uinteger(m.endCharacter))&&(A.undefined(m.kind)||A.string(m.kind))}g.is=R})(y||(e.FoldingRange=y={}));var p;(function(g){function P(_,m){return{location:_,message:m}}g.create=P;function R(_){var m=_;return A.defined(m)&&c.is(m.location)&&A.string(m.message)}g.is=R})(p||(e.DiagnosticRelatedInformation=p={}));var T;(function(g){g.Error=1,g.Warning=2,g.Information=3,g.Hint=4})(T||(e.DiagnosticSeverity=T={}));var S;(function(g){g.Unnecessary=1,g.Deprecated=2})(S||(e.DiagnosticTag=S={}));var b;(function(g){function P(R){var _=R;return A.objectLiteral(_)&&A.string(_.href)}g.is=P})(b||(e.CodeDescription=b={}));var v;(function(g){function P(_,m,D,M,ce,bt){var Ze={range:_,message:m};return A.defined(D)&&(Ze.severity=D),A.defined(M)&&(Ze.code=M),A.defined(ce)&&(Ze.source=ce),A.defined(bt)&&(Ze.relatedInformation=bt),Ze}g.create=P;function R(_){var m,D=_;return A.defined(D)&&a.is(D.range)&&A.string(D.message)&&(A.number(D.severity)||A.undefined(D.severity))&&(A.integer(D.code)||A.string(D.code)||A.undefined(D.code))&&(A.undefined(D.codeDescription)||A.string((m=D.codeDescription)===null||m===void 0?void 0:m.href))&&(A.string(D.source)||A.undefined(D.source))&&(A.undefined(D.relatedInformation)||A.typedArray(D.relatedInformation,p.is))}g.is=R})(v||(e.Diagnostic=v={}));var w;(function(g){function P(_,m){for(var D=[],M=2;M<arguments.length;M++)D[M-2]=arguments[M];var ce={title:_,command:m};return A.defined(D)&&D.length>0&&(ce.arguments=D),ce}g.create=P;function R(_){var m=_;return A.defined(m)&&A.string(m.title)&&A.string(m.command)}g.is=R})(w||(e.Command=w={}));var C;(function(g){function P(D,M){return{range:D,newText:M}}g.replace=P;function R(D,M){return{range:{start:D,end:D},newText:M}}g.insert=R;function _(D){return{range:D,newText:""}}g.del=_;function m(D){var M=D;return A.objectLiteral(M)&&A.string(M.newText)&&a.is(M.range)}g.is=m})(C||(e.TextEdit=C={}));var L;(function(g){function P(_,m,D){var M={label:_};return m!==void 0&&(M.needsConfirmation=m),D!==void 0&&(M.description=D),M}g.create=P;function R(_){var m=_;return A.objectLiteral(m)&&A.string(m.label)&&(A.boolean(m.needsConfirmation)||m.needsConfirmation===void 0)&&(A.string(m.description)||m.description===void 0)}g.is=R})(L||(e.ChangeAnnotation=L={}));var B;(function(g){function P(R){var _=R;return A.string(_)}g.is=P})(B||(e.ChangeAnnotationIdentifier=B={}));var q;(function(g){function P(D,M,ce){return{range:D,newText:M,annotationId:ce}}g.replace=P;function R(D,M,ce){return{range:{start:D,end:D},newText:M,annotationId:ce}}g.insert=R;function _(D,M){return{range:D,newText:"",annotationId:M}}g.del=_;function m(D){var M=D;return C.is(M)&&(L.is(M.annotationId)||B.is(M.annotationId))}g.is=m})(q||(e.AnnotatedTextEdit=q={}));var ae;(function(g){function P(_,m){return{textDocument:_,edits:m}}g.create=P;function R(_){var m=_;return A.defined(m)&&ls.is(m.textDocument)&&Array.isArray(m.edits)}g.is=R})(ae||(e.TextDocumentEdit=ae={}));var We;(function(g){function P(_,m,D){var M={kind:"create",uri:_};return m!==void 0&&(m.overwrite!==void 0||m.ignoreIfExists!==void 0)&&(M.options=m),D!==void 0&&(M.annotationId=D),M}g.create=P;function R(_){var m=_;return m&&m.kind==="create"&&A.string(m.uri)&&(m.options===void 0||(m.options.overwrite===void 0||A.boolean(m.options.overwrite))&&(m.options.ignoreIfExists===void 0||A.boolean(m.options.ignoreIfExists)))&&(m.annotationId===void 0||B.is(m.annotationId))}g.is=R})(We||(e.CreateFile=We={}));var Dt;(function(g){function P(_,m,D,M){var ce={kind:"rename",oldUri:_,newUri:m};return D!==void 0&&(D.overwrite!==void 0||D.ignoreIfExists!==void 0)&&(ce.options=D),M!==void 0&&(ce.annotationId=M),ce}g.create=P;function R(_){var m=_;return m&&m.kind==="rename"&&A.string(m.oldUri)&&A.string(m.newUri)&&(m.options===void 0||(m.options.overwrite===void 0||A.boolean(m.options.overwrite))&&(m.options.ignoreIfExists===void 0||A.boolean(m.options.ignoreIfExists)))&&(m.annotationId===void 0||B.is(m.annotationId))}g.is=R})(Dt||(e.RenameFile=Dt={}));var ge;(function(g){function P(_,m,D){var M={kind:"delete",uri:_};return m!==void 0&&(m.recursive!==void 0||m.ignoreIfNotExists!==void 0)&&(M.options=m),D!==void 0&&(M.annotationId=D),M}g.create=P;function R(_){var m=_;return m&&m.kind==="delete"&&A.string(m.uri)&&(m.options===void 0||(m.options.recursive===void 0||A.boolean(m.options.recursive))&&(m.options.ignoreIfNotExists===void 0||A.boolean(m.options.ignoreIfNotExists)))&&(m.annotationId===void 0||B.is(m.annotationId))}g.is=R})(ge||(e.DeleteFile=ge={}));var Un;(function(g){function P(R){var _=R;return _&&(_.changes!==void 0||_.documentChanges!==void 0)&&(_.documentChanges===void 0||_.documentChanges.every(function(m){return A.string(m.kind)?We.is(m)||Dt.is(m)||ge.is(m):ae.is(m)}))}g.is=P})(Un||(e.WorkspaceEdit=Un={}));var vi=function(){function g(P,R){this.edits=P,this.changeAnnotations=R}return g.prototype.insert=function(P,R,_){var m,D;if(_===void 0?m=C.insert(P,R):B.is(_)?(D=_,m=q.insert(P,R,_)):(this.assertChangeAnnotations(this.changeAnnotations),D=this.changeAnnotations.manage(_),m=q.insert(P,R,D)),this.edits.push(m),D!==void 0)return D},g.prototype.replace=function(P,R,_){var m,D;if(_===void 0?m=C.replace(P,R):B.is(_)?(D=_,m=q.replace(P,R,_)):(this.assertChangeAnnotations(this.changeAnnotations),D=this.changeAnnotations.manage(_),m=q.replace(P,R,D)),this.edits.push(m),D!==void 0)return D},g.prototype.delete=function(P,R){var _,m;if(R===void 0?_=C.del(P):B.is(R)?(m=R,_=q.del(P,R)):(this.assertChangeAnnotations(this.changeAnnotations),m=this.changeAnnotations.manage(R),_=q.del(P,m)),this.edits.push(_),m!==void 0)return m},g.prototype.add=function(P){this.edits.push(P)},g.prototype.all=function(){return this.edits},g.prototype.clear=function(){this.edits.splice(0,this.edits.length)},g.prototype.assertChangeAnnotations=function(P){if(P===void 0)throw new Error("Text edit change is not configured to manage change annotations.")},g}(),Bl=function(){function g(P){this._annotations=P===void 0?Object.create(null):P,this._counter=0,this._size=0}return g.prototype.all=function(){return this._annotations},Object.defineProperty(g.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),g.prototype.manage=function(P,R){var _;if(B.is(P)?_=P:(_=this.nextId(),R=P),this._annotations[_]!==void 0)throw new Error("Id ".concat(_," is already in use."));if(R===void 0)throw new Error("No annotation provided for id ".concat(_));return this._annotations[_]=R,this._size++,_},g.prototype.nextId=function(){return this._counter++,this._counter.toString()},g}(),Rp=function(){function g(P){var R=this;this._textEditChanges=Object.create(null),P!==void 0?(this._workspaceEdit=P,P.documentChanges?(this._changeAnnotations=new Bl(P.changeAnnotations),P.changeAnnotations=this._changeAnnotations.all(),P.documentChanges.forEach(function(_){if(ae.is(_)){var m=new vi(_.edits,R._changeAnnotations);R._textEditChanges[_.textDocument.uri]=m}})):P.changes&&Object.keys(P.changes).forEach(function(_){var m=new vi(P.changes[_]);R._textEditChanges[_]=m})):this._workspaceEdit={}}return Object.defineProperty(g.prototype,"edit",{get:function(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),g.prototype.getTextEditChange=function(P){if(ls.is(P)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var R={uri:P.uri,version:P.version},_=this._textEditChanges[R.uri];if(!_){var m=[],D={textDocument:R,edits:m};this._workspaceEdit.documentChanges.push(D),_=new vi(m,this._changeAnnotations),this._textEditChanges[R.uri]=_}return _}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");var _=this._textEditChanges[P];if(!_){var m=[];this._workspaceEdit.changes[P]=m,_=new vi(m),this._textEditChanges[P]=_}return _}},g.prototype.initDocumentChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new Bl,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},g.prototype.initChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))},g.prototype.createFile=function(P,R,_){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var m;L.is(R)||B.is(R)?m=R:_=R;var D,M;if(m===void 0?D=We.create(P,_):(M=B.is(m)?m:this._changeAnnotations.manage(m),D=We.create(P,_,M)),this._workspaceEdit.documentChanges.push(D),M!==void 0)return M},g.prototype.renameFile=function(P,R,_,m){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var D;L.is(_)||B.is(_)?D=_:m=_;var M,ce;if(D===void 0?M=Dt.create(P,R,m):(ce=B.is(D)?D:this._changeAnnotations.manage(D),M=Dt.create(P,R,m,ce)),this._workspaceEdit.documentChanges.push(M),ce!==void 0)return ce},g.prototype.deleteFile=function(P,R,_){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var m;L.is(R)||B.is(R)?m=R:_=R;var D,M;if(m===void 0?D=ge.create(P,_):(M=B.is(m)?m:this._changeAnnotations.manage(m),D=ge.create(P,_,M)),this._workspaceEdit.documentChanges.push(D),M!==void 0)return M},g}();e.WorkspaceChange=Rp;var Ul;(function(g){function P(_){return{uri:_}}g.create=P;function R(_){var m=_;return A.defined(m)&&A.string(m.uri)}g.is=R})(Ul||(e.TextDocumentIdentifier=Ul={}));var Na;(function(g){function P(_,m){return{uri:_,version:m}}g.create=P;function R(_){var m=_;return A.defined(m)&&A.string(m.uri)&&A.integer(m.version)}g.is=R})(Na||(e.VersionedTextDocumentIdentifier=Na={}));var ls;(function(g){function P(_,m){return{uri:_,version:m}}g.create=P;function R(_){var m=_;return A.defined(m)&&A.string(m.uri)&&(m.version===null||A.integer(m.version))}g.is=R})(ls||(e.OptionalVersionedTextDocumentIdentifier=ls={}));var ei;(function(g){function P(_,m,D,M){return{uri:_,languageId:m,version:D,text:M}}g.create=P;function R(_){var m=_;return A.defined(m)&&A.string(m.uri)&&A.string(m.languageId)&&A.integer(m.version)&&A.string(m.text)}g.is=R})(ei||(e.TextDocumentItem=ei={}));var Js;(function(g){g.PlainText="plaintext",g.Markdown="markdown";function P(R){var _=R;return _===g.PlainText||_===g.Markdown}g.is=P})(Js||(e.MarkupKind=Js={}));var us;(function(g){function P(R){var _=R;return A.objectLiteral(R)&&Js.is(_.kind)&&A.string(_.value)}g.is=P})(us||(e.MarkupContent=us={}));var Vl;(function(g){g.Text=1,g.Method=2,g.Function=3,g.Constructor=4,g.Field=5,g.Variable=6,g.Class=7,g.Interface=8,g.Module=9,g.Property=10,g.Unit=11,g.Value=12,g.Enum=13,g.Keyword=14,g.Snippet=15,g.Color=16,g.File=17,g.Reference=18,g.Folder=19,g.EnumMember=20,g.Constant=21,g.Struct=22,g.Event=23,g.Operator=24,g.TypeParameter=25})(Vl||(e.CompletionItemKind=Vl={}));var Pa;(function(g){g.PlainText=1,g.Snippet=2})(Pa||(e.InsertTextFormat=Pa={}));var Ra;(function(g){g.Deprecated=1})(Ra||(e.CompletionItemTag=Ra={}));var zl;(function(g){function P(_,m,D){return{newText:_,insert:m,replace:D}}g.create=P;function R(_){var m=_;return m&&A.string(m.newText)&&a.is(m.insert)&&a.is(m.replace)}g.is=R})(zl||(e.InsertReplaceEdit=zl={}));var Wl;(function(g){g.asIs=1,g.adjustIndentation=2})(Wl||(e.InsertTextMode=Wl={}));var Hl;(function(g){function P(R){var _=R;return _&&(A.string(_.detail)||_.detail===void 0)&&(A.string(_.description)||_.description===void 0)}g.is=P})(Hl||(e.CompletionItemLabelDetails=Hl={}));var Gl;(function(g){function P(R){return{label:R}}g.create=P})(Gl||(e.CompletionItem=Gl={}));var Yl;(function(g){function P(R,_){return{items:R||[],isIncomplete:!!_}}g.create=P})(Yl||(e.CompletionList=Yl={}));var Qs;(function(g){function P(_){return _.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}g.fromPlainText=P;function R(_){var m=_;return A.string(m)||A.objectLiteral(m)&&A.string(m.language)&&A.string(m.value)}g.is=R})(Qs||(e.MarkedString=Qs={}));var ar;(function(g){function P(R){var _=R;return!!_&&A.objectLiteral(_)&&(us.is(_.contents)||Qs.is(_.contents)||A.typedArray(_.contents,Qs.is))&&(R.range===void 0||a.is(R.range))}g.is=P})(ar||(e.Hover=ar={}));var Kl;(function(g){function P(R,_){return _?{label:R,documentation:_}:{label:R}}g.create=P})(Kl||(e.ParameterInformation=Kl={}));var Xl;(function(g){function P(R,_){for(var m=[],D=2;D<arguments.length;D++)m[D-2]=arguments[D];var M={label:R};return A.defined(_)&&(M.documentation=_),A.defined(m)?M.parameters=m:M.parameters=[],M}g.create=P})(Xl||(e.SignatureInformation=Xl={}));var ds;(function(g){g.Text=1,g.Read=2,g.Write=3})(ds||(e.DocumentHighlightKind=ds={}));var Jl;(function(g){function P(R,_){var m={range:R};return A.number(_)&&(m.kind=_),m}g.create=P})(Jl||(e.DocumentHighlight=Jl={}));var Zs;(function(g){g.File=1,g.Module=2,g.Namespace=3,g.Package=4,g.Class=5,g.Method=6,g.Property=7,g.Field=8,g.Constructor=9,g.Enum=10,g.Interface=11,g.Function=12,g.Variable=13,g.Constant=14,g.String=15,g.Number=16,g.Boolean=17,g.Array=18,g.Object=19,g.Key=20,g.Null=21,g.EnumMember=22,g.Struct=23,g.Event=24,g.Operator=25,g.TypeParameter=26})(Zs||(e.SymbolKind=Zs={}));var Ql;(function(g){g.Deprecated=1})(Ql||(e.SymbolTag=Ql={}));var ti;(function(g){function P(R,_,m,D,M){var ce={name:R,kind:_,location:{uri:D,range:m}};return M&&(ce.containerName=M),ce}g.create=P})(ti||(e.SymbolInformation=ti={}));var Ti;(function(g){function P(R,_,m,D){return D!==void 0?{name:R,kind:_,location:{uri:m,range:D}}:{name:R,kind:_,location:{uri:m}}}g.create=P})(Ti||(e.WorkspaceSymbol=Ti={}));var Zl;(function(g){function P(_,m,D,M,ce,bt){var Ze={name:_,detail:m,kind:D,range:M,selectionRange:ce};return bt!==void 0&&(Ze.children=bt),Ze}g.create=P;function R(_){var m=_;return m&&A.string(m.name)&&A.number(m.kind)&&a.is(m.range)&&a.is(m.selectionRange)&&(m.detail===void 0||A.string(m.detail))&&(m.deprecated===void 0||A.boolean(m.deprecated))&&(m.children===void 0||Array.isArray(m.children))&&(m.tags===void 0||Array.isArray(m.tags))}g.is=R})(Zl||(e.DocumentSymbol=Zl={}));var eu;(function(g){g.Empty="",g.QuickFix="quickfix",g.Refactor="refactor",g.RefactorExtract="refactor.extract",g.RefactorInline="refactor.inline",g.RefactorRewrite="refactor.rewrite",g.Source="source",g.SourceOrganizeImports="source.organizeImports",g.SourceFixAll="source.fixAll"})(eu||(e.CodeActionKind=eu={}));var Dr;(function(g){g.Invoked=1,g.Automatic=2})(Dr||(e.CodeActionTriggerKind=Dr={}));var Ca;(function(g){function P(_,m,D){var M={diagnostics:_};return m!=null&&(M.only=m),D!=null&&(M.triggerKind=D),M}g.create=P;function R(_){var m=_;return A.defined(m)&&A.typedArray(m.diagnostics,v.is)&&(m.only===void 0||A.typedArray(m.only,A.string))&&(m.triggerKind===void 0||m.triggerKind===Dr.Invoked||m.triggerKind===Dr.Automatic)}g.is=R})(Ca||(e.CodeActionContext=Ca={}));var Da;(function(g){function P(_,m,D){var M={title:_},ce=!0;return typeof m=="string"?(ce=!1,M.kind=m):w.is(m)?M.command=m:M.edit=m,ce&&D!==void 0&&(M.kind=D),M}g.create=P;function R(_){var m=_;return m&&A.string(m.title)&&(m.diagnostics===void 0||A.typedArray(m.diagnostics,v.is))&&(m.kind===void 0||A.string(m.kind))&&(m.edit!==void 0||m.command!==void 0)&&(m.command===void 0||w.is(m.command))&&(m.isPreferred===void 0||A.boolean(m.isPreferred))&&(m.edit===void 0||Un.is(m.edit))}g.is=R})(Da||(e.CodeAction=Da={}));var eo;(function(g){function P(_,m){var D={range:_};return A.defined(m)&&(D.data=m),D}g.create=P;function R(_){var m=_;return A.defined(m)&&a.is(m.range)&&(A.undefined(m.command)||w.is(m.command))}g.is=R})(eo||(e.CodeLens=eo={}));var Aa;(function(g){function P(_,m){return{tabSize:_,insertSpaces:m}}g.create=P;function R(_){var m=_;return A.defined(m)&&A.uinteger(m.tabSize)&&A.boolean(m.insertSpaces)}g.is=R})(Aa||(e.FormattingOptions=Aa={}));var ni;(function(g){function P(_,m,D){return{range:_,target:m,data:D}}g.create=P;function R(_){var m=_;return A.defined(m)&&a.is(m.range)&&(A.undefined(m.target)||A.string(m.target))}g.is=R})(ni||(e.DocumentLink=ni={}));var N;(function(g){function P(_,m){return{range:_,parent:m}}g.create=P;function R(_){var m=_;return A.objectLiteral(m)&&a.is(m.range)&&(m.parent===void 0||g.is(m.parent))}g.is=R})(N||(e.SelectionRange=N={}));var x;(function(g){g.namespace="namespace",g.type="type",g.class="class",g.enum="enum",g.interface="interface",g.struct="struct",g.typeParameter="typeParameter",g.parameter="parameter",g.variable="variable",g.property="property",g.enumMember="enumMember",g.event="event",g.function="function",g.method="method",g.macro="macro",g.keyword="keyword",g.modifier="modifier",g.comment="comment",g.string="string",g.number="number",g.regexp="regexp",g.operator="operator",g.decorator="decorator"})(x||(e.SemanticTokenTypes=x={}));var z;(function(g){g.declaration="declaration",g.definition="definition",g.readonly="readonly",g.static="static",g.deprecated="deprecated",g.abstract="abstract",g.async="async",g.modification="modification",g.documentation="documentation",g.defaultLibrary="defaultLibrary"})(z||(e.SemanticTokenModifiers=z={}));var X;(function(g){function P(R){var _=R;return A.objectLiteral(_)&&(_.resultId===void 0||typeof _.resultId=="string")&&Array.isArray(_.data)&&(_.data.length===0||typeof _.data[0]=="number")}g.is=P})(X||(e.SemanticTokens=X={}));var He;(function(g){function P(_,m){return{range:_,text:m}}g.create=P;function R(_){var m=_;return m!=null&&a.is(m.range)&&A.string(m.text)}g.is=R})(He||(e.InlineValueText=He={}));var qe;(function(g){function P(_,m,D){return{range:_,variableName:m,caseSensitiveLookup:D}}g.create=P;function R(_){var m=_;return m!=null&&a.is(m.range)&&A.boolean(m.caseSensitiveLookup)&&(A.string(m.variableName)||m.variableName===void 0)}g.is=R})(qe||(e.InlineValueVariableLookup=qe={}));var st;(function(g){function P(_,m){return{range:_,expression:m}}g.create=P;function R(_){var m=_;return m!=null&&a.is(m.range)&&(A.string(m.expression)||m.expression===void 0)}g.is=R})(st||(e.InlineValueEvaluatableExpression=st={}));var ht;(function(g){function P(_,m){return{frameId:_,stoppedLocation:m}}g.create=P;function R(_){var m=_;return A.defined(m)&&a.is(_.stoppedLocation)}g.is=R})(ht||(e.InlineValueContext=ht={}));var ye;(function(g){g.Type=1,g.Parameter=2;function P(R){return R===1||R===2}g.is=P})(ye||(e.InlayHintKind=ye={}));var Xe;(function(g){function P(_){return{value:_}}g.create=P;function R(_){var m=_;return A.objectLiteral(m)&&(m.tooltip===void 0||A.string(m.tooltip)||us.is(m.tooltip))&&(m.location===void 0||c.is(m.location))&&(m.command===void 0||w.is(m.command))}g.is=R})(Xe||(e.InlayHintLabelPart=Xe={}));var De;(function(g){function P(_,m,D){var M={position:_,label:m};return D!==void 0&&(M.kind=D),M}g.create=P;function R(_){var m=_;return A.objectLiteral(m)&&o.is(m.position)&&(A.string(m.label)||A.typedArray(m.label,Xe.is))&&(m.kind===void 0||ye.is(m.kind))&&m.textEdits===void 0||A.typedArray(m.textEdits,C.is)&&(m.tooltip===void 0||A.string(m.tooltip)||us.is(m.tooltip))&&(m.paddingLeft===void 0||A.boolean(m.paddingLeft))&&(m.paddingRight===void 0||A.boolean(m.paddingRight))}g.is=R})(De||(e.InlayHint=De={}));var yt;(function(g){function P(R){return{kind:"snippet",value:R}}g.createSnippet=P})(yt||(e.StringValue=yt={}));var Lt;(function(g){function P(R,_,m,D){return{insertText:R,filterText:_,range:m,command:D}}g.create=P})(Lt||(e.InlineCompletionItem=Lt={}));var In;(function(g){function P(R){return{items:R}}g.create=P})(In||(e.InlineCompletionList=In={}));var tu;(function(g){g.Invoked=0,g.Automatic=1})(tu||(e.InlineCompletionTriggerKind=tu={}));var k_;(function(g){function P(R,_){return{range:R,text:_}}g.create=P})(k_||(e.SelectedCompletionInfo=k_={}));var N_;(function(g){function P(R,_){return{triggerKind:R,selectedCompletionInfo:_}}g.create=P})(N_||(e.InlineCompletionContext=N_={}));var P_;(function(g){function P(R){var _=R;return A.objectLiteral(_)&&r.is(_.uri)&&A.string(_.name)}g.is=P})(P_||(e.WorkspaceFolder=P_={})),e.EOL=[`
33
33
  `,`\r
34
34
  `,"\r"];var R_;(function(g){function P(D,M,ce,bt){return new pM(D,M,ce,bt)}g.create=P;function R(D){var M=D;return!!(A.defined(M)&&A.string(M.uri)&&(A.undefined(M.languageId)||A.string(M.languageId))&&A.uinteger(M.lineCount)&&A.func(M.getText)&&A.func(M.positionAt)&&A.func(M.offsetAt))}g.is=R;function _(D,M){for(var ce=D.getText(),bt=m(M,function(to,nu){var C_=to.range.start.line-nu.range.start.line;return C_===0?to.range.start.character-nu.range.start.character:C_}),Ze=ce.length,cr=bt.length-1;cr>=0;cr--){var lr=bt[cr],ri=D.offsetAt(lr.range.start),_e=D.offsetAt(lr.range.end);if(_e<=Ze)ce=ce.substring(0,ri)+lr.newText+ce.substring(_e,ce.length);else throw new Error("Overlapping edit");Ze=ri}return ce}g.applyEdits=_;function m(D,M){if(D.length<=1)return D;var ce=D.length/2|0,bt=D.slice(0,ce),Ze=D.slice(ce);m(bt,M),m(Ze,M);for(var cr=0,lr=0,ri=0;cr<bt.length&&lr<Ze.length;){var _e=M(bt[cr],Ze[lr]);_e<=0?D[ri++]=bt[cr++]:D[ri++]=Ze[lr++]}for(;cr<bt.length;)D[ri++]=bt[cr++];for(;lr<Ze.length;)D[ri++]=Ze[lr++];return D}})(R_||(e.TextDocument=R_={}));var pM=function(){function g(P,R,_,m){this._uri=P,this._languageId=R,this._version=_,this._content=m,this._lineOffsets=void 0}return Object.defineProperty(g.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(g.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(g.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),g.prototype.getText=function(P){if(P){var R=this.offsetAt(P.start),_=this.offsetAt(P.end);return this._content.substring(R,_)}return this._content},g.prototype.update=function(P,R){this._content=P.text,this._version=R,this._lineOffsets=void 0},g.prototype.getLineOffsets=function(){if(this._lineOffsets===void 0){for(var P=[],R=this._content,_=!0,m=0;m<R.length;m++){_&&(P.push(m),_=!1);var D=R.charAt(m);_=D==="\r"||D===`
35
35
  `,D==="\r"&&m+1<R.length&&R.charAt(m+1)===`
@@ -179,10 +179,10 @@ ${n.comment}`:n.comment}this.doc.range[2]=n.offset;break}default:this.errors.pus
179
179
  || ${o} === "boolean" || ${i} === null`).assign(a,(0,fe._)`[${i}]`)}}}function v2({gen:t,parentData:e,parentDataProperty:n},r){t.if((0,fe._)`${e} !== undefined`,()=>t.assign((0,fe._)`${e}[${n}]`,r))}function Pv(t,e,n,r=ha.Correct){let i=r===ha.Correct?fe.operators.EQ:fe.operators.NEQ,s;switch(t){case"null":return(0,fe._)`${e} ${i} null`;case"array":s=(0,fe._)`Array.isArray(${e})`;break;case"object":s=(0,fe._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":s=o((0,fe._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":s=o();break;default:return(0,fe._)`typeof ${e} ${i} ${t}`}return r===ha.Correct?s:(0,fe.not)(s);function o(a=fe.nil){return(0,fe.and)((0,fe._)`typeof ${e} == "number"`,a,n?(0,fe._)`isFinite(${e})`:fe.nil)}}an.checkDataType=Pv;function Rv(t,e,n,r){if(t.length===1)return Pv(t[0],e,n,r);let i,s=(0,UA.toHash)(t);if(s.array&&s.object){let o=(0,fe._)`typeof ${e} != "object"`;i=s.null?o:(0,fe._)`!${e} || ${o}`,delete s.null,delete s.array,delete s.object}else i=fe.nil;s.number&&delete s.integer;for(let o in s)i=(0,fe.and)(i,Pv(o,e,n,r));return i}an.checkDataTypes=Rv;var T2={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,fe._)`{type: ${t}}`:(0,fe._)`{type: ${e}}`};function Cv(t){let e=_2(t);(0,p2.reportError)(e,T2)}an.reportTypeError=Cv;function _2(t){let{gen:e,data:n,schema:r}=t,i=(0,UA.schemaRefOrVal)(t,r,"type");return{gen:e,keyword:"type",data:n,schema:r.type,schemaCode:i,schemaValue:i,parentSchema:r,params:{},it:t}}});var HA=k(Hh=>{"use strict";Object.defineProperty(Hh,"__esModule",{value:!0});Hh.assignDefaults=void 0;var pa=de(),S2=ve();function E2(t,e){let{properties:n,items:r}=t.schema;if(e==="object"&&n)for(let i in n)WA(t,i,n[i].default);else e==="array"&&Array.isArray(r)&&r.forEach((i,s)=>WA(t,s,i.default))}Hh.assignDefaults=E2;function WA(t,e,n){let{gen:r,compositeRule:i,data:s,opts:o}=t;if(n===void 0)return;let a=(0,pa._)`${s}${(0,pa.getProperty)(e)}`;if(i){(0,S2.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,pa._)`${a} === undefined`;o.useDefaults==="empty"&&(c=(0,pa._)`${c} || ${a} === null || ${a} === ""`),r.if(c,(0,pa._)`${a} = ${(0,pa.stringify)(n)}`)}});var nr=k(Ke=>{"use strict";Object.defineProperty(Ke,"__esModule",{value:!0});Ke.validateUnion=Ke.validateArray=Ke.usePattern=Ke.callValidateCode=Ke.schemaProperties=Ke.allSchemaProperties=Ke.noPropertyInData=Ke.propertyInData=Ke.isOwnProperty=Ke.hasPropFunc=Ke.reportMissingProp=Ke.checkMissingProp=Ke.checkReportMissingProp=void 0;var dt=de(),Dv=ve(),ns=tr(),w2=ve();function k2(t,e){let{gen:n,data:r,it:i}=t;n.if(Ov(n,r,e,i.opts.ownProperties),()=>{t.setParams({missingProperty:(0,dt._)`${e}`},!0),t.error()})}Ke.checkReportMissingProp=k2;function N2({gen:t,data:e,it:{opts:n}},r,i){return(0,dt.or)(...r.map(s=>(0,dt.and)(Ov(t,e,s,n.ownProperties),(0,dt._)`${i} = ${s}`)))}Ke.checkMissingProp=N2;function P2(t,e){t.setParams({missingProperty:e},!0),t.error()}Ke.reportMissingProp=P2;function GA(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,dt._)`Object.prototype.hasOwnProperty`})}Ke.hasPropFunc=GA;function Av(t,e,n){return(0,dt._)`${GA(t)}.call(${e}, ${n})`}Ke.isOwnProperty=Av;function R2(t,e,n,r){let i=(0,dt._)`${e}${(0,dt.getProperty)(n)} !== undefined`;return r?(0,dt._)`${i} && ${Av(t,e,n)}`:i}Ke.propertyInData=R2;function Ov(t,e,n,r){let i=(0,dt._)`${e}${(0,dt.getProperty)(n)} === undefined`;return r?(0,dt.or)(i,(0,dt.not)(Av(t,e,n))):i}Ke.noPropertyInData=Ov;function YA(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}Ke.allSchemaProperties=YA;function C2(t,e){return YA(e).filter(n=>!(0,Dv.alwaysValidSchema)(t,e[n]))}Ke.schemaProperties=C2;function D2({schemaCode:t,data:e,it:{gen:n,topSchemaRef:r,schemaPath:i,errorPath:s},it:o},a,c,l){let u=l?(0,dt._)`${t}, ${e}, ${r}${i}`:e,d=[[ns.default.instancePath,(0,dt.strConcat)(ns.default.instancePath,s)],[ns.default.parentData,o.parentData],[ns.default.parentDataProperty,o.parentDataProperty],[ns.default.rootData,ns.default.rootData]];o.opts.dynamicRef&&d.push([ns.default.dynamicAnchors,ns.default.dynamicAnchors]);let f=(0,dt._)`${u}, ${n.object(...d)}`;return c!==dt.nil?(0,dt._)`${a}.call(${c}, ${f})`:(0,dt._)`${a}(${f})`}Ke.callValidateCode=D2;var A2=(0,dt._)`new RegExp`;function O2({gen:t,it:{opts:e}},n){let r=e.unicodeRegExp?"u":"",{regExp:i}=e.code,s=i(n,r);return t.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,dt._)`${i.code==="new RegExp"?A2:(0,w2.useFunc)(t,i)}(${n}, ${r})`})}Ke.usePattern=O2;function I2(t){let{gen:e,data:n,keyword:r,it:i}=t,s=e.name("valid");if(i.allErrors){let a=e.let("valid",!0);return o(()=>e.assign(a,!1)),a}return e.var(s,!0),o(()=>e.break()),s;function o(a){let c=e.const("len",(0,dt._)`${n}.length`);e.forRange("i",0,c,l=>{t.subschema({keyword:r,dataProp:l,dataPropType:Dv.Type.Num},s),e.if((0,dt.not)(s),a)})}}Ke.validateArray=I2;function x2(t){let{gen:e,schema:n,keyword:r,it:i}=t;if(!Array.isArray(n))throw new Error("ajv implementation error");if(n.some(c=>(0,Dv.alwaysValidSchema)(i,c))&&!i.opts.unevaluated)return;let o=e.let("valid",!1),a=e.name("_valid");e.block(()=>n.forEach((c,l)=>{let u=t.subschema({keyword:r,schemaProp:l,compositeRule:!0},a);e.assign(o,(0,dt._)`${o} || ${a}`),t.mergeValidEvaluated(u,a)||e.if((0,dt.not)(o))})),t.result(o,()=>t.reset(),()=>t.error(!0))}Ke.validateUnion=x2});var JA=k(Xr=>{"use strict";Object.defineProperty(Xr,"__esModule",{value:!0});Xr.validateKeywordUsage=Xr.validSchemaType=Xr.funcKeywordCode=Xr.macroKeywordCode=void 0;var mn=de(),Bs=tr(),M2=nr(),L2=fl();function $2(t,e){let{gen:n,keyword:r,schema:i,parentSchema:s,it:o}=t,a=e.macro.call(o.self,i,s,o),c=XA(n,r,a);o.opts.validateSchema!==!1&&o.self.validateSchema(a,!0);let l=n.name("valid");t.subschema({schema:a,schemaPath:mn.nil,errSchemaPath:`${o.errSchemaPath}/${r}`,topSchemaRef:c,compositeRule:!0},l),t.pass(l,()=>t.error(!0))}Xr.macroKeywordCode=$2;function q2(t,e){var n;let{gen:r,keyword:i,schema:s,parentSchema:o,$data:a,it:c}=t;F2(c,e);let l=!a&&e.compile?e.compile.call(c.self,s,o,c):e.validate,u=XA(r,i,l),d=r.let("valid");t.block$data(d,f),t.ok((n=e.valid)!==null&&n!==void 0?n:d);function f(){if(e.errors===!1)p(),e.modifying&&KA(t),T(()=>t.error());else{let S=e.async?h():y();e.modifying&&KA(t),T(()=>j2(t,S))}}function h(){let S=r.let("ruleErrs",null);return r.try(()=>p((0,mn._)`await `),b=>r.assign(d,!1).if((0,mn._)`${b} instanceof ${c.ValidationError}`,()=>r.assign(S,(0,mn._)`${b}.errors`),()=>r.throw(b))),S}function y(){let S=(0,mn._)`${u}.errors`;return r.assign(S,null),p(mn.nil),S}function p(S=e.async?(0,mn._)`await `:mn.nil){let b=c.opts.passContext?Bs.default.this:Bs.default.self,v=!("compile"in e&&!a||e.schema===!1);r.assign(d,(0,mn._)`${S}${(0,M2.callValidateCode)(t,u,b,v)}`,e.modifying)}function T(S){var b;r.if((0,mn.not)((b=e.valid)!==null&&b!==void 0?b:d),S)}}Xr.funcKeywordCode=q2;function KA(t){let{gen:e,data:n,it:r}=t;e.if(r.parentData,()=>e.assign(n,(0,mn._)`${r.parentData}[${r.parentDataProperty}]`))}function j2(t,e){let{gen:n}=t;n.if((0,mn._)`Array.isArray(${e})`,()=>{n.assign(Bs.default.vErrors,(0,mn._)`${Bs.default.vErrors} === null ? ${e} : ${Bs.default.vErrors}.concat(${e})`).assign(Bs.default.errors,(0,mn._)`${Bs.default.vErrors}.length`),(0,L2.extendErrors)(t)},()=>t.error())}function F2({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function XA(t,e,n){if(n===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof n=="function"?{ref:n}:{ref:n,code:(0,mn.stringify)(n)})}function B2(t,e,n=!1){return!e.length||e.some(r=>r==="array"?Array.isArray(t):r==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==r||n&&typeof t>"u")}Xr.validSchemaType=B2;function U2({schema:t,opts:e,self:n,errSchemaPath:r},i,s){if(Array.isArray(i.keyword)?!i.keyword.includes(s):i.keyword!==s)throw new Error("ajv implementation error");let o=i.dependencies;if(o?.some(a=>!Object.prototype.hasOwnProperty.call(t,a)))throw new Error(`parent schema must have dependencies of ${s}: ${o.join(",")}`);if(i.validateSchema&&!i.validateSchema(t[s])){let c=`keyword "${s}" value is invalid at path "${r}": `+n.errorsText(i.validateSchema.errors);if(e.validateSchema==="log")n.logger.error(c);else throw new Error(c)}}Xr.validateKeywordUsage=U2});var ZA=k(rs=>{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});rs.extendSubschemaMode=rs.extendSubschemaData=rs.getSubschema=void 0;var Jr=de(),QA=ve();function V2(t,{keyword:e,schemaProp:n,schema:r,schemaPath:i,errSchemaPath:s,topSchemaRef:o}){if(e!==void 0&&r!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let a=t.schema[e];return n===void 0?{schema:a,schemaPath:(0,Jr._)`${t.schemaPath}${(0,Jr.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[n],schemaPath:(0,Jr._)`${t.schemaPath}${(0,Jr.getProperty)(e)}${(0,Jr.getProperty)(n)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,QA.escapeFragment)(n)}`}}if(r!==void 0){if(i===void 0||s===void 0||o===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:r,schemaPath:i,topSchemaRef:o,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}rs.getSubschema=V2;function z2(t,e,{dataProp:n,dataPropType:r,data:i,dataTypes:s,propertyName:o}){if(i!==void 0&&n!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=e;if(n!==void 0){let{errorPath:l,dataPathArr:u,opts:d}=e,f=a.let("data",(0,Jr._)`${e.data}${(0,Jr.getProperty)(n)}`,!0);c(f),t.errorPath=(0,Jr.str)`${l}${(0,QA.getErrorPath)(n,r,d.jsPropertySyntax)}`,t.parentDataProperty=(0,Jr._)`${n}`,t.dataPathArr=[...u,t.parentDataProperty]}if(i!==void 0){let l=i instanceof Jr.Name?i:a.let("data",i,!0);c(l),o!==void 0&&(t.propertyName=o)}s&&(t.dataTypes=s);function c(l){t.data=l,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,l]}}rs.extendSubschemaData=z2;function W2(t,{jtdDiscriminator:e,jtdMetadata:n,compositeRule:r,createErrors:i,allErrors:s}){r!==void 0&&(t.compositeRule=r),i!==void 0&&(t.createErrors=i),s!==void 0&&(t.allErrors=s),t.jtdDiscriminator=e,t.jtdMetadata=n}rs.extendSubschemaMode=W2});var Iv=k((Pse,eO)=>{"use strict";eO.exports=function t(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var r,i,s;if(Array.isArray(e)){if(r=e.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!t(e[i],n[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if(s=Object.keys(e),r=s.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[i]))return!1;for(i=r;i--!==0;){var o=s[i];if(!t(e[o],n[o]))return!1}return!0}return e!==e&&n!==n}});var nO=k((Rse,tO)=>{"use strict";var is=tO.exports=function(t,e,n){typeof e=="function"&&(n=e,e={}),n=e.cb||n;var r=typeof n=="function"?n:n.pre||function(){},i=n.post||function(){};Gh(e,r,i,t,"",t)};is.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};is.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};is.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};is.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function Gh(t,e,n,r,i,s,o,a,c,l){if(r&&typeof r=="object"&&!Array.isArray(r)){e(r,i,s,o,a,c,l);for(var u in r){var d=r[u];if(Array.isArray(d)){if(u in is.arrayKeywords)for(var f=0;f<d.length;f++)Gh(t,e,n,d[f],i+"/"+u+"/"+f,s,i,u,r,f)}else if(u in is.propsKeywords){if(d&&typeof d=="object")for(var h in d)Gh(t,e,n,d[h],i+"/"+u+"/"+H2(h),s,i,u,r,h)}else(u in is.keywords||t.allKeys&&!(u in is.skipKeywords))&&Gh(t,e,n,d,i+"/"+u,s,i,u,r)}n(r,i,s,o,a,c,l)}}function H2(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var pl=k(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.getSchemaRefs=An.resolveUrl=An.normalizeId=An._getFullPath=An.getFullPath=An.inlineRef=void 0;var G2=ve(),Y2=Iv(),K2=nO(),X2=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function J2(t,e=!0){return typeof t=="boolean"?!0:e===!0?!xv(t):e?rO(t)<=e:!1}An.inlineRef=J2;var Q2=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function xv(t){for(let e in t){if(Q2.has(e))return!0;let n=t[e];if(Array.isArray(n)&&n.some(xv)||typeof n=="object"&&xv(n))return!0}return!1}function rO(t){let e=0;for(let n in t){if(n==="$ref")return 1/0;if(e++,!X2.has(n)&&(typeof t[n]=="object"&&(0,G2.eachItem)(t[n],r=>e+=rO(r)),e===1/0))return 1/0}return e}function iO(t,e="",n){n!==!1&&(e=ma(e));let r=t.parse(e);return sO(t,r)}An.getFullPath=iO;function sO(t,e){return t.serialize(e).split("#")[0]+"#"}An._getFullPath=sO;var Z2=/#\/?$/;function ma(t){return t?t.replace(Z2,""):""}An.normalizeId=ma;function ez(t,e,n){return n=ma(n),t.resolve(e,n)}An.resolveUrl=ez;var tz=/^[a-z_][-a-z0-9._]*$/i;function nz(t,e){if(typeof t=="boolean")return{};let{schemaId:n,uriResolver:r}=this.opts,i=ma(t[n]||e),s={"":i},o=iO(r,i,!1),a={},c=new Set;return K2(t,{allKeys:!0},(d,f,h,y)=>{if(y===void 0)return;let p=o+f,T=s[y];typeof d[n]=="string"&&(T=S.call(this,d[n])),b.call(this,d.$anchor),b.call(this,d.$dynamicAnchor),s[f]=T;function S(v){let w=this.opts.uriResolver.resolve;if(v=ma(T?w(T,v):v),c.has(v))throw u(v);c.add(v);let C=this.refs[v];return typeof C=="string"&&(C=this.refs[C]),typeof C=="object"?l(d,C.schema,v):v!==ma(p)&&(v[0]==="#"?(l(d,a[v],v),a[v]=d):this.refs[v]=p),v}function b(v){if(typeof v=="string"){if(!tz.test(v))throw new Error(`invalid anchor "${v}"`);S.call(this,`#${v}`)}}}),a;function l(d,f,h){if(f!==void 0&&!Y2(d,f))throw u(h)}function u(d){return new Error(`reference "${d}" resolves to more than one schema`)}}An.getSchemaRefs=nz});var yl=k(ss=>{"use strict";Object.defineProperty(ss,"__esModule",{value:!0});ss.getData=ss.KeywordCxt=ss.validateFunctionCode=void 0;var uO=jA(),oO=hl(),Lv=Nv(),Yh=hl(),rz=HA(),gl=JA(),Mv=ZA(),Q=de(),ie=tr(),iz=pl(),yi=ve(),ml=fl();function sz(t){if(hO(t)&&(pO(t),fO(t))){cz(t);return}dO(t,()=>(0,uO.topBoolOrEmptySchema)(t))}ss.validateFunctionCode=sz;function dO({gen:t,validateName:e,schema:n,schemaEnv:r,opts:i},s){i.code.es5?t.func(e,(0,Q._)`${ie.default.data}, ${ie.default.valCxt}`,r.$async,()=>{t.code((0,Q._)`"use strict"; ${aO(n,i)}`),az(t,i),t.code(s)}):t.func(e,(0,Q._)`${ie.default.data}, ${oz(i)}`,r.$async,()=>t.code(aO(n,i)).code(s))}function oz(t){return(0,Q._)`{${ie.default.instancePath}="", ${ie.default.parentData}, ${ie.default.parentDataProperty}, ${ie.default.rootData}=${ie.default.data}${t.dynamicRef?(0,Q._)`, ${ie.default.dynamicAnchors}={}`:Q.nil}}={}`}function az(t,e){t.if(ie.default.valCxt,()=>{t.var(ie.default.instancePath,(0,Q._)`${ie.default.valCxt}.${ie.default.instancePath}`),t.var(ie.default.parentData,(0,Q._)`${ie.default.valCxt}.${ie.default.parentData}`),t.var(ie.default.parentDataProperty,(0,Q._)`${ie.default.valCxt}.${ie.default.parentDataProperty}`),t.var(ie.default.rootData,(0,Q._)`${ie.default.valCxt}.${ie.default.rootData}`),e.dynamicRef&&t.var(ie.default.dynamicAnchors,(0,Q._)`${ie.default.valCxt}.${ie.default.dynamicAnchors}`)},()=>{t.var(ie.default.instancePath,(0,Q._)`""`),t.var(ie.default.parentData,(0,Q._)`undefined`),t.var(ie.default.parentDataProperty,(0,Q._)`undefined`),t.var(ie.default.rootData,ie.default.data),e.dynamicRef&&t.var(ie.default.dynamicAnchors,(0,Q._)`{}`)})}function cz(t){let{schema:e,opts:n,gen:r}=t;dO(t,()=>{n.$comment&&e.$comment&&gO(t),hz(t),r.let(ie.default.vErrors,null),r.let(ie.default.errors,0),n.unevaluated&&lz(t),mO(t),gz(t)})}function lz(t){let{gen:e,validateName:n}=t;t.evaluated=e.const("evaluated",(0,Q._)`${n}.evaluated`),e.if((0,Q._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,Q._)`${t.evaluated}.props`,(0,Q._)`undefined`)),e.if((0,Q._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,Q._)`${t.evaluated}.items`,(0,Q._)`undefined`))}function aO(t,e){let n=typeof t=="object"&&t[e.schemaId];return n&&(e.code.source||e.code.process)?(0,Q._)`/*# sourceURL=${n} */`:Q.nil}function uz(t,e){if(hO(t)&&(pO(t),fO(t))){dz(t,e);return}(0,uO.boolOrEmptySchema)(t,e)}function fO({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let n in t)if(e.RULES.all[n])return!0;return!1}function hO(t){return typeof t.schema!="boolean"}function dz(t,e){let{schema:n,gen:r,opts:i}=t;i.$comment&&n.$comment&&gO(t),pz(t),mz(t);let s=r.const("_errs",ie.default.errors);mO(t,s),r.var(e,(0,Q._)`${s} === ${ie.default.errors}`)}function pO(t){(0,yi.checkUnknownRules)(t),fz(t)}function mO(t,e){if(t.opts.jtd)return cO(t,[],!1,e);let n=(0,oO.getSchemaTypes)(t.schema),r=(0,oO.coerceAndCheckDataType)(t,n);cO(t,n,!r,e)}function fz(t){let{schema:e,errSchemaPath:n,opts:r,self:i}=t;e.$ref&&r.ignoreKeywordsWithRef&&(0,yi.schemaHasRulesButRef)(e,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${n}"`)}function hz(t){let{schema:e,opts:n}=t;e.default!==void 0&&n.useDefaults&&n.strictSchema&&(0,yi.checkStrictMode)(t,"default is ignored in the schema root")}function pz(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,iz.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function mz(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function gO({gen:t,schemaEnv:e,schema:n,errSchemaPath:r,opts:i}){let s=n.$comment;if(i.$comment===!0)t.code((0,Q._)`${ie.default.self}.logger.log(${s})`);else if(typeof i.$comment=="function"){let o=(0,Q.str)`${r}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,Q._)`${ie.default.self}.opts.$comment(${s}, ${o}, ${a}.schema)`)}}function gz(t){let{gen:e,schemaEnv:n,validateName:r,ValidationError:i,opts:s}=t;n.$async?e.if((0,Q._)`${ie.default.errors} === 0`,()=>e.return(ie.default.data),()=>e.throw((0,Q._)`new ${i}(${ie.default.vErrors})`)):(e.assign((0,Q._)`${r}.errors`,ie.default.vErrors),s.unevaluated&&yz(t),e.return((0,Q._)`${ie.default.errors} === 0`))}function yz({gen:t,evaluated:e,props:n,items:r}){n instanceof Q.Name&&t.assign((0,Q._)`${e}.props`,n),r instanceof Q.Name&&t.assign((0,Q._)`${e}.items`,r)}function cO(t,e,n,r){let{gen:i,schema:s,data:o,allErrors:a,opts:c,self:l}=t,{RULES:u}=l;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,yi.schemaHasRulesButRef)(s,u))){i.block(()=>bO(t,"$ref",u.all.$ref.definition));return}c.jtd||bz(t,e),i.block(()=>{for(let f of u.rules)d(f);d(u.post)});function d(f){(0,Lv.shouldUseGroup)(s,f)&&(f.type?(i.if((0,Yh.checkDataType)(f.type,o,c.strictNumbers)),lO(t,f),e.length===1&&e[0]===f.type&&n&&(i.else(),(0,Yh.reportTypeError)(t)),i.endIf()):lO(t,f),a||i.if((0,Q._)`${ie.default.errors} === ${r||0}`))}}function lO(t,e){let{gen:n,schema:r,opts:{useDefaults:i}}=t;i&&(0,rz.assignDefaults)(t,e.type),n.block(()=>{for(let s of e.rules)(0,Lv.shouldUseRule)(r,s)&&bO(t,s.keyword,s.definition,e.type)})}function bz(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(vz(t,e),t.opts.allowUnionTypes||Tz(t,e),_z(t,t.dataTypes))}function vz(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(n=>{yO(t.dataTypes,n)||$v(t,`type "${n}" not allowed by context "${t.dataTypes.join(",")}"`)}),Ez(t,e)}}function Tz(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&$v(t,"use allowUnionTypes to allow union type keyword")}function _z(t,e){let n=t.self.RULES.all;for(let r in n){let i=n[r];if(typeof i=="object"&&(0,Lv.shouldUseRule)(t.schema,i)){let{type:s}=i.definition;s.length&&!s.some(o=>Sz(e,o))&&$v(t,`missing type "${s.join(",")}" for keyword "${r}"`)}}}function Sz(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function yO(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function Ez(t,e){let n=[];for(let r of t.dataTypes)yO(e,r)?n.push(r):e.includes("integer")&&r==="number"&&n.push("integer");t.dataTypes=n}function $v(t,e){let n=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${n}" (strictTypes)`,(0,yi.checkStrictMode)(t,e,t.opts.strictTypes)}var Kh=class{constructor(e,n,r){if((0,gl.validateKeywordUsage)(e,n,r),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=r,this.data=e.data,this.schema=e.schema[r],this.$data=n.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,yi.schemaRefOrVal)(e,this.schema,r,this.$data),this.schemaType=n.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=n,this.$data)this.schemaCode=e.gen.const("vSchema",vO(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,gl.validSchemaType)(this.schema,n.schemaType,n.allowUndefined))throw new Error(`${r} value must be ${JSON.stringify(n.schemaType)}`);("code"in n?n.trackErrors:n.errors!==!1)&&(this.errsCount=e.gen.const("_errs",ie.default.errors))}result(e,n,r){this.failResult((0,Q.not)(e),n,r)}failResult(e,n,r){this.gen.if(e),r?r():this.error(),n?(this.gen.else(),n(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,n){this.failResult((0,Q.not)(e),void 0,n)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:n}=this;this.fail((0,Q._)`${n} !== undefined && (${(0,Q.or)(this.invalid$data(),e)})`)}error(e,n,r){if(n){this.setParams(n),this._error(e,r),this.setParams({});return}this._error(e,r)}_error(e,n){(e?ml.reportExtraError:ml.reportError)(this,this.def.error,n)}$dataError(){(0,ml.reportError)(this,this.def.$dataError||ml.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,ml.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,n){n?Object.assign(this.params,e):this.params=e}block$data(e,n,r=Q.nil){this.gen.block(()=>{this.check$data(e,r),n()})}check$data(e=Q.nil,n=Q.nil){if(!this.$data)return;let{gen:r,schemaCode:i,schemaType:s,def:o}=this;r.if((0,Q.or)((0,Q._)`${i} === undefined`,n)),e!==Q.nil&&r.assign(e,!0),(s.length||o.validateSchema)&&(r.elseIf(this.invalid$data()),this.$dataError(),e!==Q.nil&&r.assign(e,!1)),r.else()}invalid$data(){let{gen:e,schemaCode:n,schemaType:r,def:i,it:s}=this;return(0,Q.or)(o(),a());function o(){if(r.length){if(!(n instanceof Q.Name))throw new Error("ajv implementation error");let c=Array.isArray(r)?r:[r];return(0,Q._)`${(0,Yh.checkDataTypes)(c,n,s.opts.strictNumbers,Yh.DataType.Wrong)}`}return Q.nil}function a(){if(i.validateSchema){let c=e.scopeValue("validate$data",{ref:i.validateSchema});return(0,Q._)`!${c}(${n})`}return Q.nil}}subschema(e,n){let r=(0,Mv.getSubschema)(this.it,e);(0,Mv.extendSubschemaData)(r,this.it,e),(0,Mv.extendSubschemaMode)(r,e);let i={...this.it,...r,items:void 0,props:void 0};return uz(i,n),i}mergeEvaluated(e,n){let{it:r,gen:i}=this;r.opts.unevaluated&&(r.props!==!0&&e.props!==void 0&&(r.props=yi.mergeEvaluated.props(i,e.props,r.props,n)),r.items!==!0&&e.items!==void 0&&(r.items=yi.mergeEvaluated.items(i,e.items,r.items,n)))}mergeValidEvaluated(e,n){let{it:r,gen:i}=this;if(r.opts.unevaluated&&(r.props!==!0||r.items!==!0))return i.if(n,()=>this.mergeEvaluated(e,Q.Name)),!0}};ss.KeywordCxt=Kh;function bO(t,e,n,r){let i=new Kh(t,n,e);"code"in n?n.code(i,r):i.$data&&n.validate?(0,gl.funcKeywordCode)(i,n):"macro"in n?(0,gl.macroKeywordCode)(i,n):(n.compile||n.validate)&&(0,gl.funcKeywordCode)(i,n)}var wz=/^\/(?:[^~]|~0|~1)*$/,kz=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function vO(t,{dataLevel:e,dataNames:n,dataPathArr:r}){let i,s;if(t==="")return ie.default.rootData;if(t[0]==="/"){if(!wz.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);i=t,s=ie.default.rootData}else{let l=kz.exec(t);if(!l)throw new Error(`Invalid JSON-pointer: ${t}`);let u=+l[1];if(i=l[2],i==="#"){if(u>=e)throw new Error(c("property/index",u));return r[e-u]}if(u>e)throw new Error(c("data",u));if(s=n[e-u],!i)return s}let o=s,a=i.split("/");for(let l of a)l&&(s=(0,Q._)`${s}${(0,Q.getProperty)((0,yi.unescapeJsonPointer)(l))}`,o=(0,Q._)`${o} && ${s}`);return o;function c(l,u){return`Cannot access ${l} ${u} levels up, current level is ${e}`}}ss.getData=vO});var Xh=k(jv=>{"use strict";Object.defineProperty(jv,"__esModule",{value:!0});var qv=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};jv.default=qv});var bl=k(Uv=>{"use strict";Object.defineProperty(Uv,"__esModule",{value:!0});var Fv=pl(),Bv=class extends Error{constructor(e,n,r,i){super(i||`can't resolve reference ${r} from id ${n}`),this.missingRef=(0,Fv.resolveUrl)(e,n,r),this.missingSchema=(0,Fv.normalizeId)((0,Fv.getFullPath)(e,this.missingRef))}};Uv.default=Bv});var vl=k(rr=>{"use strict";Object.defineProperty(rr,"__esModule",{value:!0});rr.resolveSchema=rr.getCompilingSchema=rr.resolveRef=rr.compileSchema=rr.SchemaEnv=void 0;var kr=de(),Nz=Xh(),Us=tr(),Nr=pl(),TO=ve(),Pz=yl(),ga=class{constructor(e){var n;this.refs={},this.dynamicAnchors={};let r;typeof e.schema=="object"&&(r=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(n=e.baseId)!==null&&n!==void 0?n:(0,Nr.normalizeId)(r?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=r?.$async,this.refs={}}};rr.SchemaEnv=ga;function zv(t){let e=_O.call(this,t);if(e)return e;let n=(0,Nr.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:r,lines:i}=this.opts.code,{ownProperties:s}=this.opts,o=new kr.CodeGen(this.scope,{es5:r,lines:i,ownProperties:s}),a;t.$async&&(a=o.scopeValue("Error",{ref:Nz.default,code:(0,kr._)`require("ajv/dist/runtime/validation_error").default`}));let c=o.scopeName("validate");t.validateName=c;let l={gen:o,allErrors:this.opts.allErrors,data:Us.default.data,parentData:Us.default.parentData,parentDataProperty:Us.default.parentDataProperty,dataNames:[Us.default.data],dataPathArr:[kr.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,kr.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:n,baseId:t.baseId||n,schemaPath:kr.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,kr._)`""`,opts:this.opts,self:this},u;try{this._compilations.add(t),(0,Pz.validateFunctionCode)(l),o.optimize(this.opts.code.optimize);let d=o.toString();u=`${o.scopeRefs(Us.default.scope)}return ${d}`,this.opts.code.process&&(u=this.opts.code.process(u,t));let h=new Function(`${Us.default.self}`,`${Us.default.scope}`,u)(this,this.scope.get());if(this.scope.value(c,{ref:h}),h.errors=null,h.schema=t.schema,h.schemaEnv=t,t.$async&&(h.$async=!0),this.opts.code.source===!0&&(h.source={validateName:c,validateCode:d,scopeValues:o._values}),this.opts.unevaluated){let{props:y,items:p}=l;h.evaluated={props:y instanceof kr.Name?void 0:y,items:p instanceof kr.Name?void 0:p,dynamicProps:y instanceof kr.Name,dynamicItems:p instanceof kr.Name},h.source&&(h.source.evaluated=(0,kr.stringify)(h.evaluated))}return t.validate=h,t}catch(d){throw delete t.validate,delete t.validateName,u&&this.logger.error("Error compiling schema, function code:",u),d}finally{this._compilations.delete(t)}}rr.compileSchema=zv;function Rz(t,e,n){var r;n=(0,Nr.resolveUrl)(this.opts.uriResolver,e,n);let i=t.refs[n];if(i)return i;let s=Az.call(this,t,n);if(s===void 0){let o=(r=t.localRefs)===null||r===void 0?void 0:r[n],{schemaId:a}=this.opts;o&&(s=new ga({schema:o,schemaId:a,root:t,baseId:e}))}if(s!==void 0)return t.refs[n]=Cz.call(this,s)}rr.resolveRef=Rz;function Cz(t){return(0,Nr.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:zv.call(this,t)}function _O(t){for(let e of this._compilations)if(Dz(e,t))return e}rr.getCompilingSchema=_O;function Dz(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function Az(t,e){let n;for(;typeof(n=this.refs[e])=="string";)e=n;return n||this.schemas[e]||Jh.call(this,t,e)}function Jh(t,e){let n=this.opts.uriResolver.parse(e),r=(0,Nr._getFullPath)(this.opts.uriResolver,n),i=(0,Nr.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&r===i)return Vv.call(this,n,t);let s=(0,Nr.normalizeId)(r),o=this.refs[s]||this.schemas[s];if(typeof o=="string"){let a=Jh.call(this,t,o);return typeof a?.schema!="object"?void 0:Vv.call(this,n,a)}if(typeof o?.schema=="object"){if(o.validate||zv.call(this,o),s===(0,Nr.normalizeId)(e)){let{schema:a}=o,{schemaId:c}=this.opts,l=a[c];return l&&(i=(0,Nr.resolveUrl)(this.opts.uriResolver,i,l)),new ga({schema:a,schemaId:c,root:t,baseId:i})}return Vv.call(this,n,o)}}rr.resolveSchema=Jh;var Oz=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Vv(t,{baseId:e,schema:n,root:r}){var i;if(((i=t.fragment)===null||i===void 0?void 0:i[0])!=="/")return;for(let a of t.fragment.slice(1).split("/")){if(typeof n=="boolean")return;let c=n[(0,TO.unescapeFragment)(a)];if(c===void 0)return;n=c;let l=typeof n=="object"&&n[this.opts.schemaId];!Oz.has(a)&&l&&(e=(0,Nr.resolveUrl)(this.opts.uriResolver,e,l))}let s;if(typeof n!="boolean"&&n.$ref&&!(0,TO.schemaHasRulesButRef)(n,this.RULES)){let a=(0,Nr.resolveUrl)(this.opts.uriResolver,e,n.$ref);s=Jh.call(this,r,a)}let{schemaId:o}=this.opts;if(s=s||new ga({schema:n,schemaId:o,root:r,baseId:e}),s.schema!==s.root.schema)return s}});var SO=k((xse,Iz)=>{Iz.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var wO=k((Mse,EO)=>{"use strict";var xz={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};EO.exports={HEX:xz}});var OO=k((Lse,AO)=>{"use strict";var{HEX:Mz}=wO(),Lz=/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u;function RO(t){if(DO(t,".")<3)return{host:t,isIPV4:!1};let e=t.match(Lz)||[],[n]=e;return n?{host:qz(n,"."),isIPV4:!0}:{host:t,isIPV4:!1}}function Wv(t,e=!1){let n="",r=!0;for(let i of t){if(Mz[i]===void 0)return;i!=="0"&&r===!0&&(r=!1),r||(n+=i)}return e&&n.length===0&&(n="0"),n}function $z(t){let e=0,n={error:!1,address:"",zone:""},r=[],i=[],s=!1,o=!1,a=!1;function c(){if(i.length){if(s===!1){let l=Wv(i);if(l!==void 0)r.push(l);else return n.error=!0,!1}i.length=0}return!0}for(let l=0;l<t.length;l++){let u=t[l];if(!(u==="["||u==="]"))if(u===":"){if(o===!0&&(a=!0),!c())break;if(e++,r.push(":"),e>7){n.error=!0;break}l-1>=0&&t[l-1]===":"&&(o=!0);continue}else if(u==="%"){if(!c())break;s=!0}else{i.push(u);continue}}return i.length&&(s?n.zone=i.join(""):a?r.push(i.join("")):r.push(Wv(i))),n.address=r.join(""),n}function CO(t){if(DO(t,":")<2)return{host:t,isIPV6:!1};let e=$z(t);if(e.error)return{host:t,isIPV6:!1};{let n=e.address,r=e.address;return e.zone&&(n+="%"+e.zone,r+="%25"+e.zone),{host:n,escapedHost:r,isIPV6:!0}}}function qz(t,e){let n="",r=!0,i=t.length;for(let s=0;s<i;s++){let o=t[s];o==="0"&&r?(s+1<=i&&t[s+1]===e||s+1===i)&&(n+=o,r=!1):(o===e?r=!0:r=!1,n+=o)}return n}function DO(t,e){let n=0;for(let r=0;r<t.length;r++)t[r]===e&&n++;return n}var kO=/^\.\.?\//u,NO=/^\/\.(?:\/|$)/u,PO=/^\/\.\.(?:\/|$)/u,jz=/^\/?(?:.|\n)*?(?=\/|$)/u;function Fz(t){let e=[];for(;t.length;)if(t.match(kO))t=t.replace(kO,"");else if(t.match(NO))t=t.replace(NO,"/");else if(t.match(PO))t=t.replace(PO,"/"),e.pop();else if(t==="."||t==="..")t="";else{let n=t.match(jz);if(n){let r=n[0];t=t.slice(r.length),e.push(r)}else throw new Error("Unexpected dot segment condition")}return e.join("")}function Bz(t,e){let n=e!==!0?escape:unescape;return t.scheme!==void 0&&(t.scheme=n(t.scheme)),t.userinfo!==void 0&&(t.userinfo=n(t.userinfo)),t.host!==void 0&&(t.host=n(t.host)),t.path!==void 0&&(t.path=n(t.path)),t.query!==void 0&&(t.query=n(t.query)),t.fragment!==void 0&&(t.fragment=n(t.fragment)),t}function Uz(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let n=unescape(t.host),r=RO(n);if(r.isIPV4)n=r.host;else{let i=CO(r.host);i.isIPV6===!0?n=`[${i.escapedHost}]`:n=t.host}e.push(n)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}AO.exports={recomposeAuthority:Uz,normalizeComponentEncoding:Bz,removeDotSegments:Fz,normalizeIPv4:RO,normalizeIPv6:CO,stringArrayToHexStripped:Wv}});var qO=k(($se,$O)=>{"use strict";var Vz=/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu,zz=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;function IO(t){return typeof t.secure=="boolean"?t.secure:String(t.scheme).toLowerCase()==="wss"}function xO(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function MO(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function Wz(t){return t.secure=IO(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function Hz(t){if((t.port===(IO(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,n]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=n,t.resourceName=void 0}return t.fragment=void 0,t}function Gz(t,e){if(!t.path)return t.error="URN can not be parsed",t;let n=t.path.match(zz);if(n){let r=e.scheme||t.scheme||"urn";t.nid=n[1].toLowerCase(),t.nss=n[2];let i=`${r}:${e.nid||t.nid}`,s=Hv[i];t.path=void 0,s&&(t=s.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function Yz(t,e){let n=e.scheme||t.scheme||"urn",r=t.nid.toLowerCase(),i=`${n}:${e.nid||r}`,s=Hv[i];s&&(t=s.serialize(t,e));let o=t,a=t.nss;return o.path=`${r||e.nid}:${a}`,e.skipEscape=!0,o}function Kz(t,e){let n=t;return n.uuid=n.nss,n.nss=void 0,!e.tolerant&&(!n.uuid||!Vz.test(n.uuid))&&(n.error=n.error||"UUID is not valid."),n}function Xz(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var LO={scheme:"http",domainHost:!0,parse:xO,serialize:MO},Jz={scheme:"https",domainHost:LO.domainHost,parse:xO,serialize:MO},Qh={scheme:"ws",domainHost:!0,parse:Wz,serialize:Hz},Qz={scheme:"wss",domainHost:Qh.domainHost,parse:Qh.parse,serialize:Qh.serialize},Zz={scheme:"urn",parse:Gz,serialize:Yz,skipNormalize:!0},eW={scheme:"urn:uuid",parse:Kz,serialize:Xz,skipNormalize:!0},Hv={http:LO,https:Jz,ws:Qh,wss:Qz,urn:Zz,"urn:uuid":eW};$O.exports=Hv});var FO=k((qse,ep)=>{"use strict";var{normalizeIPv6:tW,normalizeIPv4:nW,removeDotSegments:Tl,recomposeAuthority:rW,normalizeComponentEncoding:Zh}=OO(),Gv=qO();function iW(t,e){return typeof t=="string"?t=Qr(bi(t,e),e):typeof t=="object"&&(t=bi(Qr(t,e),e)),t}function sW(t,e,n){let r=Object.assign({scheme:"null"},n),i=jO(bi(t,r),bi(e,r),r,!0);return Qr(i,{...r,skipEscape:!0})}function jO(t,e,n,r){let i={};return r||(t=bi(Qr(t,n),n),e=bi(Qr(e,n),n)),n=n||{},!n.tolerant&&e.scheme?(i.scheme=e.scheme,i.userinfo=e.userinfo,i.host=e.host,i.port=e.port,i.path=Tl(e.path||""),i.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(i.userinfo=e.userinfo,i.host=e.host,i.port=e.port,i.path=Tl(e.path||""),i.query=e.query):(e.path?(e.path.charAt(0)==="/"?i.path=Tl(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?i.path="/"+e.path:t.path?i.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:i.path=e.path,i.path=Tl(i.path)),i.query=e.query):(i.path=t.path,e.query!==void 0?i.query=e.query:i.query=t.query),i.userinfo=t.userinfo,i.host=t.host,i.port=t.port),i.scheme=t.scheme),i.fragment=e.fragment,i}function oW(t,e,n){return typeof t=="string"?(t=unescape(t),t=Qr(Zh(bi(t,n),!0),{...n,skipEscape:!0})):typeof t=="object"&&(t=Qr(Zh(t,!0),{...n,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=Qr(Zh(bi(e,n),!0),{...n,skipEscape:!0})):typeof e=="object"&&(e=Qr(Zh(e,!0),{...n,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function Qr(t,e){let n={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},r=Object.assign({},e),i=[],s=Gv[(r.scheme||n.scheme||"").toLowerCase()];s&&s.serialize&&s.serialize(n,r),n.path!==void 0&&(r.skipEscape?n.path=unescape(n.path):(n.path=escape(n.path),n.scheme!==void 0&&(n.path=n.path.split("%3A").join(":")))),r.reference!=="suffix"&&n.scheme&&i.push(n.scheme,":");let o=rW(n);if(o!==void 0&&(r.reference!=="suffix"&&i.push("//"),i.push(o),n.path&&n.path.charAt(0)!=="/"&&i.push("/")),n.path!==void 0){let a=n.path;!r.absolutePath&&(!s||!s.absolutePath)&&(a=Tl(a)),o===void 0&&(a=a.replace(/^\/\//u,"/%2F")),i.push(a)}return n.query!==void 0&&i.push("?",n.query),n.fragment!==void 0&&i.push("#",n.fragment),i.join("")}var aW=Array.from({length:127},(t,e)=>/[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(e)));function cW(t){let e=0;for(let n=0,r=t.length;n<r;++n)if(e=t.charCodeAt(n),e>126||aW[e])return!0;return!1}var lW=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function bi(t,e){let n=Object.assign({},e),r={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},i=t.indexOf("%")!==-1,s=!1;n.reference==="suffix"&&(t=(n.scheme?n.scheme+":":"")+"//"+t);let o=t.match(lW);if(o){if(r.scheme=o[1],r.userinfo=o[3],r.host=o[4],r.port=parseInt(o[5],10),r.path=o[6]||"",r.query=o[7],r.fragment=o[8],isNaN(r.port)&&(r.port=o[5]),r.host){let c=nW(r.host);if(c.isIPV4===!1){let l=tW(c.host);r.host=l.host.toLowerCase(),s=l.isIPV6}else r.host=c.host,s=!0}r.scheme===void 0&&r.userinfo===void 0&&r.host===void 0&&r.port===void 0&&r.query===void 0&&!r.path?r.reference="same-document":r.scheme===void 0?r.reference="relative":r.fragment===void 0?r.reference="absolute":r.reference="uri",n.reference&&n.reference!=="suffix"&&n.reference!==r.reference&&(r.error=r.error||"URI is not a "+n.reference+" reference.");let a=Gv[(n.scheme||r.scheme||"").toLowerCase()];if(!n.unicodeSupport&&(!a||!a.unicodeSupport)&&r.host&&(n.domainHost||a&&a.domainHost)&&s===!1&&cW(r.host))try{r.host=URL.domainToASCII(r.host.toLowerCase())}catch(c){r.error=r.error||"Host's domain name can not be converted to ASCII: "+c}(!a||a&&!a.skipNormalize)&&(i&&r.scheme!==void 0&&(r.scheme=unescape(r.scheme)),i&&r.host!==void 0&&(r.host=unescape(r.host)),r.path&&(r.path=escape(unescape(r.path))),r.fragment&&(r.fragment=encodeURI(decodeURIComponent(r.fragment)))),a&&a.parse&&a.parse(r,n)}else r.error=r.error||"URI can not be parsed.";return r}var Yv={SCHEMES:Gv,normalize:iW,resolve:sW,resolveComponents:jO,equal:oW,serialize:Qr,parse:bi};ep.exports=Yv;ep.exports.default=Yv;ep.exports.fastUri=Yv});var UO=k(Kv=>{"use strict";Object.defineProperty(Kv,"__esModule",{value:!0});var BO=FO();BO.code='require("ajv/dist/runtime/uri").default';Kv.default=BO});var XO=k(Yt=>{"use strict";Object.defineProperty(Yt,"__esModule",{value:!0});Yt.CodeGen=Yt.Name=Yt.nil=Yt.stringify=Yt.str=Yt._=Yt.KeywordCxt=void 0;var uW=yl();Object.defineProperty(Yt,"KeywordCxt",{enumerable:!0,get:function(){return uW.KeywordCxt}});var ya=de();Object.defineProperty(Yt,"_",{enumerable:!0,get:function(){return ya._}});Object.defineProperty(Yt,"str",{enumerable:!0,get:function(){return ya.str}});Object.defineProperty(Yt,"stringify",{enumerable:!0,get:function(){return ya.stringify}});Object.defineProperty(Yt,"nil",{enumerable:!0,get:function(){return ya.nil}});Object.defineProperty(Yt,"Name",{enumerable:!0,get:function(){return ya.Name}});Object.defineProperty(Yt,"CodeGen",{enumerable:!0,get:function(){return ya.CodeGen}});var dW=Xh(),GO=bl(),fW=kv(),_l=vl(),hW=de(),Sl=pl(),tp=hl(),Jv=ve(),VO=SO(),pW=UO(),YO=(t,e)=>new RegExp(t,e);YO.code="new RegExp";var mW=["removeAdditional","useDefaults","coerceTypes"],gW=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),yW={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},bW={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},zO=200;function vW(t){var e,n,r,i,s,o,a,c,l,u,d,f,h,y,p,T,S,b,v,w,C,L,B,q,ae;let We=t.strict,Dt=(e=t.code)===null||e===void 0?void 0:e.optimize,ge=Dt===!0||Dt===void 0?1:Dt||0,Un=(r=(n=t.code)===null||n===void 0?void 0:n.regExp)!==null&&r!==void 0?r:YO,vi=(i=t.uriResolver)!==null&&i!==void 0?i:pW.default;return{strictSchema:(o=(s=t.strictSchema)!==null&&s!==void 0?s:We)!==null&&o!==void 0?o:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:We)!==null&&c!==void 0?c:!0,strictTypes:(u=(l=t.strictTypes)!==null&&l!==void 0?l:We)!==null&&u!==void 0?u:"log",strictTuples:(f=(d=t.strictTuples)!==null&&d!==void 0?d:We)!==null&&f!==void 0?f:"log",strictRequired:(y=(h=t.strictRequired)!==null&&h!==void 0?h:We)!==null&&y!==void 0?y:!1,code:t.code?{...t.code,optimize:ge,regExp:Un}:{optimize:ge,regExp:Un},loopRequired:(p=t.loopRequired)!==null&&p!==void 0?p:zO,loopEnum:(T=t.loopEnum)!==null&&T!==void 0?T:zO,meta:(S=t.meta)!==null&&S!==void 0?S:!0,messages:(b=t.messages)!==null&&b!==void 0?b:!0,inlineRefs:(v=t.inlineRefs)!==null&&v!==void 0?v:!0,schemaId:(w=t.schemaId)!==null&&w!==void 0?w:"$id",addUsedSchema:(C=t.addUsedSchema)!==null&&C!==void 0?C:!0,validateSchema:(L=t.validateSchema)!==null&&L!==void 0?L:!0,validateFormats:(B=t.validateFormats)!==null&&B!==void 0?B:!0,unicodeRegExp:(q=t.unicodeRegExp)!==null&&q!==void 0?q:!0,int32range:(ae=t.int32range)!==null&&ae!==void 0?ae:!0,uriResolver:vi}}var El=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...vW(e)};let{es5:n,lines:r}=this.opts.code;this.scope=new hW.ValueScope({scope:{},prefixes:gW,es5:n,lines:r}),this.logger=kW(e.logger);let i=e.validateFormats;e.validateFormats=!1,this.RULES=(0,fW.getRules)(),WO.call(this,yW,e,"NOT SUPPORTED"),WO.call(this,bW,e,"DEPRECATED","warn"),this._metaOpts=EW.call(this),e.formats&&_W.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&SW.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),TW.call(this),e.validateFormats=i}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:n,schemaId:r}=this.opts,i=VO;r==="id"&&(i={...VO},i.id=i.$id,delete i.$id),n&&e&&this.addMetaSchema(i,i[r],!1)}defaultMeta(){let{meta:e,schemaId:n}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[n]||e:void 0}validate(e,n){let r;if(typeof e=="string"){if(r=this.getSchema(e),!r)throw new Error(`no schema with key or ref "${e}"`)}else r=this.compile(e);let i=r(n);return"$async"in r||(this.errors=r.errors),i}compile(e,n){let r=this._addSchema(e,n);return r.validate||this._compileSchemaEnv(r)}compileAsync(e,n){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:r}=this.opts;return i.call(this,e,n);async function i(u,d){await s.call(this,u.$schema);let f=this._addSchema(u,d);return f.validate||o.call(this,f)}async function s(u){u&&!this.getSchema(u)&&await i.call(this,{$ref:u},!0)}async function o(u){try{return this._compileSchemaEnv(u)}catch(d){if(!(d instanceof GO.default))throw d;return a.call(this,d),await c.call(this,d.missingSchema),o.call(this,u)}}function a({missingSchema:u,missingRef:d}){if(this.refs[u])throw new Error(`AnySchema ${u} is loaded but ${d} cannot be resolved`)}async function c(u){let d=await l.call(this,u);this.refs[u]||await s.call(this,d.$schema),this.refs[u]||this.addSchema(d,u,n)}async function l(u){let d=this._loading[u];if(d)return d;try{return await(this._loading[u]=r(u))}finally{delete this._loading[u]}}}addSchema(e,n,r,i=this.opts.validateSchema){if(Array.isArray(e)){for(let o of e)this.addSchema(o,void 0,r,i);return this}let s;if(typeof e=="object"){let{schemaId:o}=this.opts;if(s=e[o],s!==void 0&&typeof s!="string")throw new Error(`schema ${o} must be string`)}return n=(0,Sl.normalizeId)(n||s),this._checkUnique(n),this.schemas[n]=this._addSchema(e,r,n,i,!0),this}addMetaSchema(e,n,r=this.opts.validateSchema){return this.addSchema(e,n,!0,r),this}validateSchema(e,n){if(typeof e=="boolean")return!0;let r;if(r=e.$schema,r!==void 0&&typeof r!="string")throw new Error("$schema must be a string");if(r=r||this.opts.defaultMeta||this.defaultMeta(),!r)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let i=this.validate(r,e);if(!i&&n){let s="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(s);else throw new Error(s)}return i}getSchema(e){let n;for(;typeof(n=HO.call(this,e))=="string";)e=n;if(n===void 0){let{schemaId:r}=this.opts,i=new _l.SchemaEnv({schema:{},schemaId:r});if(n=_l.resolveSchema.call(this,i,e),!n)return;this.refs[e]=n}return n.validate||this._compileSchemaEnv(n)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let n=HO.call(this,e);return typeof n=="object"&&this._cache.delete(n.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let n=e;this._cache.delete(n);let r=e[this.opts.schemaId];return r&&(r=(0,Sl.normalizeId)(r),delete this.schemas[r],delete this.refs[r]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let n of e)this.addKeyword(n);return this}addKeyword(e,n){let r;if(typeof e=="string")r=e,typeof n=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),n.keyword=r);else if(typeof e=="object"&&n===void 0){if(n=e,r=n.keyword,Array.isArray(r)&&!r.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(PW.call(this,r,n),!n)return(0,Jv.eachItem)(r,s=>Xv.call(this,s)),this;CW.call(this,n);let i={...n,type:(0,tp.getJSONTypes)(n.type),schemaType:(0,tp.getJSONTypes)(n.schemaType)};return(0,Jv.eachItem)(r,i.type.length===0?s=>Xv.call(this,s,i):s=>i.type.forEach(o=>Xv.call(this,s,i,o))),this}getKeyword(e){let n=this.RULES.all[e];return typeof n=="object"?n.definition:!!n}removeKeyword(e){let{RULES:n}=this;delete n.keywords[e],delete n.all[e];for(let r of n.rules){let i=r.rules.findIndex(s=>s.keyword===e);i>=0&&r.rules.splice(i,1)}return this}addFormat(e,n){return typeof n=="string"&&(n=new RegExp(n)),this.formats[e]=n,this}errorsText(e=this.errors,{separator:n=", ",dataVar:r="data"}={}){return!e||e.length===0?"No errors":e.map(i=>`${r}${i.instancePath} ${i.message}`).reduce((i,s)=>i+n+s)}$dataMetaSchema(e,n){let r=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let i of n){let s=i.split("/").slice(1),o=e;for(let a of s)o=o[a];for(let a in r){let c=r[a];if(typeof c!="object")continue;let{$data:l}=c.definition,u=o[a];l&&u&&(o[a]=KO(u))}}return e}_removeAllSchemas(e,n){for(let r in e){let i=e[r];(!n||n.test(r))&&(typeof i=="string"?delete e[r]:i&&!i.meta&&(this._cache.delete(i.schema),delete e[r]))}}_addSchema(e,n,r,i=this.opts.validateSchema,s=this.opts.addUsedSchema){let o,{schemaId:a}=this.opts;if(typeof e=="object")o=e[a];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;r=(0,Sl.normalizeId)(o||r);let l=Sl.getSchemaRefs.call(this,e,r);return c=new _l.SchemaEnv({schema:e,schemaId:a,meta:n,baseId:r,localRefs:l}),this._cache.set(c.schema,c),s&&!r.startsWith("#")&&(r&&this._checkUnique(r),this.refs[r]=c),i&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):_l.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let n=this.opts;this.opts=this._metaOpts;try{_l.compileSchema.call(this,e)}finally{this.opts=n}}};El.ValidationError=dW.default;El.MissingRefError=GO.default;Yt.default=El;function WO(t,e,n,r="error"){for(let i in t){let s=i;s in e&&this.logger[r](`${n}: option ${i}. ${t[s]}`)}}function HO(t){return t=(0,Sl.normalizeId)(t),this.schemas[t]||this.refs[t]}function TW(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function _W(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function SW(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let n=t[e];n.keyword||(n.keyword=e),this.addKeyword(n)}}function EW(){let t={...this.opts};for(let e of mW)delete t[e];return t}var wW={log(){},warn(){},error(){}};function kW(t){if(t===!1)return wW;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var NW=/^[a-z_$][a-z0-9_$:-]*$/i;function PW(t,e){let{RULES:n}=this;if((0,Jv.eachItem)(t,r=>{if(n.keywords[r])throw new Error(`Keyword ${r} is already defined`);if(!NW.test(r))throw new Error(`Keyword ${r} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function Xv(t,e,n){var r;let i=e?.post;if(n&&i)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:s}=this,o=i?s.post:s.rules.find(({type:c})=>c===n);if(o||(o={type:n,rules:[]},s.rules.push(o)),s.keywords[t]=!0,!e)return;let a={keyword:t,definition:{...e,type:(0,tp.getJSONTypes)(e.type),schemaType:(0,tp.getJSONTypes)(e.schemaType)}};e.before?RW.call(this,o,a,e.before):o.rules.push(a),s.all[t]=a,(r=e.implements)===null||r===void 0||r.forEach(c=>this.addKeyword(c))}function RW(t,e,n){let r=t.rules.findIndex(i=>i.keyword===n);r>=0?t.rules.splice(r,0,e):(t.rules.push(e),this.logger.warn(`rule ${n} is not defined`))}function CW(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=KO(e)),t.validateSchema=this.compile(e,!0))}var DW={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function KO(t){return{anyOf:[t,DW]}}});var JO=k(Qv=>{"use strict";Object.defineProperty(Qv,"__esModule",{value:!0});var AW={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Qv.default=AW});var ip=k(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.callRef=Vs.getValidate=void 0;var OW=bl(),QO=nr(),On=de(),ba=tr(),ZO=vl(),np=ve(),IW={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:n,it:r}=t,{baseId:i,schemaEnv:s,validateName:o,opts:a,self:c}=r,{root:l}=s;if((n==="#"||n==="#/")&&i===l.baseId)return d();let u=ZO.resolveRef.call(c,l,i,n);if(u===void 0)throw new OW.default(r.opts.uriResolver,i,n);if(u instanceof ZO.SchemaEnv)return f(u);return h(u);function d(){if(s===l)return rp(t,o,s,s.$async);let y=e.scopeValue("root",{ref:l});return rp(t,(0,On._)`${y}.validate`,l,l.$async)}function f(y){let p=eI(t,y);rp(t,p,y,y.$async)}function h(y){let p=e.scopeValue("schema",a.code.source===!0?{ref:y,code:(0,On.stringify)(y)}:{ref:y}),T=e.name("valid"),S=t.subschema({schema:y,dataTypes:[],schemaPath:On.nil,topSchemaRef:p,errSchemaPath:n},T);t.mergeEvaluated(S),t.ok(T)}}};function eI(t,e){let{gen:n}=t;return e.validate?n.scopeValue("validate",{ref:e.validate}):(0,On._)`${n.scopeValue("wrapper",{ref:e})}.validate`}Vs.getValidate=eI;function rp(t,e,n,r){let{gen:i,it:s}=t,{allErrors:o,schemaEnv:a,opts:c}=s,l=c.passContext?ba.default.this:On.nil;r?u():d();function u(){if(!a.$async)throw new Error("async schema referenced by sync schema");let y=i.let("valid");i.try(()=>{i.code((0,On._)`await ${(0,QO.callValidateCode)(t,e,l)}`),h(e),o||i.assign(y,!0)},p=>{i.if((0,On._)`!(${p} instanceof ${s.ValidationError})`,()=>i.throw(p)),f(p),o||i.assign(y,!1)}),t.ok(y)}function d(){t.result((0,QO.callValidateCode)(t,e,l),()=>h(e),()=>f(e))}function f(y){let p=(0,On._)`${y}.errors`;i.assign(ba.default.vErrors,(0,On._)`${ba.default.vErrors} === null ? ${p} : ${ba.default.vErrors}.concat(${p})`),i.assign(ba.default.errors,(0,On._)`${ba.default.vErrors}.length`)}function h(y){var p;if(!s.opts.unevaluated)return;let T=(p=n?.validate)===null||p===void 0?void 0:p.evaluated;if(s.props!==!0)if(T&&!T.dynamicProps)T.props!==void 0&&(s.props=np.mergeEvaluated.props(i,T.props,s.props));else{let S=i.var("props",(0,On._)`${y}.evaluated.props`);s.props=np.mergeEvaluated.props(i,S,s.props,On.Name)}if(s.items!==!0)if(T&&!T.dynamicItems)T.items!==void 0&&(s.items=np.mergeEvaluated.items(i,T.items,s.items));else{let S=i.var("items",(0,On._)`${y}.evaluated.items`);s.items=np.mergeEvaluated.items(i,S,s.items,On.Name)}}}Vs.callRef=rp;Vs.default=IW});var tI=k(Zv=>{"use strict";Object.defineProperty(Zv,"__esModule",{value:!0});var xW=JO(),MW=ip(),LW=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",xW.default,MW.default];Zv.default=LW});var nI=k(eT=>{"use strict";Object.defineProperty(eT,"__esModule",{value:!0});var sp=de(),os=sp.operators,op={maximum:{okStr:"<=",ok:os.LTE,fail:os.GT},minimum:{okStr:">=",ok:os.GTE,fail:os.LT},exclusiveMaximum:{okStr:"<",ok:os.LT,fail:os.GTE},exclusiveMinimum:{okStr:">",ok:os.GT,fail:os.LTE}},$W={message:({keyword:t,schemaCode:e})=>(0,sp.str)`must be ${op[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,sp._)`{comparison: ${op[t].okStr}, limit: ${e}}`},qW={keyword:Object.keys(op),type:"number",schemaType:"number",$data:!0,error:$W,code(t){let{keyword:e,data:n,schemaCode:r}=t;t.fail$data((0,sp._)`${n} ${op[e].fail} ${r} || isNaN(${n})`)}};eT.default=qW});var rI=k(tT=>{"use strict";Object.defineProperty(tT,"__esModule",{value:!0});var wl=de(),jW={message:({schemaCode:t})=>(0,wl.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,wl._)`{multipleOf: ${t}}`},FW={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:jW,code(t){let{gen:e,data:n,schemaCode:r,it:i}=t,s=i.opts.multipleOfPrecision,o=e.let("res"),a=s?(0,wl._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${s}`:(0,wl._)`${o} !== parseInt(${o})`;t.fail$data((0,wl._)`(${r} === 0 || (${o} = ${n}/${r}, ${a}))`)}};tT.default=FW});var sI=k(nT=>{"use strict";Object.defineProperty(nT,"__esModule",{value:!0});function iI(t){let e=t.length,n=0,r=0,i;for(;r<e;)n++,i=t.charCodeAt(r++),i>=55296&&i<=56319&&r<e&&(i=t.charCodeAt(r),(i&64512)===56320&&r++);return n}nT.default=iI;iI.code='require("ajv/dist/runtime/ucs2length").default'});var oI=k(rT=>{"use strict";Object.defineProperty(rT,"__esModule",{value:!0});var zs=de(),BW=ve(),UW=sI(),VW={message({keyword:t,schemaCode:e}){let n=t==="maxLength"?"more":"fewer";return(0,zs.str)`must NOT have ${n} than ${e} characters`},params:({schemaCode:t})=>(0,zs._)`{limit: ${t}}`},zW={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:VW,code(t){let{keyword:e,data:n,schemaCode:r,it:i}=t,s=e==="maxLength"?zs.operators.GT:zs.operators.LT,o=i.opts.unicode===!1?(0,zs._)`${n}.length`:(0,zs._)`${(0,BW.useFunc)(t.gen,UW.default)}(${n})`;t.fail$data((0,zs._)`${o} ${s} ${r}`)}};rT.default=zW});var aI=k(iT=>{"use strict";Object.defineProperty(iT,"__esModule",{value:!0});var WW=nr(),ap=de(),HW={message:({schemaCode:t})=>(0,ap.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,ap._)`{pattern: ${t}}`},GW={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:HW,code(t){let{data:e,$data:n,schema:r,schemaCode:i,it:s}=t,o=s.opts.unicodeRegExp?"u":"",a=n?(0,ap._)`(new RegExp(${i}, ${o}))`:(0,WW.usePattern)(t,r);t.fail$data((0,ap._)`!${a}.test(${e})`)}};iT.default=GW});var cI=k(sT=>{"use strict";Object.defineProperty(sT,"__esModule",{value:!0});var kl=de(),YW={message({keyword:t,schemaCode:e}){let n=t==="maxProperties"?"more":"fewer";return(0,kl.str)`must NOT have ${n} than ${e} properties`},params:({schemaCode:t})=>(0,kl._)`{limit: ${t}}`},KW={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:YW,code(t){let{keyword:e,data:n,schemaCode:r}=t,i=e==="maxProperties"?kl.operators.GT:kl.operators.LT;t.fail$data((0,kl._)`Object.keys(${n}).length ${i} ${r}`)}};sT.default=KW});var lI=k(oT=>{"use strict";Object.defineProperty(oT,"__esModule",{value:!0});var Nl=nr(),Pl=de(),XW=ve(),JW={message:({params:{missingProperty:t}})=>(0,Pl.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,Pl._)`{missingProperty: ${t}}`},QW={keyword:"required",type:"object",schemaType:"array",$data:!0,error:JW,code(t){let{gen:e,schema:n,schemaCode:r,data:i,$data:s,it:o}=t,{opts:a}=o;if(!s&&n.length===0)return;let c=n.length>=a.loopRequired;if(o.allErrors?l():u(),a.strictRequired){let h=t.parentSchema.properties,{definedProperties:y}=t.it;for(let p of n)if(h?.[p]===void 0&&!y.has(p)){let T=o.schemaEnv.baseId+o.errSchemaPath,S=`required property "${p}" is not defined at "${T}" (strictRequired)`;(0,XW.checkStrictMode)(o,S,o.opts.strictRequired)}}function l(){if(c||s)t.block$data(Pl.nil,d);else for(let h of n)(0,Nl.checkReportMissingProp)(t,h)}function u(){let h=e.let("missing");if(c||s){let y=e.let("valid",!0);t.block$data(y,()=>f(h,y)),t.ok(y)}else e.if((0,Nl.checkMissingProp)(t,n,h)),(0,Nl.reportMissingProp)(t,h),e.else()}function d(){e.forOf("prop",r,h=>{t.setParams({missingProperty:h}),e.if((0,Nl.noPropertyInData)(e,i,h,a.ownProperties),()=>t.error())})}function f(h,y){t.setParams({missingProperty:h}),e.forOf(h,r,()=>{e.assign(y,(0,Nl.propertyInData)(e,i,h,a.ownProperties)),e.if((0,Pl.not)(y),()=>{t.error(),e.break()})},Pl.nil)}}};oT.default=QW});var uI=k(aT=>{"use strict";Object.defineProperty(aT,"__esModule",{value:!0});var Rl=de(),ZW={message({keyword:t,schemaCode:e}){let n=t==="maxItems"?"more":"fewer";return(0,Rl.str)`must NOT have ${n} than ${e} items`},params:({schemaCode:t})=>(0,Rl._)`{limit: ${t}}`},eH={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:ZW,code(t){let{keyword:e,data:n,schemaCode:r}=t,i=e==="maxItems"?Rl.operators.GT:Rl.operators.LT;t.fail$data((0,Rl._)`${n}.length ${i} ${r}`)}};aT.default=eH});var cp=k(cT=>{"use strict";Object.defineProperty(cT,"__esModule",{value:!0});var dI=Iv();dI.code='require("ajv/dist/runtime/equal").default';cT.default=dI});var fI=k(uT=>{"use strict";Object.defineProperty(uT,"__esModule",{value:!0});var lT=hl(),Kt=de(),tH=ve(),nH=cp(),rH={message:({params:{i:t,j:e}})=>(0,Kt.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,Kt._)`{i: ${t}, j: ${e}}`},iH={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:rH,code(t){let{gen:e,data:n,$data:r,schema:i,parentSchema:s,schemaCode:o,it:a}=t;if(!r&&!i)return;let c=e.let("valid"),l=s.items?(0,lT.getSchemaTypes)(s.items):[];t.block$data(c,u,(0,Kt._)`${o} === false`),t.ok(c);function u(){let y=e.let("i",(0,Kt._)`${n}.length`),p=e.let("j");t.setParams({i:y,j:p}),e.assign(c,!0),e.if((0,Kt._)`${y} > 1`,()=>(d()?f:h)(y,p))}function d(){return l.length>0&&!l.some(y=>y==="object"||y==="array")}function f(y,p){let T=e.name("item"),S=(0,lT.checkDataTypes)(l,T,a.opts.strictNumbers,lT.DataType.Wrong),b=e.const("indices",(0,Kt._)`{}`);e.for((0,Kt._)`;${y}--;`,()=>{e.let(T,(0,Kt._)`${n}[${y}]`),e.if(S,(0,Kt._)`continue`),l.length>1&&e.if((0,Kt._)`typeof ${T} == "string"`,(0,Kt._)`${T} += "_"`),e.if((0,Kt._)`typeof ${b}[${T}] == "number"`,()=>{e.assign(p,(0,Kt._)`${b}[${T}]`),t.error(),e.assign(c,!1).break()}).code((0,Kt._)`${b}[${T}] = ${y}`)})}function h(y,p){let T=(0,tH.useFunc)(e,nH.default),S=e.name("outer");e.label(S).for((0,Kt._)`;${y}--;`,()=>e.for((0,Kt._)`${p} = ${y}; ${p}--;`,()=>e.if((0,Kt._)`${T}(${n}[${y}], ${n}[${p}])`,()=>{t.error(),e.assign(c,!1).break(S)})))}}};uT.default=iH});var hI=k(fT=>{"use strict";Object.defineProperty(fT,"__esModule",{value:!0});var dT=de(),sH=ve(),oH=cp(),aH={message:"must be equal to constant",params:({schemaCode:t})=>(0,dT._)`{allowedValue: ${t}}`},cH={keyword:"const",$data:!0,error:aH,code(t){let{gen:e,data:n,$data:r,schemaCode:i,schema:s}=t;r||s&&typeof s=="object"?t.fail$data((0,dT._)`!${(0,sH.useFunc)(e,oH.default)}(${n}, ${i})`):t.fail((0,dT._)`${s} !== ${n}`)}};fT.default=cH});var pI=k(hT=>{"use strict";Object.defineProperty(hT,"__esModule",{value:!0});var Cl=de(),lH=ve(),uH=cp(),dH={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,Cl._)`{allowedValues: ${t}}`},fH={keyword:"enum",schemaType:"array",$data:!0,error:dH,code(t){let{gen:e,data:n,$data:r,schema:i,schemaCode:s,it:o}=t;if(!r&&i.length===0)throw new Error("enum must have non-empty array");let a=i.length>=o.opts.loopEnum,c,l=()=>c??(c=(0,lH.useFunc)(e,uH.default)),u;if(a||r)u=e.let("valid"),t.block$data(u,d);else{if(!Array.isArray(i))throw new Error("ajv implementation error");let h=e.const("vSchema",s);u=(0,Cl.or)(...i.map((y,p)=>f(h,p)))}t.pass(u);function d(){e.assign(u,!1),e.forOf("v",s,h=>e.if((0,Cl._)`${l()}(${n}, ${h})`,()=>e.assign(u,!0).break()))}function f(h,y){let p=i[y];return typeof p=="object"&&p!==null?(0,Cl._)`${l()}(${n}, ${h}[${y}])`:(0,Cl._)`${n} === ${p}`}}};hT.default=fH});var mI=k(pT=>{"use strict";Object.defineProperty(pT,"__esModule",{value:!0});var hH=nI(),pH=rI(),mH=oI(),gH=aI(),yH=cI(),bH=lI(),vH=uI(),TH=fI(),_H=hI(),SH=pI(),EH=[hH.default,pH.default,mH.default,gH.default,yH.default,bH.default,vH.default,TH.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},_H.default,SH.default];pT.default=EH});var gT=k(Dl=>{"use strict";Object.defineProperty(Dl,"__esModule",{value:!0});Dl.validateAdditionalItems=void 0;var Ws=de(),mT=ve(),wH={message:({params:{len:t}})=>(0,Ws.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Ws._)`{limit: ${t}}`},kH={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:wH,code(t){let{parentSchema:e,it:n}=t,{items:r}=e;if(!Array.isArray(r)){(0,mT.checkStrictMode)(n,'"additionalItems" is ignored when "items" is not an array of schemas');return}gI(t,r)}};function gI(t,e){let{gen:n,schema:r,data:i,keyword:s,it:o}=t;o.items=!0;let a=n.const("len",(0,Ws._)`${i}.length`);if(r===!1)t.setParams({len:e.length}),t.pass((0,Ws._)`${a} <= ${e.length}`);else if(typeof r=="object"&&!(0,mT.alwaysValidSchema)(o,r)){let l=n.var("valid",(0,Ws._)`${a} <= ${e.length}`);n.if((0,Ws.not)(l),()=>c(l)),t.ok(l)}function c(l){n.forRange("i",e.length,a,u=>{t.subschema({keyword:s,dataProp:u,dataPropType:mT.Type.Num},l),o.allErrors||n.if((0,Ws.not)(l),()=>n.break())})}}Dl.validateAdditionalItems=gI;Dl.default=kH});var yT=k(Al=>{"use strict";Object.defineProperty(Al,"__esModule",{value:!0});Al.validateTuple=void 0;var yI=de(),lp=ve(),NH=nr(),PH={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:n}=t;if(Array.isArray(e))return bI(t,"additionalItems",e);n.items=!0,!(0,lp.alwaysValidSchema)(n,e)&&t.ok((0,NH.validateArray)(t))}};function bI(t,e,n=t.schema){let{gen:r,parentSchema:i,data:s,keyword:o,it:a}=t;u(i),a.opts.unevaluated&&n.length&&a.items!==!0&&(a.items=lp.mergeEvaluated.items(r,n.length,a.items));let c=r.name("valid"),l=r.const("len",(0,yI._)`${s}.length`);n.forEach((d,f)=>{(0,lp.alwaysValidSchema)(a,d)||(r.if((0,yI._)`${l} > ${f}`,()=>t.subschema({keyword:o,schemaProp:f,dataProp:f},c)),t.ok(c))});function u(d){let{opts:f,errSchemaPath:h}=a,y=n.length,p=y===d.minItems&&(y===d.maxItems||d[e]===!1);if(f.strictTuples&&!p){let T=`"${o}" is ${y}-tuple, but minItems or maxItems/${e} are not specified or different at path "${h}"`;(0,lp.checkStrictMode)(a,T,f.strictTuples)}}}Al.validateTuple=bI;Al.default=PH});var vI=k(bT=>{"use strict";Object.defineProperty(bT,"__esModule",{value:!0});var RH=yT(),CH={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,RH.validateTuple)(t,"items")};bT.default=CH});var _I=k(vT=>{"use strict";Object.defineProperty(vT,"__esModule",{value:!0});var TI=de(),DH=ve(),AH=nr(),OH=gT(),IH={message:({params:{len:t}})=>(0,TI.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,TI._)`{limit: ${t}}`},xH={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:IH,code(t){let{schema:e,parentSchema:n,it:r}=t,{prefixItems:i}=n;r.items=!0,!(0,DH.alwaysValidSchema)(r,e)&&(i?(0,OH.validateAdditionalItems)(t,i):t.ok((0,AH.validateArray)(t)))}};vT.default=xH});var SI=k(TT=>{"use strict";Object.defineProperty(TT,"__esModule",{value:!0});var ir=de(),up=ve(),MH={message:({params:{min:t,max:e}})=>e===void 0?(0,ir.str)`must contain at least ${t} valid item(s)`:(0,ir.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,ir._)`{minContains: ${t}}`:(0,ir._)`{minContains: ${t}, maxContains: ${e}}`},LH={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:MH,code(t){let{gen:e,schema:n,parentSchema:r,data:i,it:s}=t,o,a,{minContains:c,maxContains:l}=r;s.opts.next?(o=c===void 0?1:c,a=l):o=1;let u=e.const("len",(0,ir._)`${i}.length`);if(t.setParams({min:o,max:a}),a===void 0&&o===0){(0,up.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&o>a){(0,up.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,up.alwaysValidSchema)(s,n)){let p=(0,ir._)`${u} >= ${o}`;a!==void 0&&(p=(0,ir._)`${p} && ${u} <= ${a}`),t.pass(p);return}s.items=!0;let d=e.name("valid");a===void 0&&o===1?h(d,()=>e.if(d,()=>e.break())):o===0?(e.let(d,!0),a!==void 0&&e.if((0,ir._)`${i}.length > 0`,f)):(e.let(d,!1),f()),t.result(d,()=>t.reset());function f(){let p=e.name("_valid"),T=e.let("count",0);h(p,()=>e.if(p,()=>y(T)))}function h(p,T){e.forRange("i",0,u,S=>{t.subschema({keyword:"contains",dataProp:S,dataPropType:up.Type.Num,compositeRule:!0},p),T()})}function y(p){e.code((0,ir._)`${p}++`),a===void 0?e.if((0,ir._)`${p} >= ${o}`,()=>e.assign(d,!0).break()):(e.if((0,ir._)`${p} > ${a}`,()=>e.assign(d,!1).break()),o===1?e.assign(d,!0):e.if((0,ir._)`${p} >= ${o}`,()=>e.assign(d,!0)))}}};TT.default=LH});var dp=k(Zr=>{"use strict";Object.defineProperty(Zr,"__esModule",{value:!0});Zr.validateSchemaDeps=Zr.validatePropertyDeps=Zr.error=void 0;var _T=de(),$H=ve(),Ol=nr();Zr.error={message:({params:{property:t,depsCount:e,deps:n}})=>{let r=e===1?"property":"properties";return(0,_T.str)`must have ${r} ${n} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:n,missingProperty:r}})=>(0,_T._)`{property: ${t},
180
180
  missingProperty: ${r},
181
181
  depsCount: ${e},
182
- deps: ${n}}`};var qH={keyword:"dependencies",type:"object",schemaType:"object",error:Zr.error,code(t){let[e,n]=jH(t);EI(t,e),wI(t,n)}};function jH({schema:t}){let e={},n={};for(let r in t){if(r==="__proto__")continue;let i=Array.isArray(t[r])?e:n;i[r]=t[r]}return[e,n]}function EI(t,e=t.schema){let{gen:n,data:r,it:i}=t;if(Object.keys(e).length===0)return;let s=n.let("missing");for(let o in e){let a=e[o];if(a.length===0)continue;let c=(0,Ol.propertyInData)(n,r,o,i.opts.ownProperties);t.setParams({property:o,depsCount:a.length,deps:a.join(", ")}),i.allErrors?n.if(c,()=>{for(let l of a)(0,Ol.checkReportMissingProp)(t,l)}):(n.if((0,_T._)`${c} && (${(0,Ol.checkMissingProp)(t,a,s)})`),(0,Ol.reportMissingProp)(t,s),n.else())}}Zr.validatePropertyDeps=EI;function wI(t,e=t.schema){let{gen:n,data:r,keyword:i,it:s}=t,o=n.name("valid");for(let a in e)(0,$H.alwaysValidSchema)(s,e[a])||(n.if((0,Ol.propertyInData)(n,r,a,s.opts.ownProperties),()=>{let c=t.subschema({keyword:i,schemaProp:a},o);t.mergeValidEvaluated(c,o)},()=>n.var(o,!0)),t.ok(o))}Zr.validateSchemaDeps=wI;Zr.default=qH});var NI=k(ST=>{"use strict";Object.defineProperty(ST,"__esModule",{value:!0});var kI=de(),FH=ve(),BH={message:"property name must be valid",params:({params:t})=>(0,kI._)`{propertyName: ${t.propertyName}}`},UH={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:BH,code(t){let{gen:e,schema:n,data:r,it:i}=t;if((0,FH.alwaysValidSchema)(i,n))return;let s=e.name("valid");e.forIn("key",r,o=>{t.setParams({propertyName:o}),t.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},s),e.if((0,kI.not)(s),()=>{t.error(!0),i.allErrors||e.break()})}),t.ok(s)}};ST.default=UH});var wT=k(ET=>{"use strict";Object.defineProperty(ET,"__esModule",{value:!0});var fp=nr(),Pr=de(),VH=tr(),hp=ve(),zH={message:"must NOT have additional properties",params:({params:t})=>(0,Pr._)`{additionalProperty: ${t.additionalProperty}}`},WH={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:zH,code(t){let{gen:e,schema:n,parentSchema:r,data:i,errsCount:s,it:o}=t;if(!s)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=o;if(o.props=!0,c.removeAdditional!=="all"&&(0,hp.alwaysValidSchema)(o,n))return;let l=(0,fp.allSchemaProperties)(r.properties),u=(0,fp.allSchemaProperties)(r.patternProperties);d(),t.ok((0,Pr._)`${s} === ${VH.default.errors}`);function d(){e.forIn("key",i,T=>{!l.length&&!u.length?y(T):e.if(f(T),()=>y(T))})}function f(T){let S;if(l.length>8){let b=(0,hp.schemaRefOrVal)(o,r.properties,"properties");S=(0,fp.isOwnProperty)(e,b,T)}else l.length?S=(0,Pr.or)(...l.map(b=>(0,Pr._)`${T} === ${b}`)):S=Pr.nil;return u.length&&(S=(0,Pr.or)(S,...u.map(b=>(0,Pr._)`${(0,fp.usePattern)(t,b)}.test(${T})`))),(0,Pr.not)(S)}function h(T){e.code((0,Pr._)`delete ${i}[${T}]`)}function y(T){if(c.removeAdditional==="all"||c.removeAdditional&&n===!1){h(T);return}if(n===!1){t.setParams({additionalProperty:T}),t.error(),a||e.break();return}if(typeof n=="object"&&!(0,hp.alwaysValidSchema)(o,n)){let S=e.name("valid");c.removeAdditional==="failing"?(p(T,S,!1),e.if((0,Pr.not)(S),()=>{t.reset(),h(T)})):(p(T,S),a||e.if((0,Pr.not)(S),()=>e.break()))}}function p(T,S,b){let v={keyword:"additionalProperties",dataProp:T,dataPropType:hp.Type.Str};b===!1&&Object.assign(v,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(v,S)}}};ET.default=WH});var CI=k(NT=>{"use strict";Object.defineProperty(NT,"__esModule",{value:!0});var HH=yl(),PI=nr(),kT=ve(),RI=wT(),GH={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:n,parentSchema:r,data:i,it:s}=t;s.opts.removeAdditional==="all"&&r.additionalProperties===void 0&&RI.default.code(new HH.KeywordCxt(s,RI.default,"additionalProperties"));let o=(0,PI.allSchemaProperties)(n);for(let d of o)s.definedProperties.add(d);s.opts.unevaluated&&o.length&&s.props!==!0&&(s.props=kT.mergeEvaluated.props(e,(0,kT.toHash)(o),s.props));let a=o.filter(d=>!(0,kT.alwaysValidSchema)(s,n[d]));if(a.length===0)return;let c=e.name("valid");for(let d of a)l(d)?u(d):(e.if((0,PI.propertyInData)(e,i,d,s.opts.ownProperties)),u(d),s.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function l(d){return s.opts.useDefaults&&!s.compositeRule&&n[d].default!==void 0}function u(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};NT.default=GH});var II=k(PT=>{"use strict";Object.defineProperty(PT,"__esModule",{value:!0});var DI=nr(),pp=de(),AI=ve(),OI=ve(),YH={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:n,data:r,parentSchema:i,it:s}=t,{opts:o}=s,a=(0,DI.allSchemaProperties)(n),c=a.filter(p=>(0,AI.alwaysValidSchema)(s,n[p]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let l=o.strictSchema&&!o.allowMatchingProperties&&i.properties,u=e.name("valid");s.props!==!0&&!(s.props instanceof pp.Name)&&(s.props=(0,OI.evaluatedPropsToName)(e,s.props));let{props:d}=s;f();function f(){for(let p of a)l&&h(p),s.allErrors?y(p):(e.var(u,!0),y(p),e.if(u))}function h(p){for(let T in l)new RegExp(p).test(T)&&(0,AI.checkStrictMode)(s,`property ${T} matches pattern ${p} (use allowMatchingProperties)`)}function y(p){e.forIn("key",r,T=>{e.if((0,pp._)`${(0,DI.usePattern)(t,p)}.test(${T})`,()=>{let S=c.includes(p);S||t.subschema({keyword:"patternProperties",schemaProp:p,dataProp:T,dataPropType:OI.Type.Str},u),s.opts.unevaluated&&d!==!0?e.assign((0,pp._)`${d}[${T}]`,!0):!S&&!s.allErrors&&e.if((0,pp.not)(u),()=>e.break())})})}}};PT.default=YH});var xI=k(RT=>{"use strict";Object.defineProperty(RT,"__esModule",{value:!0});var KH=ve(),XH={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:n,it:r}=t;if((0,KH.alwaysValidSchema)(r,n)){t.fail();return}let i=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),t.failResult(i,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};RT.default=XH});var MI=k(CT=>{"use strict";Object.defineProperty(CT,"__esModule",{value:!0});var JH=nr(),QH={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:JH.validateUnion,error:{message:"must match a schema in anyOf"}};CT.default=QH});var LI=k(DT=>{"use strict";Object.defineProperty(DT,"__esModule",{value:!0});var mp=de(),ZH=ve(),eG={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,mp._)`{passingSchemas: ${t.passing}}`},tG={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:eG,code(t){let{gen:e,schema:n,parentSchema:r,it:i}=t;if(!Array.isArray(n))throw new Error("ajv implementation error");if(i.opts.discriminator&&r.discriminator)return;let s=n,o=e.let("valid",!1),a=e.let("passing",null),c=e.name("_valid");t.setParams({passing:a}),e.block(l),t.result(o,()=>t.reset(),()=>t.error(!0));function l(){s.forEach((u,d)=>{let f;(0,ZH.alwaysValidSchema)(i,u)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,mp._)`${c} && ${o}`).assign(o,!1).assign(a,(0,mp._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(o,!0),e.assign(a,d),f&&t.mergeEvaluated(f,mp.Name)})})}}};DT.default=tG});var $I=k(AT=>{"use strict";Object.defineProperty(AT,"__esModule",{value:!0});var nG=ve(),rG={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:n,it:r}=t;if(!Array.isArray(n))throw new Error("ajv implementation error");let i=e.name("valid");n.forEach((s,o)=>{if((0,nG.alwaysValidSchema)(r,s))return;let a=t.subschema({keyword:"allOf",schemaProp:o},i);t.ok(i),t.mergeEvaluated(a)})}};AT.default=rG});var FI=k(OT=>{"use strict";Object.defineProperty(OT,"__esModule",{value:!0});var gp=de(),jI=ve(),iG={message:({params:t})=>(0,gp.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,gp._)`{failingKeyword: ${t.ifClause}}`},sG={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:iG,code(t){let{gen:e,parentSchema:n,it:r}=t;n.then===void 0&&n.else===void 0&&(0,jI.checkStrictMode)(r,'"if" without "then" and "else" is ignored');let i=qI(r,"then"),s=qI(r,"else");if(!i&&!s)return;let o=e.let("valid",!0),a=e.name("_valid");if(c(),t.reset(),i&&s){let u=e.let("ifClause");t.setParams({ifClause:u}),e.if(a,l("then",u),l("else",u))}else i?e.if(a,l("then")):e.if((0,gp.not)(a),l("else"));t.pass(o,()=>t.error(!0));function c(){let u=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);t.mergeEvaluated(u)}function l(u,d){return()=>{let f=t.subschema({keyword:u},a);e.assign(o,a),t.mergeValidEvaluated(f,o),d?e.assign(d,(0,gp._)`${u}`):t.setParams({ifClause:u})}}}};function qI(t,e){let n=t.schema[e];return n!==void 0&&!(0,jI.alwaysValidSchema)(t,n)}OT.default=sG});var BI=k(IT=>{"use strict";Object.defineProperty(IT,"__esModule",{value:!0});var oG=ve(),aG={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:n}){e.if===void 0&&(0,oG.checkStrictMode)(n,`"${t}" without "if" is ignored`)}};IT.default=aG});var UI=k(xT=>{"use strict";Object.defineProperty(xT,"__esModule",{value:!0});var cG=gT(),lG=vI(),uG=yT(),dG=_I(),fG=SI(),hG=dp(),pG=NI(),mG=wT(),gG=CI(),yG=II(),bG=xI(),vG=MI(),TG=LI(),_G=$I(),SG=FI(),EG=BI();function wG(t=!1){let e=[bG.default,vG.default,TG.default,_G.default,SG.default,EG.default,pG.default,mG.default,hG.default,gG.default,yG.default];return t?e.push(lG.default,dG.default):e.push(cG.default,uG.default),e.push(fG.default),e}xT.default=wG});var VI=k(MT=>{"use strict";Object.defineProperty(MT,"__esModule",{value:!0});var kt=de(),kG={message:({schemaCode:t})=>(0,kt.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,kt._)`{format: ${t}}`},NG={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:kG,code(t,e){let{gen:n,data:r,$data:i,schema:s,schemaCode:o,it:a}=t,{opts:c,errSchemaPath:l,schemaEnv:u,self:d}=a;if(!c.validateFormats)return;i?f():h();function f(){let y=n.scopeValue("formats",{ref:d.formats,code:c.code.formats}),p=n.const("fDef",(0,kt._)`${y}[${o}]`),T=n.let("fType"),S=n.let("format");n.if((0,kt._)`typeof ${p} == "object" && !(${p} instanceof RegExp)`,()=>n.assign(T,(0,kt._)`${p}.type || "string"`).assign(S,(0,kt._)`${p}.validate`),()=>n.assign(T,(0,kt._)`"string"`).assign(S,p)),t.fail$data((0,kt.or)(b(),v()));function b(){return c.strictSchema===!1?kt.nil:(0,kt._)`${o} && !${S}`}function v(){let w=u.$async?(0,kt._)`(${p}.async ? await ${S}(${r}) : ${S}(${r}))`:(0,kt._)`${S}(${r})`,C=(0,kt._)`(typeof ${S} == "function" ? ${w} : ${S}.test(${r}))`;return(0,kt._)`${S} && ${S} !== true && ${T} === ${e} && !${C}`}}function h(){let y=d.formats[s];if(!y){b();return}if(y===!0)return;let[p,T,S]=v(y);p===e&&t.pass(w());function b(){if(c.strictSchema===!1){d.logger.warn(C());return}throw new Error(C());function C(){return`unknown format "${s}" ignored in schema at path "${l}"`}}function v(C){let L=C instanceof RegExp?(0,kt.regexpCode)(C):c.code.formats?(0,kt._)`${c.code.formats}${(0,kt.getProperty)(s)}`:void 0,B=n.scopeValue("formats",{key:s,ref:C,code:L});return typeof C=="object"&&!(C instanceof RegExp)?[C.type||"string",C.validate,(0,kt._)`${B}.validate`]:["string",C,B]}function w(){if(typeof y=="object"&&!(y instanceof RegExp)&&y.async){if(!u.$async)throw new Error("async format in sync schema");return(0,kt._)`await ${S}(${r})`}return typeof T=="function"?(0,kt._)`${S}(${r})`:(0,kt._)`${S}.test(${r})`}}}};MT.default=NG});var zI=k(LT=>{"use strict";Object.defineProperty(LT,"__esModule",{value:!0});var PG=VI(),RG=[PG.default];LT.default=RG});var WI=k(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.contentVocabulary=va.metadataVocabulary=void 0;va.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];va.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var GI=k($T=>{"use strict";Object.defineProperty($T,"__esModule",{value:!0});var CG=tI(),DG=mI(),AG=UI(),OG=zI(),HI=WI(),IG=[CG.default,DG.default,(0,AG.default)(),OG.default,HI.metadataVocabulary,HI.contentVocabulary];$T.default=IG});var jT=k(Il=>{"use strict";Object.defineProperty(Il,"__esModule",{value:!0});Il.dynamicAnchor=void 0;var qT=de(),xG=tr(),YI=vl(),MG=ip(),LG={keyword:"$dynamicAnchor",schemaType:"string",code:t=>KI(t,t.schema)};function KI(t,e){let{gen:n,it:r}=t;r.schemaEnv.root.dynamicAnchors[e]=!0;let i=(0,qT._)`${xG.default.dynamicAnchors}${(0,qT.getProperty)(e)}`,s=r.errSchemaPath==="#"?r.validateName:$G(t);n.if((0,qT._)`!${i}`,()=>n.assign(i,s))}Il.dynamicAnchor=KI;function $G(t){let{schemaEnv:e,schema:n,self:r}=t.it,{root:i,baseId:s,localRefs:o,meta:a}=e.root,{schemaId:c}=r.opts,l=new YI.SchemaEnv({schema:n,schemaId:c,root:i,baseId:s,localRefs:o,meta:a});return YI.compileSchema.call(r,l),(0,MG.getValidate)(t,l)}Il.default=LG});var FT=k(xl=>{"use strict";Object.defineProperty(xl,"__esModule",{value:!0});xl.dynamicRef=void 0;var XI=de(),qG=tr(),JI=ip(),jG={keyword:"$dynamicRef",schemaType:"string",code:t=>QI(t,t.schema)};function QI(t,e){let{gen:n,keyword:r,it:i}=t;if(e[0]!=="#")throw new Error(`"${r}" only supports hash fragment reference`);let s=e.slice(1);if(i.allErrors)o();else{let c=n.let("valid",!1);o(c),t.ok(c)}function o(c){if(i.schemaEnv.root.dynamicAnchors[s]){let l=n.let("_v",(0,XI._)`${qG.default.dynamicAnchors}${(0,XI.getProperty)(s)}`);n.if(l,a(l,c),a(i.validateName,c))}else a(i.validateName,c)()}function a(c,l){return l?()=>n.block(()=>{(0,JI.callRef)(t,c),n.let(l,!0)}):()=>(0,JI.callRef)(t,c)}}xl.dynamicRef=QI;xl.default=jG});var ZI=k(BT=>{"use strict";Object.defineProperty(BT,"__esModule",{value:!0});var FG=jT(),BG=ve(),UG={keyword:"$recursiveAnchor",schemaType:"boolean",code(t){t.schema?(0,FG.dynamicAnchor)(t,""):(0,BG.checkStrictMode)(t.it,"$recursiveAnchor: false is ignored")}};BT.default=UG});var ex=k(UT=>{"use strict";Object.defineProperty(UT,"__esModule",{value:!0});var VG=FT(),zG={keyword:"$recursiveRef",schemaType:"string",code:t=>(0,VG.dynamicRef)(t,t.schema)};UT.default=zG});var tx=k(VT=>{"use strict";Object.defineProperty(VT,"__esModule",{value:!0});var WG=jT(),HG=FT(),GG=ZI(),YG=ex(),KG=[WG.default,HG.default,GG.default,YG.default];VT.default=KG});var rx=k(zT=>{"use strict";Object.defineProperty(zT,"__esModule",{value:!0});var nx=dp(),XG={keyword:"dependentRequired",type:"object",schemaType:"object",error:nx.error,code:t=>(0,nx.validatePropertyDeps)(t)};zT.default=XG});var ix=k(WT=>{"use strict";Object.defineProperty(WT,"__esModule",{value:!0});var JG=dp(),QG={keyword:"dependentSchemas",type:"object",schemaType:"object",code:t=>(0,JG.validateSchemaDeps)(t)};WT.default=QG});var sx=k(HT=>{"use strict";Object.defineProperty(HT,"__esModule",{value:!0});var ZG=ve(),eY={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:t,parentSchema:e,it:n}){e.contains===void 0&&(0,ZG.checkStrictMode)(n,`"${t}" without "contains" is ignored`)}};HT.default=eY});var ox=k(GT=>{"use strict";Object.defineProperty(GT,"__esModule",{value:!0});var tY=rx(),nY=ix(),rY=sx(),iY=[tY.default,nY.default,rY.default];GT.default=iY});var cx=k(YT=>{"use strict";Object.defineProperty(YT,"__esModule",{value:!0});var as=de(),ax=ve(),sY=tr(),oY={message:"must NOT have unevaluated properties",params:({params:t})=>(0,as._)`{unevaluatedProperty: ${t.unevaluatedProperty}}`},aY={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:oY,code(t){let{gen:e,schema:n,data:r,errsCount:i,it:s}=t;if(!i)throw new Error("ajv implementation error");let{allErrors:o,props:a}=s;a instanceof as.Name?e.if((0,as._)`${a} !== true`,()=>e.forIn("key",r,d=>e.if(l(a,d),()=>c(d)))):a!==!0&&e.forIn("key",r,d=>a===void 0?c(d):e.if(u(a,d),()=>c(d))),s.props=!0,t.ok((0,as._)`${i} === ${sY.default.errors}`);function c(d){if(n===!1){t.setParams({unevaluatedProperty:d}),t.error(),o||e.break();return}if(!(0,ax.alwaysValidSchema)(s,n)){let f=e.name("valid");t.subschema({keyword:"unevaluatedProperties",dataProp:d,dataPropType:ax.Type.Str},f),o||e.if((0,as.not)(f),()=>e.break())}}function l(d,f){return(0,as._)`!${d} || !${d}[${f}]`}function u(d,f){let h=[];for(let y in d)d[y]===!0&&h.push((0,as._)`${f} !== ${y}`);return(0,as.and)(...h)}}};YT.default=aY});var ux=k(KT=>{"use strict";Object.defineProperty(KT,"__esModule",{value:!0});var Hs=de(),lx=ve(),cY={message:({params:{len:t}})=>(0,Hs.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Hs._)`{limit: ${t}}`},lY={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:cY,code(t){let{gen:e,schema:n,data:r,it:i}=t,s=i.items||0;if(s===!0)return;let o=e.const("len",(0,Hs._)`${r}.length`);if(n===!1)t.setParams({len:s}),t.fail((0,Hs._)`${o} > ${s}`);else if(typeof n=="object"&&!(0,lx.alwaysValidSchema)(i,n)){let c=e.var("valid",(0,Hs._)`${o} <= ${s}`);e.if((0,Hs.not)(c),()=>a(c,s)),t.ok(c)}i.items=!0;function a(c,l){e.forRange("i",l,o,u=>{t.subschema({keyword:"unevaluatedItems",dataProp:u,dataPropType:lx.Type.Num},c),i.allErrors||e.if((0,Hs.not)(c),()=>e.break())})}}};KT.default=lY});var dx=k(XT=>{"use strict";Object.defineProperty(XT,"__esModule",{value:!0});var uY=cx(),dY=ux(),fY=[uY.default,dY.default];XT.default=fY});var hx=k(yp=>{"use strict";Object.defineProperty(yp,"__esModule",{value:!0});yp.DiscrError=void 0;var fx;(function(t){t.Tag="tag",t.Mapping="mapping"})(fx||(yp.DiscrError=fx={}))});var mx=k(QT=>{"use strict";Object.defineProperty(QT,"__esModule",{value:!0});var Ta=de(),JT=hx(),px=vl(),hY=bl(),pY=ve(),mY={message:({params:{discrError:t,tagName:e}})=>t===JT.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:n}})=>(0,Ta._)`{error: ${t}, tag: ${n}, tagValue: ${e}}`},gY={keyword:"discriminator",type:"object",schemaType:"object",error:mY,code(t){let{gen:e,data:n,schema:r,parentSchema:i,it:s}=t,{oneOf:o}=i;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=r.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(r.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),l=e.const("tag",(0,Ta._)`${n}${(0,Ta.getProperty)(a)}`);e.if((0,Ta._)`typeof ${l} == "string"`,()=>u(),()=>t.error(!1,{discrError:JT.DiscrError.Tag,tag:l,tagName:a})),t.ok(c);function u(){let h=f();e.if(!1);for(let y in h)e.elseIf((0,Ta._)`${l} === ${y}`),e.assign(c,d(h[y]));e.else(),t.error(!1,{discrError:JT.DiscrError.Mapping,tag:l,tagName:a}),e.endIf()}function d(h){let y=e.name("valid"),p=t.subschema({keyword:"oneOf",schemaProp:h},y);return t.mergeEvaluated(p,Ta.Name),y}function f(){var h;let y={},p=S(i),T=!0;for(let w=0;w<o.length;w++){let C=o[w];if(C?.$ref&&!(0,pY.schemaHasRulesButRef)(C,s.self.RULES)){let B=C.$ref;if(C=px.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,B),C instanceof px.SchemaEnv&&(C=C.schema),C===void 0)throw new hY.default(s.opts.uriResolver,s.baseId,B)}let L=(h=C?.properties)===null||h===void 0?void 0:h[a];if(typeof L!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);T=T&&(p||S(C)),b(L,w)}if(!T)throw new Error(`discriminator: "${a}" must be required`);return y;function S({required:w}){return Array.isArray(w)&&w.includes(a)}function b(w,C){if(w.const)v(w.const,C);else if(w.enum)for(let L of w.enum)v(L,C);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function v(w,C){if(typeof w!="string"||w in y)throw new Error(`discriminator: "${a}" values must be unique strings`);y[w]=C}}}};QT.default=gY});var gx=k((qoe,yY)=>{yY.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/schema",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/core":!0,"https://json-schema.org/draft/2019-09/vocab/applicator":!0,"https://json-schema.org/draft/2019-09/vocab/validation":!0,"https://json-schema.org/draft/2019-09/vocab/meta-data":!0,"https://json-schema.org/draft/2019-09/vocab/format":!1,"https://json-schema.org/draft/2019-09/vocab/content":!0},$recursiveAnchor:!0,title:"Core and Validation specifications meta-schema",allOf:[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format"},{$ref:"meta/content"}],type:["object","boolean"],properties:{definitions:{$comment:"While no longer an official keyword as it is replaced by $defs, this keyword is retained in the meta-schema to prevent incompatible extensions as it remains in common use.",type:"object",additionalProperties:{$recursiveRef:"#"},default:{}},dependencies:{$comment:'"dependencies" is no longer a keyword, but schema authors should avoid redefining it to facilitate a smooth transition to "dependentSchemas" and "dependentRequired"',type:"object",additionalProperties:{anyOf:[{$recursiveRef:"#"},{$ref:"meta/validation#/$defs/stringArray"}]}}}}});var yx=k((joe,bY)=>{bY.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/applicator",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/applicator":!0},$recursiveAnchor:!0,title:"Applicator vocabulary meta-schema",type:["object","boolean"],properties:{additionalItems:{$recursiveRef:"#"},unevaluatedItems:{$recursiveRef:"#"},items:{anyOf:[{$recursiveRef:"#"},{$ref:"#/$defs/schemaArray"}]},contains:{$recursiveRef:"#"},additionalProperties:{$recursiveRef:"#"},unevaluatedProperties:{$recursiveRef:"#"},properties:{type:"object",additionalProperties:{$recursiveRef:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$recursiveRef:"#"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$recursiveRef:"#"}},propertyNames:{$recursiveRef:"#"},if:{$recursiveRef:"#"},then:{$recursiveRef:"#"},else:{$recursiveRef:"#"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$recursiveRef:"#"}},$defs:{schemaArray:{type:"array",minItems:1,items:{$recursiveRef:"#"}}}}});var bx=k((Foe,vY)=>{vY.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/content",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/content":!0},$recursiveAnchor:!0,title:"Content vocabulary meta-schema",type:["object","boolean"],properties:{contentMediaType:{type:"string"},contentEncoding:{type:"string"},contentSchema:{$recursiveRef:"#"}}}});var vx=k((Boe,TY)=>{TY.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/core",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/core":!0},$recursiveAnchor:!0,title:"Core vocabulary meta-schema",type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{type:"string",format:"uri"},$anchor:{type:"string",pattern:"^[A-Za-z][-A-Za-z0-9.:_]*$"},$ref:{type:"string",format:"uri-reference"},$recursiveRef:{type:"string",format:"uri-reference"},$recursiveAnchor:{type:"boolean",default:!1},$vocabulary:{type:"object",propertyNames:{type:"string",format:"uri"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$recursiveRef:"#"},default:{}}}}});var Tx=k((Uoe,_Y)=>{_Y.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/format",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/format":!0},$recursiveAnchor:!0,title:"Format vocabulary meta-schema",type:["object","boolean"],properties:{format:{type:"string"}}}});var _x=k((Voe,SY)=>{SY.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/meta-data",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/meta-data":!0},$recursiveAnchor:!0,title:"Meta-data vocabulary meta-schema",type:["object","boolean"],properties:{title:{type:"string"},description:{type:"string"},default:!0,deprecated:{type:"boolean",default:!1},readOnly:{type:"boolean",default:!1},writeOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0}}}});var Sx=k((zoe,EY)=>{EY.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/validation",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/validation":!0},$recursiveAnchor:!0,title:"Validation vocabulary meta-schema",type:["object","boolean"],properties:{multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}},const:!0,enum:{type:"array",items:!0},type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:!0}]}},$defs:{nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}}}});var Ex=k(ZT=>{"use strict";Object.defineProperty(ZT,"__esModule",{value:!0});var wY=gx(),kY=yx(),NY=bx(),PY=vx(),RY=Tx(),CY=_x(),DY=Sx(),AY=["/properties"];function OY(t){return[wY,kY,NY,PY,e(this,RY),CY,e(this,DY)].forEach(n=>this.addMetaSchema(n,void 0,!1)),this;function e(n,r){return t?n.$dataMetaSchema(r,AY):r}}ZT.default=OY});var wx=k((ft,t_)=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.MissingRefError=ft.ValidationError=ft.CodeGen=ft.Name=ft.nil=ft.stringify=ft.str=ft._=ft.KeywordCxt=ft.Ajv2019=void 0;var IY=XO(),xY=GI(),MY=tx(),LY=ox(),$Y=dx(),qY=mx(),jY=Ex(),e_="https://json-schema.org/draft/2019-09/schema",_a=class extends IY.default{constructor(e={}){super({...e,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),this.addVocabulary(MY.default),xY.default.forEach(e=>this.addVocabulary(e)),this.addVocabulary(LY.default),this.addVocabulary($Y.default),this.opts.discriminator&&this.addKeyword(qY.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:e,meta:n}=this.opts;n&&(jY.default.call(this,e),this.refs["http://json-schema.org/schema"]=e_)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(e_)?e_:void 0)}};ft.Ajv2019=_a;t_.exports=ft=_a;t_.exports.Ajv2019=_a;Object.defineProperty(ft,"__esModule",{value:!0});ft.default=_a;var FY=yl();Object.defineProperty(ft,"KeywordCxt",{enumerable:!0,get:function(){return FY.KeywordCxt}});var Sa=de();Object.defineProperty(ft,"_",{enumerable:!0,get:function(){return Sa._}});Object.defineProperty(ft,"str",{enumerable:!0,get:function(){return Sa.str}});Object.defineProperty(ft,"stringify",{enumerable:!0,get:function(){return Sa.stringify}});Object.defineProperty(ft,"nil",{enumerable:!0,get:function(){return Sa.nil}});Object.defineProperty(ft,"Name",{enumerable:!0,get:function(){return Sa.Name}});Object.defineProperty(ft,"CodeGen",{enumerable:!0,get:function(){return Sa.CodeGen}});var BY=Xh();Object.defineProperty(ft,"ValidationError",{enumerable:!0,get:function(){return BY.default}});var UY=bl();Object.defineProperty(ft,"MissingRefError",{enumerable:!0,get:function(){return UY.default}})});var rt=K(Qk());var vd=class t{constructor(e,n,r,i){this._uri=e,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let n=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(n,r)}return this._content}update(e,n){for(let r of e)if(t.isIncremental(r)){let i=eN(r.range),s=this.offsetAt(i.start),o=this.offsetAt(i.end);this._content=this._content.substring(0,s)+r.text+this._content.substring(o,this._content.length);let a=Math.max(i.start.line,0),c=Math.max(i.end.line,0),l=this._lineOffsets,u=Zk(r.text,!1,s);if(c-a===u.length)for(let f=0,h=u.length;f<h;f++)l[f+a+1]=u[f];else u.length<1e4?l.splice(a+1,c-a,...u):this._lineOffsets=l=l.slice(0,a+1).concat(u,l.slice(c+1));let d=r.text.length-(o-s);if(d!==0)for(let f=a+1+u.length,h=l.length;f<h;f++)l[f]=l[f]+d}else if(t.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=n}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=Zk(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return{line:0,character:e};for(;r<i;){let o=Math.floor((r+i)/2);n[o]>e?i=o:r=o+1}let s=r-1;return{line:s,character:e-n[s]}}offsetAt(e){let n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;let r=n[e.line],i=e.line+1<n.length?n[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let n=e;return n!=null&&typeof n.text=="string"&&n.range!==void 0&&(n.rangeLength===void 0||typeof n.rangeLength=="number")}static isFull(e){let n=e;return n!=null&&typeof n.text=="string"&&n.range===void 0&&n.rangeLength===void 0}},ko;(function(t){function e(i,s,o,a){return new vd(i,s,o,a)}t.create=e;function n(i,s,o){if(i instanceof vd)return i.update(s,o),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=n;function r(i,s){let o=i.getText(),a=Rg(s.map($L),(u,d)=>{let f=u.range.start.line-d.range.start.line;return f===0?u.range.start.character-d.range.start.character:f}),c=0,l=[];for(let u of a){let d=i.offsetAt(u.range.start);if(d<c)throw new Error("Overlapping edit");d>c&&l.push(o.substring(c,d)),u.newText.length&&l.push(u.newText),c=i.offsetAt(u.range.end)}return l.push(o.substr(c)),l.join("")}t.applyEdits=r})(ko||(ko={}));function Rg(t,e){if(t.length<=1)return t;let n=t.length/2|0,r=t.slice(0,n),i=t.slice(n);Rg(r,e),Rg(i,e);let s=0,o=0,a=0;for(;s<r.length&&o<i.length;)e(r[s],i[o])<=0?t[a++]=r[s++]:t[a++]=i[o++];for(;s<r.length;)t[a++]=r[s++];for(;o<i.length;)t[a++]=i[o++];return t}function Zk(t,e,n=0){let r=e?[n]:[];for(let i=0;i<t.length;i++){let s=t.charCodeAt(i);(s===13||s===10)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,r.push(n+i+1))}return r}function eN(t){let e=t.start,n=t.end;return e.line>n.line||e.line===n.line&&e.character>n.character?{start:n,end:e}:t}function $L(t){let e=eN(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var Td=["namespace","class","enum","interface","struct","typeParameter","type","parameter","variable","property","enumMember","decorator","event","function","method","macro","label","comment","string","keyword","number","regexp","operator"],_d=["declaration","definition","readonly","static","deprecated","abstract","async","modification","documentation","defaultLibrary"];var Fd=K(J());var Ag=K(require("url")),rN=require("crypto"),iN=require("path");var Dg=K(J());var tn=class{constructor(e,n,r){this.uri=e;this.range=n;this.issues=r}},Sd=class extends tn{constructor(n,r,i,s){super(r,i,s);this.value=n;this.type="STRING"}},Ed=class extends tn{constructor(n,r,i,s){super(r,i,s);this.values=n;this.type="BYTESTRING"}},wd=class extends tn{constructor(n,r,i,s){super(r,i,s);this.value=n;this.type="ARRAY_VALUE"}},kd=class extends tn{constructor(n,r,i,s,o){super(i,s,o);this.label=n;this.nodePath=r;this.type="LABEL_REF"}},Nd=class extends tn{constructor(n,r,i,s){super(r,i,s);this.nodePath=n;this.type="NODE_PATH"}},Pd=class extends tn{constructor(n,r,i,s,o){super(i,s,o);this.value=n;this.evaluated=r}},Rd=class extends Pd{constructor(n,r,i,s,o){super(n,r,i,s,o);this.type="NUMBER_VALUE"}},Cd=class extends Pd{constructor(n,r,i,s,o){super(n,r,i,s,o);this.type="EXPRESSION"}},Dd=class extends tn{constructor(n,r,i,s){super(r,i,s);this.value=n}},Ad=class extends tn{constructor(n,r,i,s,o){super(i,s,o);this.name=n;this.values=r}},Od=class extends tn{constructor(n,r,i,s){super(r,i,s);this.address=n}},Id=class extends tn{constructor(n,r,i,s,o,a){super(s,o,a);this.fullName=n;this.name=r;this.address=i}},xd=class extends tn{constructor(n,r,i,s){super(r,i,s);this.name=n}};var Ga=class extends tn{constructor(n,r,i,s,o,a,c){super(o,a,c);this.type=n;this.name=r;this.properties=i;this.nodes=s}},Md=class extends Ga{constructor(e,n,r,i,s,o){super("REF",e,n,r,i,s,o)}},Ld=class extends Ga{constructor(e,n,r,i,s){super("ROOT",null,e,n,r,i,s)}},$d=class extends Ga{constructor(e,n,r,i,s,o){super("CHILD",e,n,r,i,s,o)}};var _n=K(J()),j=class{constructor(e){this._children=[];this.issues=[];this._fisrtToken=e?.start,this._lastToken=e?.end}addIssue(e){this.issues.push(e)}get serializeIssues(){return this.issues.map(e=>e())}get firstToken(){return this._fisrtToken??this._children[0].tokenIndexes.start}set firstToken(e){this._fisrtToken=e}get lastToken(){return this._lastToken??this._children.at(-1)?.lastToken??this.firstToken}set lastToken(e){this._lastToken=e}get uri(){return this.firstToken.uri}getTopMostAstNodeForFile(e){return ue(e,this.uri)?[this]:this.children.flatMap(n=>n.getTopMostAstNodeForFile(e))}get tokenIndexes(){return{start:this.firstToken,end:this.lastToken}}getDocumentSymbols(e){if(!this.docSymbolsMeta)return this.children.flatMap(r=>r.getDocumentSymbols(e)??[]);if(!ue(this.uri,e))return[];let n=te(this);return[{name:this.docSymbolsMeta.name?this.docSymbolsMeta.name:"__UNSET__",kind:this.docSymbolsMeta.kind,range:n,selectionRange:n,children:[...this.children.flatMap(r=>r.getDocumentSymbols(e)??[])]}]}getWorkspaceSymbols(){if(!this.docSymbolsMeta)return this.children.flatMap(r=>r.getWorkspaceSymbols()??[]);let e=this.docSymbolsMeta.kind;if(![_n.SymbolKind.File,_n.SymbolKind.Class,_n.SymbolKind.Constant].some(r=>r===e))return[];let n=te(this);return[{location:_n.Location.create(he(this.uri),n),name:this.docSymbolsMeta.name?this.docSymbolsMeta.name:"__UNSET__",kind:this.docSymbolsMeta.kind},...this.children.flatMap(r=>r.getWorkspaceSymbols()??[]).filter(r=>r.kind===_n.SymbolKind.File||r.kind===_n.SymbolKind.Class||r.kind===_n.SymbolKind.Constant)]}buildSemanticTokens(e){this._children.forEach(n=>n.buildSemanticTokens(e)),!(!this.semanticTokenType||!this.semanticTokenModifiers)&&e(Ts(this.semanticTokenType),_s(this.semanticTokenModifiers),this.tokenIndexes)}get children(){return this._children}get allDescendants(){return this.allDescendantsCache??=[...this._children,...this._children.flatMap(e=>e.allDescendants)],this.allDescendantsCache}addChild(e){e&&(e.parentNode=this,this.children.push(e)),this.allDescendantsCache=void 0}isAncestorOf(e){return this.children.some(n=>n===e||n.isAncestorOf(e))}toPrettyString(e){return this.toString()}toString(e){return"TODO"}get range(){return _n.Range.create(_n.Position.create(this.firstToken.pos.line,this.firstToken.pos.col),_n.Position.create(this.lastToken.pos.line,this.lastToken.pos.colEnd))}serialize(e){return new tn(this.uri,this.range,this.serializeIssues)}};function qL(t){return t.replace(/'(.)'/g,(e,n)=>n.charCodeAt(0).toString()).replace(/(0x[a-f\d]+|\d+)[ul]*/gi,"$1")}function Cg(t){try{return(0,eval)(qL(t))}catch(e){console.log(e)}return t}var tt=class extends j{toJson(){return-1}resolve(e){return tN(this.toString(),e)}evaluate(e){return Cg(this.resolve(e))}isTrue(e){return Cg(`!!(${this.resolve(e)})`)}toPrettyString(e){let n=this.evaluate(e);return`${n.toString()} /* ${this.toString()}${typeof n=="number"?` = 0x${n.toString(16)}`:""} */`}serialize(e){return new Cd(this.toString(),this.evaluate(e),this.uri,this.range,this.serializeIssues)}},oi=class extends tt{constructor(n,r,i){super();this.expression=n;this.wrapped=r;this.join=i;this.addChild(n),i&&(this.addChild(i.operator),this.addChild(i.expression))}get firstToken(){return this.openBracket?this.openBracket:super.firstToken}get lastToken(){return this.closeBracket?this.closeBracket:super.lastToken}addExpression(n,r){this.addChild(n),this.addChild(r)}toString(){let n=this.children.map(r=>r.toString()).join(" ");return this.wrapped?`(${n})`:`${n}`}isTrue(n){let r=`(${this.children.map(i=>i instanceof tt?i.resolve(n):i.toString()).join(" ")})`;return Cg(`!!${r}`)}};var xr=class extends tt{constructor(n,r,i){super(r);this.value=n;this.docSymbolsMeta={name:`param${i+1}`,kind:Dg.SymbolKind.Variable},this.semanticTokenType="variable",this.semanticTokenModifiers="declaration"}toString(){return this.value}},Mr=class extends tt{constructor(n,r){super();this.functionName=n;this.params=r;this.addChild(n),this.params.forEach(i=>this.addChild(i))}getDocumentSymbols(n){return ue(this.uri,n)?[{name:this.functionName.name,kind:Dg.SymbolKind.Function,range:te(this),selectionRange:te(this),children:this.params.flatMap(r=>r?.getDocumentSymbols(n)??[])}]:[]}toString(){return`${this.functionName.toString()}(${this.params.map(n=>n?.toString()??"<NULL>").join(",")})`}isTrue(n){return this.functionName.name==="defined"?!!(this.params.length===1&&this.params[0]&&n.has(this.params[0].value)):super.isTrue(n)}};var Ss=(t,e,n=!0,r=!0)=>({start:{line:t?.pos.line??0,character:n?t?.pos.col??0:(t?.pos.col??0)+(t?.pos.len??0)},end:{line:e?.pos.line??0,character:r?(e?.pos.col??0)+(e?.pos.len??0):e?.pos.col??0}});var te=t=>Ss(t.tokenIndexes.start,t.tokenIndexes.end),sN=" ",oN=t=>{sN=t},No=()=>sN,Ts=t=>Td.findIndex(e=>e===t),_s=t=>_d.findIndex(e=>e===t),Og=(t,e,n)=>!ue(t.uri,e)||n.line<t.pos.line?!1:n.line>t.pos.line?!0:n.character>t.pos.colEnd,jL=(t,e,n)=>ue(t.uri,e)?n.line<t.pos.line?!0:n.line>t.pos.line?!1:n.character<t.pos.col:!1,Kn=(t,e,n)=>!!(ue(t.uri,e)&&t.tokenIndexes?.start&&t.tokenIndexes?.end&&(t.tokenIndexes.start.pos.line<n.line||t.tokenIndexes.start.pos.line===n.line&&t.tokenIndexes.start.pos.col<=n.character)&&(t.tokenIndexes.end.pos.line>n.line||t.tokenIndexes.end.pos.line===n.line&&t.tokenIndexes.end.pos.colEnd>=n.character)),aN=(t,e,n)=>!!(ue(t.uri,e)&&t.lastToken.value!==";"&&t.tokenIndexes?.start&&t.tokenIndexes?.end&&(t.tokenIndexes.start.pos.line===n.line||t.tokenIndexes.end.pos.line===n.line)&&n.character>=t.tokenIndexes.end.pos.colEnd),cN=(t,e,n)=>{if(!t)return!1;let i=t.filter(s=>s.pos.line===n.line).at(-1);return i&&i.pos.col>=n.character?!1:e.tokenIndexes?.end===i};var $r=(t,e,n)=>{let r=t,i=t;for(;i;)r=i,i=[...r.children].reverse().find(s=>Kn(s,e,n));return r},Ya=(t,e,n)=>{let r=t,i=t;for(;i;)r=i,i=[...r.children].find(s=>jL(s.lastToken,e,n));return r===t?void 0:r},Ka=(t,e,n)=>{let r=t,i=t;for(;i;)r=i,i=[...r.children].reverse().find(s=>Og(s.firstToken,e,n));return r===t?void 0:r},H=(t,e,n=Fd.DiagnosticSeverity.Error,r=[],i=void 0,s=[],o,a)=>{let c={issues:Array.isArray(t)?t:[t],astElement:e,severity:n,linkedTo:r,tags:i,templateStrings:s,edit:o,codeActionTitle:a},l,u=()=>(l??={severity:c.severity,range:te(c.astElement),message:c.issues?c.issues.map(BL).join(" or "):"",source:"devicetree",tags:c.tags,data:{firstToken:{pos:c.astElement.firstToken.pos,tokens:c.astElement.firstToken.tokens,value:c.astElement.firstToken.value},lastToken:{pos:c.astElement.lastToken.pos,tokens:c.astElement.lastToken.tokens,value:c.astElement.lastToken.value},issues:{type:"SyntaxIssue",items:c.issues,edit:c.edit,codeActionTitle:c.codeActionTitle}}},l);return c.astElement.issues.push(u),{raw:c,diagnostic:u}},qt=(t,e,n=Fd.DiagnosticSeverity.Error,r=[],i=void 0,s=[],o,a)=>{let c={issues:Array.isArray(t)?t:[t],astElement:e,severity:n,linkedTo:r,tags:i,templateStrings:s,edit:o,codeActionTitle:a},l,u=()=>(l??={severity:c.severity,range:te(c.astElement),message:UL(c),source:"devicetree",tags:c.tags,relatedInformation:[...c.linkedTo.map(d=>({message:c.issues.map(VL).join(" or "),location:{uri:he(d.uri),range:te(d)}}))]},l);return c.astElement.issues.push(u),{raw:c,diagnostic:u}},$=(t,e,n=Fd.DiagnosticSeverity.Error,r=[],i=void 0,s=[],o,a)=>{let c={issues:Array.isArray(t)?t:[t],astElement:e,severity:n,linkedTo:r,tags:i,templateStrings:s,edit:o,codeActionTitle:a},l,u=()=>(l??={severity:c.severity,range:te(c.astElement),message:zL(c),relatedInformation:[...c.linkedTo.map(d=>({message:c.issues.map(WL).join(" or "),location:{uri:he(d.uri),range:te(d)}}))],source:"devicetree",tags:c.tags,data:{firstToken:{pos:c.astElement.firstToken.pos,tokens:c.astElement.firstToken.tokens,value:c.astElement.firstToken.value},lastToken:{pos:c.astElement.lastToken.pos,tokens:c.astElement.lastToken.tokens,value:c.astElement.lastToken.value},issues:{type:"StandardTypeIssue",items:c.issues,edit:c.edit,codeActionTitle:c.codeActionTitle}}},l);return c.astElement.issues.push(u),{raw:c,diagnostic:u}},lN=(t,e)=>[...t].sort((r,i)=>{let s=e.getSortKey(r),o=e.getSortKey(i);if(s===void 0||o===void 0)throw new Error("Sort keys must be set");if(s!==o)return s-o;if(!r.tokenIndexes?.end||!i.tokenIndexes?.end)throw new Error("Must have token indexes");return r.tokenIndexes.end.pos.line!==i.tokenIndexes.end.pos.line?r.tokenIndexes.end.pos.line-i.tokenIndexes.end.pos.line:r.tokenIndexes.end.pos.col-i.tokenIndexes.end.pos.col});async function _t(t,e,n){let r=Ve(t.textDocument.uri);if(!e)return[];let i=performance.now(),o=(await e.getRuntime()).getDeepestAstNode(r,t.position),a=e.getSortKey(o?.ast);return console.log(`search: ${performance.now()-i}ms`),n(o,l=>{let u=t.position;return ue(l.uri,r)?!!(l.tokenIndexes?.end&&(l.tokenIndexes.end.pos.line<u.line||l.tokenIndexes.end.pos.line===u.line&&l.tokenIndexes.end.pos.colEnd<=u.character)):a!==void 0&&(e.getSortKey(l)??-1)<=a})}function G(t,e){return{start:t,end:e??t}}var F=(t,e)=>t?.tokens.some(n=>n===e),at=t=>e=>e?.value&&t===e.value?"yes":FL(t)(e),xe=t=>e=>e?.tokens.some(n=>n===t)?"yes":"no",FL=t=>e=>e?.value&&t.startsWith(e.value)?"partial":"no",qr=(t,e)=>!!t&&!!e&&t.pos.line===e.pos.line&&ue(t.uri,e.uri),ln=(t,e)=>!!t&&!!e&&qr(t,e)&&t.pos.colEnd===e.pos.col,Bd=t=>t.map((e,n)=>({index:n,context:e,files:e.getContextFiles()})),hr=(t,e,n,r)=>{if("id"in e){let s=t?.find(o=>o.id===e.id);return s||void 0}if("name"in e){let s=t?.find(o=>o.ctxNames.includes(e.name));return s||void 0}return n?.getContextFiles().find(s=>ue(s,e.uri))?n:Bd(t).sort(s=>s.context.id===r?-1:0).find(s=>s.files.some(o=>ue(o,e.uri)))?.context},Ig=(t,e)=>Bd(t).filter(r=>r.files.some(i=>ue(i,e))).map(r=>r.context),uN=t=>{let e=/^(\w+)\s+(.+)$/,n=/^(\w+)\(([^)]*)\)\s+(.+)$/,r=/^(\w+)\(([^)]*),\s*\.\.\.\)\s+(.+)$/,i;if(i=r.exec(t)){let[,,s,o]=i,a=s.split(",").map(c=>c.trim());return(...c)=>{let l=o;return a.forEach((u,d)=>{let f=new RegExp(`\\b${u}\\b`,"g");l=l.replace(f,c[d])}),l=l.replace(/__VA_ARGS__/g,c.slice(a.length).join(", ")),l}}else if(i=n.exec(t)){let[,,s,o]=i,a=s.split(",").map(c=>c.trim());return(...c)=>{let l=o;return a.forEach((u,d)=>{let f=new RegExp(`\\b${u}\\b`,"g");l=l.replace(f,c[d])}),l}}else if(i=e.exec(t)){let[,,s]=i;return s.trim()}},tN=(t,e)=>{let n=o=>o.replace(/(\w+)\s*##\s*(\w+)/g,(a,c,l)=>c+l),r=o=>o.replace(/#(\w+)/g,(a,c)=>`"${c}"`),i=t,s;do s=i,i=n(s),i=r(i),i=i.replace(/\b(\w+)\(([^)]*)\)|\b(\w+)\b/g,(o,a,c,l)=>{if(a==="defined"){let u=c.split(",").map(d=>d.trim());return u[0]?e.get(u[0])?.resolver:u}else if(a&&typeof e.get(a)?.resolver=="function"){let u=c.split(",").map(d=>d.trim());return(e.get(a)?.resolver)(...u)}else if(l&&typeof e.get(l)?.resolver=="string")return e.get(l)?.resolver;return o});while(i!==s);return i},he=t=>Ag.default.pathToFileURL(t).toString(),Ve=t=>nt(Ag.default.fileURLToPath(t)),ue=(t,e)=>!t||!e?!1:t===e,nt=t=>(0,iN.normalize)(process.platform==="win32"?t.toLowerCase():t),ai=t=>(0,rN.createHash)("sha256").update([nt(t.dtsFile),...t.includePaths.map(nt),...t.overlays.map(nt),t.bindingType,...t.zephyrBindings.map(nt),...t.deviceOrgBindingsMetaSchema.map(nt),...t.deviceOrgTreeBindings.map(nt)].join(":")).digest("hex"),BL=t=>{switch(t){case 0:return"Expected value";case 1:return"Expected ';'";case 2:return"Expected '{'";case 3:return"Expected '}'";case 4:return"Expected '['";case 5:return"Expected ']'";case 12:return"Expected '>'";case 13:return"Expected '<'";case 16:return`Expected '"'`;case 17:return`Expected "'"\\`;case 24:return"Missing ':'";case 21:return"Missing '/'";case 26:return'Expected ")"';case 28:return'Missing ","';case 6:return"Expected property name";case 7:return"Expected node name";case 8:return"Expected node address";case 9:return"Expected node path";case 10:return"Expected node reference";case 11:return"Expected root node name";case 14:return"Expected bytestring";case 15:return"Expected two digits for each byte in bytestring";case 20:return"Hex values are not allowed";case 18:return"Expected label name";case 19:return"Expected '/' at the start of a node path";case 23:return"Found ';' without a statement";case 25:return"Did you mean /delete-node/ or /delete-property/?";case 34:return"Did you mean /delete-node/?";case 35:return"Did you mean /delete-property/?";case 22:return"Unknown syntax";case 27:return"Expected expression";case 31:return"Expected macro identifier";case 30:return"Expected macro identifier or function like macro";case 29:return"White space is not allowed";case 32:return"Properties can only be defined in a node";case 33:return"Properties can only be deleted inside a node";case 36:return"Unable to resolve include";case 37:return"Expected start address";case 38:return"Expected end address";case 39:case 40:return"Expected 8|16|32|64";case 42:return"Unknown macro name";case 43:return"Expected function like macro";case 44:return"Macro expects less arguments";case 45:return"Macro expects more arguments";case 46:return"Missing #ENDIF";case 47:return"Block Unused";case 41:return"This syntax is not officially part of the DTS V0.4 standard"}},UL=t=>t.issues.map(e=>{switch(e){case 0:return`Property "${t.templateStrings[0]}" is replaced by a later definition`;case 1:return"Cannot delete a property before it has been defined";case 2:return"Node name already defined";case 5:return"Cannot delete a node before it has been defined";case 3:return`No node with that reference "${t.templateStrings[0]}" has been defined`;case 8:return`No node with name "${t.templateStrings[0]}" could be found in "/${t.templateStrings[1]}".`;case 4:return`Label name "${t.templateStrings[0]}" already defined`;case 6:return`Property "${t.templateStrings[0]}" was deleted`;case 7:return`Node "${t.templateStrings[0]}" was deleted`;case 9:return`The following node "${t.templateStrings[1]}" shall be present in "${t.templateStrings[0]}" node.`}}).join(" or "),VL=t=>{switch(t){case 0:return"Property name already defined.";case 2:return"Defined here";case 4:return"Defined here";case 7:case 6:return"Deleted here";case 9:return"Node";default:return"TODO"}},zL=t=>t.issues.map(e=>{switch(e){case 9:return`Only these value are allowed ${t.templateStrings[0]}`;case 1:return"INTRO should be empty";case 8:return"INTRO can only be assigned one value";case 5:return"INTRO should be assigned a U32";case 6:return"INTRO should be assigned a U64";case 7:return"INTRO should be assigned a 'property encoded array'";case 2:return"INTRO should be assigned a string";case 3:return"INTRO should be assigned a string list";case 4:return`INTRO expects ${t.templateStrings[1]} values`;case 0:return"INTRO is required";case 11:return"INTRO should be omitted";case 27:return"INTRO name is not permitted under this node";case 10:return"INTRO address value must match node address";case 12:return"INTRO should be 'cpu'";case 13:return"INTRO should be 'memory'";case 14:return"INTRO is deprecated and should not be used'";case 15:return`INTRO ${t.templateStrings[1]}'`;case 18:return"INTRO value must be unique in the entire Devicetree";case 19:return`INTRO should have format ${t.templateStrings[1]}`;case 16:return`INTRO requires property "${t.templateStrings[1]}" in node path "${t.templateStrings[2]}"`;case 17:return"Unable to resolve interrupt parent node";case 20:return`INTRO should have format ${t.templateStrings[1]}`;case 21:return"Node is disabled";case 22:return"Unable to resolve handle";case 23:return`Unable to find "${t.templateStrings[0]}" in ${t.templateStrings[1]}`;case 24:return t.templateStrings[0];case 25:return t.templateStrings[0];case 26:return t.templateStrings[0];case 28:return t.templateStrings[0];case 29:return`INTRO exceeds address space avalable for this mapping. The range ends at ${t.templateStrings[2]}, the node ends at ${t.templateStrings[1]}`;case 30:return"Map entry overlaps with others entries";case 31:return"Unable to match to a nexus map entry"}}).join(" or ").replace("INTRO",`Property "${t.templateStrings[0]}"`).replaceAll("INTRO ",""),WL=t=>{switch(t){case 16:case 0:return"Node";case 15:return"Ignored reason";case 18:return"Conflicting properties";case 8:return"Additional value";case 21:return"Disabled by";case 29:return"Mapping range";case 30:return"Map entry";case 31:return"Nexus map entries";default:return"TODO"}},Lr=(t,e)=>{let n=Math.max(t.length,e.length);for(let r=0;r<n;r++){let i=t[t.length-n+r]??0,s=e[e.length-n+r]??0;if(i<s)return-1;if(i>s)return 1}return 0},Ii=(t,e)=>{let n=Math.max(t.length,e.length),r=new Array(n).fill(0),i=0;for(let s=0;s<n;s++){let o=t[t.length-1-s]??0,a=e[e.length-1-s]??0,c=o+a+i;r[n-1-s]=c>>>0,i=c>4294967295?1:0}return i&&r.unshift(1),r},HL=(t,e)=>{let n=Math.max(t.length,e.length),r=new Array(n).fill(0),i=0;for(let s=0;s<n;s++){let o=t[t.length-1-s]??0,a=e[e.length-1-s]??0;o-=i,o<a?(o+=4294967296,i=1):i=0,r[n-1-s]=o-a>>>0}for(;r.length>1&&r[0]===0;)r.shift();return r},GL=(t,e)=>Ii(t,e),dN=(t,e)=>{let n=[];for(let r of t){let i=r.childAddress,s=r.length,o=Ii(i,s);if(Lr(e,i)>=0&&Lr(e,o)<0){let a=HL(e,i),c=r.parentAddress,l=GL(c,a),u=Ii(c,s);n.push({start:l,end:u,ast:r.ast})}}return n};function fN(t){return Array.isArray(t)&&Array.isArray(t[0])}function Xa(t){return!t||t instanceof Mr?t:Xa(t.parentNode)}function hN(t,e){let n=t.getText(),r=e.slice().sort((s,o)=>{let a=t.offsetAt(s.range.start),c=t.offsetAt(o.range.start);if(a!==c)return c-a;let l=t.offsetAt(s.range.end),u=t.offsetAt(o.range.end);if(l!==u)return u-l;let d=a===l&&s.newText.length>0,f=c===u&&o.newText.length>0;return d!==f?d?1:-1:0}),i=n;for(let s of r){let o=t.offsetAt(s.range.start),a=t.offsetAt(s.range.end);i=i.slice(0,o)+s.newText+i.slice(a)}return i}function nN(t,e){return t.line<e.line?-1:t.line>e.line?1:t.character<e.character?-1:t.character>e.character?1:0}function pN(t,e){return nN(t.end,e.start)>0&&nN(t.start,e.end)<0}var pr=K(J());var vN=K(J());var mN=K(J());var Me=class extends j{constructor(n,r){super(r);this.value=n;this.semanticTokenType="string",this.semanticTokenModifiers="declaration",this.docSymbolsMeta={name:this.value,kind:mN.SymbolKind.String}}toString(){return`"${this.value.toString()}"`}toJson(){return this.value}serialize(){return new Sd(this.value,this.uri,this.range,this.serializeIssues)}};var yN=K(J());var gN=K(J());var zt=class extends tt{constructor(n,r){super(r);this.value=n;this.docSymbolsMeta={name:this.value.toString(),kind:gN.SymbolKind.Number},this.semanticTokenType="number",this.semanticTokenModifiers="declaration"}toString(n){return this.value.toString(n)}toJson(){return this.value}toPrettyString(n){let r=this.evaluate(n);return`${r.toString()} /* ${typeof r=="number"?`0x${r.toString(16)}`:""} */`}serialize(){return new Rd(this.value.toString(),this.value,this.uri,this.range,this.serializeIssues)}};var Rt=class extends j{constructor(n){super();this.values=n;this.docSymbolsMeta={name:"Cell Array",kind:yN.SymbolKind.Array},this.values.forEach(r=>this.addChild(r))}toString(){return`<${this.values.map(n=>n.toString()).join(" ")}>`}toPrettyString(n){return`<${this.values.map(r=>r.toPrettyString(n)).join(" ")}>`}toJson(){if(this.values.length===1)return this.values[0].value?.toJson();if(this.values.length===2&&this.values.every(n=>n.value instanceof zt)){let n=new ArrayBuffer(8),r=new DataView(n);return this.values.map(i=>i.value.value).forEach((i,s)=>{r.setUint32(s*4,i)}),r.getBigUint64(0)}return this.values.map(n=>n.value?.toJson()??NaN)}serialize(n){let r=this.values.map(i=>i.value?.serialize(n)??null);return new wd(r,this.uri,this.range,this.serializeIssues)}};var bN=K(J());var ci=class extends j{constructor(n){super();this.values=n;this.docSymbolsMeta={name:"Byte String Value",kind:bN.SymbolKind.Array},this.values.forEach(r=>this.addChild(r))}toString(){return`[${this.values.map(n=>n.toString(16).padStart(2,"0")).join(" ")}]`}toJson(){return this.values.map(n=>n.value?.toJson()??NaN)}serialize(){return new Ed(this.values.map(n=>n.value?{value:n.value.toString(16),range:n.value.range,evaluated:n.value.value}:null),this.uri,this.range,this.serializeIssues)}};var Ge=class extends j{constructor(n,r){super(r);this.name=n;this.semanticTokenType="property",this.semanticTokenModifiers="declaration"}toString(){return this.name}serialize(){return new Dd(this.name,this.uri,this.range,this.serializeIssues)}},je=class extends j{constructor(n,r=[]){super();this.propertyName=n;this.labels=r;this._values=void 0;this.docSymbolsMeta={name:this.propertyName?.name??"Unknown",kind:vN.SymbolKind.Property},this.labels.forEach(i=>this.addChild(i)),this.addChild(n)}set values(n){if(this._values)throw new Error("Only one property name is allowed");this._values=n,this.addChild(n)}get values(){return this._values}get quickValues(){return this.values?.values.map(n=>n?n.value instanceof Me?n.value.value:n.value instanceof Rt?n.value.values.map(r=>r.value instanceof zt?r.value.value:NaN):n.value instanceof ci?n.value.values.map(r=>r.value?.value??NaN):NaN:null)}getFlatAstValues(){return this.values?.values.flatMap(n=>n?n.value instanceof Me?n.value:n.value instanceof Rt?n.value.values.map(r=>r.value):n.value instanceof ci?n.value.values.map(r=>r.value):n.value:null)}toString(){return`${this.propertyName?.toString()??"__UNSET__"}${this.assignOperatorToken?` = ${this._values?.values.map(n=>n?.toString()??"NULL").join(", ")??"NULL"}`:""};`}toPrettyString(n){return`${this.propertyName?.toString()??"__UNSET__"}${this.assignOperatorToken?` = ${this._values?.values.map(r=>r?.toPrettyString(n)??"NULL").join(", ")??"NULL"}`:""};`}serialize(n){return new Ad(this.propertyName?.serialize()??null,this.values?.values.map(r=>r?.value?.serialize(n)??null)??null,this.uri,this.range,this.serializeIssues)}};var TN=K(J()),un=class extends j{constructor(n,r){super();this.keyword=r;this.addChild(r),this.docSymbolsMeta={name:n,kind:TN.SymbolKind.Function}}};var Sn=class extends un{constructor(n){super("Delete Node",n);this._nodeNameOrRef=null}set nodeNameOrRef(n){if(this._nodeNameOrRef)throw new Error("Only one property name is allowed");this._nodeNameOrRef=n,this.addChild(n)}get nodeNameOrRef(){return this._nodeNameOrRef}};var Je=class extends un{constructor(n){super("Delete Property",n);this._propertyName=null}set propertyName(n){if(this._propertyName)throw new Error("Only only property name is allowed");this._propertyName=n,this.addChild(n)}get propertyName(){return this._propertyName}};var Ye=class t extends j{constructor(){super()}get path(){if(!this.pathName)return["__UNDEFINED__"];if(!this.parentNode||this instanceof mt)return[this.pathName];if(!(this.parentNode instanceof t))return;let e=this.parentNode.path;return e?[...e,this.pathName]:[this.pathName]}get pathName(){}get nodes(){return this.children.filter(e=>e instanceof t)}get deleteNodes(){return this.children.filter(e=>e instanceof Sn)}addNodeChild(e){this.addChild(e)}},mt=class extends Ye{constructor(){super(),this.docSymbolsMeta={name:"/",kind:pr.SymbolKind.Class}}get properties(){return this.children.filter(e=>e instanceof je)}get name(){return new Fe("/",G(this.firstToken))}get deleteProperties(){return this.children.filter(e=>e instanceof Je)}get nodes(){return this.children.filter(e=>e instanceof Oe)}get pathName(){return"/"}serialize(e){return new Ld(this.properties.map(n=>n.serialize(e)),this.nodes.map(n=>n.serialize(e)),this.uri,this.range,this.serializeIssues)}},jt=class extends Ye{constructor(n=[]){super();this.labels=n;this._labelReference=null;this.docSymbolsMeta={name:"DTC Name",kind:pr.SymbolKind.Class},n.forEach(r=>{super.addChild(r)})}get serializeIssues(){return[...this.issues,...this.labelReference?.issues??[]].map(n=>n())}set labelReference(n){if(this._labelReference)throw new Error("Only on label reference is allowed");this._labelReference=n,this.docSymbolsMeta={name:this.labelReference?.value??"DTC Name",kind:pr.SymbolKind.Class},this.addChild(n)}get path(){return this.resolveNodePath?this.resolveNodePath:super.path}get labelReference(){return this._labelReference}get nodes(){return this.children.filter(n=>n instanceof Oe)}get pathName(){return this.labelReference?.label?`&${this.labelReference?.label?.value}`:void 0}get properties(){return this.children.filter(n=>n instanceof je)}get deleteProperties(){return this.children.filter(n=>n instanceof Je)}serialize(n){return new Md(this.labelReference?.serialize()??null,this.properties.map(r=>r.serialize(n)),this.nodes.map(r=>r.serialize(n)),this.uri,this.range,this.serializeIssues)}},Oe=class t extends Ye{constructor(n=[],r){super();this.labels=n;this.omitIfNoRef=r;this._name=null;this.docSymbolsMeta={name:"DTC Name",kind:pr.SymbolKind.Class},r&&this.addChild(r),n.forEach(i=>{this.addChild(i)})}get serializeIssues(){return[...this.issues,...this.name?.issues??[]].map(n=>n())}set name(n){if(this._name)throw new Error("Only on label reference is allowed");this._name=n,this.docSymbolsMeta={name:this._name?.toString()??"DTC Name",kind:pr.SymbolKind.Class},this.addChild(n)}get name(){return this._name}get nodes(){return this.children.filter(n=>n instanceof t)}get pathName(){return this._name?.toString()}get properties(){return this.children.filter(n=>n instanceof je)}get deleteProperties(){return this.children.filter(n=>n instanceof Je)}serialize(n){return new $d(this.name?.serialize()??null,this.properties.map(r=>r.serialize(n)),this.nodes.map(r=>r.serialize(n)),this.uri,this.range,this.serializeIssues)}},Ud=class extends j{constructor(n,r){super(r);this.address=n;this.semanticTokenType="variable",this.semanticTokenModifiers="declaration"}toString(){return this.address?.map((n,r)=>n.toString(16).padStart(r?8:0,"0")).join("")??"NaN"}serialize(){return new Od(this.address,this.uri,this.range,this.serializeIssues)}},Fe=class extends j{constructor(n,r,i){super(r);this.name=n;this._address=i;this.semanticTokenType="variable",this.semanticTokenModifiers="declaration"}get value(){return this.name}get address(){return this._address}set address(n){if(this._address)throw new Error("Address can only be set once");n&&(this.lastToken=void 0,this._address=n,n.forEach(r=>this.addChild(r)))}get fullAddress(){return this._address?[...this._address.flatMap(n=>n.address)]:void 0}toString(){return this._address!==void 0?`${this.name}@${this._address.map(n=>n.toString()).join(",")}`:this.name}buildSemanticTokens(n){if(!this.tokenIndexes?.start||!this.tokenIndexes.start.value)return;let r={...this.tokenIndexes.start,pos:{...this.tokenIndexes.start.pos,len:this.name.length}};n(Ts("type"),_s("declaration"),{start:r,end:r}),this.address!==void 0&&this.address.forEach(i=>{n(Ts("decorator"),_s("declaration"),{start:i.firstToken,end:i.lastToken}),i.buildSemanticTokens(n)})}get serializeIssues(){return[...this.issues,...this._address?.flatMap(n=>n.issues)??[]].map(n=>n())}serialize(){return new Id(this.toString(),new xd(this.name,this.uri,pr.Range.create(pr.Position.create(this.tokenIndexes.start.pos.line,this.tokenIndexes.start.pos.col),pr.Position.create(this.tokenIndexes.start.pos.line,this.tokenIndexes.start.pos.colEnd)),[]),this.address?.map(n=>n.serialize())??null,this.uri,this.range,this.serializeIssues)}};var _N=K(J());var be=class extends j{constructor(n){super();this.label=n;this.docSymbolsMeta={name:`&${this.label?.value??"NULL"}`,kind:_N.SymbolKind.Key},this.addChild(n)}get value(){return this.label?.value}toString(){return`&${this.label?.value??"NULL"}`}toJson(){return-1}serialize(){return new kd(this.label?.toString()??null,this.linksTo?.pathString??null,this.uri,this.range,this.serializeIssues)}};var yr=K(J());var At=t=>t instanceof un?!0:t instanceof Ye?!1:t.parentNode?At(t.parentNode):!1;var Po=t=>[...t.map(e=>{if(e instanceof Oe||e instanceof mt)return e.name;if(e instanceof jt)return e.labelReference})].filter(e=>!!e),xg=(t,e)=>e?e.parentNode===t||xg(t,e.parentNode):!1;var lt=K(J());var SN=K(J());var li=class extends j{constructor(){super();this._pathParts=[]}addPath(n,r){this._pathParts.push(n),r&&this.addChild(r),this.addChild(n)}get pathParts(){return[...this._pathParts]}toString(){return this._pathParts.map(n=>n?.toString()??"<NULL>").join("/")}},Ln=class extends j{constructor(n){super();this.path=n;this.docSymbolsMeta={name:`/${this.path?.toString()??""}`,kind:SN.SymbolKind.Namespace},this.semanticTokenType="variable",this.semanticTokenModifiers="declaration",this.addChild(n)}toString(){return`&${this.path?.toString()??"NULL"}`}toJson(){return-1}serialize(){return new Nd(this.path?.toString()??null,this.uri,this.range,this.serializeIssues)}};var se=K(J());var Vd=K(J());var EN=require("path"),xi=class extends j{constructor(n,r){super();this.keyword=n;this.path=r;this.docSymbolsMeta={name:`Include ${r}`,kind:Vd.SymbolKind.File},this.addChild(n),this.addChild(r)}get resolvedPath(){return this._resolvedPath}set resolvedPath(n){this.docSymbolsMeta={name:`Include ${n}`,kind:Vd.SymbolKind.File},this._resolvedPath=n}},Ro=class extends j{constructor(n,r,i){super(i);this._path=n;this.relative=r;this.docSymbolsMeta={name:(0,EN.basename)(this.path),kind:Vd.SymbolKind.File},this.semanticTokenType="string",this.semanticTokenModifiers="declaration"}get path(){return this.relative?this._path.slice(1,-1):this._path}};var Mi=class extends j{constructor(n){super();this.comments=n;n.forEach(this.addChild.bind(this))}},jr=class extends j{constructor(e){super(e),this.semanticTokenType="comment",this.semanticTokenModifiers="documentation"}};var YL=async(t,e,n)=>{let r=se.Position.create(t.pos.line,t.pos.col),i=n.find(s=>Kn(s,e,r));if(i)return $r(i,e,r)},Mg=t=>{if(t)return t instanceof Ye?t:Mg(t?.parentNode)},Co=(t,e,n=0)=>{if(e instanceof mt)return n+1;if(!e||!ue(e.uri,t))return n;let r=Mg(e.parentNode);return Co(t,r,n+1)},KL=(t,e)=>async n=>{let r=await YL(n.firstToken,e,t);if(!r||r===n||n.allDescendants.some(o=>o===r))return 0;if(!(r instanceof Ye))return;let i=Mg(r);return Co(e,i)};async function Lg(t,e,n){let r=n.split(`
182
+ deps: ${n}}`};var qH={keyword:"dependencies",type:"object",schemaType:"object",error:Zr.error,code(t){let[e,n]=jH(t);EI(t,e),wI(t,n)}};function jH({schema:t}){let e={},n={};for(let r in t){if(r==="__proto__")continue;let i=Array.isArray(t[r])?e:n;i[r]=t[r]}return[e,n]}function EI(t,e=t.schema){let{gen:n,data:r,it:i}=t;if(Object.keys(e).length===0)return;let s=n.let("missing");for(let o in e){let a=e[o];if(a.length===0)continue;let c=(0,Ol.propertyInData)(n,r,o,i.opts.ownProperties);t.setParams({property:o,depsCount:a.length,deps:a.join(", ")}),i.allErrors?n.if(c,()=>{for(let l of a)(0,Ol.checkReportMissingProp)(t,l)}):(n.if((0,_T._)`${c} && (${(0,Ol.checkMissingProp)(t,a,s)})`),(0,Ol.reportMissingProp)(t,s),n.else())}}Zr.validatePropertyDeps=EI;function wI(t,e=t.schema){let{gen:n,data:r,keyword:i,it:s}=t,o=n.name("valid");for(let a in e)(0,$H.alwaysValidSchema)(s,e[a])||(n.if((0,Ol.propertyInData)(n,r,a,s.opts.ownProperties),()=>{let c=t.subschema({keyword:i,schemaProp:a},o);t.mergeValidEvaluated(c,o)},()=>n.var(o,!0)),t.ok(o))}Zr.validateSchemaDeps=wI;Zr.default=qH});var NI=k(ST=>{"use strict";Object.defineProperty(ST,"__esModule",{value:!0});var kI=de(),FH=ve(),BH={message:"property name must be valid",params:({params:t})=>(0,kI._)`{propertyName: ${t.propertyName}}`},UH={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:BH,code(t){let{gen:e,schema:n,data:r,it:i}=t;if((0,FH.alwaysValidSchema)(i,n))return;let s=e.name("valid");e.forIn("key",r,o=>{t.setParams({propertyName:o}),t.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},s),e.if((0,kI.not)(s),()=>{t.error(!0),i.allErrors||e.break()})}),t.ok(s)}};ST.default=UH});var wT=k(ET=>{"use strict";Object.defineProperty(ET,"__esModule",{value:!0});var fp=nr(),Pr=de(),VH=tr(),hp=ve(),zH={message:"must NOT have additional properties",params:({params:t})=>(0,Pr._)`{additionalProperty: ${t.additionalProperty}}`},WH={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:zH,code(t){let{gen:e,schema:n,parentSchema:r,data:i,errsCount:s,it:o}=t;if(!s)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=o;if(o.props=!0,c.removeAdditional!=="all"&&(0,hp.alwaysValidSchema)(o,n))return;let l=(0,fp.allSchemaProperties)(r.properties),u=(0,fp.allSchemaProperties)(r.patternProperties);d(),t.ok((0,Pr._)`${s} === ${VH.default.errors}`);function d(){e.forIn("key",i,T=>{!l.length&&!u.length?y(T):e.if(f(T),()=>y(T))})}function f(T){let S;if(l.length>8){let b=(0,hp.schemaRefOrVal)(o,r.properties,"properties");S=(0,fp.isOwnProperty)(e,b,T)}else l.length?S=(0,Pr.or)(...l.map(b=>(0,Pr._)`${T} === ${b}`)):S=Pr.nil;return u.length&&(S=(0,Pr.or)(S,...u.map(b=>(0,Pr._)`${(0,fp.usePattern)(t,b)}.test(${T})`))),(0,Pr.not)(S)}function h(T){e.code((0,Pr._)`delete ${i}[${T}]`)}function y(T){if(c.removeAdditional==="all"||c.removeAdditional&&n===!1){h(T);return}if(n===!1){t.setParams({additionalProperty:T}),t.error(),a||e.break();return}if(typeof n=="object"&&!(0,hp.alwaysValidSchema)(o,n)){let S=e.name("valid");c.removeAdditional==="failing"?(p(T,S,!1),e.if((0,Pr.not)(S),()=>{t.reset(),h(T)})):(p(T,S),a||e.if((0,Pr.not)(S),()=>e.break()))}}function p(T,S,b){let v={keyword:"additionalProperties",dataProp:T,dataPropType:hp.Type.Str};b===!1&&Object.assign(v,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(v,S)}}};ET.default=WH});var CI=k(NT=>{"use strict";Object.defineProperty(NT,"__esModule",{value:!0});var HH=yl(),PI=nr(),kT=ve(),RI=wT(),GH={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:n,parentSchema:r,data:i,it:s}=t;s.opts.removeAdditional==="all"&&r.additionalProperties===void 0&&RI.default.code(new HH.KeywordCxt(s,RI.default,"additionalProperties"));let o=(0,PI.allSchemaProperties)(n);for(let d of o)s.definedProperties.add(d);s.opts.unevaluated&&o.length&&s.props!==!0&&(s.props=kT.mergeEvaluated.props(e,(0,kT.toHash)(o),s.props));let a=o.filter(d=>!(0,kT.alwaysValidSchema)(s,n[d]));if(a.length===0)return;let c=e.name("valid");for(let d of a)l(d)?u(d):(e.if((0,PI.propertyInData)(e,i,d,s.opts.ownProperties)),u(d),s.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function l(d){return s.opts.useDefaults&&!s.compositeRule&&n[d].default!==void 0}function u(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};NT.default=GH});var II=k(PT=>{"use strict";Object.defineProperty(PT,"__esModule",{value:!0});var DI=nr(),pp=de(),AI=ve(),OI=ve(),YH={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:n,data:r,parentSchema:i,it:s}=t,{opts:o}=s,a=(0,DI.allSchemaProperties)(n),c=a.filter(p=>(0,AI.alwaysValidSchema)(s,n[p]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let l=o.strictSchema&&!o.allowMatchingProperties&&i.properties,u=e.name("valid");s.props!==!0&&!(s.props instanceof pp.Name)&&(s.props=(0,OI.evaluatedPropsToName)(e,s.props));let{props:d}=s;f();function f(){for(let p of a)l&&h(p),s.allErrors?y(p):(e.var(u,!0),y(p),e.if(u))}function h(p){for(let T in l)new RegExp(p).test(T)&&(0,AI.checkStrictMode)(s,`property ${T} matches pattern ${p} (use allowMatchingProperties)`)}function y(p){e.forIn("key",r,T=>{e.if((0,pp._)`${(0,DI.usePattern)(t,p)}.test(${T})`,()=>{let S=c.includes(p);S||t.subschema({keyword:"patternProperties",schemaProp:p,dataProp:T,dataPropType:OI.Type.Str},u),s.opts.unevaluated&&d!==!0?e.assign((0,pp._)`${d}[${T}]`,!0):!S&&!s.allErrors&&e.if((0,pp.not)(u),()=>e.break())})})}}};PT.default=YH});var xI=k(RT=>{"use strict";Object.defineProperty(RT,"__esModule",{value:!0});var KH=ve(),XH={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:n,it:r}=t;if((0,KH.alwaysValidSchema)(r,n)){t.fail();return}let i=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),t.failResult(i,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};RT.default=XH});var MI=k(CT=>{"use strict";Object.defineProperty(CT,"__esModule",{value:!0});var JH=nr(),QH={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:JH.validateUnion,error:{message:"must match a schema in anyOf"}};CT.default=QH});var LI=k(DT=>{"use strict";Object.defineProperty(DT,"__esModule",{value:!0});var mp=de(),ZH=ve(),eG={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,mp._)`{passingSchemas: ${t.passing}}`},tG={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:eG,code(t){let{gen:e,schema:n,parentSchema:r,it:i}=t;if(!Array.isArray(n))throw new Error("ajv implementation error");if(i.opts.discriminator&&r.discriminator)return;let s=n,o=e.let("valid",!1),a=e.let("passing",null),c=e.name("_valid");t.setParams({passing:a}),e.block(l),t.result(o,()=>t.reset(),()=>t.error(!0));function l(){s.forEach((u,d)=>{let f;(0,ZH.alwaysValidSchema)(i,u)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,mp._)`${c} && ${o}`).assign(o,!1).assign(a,(0,mp._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(o,!0),e.assign(a,d),f&&t.mergeEvaluated(f,mp.Name)})})}}};DT.default=tG});var $I=k(AT=>{"use strict";Object.defineProperty(AT,"__esModule",{value:!0});var nG=ve(),rG={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:n,it:r}=t;if(!Array.isArray(n))throw new Error("ajv implementation error");let i=e.name("valid");n.forEach((s,o)=>{if((0,nG.alwaysValidSchema)(r,s))return;let a=t.subschema({keyword:"allOf",schemaProp:o},i);t.ok(i),t.mergeEvaluated(a)})}};AT.default=rG});var FI=k(OT=>{"use strict";Object.defineProperty(OT,"__esModule",{value:!0});var gp=de(),jI=ve(),iG={message:({params:t})=>(0,gp.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,gp._)`{failingKeyword: ${t.ifClause}}`},sG={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:iG,code(t){let{gen:e,parentSchema:n,it:r}=t;n.then===void 0&&n.else===void 0&&(0,jI.checkStrictMode)(r,'"if" without "then" and "else" is ignored');let i=qI(r,"then"),s=qI(r,"else");if(!i&&!s)return;let o=e.let("valid",!0),a=e.name("_valid");if(c(),t.reset(),i&&s){let u=e.let("ifClause");t.setParams({ifClause:u}),e.if(a,l("then",u),l("else",u))}else i?e.if(a,l("then")):e.if((0,gp.not)(a),l("else"));t.pass(o,()=>t.error(!0));function c(){let u=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);t.mergeEvaluated(u)}function l(u,d){return()=>{let f=t.subschema({keyword:u},a);e.assign(o,a),t.mergeValidEvaluated(f,o),d?e.assign(d,(0,gp._)`${u}`):t.setParams({ifClause:u})}}}};function qI(t,e){let n=t.schema[e];return n!==void 0&&!(0,jI.alwaysValidSchema)(t,n)}OT.default=sG});var BI=k(IT=>{"use strict";Object.defineProperty(IT,"__esModule",{value:!0});var oG=ve(),aG={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:n}){e.if===void 0&&(0,oG.checkStrictMode)(n,`"${t}" without "if" is ignored`)}};IT.default=aG});var UI=k(xT=>{"use strict";Object.defineProperty(xT,"__esModule",{value:!0});var cG=gT(),lG=vI(),uG=yT(),dG=_I(),fG=SI(),hG=dp(),pG=NI(),mG=wT(),gG=CI(),yG=II(),bG=xI(),vG=MI(),TG=LI(),_G=$I(),SG=FI(),EG=BI();function wG(t=!1){let e=[bG.default,vG.default,TG.default,_G.default,SG.default,EG.default,pG.default,mG.default,hG.default,gG.default,yG.default];return t?e.push(lG.default,dG.default):e.push(cG.default,uG.default),e.push(fG.default),e}xT.default=wG});var VI=k(MT=>{"use strict";Object.defineProperty(MT,"__esModule",{value:!0});var kt=de(),kG={message:({schemaCode:t})=>(0,kt.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,kt._)`{format: ${t}}`},NG={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:kG,code(t,e){let{gen:n,data:r,$data:i,schema:s,schemaCode:o,it:a}=t,{opts:c,errSchemaPath:l,schemaEnv:u,self:d}=a;if(!c.validateFormats)return;i?f():h();function f(){let y=n.scopeValue("formats",{ref:d.formats,code:c.code.formats}),p=n.const("fDef",(0,kt._)`${y}[${o}]`),T=n.let("fType"),S=n.let("format");n.if((0,kt._)`typeof ${p} == "object" && !(${p} instanceof RegExp)`,()=>n.assign(T,(0,kt._)`${p}.type || "string"`).assign(S,(0,kt._)`${p}.validate`),()=>n.assign(T,(0,kt._)`"string"`).assign(S,p)),t.fail$data((0,kt.or)(b(),v()));function b(){return c.strictSchema===!1?kt.nil:(0,kt._)`${o} && !${S}`}function v(){let w=u.$async?(0,kt._)`(${p}.async ? await ${S}(${r}) : ${S}(${r}))`:(0,kt._)`${S}(${r})`,C=(0,kt._)`(typeof ${S} == "function" ? ${w} : ${S}.test(${r}))`;return(0,kt._)`${S} && ${S} !== true && ${T} === ${e} && !${C}`}}function h(){let y=d.formats[s];if(!y){b();return}if(y===!0)return;let[p,T,S]=v(y);p===e&&t.pass(w());function b(){if(c.strictSchema===!1){d.logger.warn(C());return}throw new Error(C());function C(){return`unknown format "${s}" ignored in schema at path "${l}"`}}function v(C){let L=C instanceof RegExp?(0,kt.regexpCode)(C):c.code.formats?(0,kt._)`${c.code.formats}${(0,kt.getProperty)(s)}`:void 0,B=n.scopeValue("formats",{key:s,ref:C,code:L});return typeof C=="object"&&!(C instanceof RegExp)?[C.type||"string",C.validate,(0,kt._)`${B}.validate`]:["string",C,B]}function w(){if(typeof y=="object"&&!(y instanceof RegExp)&&y.async){if(!u.$async)throw new Error("async format in sync schema");return(0,kt._)`await ${S}(${r})`}return typeof T=="function"?(0,kt._)`${S}(${r})`:(0,kt._)`${S}.test(${r})`}}}};MT.default=NG});var zI=k(LT=>{"use strict";Object.defineProperty(LT,"__esModule",{value:!0});var PG=VI(),RG=[PG.default];LT.default=RG});var WI=k(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.contentVocabulary=va.metadataVocabulary=void 0;va.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];va.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var GI=k($T=>{"use strict";Object.defineProperty($T,"__esModule",{value:!0});var CG=tI(),DG=mI(),AG=UI(),OG=zI(),HI=WI(),IG=[CG.default,DG.default,(0,AG.default)(),OG.default,HI.metadataVocabulary,HI.contentVocabulary];$T.default=IG});var jT=k(Il=>{"use strict";Object.defineProperty(Il,"__esModule",{value:!0});Il.dynamicAnchor=void 0;var qT=de(),xG=tr(),YI=vl(),MG=ip(),LG={keyword:"$dynamicAnchor",schemaType:"string",code:t=>KI(t,t.schema)};function KI(t,e){let{gen:n,it:r}=t;r.schemaEnv.root.dynamicAnchors[e]=!0;let i=(0,qT._)`${xG.default.dynamicAnchors}${(0,qT.getProperty)(e)}`,s=r.errSchemaPath==="#"?r.validateName:$G(t);n.if((0,qT._)`!${i}`,()=>n.assign(i,s))}Il.dynamicAnchor=KI;function $G(t){let{schemaEnv:e,schema:n,self:r}=t.it,{root:i,baseId:s,localRefs:o,meta:a}=e.root,{schemaId:c}=r.opts,l=new YI.SchemaEnv({schema:n,schemaId:c,root:i,baseId:s,localRefs:o,meta:a});return YI.compileSchema.call(r,l),(0,MG.getValidate)(t,l)}Il.default=LG});var FT=k(xl=>{"use strict";Object.defineProperty(xl,"__esModule",{value:!0});xl.dynamicRef=void 0;var XI=de(),qG=tr(),JI=ip(),jG={keyword:"$dynamicRef",schemaType:"string",code:t=>QI(t,t.schema)};function QI(t,e){let{gen:n,keyword:r,it:i}=t;if(e[0]!=="#")throw new Error(`"${r}" only supports hash fragment reference`);let s=e.slice(1);if(i.allErrors)o();else{let c=n.let("valid",!1);o(c),t.ok(c)}function o(c){if(i.schemaEnv.root.dynamicAnchors[s]){let l=n.let("_v",(0,XI._)`${qG.default.dynamicAnchors}${(0,XI.getProperty)(s)}`);n.if(l,a(l,c),a(i.validateName,c))}else a(i.validateName,c)()}function a(c,l){return l?()=>n.block(()=>{(0,JI.callRef)(t,c),n.let(l,!0)}):()=>(0,JI.callRef)(t,c)}}xl.dynamicRef=QI;xl.default=jG});var ZI=k(BT=>{"use strict";Object.defineProperty(BT,"__esModule",{value:!0});var FG=jT(),BG=ve(),UG={keyword:"$recursiveAnchor",schemaType:"boolean",code(t){t.schema?(0,FG.dynamicAnchor)(t,""):(0,BG.checkStrictMode)(t.it,"$recursiveAnchor: false is ignored")}};BT.default=UG});var ex=k(UT=>{"use strict";Object.defineProperty(UT,"__esModule",{value:!0});var VG=FT(),zG={keyword:"$recursiveRef",schemaType:"string",code:t=>(0,VG.dynamicRef)(t,t.schema)};UT.default=zG});var tx=k(VT=>{"use strict";Object.defineProperty(VT,"__esModule",{value:!0});var WG=jT(),HG=FT(),GG=ZI(),YG=ex(),KG=[WG.default,HG.default,GG.default,YG.default];VT.default=KG});var rx=k(zT=>{"use strict";Object.defineProperty(zT,"__esModule",{value:!0});var nx=dp(),XG={keyword:"dependentRequired",type:"object",schemaType:"object",error:nx.error,code:t=>(0,nx.validatePropertyDeps)(t)};zT.default=XG});var ix=k(WT=>{"use strict";Object.defineProperty(WT,"__esModule",{value:!0});var JG=dp(),QG={keyword:"dependentSchemas",type:"object",schemaType:"object",code:t=>(0,JG.validateSchemaDeps)(t)};WT.default=QG});var sx=k(HT=>{"use strict";Object.defineProperty(HT,"__esModule",{value:!0});var ZG=ve(),eY={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:t,parentSchema:e,it:n}){e.contains===void 0&&(0,ZG.checkStrictMode)(n,`"${t}" without "contains" is ignored`)}};HT.default=eY});var ox=k(GT=>{"use strict";Object.defineProperty(GT,"__esModule",{value:!0});var tY=rx(),nY=ix(),rY=sx(),iY=[tY.default,nY.default,rY.default];GT.default=iY});var cx=k(YT=>{"use strict";Object.defineProperty(YT,"__esModule",{value:!0});var as=de(),ax=ve(),sY=tr(),oY={message:"must NOT have unevaluated properties",params:({params:t})=>(0,as._)`{unevaluatedProperty: ${t.unevaluatedProperty}}`},aY={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:oY,code(t){let{gen:e,schema:n,data:r,errsCount:i,it:s}=t;if(!i)throw new Error("ajv implementation error");let{allErrors:o,props:a}=s;a instanceof as.Name?e.if((0,as._)`${a} !== true`,()=>e.forIn("key",r,d=>e.if(l(a,d),()=>c(d)))):a!==!0&&e.forIn("key",r,d=>a===void 0?c(d):e.if(u(a,d),()=>c(d))),s.props=!0,t.ok((0,as._)`${i} === ${sY.default.errors}`);function c(d){if(n===!1){t.setParams({unevaluatedProperty:d}),t.error(),o||e.break();return}if(!(0,ax.alwaysValidSchema)(s,n)){let f=e.name("valid");t.subschema({keyword:"unevaluatedProperties",dataProp:d,dataPropType:ax.Type.Str},f),o||e.if((0,as.not)(f),()=>e.break())}}function l(d,f){return(0,as._)`!${d} || !${d}[${f}]`}function u(d,f){let h=[];for(let y in d)d[y]===!0&&h.push((0,as._)`${f} !== ${y}`);return(0,as.and)(...h)}}};YT.default=aY});var ux=k(KT=>{"use strict";Object.defineProperty(KT,"__esModule",{value:!0});var Hs=de(),lx=ve(),cY={message:({params:{len:t}})=>(0,Hs.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Hs._)`{limit: ${t}}`},lY={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:cY,code(t){let{gen:e,schema:n,data:r,it:i}=t,s=i.items||0;if(s===!0)return;let o=e.const("len",(0,Hs._)`${r}.length`);if(n===!1)t.setParams({len:s}),t.fail((0,Hs._)`${o} > ${s}`);else if(typeof n=="object"&&!(0,lx.alwaysValidSchema)(i,n)){let c=e.var("valid",(0,Hs._)`${o} <= ${s}`);e.if((0,Hs.not)(c),()=>a(c,s)),t.ok(c)}i.items=!0;function a(c,l){e.forRange("i",l,o,u=>{t.subschema({keyword:"unevaluatedItems",dataProp:u,dataPropType:lx.Type.Num},c),i.allErrors||e.if((0,Hs.not)(c),()=>e.break())})}}};KT.default=lY});var dx=k(XT=>{"use strict";Object.defineProperty(XT,"__esModule",{value:!0});var uY=cx(),dY=ux(),fY=[uY.default,dY.default];XT.default=fY});var hx=k(yp=>{"use strict";Object.defineProperty(yp,"__esModule",{value:!0});yp.DiscrError=void 0;var fx;(function(t){t.Tag="tag",t.Mapping="mapping"})(fx||(yp.DiscrError=fx={}))});var mx=k(QT=>{"use strict";Object.defineProperty(QT,"__esModule",{value:!0});var Ta=de(),JT=hx(),px=vl(),hY=bl(),pY=ve(),mY={message:({params:{discrError:t,tagName:e}})=>t===JT.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:n}})=>(0,Ta._)`{error: ${t}, tag: ${n}, tagValue: ${e}}`},gY={keyword:"discriminator",type:"object",schemaType:"object",error:mY,code(t){let{gen:e,data:n,schema:r,parentSchema:i,it:s}=t,{oneOf:o}=i;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=r.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(r.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),l=e.const("tag",(0,Ta._)`${n}${(0,Ta.getProperty)(a)}`);e.if((0,Ta._)`typeof ${l} == "string"`,()=>u(),()=>t.error(!1,{discrError:JT.DiscrError.Tag,tag:l,tagName:a})),t.ok(c);function u(){let h=f();e.if(!1);for(let y in h)e.elseIf((0,Ta._)`${l} === ${y}`),e.assign(c,d(h[y]));e.else(),t.error(!1,{discrError:JT.DiscrError.Mapping,tag:l,tagName:a}),e.endIf()}function d(h){let y=e.name("valid"),p=t.subschema({keyword:"oneOf",schemaProp:h},y);return t.mergeEvaluated(p,Ta.Name),y}function f(){var h;let y={},p=S(i),T=!0;for(let w=0;w<o.length;w++){let C=o[w];if(C?.$ref&&!(0,pY.schemaHasRulesButRef)(C,s.self.RULES)){let B=C.$ref;if(C=px.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,B),C instanceof px.SchemaEnv&&(C=C.schema),C===void 0)throw new hY.default(s.opts.uriResolver,s.baseId,B)}let L=(h=C?.properties)===null||h===void 0?void 0:h[a];if(typeof L!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);T=T&&(p||S(C)),b(L,w)}if(!T)throw new Error(`discriminator: "${a}" must be required`);return y;function S({required:w}){return Array.isArray(w)&&w.includes(a)}function b(w,C){if(w.const)v(w.const,C);else if(w.enum)for(let L of w.enum)v(L,C);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function v(w,C){if(typeof w!="string"||w in y)throw new Error(`discriminator: "${a}" values must be unique strings`);y[w]=C}}}};QT.default=gY});var gx=k((qoe,yY)=>{yY.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/schema",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/core":!0,"https://json-schema.org/draft/2019-09/vocab/applicator":!0,"https://json-schema.org/draft/2019-09/vocab/validation":!0,"https://json-schema.org/draft/2019-09/vocab/meta-data":!0,"https://json-schema.org/draft/2019-09/vocab/format":!1,"https://json-schema.org/draft/2019-09/vocab/content":!0},$recursiveAnchor:!0,title:"Core and Validation specifications meta-schema",allOf:[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format"},{$ref:"meta/content"}],type:["object","boolean"],properties:{definitions:{$comment:"While no longer an official keyword as it is replaced by $defs, this keyword is retained in the meta-schema to prevent incompatible extensions as it remains in common use.",type:"object",additionalProperties:{$recursiveRef:"#"},default:{}},dependencies:{$comment:'"dependencies" is no longer a keyword, but schema authors should avoid redefining it to facilitate a smooth transition to "dependentSchemas" and "dependentRequired"',type:"object",additionalProperties:{anyOf:[{$recursiveRef:"#"},{$ref:"meta/validation#/$defs/stringArray"}]}}}}});var yx=k((joe,bY)=>{bY.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/applicator",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/applicator":!0},$recursiveAnchor:!0,title:"Applicator vocabulary meta-schema",type:["object","boolean"],properties:{additionalItems:{$recursiveRef:"#"},unevaluatedItems:{$recursiveRef:"#"},items:{anyOf:[{$recursiveRef:"#"},{$ref:"#/$defs/schemaArray"}]},contains:{$recursiveRef:"#"},additionalProperties:{$recursiveRef:"#"},unevaluatedProperties:{$recursiveRef:"#"},properties:{type:"object",additionalProperties:{$recursiveRef:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$recursiveRef:"#"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$recursiveRef:"#"}},propertyNames:{$recursiveRef:"#"},if:{$recursiveRef:"#"},then:{$recursiveRef:"#"},else:{$recursiveRef:"#"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$recursiveRef:"#"}},$defs:{schemaArray:{type:"array",minItems:1,items:{$recursiveRef:"#"}}}}});var bx=k((Foe,vY)=>{vY.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/content",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/content":!0},$recursiveAnchor:!0,title:"Content vocabulary meta-schema",type:["object","boolean"],properties:{contentMediaType:{type:"string"},contentEncoding:{type:"string"},contentSchema:{$recursiveRef:"#"}}}});var vx=k((Boe,TY)=>{TY.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/core",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/core":!0},$recursiveAnchor:!0,title:"Core vocabulary meta-schema",type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{type:"string",format:"uri"},$anchor:{type:"string",pattern:"^[A-Za-z][-A-Za-z0-9.:_]*$"},$ref:{type:"string",format:"uri-reference"},$recursiveRef:{type:"string",format:"uri-reference"},$recursiveAnchor:{type:"boolean",default:!1},$vocabulary:{type:"object",propertyNames:{type:"string",format:"uri"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$recursiveRef:"#"},default:{}}}}});var Tx=k((Uoe,_Y)=>{_Y.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/format",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/format":!0},$recursiveAnchor:!0,title:"Format vocabulary meta-schema",type:["object","boolean"],properties:{format:{type:"string"}}}});var _x=k((Voe,SY)=>{SY.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/meta-data",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/meta-data":!0},$recursiveAnchor:!0,title:"Meta-data vocabulary meta-schema",type:["object","boolean"],properties:{title:{type:"string"},description:{type:"string"},default:!0,deprecated:{type:"boolean",default:!1},readOnly:{type:"boolean",default:!1},writeOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0}}}});var Sx=k((zoe,EY)=>{EY.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/validation",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/validation":!0},$recursiveAnchor:!0,title:"Validation vocabulary meta-schema",type:["object","boolean"],properties:{multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}},const:!0,enum:{type:"array",items:!0},type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:!0}]}},$defs:{nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}}}});var Ex=k(ZT=>{"use strict";Object.defineProperty(ZT,"__esModule",{value:!0});var wY=gx(),kY=yx(),NY=bx(),PY=vx(),RY=Tx(),CY=_x(),DY=Sx(),AY=["/properties"];function OY(t){return[wY,kY,NY,PY,e(this,RY),CY,e(this,DY)].forEach(n=>this.addMetaSchema(n,void 0,!1)),this;function e(n,r){return t?n.$dataMetaSchema(r,AY):r}}ZT.default=OY});var wx=k((ft,t_)=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.MissingRefError=ft.ValidationError=ft.CodeGen=ft.Name=ft.nil=ft.stringify=ft.str=ft._=ft.KeywordCxt=ft.Ajv2019=void 0;var IY=XO(),xY=GI(),MY=tx(),LY=ox(),$Y=dx(),qY=mx(),jY=Ex(),e_="https://json-schema.org/draft/2019-09/schema",_a=class extends IY.default{constructor(e={}){super({...e,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),this.addVocabulary(MY.default),xY.default.forEach(e=>this.addVocabulary(e)),this.addVocabulary(LY.default),this.addVocabulary($Y.default),this.opts.discriminator&&this.addKeyword(qY.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:e,meta:n}=this.opts;n&&(jY.default.call(this,e),this.refs["http://json-schema.org/schema"]=e_)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(e_)?e_:void 0)}};ft.Ajv2019=_a;t_.exports=ft=_a;t_.exports.Ajv2019=_a;Object.defineProperty(ft,"__esModule",{value:!0});ft.default=_a;var FY=yl();Object.defineProperty(ft,"KeywordCxt",{enumerable:!0,get:function(){return FY.KeywordCxt}});var Sa=de();Object.defineProperty(ft,"_",{enumerable:!0,get:function(){return Sa._}});Object.defineProperty(ft,"str",{enumerable:!0,get:function(){return Sa.str}});Object.defineProperty(ft,"stringify",{enumerable:!0,get:function(){return Sa.stringify}});Object.defineProperty(ft,"nil",{enumerable:!0,get:function(){return Sa.nil}});Object.defineProperty(ft,"Name",{enumerable:!0,get:function(){return Sa.Name}});Object.defineProperty(ft,"CodeGen",{enumerable:!0,get:function(){return Sa.CodeGen}});var BY=Xh();Object.defineProperty(ft,"ValidationError",{enumerable:!0,get:function(){return BY.default}});var UY=bl();Object.defineProperty(ft,"MissingRefError",{enumerable:!0,get:function(){return UY.default}})});var it=K(Qk());var vd=class t{constructor(e,n,r,i){this._uri=e,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let n=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(n,r)}return this._content}update(e,n){for(let r of e)if(t.isIncremental(r)){let i=eN(r.range),s=this.offsetAt(i.start),o=this.offsetAt(i.end);this._content=this._content.substring(0,s)+r.text+this._content.substring(o,this._content.length);let a=Math.max(i.start.line,0),c=Math.max(i.end.line,0),l=this._lineOffsets,u=Zk(r.text,!1,s);if(c-a===u.length)for(let f=0,h=u.length;f<h;f++)l[f+a+1]=u[f];else u.length<1e4?l.splice(a+1,c-a,...u):this._lineOffsets=l=l.slice(0,a+1).concat(u,l.slice(c+1));let d=r.text.length-(o-s);if(d!==0)for(let f=a+1+u.length,h=l.length;f<h;f++)l[f]=l[f]+d}else if(t.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=n}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=Zk(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return{line:0,character:e};for(;r<i;){let o=Math.floor((r+i)/2);n[o]>e?i=o:r=o+1}let s=r-1;return{line:s,character:e-n[s]}}offsetAt(e){let n=this.getLineOffsets();if(e.line>=n.length)return this._content.length;if(e.line<0)return 0;let r=n[e.line],i=e.line+1<n.length?n[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,i),r)}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let n=e;return n!=null&&typeof n.text=="string"&&n.range!==void 0&&(n.rangeLength===void 0||typeof n.rangeLength=="number")}static isFull(e){let n=e;return n!=null&&typeof n.text=="string"&&n.range===void 0&&n.rangeLength===void 0}},ko;(function(t){function e(i,s,o,a){return new vd(i,s,o,a)}t.create=e;function n(i,s,o){if(i instanceof vd)return i.update(s,o),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=n;function r(i,s){let o=i.getText(),a=Rg(s.map($L),(u,d)=>{let f=u.range.start.line-d.range.start.line;return f===0?u.range.start.character-d.range.start.character:f}),c=0,l=[];for(let u of a){let d=i.offsetAt(u.range.start);if(d<c)throw new Error("Overlapping edit");d>c&&l.push(o.substring(c,d)),u.newText.length&&l.push(u.newText),c=i.offsetAt(u.range.end)}return l.push(o.substr(c)),l.join("")}t.applyEdits=r})(ko||(ko={}));function Rg(t,e){if(t.length<=1)return t;let n=t.length/2|0,r=t.slice(0,n),i=t.slice(n);Rg(r,e),Rg(i,e);let s=0,o=0,a=0;for(;s<r.length&&o<i.length;)e(r[s],i[o])<=0?t[a++]=r[s++]:t[a++]=i[o++];for(;s<r.length;)t[a++]=r[s++];for(;o<i.length;)t[a++]=i[o++];return t}function Zk(t,e,n=0){let r=e?[n]:[];for(let i=0;i<t.length;i++){let s=t.charCodeAt(i);(s===13||s===10)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,r.push(n+i+1))}return r}function eN(t){let e=t.start,n=t.end;return e.line>n.line||e.line===n.line&&e.character>n.character?{start:n,end:e}:t}function $L(t){let e=eN(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var Td=["namespace","class","enum","interface","struct","typeParameter","type","parameter","variable","property","enumMember","decorator","event","function","method","macro","label","comment","string","keyword","number","regexp","operator"],_d=["declaration","definition","readonly","static","deprecated","abstract","async","modification","documentation","defaultLibrary"];var Fd=K(J());var Ag=K(require("url")),rN=require("crypto"),iN=require("path");var Dg=K(J());var tn=class{constructor(e,n,r){this.uri=e;this.range=n;this.issues=r}},Sd=class extends tn{constructor(n,r,i,s){super(r,i,s);this.value=n;this.type="STRING"}},Ed=class extends tn{constructor(n,r,i,s){super(r,i,s);this.values=n;this.type="BYTESTRING"}},wd=class extends tn{constructor(n,r,i,s){super(r,i,s);this.value=n;this.type="ARRAY_VALUE"}},kd=class extends tn{constructor(n,r,i,s,o){super(i,s,o);this.label=n;this.nodePath=r;this.type="LABEL_REF"}},Nd=class extends tn{constructor(n,r,i,s){super(r,i,s);this.nodePath=n;this.type="NODE_PATH"}},Pd=class extends tn{constructor(n,r,i,s,o){super(i,s,o);this.value=n;this.evaluated=r}},Rd=class extends Pd{constructor(n,r,i,s,o){super(n,r,i,s,o);this.type="NUMBER_VALUE"}},Cd=class extends Pd{constructor(n,r,i,s,o){super(n,r,i,s,o);this.type="EXPRESSION"}},Dd=class extends tn{constructor(n,r,i,s){super(r,i,s);this.value=n}},Ad=class extends tn{constructor(n,r,i,s,o){super(i,s,o);this.name=n;this.values=r}},Od=class extends tn{constructor(n,r,i,s){super(r,i,s);this.address=n}},Id=class extends tn{constructor(n,r,i,s,o,a){super(s,o,a);this.fullName=n;this.name=r;this.address=i}},xd=class extends tn{constructor(n,r,i,s){super(r,i,s);this.name=n}};var Ga=class extends tn{constructor(n,r,i,s,o,a,c){super(o,a,c);this.type=n;this.name=r;this.properties=i;this.nodes=s}},Md=class extends Ga{constructor(e,n,r,i,s,o){super("REF",e,n,r,i,s,o)}},Ld=class extends Ga{constructor(e,n,r,i,s){super("ROOT",null,e,n,r,i,s)}},$d=class extends Ga{constructor(e,n,r,i,s,o){super("CHILD",e,n,r,i,s,o)}};var _n=K(J()),j=class{constructor(e){this._children=[];this.issues=[];this._fisrtToken=e?.start,this._lastToken=e?.end}addIssue(e){this.issues.push(e)}get serializeIssues(){return this.issues.map(e=>e())}get firstToken(){return this._fisrtToken??this._children[0].tokenIndexes.start}set firstToken(e){this._fisrtToken=e}get lastToken(){return this._lastToken??this._children.at(-1)?.lastToken??this.firstToken}set lastToken(e){this._lastToken=e}get uri(){return this.firstToken.uri}getTopMostAstNodeForFile(e){return ue(e,this.uri)?[this]:this.children.flatMap(n=>n.getTopMostAstNodeForFile(e))}get tokenIndexes(){return{start:this.firstToken,end:this.lastToken}}getDocumentSymbols(e){if(!this.docSymbolsMeta)return this.children.flatMap(r=>r.getDocumentSymbols(e)??[]);if(!ue(this.uri,e))return[];let n=te(this);return[{name:this.docSymbolsMeta.name?this.docSymbolsMeta.name:"__UNSET__",kind:this.docSymbolsMeta.kind,range:n,selectionRange:n,children:[...this.children.flatMap(r=>r.getDocumentSymbols(e)??[])]}]}getWorkspaceSymbols(){if(!this.docSymbolsMeta)return this.children.flatMap(r=>r.getWorkspaceSymbols()??[]);let e=this.docSymbolsMeta.kind;if(![_n.SymbolKind.File,_n.SymbolKind.Class,_n.SymbolKind.Constant].some(r=>r===e))return[];let n=te(this);return[{location:_n.Location.create(he(this.uri),n),name:this.docSymbolsMeta.name?this.docSymbolsMeta.name:"__UNSET__",kind:this.docSymbolsMeta.kind},...this.children.flatMap(r=>r.getWorkspaceSymbols()??[]).filter(r=>r.kind===_n.SymbolKind.File||r.kind===_n.SymbolKind.Class||r.kind===_n.SymbolKind.Constant)]}buildSemanticTokens(e){this._children.forEach(n=>n.buildSemanticTokens(e)),!(!this.semanticTokenType||!this.semanticTokenModifiers)&&e(Ts(this.semanticTokenType),_s(this.semanticTokenModifiers),this.tokenIndexes)}get children(){return this._children}get allDescendants(){return this.allDescendantsCache??=[...this._children,...this._children.flatMap(e=>e.allDescendants)],this.allDescendantsCache}addChild(e){e&&(e.parentNode=this,this.children.push(e)),this.allDescendantsCache=void 0}isAncestorOf(e){return this.children.some(n=>n===e||n.isAncestorOf(e))}toPrettyString(e){return this.toString()}toString(e){return"TODO"}get range(){return _n.Range.create(_n.Position.create(this.firstToken.pos.line,this.firstToken.pos.col),_n.Position.create(this.lastToken.pos.line,this.lastToken.pos.colEnd))}serialize(e){return new tn(this.uri,this.range,this.serializeIssues)}};function qL(t){return t.replace(/'(.)'/g,(e,n)=>n.charCodeAt(0).toString()).replace(/(0x[a-f\d]+|\d+)[ul]*/gi,"$1")}function Cg(t){try{return(0,eval)(qL(t))}catch(e){console.log(e)}return t}var tt=class extends j{toJson(){return-1}resolve(e){return tN(this.toString(),e)}evaluate(e){return Cg(this.resolve(e))}isTrue(e){return Cg(`!!(${this.resolve(e)})`)}toPrettyString(e){let n=this.evaluate(e);return`${n.toString()} /* ${this.toString()}${typeof n=="number"?` = 0x${n.toString(16)}`:""} */`}serialize(e){return new Cd(this.toString(),this.evaluate(e),this.uri,this.range,this.serializeIssues)}},oi=class extends tt{constructor(n,r,i){super();this.expression=n;this.wrapped=r;this.join=i;this.addChild(n),i&&(this.addChild(i.operator),this.addChild(i.expression))}get firstToken(){return this.openBracket?this.openBracket:super.firstToken}get lastToken(){return this.closeBracket?this.closeBracket:super.lastToken}addExpression(n,r){this.addChild(n),this.addChild(r)}toString(){let n=this.children.map(r=>r.toString()).join(" ");return this.wrapped?`(${n})`:`${n}`}isTrue(n){let r=`(${this.children.map(i=>i instanceof tt?i.resolve(n):i.toString()).join(" ")})`;return Cg(`!!${r}`)}};var xr=class extends tt{constructor(n,r,i){super(r);this.value=n;this.docSymbolsMeta={name:`param${i+1}`,kind:Dg.SymbolKind.Variable},this.semanticTokenType="variable",this.semanticTokenModifiers="declaration"}toString(){return this.value}},Mr=class extends tt{constructor(n,r){super();this.functionName=n;this.params=r;this.addChild(n),this.params.forEach(i=>this.addChild(i))}getDocumentSymbols(n){return ue(this.uri,n)?[{name:this.functionName.name,kind:Dg.SymbolKind.Function,range:te(this),selectionRange:te(this),children:this.params.flatMap(r=>r?.getDocumentSymbols(n)??[])}]:[]}toString(){return`${this.functionName.toString()}(${this.params.map(n=>n?.toString()??"<NULL>").join(",")})`}isTrue(n){return this.functionName.name==="defined"?!!(this.params.length===1&&this.params[0]&&n.has(this.params[0].value)):super.isTrue(n)}};var Ss=(t,e,n=!0,r=!0)=>({start:{line:t?.pos.line??0,character:n?t?.pos.col??0:(t?.pos.col??0)+(t?.pos.len??0)},end:{line:e?.pos.line??0,character:r?(e?.pos.col??0)+(e?.pos.len??0):e?.pos.col??0}});var te=t=>Ss(t.tokenIndexes.start,t.tokenIndexes.end),sN=" ",oN=t=>{sN=t},No=()=>sN,Ts=t=>Td.findIndex(e=>e===t),_s=t=>_d.findIndex(e=>e===t),Og=(t,e,n)=>!ue(t.uri,e)||n.line<t.pos.line?!1:n.line>t.pos.line?!0:n.character>t.pos.colEnd,jL=(t,e,n)=>ue(t.uri,e)?n.line<t.pos.line?!0:n.line>t.pos.line?!1:n.character<t.pos.col:!1,Kn=(t,e,n)=>!!(ue(t.uri,e)&&t.tokenIndexes?.start&&t.tokenIndexes?.end&&(t.tokenIndexes.start.pos.line<n.line||t.tokenIndexes.start.pos.line===n.line&&t.tokenIndexes.start.pos.col<=n.character)&&(t.tokenIndexes.end.pos.line>n.line||t.tokenIndexes.end.pos.line===n.line&&t.tokenIndexes.end.pos.colEnd>=n.character)),aN=(t,e,n)=>!!(ue(t.uri,e)&&t.lastToken.value!==";"&&t.tokenIndexes?.start&&t.tokenIndexes?.end&&(t.tokenIndexes.start.pos.line===n.line||t.tokenIndexes.end.pos.line===n.line)&&n.character>=t.tokenIndexes.end.pos.colEnd),cN=(t,e,n)=>{if(!t)return!1;let i=t.filter(s=>s.pos.line===n.line).at(-1);return i&&i.pos.col>=n.character?!1:e.tokenIndexes?.end===i};var $r=(t,e,n)=>{let r=t,i=t;for(;i;)r=i,i=[...r.children].reverse().find(s=>Kn(s,e,n));return r},Ya=(t,e,n)=>{let r=t,i=t;for(;i;)r=i,i=[...r.children].find(s=>jL(s.lastToken,e,n));return r===t?void 0:r},Ka=(t,e,n)=>{let r=t,i=t;for(;i;)r=i,i=[...r.children].reverse().find(s=>Og(s.firstToken,e,n));return r===t?void 0:r},H=(t,e,n=Fd.DiagnosticSeverity.Error,r=[],i=void 0,s=[],o,a)=>{let c={issues:Array.isArray(t)?t:[t],astElement:e,severity:n,linkedTo:r,tags:i,templateStrings:s,edit:o,codeActionTitle:a},l,u=()=>(l??={severity:c.severity,range:te(c.astElement),message:c.issues?c.issues.map(BL).join(" or "):"",source:"devicetree",tags:c.tags,data:{firstToken:{pos:c.astElement.firstToken.pos,tokens:c.astElement.firstToken.tokens,value:c.astElement.firstToken.value},lastToken:{pos:c.astElement.lastToken.pos,tokens:c.astElement.lastToken.tokens,value:c.astElement.lastToken.value},issues:{type:"SyntaxIssue",items:c.issues,edit:c.edit,codeActionTitle:c.codeActionTitle}}},l);return c.astElement.issues.push(u),{raw:c,diagnostic:u}},qt=(t,e,n=Fd.DiagnosticSeverity.Error,r=[],i=void 0,s=[],o,a)=>{let c={issues:Array.isArray(t)?t:[t],astElement:e,severity:n,linkedTo:r,tags:i,templateStrings:s,edit:o,codeActionTitle:a},l,u=()=>(l??={severity:c.severity,range:te(c.astElement),message:UL(c),source:"devicetree",tags:c.tags,relatedInformation:[...c.linkedTo.map(d=>({message:c.issues.map(VL).join(" or "),location:{uri:he(d.uri),range:te(d)}}))]},l);return c.astElement.issues.push(u),{raw:c,diagnostic:u}},$=(t,e,n=Fd.DiagnosticSeverity.Error,r=[],i=void 0,s=[],o,a)=>{let c={issues:Array.isArray(t)?t:[t],astElement:e,severity:n,linkedTo:r,tags:i,templateStrings:s,edit:o,codeActionTitle:a},l,u=()=>(l??={severity:c.severity,range:te(c.astElement),message:zL(c),relatedInformation:[...c.linkedTo.map(d=>({message:c.issues.map(WL).join(" or "),location:{uri:he(d.uri),range:te(d)}}))],source:"devicetree",tags:c.tags,data:{firstToken:{pos:c.astElement.firstToken.pos,tokens:c.astElement.firstToken.tokens,value:c.astElement.firstToken.value},lastToken:{pos:c.astElement.lastToken.pos,tokens:c.astElement.lastToken.tokens,value:c.astElement.lastToken.value},issues:{type:"StandardTypeIssue",items:c.issues,edit:c.edit,codeActionTitle:c.codeActionTitle}}},l);return c.astElement.issues.push(u),{raw:c,diagnostic:u}},lN=(t,e)=>[...t].sort((r,i)=>{let s=e.getSortKey(r),o=e.getSortKey(i);if(s===void 0||o===void 0)throw new Error("Sort keys must be set");if(s!==o)return s-o;if(!r.tokenIndexes?.end||!i.tokenIndexes?.end)throw new Error("Must have token indexes");return r.tokenIndexes.end.pos.line!==i.tokenIndexes.end.pos.line?r.tokenIndexes.end.pos.line-i.tokenIndexes.end.pos.line:r.tokenIndexes.end.pos.col-i.tokenIndexes.end.pos.col});async function _t(t,e,n){let r=Ve(t.textDocument.uri);if(!e)return[];let i=performance.now(),o=(await e.getRuntime()).getDeepestAstNode(r,t.position),a=e.getSortKey(o?.ast);return console.log(`search: ${performance.now()-i}ms`),n(o,l=>{let u=t.position;return ue(l.uri,r)?!!(l.tokenIndexes?.end&&(l.tokenIndexes.end.pos.line<u.line||l.tokenIndexes.end.pos.line===u.line&&l.tokenIndexes.end.pos.colEnd<=u.character)):a!==void 0&&(e.getSortKey(l)??-1)<=a})}function G(t,e){return{start:t,end:e??t}}var F=(t,e)=>t?.tokens.some(n=>n===e),ct=t=>e=>e?.value&&t===e.value?"yes":FL(t)(e),xe=t=>e=>e?.tokens.some(n=>n===t)?"yes":"no",FL=t=>e=>e?.value&&t.startsWith(e.value)?"partial":"no",qr=(t,e)=>!!t&&!!e&&t.pos.line===e.pos.line&&ue(t.uri,e.uri),ln=(t,e)=>!!t&&!!e&&qr(t,e)&&t.pos.colEnd===e.pos.col,Bd=t=>t.map((e,n)=>({index:n,context:e,files:e.getContextFiles()})),hr=(t,e,n,r)=>{if("id"in e){let s=t?.find(o=>o.id===e.id);return s||void 0}if("name"in e){let s=t?.find(o=>o.ctxNames.includes(e.name));return s||void 0}return n?.getContextFiles().find(s=>ue(s,e.uri))?n:Bd(t).sort(s=>s.context.id===r?-1:0).find(s=>s.files.some(o=>ue(o,e.uri)))?.context},Ig=(t,e)=>Bd(t).filter(r=>r.files.some(i=>ue(i,e))).map(r=>r.context),uN=t=>{let e=/^(\w+)\s+(.+)$/,n=/^(\w+)\(([^)]*)\)\s+(.+)$/,r=/^(\w+)\(([^)]*),\s*\.\.\.\)\s+(.+)$/,i;if(i=r.exec(t)){let[,,s,o]=i,a=s.split(",").map(c=>c.trim());return(...c)=>{let l=o;return a.forEach((u,d)=>{let f=new RegExp(`\\b${u}\\b`,"g");l=l.replace(f,c[d])}),l=l.replace(/__VA_ARGS__/g,c.slice(a.length).join(", ")),l}}else if(i=n.exec(t)){let[,,s,o]=i,a=s.split(",").map(c=>c.trim());return(...c)=>{let l=o;return a.forEach((u,d)=>{let f=new RegExp(`\\b${u}\\b`,"g");l=l.replace(f,c[d])}),l}}else if(i=e.exec(t)){let[,,s]=i;return s.trim()}},tN=(t,e)=>{let n=o=>o.replace(/(\w+)\s*##\s*(\w+)/g,(a,c,l)=>c+l),r=o=>o.replace(/#(\w+)/g,(a,c)=>`"${c}"`),i=t,s;do s=i,i=n(s),i=r(i),i=i.replace(/\b(\w+)\(([^)]*)\)|\b(\w+)\b/g,(o,a,c,l)=>{if(a==="defined"){let u=c.split(",").map(d=>d.trim());return u[0]?e.get(u[0])?.resolver:u}else if(a&&typeof e.get(a)?.resolver=="function"){let u=c.split(",").map(d=>d.trim());return(e.get(a)?.resolver)(...u)}else if(l&&typeof e.get(l)?.resolver=="string")return e.get(l)?.resolver;return o});while(i!==s);return i},he=t=>Ag.default.pathToFileURL(t).toString(),Ve=t=>nt(Ag.default.fileURLToPath(t)),ue=(t,e)=>!t||!e?!1:t===e,nt=t=>(0,iN.normalize)(process.platform==="win32"?t.toLowerCase():t),ai=t=>(0,rN.createHash)("sha256").update([nt(t.dtsFile),...t.includePaths.map(nt),...t.overlays.map(nt),t.bindingType,...t.zephyrBindings.map(nt),...t.deviceOrgBindingsMetaSchema.map(nt),...t.deviceOrgTreeBindings.map(nt)].join(":")).digest("hex"),BL=t=>{switch(t){case 0:return"Expected value";case 1:return"Expected ';'";case 2:return"Expected '{'";case 3:return"Expected '}'";case 4:return"Expected '['";case 5:return"Expected ']'";case 12:return"Expected '>'";case 13:return"Expected '<'";case 16:return`Expected '"'`;case 17:return`Expected "'"\\`;case 24:return"Missing ':'";case 21:return"Missing '/'";case 26:return'Expected ")"';case 28:return'Missing ","';case 6:return"Expected property name";case 7:return"Expected node name";case 8:return"Expected node address";case 9:return"Expected node path";case 10:return"Expected node reference";case 11:return"Expected root node name";case 14:return"Expected bytestring";case 15:return"Expected two digits for each byte in bytestring";case 20:return"Hex values are not allowed";case 18:return"Expected label name";case 19:return"Expected '/' at the start of a node path";case 23:return"Found ';' without a statement";case 25:return"Did you mean /delete-node/ or /delete-property/?";case 34:return"Did you mean /delete-node/?";case 35:return"Did you mean /delete-property/?";case 22:return"Unknown syntax";case 27:return"Expected expression";case 31:return"Expected macro identifier";case 30:return"Expected macro identifier or function like macro";case 29:return"White space is not allowed";case 32:return"Properties can only be defined in a node";case 33:return"Properties can only be deleted inside a node";case 36:return"Unable to resolve include";case 37:return"Expected start address";case 38:return"Expected end address";case 39:case 40:return"Expected 8|16|32|64";case 42:return"Unknown macro name";case 43:return"Expected function like macro";case 44:return"Macro expects less arguments";case 45:return"Macro expects more arguments";case 46:return"Missing #ENDIF";case 47:return"Block Unused";case 41:return"This syntax is not officially part of the DTS V0.4 standard"}},UL=t=>t.issues.map(e=>{switch(e){case 0:return`Property "${t.templateStrings[0]}" is replaced by a later definition`;case 1:return"Cannot delete a property before it has been defined";case 2:return"Node name already defined";case 5:return"Cannot delete a node before it has been defined";case 3:return`No node with that reference "${t.templateStrings[0]}" has been defined`;case 8:return`No node with name "${t.templateStrings[0]}" could be found in "/${t.templateStrings[1]}".`;case 4:return`Label name "${t.templateStrings[0]}" already defined`;case 6:return`Property "${t.templateStrings[0]}" was deleted`;case 7:return`Node "${t.templateStrings[0]}" was deleted`;case 9:return`The following node "${t.templateStrings[1]}" shall be present in "${t.templateStrings[0]}" node.`}}).join(" or "),VL=t=>{switch(t){case 0:return"Property name already defined.";case 2:return"Defined here";case 4:return"Defined here";case 7:case 6:return"Deleted here";case 9:return"Node";default:return"TODO"}},zL=t=>t.issues.map(e=>{switch(e){case 9:return`Only these value are allowed ${t.templateStrings[0]}`;case 1:return"INTRO should be empty";case 8:return"INTRO can only be assigned one value";case 5:return"INTRO should be assigned a U32";case 6:return"INTRO should be assigned a U64";case 7:return"INTRO should be assigned a 'property encoded array'";case 2:return"INTRO should be assigned a string";case 3:return"INTRO should be assigned a string list";case 4:return`INTRO expects ${t.templateStrings[1]} values`;case 0:return"INTRO is required";case 11:return"INTRO should be omitted";case 27:return"INTRO name is not permitted under this node";case 10:return"INTRO address value must match node address";case 12:return"INTRO should be 'cpu'";case 13:return"INTRO should be 'memory'";case 14:return"INTRO is deprecated and should not be used'";case 15:return`INTRO ${t.templateStrings[1]}'`;case 18:return"INTRO value must be unique in the entire Devicetree";case 19:return`INTRO should have format ${t.templateStrings[1]}`;case 16:return`INTRO requires property "${t.templateStrings[1]}" in node path "${t.templateStrings[2]}"`;case 17:return"Unable to resolve interrupt parent node";case 20:return`INTRO should have format ${t.templateStrings[1]}`;case 21:return"Node is disabled";case 22:return"Unable to resolve handle";case 23:return`Unable to find "${t.templateStrings[0]}" in ${t.templateStrings[1]}`;case 24:return t.templateStrings[0];case 25:return t.templateStrings[0];case 26:return t.templateStrings[0];case 28:return t.templateStrings[0];case 29:return`INTRO exceeds address space avalable for this mapping. The range ends at ${t.templateStrings[2]}, the node ends at ${t.templateStrings[1]}`;case 30:return"Map entry overlaps with others entries";case 31:return"Unable to match to a nexus map entry"}}).join(" or ").replace("INTRO",`Property "${t.templateStrings[0]}"`).replaceAll("INTRO ",""),WL=t=>{switch(t){case 16:case 0:return"Node";case 15:return"Ignored reason";case 18:return"Conflicting properties";case 8:return"Additional value";case 21:return"Disabled by";case 29:return"Mapping range";case 30:return"Map entry";case 31:return"Nexus map entries";default:return"TODO"}},Lr=(t,e)=>{let n=Math.max(t.length,e.length);for(let r=0;r<n;r++){let i=t[t.length-n+r]??0,s=e[e.length-n+r]??0;if(i<s)return-1;if(i>s)return 1}return 0},Ii=(t,e)=>{let n=Math.max(t.length,e.length),r=new Array(n).fill(0),i=0;for(let s=0;s<n;s++){let o=t[t.length-1-s]??0,a=e[e.length-1-s]??0,c=o+a+i;r[n-1-s]=c>>>0,i=c>4294967295?1:0}return i&&r.unshift(1),r},HL=(t,e)=>{let n=Math.max(t.length,e.length),r=new Array(n).fill(0),i=0;for(let s=0;s<n;s++){let o=t[t.length-1-s]??0,a=e[e.length-1-s]??0;o-=i,o<a?(o+=4294967296,i=1):i=0,r[n-1-s]=o-a>>>0}for(;r.length>1&&r[0]===0;)r.shift();return r},GL=(t,e)=>Ii(t,e),dN=(t,e)=>{let n=[];for(let r of t){let i=r.childAddress,s=r.length,o=Ii(i,s);if(Lr(e,i)>=0&&Lr(e,o)<0){let a=HL(e,i),c=r.parentAddress,l=GL(c,a),u=Ii(c,s);n.push({start:l,end:u,ast:r.ast})}}return n};function fN(t){return Array.isArray(t)&&Array.isArray(t[0])}function Xa(t){return!t||t instanceof Mr?t:Xa(t.parentNode)}function hN(t,e){let n=t.getText(),r=e.slice().sort((s,o)=>{let a=t.offsetAt(s.range.start),c=t.offsetAt(o.range.start);if(a!==c)return c-a;let l=t.offsetAt(s.range.end),u=t.offsetAt(o.range.end);if(l!==u)return u-l;let d=a===l&&s.newText.length>0,f=c===u&&o.newText.length>0;return d!==f?d?1:-1:0}),i=n;for(let s of r){let o=t.offsetAt(s.range.start),a=t.offsetAt(s.range.end);i=i.slice(0,o)+s.newText+i.slice(a)}return i}function nN(t,e){return t.line<e.line?-1:t.line>e.line?1:t.character<e.character?-1:t.character>e.character?1:0}function pN(t,e){return nN(t.end,e.start)>0&&nN(t.start,e.end)<0}var pr=K(J());var vN=K(J());var mN=K(J());var Me=class extends j{constructor(n,r){super(r);this.value=n;this.semanticTokenType="string",this.semanticTokenModifiers="declaration",this.docSymbolsMeta={name:this.value,kind:mN.SymbolKind.String}}toString(){return`"${this.value.toString()}"`}toJson(){return this.value}serialize(){return new Sd(this.value,this.uri,this.range,this.serializeIssues)}};var yN=K(J());var gN=K(J());var zt=class extends tt{constructor(n,r){super(r);this.value=n;this.docSymbolsMeta={name:this.value.toString(),kind:gN.SymbolKind.Number},this.semanticTokenType="number",this.semanticTokenModifiers="declaration"}toString(n){return this.value.toString(n)}toJson(){return this.value}toPrettyString(n){let r=this.evaluate(n);return`${r.toString()} /* ${typeof r=="number"?`0x${r.toString(16)}`:""} */`}serialize(){return new Rd(this.value.toString(),this.value,this.uri,this.range,this.serializeIssues)}};var Rt=class extends j{constructor(n){super();this.values=n;this.docSymbolsMeta={name:"Cell Array",kind:yN.SymbolKind.Array},this.values.forEach(r=>this.addChild(r))}toString(){return`<${this.values.map(n=>n.toString()).join(" ")}>`}toPrettyString(n){return`<${this.values.map(r=>r.toPrettyString(n)).join(" ")}>`}toJson(){if(this.values.length===1)return this.values[0].value?.toJson();if(this.values.length===2&&this.values.every(n=>n.value instanceof zt)){let n=new ArrayBuffer(8),r=new DataView(n);return this.values.map(i=>i.value.value).forEach((i,s)=>{r.setUint32(s*4,i)}),r.getBigUint64(0)}return this.values.map(n=>n.value?.toJson()??NaN)}serialize(n){let r=this.values.map(i=>i.value?.serialize(n)??null);return new wd(r,this.uri,this.range,this.serializeIssues)}};var bN=K(J());var ci=class extends j{constructor(n){super();this.values=n;this.docSymbolsMeta={name:"Byte String Value",kind:bN.SymbolKind.Array},this.values.forEach(r=>this.addChild(r))}toString(){return`[${this.values.map(n=>n.toString(16).padStart(2,"0")).join(" ")}]`}toJson(){return this.values.map(n=>n.value?.toJson()??NaN)}serialize(){return new Ed(this.values.map(n=>n.value?{value:n.value.toString(16),range:n.value.range,evaluated:n.value.value}:null),this.uri,this.range,this.serializeIssues)}};var Ge=class extends j{constructor(n,r){super(r);this.name=n;this.semanticTokenType="property",this.semanticTokenModifiers="declaration"}toString(){return this.name}serialize(){return new Dd(this.name,this.uri,this.range,this.serializeIssues)}},je=class extends j{constructor(n,r=[]){super();this.propertyName=n;this.labels=r;this._values=void 0;this.docSymbolsMeta={name:this.propertyName?.name??"Unknown",kind:vN.SymbolKind.Property},this.labels.forEach(i=>this.addChild(i)),this.addChild(n)}set values(n){if(this._values)throw new Error("Only one property name is allowed");this._values=n,this.addChild(n)}get values(){return this._values}get quickValues(){return this.values?.values.map(n=>n?n.value instanceof Me?n.value.value:n.value instanceof Rt?n.value.values.map(r=>r.value instanceof zt?r.value.value:NaN):n.value instanceof ci?n.value.values.map(r=>r.value?.value??NaN):NaN:null)}getFlatAstValues(){return this.values?.values.flatMap(n=>n?n.value instanceof Me?n.value:n.value instanceof Rt?n.value.values.map(r=>r.value):n.value instanceof ci?n.value.values.map(r=>r.value):n.value:null)}toString(){return`${this.propertyName?.toString()??"__UNSET__"}${this.assignOperatorToken?` = ${this._values?.values.map(n=>n?.toString()??"NULL").join(", ")??"NULL"}`:""};`}toPrettyString(n){return`${this.propertyName?.toString()??"__UNSET__"}${this.assignOperatorToken?` = ${this._values?.values.map(r=>r?.toPrettyString(n)??"NULL").join(", ")??"NULL"}`:""};`}serialize(n){return new Ad(this.propertyName?.serialize()??null,this.values?.values.map(r=>r?.value?.serialize(n)??null)??null,this.uri,this.range,this.serializeIssues)}};var TN=K(J()),un=class extends j{constructor(n,r){super();this.keyword=r;this.addChild(r),this.docSymbolsMeta={name:n,kind:TN.SymbolKind.Function}}};var Sn=class extends un{constructor(n){super("Delete Node",n);this._nodeNameOrRef=null}set nodeNameOrRef(n){if(this._nodeNameOrRef)throw new Error("Only one property name is allowed");this._nodeNameOrRef=n,this.addChild(n)}get nodeNameOrRef(){return this._nodeNameOrRef}};var Je=class extends un{constructor(n){super("Delete Property",n);this._propertyName=null}set propertyName(n){if(this._propertyName)throw new Error("Only only property name is allowed");this._propertyName=n,this.addChild(n)}get propertyName(){return this._propertyName}};var Ye=class t extends j{constructor(){super()}get path(){if(!this.pathName)return["__UNDEFINED__"];if(!this.parentNode||this instanceof mt)return[this.pathName];if(!(this.parentNode instanceof t))return;let e=this.parentNode.path;return e?[...e,this.pathName]:[this.pathName]}get pathName(){}get nodes(){return this.children.filter(e=>e instanceof t)}get deleteNodes(){return this.children.filter(e=>e instanceof Sn)}addNodeChild(e){this.addChild(e)}},mt=class extends Ye{constructor(){super(),this.docSymbolsMeta={name:"/",kind:pr.SymbolKind.Class}}get properties(){return this.children.filter(e=>e instanceof je)}get name(){return new Fe("/",G(this.firstToken))}get deleteProperties(){return this.children.filter(e=>e instanceof Je)}get nodes(){return this.children.filter(e=>e instanceof Oe)}get pathName(){return"/"}serialize(e){return new Ld(this.properties.map(n=>n.serialize(e)),this.nodes.map(n=>n.serialize(e)),this.uri,this.range,this.serializeIssues)}},jt=class extends Ye{constructor(n=[]){super();this.labels=n;this._labelReference=null;this.docSymbolsMeta={name:"DTC Name",kind:pr.SymbolKind.Class},n.forEach(r=>{super.addChild(r)})}get serializeIssues(){return[...this.issues,...this.labelReference?.issues??[]].map(n=>n())}set labelReference(n){if(this._labelReference)throw new Error("Only on label reference is allowed");this._labelReference=n,this.docSymbolsMeta={name:this.labelReference?.value??"DTC Name",kind:pr.SymbolKind.Class},this.addChild(n)}get path(){return this.resolveNodePath?this.resolveNodePath:super.path}get labelReference(){return this._labelReference}get nodes(){return this.children.filter(n=>n instanceof Oe)}get pathName(){return this.labelReference?.label?`&${this.labelReference?.label?.value}`:void 0}get properties(){return this.children.filter(n=>n instanceof je)}get deleteProperties(){return this.children.filter(n=>n instanceof Je)}serialize(n){return new Md(this.labelReference?.serialize()??null,this.properties.map(r=>r.serialize(n)),this.nodes.map(r=>r.serialize(n)),this.uri,this.range,this.serializeIssues)}},Oe=class t extends Ye{constructor(n=[],r){super();this.labels=n;this.omitIfNoRef=r;this._name=null;this.docSymbolsMeta={name:"DTC Name",kind:pr.SymbolKind.Class},r&&this.addChild(r),n.forEach(i=>{this.addChild(i)})}get serializeIssues(){return[...this.issues,...this.name?.issues??[]].map(n=>n())}set name(n){if(this._name)throw new Error("Only on label reference is allowed");this._name=n,this.docSymbolsMeta={name:this._name?.toString()??"DTC Name",kind:pr.SymbolKind.Class},this.addChild(n)}get name(){return this._name}get nodes(){return this.children.filter(n=>n instanceof t)}get pathName(){return this._name?.toString()}get properties(){return this.children.filter(n=>n instanceof je)}get deleteProperties(){return this.children.filter(n=>n instanceof Je)}serialize(n){return new $d(this.name?.serialize()??null,this.properties.map(r=>r.serialize(n)),this.nodes.map(r=>r.serialize(n)),this.uri,this.range,this.serializeIssues)}},Ud=class extends j{constructor(n,r){super(r);this.address=n;this.semanticTokenType="variable",this.semanticTokenModifiers="declaration"}toString(){return this.address?.map((n,r)=>n.toString(16).padStart(r?8:0,"0")).join("")??"NaN"}serialize(){return new Od(this.address,this.uri,this.range,this.serializeIssues)}},Fe=class extends j{constructor(n,r,i){super(r);this.name=n;this._address=i;this.semanticTokenType="variable",this.semanticTokenModifiers="declaration"}get value(){return this.name}get address(){return this._address}set address(n){if(this._address)throw new Error("Address can only be set once");n&&(this.lastToken=void 0,this._address=n,n.forEach(r=>this.addChild(r)))}get fullAddress(){return this._address?[...this._address.flatMap(n=>n.address)]:void 0}toString(){return this._address!==void 0?`${this.name}@${this._address.map(n=>n.toString()).join(",")}`:this.name}buildSemanticTokens(n){if(!this.tokenIndexes?.start||!this.tokenIndexes.start.value)return;let r={...this.tokenIndexes.start,pos:{...this.tokenIndexes.start.pos,len:this.name.length}};n(Ts("type"),_s("declaration"),{start:r,end:r}),this.address!==void 0&&this.address.forEach(i=>{n(Ts("decorator"),_s("declaration"),{start:i.firstToken,end:i.lastToken}),i.buildSemanticTokens(n)})}get serializeIssues(){return[...this.issues,...this._address?.flatMap(n=>n.issues)??[]].map(n=>n())}serialize(){return new Id(this.toString(),new xd(this.name,this.uri,pr.Range.create(pr.Position.create(this.tokenIndexes.start.pos.line,this.tokenIndexes.start.pos.col),pr.Position.create(this.tokenIndexes.start.pos.line,this.tokenIndexes.start.pos.colEnd)),[]),this.address?.map(n=>n.serialize())??null,this.uri,this.range,this.serializeIssues)}};var _N=K(J());var be=class extends j{constructor(n){super();this.label=n;this.docSymbolsMeta={name:`&${this.label?.value??"NULL"}`,kind:_N.SymbolKind.Key},this.addChild(n)}get value(){return this.label?.value}toString(){return`&${this.label?.value??"NULL"}`}toJson(){return-1}serialize(){return new kd(this.label?.toString()??null,this.linksTo?.pathString??null,this.uri,this.range,this.serializeIssues)}};var yr=K(J());var At=t=>t instanceof un?!0:t instanceof Ye?!1:t.parentNode?At(t.parentNode):!1;var Po=t=>[...t.map(e=>{if(e instanceof Oe||e instanceof mt)return e.name;if(e instanceof jt)return e.labelReference})].filter(e=>!!e),xg=(t,e)=>e?e.parentNode===t||xg(t,e.parentNode):!1;var lt=K(J());var SN=K(J());var li=class extends j{constructor(){super();this._pathParts=[]}addPath(n,r){this._pathParts.push(n),r&&this.addChild(r),this.addChild(n)}get pathParts(){return[...this._pathParts]}toString(){return this._pathParts.map(n=>n?.toString()??"<NULL>").join("/")}},Ln=class extends j{constructor(n){super();this.path=n;this.docSymbolsMeta={name:`/${this.path?.toString()??""}`,kind:SN.SymbolKind.Namespace},this.semanticTokenType="variable",this.semanticTokenModifiers="declaration",this.addChild(n)}toString(){return`&${this.path?.toString()??"NULL"}`}toJson(){return-1}serialize(){return new Nd(this.path?.toString()??null,this.uri,this.range,this.serializeIssues)}};var se=K(J());var Vd=K(J());var EN=require("path"),xi=class extends j{constructor(n,r){super();this.keyword=n;this.path=r;this.docSymbolsMeta={name:`Include ${r}`,kind:Vd.SymbolKind.File},this.addChild(n),this.addChild(r)}get resolvedPath(){return this._resolvedPath}set resolvedPath(n){this.docSymbolsMeta={name:`Include ${n}`,kind:Vd.SymbolKind.File},this._resolvedPath=n}},Ro=class extends j{constructor(n,r,i){super(i);this._path=n;this.relative=r;this.docSymbolsMeta={name:(0,EN.basename)(this.path),kind:Vd.SymbolKind.File},this.semanticTokenType="string",this.semanticTokenModifiers="declaration"}get path(){return this.relative?this._path.slice(1,-1):this._path}};var Mi=class extends j{constructor(n){super();this.comments=n;n.forEach(this.addChild.bind(this))}},jr=class extends j{constructor(e){super(e),this.semanticTokenType="comment",this.semanticTokenModifiers="documentation"}};var YL=async(t,e,n)=>{let r=se.Position.create(t.pos.line,t.pos.col),i=n.find(s=>Kn(s,e,r));if(i)return $r(i,e,r)},Mg=t=>{if(t)return t instanceof Ye?t:Mg(t?.parentNode)},Co=(t,e,n=0)=>{if(e instanceof mt)return n+1;if(!e||!ue(e.uri,t))return n;let r=Mg(e.parentNode);return Co(t,r,n+1)},KL=(t,e)=>async n=>{let r=await YL(n.firstToken,e,t);if(!r||r===n||n.allDescendants.some(o=>o===r))return 0;if(!(r instanceof Ye))return;let i=Mg(r);return Co(e,i)};async function Lg(t,e,n){let r=n.split(`
183
183
  `),i=[],s=Ve(t.textDocument.uri),o=(await e.getRuntime()).fileTopMostAsts(s),a=KL(o,s);return i.push(...(await Promise.all(o.flatMap(async c=>await wN(t,c,s,a,r)))).flat()),t.options.trimTrailingWhitespace&&i.push(...XL(r,i)),i}var XL=(t,e)=>{let n=[];return t.forEach((r,i)=>{let s=r.trimEnd();if(s.length!==r.length){let o=se.Range.create(se.Position.create(i,s.length),se.Position.create(i,r.length));e.some(a=>pN(o,a.range))||n.push(se.TextEdit.del(o))}}),n},Wd=(t,e,n=1,r=!1)=>{if(t.prevToken){let i=t.pos.line-t.prevToken.pos.line;if(i-n&&(i!==2&&n!==0||n===0||r))return se.TextEdit.replace(se.Range.create(se.Position.create(t.prevToken.pos.line,t.prevToken.pos.colEnd),se.Position.create(t.pos.line-n,n?e[t.pos.line-n].length:t.pos.col)),"".padEnd(n-1,`
184
184
  `))}else if(t.pos.line)return se.TextEdit.del(se.Range.create(se.Position.create(0,0),se.Position.create(t.pos.line,t.pos.col)))},JL=(t,e,n,r="")=>{if(t.pos.line===t.prevToken?.pos.line)return se.TextEdit.replace(se.Range.create(se.Position.create(t.pos.line,t.pos.col),se.Position.create(t.pos.line,t.pos.col)),`
185
- ${r}${"".padStart(e*n.length,n)}`)},$g=(t,e,n,r,i="")=>{let s=`${"".padStart(e*n.length,n)}${i}`,o=se.Range.create(se.Position.create(t.pos.line,0),se.Position.create(t.pos.line,t.pos.col)),a=d$(r,o);return s===a?[]:[se.TextEdit.replace(se.Range.create(se.Position.create(t.pos.line,0),se.Position.create(t.pos.line,t.pos.col)),s)]},ct=(t,e,n=1,r=!1)=>{if(!t.nextToken)return[];if(t.nextToken?.pos.line!==t.pos.line){if(r)return[];let s=Wd(t.nextToken,e,0);if(!s)throw new Error("remove new LinesEdit must be defined");return n&&(s.newText=`${"".padEnd(n," ")}${s.newText}`),[s]}return t.nextToken.pos.col-t.pos.colEnd===n?[]:n===0?[se.TextEdit.del(se.Range.create(se.Position.create(t.pos.line,t.pos.colEnd),se.Position.create(t.nextToken.pos.line,t.nextToken.pos.col)))]:[se.TextEdit.replace(se.Range.create(se.Position.create(t.pos.line,t.pos.colEnd),se.Position.create(t.nextToken.pos.line,t.nextToken.pos.col)),"".padEnd(n," "))]},Ja=(t,e)=>t.slice(1).flatMap(n=>n.firstToken.prevToken?ct(n.firstToken.prevToken,e):[]),QL=async(t,e,n,r,i,s,o)=>{if(!ue(e.uri,n))return[];let a=[];if(a.push(...Es(e.firstToken,r,i,s)),e instanceof Oe||e instanceof jt)if(a.push(...Ja(e.labels,s)),e instanceof Oe){e.labels.length&&e.name&&e.name.firstToken.prevToken&&a.push(...ct(e.name.firstToken.prevToken,s));let c=e.name&&e.openScope?ct(e.name.lastToken,s):[];a.push(...c)}else{e.labels.length&&e.labelReference?.firstToken.prevToken&&a.push(...ct(e.labelReference.firstToken.prevToken,s));let c=e.labelReference&&e.openScope?ct(e.labelReference.lastToken,s):[];a.push(...c)}else e instanceof mt&&e.firstToken.value==="/"&&e.openScope&&a.push(...ct(e.firstToken,s,1));return a.push(...(await Promise.all(e.children.flatMap(c=>wN(t,c,n,o,s,r+1)))).flat()),e.closeScope&&a.push(...Es(e.closeScope,r,i,s,void 0,1,!0)),e.lastToken.value===";"&&e.closeScope&&a.push(...Qa(e.closeScope,e.lastToken)),a},ZL=(t,e,n,r,i,s)=>{let o=[];if(o.push(...Ja(t.labels,s)),t.labels.length&&t.value?.firstToken.prevToken&&o.push(...ct(t.value.firstToken.prevToken,s)),r&&t.firstToken.prevToken===r)o.push(...ct(r,s,0));else if(t.firstToken.pos.line!==t.firstToken.prevToken?.pos.line){let a=Wd(t.firstToken,s,1,!0);a&&o.push(a),o.push(...$g(t.firstToken,e+2,n,s))}else o.push(...ct(t.firstToken.prevToken,s,1));return t.value instanceof tt&&o.push(...zd(t.value,s)),o},e$=(t,e,n,r)=>{let i=[];return t instanceof Rt||t instanceof ci?(i.push(...t.values.flatMap((s,o)=>ZL(s,e,n,t.openBracket,o?t.values.at(o-1):void 0,r))),t.closeBracket?.prevToken&&(t.closeBracket.prevToken===t.values.at(-1)?.lastToken?i.push(...ct(t.closeBracket.prevToken,r,0)):i.push(...ct(t.closeBracket.prevToken,r,1)))):t instanceof tt&&i.push(...zd(t,r)),i},zd=(t,e)=>t instanceof Mr?t$(t,e):t instanceof oi?n$(t,e):[],t$=(t,e)=>{let n=[];return n.push(...ct(t.functionName.lastToken,e,0)),t.params.forEach((r,i)=>{r?.firstToken.prevToken&&n.push(...ct(r?.firstToken.prevToken,e,i?1:0)),r?.splitToken&&n.push(...Qa(r.lastToken,r.splitToken))}),t.lastToken.value===")"&&t.lastToken.prevToken&&n.push(...ct(t.lastToken.prevToken,e,0)),n},n$=(t,e)=>{let n=[];return t.openBracket&&t.openBracket.nextToken&&n.push(...ct(t.openBracket,e,0)),n.push(...zd(t.expression,e)),t.join&&(t.join.operator.firstToken.prevToken&&n.push(...ct(t.join.operator.firstToken.prevToken,e)),t.join.expression.firstToken.prevToken&&n.push(...ct(t.join.expression.firstToken.prevToken,e)),n.push(...zd(t.join.expression,e))),t.closeBracket&&t.closeBracket.prevToken&&n.push(...ct(t.closeBracket.prevToken,e,0)),n},r$=(t,e,n,r)=>{let i=[];return i.push(...Ja(t.startLabels,r)),i.push(...e$(t.value,e,n,r)),i.push(...Ja(t.endLabels,r)),i},i$=(t,e,n,r)=>{let i=[];return t.values.forEach(s=>{if(!s)return[];if(s.firstToken.prevToken)if(s.firstToken.prevToken.pos.line===s.firstToken.pos.line)i.push(...ct(s.firstToken.prevToken,r,1));else{let o=Wd(s.firstToken,r,1,!0);o&&i.push(o),i.push(...$g(s.firstToken,e+2,n,r))}i.push(...r$(s,e,n,r)),s.nextValueSeparator&&i.push(...Qa(s.lastToken,s.nextValueSeparator))}),i},s$=(t,e,n,r)=>{let i=[];return i.push(...Es(t.firstToken,e,n,r)),i.push(...Ja(t.labels,r)),t.labels.length&&t.propertyName?.firstToken.prevToken&&i.push(...ct(t.propertyName.firstToken.prevToken,r)),t.values&&(t.propertyName&&i.push(...ct(t.propertyName?.lastToken,r)),i.push(...i$(t.values,e,n,r))),t.lastToken.value===";"&&i.push(...Qa(t.children.at(-1).lastToken,t.lastToken)),i},Es=(t,e,n,r,i,s,o)=>{let a=[],c=JL(t,e,n,i);if(c)a.push(c);else{let l=Wd(t,r,s,o);l&&a.push(l),a.push(...$g(t,e,n,r,i))}return a},Qa=(t,e)=>t.pos.line===e.pos.line&&t.pos.colEnd+1===e.pos.colEnd?[]:t.nextToken===e?[se.TextEdit.replace(se.Range.create(se.Position.create(t.pos.line,t.pos.colEnd),se.Position.create(e.pos.line,e.pos.colEnd)),e.value)]:[se.TextEdit.insert(se.Position.create(t.pos.line,t.pos.colEnd),e.value),se.TextEdit.del(se.Range.create(se.Position.create(e.prevToken?.pos.line??e.pos.line,e.prevToken?.pos.colEnd??e.pos.col),se.Position.create(e.pos.line,e.pos.colEnd)))],o$=(t,e,n,r)=>{let i=[];i.push(...Es(t.firstToken,e,n,r));let s=ct(t.keyword.lastToken,r);return i.push(...s),t.lastToken.value===";"&&i.push(...Qa(t.children.at(-1).lastToken,t.lastToken)),i},a$=(t,e,n,r,i)=>{if(n===void 0)return[];if(!ue(t.uri,e))return[];let s=[];s.push(...Es(t.firstToken,n,r,i));let o=ct(t.keyword.lastToken,i);return s.push(...o),s},c$=(t,e,n,r)=>t.comments.flatMap((i,s)=>l$(i,e,n,r,s?s===t.comments.length-1?"last":"comment":"first")),l$=(t,e,n,r,i)=>{let s=[],o=t.firstToken.pos.line;if(t.firstToken.prevToken&&(e===void 0||o===t.firstToken.prevToken?.pos.line))return ct(t.firstToken.prevToken,r);let a;switch(i){case"comment":a=t.firstToken.value==="*"?" ":" * ";break;case"first":break;case"last":a=" ";break}return s.push(...Es(t.firstToken,e??0,n,r,a)),s},u$=(t,e,n,r)=>t.firstToken.pos.line===t.firstToken.prevToken?.pos.line?ct(t.firstToken.prevToken,r):Es(t.firstToken,e??0,n,r),wN=async(t,e,n,r,i,s=0)=>{let o=t.options.tabSize,c=t.options.insertSpaces?"".padStart(o," "):" ";return oN(c),e instanceof Ye?QL(t,e,n,s,c,i,r):e instanceof je?s$(e,s,c,i):e instanceof un?o$(e,s,c,i):e instanceof xi?a$(e,n,await r(e),c,i):e instanceof jr?u$(e,await r(e),c,i):e instanceof Mi?c$(e,await r(e),c,i):[]};function d$(t,e){let n=t[e.start.line],r=t[e.end.line];if(e.start.line===e.end.line)return n.substring(e.start.character,e.end.character);let i=t.slice(e.start.line+1,e.end.line);return[n.substring(e.start.character),...i,r.substring(0,e.end.character)].join(`
185
+ ${r}${"".padStart(e*n.length,n)}`)},$g=(t,e,n,r,i="")=>{let s=`${"".padStart(e*n.length,n)}${i}`,o=se.Range.create(se.Position.create(t.pos.line,0),se.Position.create(t.pos.line,t.pos.col)),a=d$(r,o);return s===a?[]:[se.TextEdit.replace(se.Range.create(se.Position.create(t.pos.line,0),se.Position.create(t.pos.line,t.pos.col)),s)]},rt=(t,e,n=1,r=!1)=>{if(!t.nextToken)return[];if(t.nextToken?.pos.line!==t.pos.line){if(r)return[];let s=Wd(t.nextToken,e,0);if(!s)throw new Error("remove new LinesEdit must be defined");return n&&(s.newText=`${"".padEnd(n," ")}${s.newText}`),[s]}return t.nextToken.pos.col-t.pos.colEnd===n?[]:n===0?[se.TextEdit.del(se.Range.create(se.Position.create(t.pos.line,t.pos.colEnd),se.Position.create(t.nextToken.pos.line,t.nextToken.pos.col)))]:[se.TextEdit.replace(se.Range.create(se.Position.create(t.pos.line,t.pos.colEnd),se.Position.create(t.nextToken.pos.line,t.nextToken.pos.col)),"".padEnd(n," "))]},Ja=(t,e)=>t.slice(1).flatMap(n=>n.firstToken.prevToken?rt(n.firstToken.prevToken,e):[]),QL=async(t,e,n,r,i,s,o)=>{if(!ue(e.uri,n))return[];let a=[];if(a.push(...Es(e.firstToken,r,i,s)),e instanceof Oe||e instanceof jt)if(a.push(...Ja(e.labels,s)),e instanceof Oe){e.labels.length&&e.name&&e.name.firstToken.prevToken&&a.push(...rt(e.name.firstToken.prevToken,s));let c=e.name&&e.openScope?rt(e.name.lastToken,s):[];a.push(...c)}else{e.labels.length&&e.labelReference?.firstToken.prevToken&&a.push(...rt(e.labelReference.firstToken.prevToken,s));let c=e.labelReference&&e.openScope?rt(e.labelReference.lastToken,s):[];a.push(...c)}else e instanceof mt&&e.firstToken.value==="/"&&e.openScope&&a.push(...rt(e.firstToken,s,1));return a.push(...(await Promise.all(e.children.flatMap(c=>wN(t,c,n,o,s,r+1)))).flat()),e.closeScope&&(e.openScope&&e.closeScope.prevToken===e.openScope?a.push(...rt(e.openScope,s)):a.push(...Es(e.closeScope,r,i,s,void 0,1,!0))),e.lastToken.value===";"&&e.closeScope&&a.push(...Qa(e.closeScope,e.lastToken)),a},ZL=(t,e,n,r,i,s)=>{let o=[];if(o.push(...Ja(t.labels,s)),t.labels.length&&t.value?.firstToken.prevToken&&o.push(...rt(t.value.firstToken.prevToken,s)),r&&t.firstToken.prevToken===r)o.push(...rt(r,s,0));else if(t.firstToken.pos.line!==t.firstToken.prevToken?.pos.line){let a=Wd(t.firstToken,s,1,!0);a&&o.push(a),o.push(...$g(t.firstToken,e+2,n,s))}else o.push(...rt(t.firstToken.prevToken,s,1));return t.value instanceof tt&&o.push(...zd(t.value,s)),o},e$=(t,e,n,r)=>{let i=[];return t instanceof Rt||t instanceof ci?(i.push(...t.values.flatMap((s,o)=>ZL(s,e,n,t.openBracket,o?t.values.at(o-1):void 0,r))),t.closeBracket?.prevToken&&(t.closeBracket.prevToken===t.values.at(-1)?.lastToken?i.push(...rt(t.closeBracket.prevToken,r,0)):i.push(...rt(t.closeBracket.prevToken,r,1)))):t instanceof tt&&i.push(...zd(t,r)),i},zd=(t,e)=>t instanceof Mr?t$(t,e):t instanceof oi?n$(t,e):[],t$=(t,e)=>{let n=[];return n.push(...rt(t.functionName.lastToken,e,0)),t.params.forEach((r,i)=>{r?.firstToken.prevToken&&n.push(...rt(r?.firstToken.prevToken,e,i?1:0)),r?.splitToken&&n.push(...Qa(r.lastToken,r.splitToken))}),t.lastToken.value===")"&&t.lastToken.prevToken&&n.push(...rt(t.lastToken.prevToken,e,0)),n},n$=(t,e)=>{let n=[];return t.openBracket&&t.openBracket.nextToken&&n.push(...rt(t.openBracket,e,0)),n.push(...zd(t.expression,e)),t.join&&(t.join.operator.firstToken.prevToken&&n.push(...rt(t.join.operator.firstToken.prevToken,e)),t.join.expression.firstToken.prevToken&&n.push(...rt(t.join.expression.firstToken.prevToken,e)),n.push(...zd(t.join.expression,e))),t.closeBracket&&t.closeBracket.prevToken&&n.push(...rt(t.closeBracket.prevToken,e,0)),n},r$=(t,e,n,r)=>{let i=[];return i.push(...Ja(t.startLabels,r)),i.push(...e$(t.value,e,n,r)),i.push(...Ja(t.endLabels,r)),i},i$=(t,e,n,r)=>{let i=[];return t.values.forEach(s=>{if(!s)return[];if(s.firstToken.prevToken)if(s.firstToken.prevToken.pos.line===s.firstToken.pos.line)i.push(...rt(s.firstToken.prevToken,r,1));else{let o=Wd(s.firstToken,r,1,!0);o&&i.push(o),i.push(...$g(s.firstToken,e+2,n,r))}i.push(...r$(s,e,n,r)),s.nextValueSeparator&&i.push(...Qa(s.lastToken,s.nextValueSeparator))}),i},s$=(t,e,n,r)=>{let i=[];return i.push(...Es(t.firstToken,e,n,r)),i.push(...Ja(t.labels,r)),t.labels.length&&t.propertyName?.firstToken.prevToken&&i.push(...rt(t.propertyName.firstToken.prevToken,r)),t.values&&(t.propertyName&&i.push(...rt(t.propertyName?.lastToken,r)),i.push(...i$(t.values,e,n,r))),t.lastToken.value===";"&&i.push(...Qa(t.children.at(-1).lastToken,t.lastToken)),i},Es=(t,e,n,r,i,s,o)=>{let a=[],c=JL(t,e,n,i);if(c)a.push(c);else{let l=Wd(t,r,s,o);l&&a.push(l),a.push(...$g(t,e,n,r,i))}return a},Qa=(t,e)=>t.pos.line===e.pos.line&&t.pos.colEnd+1===e.pos.colEnd?[]:t.nextToken===e?[se.TextEdit.replace(se.Range.create(se.Position.create(t.pos.line,t.pos.colEnd),se.Position.create(e.pos.line,e.pos.colEnd)),e.value)]:[se.TextEdit.insert(se.Position.create(t.pos.line,t.pos.colEnd),e.value),se.TextEdit.del(se.Range.create(se.Position.create(e.prevToken?.pos.line??e.pos.line,e.prevToken?.pos.colEnd??e.pos.col),se.Position.create(e.pos.line,e.pos.colEnd)))],o$=(t,e,n,r)=>{let i=[];i.push(...Es(t.firstToken,e,n,r));let s=rt(t.keyword.lastToken,r);return i.push(...s),t.lastToken.value===";"&&i.push(...Qa(t.children.at(-1).lastToken,t.lastToken)),i},a$=(t,e,n,r,i)=>{if(n===void 0)return[];if(!ue(t.uri,e))return[];let s=[];s.push(...Es(t.firstToken,n,r,i));let o=rt(t.keyword.lastToken,i);return s.push(...o),s},c$=(t,e,n,r)=>t.comments.flatMap((i,s)=>l$(i,e,n,r,s?s===t.comments.length-1?"last":"comment":"first")),l$=(t,e,n,r,i)=>{let s=[],o=t.firstToken.pos.line;if(t.firstToken.prevToken&&(e===void 0||o===t.firstToken.prevToken?.pos.line))return rt(t.firstToken.prevToken,r);let a;switch(i){case"comment":a=t.firstToken.value==="*"?" ":" * ";break;case"first":break;case"last":a=" ";break}return s.push(...Es(t.firstToken,e??0,n,r,a)),s},u$=(t,e,n,r)=>t.firstToken.pos.line===t.firstToken.prevToken?.pos.line?rt(t.firstToken.prevToken,r):Es(t.firstToken,e??0,n,r),wN=async(t,e,n,r,i,s=0)=>{let o=t.options.tabSize,c=t.options.insertSpaces?"".padStart(o," "):" ";return oN(c),e instanceof Ye?QL(t,e,n,s,c,i,r):e instanceof je?s$(e,s,c,i):e instanceof un?o$(e,s,c,i):e instanceof xi?a$(e,n,await r(e),c,i):e instanceof jr?u$(e,await r(e),c,i):e instanceof Mi?c$(e,await r(e),c,i):[]};function d$(t,e){let n=t[e.start.line],r=t[e.end.line];if(e.start.line===e.end.line)return n.substring(e.start.character,e.end.character);let i=t.slice(e.start.line+1,e.end.line);return[n.substring(e.start.character),...i,r.substring(0,e.end.character)].join(`
186
186
  `)}function f$(t){switch(t){case"EMPTY":return"EMPTY";case"U32":return"U32";case"U64":return"U64";case"STRING":return"STRING";case"PROP_ENCODED_ARRAY":return"PROP_ENCODED_ARRAY";case"STRINGLIST":return"STRINGLIST";case"BYTESTRING":return"BYTESTRING";case"ANY":return"ANY";case"UNKNOWN":return"UNKNOWN"}}var Y=class{constructor(e,n,r="optional",i=void 0,s,o){this.name=e;this.type=n;this.def=i;this.additionalTypeCheck=o;this.hideAutoComplete=!1;this.list=!1;this.onHover=()=>({kind:lt.MarkupKind.Markdown,value:["### Type","**DTS native type** ",`${this.type.map(e=>e.types.map(f$).join(" or ")).join(",")}
187
187
 
188
188
  `,...this.bindingType?["**Binding type** ",`${this.bindingType}
@@ -274,8 +274,8 @@ ${" ".repeat(n-1)}}; ${i?" */":""}`}serialize(e){let n=this.mappedReg(e),r=[...t
274
274
  `,`
275
275
  `).split(/\n/).map(r=>`${r}
276
276
  `),this.lines[this.lines.length-1]=this.lines[this.lines.length-1].slice(0,-1),e.endsWith(`
277
- `)&&this.lines.splice(-1,1),this.lexIt()}get tokens(){return this._tokens}isWhiteSpace(){return!!this.currentChar?.match(/\s/)}get endOfFile(){return this.isOnLastLine&&this.isOnLastCharOfLine}get isOnLastLine(){return this.lineNumber===this.lines.length-1}get isOnLastCharOfLine(){return this.lines[this.lineNumber].length<=this.columnNumber}moveToNextLine(){return this.isOnLastLine?!1:(this.columnNumber=0,this.lineNumberOfEscapedChars=0,this.lineNumber++,this.lines[this.lineNumber].length===0&&this.moveToNextLine(),!0)}moveOnLine(){return this.isOnLastCharOfLine?this.moveToNextLine():(this.columnNumber++,this.isOnLastCharOfLine&&this.moveToNextLine(),!0)}move(){return this.endOfFile?!1:this.moveOnLine()}get currentChar(){return this.endOfFile?null:this.lines[this.lineNumber].at(this.columnNumber)}static isSyntaxChar(e){return e==="^"||e==="~"||e==="|"||e==="!"||e==="\\"||e==="<"||e===">"||e===";"||e==="="||e==="/"||e==="{"||e==="}"||e==="["||e==="]"||e==="("||e===")"||e==="*"||e==="%"||e==="&"||e==="."||e===":"||e==="+"||e==="@"||e==="-"||e==="_"||e===","||e==="x"||e==="?"}getWord(){let e="";for(;!this.isWhiteSpace()&&(e.length&&!t.isSyntaxChar(this.currentChar)||!e.length);){if(e+=this.currentChar??"",e.length===1&&t.isSyntaxChar(this.currentChar)){this.move();break}let n=this.lineNumber;if(!this.move()||this.lineNumber!==n)return e}return e==="/"&&this.currentChar==="*"?this.inComment=!0:this.inComment&&e==="*"&&this.currentChar==="/"&&(this.inComment=!1),e}getString(e){let n=e;for(this.numberOfEscapedCharsLastString=0;this.currentChar!==e;){if(n+=this.currentChar??"",this.currentChar==="\\"){let r=this.lineNumber;if(this.move())this.lineNumberOfEscapedChars++,this.numberOfEscapedCharsLastString++,r===this.lineNumber&&(n+=this.currentChar??"");else return n}if(!this.move())return n}return this.move(),n+=e,n}lexIt(){for(;!this.endOfFile&&(this.whiteSpace(),!this.endOfFile);){let e=this.getWord();e&&this.process(e)}}process(e){let n=this.isString(e)||this.isCDefine(e)||this.isCInclude(e)||this.isCLine(e)||this.isCUndef(e)||this.isCError(e)||this.isCPragma(e)||this.isCDefined(e)||this.isCIfDef(e)||this.isCIfNDef(e)||this.isCIf(e)||this.isCElIf(e)||this.isCElse(e)||this.isCEndIf(e)||this.isCFalse(e)||this.isCTrue(e)||this.isDigit(e)||this.isHexDigit(e)||this.isLetters(e)||this.isComma(e)||this.isBitwiseNot(e)||this.isBitwiseXOr(e)||this.isBitwiseOr(e)||this.isLogicalNot(e)||this.isGtSym(e)||this.isLtSym(e)||this.isSemicolon(e)||this.isColon(e)||this.isAssignOperator(e)||this.isForwardSlash(e)||this.isRoundOpen(e)||this.isRoundClose(e)||this.isCurlyOpen(e)||this.isCurlyClose(e)||this.isSquareOpen(e)||this.isSquareClose(e)||this.isBackSlash(e)||this.isMultiplicationOperator(e)||this.isModulusOperator(e)||this.isAmpersand(e)||this.isNegateOperator(e)||this.isAddOperator(e)||this.isQuestionMark(e)||this.isPeriod(e)||this.isHash(e)||this.isUnderScore(e)||this.isAt(e)||this.unknownToken(e);if(!n)throw new Error(`Lexer is not complete!!! Could not find token for "${e}"`);let r=this._tokens.at(-1);return n&&!r?.tokens.some(i=>i===21)&&r&&r.pos.len<e.length?this.process(e.slice(r.pos.len)):!0}whiteSpace(){for(;this.isWhiteSpace();)this.move()}pushToken(e){let n={...e,uri:this.uri},r=this._tokens.at(-1);n.prevToken=r,r&&(r.nextToken=n),this._tokens.push(n)}isLetters(e){let n=e.match(/^[A-Za-z]+/);return n?.[0]?(this.pushToken({tokens:[47],value:n?.[0],pos:this.generatePos(e,n?.[0])}),!0):!1}isDigit(e){let n=e.match(/^[0-9]/);return n?.[0]?(this.pushToken({tokens:[20,19],value:n[0],pos:this.generatePos(e,n[0])}),!0):!1}isHexDigit(e){let n=e.match(/^[A-Fa-f]/);return n?.[0]?(this.pushToken({tokens:[20,47],value:n[0],pos:this.generatePos(e,n[0])}),!0):!1}isCurlyOpen(e){let n="{";return e===n?(this.pushToken({tokens:[2],pos:this.generatePos(e,n),value:"{"}),!0):!1}isCurlyClose(e){let n="}";return e===n?(this.pushToken({tokens:[3],pos:this.generatePos(e,n),value:"}"}),!0):!1}isSemicolon(e){let n=";";return e===n?(this.pushToken({tokens:[1],pos:this.generatePos(e,n),value:n}),!0):!1}isColon(e){let n=":";return e===n?(this.pushToken({tokens:[50],pos:this.generatePos(e,n),value:n}),!0):!1}isHash(e){let n="#";return e.startsWith(n)?(this.pushToken({tokens:[46],pos:this.generatePos(e,n),value:n}),!0):!1}unknownToken(e){return this.pushToken({tokens:[41],pos:this.generatePos(e," "),value:e}),!0}isAssignOperator(e){let n="=";return e===n?(this.pushToken({tokens:[0],pos:this.generatePos(e,n),value:n}),!0):!1}isGtSym(e){let n=">";return e===n?(this.pushToken({tokens:[4],pos:this.generatePos(e,n),value:n}),!0):!1}isLtSym(e){let n="<";return e===n?(this.pushToken({tokens:[5],pos:this.generatePos(e,n),value:n}),!0):!1}isLogicalNot(e){let n="!";return e===n?(this.pushToken({tokens:[6],pos:this.generatePos(e,n),value:n}),!0):!1}isBitwiseOr(e){let n="|";return e===n?(this.pushToken({tokens:[8],pos:this.generatePos(e,n),value:n}),!0):!1}isBitwiseXOr(e){let n="^";return e===n?(this.pushToken({tokens:[9],pos:this.generatePos(e,n),value:n}),!0):!1}isAmpersand(e){let n="&";return e===n?(this.pushToken({tokens:[40,7],pos:this.generatePos(e,n),value:n}),!0):!1}isBitwiseNot(e){let n="~";return e===n?(this.pushToken({tokens:[10],pos:this.generatePos(e,n),value:n}),!0):!1}isRoundOpen(e){let n="(";return e===n?(this.pushToken({tokens:[42],pos:this.generatePos(e,n),value:n}),!0):!1}isRoundClose(e){let n=")";return e===n?(this.pushToken({tokens:[43],pos:this.generatePos(e,n),value:n}),!0):!1}isSquareOpen(e){let n="[";return e===n?(this.pushToken({tokens:[11],pos:this.generatePos(e,n),value:n}),!0):!1}isSquareClose(e){let n="]";return e===n?(this.pushToken({tokens:[12],pos:this.generatePos(e,n),value:n}),!0):!1}isComma(e){let n=",";return e===n?(this.pushToken({tokens:[24],pos:this.generatePos(e,n),value:n}),!0):!1}rewind(e){if(this.columnNumber+1<e.length)throw new Error("Error while rewinding");this.columnNumber-=e.length}isString(e){if(this.inComment)return!1;let n=e.match(/^["']/);if(n?.[0]){this.rewind(e.slice(1));let r=this.lineNumber,i=this.columnNumber-1,s=this.getString(n[0]),o=s.length+this.numberOfEscapedCharsLastString;return this.pushToken({tokens:[21],value:s,pos:{col:i,line:r,len:o,colEnd:i+o}}),!0}return!1}isForwardSlash(e){let n="/";return e===n?(this.pushToken({tokens:[13],pos:this.generatePos(e,n),value:"/"}),!0):!1}isBackSlash(e){let n="\\";return e===n?(this.pushToken({tokens:[14],pos:this.generatePos(e,n),value:"\\"}),!0):!1}isAddOperator(e){let n="+";return e===n?(this.pushToken({tokens:[15],pos:this.generatePos(e,n),value:n}),!0):!1}isQuestionMark(e){let n="?";return e===n?(this.pushToken({tokens:[44],pos:this.generatePos(e,n),value:n}),!0):!1}isPeriod(e){let n=".";return e===n?(this.pushToken({tokens:[45],pos:this.generatePos(e,n),value:n}),!0):!1}isNegateOperator(e){let n="-";return e===n?(this.pushToken({tokens:[16],pos:this.generatePos(e,n),value:n}),!0):!1}isUnderScore(e){let n="_";return e===n?(this.pushToken({tokens:[48],pos:this.generatePos(e,n),value:n}),!0):!1}isAt(e){let n="@";return e===n?(this.pushToken({tokens:[49],pos:this.generatePos(e,n),value:n}),!0):!1}isMultiplicationOperator(e){let n="*";return e===n?(this.pushToken({tokens:[17],pos:this.generatePos(e,n),value:n}),!0):!1}isModulusOperator(e){let n="%";return e===n?(this.pushToken({tokens:[18],pos:this.generatePos(e,n),value:n}),!0):!1}isCDefine(e){let n="#define";return e.toLowerCase()===n?(this.pushToken({tokens:[25],pos:this.generatePos(e,n),value:n}),!0):!1}isCInclude(e){let n="#include";return e.toLowerCase()===n?(this.pushToken({tokens:[26],pos:this.generatePos(e,n),value:n}),!0):!1}isCLine(e){let n="#line";return e.toLowerCase()===n?(this.pushToken({tokens:[27],pos:this.generatePos(e,n),value:n}),!0):!1}isCUndef(e){let n="#undef";return e.toLowerCase()===n?(this.pushToken({tokens:[28],pos:this.generatePos(e,n),value:n}),!0):!1}isCError(e){let n="#error";return e.toLowerCase()===n?(this.pushToken({tokens:[29],pos:this.generatePos(e,n),value:n}),!0):!1}isCPragma(e){let n="#pragma";return e.toLowerCase()===n?(this.pushToken({tokens:[30],pos:this.generatePos(e,n),value:n}),!0):!1}isCDefined(e){let n="#defined";return e.toLowerCase()===n?(this.pushToken({tokens:[31],pos:this.generatePos(e,n),value:n}),!0):!1}isCIf(e){let n="#if";return e.toLowerCase()===n?(this.pushToken({tokens:[32],pos:this.generatePos(e,n),value:n}),!0):!1}isCIfDef(e){let n="#ifdef";return e.toLowerCase()===n?(this.pushToken({tokens:[33],pos:this.generatePos(e,n),value:n}),!0):!1}isCIfNDef(e){let n="#ifndef";return e.toLowerCase()===n?(this.pushToken({tokens:[34],pos:this.generatePos(e,n),value:n}),!0):!1}isCElIf(e){let n="#elif";return e.toLowerCase()===n?(this.pushToken({tokens:[35],pos:this.generatePos(e,n),value:n}),!0):!1}isCElse(e){let n="#else";return e.toLowerCase()===n?(this.pushToken({tokens:[36],pos:this.generatePos(e,n),value:n}),!0):!1}isCEndIf(e){let n="#endif";return e.toLowerCase()===n?(this.pushToken({tokens:[37],pos:this.generatePos(e,n),value:n}),!0):!1}isCTrue(e){let n="true";return e==n?(this.pushToken({tokens:[38],value:n,pos:this.generatePos(e,n)}),!0):!1}isCFalse(e){let n="false";return e==n?(this.pushToken({tokens:[39],value:n,pos:this.generatePos(e,n)}),!0):!1}generatePos(e,n){let r=this.columnNumber-e.length+this.lineNumberOfEscapedChars;return{line:this.lineNumber,col:r,len:n.length,colEnd:r+n.length}}};var ut=class extends j{constructor(e){super(e),this.semanticTokenType="keyword",this.semanticTokenModifiers="declaration"}};var ey=require("fs"),Lo=require("path");var fR=K(J());var Ot=class extends tt{constructor(n,r){super(r);this.name=n;this.docSymbolsMeta={name:this.name.toString(),kind:fR.SymbolKind.Variable},this.semanticTokenType="macro",this.semanticTokenModifiers="declaration"}toString(){return this.name}};var rf=class extends j{constructor(n,r){super(r);this.operator=n;this.semanticTokenType="operator",this.semanticTokenModifiers="declaration"}toString(){return this.operator}};var hR=K(J());var sf=class extends ut{toString(){return"..."}},Ur=class extends j{constructor(n,r){super();this.functionName=n;this.params=r;this.addChild(n),this.params.forEach(i=>this.addChild(i))}getDocumentSymbols(n){return ue(this.uri,n)?[{name:this.functionName.name,kind:hR.SymbolKind.Function,range:te(this),selectionRange:te(this),children:this.params.flatMap(r=>r.getDocumentSymbols(n))}]:[]}toString(){return`${this.functionName}(${this.params.map(n=>n.toString()).join(",")})`}};var ji=class{constructor(){this.positionStack=[];this._issues=[];this.issueLengthPositionStack=[];this.moveEndOfLine=(e,n=!0)=>{let r=e.pos.line;if(this.currentToken?.pos.line!==r||!ue(this.currentToken?.uri,e.uri))return;let i=this.currentToken,s=i;for(;this.currentToken?.pos.line===r;)s=this.moveToNextToken;if(n){let o=new j(G(i,s));this._issues.push(H(22,o))}return s};this.parsing=new Promise(e=>{setTimeout(()=>{this.parse().then(e)})})}reset(){this.issueLengthPositionStack=[],this.positionStack=[],this._issues=[]}get issues(){return this._issues}get stable(){return this.parsing}get done(){return this.peekIndex()>=this.tokens.length}get moveToNextToken(){let e=this.currentToken;if(e)return this.moveStackIndex(),e}enqueueToStack(){this.issueLengthPositionStack.push(this._issues.length),this.positionStack.push(this.peekIndex())}popStack(){let e=this.issueLengthPositionStack.pop()??0;e!==this._issues.length&&this._issues.splice(e),this.positionStack.pop()}mergeStack(){let e=this.issueLengthPositionStack.pop(),n=this.positionStack.pop();if(n===void 0||e===void 0)throw new Error("Index out of bounds");this.positionStack[this.positionStack.length-1]=n}peekIndex(e=1){let n=this.positionStack.at(-1*e);if(n===void 0)throw new Error("Index out of bounds");return n}get currentToken(){return this.tokens.at(this.peekIndex())}get prevToken(){let e=this.peekIndex()-1;if(e!==-1)return this.tokens[e]}moveStackIndex(){let e=this.positionStack.length-1;if(this.positionStack[e]===void 0)throw new Error("Index out of bounds");this.positionStack[e]!==this.tokens.length&&this.positionStack[e]++}checkConcurrentTokens(e){this.enqueueToStack();let n=[];return e.every(r=>{let i=this.currentToken,s=r(i),o=!1;return s!=="no"&&i&&(n.push(i),this.moveToNextToken,o=ln(i,this.currentToken)),s==="yes"&&o}),this.mergeStack(),n}consumeAnyConcurrentTokens(e){this.enqueueToStack();let n=[],r,i=!0;for(;e.some(s=>s(this.currentToken)==="yes"&&i);)n.push(this.currentToken),r=this.currentToken,this.moveToNextToken,i=ln(r,this.currentToken);return this.mergeStack(),n}getDocumentSymbols(e){return this.allAstItems.flatMap(n=>n.getDocumentSymbols(e))}getWorkspaceSymbols(){return this.allAstItems.flatMap(e=>e.getWorkspaceSymbols())}buildSemanticTokens(e,n){let r=[],i=(s,o,a)=>{if(!a?.start||!a?.end||!ue(a.start.uri,n)||!ue(a.end.uri,n))return;let c=a.end.pos.colEnd-a.start.pos.col;r.push({line:a.start.pos.line,char:a.start.pos.col,length:a.end===a.start?a.end.pos.len:c,tokenType:s,tokenModifiers:o})};this.allAstItems.forEach(s=>{s.buildSemanticTokens(i)}),r.sort((s,o)=>s.line===o.line?s.char-o.char:s.line-o.line).forEach(s=>e.push(s.line,s.char,s.length,s.tokenType,s.tokenModifiers))}processCIdentifier(e,n){this.enqueueToStack();let r=this.consumeAnyConcurrentTokens([19,47,48].map(xe));if(!r.length){this.popStack();return}let i=r.map(o=>o.value).join("");if(!i.match(/^[_A-Za-z]/)){this.popStack();return}let s=new Ot(i,G(r[0],r.at(-1)));return!n&&s.name!=="defined"&&(e.get(s.name)||this._issues.push(H(42,s))),this.mergeStack(),s}isOperator(){this.enqueueToStack();let e=this.moveToNextToken;if(!e){this.popStack();return}let n=e,r;if(F(e,40)?(r="&",F(this.currentToken,40)&&(r="&&",n=this.moveToNextToken)):F(e,10)?(r="!",F(this.currentToken,0)&&(r="!=",n=this.moveToNextToken)):F(e,8)?(r="|",F(this.currentToken,8)&&(r="||",n=this.moveToNextToken)):F(e,9)?r="^":F(e,4)?(r=">",F(this.currentToken,4)?(r="<<",n=this.moveToNextToken):F(this.currentToken,0)&&(r=">=",n=this.moveToNextToken)):F(e,5)?(r="<",F(this.currentToken,5)?(r=">>",n=this.moveToNextToken):F(this.currentToken,0)&&(r="<=",n=this.moveToNextToken)):F(e,15)?r="+":F(e,16)?r="-":F(e,17)?r="*":F(e,13)?r="/":F(e,18)?r="%":F(e,46)?F(this.currentToken,46)&&(r="##",n=this.moveToNextToken):F(e,0)&&F(this.currentToken,0)&&(r="==",n=this.moveToNextToken),r){let i=new rf(r,G(e,n));return this.mergeStack(),i}this.popStack()}parseScopedBlock(e,n,r){this.enqueueToStack();let i=this.moveToNextToken;if(!i||!e(i)){this.popStack();return}let s=this.peekIndex(),o=()=>{this.positionStack[this.positionStack.length-1]=s},a=y=>y.flatMap(p=>"items"in p?a(p.items):p),c=[i],l=[],u=[];u[0]={rewind:o,tokens:[]};let d=this.currentToken;for(;d&&!n(d);){if(r?.(d)){let y=this.peekIndex()+1,p=()=>{this.positionStack[this.positionStack.length-1]=y};c.push(d),l.push(d),u[u.length]={rewind:p,tokens:[]}}else if(e(d)){let y=this.parseScopedBlock(e,n,r);y&&(c.push(y),u[u.length-1].tokens.push(...a(y.items))),d=this.currentToken;continue}else c.push(d),u[u.length-1].tokens.push(d);this.moveToNextToken,d=this.currentToken}let f=d;f&&n(f)&&(this.moveToNextToken,c.push(f));let h={startToken:i,items:c,splitTokens:u,endToken:f,separatorTokens:l};return this.mergeStack(),h}isFunctionCall(e){this.enqueueToStack();let n=this.processCIdentifier(e,!1);if(!n){this.popStack();return}let r=this.processMacroCallParams();if(!r){this.popStack();return}if(n.name==="defined")r.length>1?this._issues.push(H(44,n)):r.length<1&&this._issues.push(H(45,n));else{let s=e.get(n.name)?.macro;s&&(s?.identifier instanceof Ur?r.length>s.identifier.params.length?this._issues.push(H(44,n,void 0,[s])):r.length<s.identifier.params.length&&this._issues.push(H(45,n,void 0,[s])):this._issues.push(H(43,n)))}let i=new Mr(n,r);return i.lastToken=this.prevToken,this.mergeStack(),i}processHex(){this.enqueueToStack();let e=this.checkConcurrentTokens([at("0"),at("x")]);if(e.length!==2){this.popStack();return}let n=this.consumeAnyConcurrentTokens([19,20].map(xe));if(!n.length){this.popStack();return}let r=Number.parseInt(n.map(s=>s.value).join(""),16),i=new zt(r,G(e[0],n.at(-1)));return this.mergeStack(),i}processDec(){this.enqueueToStack();let e=this.consumeAnyConcurrentTokens([19].map(xe));if(!e.length){this.popStack();return}let n=Number.parseInt(e.map(i=>i.value).join(""),10),r=new zt(n,G(e[0],e.at(-1)));return this.mergeStack(),r}processEnclosedExpression(e){this.enqueueToStack();let n,r;if(F(this.currentToken,42)){let i;n=this.moveToNextToken,r=n;let s=this.processExpression(e,!0);return s&&(i=new oi(s,!0),s=new oi(i,!1),i.openBracket=n),F(this.currentToken,43)?(r=this.moveToNextToken,i&&(i.closeBracket=r)):this._issues.push(H(26,new j(G(n)))),this.mergeStack(),s}this.popStack()}processExpression(e,n=!1){this.enqueueToStack();let r;if(r=this.processEnclosedExpression(e)||this.isFunctionCall(e)||this.processCIdentifier(e,!1)||this.processHex()||this.processDec(),!r){this.popStack();return}if(n){let i=this.isOperator();for(;i;){let s=this.processExpression(e);s?r instanceof oi?r.addExpression(i,s):r=new oi(r,!1,{operator:i,expression:s}):this._issues.push(H(27,i)),i=this.isOperator()}}return this.mergeStack(),r}processMacroCallParams(){if(!F(this.currentToken,42))return;let e=this.parseScopedBlock(r=>!!F(r,42),r=>!!F(r,43),r=>!!F(r,24));return e?.items.length===2&&F(e.endToken,43)?[]:e?.splitTokens.map((r,i)=>{if(r.tokens.length===0)return null;let s=new xr(r.tokens.map((o,a)=>{let c=o.value;return o.pos.line===r.tokens.at(a+1)?.pos.line&&(c=c.padEnd(r.tokens[a+1].pos.col-o.pos.col," ")),c}).join(""),G(r.tokens[0],r.tokens.at(-1)),i);return s.splitToken=e.separatorTokens.at(i),s})}};var of=class t extends ji{constructor(n){super();this.uri=n;this.comments=[];this.tokens=[]}cleanUpComments(){let n=[];for(let r=0;r<this.tokens.length;r++){let i=t.processBlockComment(this.tokens,r)||t.processLineComment(this.tokens,r);i&&(r=i.index,n.push(...i.tokenUsed),this.comments.push(i.comment))}n.reverse().forEach(r=>this.tokens.splice(r,1))}get allAstItems(){return this.comments}reset(){super.reset(),this.comments=[]}reparse(){return this.reset(),this.parse()}async parse(){this.tokens=qn().requestTokens(this.uri,!0),this.cleanUpComments()}static processBlockComment(n,r){let i=[],s=()=>(i.push(r++),n[r]),o=()=>n[r],a=()=>n[r-1],c=o(),l=c;if(!c||!F(c,13)||(l=s(),!F(l,17)||c.pos.line!==l.pos.line||c.pos.col+1!==l.pos.col))return;let u=()=>!(!F(a(),17)||!F(o(),13)||!ln(a(),o())),d=l.pos.line,f=c,h=[];l=s();do{if(o()?.pos.line!==d){let T=new jr(G(f,a()));h.push(T),d=o().pos.line??0,f=o()}l=s()}while(r<n.length&&!u());let y=new jr(G(f,o()));h.push(y);let p=new Mi(h);return s(),{comment:p,tokenUsed:i,index:r-1}}static processLineComment(n,r){let i=[];if(!F(n[r],13)||n.length===r+1||!F(n[r+1],13)||!ln(n[r],n[r+1]))return;for(;n[r].pos.line===n.at(r+1)?.pos.line;)i.push(r++);return i.push(r++),{comment:new jr(G(n[i[0]],n[i.at(-1)])),tokenUsed:i,index:r-1}}};var pR=K(J()),af=class extends j{constructor(n,r){super(n);this.content=r}toString(){let n=this.content.filter(r=>!F(r,14));return n.map((r,i)=>{let s=r.value;return r.pos.line===n.at(i+1)?.pos.line?s=s.padEnd(n[i+1].pos.col-r.pos.col," "):n.at(i+1)&&(s=s.padEnd(s.length+1," ")),s}).join("")}},ic=class extends j{constructor(n,r,i){super();this.keyword=n;this.identifier=r;this.content=i;this.addChild(n),this.addChild(this.identifier),this.content&&this.addChild(this.content)}get name(){return this.identifier instanceof Ot?this.identifier.name:this.identifier.functionName.name}toString(){return this.toStringCache??=[this.identifier.toString(),...this.content?[this.content?.toString()]:[]].join(" "),this.toStringCache}toMarkupContent(){return{kind:pR.MarkupKind.Markdown,value:["```cpp",`#define ${this.toString()}`,"```"].join(`
278
- `)}}};var ks=class extends j{constructor(e){super(e)}},sc=class extends j{constructor(n,r){super();this.keyword=n;this.content=r;this.active=!1;this.addChild(n)}},oc=class extends sc{constructor(n,r,i){super(n,i);this.identifier=r;this.addChild(r),this.addChild(i)}useBlock(n){return this.identifier&&n.has(this.identifier.name)}},cf=class extends sc{constructor(n,r,i){super(n,i);this.expression=r;this.addChild(r),this.addChild(i)}useBlock(n){return this.expression instanceof Mr?this.expression.functionName.name==="defined"?this.expression&&n.has(this.expression.params.at(0)?.value??""):this.expression.isTrue(n):this.expression?.isTrue(n)}},lf=class extends oc{useBlock(e){return this.identifier&&!e.has(this.identifier.name)}},ac=class extends sc{};var Mo=class extends j{constructor(n,r,i){super();this.ifDef=n;this.endIf=r;this.elseOption=i;this.addChild(n),i&&this.addChild(i),this.addChild(r)}getInValidTokenRange(n,r){let i=[],s=a=>r.findIndex(c=>c===a);if(!this.ifDef.identifier)return[{start:s(this.tokenIndexes.start),end:s(this.tokenIndexes.end)}];i.push({start:s(this.ifDef.tokenIndexes.start),end:s(this.ifDef.identifier.tokenIndexes.end)});let o=this.ifDef.useBlock(n);return o?this.ifDef.active=!0:this.elseOption&&(this.elseOption.active=!0),!o&&this.ifDef.content&&i.push({start:s(this.ifDef.content.tokenIndexes.start),end:s(this.ifDef.content.tokenIndexes.end)}),this.elseOption&&(i.push({start:s(this.elseOption.tokenIndexes.start),end:s(this.elseOption.keyword.tokenIndexes.end)}),o&&this.elseOption.content&&i.push({start:s(this.elseOption.content.tokenIndexes.start),end:s(this.elseOption.content.tokenIndexes.end)})),this.endIf&&i.push({start:s(this.endIf.tokenIndexes.start),end:s(this.endIf.tokenIndexes.end)}),i}},Fi=class extends j{constructor(n,r,i){super();this.ifBlocks=n;this.endIf=r;this.elseOption=i;n.forEach(s=>this.addChild(s)),i&&this.addChild(i),this.addChild(r)}getInValidTokenRange(n,r){let i=[],s=a=>r.findIndex(c=>c===a),o=!1;return this.ifBlocks.forEach((a,c)=>{i.push({start:s(a.tokenIndexes.start),end:s(a.expression?.tokenIndexes.end??a.keyword.tokenIndexes.end)}),!o&&a.useBlock(n)?(a.active=!0,o=!0):a.content&&i.push({start:s(a.content.tokenIndexes.start),end:s(a.content.tokenIndexes.end)})}),this.elseOption&&(i.push({start:s(this.elseOption.keyword.tokenIndexes.start),end:s(this.elseOption.keyword.tokenIndexes.end)}),o&&this.elseOption.content?i.push({start:s(this.elseOption.content.tokenIndexes.start),end:s(this.elseOption.content.tokenIndexes.end)}):this.elseOption.active=!0),this.endIf&&i.push({start:s(this.endIf.tokenIndexes.start),end:s(this.endIf.tokenIndexes.end)}),i}};var cc=K(J());var $o=class extends ji{constructor(n,r,i){super();this.uri=n;this.incudes=r;this.tokens=[];this.nodes=[];this.dtsIncludes=[];this.macroSnapShot=new Map;this.macros=new Map;this.macroStart=!1;i&&(Array.from(i).forEach(([s,o])=>this.macroSnapShot.set(s,o)),Array.from(i).forEach(([s,o])=>this.macros.set(s,o)))}get currentToken(){let n=this.prevToken,r=qr(n,this.tokens.at(this.peekIndex()))||!n||F(n,14)&&n.pos.line+1===this.tokens.at(this.peekIndex())?.pos.line;if(!(this.macroStart&&!r))return this.macroStart&&F(this.tokens.at(this.peekIndex()),14)?(this.moveStackIndex(),this.currentToken):this.tokens.at(this.peekIndex())}reset(n){super.reset(),this.macros.clear(),n?(this.macroSnapShot.clear(),Array.from(n).forEach(([r,i])=>this.macroSnapShot.set(r,i)),Array.from(n).forEach(([r,i])=>this.macros.set(r,i))):Array.from(this.macroSnapShot).forEach(([r,i])=>this.macros.set(r,i)),this.nodes=[],this.dtsIncludes=[]}async reparse(n){let r=this.stable;return this.parsing=new Promise(i=>{r.then(()=>{if(n&&n.size===this.macroSnapShot.size){let s=Array.from(n);if(Array.from(this.macroSnapShot).every(([o,a],c)=>{let[l,u]=s[c];return l===o&&u.macro.toString()===a.macro.toString()})){console.log("header file cache hit",this.uri),i();return}}this.reset(n),this.parse().then(i)})}),this.parsing}async parse(){let n=new of(this.uri);if(await n.stable,this.tokens=n.tokens,this.nodes.push(...n.allAstItems),this.positionStack.push(0),this.tokens.length!==0){for(;!this.done;)await this.lineProcessor();if(this.positionStack.length!==1)throw new Error("Incorrect final stack size")}}async lineProcessor(){if(this.enqueueToStack(),!(!this.prevToken||this.prevToken.pos.line!==this.currentToken?.pos.line||!ue(this.prevToken.uri,this.currentToken.uri))){this.moveEndOfLine(this.prevToken,!1),this.mergeStack();return}let r=this.currentToken,i=await this.processInclude()||this.processDefinitions()||this.processUndef()||this.processIfDefBlocks();r&&this.moveEndOfLine(r,!!i),this.mergeStack()}processDefinitions(){this.enqueueToStack();let n=this.peekIndex(),r=this.moveToNextToken;if(!r||!F(r,25))return this.popStack(),!1;this.macroStart=!0;let i=new ut(G(r)),s=this.isFunctionDefinition()||this.processCIdentifier(this.macros,!0);if(!s)return this._issues.push(H(30,i)),this.mergeStack(),this.macroStart=!1,!0;let o=this.consumeDefinitionContent(),a;o.length&&(a=new af(G(o[0],o.at(-1)),o));let c=new ic(i,s,a);this.macros.set(c.name,{macro:c,resolver:uN(c.toString())}),this.nodes.push(c);let l=this.peekIndex();return this.tokens.splice(n,l-n),this.positionStack[this.positionStack.length-1]=n,this.mergeStack(),this.macroStart=!1,!0}processUndef(){this.enqueueToStack();let n=this.peekIndex(),r=this.moveToNextToken;if(!r||!F(r,28))return this.popStack(),!1;this.macroStart=!0;let i=new ut(G(r)),s=this.processCIdentifier(this.macros,!0);if(!s)return this._issues.push(H(30,i)),this.mergeStack(),this.macroStart=!1,!0;let o=new ic(i,s);this.macros.delete(s.name),this.nodes.push(o);let a=this.peekIndex();return this.tokens.splice(n,a-n),this.positionStack[this.positionStack.length-1]=n,this.mergeStack(),this.macroStart=!1,!0}consumeDefinitionContent(){let n=[];for(;this.currentToken;){let r=this.moveToNextToken;r&&n.push(r)}return n}isFunctionDefinition(){this.enqueueToStack();let n=this.processCIdentifier(this.macros,!0);if(!n){this.popStack();return}let r=this.moveToNextToken;if(!F(r,42)||!ln(n.lastToken,r)){this.popStack();return}let i=[],s=this.processCIdentifier(this.macros,!0)||this.processVariadic();for(;s;)i.push(s),!F(this.currentToken,24)&&!F(this.currentToken,43)?this._issues.push(H(28,s)):F(this.currentToken,43)||(r=this.moveToNextToken),s=this.processCIdentifier(this.macros,!0)||this.processVariadic();let o=new Ur(n,i);return F(this.currentToken,43)?(r=this.moveToNextToken,o.lastToken=r):(o.lastToken=this.prevToken,this._issues.push(H(26,i.at(-1)??o))),this.mergeStack(),o}processVariadic(){this.enqueueToStack();let n=this.checkConcurrentTokens([xe(45),xe(45),xe(45)]);if(n.length!==3){this.popStack();return}let r=new sf(G(n[0],n.at(-1)));return this.mergeStack(),r}processIfDefBlocks(){let n=this.peekIndex(),r=this.parseScopedBlock(o=>!!o&&[33,34,32].some(a=>F(o,a))&&!qr(o.prevToken,o),o=>!!o&&[37].some(a=>F(o,a))&&!qr(o.prevToken,o),o=>!!o&&[36,35].some(a=>F(o,a))&&!qr(o.prevToken,o));if(!r)return;let i;F(r.startToken,32)?i=this.processIfBlock(r,(o,a,c)=>new cf(o,a??null,c)):i=this.processIfDefBlock(r,(o,a,c)=>F(r.startToken,33)?new oc(o,a??null,c):new lf(o,a??null,c)),this.nodes.push(i),i.getInValidTokenRange(this.macros,this.tokens).reverse().forEach(o=>{this.tokens.splice(o.start,o.end-o.start+1)}),[...i instanceof Fi?i.ifBlocks:[i.ifDef],...i.elseOption?[i.elseOption]:[]].forEach(o=>{!o.active&&o.content&&this._issues.push(H(47,o.content,cc.DiagnosticSeverity.Hint,[],[cc.DiagnosticTag.Unnecessary]))}),this.positionStack[this.positionStack.length-1]=n}processIfDefBlock(n,r){this.enqueueToStack(),this.macroStart=!0;let i=new ut(G(n.startToken));n.splitTokens[0].rewind();let s=this.processCIdentifier(this.macros,!0);s||this._issues.push(H(31,i)),this.macroStart=!1;let o,a=s?.lastToken.nextToken??i.lastToken.nextToken;a&&n.splitTokens[0].tokens.find(f=>f===a)&&(o=new ks(G(a,n.splitTokens[0].tokens.at(-1))));let c=r(i,s??null,o??null),l;if(n.splitTokens.length>1){let f=n.splitTokens[1].tokens[0].prevToken,h=new ut(G(f)),y;n.splitTokens[1].tokens.length&&(y=new ks(G(n.splitTokens[1].tokens[0],n.splitTokens[1].tokens.at(-1)))),l=new ac(h,y??null)}let u;n.endToken?u=new ut(G(n.endToken)):this._issues.push(H(46,i));let d=new Mo(c,u??null,l);return this.mergeStack(),d}processIfBlock(n,r){this.enqueueToStack();let i=new ut(G(n.startToken)),s=[],o;n.splitTokens.forEach((l,u)=>{l.rewind();let d=this.prevToken,f=new ut(G(d));this.macroStart=!0;let h=this.processExpression(this.macros,!0)||this.processCIdentifier(this.macros,!0);if(this.macroStart=!1,u===n.splitTokens.length-1&&F(d,36)){let p=d,T=new ut(G(p)),S;l.tokens.length&&(S=new ks(G(l.tokens[0],l.tokens.at(-1)))),o=new ac(T,S??null)}else{h||this._issues.push(H(31,i));let p,T=h?.lastToken.nextToken??i.lastToken.nextToken;T&&l.tokens.find(b=>b===T)&&(p=new ks(G(T,n.splitTokens[u].tokens.at(-1))));let S=r(f,h??null,p??null);s.push(S)}});let a;n.endToken?a=new ut(G(n.endToken)):this._issues.push(H(46,i));let c=new Fi(s,a??null,o);return this.mergeStack(),c}get allAstItems(){return[...this.dtsIncludes,...this.nodes]}resolveInclude(n){if(n.path.path)return n.path.relative?[(0,Lo.resolve)((0,Lo.dirname)(n.uri),n.path.path),...this.incudes.map(r=>(0,Lo.resolve)(r,n.path.path))].find(r=>(0,ey.existsSync)(r)):this.incudes.map(r=>(0,Lo.resolve)(r,n.path.path)).find(r=>(0,ey.existsSync)(r))}async processInclude(){this.enqueueToStack();let n=this.peekIndex(),r=this.currentToken;if(!r)return this.popStack(),!1;let i=r,s=r;if(F(r,26))this.moveToNextToken;else{let p=this.checkConcurrentTokens([xe(13),at("include"),xe(13)]);if(p.length!==3)return this.popStack(),!1;i=p[0],s=p.at(-1)}let o=i,a=new ut(G(i,s));r=this.moveToNextToken;let c=r,l=!!F(r,21);if(!c||!l&&!F(r,5))return o&&this.moveEndOfLine(o),this.mergeStack(),!0;let u="";if(l)u=r?.value??"";else for(;this.currentToken?.pos.line===o.pos.line&&!F(this.currentToken,4);)u+=this.currentToken?.value??"",r=this.moveToNextToken;let d=new Ro(u,l,G(c,r)),f=new xi(a,d);this.dtsIncludes.push(f),l||(this.currentToken?.pos.line!==o.pos.line||!F(this.currentToken,4)?this._issues.push(H(12,f)):(r=this.moveToNextToken,d.lastToken=r)),this.mergeStack();let h=this.peekIndex(),y=this.resolveInclude(f);if(f.resolvedPath=y,y||this._issues.push(H(36,f.path,cc.DiagnosticSeverity.Warning)),y){qn().requestTokens(y,!0);let p=await lc().getCPreprocessorParser(y,this.incudes,this.macros,this.uri);await p.stable,this._issues.push(...p.issues),this.macros.clear(),Array.from(p.macros).forEach(([T,S])=>this.macros.set(T,S)),y.endsWith(".h")?this.tokens.splice(n,h-n):this.tokens.splice(n,h-n,...p.tokens),this.nodes.push(...p.nodes),this.dtsIncludes.push(...p.dtsIncludes)}else this.tokens.splice(n,h-n);return this.positionStack[this.positionStack.length-1]=n,!0}};var ty,uf=class{constructor(){this.headerFiles=new Map;this.includeOwners=new WeakMap}getCPreprocessorParser(e,n,r,i){e=nt(e);let s=`${Array.from(r).map(l=>l[1].macro.toString()).join("::")}`,o=this.headerFiles.get(e)?.get(s);if(o)return o.reparse(r),o;console.log("No cpreprocess cache",e);let a=new $o(e,n,r),c=this.includeOwners.get(a)??new Set;return c.add(i),this.includeOwners.set(a,c),this.headerFiles.has(e)||this.headerFiles.set(e,new Map),this.headerFiles.get(e)?.set(s,a),a}reset(e){e=nt(e);let n=this.headerFiles.get(e);n&&Array.from(n).forEach(r=>{r[1]&&(console.log("disposing cpreprocessor cache for",e),Array.from(this.includeOwners.get(r[1])??[]).forEach(this.reset.bind(this)),this.headerFiles.delete(e))})}};function lc(){return ty??=new uf,ty}function mR(){ty=new uf}var ny,df=class t{constructor(){this.fileMap=new Map}static clone(e){let n=e.map(r=>({...r}));return n.forEach((r,i)=>{r.prevToken=n[i-1],r.nextToken=n[i+1]}),n}needsRenew(e,n){return e=nt(e),this.fileMap.get(e)?.text!==n}getDocument(e){return ko.create(e,"devicetree",0,this.fileMap.get(e)?.text??(0,uc.readFileSync)(e).toString())}renewLexer(e,n){if(e=nt(e),lc().reset(e),!e||!(0,uc.existsSync)(e))return[];try{n??=(0,uc.readFileSync)(e).toString();let r=new nf(n,e);return this.fileMap.set(e,r),t.clone(r.tokens)}catch{}return[]}requestTokens(e,n){e=nt(e);let r=this.fileMap.get(e)?.tokens;return!r&&n?[...this.renewLexer(e)]:t.clone(r??[])}reset(e){e=nt(e),lc().reset(e),this.fileMap.delete(e)}};function qn(){return ny??=new df,ny}function gR(){ny=new df}var qo=class t{constructor(e){this.context=e;this.comments=[];this.includes=[];this.roots=[];this.references=[];this.unlinkedDeletes=[];this.unlinkedRefNodes=[];this.globalDeletes=[];this.rootNode=new ke(this.context.bindingLoader,"/");this.labelsUsedCache=new Map;this.fileTopMostAstCache=new Map}fileTopMostAsts(e){let n=this.fileTopMostAstCache.get(e);if(n)return n;let r=[...this.roots,...this.references,...this.unlinkedDeletes,...this.unlinkedRefNodes,...this.globalDeletes,...this.context.parser.cPreprocessorParser.allAstItems,...this.context.overlayParsers.flatMap(i=>i.cPreprocessorParser.allAstItems)].flatMap(i=>i.getTopMostAstNodeForFile(e));return this.fileTopMostAstCache.set(e,r),r}getDeepestAstNode(e,n){let i=this.fileTopMostAsts(e).find(s=>Kn(s,e,n)||cN(qn().requestTokens(e,!1),s,n));if(i instanceof jt){let o=this.rootNode.getReferenceBy(i)?.getDeepestAstNode(e,n);return o?{...o,runtime:this}:{item:null,runtime:this,ast:$r(i,e,n)}}else if(i instanceof mt&&i.path){let s=this.rootNode.getDeepestAstNode(e,n);return s?{...s,runtime:this}:void 0}else if(i instanceof Oe&&i.path){let s=t.getNodeFromPath(i.path.slice(1),this.rootNode)?.getDeepestAstNode(e,n);return s?{...s,runtime:this}:void 0}else if(i)return{runtime:this,item:null,ast:$r(i,e,n)}}static getNodeFromPath(e,n,r=!0){if(e.length===0)return n;let i=e[0].split("@"),s=i[0],a=i.at(1)?.split(",").map(u=>Number.parseInt(u,16)),c=e.slice(1),l=n.getNode(s,a,r);return l?t.getNodeFromPath(c,l,r):void 0}resolvePath(e,n){if(!e.at(0)?.startsWith("&"))return e;let r=this.labelsUsedCache.get(e[0].slice(1));return r||(n??=this.rootNode.allDescendantsLabels,n.find(s=>s.label.value===e.at(0)?.slice(1)&&s.parentNode instanceof Ye)?.lastLinkedTo?.path)}get issues(){return[...this.labelIssues(),...this.rootNode.issues]}labelIssues(){let e=[],n=new Map;return this.rootNode.allDescendantsLabelsMapped.forEach(r=>{n.has(r.label.label.value)?n.get(r.label.label.value)?.push(r):n.set(r.label.label.value,[r])}),Array.from(n).forEach(r=>{let i=r[1];if(i.length>1){let s=i.find(a=>a.owner instanceof ke);(!i.every(a=>a&&a.owner===s?.owner)||!s)&&e.push(qt(4,i.at(0).label,yR.DiagnosticSeverity.Error,i.slice(1).map(a=>a.label),[],[i.at(0).label.label.value]))}}),e}get typesIssues(){let e=n=>[...n.nodeType?.getIssue(this,n)??[],...n.nodes.flatMap(r=>e(r))];return this.typesIssuesCache??=e(this.rootNode),this.typesIssuesCache}getOrderedNodeAst(e){return lN([...e.definitions,...e.referencedBy],this.context)}};var bR=K(J()),ff=class extends j{constructor(n){super();this.values=n;this.docSymbolsMeta={name:"Values",kind:bR.SymbolKind.String},this.values.forEach(r=>this.addChild(r))}toString(){return this.values.map(n=>n?.toString()).join(",")}toJson(){return this.values.length===1?this.values[0]?.toJson():this.values.map(n=>n?.toJson())}};var vR=K(J()),hf=class extends j{constructor(n){super();this.keyword=n;this.addChild(n),this.docSymbolsMeta={name:"DTS Document version",kind:vR.SymbolKind.Function}}};var Vr=class extends j{constructor(n,r){super();this.value=n;this.labels=r;this.labels.forEach(i=>{this.addChild(i)}),this.addChild(this.value)}toString(n){return`${this.labels.map(r=>r.toString()).join(" ")}${this.value?.toString(n)??"NULL"}`}toPrettyString(n){return`${this.labels.map(r=>r.toString()).join(" ")}${this.value?.toPrettyString(n)??"NULL"}`}};var TR=K(J()),pf=class extends j{constructor(n,r,i){super();this.keyword=n;this.startAddress=r;this.endAddress=i;this.addChild(n),this.docSymbolsMeta={name:"Memreserve",kind:TR.SymbolKind.Function},this.addChild(r),this.addChild(i)}toString(){return`/memreserve/ 0x${this.startAddress?.value?.toString(16)} 0x${this.endAddress?.value?.toString(16)}`}};var _R=K(J()),mf=class extends j{constructor(n,r){super();this.keyword=n;this.bitsSize=r;this.addChild(n),this.docSymbolsMeta={name:"bits",kind:_R.SymbolKind.Function},this.addChild(r)}toString(){return`/bits/ ${this.bitsSize?.value?.toString()}`}};var SR=K(J()),dc=class extends ji{constructor(n,r,i){super();this.uri=n;this.incudes=r;this.tokens=[];this.others=[];this.rootDocument=new Ye;this.unhandledStatements=new mt;this.cPreprocessorParser=new $o(this.uri,this.incudes,i)}get issues(){return[...this._issues,...this.cPreprocessorParser.issues]}getFiles(){return[this.uri,...this.cPreprocessorParser.dtsIncludes.flatMap(n=>n.resolvedPath).filter(n=>!!n)]}reset(){super.reset(),this.others=[],this.rootDocument=new Ye,this._issues=[],this.unhandledStatements=new mt}async reparse(){let n=performance.now(),r=this.stable;return this.parsing=new Promise(i=>{r.then(async()=>{this.reset(),await this.cPreprocessorParser.reparse(),await this.parse(),console.log("parsing",performance.now()-n),i()})}),this.parsing}async parse(){let n=performance.now();if(await this.cPreprocessorParser.stable,this.tokens=this.cPreprocessorParser.tokens,nt(this.uri).endsWith(".h")||(this.positionStack.push(0),this.tokens.length===0))return;let r=async()=>{if(!(this.isDtsDocumentVersion()||this.isMemreserve()||this.isRootNodeDefinition(this.rootDocument)||this.isDeleteNode(this.rootDocument,"Ref")||this.isChildNode(this.rootDocument,"Ref")||this.isProperty(this.unhandledStatements)||this.isDeleteProperty(this.unhandledStatements))){let i=this.moveToNextToken;if(i){let s=new j(G(i));this._issues.push(H(22,s)),this.reportExtraEndStatements()}}};for(;!this.done;)await r();if(this.unhandledStatements.properties.forEach(i=>{this._issues.push(H(32,i))}),this.unhandledStatements.deleteProperties.forEach(i=>{this._issues.push(H(33,i))}),this.positionStack.length!==1)throw new Error("Incorrect final stack size")}isRootNodeDefinition(n){this.enqueueToStack();let r=this.moveToNextToken,i=r,s=13;if(!r||!F(r,s))return this.popStack(),!1;if(i=this.moveToNextToken,s=2,!i||!F(i,s))return this.popStack(),!1;let o=new mt;o.openScope=i,n.addNodeChild(o),this.processNode(o,"Name");let a=this.nodeEnd(o)??i;return o.firstToken=r,o.lastToken=a,this.mergeStack(),!0}nodeEnd(n){let r=this.currentToken;if(F(r,3))this.moveToNextToken;else{let i=this.prevToken;if(i){let s=new j(G(i));this._issues.push(H(3,s))}return this.endStatement(!1)}return this.prevToken?.value==="}"&&(n.closeScope=this.prevToken),this.endStatement()}isNodeEnd(){return F(this.currentToken,3)||F(this.currentToken,1)}endStatement(n=!0){let r=this.currentToken;if(!F(r,1)){let i=this.prevToken;if(i&&n){let s=new j(G(this.prevToken));return this._issues.push(H(1,s)),i}}return this.moveToNextToken,this.reportExtraEndStatements(),r}reportExtraEndStatements(){for(;F(this.currentToken,1);){let n=this.moveToNextToken;if(n){let r=new j(G(n));this._issues.push(H(23,r))}}}processNode(n,r){if(this.done)return!1;let i=!1,s=!1;do{if(s=this.isChildNode(n,r)||this.isProperty(n)||this.isDeleteNode(n,r)||this.isDeleteProperty(n),!s&&!this.isNodeEnd()&&!this.done){let o=this.moveToNextToken;if(o){let a=new j(G(o));this._issues.push(H(22,a)),this.reportExtraEndStatements()}}else if(this.done)break;i=i||s}while(!this.isNodeEnd());return i}processOptionalLabelAssign(n=!1){let r=[],i=this.isLabelAssign(n);for(;i;)r.push(i),i=this.isLabelAssign(n);return r}isChildNode(n,r){this.enqueueToStack();let i;r==="Name"&&(i=this.isOmitIfNoRefNode());let s=this.processOptionalLabelAssign(),o,a,c=r==="Ref"?new jt(s):new Oe(s,i);if(r==="Ref"?a=this.isLabelRef():r==="Name"&&(o=this.isNodeName()),!a&&!o){if(!F(this.currentToken,2))return this.popStack(),!1;c.firstToken=this.currentToken,this._issues.push(H(r==="Name"?[7]:[10,11],c))}let l=!1;if(a&&c instanceof jt?(c.labelReference=a,l=!0):o&&c instanceof Oe&&(l=o.address!==void 0,c.name=o),F(this.currentToken,2)){this.moveToNextToken,c.openScope=this.prevToken;let u=!1;do u=this.processNode(c,"Name");while(u);let d=this.nodeEnd(c);c.lastToken=d}else if(l){let u=a??o;u&&this._issues.push(H(2,u))}else return this.popStack(),!1;return n.addNodeChild(c),this.mergeStack(),!0}processNodeAddress(){let n=this.prevToken,r=this.consumeAnyConcurrentTokens([19,20].map(xe)),i=a=>{a=a.replace(/^0x/,"").replace(/\s+/g,""),a.length%8!==0&&(a=a.padStart(Math.ceil(a.length/8)*8,"0"));let c=[];for(let l=0;l<a.length;l+=8){let u=a.slice(l,l+8);c.push(parseInt(u,16)>>>0)}return c},s=r.length?i(r.map(a=>a.value).join("")):[NaN];if(n){if(s.some(a=>Number.isNaN(a))){let a=new j(G(n));this._issues.push(H(8,a))}else if(!Number.isNaN(s)&&!ln(n,r[0])){let a=new j(G(n,r.at(0)));this._issues.push(H(29,a))}}return new Ud(s,G(r[0]??this.prevToken,r.at(-1)))}processNodeAddresses(n){this.enqueueToStack();let r=this.checkConcurrentTokens([xe(49)]);if(r.length){if(!ln(n.lastToken,r[0])){let o=new j(G(n.lastToken,r[0]));this._issues.push(H(29,o))}let i=[],s=()=>{if(i.push(this.processNodeAddress()),F(this.currentToken,24)){if(this.prevToken&&!ln(this.prevToken,this.currentToken)){let o=new j(G(this.prevToken,this.currentToken));this._issues.push(H(29,o))}this.moveToNextToken,s()}};return s(),this.mergeStack(),i}this.popStack()}isNodeName(){this.enqueueToStack();let n=this.consumeAnyConcurrentTokens([19,47,24,45,48,15,16].map(xe));if(!n.length){this.popStack();return}let r=n.map(o=>o.value).join("");if(!r.match(/^[A-Za-z]/)){this.popStack();return}let i=new Fe(r,G(n[0],n.at(-1))),s=this.processNodeAddresses(i);return i.address=s,this.mergeStack(),i}isPropertyName(){this.enqueueToStack();let n=this.consumeAnyConcurrentTokens([19,47,24,45,48,15,16,44,46].map(xe));if(!n.length){this.popStack();return}let r=new Ge(n.map(i=>i.value).join(""),G(n[0],n.at(-1)));return this.mergeStack(),r}isLabelName(){this.enqueueToStack();let n=this.consumeAnyConcurrentTokens([19,47,48].map(xe));if(!n.length){this.popStack();return}let r=n.map(s=>s.value).join("");if(!r.match(/^[A-Za-z]/)){this.popStack();return}let i=new Wt(r,G(n[0],n.at(-1)));return this.mergeStack(),i}isLabelAssign(n){this.enqueueToStack();let r=this.consumeAnyConcurrentTokens([19,47,48].map(xe));if(!r.length){this.popStack();return}let i=r.map(c=>c.value).join("");if(!i.match(/^[A-Za-z]/)){this.popStack();return}let s=this.currentToken,o=s&&F(s,50),a=new qi(new Wt(i,G(r[0],r.at(-1))),G(r[0],o?s:r.at(-1)));if(o){let c=r.at(-1);c&&(s.pos.line!==a.firstToken.pos.line||s.pos.col!==c.pos.colEnd)&&this._issues.push(H(29,new j(G(c,s)))),this.moveToNextToken}else if(n)this._issues.push(H(24,a));else{this.popStack();return}return this.mergeStack(),a}isProperty(n){this.enqueueToStack();let r=this.processOptionalLabelAssign(),i=this.isPropertyName();if(!i)return this.popStack(),!1;if(F(this.currentToken,2)||F(this.currentToken,49))return this.popStack(),!1;let s=new je(i,r),o;F(this.currentToken,0)?(s.assignOperatorToken=this.currentToken,this.moveToNextToken,o=this.processValue(s),o?.values.filter(c=>!!c).length||this._issues.push(H(0,s)),s.values=o??null):s.values=void 0;let a=this.endStatement();return s.lastToken=a,n.addNodeChild(s),this.mergeStack(),!0}isDtsDocumentVersion(){this.enqueueToStack();let n=this.checkConcurrentTokens([xe(13),at("d"),at("ts"),xe(16),at("v"),at("1")]);if(n.length!==6)return this.popStack(),!1;let r=n[0],i=r,s=new ut;s.firstToken=r;let o=new hf(s);if(this.others.push(o),F(this.currentToken,13))i=this.moveToNextToken;else return s.lastToken=n.at(-1),this._issues.push(H(21,o)),this.mergeStack(),!0;return s.lastToken=i,o.lastToken=this.endStatement(),this.mergeStack(),!0}isMemreserve(){this.enqueueToStack();let n=this.checkConcurrentTokens([xe(13),at("memreserve")]);if(n.length!==2)return this.popStack(),!1;let r=new ut;r.firstToken=n[0];let s=n[0];F(this.currentToken,13)?(s=this.moveToNextToken,r.lastToken=s):(r.lastToken=n.at(-1),this._issues.push(H(21,r)));let o=this.processHex()||this.processDec(),a=o&&(this.processHex()||this.processDec()),c=new pf(r,o,a);return this.others.push(c),o||this._issues.push(H(37,r)),a||this._issues.push(H(38,o??r)),c.lastToken=this.endStatement(),this.mergeStack(),!0}processBits(){this.enqueueToStack();let n=this.checkConcurrentTokens([xe(13),at("b"),at("its")]);if(n.length!==3){this.popStack();return}let r=new ut;r.firstToken=n[0];let s=n[0];F(this.currentToken,13)?(s=this.moveToNextToken,r.lastToken=s):(r.lastToken=n.at(-1),this._issues.push(H(21,r)));let o=this.processDec(),a=new mf(r,o);return this.others.push(a),o?o.value!==8&&o.value!==16&&o.value!==32&&o.value!==64&&this._issues.push(H(40,o)):this._issues.push(H(39,r)),this._issues.push(H(41,a,SR.DiagnosticSeverity.Warning)),this.mergeStack(),a}isOmitIfNoRefNode(){this.enqueueToStack();let n=this.checkConcurrentTokens([xe(13),at("omit"),xe(16),at("if"),xe(16),at("no"),xe(16),at("ref"),xe(13)]);if(n.length!==9){this.popStack();return}let r=new ut(G(n[0],n.at(-1)));return this.mergeStack(),r}isDeleteNode(n,r){this.enqueueToStack();let i=this.checkConcurrentTokens([xe(13),at("d"),at("e"),at("lete"),xe(16),at("node")]);if(!i.length)return this.popStack(),!1;let s=i[0],o=s,a=new ut;if(a.firstToken=s,i.length===1&&!F(this.currentToken,2)){this._issues.push(H(25,a)),a.lastToken=i.at(-1);let d=new Sn(a);return n.addNodeChild(d),this.mergeStack(),!0}let c=i.map(d=>d.value??"").join("");if(!"/delete-node/".startsWith(c)||c.endsWith("-"))return this.popStack(),!1;a.lastToken=i.at(-1),c!=="/delete-node"?this._issues.push(H(c.startsWith("/delete-n")?34:25,a)):F(this.currentToken,13)?(o=this.moveToNextToken,a.lastToken=o):this._issues.push(H(21,a));let l=new Sn(a);if(qr(a.tokenIndexes?.end,s)){let d=this.processNodePathRef();d&&r==="Name"&&this._issues.push(H(7,d));let f=d?void 0:this.isLabelRef();f&&r==="Name"&&this._issues.push(H(7,f));let h=d||f?void 0:this.isNodeName();h&&r==="Ref"&&this._issues.push(H(10,h)),!d&&!h&&!f&&this._issues.push(H([7,10],l)),l.nodeNameOrRef=d??f??h??null}else r==="Name"?this._issues.push(H(7,a)):r==="Ref"&&this._issues.push(H(10,a));let u=this.endStatement();return l.lastToken=u,n.addNodeChild(l),this.mergeStack(),!0}isDeleteProperty(n){this.enqueueToStack();let r=this.checkConcurrentTokens([xe(13),at("d"),at("e"),at("lete"),xe(16),at("property")]);if(!r.length)return this.popStack(),!1;let i=r[0],s=i,o=new ut;if(o.firstToken=i,r.length===1&&!F(this.currentToken,2)){this._issues.push(H(25,o)),o.lastToken=r.at(-1);let u=new Je(o);return n.addNodeChild(u),this.mergeStack(),!0}let a=r.map(u=>u.value??"").join("");if(!"/delete-property/".startsWith(a)||a.endsWith("-"))return this.popStack(),!1;o.lastToken=r.at(-1),a!=="/delete-property"?this._issues.push(H(a.startsWith("/delete-p")?35:25,o)):F(this.currentToken,13)?(s=this.moveToNextToken,o.lastToken=s):this._issues.push(H(21,o));let c=new Je(o);if(qr(o.tokenIndexes?.end,i)){let u=this.isPropertyName();u||this._issues.push(H(6,c)),c.propertyName=u??null}else this._issues.push(H(6,o));let l=this.endStatement();return c.lastToken=l,n.addNodeChild(c),this.mergeStack(),!0}isNodePathRef(){this.enqueueToStack();let n=this.processOptionalLabelAssign(!0),r=this.processNodePathRef();if(!r){this.popStack();return}let i=[];this.currentToken&&this.currentToken.pos.line===this.currentToken.prevToken?.pos.line&&i.push(...this.processOptionalLabelAssign(!0));let s=new dn(n,r,i);return this.mergeStack(),s}processValue(n){this.enqueueToStack();let i=(()=>{let o=()=>(this.processStringValue()||this.isNodePathRef()||this.isLabelRefValue(n)||this.arrayValues(n)||this.processByteStringValue()||this.isExpressionValue())??null,a=o();if(!a)return[];let c=[a];for(;!F(this.currentToken,1);){let l=this.prevToken,u=this.currentToken,d,f=F(this.currentToken,24);if(f)d=this.currentToken,this.moveToNextToken;else if(!qr(this.prevToken,this.currentToken))break;let h=o();if(u&&h===null&&f){let p=new j(G(u,this.currentToken));this._issues.push(H(0,p))}if(!f&&h===null)break;if(l&&!f&&h){let p=new j(G(l));this._issues.push(H(28,p))}let y=c.at(-1);y&&(y.nextValueSeparator??=d),c.push(h)}return c})();if(i.length===0){this.popStack();return}return this.mergeStack(),new ff(i)}processStringValue(){this.enqueueToStack();let n=this.processOptionalLabelAssign(!0),r=this.moveToNextToken;if(!F(r,21)){this.popStack();return}if(!r?.value)throw new Error("Token must have value");let i=r.value;i.match(/["']$/)&&(i=i.slice(1,-1));let s=new Me(i,G(r));r.value.match(/["']$/)||this._issues.push(H(r.value.startsWith('"')?16:17,s));let o=[];this.currentToken&&this.currentToken.pos.line===this.currentToken.prevToken?.pos.line&&(o=this.processOptionalLabelAssign(!0));let a=new dn(n,s,o);return this.mergeStack(),a}arrayValues(n){this.enqueueToStack();let r=this.processOptionalLabelAssign(!0),i=this.processBits(),s=this.currentToken;if(F(s,5))this.moveToNextToken;else{this.popStack();return}let o=this.processArrayValues(n)??null;o.openBracket=s;let a=this.processOptionalLabelAssign(!0)??[],c=new dn(r,o,a,i);F(this.currentToken,4)?(o&&(o.closeBracket=this.currentToken),this.moveToNextToken):this._issues.push(H(12,c));let l=[];return this.currentToken&&this.currentToken.pos.line===this.currentToken.prevToken?.pos.line&&(l=this.processOptionalLabelAssign(!0)),this.mergeStack(),c.endLabels.push(...l),c.firstToken=s,c.lastToken=this.prevToken,c}processByteStringValue(){this.enqueueToStack();let n=this.processOptionalLabelAssign(!0),r=this.moveToNextToken,i=r;if(!F(i,11)){this.popStack();return}let s=this.processLabeledValue(()=>this.processHexString()),o=this.processOptionalLabelAssign(!0)??[];s.forEach(u=>{let d=0;u.value?.tokenIndexes?.start===u.value?.tokenIndexes?.end&&(d=u.value?.tokenIndexes?.start?.pos.len??0),d%2!==0&&this._issues.push(H(15,u))});let a=new ci(s??[]);a.openBracket=i,a.values.length===0&&(a.firstToken=r,this._issues.push(H(14,a)));let c=new dn(n,a,o);F(this.currentToken,12)?a.closeBracket=this.moveToNextToken:this._issues.push(H(5,c));let l=[];return this.currentToken&&this.currentToken.pos.line===this.currentToken.prevToken?.pos.line&&(l=this.processOptionalLabelAssign(!0)),this.mergeStack(),c.endLabels.push(...l),c.firstToken=r,a.lastToken=this.prevToken,c}processLabeledValue(n){this.enqueueToStack();let r=n(),i=[];if(!r)return this.popStack(),[];for(;r;)i=[...i,r],r=n();if(i){let s=n();s&&(i=[...i,s])}return this.mergeStack(),i}processArrayValues(n){this.enqueueToStack();let r=this.processLabeledValue(()=>this.processRefValue(!1,n)||this.processLabeledHex(!1)||this.processLabeledDec(!1)||this.processLabeledExpression(!0,!1)),i=new Rt(r);return r.length===0&&(i.firstToken=this.currentToken),this.mergeStack(),i}processLabeledHex(n){this.enqueueToStack();let r=this.processOptionalLabelAssign(n),i=this.processHex();if(!i){this.popStack();return}let s=new Vr(i,r);return this.mergeStack(),s}processHexString(){this.enqueueToStack();let n=this.processOptionalLabelAssign(!1),r=this.checkConcurrentTokens([20,20].map(xe));if(!r.length){this.popStack();return}let i=Number.parseInt(r.map(a=>a.value).join(""),16),s=new zt(i,G(r[0],r.at(-1))),o=new Vr(s,n);return this.mergeStack(),o}processLabeledDec(n){this.enqueueToStack();let r=this.processOptionalLabelAssign(n),i=this.processDec();if(!i){this.popStack();return}let s=new Vr(i,r);return this.mergeStack(),s}processLabeledExpression(n=!0,r=n){this.enqueueToStack();let i=[];n&&(i=this.processOptionalLabelAssign(r));let s=this.processExpression(this.cPreprocessorParser.macros);if(!s){this.popStack();return}let o=new Vr(s,i);return this.mergeStack(),o}isExpressionValue(){this.enqueueToStack();let n=this.processOptionalLabelAssign(!1),r=this.processExpression(this.cPreprocessorParser.macros);if(!r){this.popStack();return}let i=this.processOptionalLabelAssign(!0),s=new dn(n,r,i);return this.mergeStack(),s}isLabelRef(n){this.enqueueToStack();let r=this.currentToken;if(!r||!F(r,40)){this.popStack();return}else this.moveToNextToken;let i=this.isLabelName();if(!i){let o=new be(null);return this._issues.push(H(18,new j(G(r)))),o.firstToken=r,this.mergeStack(),o}r&&(i.firstToken.pos.line!==r.pos.line||i.firstToken.pos.col!==r.pos.colEnd)&&this._issues.push(H(29,new j(G(r,i.firstToken))));let s=new be(i);return s.firstToken=r,this.mergeStack(),s}isLabelRefValue(n){this.enqueueToStack();let r=this.processOptionalLabelAssign(!0),i=this.isLabelRef(n);if(!i){this.popStack();return}let s=[];this.currentToken&&this.currentToken.pos.line===this.currentToken.prevToken?.pos.line&&(s=this.processOptionalLabelAssign(!0));let o=new dn(r,i,s);return this.mergeStack(),o}processRefValue(n,r){this.enqueueToStack();let i=this.processOptionalLabelAssign(n),s=this.currentToken;if(!s||!F(s,40)){this.popStack();return}let o=this.processNodePathRef();if(o!==void 0){let l=new Vr(o,i);return this.mergeStack(),l}let a=this.isLabelRef(r);if(a===void 0){this._issues.push(H([18,9],new j(G(s))));let l=new Vr(null,i);return l.firstToken=i.at(0)?.firstToken??s,this.mergeStack(),l}let c=new Vr(a,i);return c.firstToken=i.at(0)?.firstToken??s,this.mergeStack(),c}processNodePath(n=!0,r=new li){this.enqueueToStack();let i;if(F(this.currentToken,13))i=this.moveToNextToken;else{if(!n){this.popStack();return}this.prevToken&&this._issues.push(H(19,new j(G(this.prevToken))))}let s=this.isNodeName();if(s||this._issues.push(H(7,new j(G(i??this.prevToken)))),r.addPath(s??null,i?new j(G(i)):void 0),n&&!i&&r.children.length===0){this.mergeStack();return}return this.processNodePath(!1,r),this.mergeStack(),r}processNodePathRef(){this.enqueueToStack();let n=this.moveToNextToken,r=n;if(!F(r,40)){this.popStack();return}let i=this.moveToNextToken;if(r=i,!F(r,2)){this.popStack();return}let s=this.processNodePath(),o=new Ln(s??null),a=this.currentToken??this.prevToken,c=a;return s?.children.forEach((l,u)=>{if(u===s?.children.length-1&&l&&c&&!ln(l.lastToken,c)){this._issues.push(H(29,new j(G(l.lastToken,c))));return}if(u===0&&i&&!ln(i,l?.firstToken)){this._issues.push(H(29,new j(G(i,l?.firstToken))));return}let d=s?.children[u+1];l&&d&&!ln(l.lastToken,d.firstToken)&&this._issues.push(H(29,new j(G(l.lastToken,d?.firstToken))))}),F(a,3)?this.moveToNextToken:this.prevToken&&this._issues.push(H(3,new j(G(this.prevToken)))),o.firstToken=n,o.lastToken=a??this.prevToken,this.mergeStack(),o}get includes(){return this.allAstItems.filter(n=>n instanceof xi)}get allAstItems(){return[...this.cPreprocessorParser.allAstItems,...this.rootDocument.children,...this.others,...this.unhandledStatements.properties,...this.unhandledStatements.deleteProperties]}};var jo=K(J());var ER=require("fs");var wR=require("path"),gf=class t{constructor(e,n){this.settings=e;this.bindingLoader=n;this._issues=[];this.overlayParsers=[];this.overlays=[];this.ctxNames_=new Set;this.sortKeys=new WeakMap;let r={includePaths:[],overlays:[],zephyrBindings:[],deviceOrgTreeBindings:[],deviceOrgBindingsMetaSchema:[],...e,ctxName:e.ctxName??(0,wR.basename)(e.dtsFile),lockRenameEdits:[]};this.overlays=r.overlays,this.overlays.filter(ER.existsSync),this.parser=new dc(r.dtsFile,r.includePaths),this.ctxNames_.add(r.ctxName),this.id=ai(r),this.parser.stable.then(()=>{this.overlayParsers=this.overlays?.map(i=>new dc(i,r.includePaths,this.parser.cPreprocessorParser.macros))??[]})}get macros(){return[this.parser,...this.overlayParsers].at(-1).cPreprocessorParser.macros}get ctxNames(){return Array.from(this.ctxNames_)}addCtxName(e){this.ctxNames_.add(e)}removeCtxName(e){this.ctxNames_.delete(e)}async getContextIssues(){return[...(await this.getRuntime()).issues,...this._issues]}async getFileTree(){let e=new Map,n=i=>({file:i,includes:(e.get(i)??[]).map(s=>n(s.resolvedPath??s.path))});return(await this.getRuntime()).includes.forEach(i=>{let s=e.get(i.uri);s||(s=[],e.set(i.uri,s)),s.push({path:i.path.path,resolvedPath:i.resolvedPath})}),{mainDtsPath:n(this.parser.uri),overlays:this.overlays.map(n)}}async stable(){await Promise.all([this.parser.stable,...this.overlayParsers.map(e=>e.stable)])}async getRuntime(){return await this.stable(),this._runtime??=this.evaluate(),this._runtime}getContextFiles(){return[...this.overlayParsers.flatMap(e=>e.getFiles()),...this.parser.getFiles()]}isInContext(e){return this.getContextFiles().some(n=>ue(n,e))}getUriParser(e){let n=this.overlayParsers.find(r=>r.getFiles().some(i=>ue(i,e)));return n??=this.parser.getFiles().some(r=>ue(r,e))?this.parser:void 0,n}async getAllParsers(){return await this.stable(),[this.parser,...this.overlayParsers]}async getDocumentLinks(e,n){if(!this.isInContext(e))return[];let i=(await this.getRuntime()).rootNode.allBindingsProperties.filter(s=>ue(s.ast.uri,e)&&(!n||Kn(s.ast,e,n))).flatMap(s=>s.ast.values?.values.flatMap(o=>{let c=s.parent?.nodeTypes.find(l=>o?.value instanceof Me&&l.compatible===o.value.value);return c?{range:te(o.value),target:he(c.bindingsPath)}:void 0})).filter(s=>s)??[];return[...this.parser.cPreprocessorParser.dtsIncludes.filter(s=>ue(s.uri,e)&&(!n||Kn(s,e,n))).map(s=>{let o=this.parser.cPreprocessorParser.resolveInclude(s);if(o)return{range:te(s.path),target:he(o)}}).filter(s=>s)??[],...i]}linkPropertiesLabelsAndNodePaths(e){let n=s=>[...s.property,...s.nodes.flatMap(n)],r=n(e.rootNode),i=e.rootNode.allDescendantsLabels;r.forEach(s=>s.ast.allDescendants.forEach(o=>{if(o instanceof be){let a=e.resolvePath([`&${o.label?.value}`],i);if(a){let c=e.rootNode.getChild(a);o.linksTo=c,c?.linkedRefLabels.push(o)}else o.value&&this._issues.push(qt(3,o,jo.DiagnosticSeverity.Error,[],[],[o.value]))}else if(o instanceof li){let a=e.rootNode,c=o.pathParts;for(let l=0;l<c.length&&c[l];l++){let u=!1,d=c[l];if(d){let f=a?.getNode(d.name,d.fullAddress,!1);d.linksTo=f,!u&&!f&&(u=!0,this._issues.push(qt(8,d,jo.DiagnosticSeverity.Error,[],[],[d.toString(),`${o.pathParts.filter(h=>h?.linksTo).map(h=>h?.toString()).join("/")}`]))),f?.linkedNodeNamePaths.push(d),a=f}else break}}}))}async reevaluate(e){let n=this.getUriParser(e);return n?(this.sortKeys=new WeakMap,await n.reparse(),this._runtime=this.evaluate(),this._runtime):this._runtime}getSortKey(e){if(e)return this.sortKeys.get(e.firstToken)}async evaluate(){let e=performance.now();await this.stable();let n=new qo(this);this._issues=[],this.processRoot(this.parser.rootDocument,n);for(let r=0;r<this.overlayParsers.length;r++)this.processRoot(this.overlayParsers[r].rootDocument,n);return n.includes=this.parser.includes,n.comments=this.parser.cPreprocessorParser.allAstItems.filter(r=>r instanceof jr),(await this.getAllParsers()).flatMap(r=>r.tokens).forEach((r,i)=>this.sortKeys.set(r,i)),this.linkPropertiesLabelsAndNodePaths(n),console.log(`(ID: ${this.id}) evaluate`,performance.now()-e),n}processRoot(e,n){for(let r=0;r<e.children.length;r++){let i=e.children[r];this.processChild(i,n.rootNode,n)}}processChild(e,n,r){e instanceof Ye?this.processDtcBaseNode(e,n,r):e instanceof je?this.processDtcProperty(e,n,r):e instanceof Sn?this.processDeleteNode(e,n,r):e instanceof Je&&this.processDeleteProperty(e,n,r)}checkNodeUniqueNames(e,n){let r=(o,a)=>o.some(c=>c.name===a.name&&(c.address===void 0||a.fullAddress===void 0||Lr(c.address,a.fullAddress)===0)),i=n.nodes.map(o=>({name:o.name,address:o.address})),s=[];e.children.forEach(o=>{if(o instanceof Oe&&o.name)r(s.map(a=>({name:a.name,address:a.fullAddress})),o.name)&&this._issues.push(qt(2,o.name)),s.push(o.name);else if(o instanceof Sn&&o.nodeNameOrRef instanceof Fe){let a=o.nodeNameOrRef;r(i,a)&&(s=s.filter(c=>r(s.map(l=>({name:l.name,address:l.fullAddress})),c)))}})}processDtcBaseNode(e,n,r){e instanceof mt?this.processDtcRootNode(e,r):e instanceof Oe?this.processDtcChildNode(e,n,r):e instanceof jt&&this.processDtcRefNode(e,r)}processDtcRootNode(e,n){n.roots.push(e),n.rootNode.definitions.push(e),this.checkNodeUniqueNames(e,n.rootNode),[...e.children].sort((r,i)=>r instanceof je&&i instanceof Je||i instanceof je&&r instanceof Je?0:i instanceof je?1:0).forEach(r=>this.processChild(r,n.rootNode,n))}processDtcChildNode(e,n,r){if(e.name?.name){let i=e.path?r.resolvePath(e.path):void 0,o=(i?r.rootNode.getChild(i):void 0)??new ke(this.bindingLoader,e.name.name,e.name.fullAddress,n);o.definitions.push(e),e.labels.forEach(a=>a.lastLinkedTo=o),n=o,this.checkNodeUniqueNames(e,o)}[...e.children].sort((i,s)=>i instanceof Ye&&s instanceof Ye?0:i instanceof Ye?-1:0).forEach(i=>this.processChild(i,n,r))}processDtcRefNode(e,n){let r;if(e.labelReference){let i=e.resolveNodePath??(e.pathName?n.resolvePath([e.pathName]):void 0);i?(e.resolveNodePath??=[...i],r=n.rootNode.getChild(i),e.labelReference.linksTo=r,e.labels.forEach(s=>s.lastLinkedTo=r),r?.linkedRefLabels.push(e.labelReference),r?.referencedBy.push(e),e.labels.forEach(s=>{n.labelsUsedCache.set(s.label.value,i)}),r?(n.references.push(e),this.checkNodeUniqueNames(e,r)):n.unlinkedRefNodes.push(e)):(this._issues.push(qt(3,e.labelReference,jo.DiagnosticSeverity.Error,[],[],[e.labelReference.label?.value??""])),n.unlinkedRefNodes.push(e))}else n.unlinkedRefNodes.push(e);[...e.children].sort((i,s)=>i instanceof Ye&&s instanceof Ye?0:i instanceof Ye?-1:0).forEach(i=>this.processChild(i,r??new ke(this.bindingLoader,""),n))}processDtcProperty(e,n,r){e.propertyName?.name&&n.addProperty(new ze(e,n)),e.children.forEach(i=>this.processChild(i,n,r))}processDeleteNode(e,n,r){if(e.nodeNameOrRef instanceof Fe&&e.nodeNameOrRef.value){if(e.parentNode?.parentNode)if(!n.hasNode(e.nodeNameOrRef.name,e.nodeNameOrRef.fullAddress))this._issues.push(qt(5,e.nodeNameOrRef));else{n.deletes.push(e);let i=n.getNode(e.nodeNameOrRef.name,e.nodeNameOrRef.fullAddress);e.nodeNameOrRef.linksTo=i,n.deleteNode(e.nodeNameOrRef.name,e,e.nodeNameOrRef.fullAddress),i?.labels.forEach(s=>{r.labelsUsedCache.delete(s.label.value)})}}else if(e.nodeNameOrRef instanceof be&&e.nodeNameOrRef.value){let i=r.resolvePath([`&${e.nodeNameOrRef.value}`]),s;i?(s=r.rootNode.getChild(i),n.deletes.push(e),e.nodeNameOrRef.linksTo=s,s?.labels.forEach(o=>{r.labelsUsedCache.delete(o.label.value)}),s?.linkedRefLabels.push(e.nodeNameOrRef),s?.parent?.deleteNode(s.name,e,s.address),e.parentNode instanceof Ye&&!e.parentNode.pathName&&r.globalDeletes.push(e)):(r.unlinkedDeletes.push(e),this._issues.push(qt(3,e.nodeNameOrRef,jo.DiagnosticSeverity.Error,[],[],[e.nodeNameOrRef.value])))}else if(e.nodeNameOrRef instanceof Ln&&e.nodeNameOrRef.path&&!e.nodeNameOrRef.path.pathParts.some(i=>!i)){let i=["/",...e.nodeNameOrRef.path.pathParts.map(u=>u.toString())],s=r.rootNode,o=e.nodeNameOrRef.path.pathParts;for(let u=0;u<o.length&&o[u];u++){let d=o[u];if(d){let f=s?.getNode(d.name,d.fullAddress,!1);d.linksTo=f,f?.linkedNodeNamePaths.push(d),s=f}}let a=e.nodeNameOrRef.path.pathParts.every(u=>u),c=e.nodeNameOrRef.path.pathParts.find(u=>u&&!u.linksTo),l=e.nodeNameOrRef.path.pathParts.at(-1)?.linksTo;l||(r.unlinkedDeletes.push(e),c&&this._issues.push(qt(8,c,jo.DiagnosticSeverity.Error,[],[],[c.toString(),`${e.nodeNameOrRef.path.pathParts.filter(u=>u?.linksTo).map(u=>u?.toString()).join("/")}`]))),n.deletes.push(e),l?.labels.forEach(u=>{r.labelsUsedCache.delete(u.label.value)}),l?.parent?.deleteNode(l.name,e,l.address),e.parentNode instanceof Ye&&!e.parentNode.pathName&&r.globalDeletes.push(e)}else r.unlinkedDeletes.push(e);e.children.forEach(i=>this.processChild(i,n,r))}processDeleteProperty(e,n,r){e.propertyName?.name&&!n.hasProperty(e.propertyName.name)?this._issues.push(qt(1,e.propertyName)):e.propertyName?.name&&(n.deletes.push(e),n.deleteProperty(e.propertyName.name,e)),e.children.forEach(i=>this.processChild(i,n,r))}static#e(e,n,r){let i=r.get(n);i||(i=[],r.set(n,i)),i.push(e)}async getDiagnostics(){let e=new Map;try{return(await this.getAllParsers()).forEach(i=>{i.issues.forEach(s=>t.#e(s.diagnostic(),s.raw.astElement.uri,e))}),(await this.getContextIssues()??[]).forEach(i=>t.#e(i.diagnostic(),i.raw.astElement.uri,e)),(await this.getRuntime())?.typesIssues.forEach(i=>t.#e(i.diagnostic(),i.raw.astElement.uri,e)),e}catch(n){throw console.error(n),n}}async toFullString(){return`/dts-v1/;
277
+ `)&&this.lines.splice(-1,1),this.lexIt()}get tokens(){return this._tokens}isWhiteSpace(){return!!this.currentChar?.match(/\s/)}get endOfFile(){return this.isOnLastLine&&this.isOnLastCharOfLine}get isOnLastLine(){return this.lineNumber===this.lines.length-1}get isOnLastCharOfLine(){return this.lines[this.lineNumber].length<=this.columnNumber}moveToNextLine(){return this.isOnLastLine?!1:(this.columnNumber=0,this.lineNumberOfEscapedChars=0,this.lineNumber++,this.lines[this.lineNumber].length===0&&this.moveToNextLine(),!0)}moveOnLine(){return this.isOnLastCharOfLine?this.moveToNextLine():(this.columnNumber++,this.isOnLastCharOfLine&&this.moveToNextLine(),!0)}move(){return this.endOfFile?!1:this.moveOnLine()}get currentChar(){return this.endOfFile?null:this.lines[this.lineNumber].at(this.columnNumber)}static isSyntaxChar(e){return e==="^"||e==="~"||e==="|"||e==="!"||e==="\\"||e==="<"||e===">"||e===";"||e==="="||e==="/"||e==="{"||e==="}"||e==="["||e==="]"||e==="("||e===")"||e==="*"||e==="%"||e==="&"||e==="."||e===":"||e==="+"||e==="@"||e==="-"||e==="_"||e===","||e==="x"||e==="?"}getWord(){let e="";for(;!this.isWhiteSpace()&&(e.length&&!t.isSyntaxChar(this.currentChar)||!e.length);){if(e+=this.currentChar??"",e.length===1&&t.isSyntaxChar(this.currentChar)){this.move();break}let n=this.lineNumber;if(!this.move()||this.lineNumber!==n)return e}return e==="/"&&this.currentChar==="*"?this.inComment=!0:this.inComment&&e==="*"&&this.currentChar==="/"&&(this.inComment=!1),e}getString(e){let n=e;for(this.numberOfEscapedCharsLastString=0;this.currentChar!==e;){if(n+=this.currentChar??"",this.currentChar==="\\"){let r=this.lineNumber;if(this.move())this.lineNumberOfEscapedChars++,this.numberOfEscapedCharsLastString++,r===this.lineNumber&&(n+=this.currentChar??"");else return n}if(!this.move())return n}return this.move(),n+=e,n}lexIt(){for(;!this.endOfFile&&(this.whiteSpace(),!this.endOfFile);){let e=this.getWord();e&&this.process(e)}}process(e){let n=this.isString(e)||this.isCDefine(e)||this.isCInclude(e)||this.isCLine(e)||this.isCUndef(e)||this.isCError(e)||this.isCPragma(e)||this.isCDefined(e)||this.isCIfDef(e)||this.isCIfNDef(e)||this.isCIf(e)||this.isCElIf(e)||this.isCElse(e)||this.isCEndIf(e)||this.isCFalse(e)||this.isCTrue(e)||this.isDigit(e)||this.isHexDigit(e)||this.isLetters(e)||this.isComma(e)||this.isBitwiseNot(e)||this.isBitwiseXOr(e)||this.isBitwiseOr(e)||this.isLogicalNot(e)||this.isGtSym(e)||this.isLtSym(e)||this.isSemicolon(e)||this.isColon(e)||this.isAssignOperator(e)||this.isForwardSlash(e)||this.isRoundOpen(e)||this.isRoundClose(e)||this.isCurlyOpen(e)||this.isCurlyClose(e)||this.isSquareOpen(e)||this.isSquareClose(e)||this.isBackSlash(e)||this.isMultiplicationOperator(e)||this.isModulusOperator(e)||this.isAmpersand(e)||this.isNegateOperator(e)||this.isAddOperator(e)||this.isQuestionMark(e)||this.isPeriod(e)||this.isHash(e)||this.isUnderScore(e)||this.isAt(e)||this.unknownToken(e);if(!n)throw new Error(`Lexer is not complete!!! Could not find token for "${e}"`);let r=this._tokens.at(-1);return n&&!r?.tokens.some(i=>i===21)&&r&&r.pos.len<e.length?this.process(e.slice(r.pos.len)):!0}whiteSpace(){for(;this.isWhiteSpace();)this.move()}pushToken(e){let n={...e,uri:this.uri},r=this._tokens.at(-1);n.prevToken=r,r&&(r.nextToken=n),this._tokens.push(n)}isLetters(e){let n=e.match(/^[A-Za-z]+/);return n?.[0]?(this.pushToken({tokens:[47],value:n?.[0],pos:this.generatePos(e,n?.[0])}),!0):!1}isDigit(e){let n=e.match(/^[0-9]/);return n?.[0]?(this.pushToken({tokens:[20,19],value:n[0],pos:this.generatePos(e,n[0])}),!0):!1}isHexDigit(e){let n=e.match(/^[A-Fa-f]/);return n?.[0]?(this.pushToken({tokens:[20,47],value:n[0],pos:this.generatePos(e,n[0])}),!0):!1}isCurlyOpen(e){let n="{";return e===n?(this.pushToken({tokens:[2],pos:this.generatePos(e,n),value:"{"}),!0):!1}isCurlyClose(e){let n="}";return e===n?(this.pushToken({tokens:[3],pos:this.generatePos(e,n),value:"}"}),!0):!1}isSemicolon(e){let n=";";return e===n?(this.pushToken({tokens:[1],pos:this.generatePos(e,n),value:n}),!0):!1}isColon(e){let n=":";return e===n?(this.pushToken({tokens:[50],pos:this.generatePos(e,n),value:n}),!0):!1}isHash(e){let n="#";return e.startsWith(n)?(this.pushToken({tokens:[46],pos:this.generatePos(e,n),value:n}),!0):!1}unknownToken(e){return this.pushToken({tokens:[41],pos:this.generatePos(e," "),value:e}),!0}isAssignOperator(e){let n="=";return e===n?(this.pushToken({tokens:[0],pos:this.generatePos(e,n),value:n}),!0):!1}isGtSym(e){let n=">";return e===n?(this.pushToken({tokens:[4],pos:this.generatePos(e,n),value:n}),!0):!1}isLtSym(e){let n="<";return e===n?(this.pushToken({tokens:[5],pos:this.generatePos(e,n),value:n}),!0):!1}isLogicalNot(e){let n="!";return e===n?(this.pushToken({tokens:[6],pos:this.generatePos(e,n),value:n}),!0):!1}isBitwiseOr(e){let n="|";return e===n?(this.pushToken({tokens:[8],pos:this.generatePos(e,n),value:n}),!0):!1}isBitwiseXOr(e){let n="^";return e===n?(this.pushToken({tokens:[9],pos:this.generatePos(e,n),value:n}),!0):!1}isAmpersand(e){let n="&";return e===n?(this.pushToken({tokens:[40,7],pos:this.generatePos(e,n),value:n}),!0):!1}isBitwiseNot(e){let n="~";return e===n?(this.pushToken({tokens:[10],pos:this.generatePos(e,n),value:n}),!0):!1}isRoundOpen(e){let n="(";return e===n?(this.pushToken({tokens:[42],pos:this.generatePos(e,n),value:n}),!0):!1}isRoundClose(e){let n=")";return e===n?(this.pushToken({tokens:[43],pos:this.generatePos(e,n),value:n}),!0):!1}isSquareOpen(e){let n="[";return e===n?(this.pushToken({tokens:[11],pos:this.generatePos(e,n),value:n}),!0):!1}isSquareClose(e){let n="]";return e===n?(this.pushToken({tokens:[12],pos:this.generatePos(e,n),value:n}),!0):!1}isComma(e){let n=",";return e===n?(this.pushToken({tokens:[24],pos:this.generatePos(e,n),value:n}),!0):!1}rewind(e){if(this.columnNumber+1<e.length)throw new Error("Error while rewinding");this.columnNumber-=e.length}isString(e){if(this.inComment)return!1;let n=e.match(/^["']/);if(n?.[0]){this.rewind(e.slice(1));let r=this.lineNumber,i=this.columnNumber-1,s=this.getString(n[0]),o=s.length+this.numberOfEscapedCharsLastString;return this.pushToken({tokens:[21],value:s,pos:{col:i,line:r,len:o,colEnd:i+o}}),!0}return!1}isForwardSlash(e){let n="/";return e===n?(this.pushToken({tokens:[13],pos:this.generatePos(e,n),value:"/"}),!0):!1}isBackSlash(e){let n="\\";return e===n?(this.pushToken({tokens:[14],pos:this.generatePos(e,n),value:"\\"}),!0):!1}isAddOperator(e){let n="+";return e===n?(this.pushToken({tokens:[15],pos:this.generatePos(e,n),value:n}),!0):!1}isQuestionMark(e){let n="?";return e===n?(this.pushToken({tokens:[44],pos:this.generatePos(e,n),value:n}),!0):!1}isPeriod(e){let n=".";return e===n?(this.pushToken({tokens:[45],pos:this.generatePos(e,n),value:n}),!0):!1}isNegateOperator(e){let n="-";return e===n?(this.pushToken({tokens:[16],pos:this.generatePos(e,n),value:n}),!0):!1}isUnderScore(e){let n="_";return e===n?(this.pushToken({tokens:[48],pos:this.generatePos(e,n),value:n}),!0):!1}isAt(e){let n="@";return e===n?(this.pushToken({tokens:[49],pos:this.generatePos(e,n),value:n}),!0):!1}isMultiplicationOperator(e){let n="*";return e===n?(this.pushToken({tokens:[17],pos:this.generatePos(e,n),value:n}),!0):!1}isModulusOperator(e){let n="%";return e===n?(this.pushToken({tokens:[18],pos:this.generatePos(e,n),value:n}),!0):!1}isCDefine(e){let n="#define";return e.toLowerCase()===n?(this.pushToken({tokens:[25],pos:this.generatePos(e,n),value:n}),!0):!1}isCInclude(e){let n="#include";return e.toLowerCase()===n?(this.pushToken({tokens:[26],pos:this.generatePos(e,n),value:n}),!0):!1}isCLine(e){let n="#line";return e.toLowerCase()===n?(this.pushToken({tokens:[27],pos:this.generatePos(e,n),value:n}),!0):!1}isCUndef(e){let n="#undef";return e.toLowerCase()===n?(this.pushToken({tokens:[28],pos:this.generatePos(e,n),value:n}),!0):!1}isCError(e){let n="#error";return e.toLowerCase()===n?(this.pushToken({tokens:[29],pos:this.generatePos(e,n),value:n}),!0):!1}isCPragma(e){let n="#pragma";return e.toLowerCase()===n?(this.pushToken({tokens:[30],pos:this.generatePos(e,n),value:n}),!0):!1}isCDefined(e){let n="#defined";return e.toLowerCase()===n?(this.pushToken({tokens:[31],pos:this.generatePos(e,n),value:n}),!0):!1}isCIf(e){let n="#if";return e.toLowerCase()===n?(this.pushToken({tokens:[32],pos:this.generatePos(e,n),value:n}),!0):!1}isCIfDef(e){let n="#ifdef";return e.toLowerCase()===n?(this.pushToken({tokens:[33],pos:this.generatePos(e,n),value:n}),!0):!1}isCIfNDef(e){let n="#ifndef";return e.toLowerCase()===n?(this.pushToken({tokens:[34],pos:this.generatePos(e,n),value:n}),!0):!1}isCElIf(e){let n="#elif";return e.toLowerCase()===n?(this.pushToken({tokens:[35],pos:this.generatePos(e,n),value:n}),!0):!1}isCElse(e){let n="#else";return e.toLowerCase()===n?(this.pushToken({tokens:[36],pos:this.generatePos(e,n),value:n}),!0):!1}isCEndIf(e){let n="#endif";return e.toLowerCase()===n?(this.pushToken({tokens:[37],pos:this.generatePos(e,n),value:n}),!0):!1}isCTrue(e){let n="true";return e==n?(this.pushToken({tokens:[38],value:n,pos:this.generatePos(e,n)}),!0):!1}isCFalse(e){let n="false";return e==n?(this.pushToken({tokens:[39],value:n,pos:this.generatePos(e,n)}),!0):!1}generatePos(e,n){let r=this.columnNumber-e.length+this.lineNumberOfEscapedChars;return{line:this.lineNumber,col:r,len:n.length,colEnd:r+n.length}}};var ut=class extends j{constructor(e){super(e),this.semanticTokenType="keyword",this.semanticTokenModifiers="declaration"}};var ey=require("fs"),Lo=require("path");var fR=K(J());var Ot=class extends tt{constructor(n,r){super(r);this.name=n;this.docSymbolsMeta={name:this.name.toString(),kind:fR.SymbolKind.Variable},this.semanticTokenType="macro",this.semanticTokenModifiers="declaration"}toString(){return this.name}};var rf=class extends j{constructor(n,r){super(r);this.operator=n;this.semanticTokenType="operator",this.semanticTokenModifiers="declaration"}toString(){return this.operator}};var hR=K(J());var sf=class extends ut{toString(){return"..."}},Ur=class extends j{constructor(n,r){super();this.functionName=n;this.params=r;this.addChild(n),this.params.forEach(i=>this.addChild(i))}getDocumentSymbols(n){return ue(this.uri,n)?[{name:this.functionName.name,kind:hR.SymbolKind.Function,range:te(this),selectionRange:te(this),children:this.params.flatMap(r=>r.getDocumentSymbols(n))}]:[]}toString(){return`${this.functionName}(${this.params.map(n=>n.toString()).join(",")})`}};var ji=class{constructor(){this.positionStack=[];this._issues=[];this.issueLengthPositionStack=[];this.moveEndOfLine=(e,n=!0)=>{let r=e.pos.line;if(this.currentToken?.pos.line!==r||!ue(this.currentToken?.uri,e.uri))return;let i=this.currentToken,s=i;for(;this.currentToken?.pos.line===r;)s=this.moveToNextToken;if(n){let o=new j(G(i,s));this._issues.push(H(22,o))}return s};this.parsing=new Promise(e=>{setTimeout(()=>{this.parse().then(e)})})}reset(){this.issueLengthPositionStack=[],this.positionStack=[],this._issues=[]}get issues(){return this._issues}get stable(){return this.parsing}get done(){return this.peekIndex()>=this.tokens.length}get moveToNextToken(){let e=this.currentToken;if(e)return this.moveStackIndex(),e}enqueueToStack(){this.issueLengthPositionStack.push(this._issues.length),this.positionStack.push(this.peekIndex())}popStack(){let e=this.issueLengthPositionStack.pop()??0;e!==this._issues.length&&this._issues.splice(e),this.positionStack.pop()}mergeStack(){let e=this.issueLengthPositionStack.pop(),n=this.positionStack.pop();if(n===void 0||e===void 0)throw new Error("Index out of bounds");this.positionStack[this.positionStack.length-1]=n}peekIndex(e=1){let n=this.positionStack.at(-1*e);if(n===void 0)throw new Error("Index out of bounds");return n}get currentToken(){return this.tokens.at(this.peekIndex())}get prevToken(){let e=this.peekIndex()-1;if(e!==-1)return this.tokens[e]}moveStackIndex(){let e=this.positionStack.length-1;if(this.positionStack[e]===void 0)throw new Error("Index out of bounds");this.positionStack[e]!==this.tokens.length&&this.positionStack[e]++}checkConcurrentTokens(e){this.enqueueToStack();let n=[];return e.every(r=>{let i=this.currentToken,s=r(i),o=!1;return s!=="no"&&i&&(n.push(i),this.moveToNextToken,o=ln(i,this.currentToken)),s==="yes"&&o}),this.mergeStack(),n}consumeAnyConcurrentTokens(e){this.enqueueToStack();let n=[],r,i=!0;for(;e.some(s=>s(this.currentToken)==="yes"&&i);)n.push(this.currentToken),r=this.currentToken,this.moveToNextToken,i=ln(r,this.currentToken);return this.mergeStack(),n}getDocumentSymbols(e){return this.allAstItems.flatMap(n=>n.getDocumentSymbols(e))}getWorkspaceSymbols(){return this.allAstItems.flatMap(e=>e.getWorkspaceSymbols())}buildSemanticTokens(e,n){let r=[],i=(s,o,a)=>{if(!a?.start||!a?.end||!ue(a.start.uri,n)||!ue(a.end.uri,n))return;let c=a.end.pos.colEnd-a.start.pos.col;r.push({line:a.start.pos.line,char:a.start.pos.col,length:a.end===a.start?a.end.pos.len:c,tokenType:s,tokenModifiers:o})};this.allAstItems.forEach(s=>{s.buildSemanticTokens(i)}),r.sort((s,o)=>s.line===o.line?s.char-o.char:s.line-o.line).forEach(s=>e.push(s.line,s.char,s.length,s.tokenType,s.tokenModifiers))}processCIdentifier(e,n){this.enqueueToStack();let r=this.consumeAnyConcurrentTokens([19,47,48].map(xe));if(!r.length){this.popStack();return}let i=r.map(o=>o.value).join("");if(!i.match(/^[_A-Za-z]/)){this.popStack();return}let s=new Ot(i,G(r[0],r.at(-1)));return!n&&s.name!=="defined"&&(e.get(s.name)||this._issues.push(H(42,s))),this.mergeStack(),s}isOperator(){this.enqueueToStack();let e=this.moveToNextToken;if(!e){this.popStack();return}let n=e,r;if(F(e,40)?(r="&",F(this.currentToken,40)&&(r="&&",n=this.moveToNextToken)):F(e,10)?(r="!",F(this.currentToken,0)&&(r="!=",n=this.moveToNextToken)):F(e,8)?(r="|",F(this.currentToken,8)&&(r="||",n=this.moveToNextToken)):F(e,9)?r="^":F(e,4)?(r=">",F(this.currentToken,4)?(r="<<",n=this.moveToNextToken):F(this.currentToken,0)&&(r=">=",n=this.moveToNextToken)):F(e,5)?(r="<",F(this.currentToken,5)?(r=">>",n=this.moveToNextToken):F(this.currentToken,0)&&(r="<=",n=this.moveToNextToken)):F(e,15)?r="+":F(e,16)?r="-":F(e,17)?r="*":F(e,13)?r="/":F(e,18)?r="%":F(e,46)?F(this.currentToken,46)&&(r="##",n=this.moveToNextToken):F(e,0)&&F(this.currentToken,0)&&(r="==",n=this.moveToNextToken),r){let i=new rf(r,G(e,n));return this.mergeStack(),i}this.popStack()}parseScopedBlock(e,n,r){this.enqueueToStack();let i=this.moveToNextToken;if(!i||!e(i)){this.popStack();return}let s=this.peekIndex(),o=()=>{this.positionStack[this.positionStack.length-1]=s},a=y=>y.flatMap(p=>"items"in p?a(p.items):p),c=[i],l=[],u=[];u[0]={rewind:o,tokens:[]};let d=this.currentToken;for(;d&&!n(d);){if(r?.(d)){let y=this.peekIndex()+1,p=()=>{this.positionStack[this.positionStack.length-1]=y};c.push(d),l.push(d),u[u.length]={rewind:p,tokens:[]}}else if(e(d)){let y=this.parseScopedBlock(e,n,r);y&&(c.push(y),u[u.length-1].tokens.push(...a(y.items))),d=this.currentToken;continue}else c.push(d),u[u.length-1].tokens.push(d);this.moveToNextToken,d=this.currentToken}let f=d;f&&n(f)&&(this.moveToNextToken,c.push(f));let h={startToken:i,items:c,splitTokens:u,endToken:f,separatorTokens:l};return this.mergeStack(),h}isFunctionCall(e){this.enqueueToStack();let n=this.processCIdentifier(e,!1);if(!n){this.popStack();return}let r=this.processMacroCallParams();if(!r){this.popStack();return}if(n.name==="defined")r.length>1?this._issues.push(H(44,n)):r.length<1&&this._issues.push(H(45,n));else{let s=e.get(n.name)?.macro;s&&(s?.identifier instanceof Ur?r.length>s.identifier.params.length?this._issues.push(H(44,n,void 0,[s])):r.length<s.identifier.params.length&&this._issues.push(H(45,n,void 0,[s])):this._issues.push(H(43,n)))}let i=new Mr(n,r);return i.lastToken=this.prevToken,this.mergeStack(),i}processHex(){this.enqueueToStack();let e=this.checkConcurrentTokens([ct("0"),ct("x")]);if(e.length!==2){this.popStack();return}let n=this.consumeAnyConcurrentTokens([19,20].map(xe));if(!n.length){this.popStack();return}let r=Number.parseInt(n.map(s=>s.value).join(""),16),i=new zt(r,G(e[0],n.at(-1)));return this.mergeStack(),i}processDec(){this.enqueueToStack();let e=this.consumeAnyConcurrentTokens([19].map(xe));if(!e.length){this.popStack();return}let n=Number.parseInt(e.map(i=>i.value).join(""),10),r=new zt(n,G(e[0],e.at(-1)));return this.mergeStack(),r}processEnclosedExpression(e){this.enqueueToStack();let n,r;if(F(this.currentToken,42)){let i;n=this.moveToNextToken,r=n;let s=this.processExpression(e,!0);return s&&(i=new oi(s,!0),s=new oi(i,!1),i.openBracket=n),F(this.currentToken,43)?(r=this.moveToNextToken,i&&(i.closeBracket=r)):this._issues.push(H(26,new j(G(n)))),this.mergeStack(),s}this.popStack()}processExpression(e,n=!1){this.enqueueToStack();let r;if(r=this.processEnclosedExpression(e)||this.isFunctionCall(e)||this.processCIdentifier(e,!1)||this.processHex()||this.processDec(),!r){this.popStack();return}if(n){let i=this.isOperator();for(;i;){let s=this.processExpression(e);s?r instanceof oi?r.addExpression(i,s):r=new oi(r,!1,{operator:i,expression:s}):this._issues.push(H(27,i)),i=this.isOperator()}}return this.mergeStack(),r}processMacroCallParams(){if(!F(this.currentToken,42))return;let e=this.parseScopedBlock(r=>!!F(r,42),r=>!!F(r,43),r=>!!F(r,24));return e?.items.length===2&&F(e.endToken,43)?[]:e?.splitTokens.map((r,i)=>{if(r.tokens.length===0)return null;let s=new xr(r.tokens.map((o,a)=>{let c=o.value;return o.pos.line===r.tokens.at(a+1)?.pos.line&&(c=c.padEnd(r.tokens[a+1].pos.col-o.pos.col," ")),c}).join(""),G(r.tokens[0],r.tokens.at(-1)),i);return s.splitToken=e.separatorTokens.at(i),s})}};var of=class t extends ji{constructor(n){super();this.uri=n;this.comments=[];this.tokens=[]}cleanUpComments(){let n=[];for(let r=0;r<this.tokens.length;r++){let i=t.processBlockComment(this.tokens,r)||t.processLineComment(this.tokens,r);i&&(r=i.index,n.push(...i.tokenUsed),this.comments.push(i.comment))}n.reverse().forEach(r=>this.tokens.splice(r,1))}get allAstItems(){return this.comments}reset(){super.reset(),this.comments=[]}reparse(){return this.reset(),this.parse()}async parse(){this.tokens=qn().requestTokens(this.uri,!0),this.cleanUpComments()}static processBlockComment(n,r){let i=[],s=()=>(i.push(r++),n[r]),o=()=>n[r],a=()=>n[r-1],c=o(),l=c;if(!c||!F(c,13)||(l=s(),!F(l,17)||c.pos.line!==l.pos.line||c.pos.col+1!==l.pos.col))return;let u=()=>!(!F(a(),17)||!F(o(),13)||!ln(a(),o())),d=l.pos.line,f=c,h=[];l=s();do{if(o()?.pos.line!==d){let T=new jr(G(f,a()));h.push(T),d=o().pos.line??0,f=o()}l=s()}while(r<n.length&&!u());let y=new jr(G(f,o()));h.push(y);let p=new Mi(h);return s(),{comment:p,tokenUsed:i,index:r-1}}static processLineComment(n,r){let i=[];if(!F(n[r],13)||n.length===r+1||!F(n[r+1],13)||!ln(n[r],n[r+1]))return;for(;n[r].pos.line===n.at(r+1)?.pos.line;)i.push(r++);return i.push(r++),{comment:new jr(G(n[i[0]],n[i.at(-1)])),tokenUsed:i,index:r-1}}};var pR=K(J()),af=class extends j{constructor(n,r){super(n);this.content=r}toString(){let n=this.content.filter(r=>!F(r,14));return n.map((r,i)=>{let s=r.value;return r.pos.line===n.at(i+1)?.pos.line?s=s.padEnd(n[i+1].pos.col-r.pos.col," "):n.at(i+1)&&(s=s.padEnd(s.length+1," ")),s}).join("")}},ic=class extends j{constructor(n,r,i){super();this.keyword=n;this.identifier=r;this.content=i;this.addChild(n),this.addChild(this.identifier),this.content&&this.addChild(this.content)}get name(){return this.identifier instanceof Ot?this.identifier.name:this.identifier.functionName.name}toString(){return this.toStringCache??=[this.identifier.toString(),...this.content?[this.content?.toString()]:[]].join(" "),this.toStringCache}toMarkupContent(){return{kind:pR.MarkupKind.Markdown,value:["```cpp",`#define ${this.toString()}`,"```"].join(`
278
+ `)}}};var ks=class extends j{constructor(e){super(e)}},sc=class extends j{constructor(n,r){super();this.keyword=n;this.content=r;this.active=!1;this.addChild(n)}},oc=class extends sc{constructor(n,r,i){super(n,i);this.identifier=r;this.addChild(r),this.addChild(i)}useBlock(n){return this.identifier&&n.has(this.identifier.name)}},cf=class extends sc{constructor(n,r,i){super(n,i);this.expression=r;this.addChild(r),this.addChild(i)}useBlock(n){return this.expression instanceof Mr?this.expression.functionName.name==="defined"?this.expression&&n.has(this.expression.params.at(0)?.value??""):this.expression.isTrue(n):this.expression?.isTrue(n)}},lf=class extends oc{useBlock(e){return this.identifier&&!e.has(this.identifier.name)}},ac=class extends sc{};var Mo=class extends j{constructor(n,r,i){super();this.ifDef=n;this.endIf=r;this.elseOption=i;this.addChild(n),i&&this.addChild(i),this.addChild(r)}getInValidTokenRange(n,r){let i=[],s=a=>r.findIndex(c=>c===a);if(!this.ifDef.identifier)return[{start:s(this.tokenIndexes.start),end:s(this.tokenIndexes.end)}];i.push({start:s(this.ifDef.tokenIndexes.start),end:s(this.ifDef.identifier.tokenIndexes.end)});let o=this.ifDef.useBlock(n);return o?this.ifDef.active=!0:this.elseOption&&(this.elseOption.active=!0),!o&&this.ifDef.content&&i.push({start:s(this.ifDef.content.tokenIndexes.start),end:s(this.ifDef.content.tokenIndexes.end)}),this.elseOption&&(i.push({start:s(this.elseOption.tokenIndexes.start),end:s(this.elseOption.keyword.tokenIndexes.end)}),o&&this.elseOption.content&&i.push({start:s(this.elseOption.content.tokenIndexes.start),end:s(this.elseOption.content.tokenIndexes.end)})),this.endIf&&i.push({start:s(this.endIf.tokenIndexes.start),end:s(this.endIf.tokenIndexes.end)}),i}},Fi=class extends j{constructor(n,r,i){super();this.ifBlocks=n;this.endIf=r;this.elseOption=i;n.forEach(s=>this.addChild(s)),i&&this.addChild(i),this.addChild(r)}getInValidTokenRange(n,r){let i=[],s=a=>r.findIndex(c=>c===a),o=!1;return this.ifBlocks.forEach((a,c)=>{i.push({start:s(a.tokenIndexes.start),end:s(a.expression?.tokenIndexes.end??a.keyword.tokenIndexes.end)}),!o&&a.useBlock(n)?(a.active=!0,o=!0):a.content&&i.push({start:s(a.content.tokenIndexes.start),end:s(a.content.tokenIndexes.end)})}),this.elseOption&&(i.push({start:s(this.elseOption.keyword.tokenIndexes.start),end:s(this.elseOption.keyword.tokenIndexes.end)}),o&&this.elseOption.content?i.push({start:s(this.elseOption.content.tokenIndexes.start),end:s(this.elseOption.content.tokenIndexes.end)}):this.elseOption.active=!0),this.endIf&&i.push({start:s(this.endIf.tokenIndexes.start),end:s(this.endIf.tokenIndexes.end)}),i}};var cc=K(J());var $o=class extends ji{constructor(n,r,i){super();this.uri=n;this.incudes=r;this.tokens=[];this.nodes=[];this.dtsIncludes=[];this.macroSnapShot=new Map;this.macros=new Map;this.macroStart=!1;i&&(Array.from(i).forEach(([s,o])=>this.macroSnapShot.set(s,o)),Array.from(i).forEach(([s,o])=>this.macros.set(s,o)))}get currentToken(){let n=this.prevToken,r=qr(n,this.tokens.at(this.peekIndex()))||!n||F(n,14)&&n.pos.line+1===this.tokens.at(this.peekIndex())?.pos.line;if(!(this.macroStart&&!r))return this.macroStart&&F(this.tokens.at(this.peekIndex()),14)?(this.moveStackIndex(),this.currentToken):this.tokens.at(this.peekIndex())}reset(n){super.reset(),this.macros.clear(),n?(this.macroSnapShot.clear(),Array.from(n).forEach(([r,i])=>this.macroSnapShot.set(r,i)),Array.from(n).forEach(([r,i])=>this.macros.set(r,i))):Array.from(this.macroSnapShot).forEach(([r,i])=>this.macros.set(r,i)),this.nodes=[],this.dtsIncludes=[]}async reparse(n){let r=this.stable;return this.parsing=new Promise(i=>{r.then(()=>{if(n&&n.size===this.macroSnapShot.size){let s=Array.from(n);if(Array.from(this.macroSnapShot).every(([o,a],c)=>{let[l,u]=s[c];return l===o&&u.macro.toString()===a.macro.toString()})){console.log("header file cache hit",this.uri),i();return}}this.reset(n),this.parse().then(i)})}),this.parsing}async parse(){let n=new of(this.uri);if(await n.stable,this.tokens=n.tokens,this.nodes.push(...n.allAstItems),this.positionStack.push(0),this.tokens.length!==0){for(;!this.done;)await this.lineProcessor();if(this.positionStack.length!==1)throw new Error("Incorrect final stack size")}}async lineProcessor(){if(this.enqueueToStack(),!(!this.prevToken||this.prevToken.pos.line!==this.currentToken?.pos.line||!ue(this.prevToken.uri,this.currentToken.uri))){this.moveEndOfLine(this.prevToken,!1),this.mergeStack();return}let r=this.currentToken,i=await this.processInclude()||this.processDefinitions()||this.processUndef()||this.processIfDefBlocks();r&&this.moveEndOfLine(r,!!i),this.mergeStack()}processDefinitions(){this.enqueueToStack();let n=this.peekIndex(),r=this.moveToNextToken;if(!r||!F(r,25))return this.popStack(),!1;this.macroStart=!0;let i=new ut(G(r)),s=this.isFunctionDefinition()||this.processCIdentifier(this.macros,!0);if(!s)return this._issues.push(H(30,i)),this.mergeStack(),this.macroStart=!1,!0;let o=this.consumeDefinitionContent(),a;o.length&&(a=new af(G(o[0],o.at(-1)),o));let c=new ic(i,s,a);this.macros.set(c.name,{macro:c,resolver:uN(c.toString())}),this.nodes.push(c);let l=this.peekIndex();return this.tokens.splice(n,l-n),this.positionStack[this.positionStack.length-1]=n,this.mergeStack(),this.macroStart=!1,!0}processUndef(){this.enqueueToStack();let n=this.peekIndex(),r=this.moveToNextToken;if(!r||!F(r,28))return this.popStack(),!1;this.macroStart=!0;let i=new ut(G(r)),s=this.processCIdentifier(this.macros,!0);if(!s)return this._issues.push(H(30,i)),this.mergeStack(),this.macroStart=!1,!0;let o=new ic(i,s);this.macros.delete(s.name),this.nodes.push(o);let a=this.peekIndex();return this.tokens.splice(n,a-n),this.positionStack[this.positionStack.length-1]=n,this.mergeStack(),this.macroStart=!1,!0}consumeDefinitionContent(){let n=[];for(;this.currentToken;){let r=this.moveToNextToken;r&&n.push(r)}return n}isFunctionDefinition(){this.enqueueToStack();let n=this.processCIdentifier(this.macros,!0);if(!n){this.popStack();return}let r=this.moveToNextToken;if(!F(r,42)||!ln(n.lastToken,r)){this.popStack();return}let i=[],s=this.processCIdentifier(this.macros,!0)||this.processVariadic();for(;s;)i.push(s),!F(this.currentToken,24)&&!F(this.currentToken,43)?this._issues.push(H(28,s)):F(this.currentToken,43)||(r=this.moveToNextToken),s=this.processCIdentifier(this.macros,!0)||this.processVariadic();let o=new Ur(n,i);return F(this.currentToken,43)?(r=this.moveToNextToken,o.lastToken=r):(o.lastToken=this.prevToken,this._issues.push(H(26,i.at(-1)??o))),this.mergeStack(),o}processVariadic(){this.enqueueToStack();let n=this.checkConcurrentTokens([xe(45),xe(45),xe(45)]);if(n.length!==3){this.popStack();return}let r=new sf(G(n[0],n.at(-1)));return this.mergeStack(),r}processIfDefBlocks(){let n=this.peekIndex(),r=this.parseScopedBlock(o=>!!o&&[33,34,32].some(a=>F(o,a))&&!qr(o.prevToken,o),o=>!!o&&[37].some(a=>F(o,a))&&!qr(o.prevToken,o),o=>!!o&&[36,35].some(a=>F(o,a))&&!qr(o.prevToken,o));if(!r)return;let i;F(r.startToken,32)?i=this.processIfBlock(r,(o,a,c)=>new cf(o,a??null,c)):i=this.processIfDefBlock(r,(o,a,c)=>F(r.startToken,33)?new oc(o,a??null,c):new lf(o,a??null,c)),this.nodes.push(i),i.getInValidTokenRange(this.macros,this.tokens).reverse().forEach(o=>{this.tokens.splice(o.start,o.end-o.start+1)}),[...i instanceof Fi?i.ifBlocks:[i.ifDef],...i.elseOption?[i.elseOption]:[]].forEach(o=>{!o.active&&o.content&&this._issues.push(H(47,o.content,cc.DiagnosticSeverity.Hint,[],[cc.DiagnosticTag.Unnecessary]))}),this.positionStack[this.positionStack.length-1]=n}processIfDefBlock(n,r){this.enqueueToStack(),this.macroStart=!0;let i=new ut(G(n.startToken));n.splitTokens[0].rewind();let s=this.processCIdentifier(this.macros,!0);s||this._issues.push(H(31,i)),this.macroStart=!1;let o,a=s?.lastToken.nextToken??i.lastToken.nextToken;a&&n.splitTokens[0].tokens.find(f=>f===a)&&(o=new ks(G(a,n.splitTokens[0].tokens.at(-1))));let c=r(i,s??null,o??null),l;if(n.splitTokens.length>1){let f=n.splitTokens[1].tokens[0].prevToken,h=new ut(G(f)),y;n.splitTokens[1].tokens.length&&(y=new ks(G(n.splitTokens[1].tokens[0],n.splitTokens[1].tokens.at(-1)))),l=new ac(h,y??null)}let u;n.endToken?u=new ut(G(n.endToken)):this._issues.push(H(46,i));let d=new Mo(c,u??null,l);return this.mergeStack(),d}processIfBlock(n,r){this.enqueueToStack();let i=new ut(G(n.startToken)),s=[],o;n.splitTokens.forEach((l,u)=>{l.rewind();let d=this.prevToken,f=new ut(G(d));this.macroStart=!0;let h=this.processExpression(this.macros,!0)||this.processCIdentifier(this.macros,!0);if(this.macroStart=!1,u===n.splitTokens.length-1&&F(d,36)){let p=d,T=new ut(G(p)),S;l.tokens.length&&(S=new ks(G(l.tokens[0],l.tokens.at(-1)))),o=new ac(T,S??null)}else{h||this._issues.push(H(31,i));let p,T=h?.lastToken.nextToken??i.lastToken.nextToken;T&&l.tokens.find(b=>b===T)&&(p=new ks(G(T,n.splitTokens[u].tokens.at(-1))));let S=r(f,h??null,p??null);s.push(S)}});let a;n.endToken?a=new ut(G(n.endToken)):this._issues.push(H(46,i));let c=new Fi(s,a??null,o);return this.mergeStack(),c}get allAstItems(){return[...this.dtsIncludes,...this.nodes]}resolveInclude(n){if(n.path.path)return n.path.relative?[(0,Lo.resolve)((0,Lo.dirname)(n.uri),n.path.path),...this.incudes.map(r=>(0,Lo.resolve)(r,n.path.path))].find(r=>(0,ey.existsSync)(r)):this.incudes.map(r=>(0,Lo.resolve)(r,n.path.path)).find(r=>(0,ey.existsSync)(r))}async processInclude(){this.enqueueToStack();let n=this.peekIndex(),r=this.currentToken;if(!r)return this.popStack(),!1;let i=r,s=r;if(F(r,26))this.moveToNextToken;else{let p=this.checkConcurrentTokens([xe(13),ct("include"),xe(13)]);if(p.length!==3)return this.popStack(),!1;i=p[0],s=p.at(-1)}let o=i,a=new ut(G(i,s));r=this.moveToNextToken;let c=r,l=!!F(r,21);if(!c||!l&&!F(r,5))return o&&this.moveEndOfLine(o),this.mergeStack(),!0;let u="";if(l)u=r?.value??"";else for(;this.currentToken?.pos.line===o.pos.line&&!F(this.currentToken,4);)u+=this.currentToken?.value??"",r=this.moveToNextToken;let d=new Ro(u,l,G(c,r)),f=new xi(a,d);this.dtsIncludes.push(f),l||(this.currentToken?.pos.line!==o.pos.line||!F(this.currentToken,4)?this._issues.push(H(12,f)):(r=this.moveToNextToken,d.lastToken=r)),this.mergeStack();let h=this.peekIndex(),y=this.resolveInclude(f);if(f.resolvedPath=y,y||this._issues.push(H(36,f.path,cc.DiagnosticSeverity.Warning)),y){qn().requestTokens(y,!0);let p=await lc().getCPreprocessorParser(y,this.incudes,this.macros,this.uri);await p.stable,this._issues.push(...p.issues),this.macros.clear(),Array.from(p.macros).forEach(([T,S])=>this.macros.set(T,S)),y.endsWith(".h")?this.tokens.splice(n,h-n):this.tokens.splice(n,h-n,...p.tokens),this.nodes.push(...p.nodes),this.dtsIncludes.push(...p.dtsIncludes)}else this.tokens.splice(n,h-n);return this.positionStack[this.positionStack.length-1]=n,!0}};var ty,uf=class{constructor(){this.headerFiles=new Map;this.includeOwners=new WeakMap}getCPreprocessorParser(e,n,r,i){e=nt(e);let s=`${Array.from(r).map(l=>l[1].macro.toString()).join("::")}`,o=this.headerFiles.get(e)?.get(s);if(o)return o.reparse(r),o;console.log("No cpreprocess cache",e);let a=new $o(e,n,r),c=this.includeOwners.get(a)??new Set;return c.add(i),this.includeOwners.set(a,c),this.headerFiles.has(e)||this.headerFiles.set(e,new Map),this.headerFiles.get(e)?.set(s,a),a}reset(e){e=nt(e);let n=this.headerFiles.get(e);n&&Array.from(n).forEach(r=>{r[1]&&(console.log("disposing cpreprocessor cache for",e),Array.from(this.includeOwners.get(r[1])??[]).forEach(this.reset.bind(this)),this.headerFiles.delete(e))})}};function lc(){return ty??=new uf,ty}function mR(){ty=new uf}var ny,df=class t{constructor(){this.fileMap=new Map}static clone(e){let n=e.map(r=>({...r}));return n.forEach((r,i)=>{r.prevToken=n[i-1],r.nextToken=n[i+1]}),n}needsRenew(e,n){return e=nt(e),this.fileMap.get(e)?.text!==n}getDocument(e){return ko.create(e,"devicetree",0,this.fileMap.get(e)?.text??(0,uc.readFileSync)(e).toString())}renewLexer(e,n){if(e=nt(e),lc().reset(e),!e||!(0,uc.existsSync)(e))return[];try{n??=(0,uc.readFileSync)(e).toString();let r=new nf(n,e);return this.fileMap.set(e,r),t.clone(r.tokens)}catch{}return[]}requestTokens(e,n){e=nt(e);let r=this.fileMap.get(e)?.tokens;return!r&&n?[...this.renewLexer(e)]:t.clone(r??[])}reset(e){e=nt(e),lc().reset(e),this.fileMap.delete(e)}};function qn(){return ny??=new df,ny}function gR(){ny=new df}var qo=class t{constructor(e){this.context=e;this.comments=[];this.includes=[];this.roots=[];this.references=[];this.unlinkedDeletes=[];this.unlinkedRefNodes=[];this.globalDeletes=[];this.rootNode=new ke(this.context.bindingLoader,"/");this.labelsUsedCache=new Map;this.fileTopMostAstCache=new Map}fileTopMostAsts(e){let n=this.fileTopMostAstCache.get(e);if(n)return n;let r=[...this.roots,...this.references,...this.unlinkedDeletes,...this.unlinkedRefNodes,...this.globalDeletes,...this.context.parser.cPreprocessorParser.allAstItems,...this.context.overlayParsers.flatMap(i=>i.cPreprocessorParser.allAstItems)].flatMap(i=>i.getTopMostAstNodeForFile(e));return this.fileTopMostAstCache.set(e,r),r}getDeepestAstNode(e,n){let i=this.fileTopMostAsts(e).find(s=>Kn(s,e,n)||cN(qn().requestTokens(e,!1),s,n));if(i instanceof jt){let o=this.rootNode.getReferenceBy(i)?.getDeepestAstNode(e,n);return o?{...o,runtime:this}:{item:null,runtime:this,ast:$r(i,e,n)}}else if(i instanceof mt&&i.path){let s=this.rootNode.getDeepestAstNode(e,n);return s?{...s,runtime:this}:void 0}else if(i instanceof Oe&&i.path){let s=t.getNodeFromPath(i.path.slice(1),this.rootNode)?.getDeepestAstNode(e,n);return s?{...s,runtime:this}:void 0}else if(i)return{runtime:this,item:null,ast:$r(i,e,n)}}static getNodeFromPath(e,n,r=!0){if(e.length===0)return n;let i=e[0].split("@"),s=i[0],a=i.at(1)?.split(",").map(u=>Number.parseInt(u,16)),c=e.slice(1),l=n.getNode(s,a,r);return l?t.getNodeFromPath(c,l,r):void 0}resolvePath(e,n){if(!e.at(0)?.startsWith("&"))return e;let r=this.labelsUsedCache.get(e[0].slice(1));return r||(n??=this.rootNode.allDescendantsLabels,n.find(s=>s.label.value===e.at(0)?.slice(1)&&s.parentNode instanceof Ye)?.lastLinkedTo?.path)}get issues(){return[...this.labelIssues(),...this.rootNode.issues]}labelIssues(){let e=[],n=new Map;return this.rootNode.allDescendantsLabelsMapped.forEach(r=>{n.has(r.label.label.value)?n.get(r.label.label.value)?.push(r):n.set(r.label.label.value,[r])}),Array.from(n).forEach(r=>{let i=r[1];if(i.length>1){let s=i.find(a=>a.owner instanceof ke);(!i.every(a=>a&&a.owner===s?.owner)||!s)&&e.push(qt(4,i.at(0).label,yR.DiagnosticSeverity.Error,i.slice(1).map(a=>a.label),[],[i.at(0).label.label.value]))}}),e}get typesIssues(){let e=n=>[...n.nodeType?.getIssue(this,n)??[],...n.nodes.flatMap(r=>e(r))];return this.typesIssuesCache??=e(this.rootNode),this.typesIssuesCache}getOrderedNodeAst(e){return lN([...e.definitions,...e.referencedBy],this.context)}};var bR=K(J()),ff=class extends j{constructor(n){super();this.values=n;this.docSymbolsMeta={name:"Values",kind:bR.SymbolKind.String},this.values.forEach(r=>this.addChild(r))}toString(){return this.values.map(n=>n?.toString()).join(",")}toJson(){return this.values.length===1?this.values[0]?.toJson():this.values.map(n=>n?.toJson())}};var vR=K(J()),hf=class extends j{constructor(n){super();this.keyword=n;this.addChild(n),this.docSymbolsMeta={name:"DTS Document version",kind:vR.SymbolKind.Function}}};var Vr=class extends j{constructor(n,r){super();this.value=n;this.labels=r;this.labels.forEach(i=>{this.addChild(i)}),this.addChild(this.value)}toString(n){return`${this.labels.map(r=>r.toString()).join(" ")}${this.value?.toString(n)??"NULL"}`}toPrettyString(n){return`${this.labels.map(r=>r.toString()).join(" ")}${this.value?.toPrettyString(n)??"NULL"}`}};var TR=K(J()),pf=class extends j{constructor(n,r,i){super();this.keyword=n;this.startAddress=r;this.endAddress=i;this.addChild(n),this.docSymbolsMeta={name:"Memreserve",kind:TR.SymbolKind.Function},this.addChild(r),this.addChild(i)}toString(){return`/memreserve/ 0x${this.startAddress?.value?.toString(16)} 0x${this.endAddress?.value?.toString(16)}`}};var _R=K(J()),mf=class extends j{constructor(n,r){super();this.keyword=n;this.bitsSize=r;this.addChild(n),this.docSymbolsMeta={name:"bits",kind:_R.SymbolKind.Function},this.addChild(r)}toString(){return`/bits/ ${this.bitsSize?.value?.toString()}`}};var SR=K(J()),dc=class extends ji{constructor(n,r,i){super();this.uri=n;this.incudes=r;this.tokens=[];this.others=[];this.rootDocument=new Ye;this.unhandledStatements=new mt;this.cPreprocessorParser=new $o(this.uri,this.incudes,i)}get issues(){return[...this._issues,...this.cPreprocessorParser.issues]}getFiles(){return[this.uri,...this.cPreprocessorParser.dtsIncludes.flatMap(n=>n.resolvedPath).filter(n=>!!n)]}reset(){super.reset(),this.others=[],this.rootDocument=new Ye,this._issues=[],this.unhandledStatements=new mt}async reparse(){let n=performance.now(),r=this.stable;return this.parsing=new Promise(i=>{r.then(async()=>{this.reset(),await this.cPreprocessorParser.reparse(),await this.parse(),console.log("parsing",performance.now()-n),i()})}),this.parsing}async parse(){let n=performance.now();if(await this.cPreprocessorParser.stable,this.tokens=this.cPreprocessorParser.tokens,nt(this.uri).endsWith(".h")||(this.positionStack.push(0),this.tokens.length===0))return;let r=async()=>{if(!(this.isDtsDocumentVersion()||this.isMemreserve()||this.isRootNodeDefinition(this.rootDocument)||this.isDeleteNode(this.rootDocument,"Ref")||this.isChildNode(this.rootDocument,"Ref")||this.isProperty(this.unhandledStatements)||this.isDeleteProperty(this.unhandledStatements))){let i=this.moveToNextToken;if(i){let s=new j(G(i));this._issues.push(H(22,s)),this.reportExtraEndStatements()}}};for(;!this.done;)await r();if(this.unhandledStatements.properties.forEach(i=>{this._issues.push(H(32,i))}),this.unhandledStatements.deleteProperties.forEach(i=>{this._issues.push(H(33,i))}),this.positionStack.length!==1)throw new Error("Incorrect final stack size")}isRootNodeDefinition(n){this.enqueueToStack();let r=this.moveToNextToken,i=r,s=13;if(!r||!F(r,s))return this.popStack(),!1;if(i=this.moveToNextToken,s=2,!i||!F(i,s))return this.popStack(),!1;let o=new mt;o.openScope=i,n.addNodeChild(o),this.processNode(o,"Name");let a=this.nodeEnd(o)??i;return o.firstToken=r,o.lastToken=a,this.mergeStack(),!0}nodeEnd(n){let r=this.currentToken;if(F(r,3))this.moveToNextToken;else{let i=this.prevToken;if(i){let s=new j(G(i));this._issues.push(H(3,s))}return this.endStatement(!1)}return this.prevToken?.value==="}"&&(n.closeScope=this.prevToken),this.endStatement()}isNodeEnd(){return F(this.currentToken,3)||F(this.currentToken,1)}endStatement(n=!0){let r=this.currentToken;if(!F(r,1)){let i=this.prevToken;if(i&&n){let s=new j(G(this.prevToken));return this._issues.push(H(1,s)),i}}return this.moveToNextToken,this.reportExtraEndStatements(),r}reportExtraEndStatements(){for(;F(this.currentToken,1);){let n=this.moveToNextToken;if(n){let r=new j(G(n));this._issues.push(H(23,r))}}}processNode(n,r){if(this.done)return!1;let i=!1,s=!1;do{if(s=this.isChildNode(n,r)||this.isProperty(n)||this.isDeleteNode(n,r)||this.isDeleteProperty(n),!s&&!this.isNodeEnd()&&!this.done){let o=this.moveToNextToken;if(o){let a=new j(G(o));this._issues.push(H(22,a)),this.reportExtraEndStatements()}}else if(this.done)break;i=i||s}while(!this.isNodeEnd());return i}processOptionalLabelAssign(n=!1){let r=[],i=this.isLabelAssign(n);for(;i;)r.push(i),i=this.isLabelAssign(n);return r}isChildNode(n,r){this.enqueueToStack();let i;r==="Name"&&(i=this.isOmitIfNoRefNode());let s=this.processOptionalLabelAssign(),o,a,c=r==="Ref"?new jt(s):new Oe(s,i);if(r==="Ref"?a=this.isLabelRef():r==="Name"&&(o=this.isNodeName()),!a&&!o){if(!F(this.currentToken,2))return this.popStack(),!1;c.firstToken=this.currentToken,this._issues.push(H(r==="Name"?[7]:[10,11],c))}let l=!1;if(a&&c instanceof jt?(c.labelReference=a,l=!0):o&&c instanceof Oe&&(l=o.address!==void 0,c.name=o),F(this.currentToken,2)){this.moveToNextToken,c.openScope=this.prevToken;let u=!1;do u=this.processNode(c,"Name");while(u);let d=this.nodeEnd(c);c.lastToken=d}else if(l){let u=a??o;u&&this._issues.push(H(2,u))}else return this.popStack(),!1;return n.addNodeChild(c),this.mergeStack(),!0}processNodeAddress(){let n=this.prevToken,r=this.consumeAnyConcurrentTokens([19,20].map(xe)),i=a=>{a=a.replace(/^0x/,"").replace(/\s+/g,""),a.length%8!==0&&(a=a.padStart(Math.ceil(a.length/8)*8,"0"));let c=[];for(let l=0;l<a.length;l+=8){let u=a.slice(l,l+8);c.push(parseInt(u,16)>>>0)}return c},s=r.length?i(r.map(a=>a.value).join("")):[NaN];if(n){if(s.some(a=>Number.isNaN(a))){let a=new j(G(n));this._issues.push(H(8,a))}else if(!Number.isNaN(s)&&!ln(n,r[0])){let a=new j(G(n,r.at(0)));this._issues.push(H(29,a))}}return new Ud(s,G(r[0]??this.prevToken,r.at(-1)))}processNodeAddresses(n){this.enqueueToStack();let r=this.checkConcurrentTokens([xe(49)]);if(r.length){if(!ln(n.lastToken,r[0])){let o=new j(G(n.lastToken,r[0]));this._issues.push(H(29,o))}let i=[],s=()=>{if(i.push(this.processNodeAddress()),F(this.currentToken,24)){if(this.prevToken&&!ln(this.prevToken,this.currentToken)){let o=new j(G(this.prevToken,this.currentToken));this._issues.push(H(29,o))}this.moveToNextToken,s()}};return s(),this.mergeStack(),i}this.popStack()}isNodeName(){this.enqueueToStack();let n=this.consumeAnyConcurrentTokens([19,47,24,45,48,15,16].map(xe));if(!n.length){this.popStack();return}let r=n.map(o=>o.value).join("");if(!r.match(/^[A-Za-z]/)){this.popStack();return}let i=new Fe(r,G(n[0],n.at(-1))),s=this.processNodeAddresses(i);return i.address=s,this.mergeStack(),i}isPropertyName(){this.enqueueToStack();let n=this.consumeAnyConcurrentTokens([19,47,24,45,48,15,16,44,46].map(xe));if(!n.length){this.popStack();return}let r=new Ge(n.map(i=>i.value).join(""),G(n[0],n.at(-1)));return this.mergeStack(),r}isLabelName(){this.enqueueToStack();let n=this.consumeAnyConcurrentTokens([19,47,48].map(xe));if(!n.length){this.popStack();return}let r=n.map(s=>s.value).join("");if(!r.match(/^[A-Za-z]/)){this.popStack();return}let i=new Wt(r,G(n[0],n.at(-1)));return this.mergeStack(),i}isLabelAssign(n){this.enqueueToStack();let r=this.consumeAnyConcurrentTokens([19,47,48].map(xe));if(!r.length){this.popStack();return}let i=r.map(c=>c.value).join("");if(!i.match(/^[A-Za-z]/)){this.popStack();return}let s=this.currentToken,o=s&&F(s,50),a=new qi(new Wt(i,G(r[0],r.at(-1))),G(r[0],o?s:r.at(-1)));if(o){let c=r.at(-1);c&&(s.pos.line!==a.firstToken.pos.line||s.pos.col!==c.pos.colEnd)&&this._issues.push(H(29,new j(G(c,s)))),this.moveToNextToken}else if(n)this._issues.push(H(24,a));else{this.popStack();return}return this.mergeStack(),a}isProperty(n){this.enqueueToStack();let r=this.processOptionalLabelAssign(),i=this.isPropertyName();if(!i)return this.popStack(),!1;if(F(this.currentToken,2)||F(this.currentToken,49))return this.popStack(),!1;let s=new je(i,r),o;F(this.currentToken,0)?(s.assignOperatorToken=this.currentToken,this.moveToNextToken,o=this.processValue(s),o?.values.filter(c=>!!c).length||this._issues.push(H(0,s)),s.values=o??null):s.values=void 0;let a=this.endStatement();return s.lastToken=a,n.addNodeChild(s),this.mergeStack(),!0}isDtsDocumentVersion(){this.enqueueToStack();let n=this.checkConcurrentTokens([xe(13),ct("d"),ct("ts"),xe(16),ct("v"),ct("1")]);if(n.length!==6)return this.popStack(),!1;let r=n[0],i=r,s=new ut;s.firstToken=r;let o=new hf(s);if(this.others.push(o),F(this.currentToken,13))i=this.moveToNextToken;else return s.lastToken=n.at(-1),this._issues.push(H(21,o)),this.mergeStack(),!0;return s.lastToken=i,o.lastToken=this.endStatement(),this.mergeStack(),!0}isMemreserve(){this.enqueueToStack();let n=this.checkConcurrentTokens([xe(13),ct("memreserve")]);if(n.length!==2)return this.popStack(),!1;let r=new ut;r.firstToken=n[0];let s=n[0];F(this.currentToken,13)?(s=this.moveToNextToken,r.lastToken=s):(r.lastToken=n.at(-1),this._issues.push(H(21,r)));let o=this.processHex()||this.processDec(),a=o&&(this.processHex()||this.processDec()),c=new pf(r,o,a);return this.others.push(c),o||this._issues.push(H(37,r)),a||this._issues.push(H(38,o??r)),c.lastToken=this.endStatement(),this.mergeStack(),!0}processBits(){this.enqueueToStack();let n=this.checkConcurrentTokens([xe(13),ct("b"),ct("its")]);if(n.length!==3){this.popStack();return}let r=new ut;r.firstToken=n[0];let s=n[0];F(this.currentToken,13)?(s=this.moveToNextToken,r.lastToken=s):(r.lastToken=n.at(-1),this._issues.push(H(21,r)));let o=this.processDec(),a=new mf(r,o);return this.others.push(a),o?o.value!==8&&o.value!==16&&o.value!==32&&o.value!==64&&this._issues.push(H(40,o)):this._issues.push(H(39,r)),this._issues.push(H(41,a,SR.DiagnosticSeverity.Warning)),this.mergeStack(),a}isOmitIfNoRefNode(){this.enqueueToStack();let n=this.checkConcurrentTokens([xe(13),ct("omit"),xe(16),ct("if"),xe(16),ct("no"),xe(16),ct("ref"),xe(13)]);if(n.length!==9){this.popStack();return}let r=new ut(G(n[0],n.at(-1)));return this.mergeStack(),r}isDeleteNode(n,r){this.enqueueToStack();let i=this.checkConcurrentTokens([xe(13),ct("d"),ct("e"),ct("lete"),xe(16),ct("node")]);if(!i.length)return this.popStack(),!1;let s=i[0],o=s,a=new ut;if(a.firstToken=s,i.length===1&&!F(this.currentToken,2)){this._issues.push(H(25,a)),a.lastToken=i.at(-1);let d=new Sn(a);return n.addNodeChild(d),this.mergeStack(),!0}let c=i.map(d=>d.value??"").join("");if(!"/delete-node/".startsWith(c)||c.endsWith("-"))return this.popStack(),!1;a.lastToken=i.at(-1),c!=="/delete-node"?this._issues.push(H(c.startsWith("/delete-n")?34:25,a)):F(this.currentToken,13)?(o=this.moveToNextToken,a.lastToken=o):this._issues.push(H(21,a));let l=new Sn(a);if(qr(a.tokenIndexes?.end,s)){let d=this.processNodePathRef();d&&r==="Name"&&this._issues.push(H(7,d));let f=d?void 0:this.isLabelRef();f&&r==="Name"&&this._issues.push(H(7,f));let h=d||f?void 0:this.isNodeName();h&&r==="Ref"&&this._issues.push(H(10,h)),!d&&!h&&!f&&this._issues.push(H([7,10],l)),l.nodeNameOrRef=d??f??h??null}else r==="Name"?this._issues.push(H(7,a)):r==="Ref"&&this._issues.push(H(10,a));let u=this.endStatement();return l.lastToken=u,n.addNodeChild(l),this.mergeStack(),!0}isDeleteProperty(n){this.enqueueToStack();let r=this.checkConcurrentTokens([xe(13),ct("d"),ct("e"),ct("lete"),xe(16),ct("property")]);if(!r.length)return this.popStack(),!1;let i=r[0],s=i,o=new ut;if(o.firstToken=i,r.length===1&&!F(this.currentToken,2)){this._issues.push(H(25,o)),o.lastToken=r.at(-1);let u=new Je(o);return n.addNodeChild(u),this.mergeStack(),!0}let a=r.map(u=>u.value??"").join("");if(!"/delete-property/".startsWith(a)||a.endsWith("-"))return this.popStack(),!1;o.lastToken=r.at(-1),a!=="/delete-property"?this._issues.push(H(a.startsWith("/delete-p")?35:25,o)):F(this.currentToken,13)?(s=this.moveToNextToken,o.lastToken=s):this._issues.push(H(21,o));let c=new Je(o);if(qr(o.tokenIndexes?.end,i)){let u=this.isPropertyName();u||this._issues.push(H(6,c)),c.propertyName=u??null}else this._issues.push(H(6,o));let l=this.endStatement();return c.lastToken=l,n.addNodeChild(c),this.mergeStack(),!0}isNodePathRef(){this.enqueueToStack();let n=this.processOptionalLabelAssign(!0),r=this.processNodePathRef();if(!r){this.popStack();return}let i=[];this.currentToken&&this.currentToken.pos.line===this.currentToken.prevToken?.pos.line&&i.push(...this.processOptionalLabelAssign(!0));let s=new dn(n,r,i);return this.mergeStack(),s}processValue(n){this.enqueueToStack();let i=(()=>{let o=()=>(this.processStringValue()||this.isNodePathRef()||this.isLabelRefValue(n)||this.arrayValues(n)||this.processByteStringValue()||this.isExpressionValue())??null,a=o();if(!a)return[];let c=[a];for(;!F(this.currentToken,1);){let l=this.prevToken,u=this.currentToken,d,f=F(this.currentToken,24);if(f)d=this.currentToken,this.moveToNextToken;else if(!qr(this.prevToken,this.currentToken))break;let h=o();if(u&&h===null&&f){let p=new j(G(u,this.currentToken));this._issues.push(H(0,p))}if(!f&&h===null)break;if(l&&!f&&h){let p=new j(G(l));this._issues.push(H(28,p))}let y=c.at(-1);y&&(y.nextValueSeparator??=d),c.push(h)}return c})();if(i.length===0){this.popStack();return}return this.mergeStack(),new ff(i)}processStringValue(){this.enqueueToStack();let n=this.processOptionalLabelAssign(!0),r=this.moveToNextToken;if(!F(r,21)){this.popStack();return}if(!r?.value)throw new Error("Token must have value");let i=r.value;i.match(/["']$/)&&(i=i.slice(1,-1));let s=new Me(i,G(r));r.value.match(/["']$/)||this._issues.push(H(r.value.startsWith('"')?16:17,s));let o=[];this.currentToken&&this.currentToken.pos.line===this.currentToken.prevToken?.pos.line&&(o=this.processOptionalLabelAssign(!0));let a=new dn(n,s,o);return this.mergeStack(),a}arrayValues(n){this.enqueueToStack();let r=this.processOptionalLabelAssign(!0),i=this.processBits(),s=this.currentToken;if(F(s,5))this.moveToNextToken;else{this.popStack();return}let o=this.processArrayValues(n)??null;o.openBracket=s;let a=this.processOptionalLabelAssign(!0)??[],c=new dn(r,o,a,i);F(this.currentToken,4)?(o&&(o.closeBracket=this.currentToken),this.moveToNextToken):this._issues.push(H(12,c));let l=[];return this.currentToken&&this.currentToken.pos.line===this.currentToken.prevToken?.pos.line&&(l=this.processOptionalLabelAssign(!0)),this.mergeStack(),c.endLabels.push(...l),c.firstToken=s,c.lastToken=this.prevToken,c}processByteStringValue(){this.enqueueToStack();let n=this.processOptionalLabelAssign(!0),r=this.moveToNextToken,i=r;if(!F(i,11)){this.popStack();return}let s=this.processLabeledValue(()=>this.processHexString()),o=this.processOptionalLabelAssign(!0)??[];s.forEach(u=>{let d=0;u.value?.tokenIndexes?.start===u.value?.tokenIndexes?.end&&(d=u.value?.tokenIndexes?.start?.pos.len??0),d%2!==0&&this._issues.push(H(15,u))});let a=new ci(s??[]);a.openBracket=i,a.values.length===0&&(a.firstToken=r,this._issues.push(H(14,a)));let c=new dn(n,a,o);F(this.currentToken,12)?a.closeBracket=this.moveToNextToken:this._issues.push(H(5,c));let l=[];return this.currentToken&&this.currentToken.pos.line===this.currentToken.prevToken?.pos.line&&(l=this.processOptionalLabelAssign(!0)),this.mergeStack(),c.endLabels.push(...l),c.firstToken=r,a.lastToken=this.prevToken,c}processLabeledValue(n){this.enqueueToStack();let r=n(),i=[];if(!r)return this.popStack(),[];for(;r;)i=[...i,r],r=n();if(i){let s=n();s&&(i=[...i,s])}return this.mergeStack(),i}processArrayValues(n){this.enqueueToStack();let r=this.processLabeledValue(()=>this.processRefValue(!1,n)||this.processLabeledHex(!1)||this.processLabeledDec(!1)||this.processLabeledExpression(!0,!1)),i=new Rt(r);return r.length===0&&(i.firstToken=this.currentToken),this.mergeStack(),i}processLabeledHex(n){this.enqueueToStack();let r=this.processOptionalLabelAssign(n),i=this.processHex();if(!i){this.popStack();return}let s=new Vr(i,r);return this.mergeStack(),s}processHexString(){this.enqueueToStack();let n=this.processOptionalLabelAssign(!1),r=this.checkConcurrentTokens([20,20].map(xe));if(!r.length){this.popStack();return}let i=Number.parseInt(r.map(a=>a.value).join(""),16),s=new zt(i,G(r[0],r.at(-1))),o=new Vr(s,n);return this.mergeStack(),o}processLabeledDec(n){this.enqueueToStack();let r=this.processOptionalLabelAssign(n),i=this.processDec();if(!i){this.popStack();return}let s=new Vr(i,r);return this.mergeStack(),s}processLabeledExpression(n=!0,r=n){this.enqueueToStack();let i=[];n&&(i=this.processOptionalLabelAssign(r));let s=this.processExpression(this.cPreprocessorParser.macros);if(!s){this.popStack();return}let o=new Vr(s,i);return this.mergeStack(),o}isExpressionValue(){this.enqueueToStack();let n=this.processOptionalLabelAssign(!1),r=this.processExpression(this.cPreprocessorParser.macros);if(!r){this.popStack();return}let i=this.processOptionalLabelAssign(!0),s=new dn(n,r,i);return this.mergeStack(),s}isLabelRef(n){this.enqueueToStack();let r=this.currentToken;if(!r||!F(r,40)){this.popStack();return}else this.moveToNextToken;let i=this.isLabelName();if(!i){let o=new be(null);return this._issues.push(H(18,new j(G(r)))),o.firstToken=r,this.mergeStack(),o}r&&(i.firstToken.pos.line!==r.pos.line||i.firstToken.pos.col!==r.pos.colEnd)&&this._issues.push(H(29,new j(G(r,i.firstToken))));let s=new be(i);return s.firstToken=r,this.mergeStack(),s}isLabelRefValue(n){this.enqueueToStack();let r=this.processOptionalLabelAssign(!0),i=this.isLabelRef(n);if(!i){this.popStack();return}let s=[];this.currentToken&&this.currentToken.pos.line===this.currentToken.prevToken?.pos.line&&(s=this.processOptionalLabelAssign(!0));let o=new dn(r,i,s);return this.mergeStack(),o}processRefValue(n,r){this.enqueueToStack();let i=this.processOptionalLabelAssign(n),s=this.currentToken;if(!s||!F(s,40)){this.popStack();return}let o=this.processNodePathRef();if(o!==void 0){let l=new Vr(o,i);return this.mergeStack(),l}let a=this.isLabelRef(r);if(a===void 0){this._issues.push(H([18,9],new j(G(s))));let l=new Vr(null,i);return l.firstToken=i.at(0)?.firstToken??s,this.mergeStack(),l}let c=new Vr(a,i);return c.firstToken=i.at(0)?.firstToken??s,this.mergeStack(),c}processNodePath(n=!0,r=new li){this.enqueueToStack();let i;if(F(this.currentToken,13))i=this.moveToNextToken;else{if(!n){this.popStack();return}this.prevToken&&this._issues.push(H(19,new j(G(this.prevToken))))}let s=this.isNodeName();if(s||this._issues.push(H(7,new j(G(i??this.prevToken)))),r.addPath(s??null,i?new j(G(i)):void 0),n&&!i&&r.children.length===0){this.mergeStack();return}return this.processNodePath(!1,r),this.mergeStack(),r}processNodePathRef(){this.enqueueToStack();let n=this.moveToNextToken,r=n;if(!F(r,40)){this.popStack();return}let i=this.moveToNextToken;if(r=i,!F(r,2)){this.popStack();return}let s=this.processNodePath(),o=new Ln(s??null),a=this.currentToken??this.prevToken,c=a;return s?.children.forEach((l,u)=>{if(u===s?.children.length-1&&l&&c&&!ln(l.lastToken,c)){this._issues.push(H(29,new j(G(l.lastToken,c))));return}if(u===0&&i&&!ln(i,l?.firstToken)){this._issues.push(H(29,new j(G(i,l?.firstToken))));return}let d=s?.children[u+1];l&&d&&!ln(l.lastToken,d.firstToken)&&this._issues.push(H(29,new j(G(l.lastToken,d?.firstToken))))}),F(a,3)?this.moveToNextToken:this.prevToken&&this._issues.push(H(3,new j(G(this.prevToken)))),o.firstToken=n,o.lastToken=a??this.prevToken,this.mergeStack(),o}get includes(){return this.allAstItems.filter(n=>n instanceof xi)}get allAstItems(){return[...this.cPreprocessorParser.allAstItems,...this.rootDocument.children,...this.others,...this.unhandledStatements.properties,...this.unhandledStatements.deleteProperties]}};var jo=K(J());var ER=require("fs");var wR=require("path"),gf=class t{constructor(e,n){this.settings=e;this.bindingLoader=n;this._issues=[];this.overlayParsers=[];this.overlays=[];this.ctxNames_=new Set;this.sortKeys=new WeakMap;let r={includePaths:[],overlays:[],zephyrBindings:[],deviceOrgTreeBindings:[],deviceOrgBindingsMetaSchema:[],...e,ctxName:e.ctxName??(0,wR.basename)(e.dtsFile),lockRenameEdits:[]};this.overlays=r.overlays,this.overlays.filter(ER.existsSync),this.parser=new dc(r.dtsFile,r.includePaths),this.ctxNames_.add(r.ctxName),this.id=ai(r),this.parser.stable.then(()=>{this.overlayParsers=this.overlays?.map(i=>new dc(i,r.includePaths,this.parser.cPreprocessorParser.macros))??[]})}get macros(){return[this.parser,...this.overlayParsers].at(-1).cPreprocessorParser.macros}get ctxNames(){return Array.from(this.ctxNames_)}addCtxName(e){this.ctxNames_.add(e)}removeCtxName(e){this.ctxNames_.delete(e)}async getContextIssues(){return[...(await this.getRuntime()).issues,...this._issues]}async getFileTree(){let e=new Map,n=i=>({file:i,includes:(e.get(i)??[]).map(s=>n(s.resolvedPath??s.path))});return(await this.getRuntime()).includes.forEach(i=>{let s=e.get(i.uri);s||(s=[],e.set(i.uri,s)),s.push({path:i.path.path,resolvedPath:i.resolvedPath})}),{mainDtsPath:n(this.parser.uri),overlays:this.overlays.map(n)}}async stable(){await Promise.all([this.parser.stable,...this.overlayParsers.map(e=>e.stable)])}async getRuntime(){return await this.stable(),this._runtime??=this.evaluate(),this._runtime}getContextFiles(){return[...this.overlayParsers.flatMap(e=>e.getFiles()),...this.parser.getFiles()]}isInContext(e){return this.getContextFiles().some(n=>ue(n,e))}getUriParser(e){let n=this.overlayParsers.find(r=>r.getFiles().some(i=>ue(i,e)));return n??=this.parser.getFiles().some(r=>ue(r,e))?this.parser:void 0,n}async getAllParsers(){return await this.stable(),[this.parser,...this.overlayParsers]}async getDocumentLinks(e,n){if(!this.isInContext(e))return[];let i=(await this.getRuntime()).rootNode.allBindingsProperties.filter(s=>ue(s.ast.uri,e)&&(!n||Kn(s.ast,e,n))).flatMap(s=>s.ast.values?.values.flatMap(o=>{let c=s.parent?.nodeTypes.find(l=>o?.value instanceof Me&&l.compatible===o.value.value);return c?{range:te(o.value),target:he(c.bindingsPath)}:void 0})).filter(s=>s)??[];return[...this.parser.cPreprocessorParser.dtsIncludes.filter(s=>ue(s.uri,e)&&(!n||Kn(s,e,n))).map(s=>{let o=this.parser.cPreprocessorParser.resolveInclude(s);if(o)return{range:te(s.path),target:he(o)}}).filter(s=>s)??[],...i]}linkPropertiesLabelsAndNodePaths(e){let n=s=>[...s.property,...s.nodes.flatMap(n)],r=n(e.rootNode),i=e.rootNode.allDescendantsLabels;r.forEach(s=>s.ast.allDescendants.forEach(o=>{if(o instanceof be){let a=e.resolvePath([`&${o.label?.value}`],i);if(a){let c=e.rootNode.getChild(a);o.linksTo=c,c?.linkedRefLabels.push(o)}else o.value&&this._issues.push(qt(3,o,jo.DiagnosticSeverity.Error,[],[],[o.value]))}else if(o instanceof li){let a=e.rootNode,c=o.pathParts;for(let l=0;l<c.length&&c[l];l++){let u=!1,d=c[l];if(d){let f=a?.getNode(d.name,d.fullAddress,!1);d.linksTo=f,!u&&!f&&(u=!0,this._issues.push(qt(8,d,jo.DiagnosticSeverity.Error,[],[],[d.toString(),`${o.pathParts.filter(h=>h?.linksTo).map(h=>h?.toString()).join("/")}`]))),f?.linkedNodeNamePaths.push(d),a=f}else break}}}))}async reevaluate(e){let n=this.getUriParser(e);return n?(this.sortKeys=new WeakMap,await n.reparse(),this._runtime=this.evaluate(),this._runtime):this._runtime}getSortKey(e){if(e)return this.sortKeys.get(e.firstToken)}async evaluate(){let e=performance.now();await this.stable();let n=new qo(this);this._issues=[],this.processRoot(this.parser.rootDocument,n);for(let r=0;r<this.overlayParsers.length;r++)this.processRoot(this.overlayParsers[r].rootDocument,n);return n.includes=this.parser.includes,n.comments=this.parser.cPreprocessorParser.allAstItems.filter(r=>r instanceof jr),(await this.getAllParsers()).flatMap(r=>r.tokens).forEach((r,i)=>this.sortKeys.set(r,i)),this.linkPropertiesLabelsAndNodePaths(n),console.log(`(ID: ${this.id}) evaluate`,performance.now()-e),n}processRoot(e,n){for(let r=0;r<e.children.length;r++){let i=e.children[r];this.processChild(i,n.rootNode,n)}}processChild(e,n,r){e instanceof Ye?this.processDtcBaseNode(e,n,r):e instanceof je?this.processDtcProperty(e,n,r):e instanceof Sn?this.processDeleteNode(e,n,r):e instanceof Je&&this.processDeleteProperty(e,n,r)}checkNodeUniqueNames(e,n){let r=(o,a)=>o.some(c=>c.name===a.name&&(c.address===void 0||a.fullAddress===void 0||Lr(c.address,a.fullAddress)===0)),i=n.nodes.map(o=>({name:o.name,address:o.address})),s=[];e.children.forEach(o=>{if(o instanceof Oe&&o.name)r(s.map(a=>({name:a.name,address:a.fullAddress})),o.name)&&this._issues.push(qt(2,o.name)),s.push(o.name);else if(o instanceof Sn&&o.nodeNameOrRef instanceof Fe){let a=o.nodeNameOrRef;r(i,a)&&(s=s.filter(c=>r(s.map(l=>({name:l.name,address:l.fullAddress})),c)))}})}processDtcBaseNode(e,n,r){e instanceof mt?this.processDtcRootNode(e,r):e instanceof Oe?this.processDtcChildNode(e,n,r):e instanceof jt&&this.processDtcRefNode(e,r)}processDtcRootNode(e,n){n.roots.push(e),n.rootNode.definitions.push(e),this.checkNodeUniqueNames(e,n.rootNode),[...e.children].sort((r,i)=>r instanceof je&&i instanceof Je||i instanceof je&&r instanceof Je?0:i instanceof je?1:0).forEach(r=>this.processChild(r,n.rootNode,n))}processDtcChildNode(e,n,r){if(e.name?.name){let i=e.path?r.resolvePath(e.path):void 0,o=(i?r.rootNode.getChild(i):void 0)??new ke(this.bindingLoader,e.name.name,e.name.fullAddress,n);o.definitions.push(e),e.labels.forEach(a=>a.lastLinkedTo=o),n=o,this.checkNodeUniqueNames(e,o)}[...e.children].sort((i,s)=>i instanceof Ye&&s instanceof Ye?0:i instanceof Ye?-1:0).forEach(i=>this.processChild(i,n,r))}processDtcRefNode(e,n){let r;if(e.labelReference){let i=e.resolveNodePath??(e.pathName?n.resolvePath([e.pathName]):void 0);i?(e.resolveNodePath??=[...i],r=n.rootNode.getChild(i),e.labelReference.linksTo=r,e.labels.forEach(s=>s.lastLinkedTo=r),r?.linkedRefLabels.push(e.labelReference),r?.referencedBy.push(e),e.labels.forEach(s=>{n.labelsUsedCache.set(s.label.value,i)}),r?(n.references.push(e),this.checkNodeUniqueNames(e,r)):n.unlinkedRefNodes.push(e)):(this._issues.push(qt(3,e.labelReference,jo.DiagnosticSeverity.Error,[],[],[e.labelReference.label?.value??""])),n.unlinkedRefNodes.push(e))}else n.unlinkedRefNodes.push(e);[...e.children].sort((i,s)=>i instanceof Ye&&s instanceof Ye?0:i instanceof Ye?-1:0).forEach(i=>this.processChild(i,r??new ke(this.bindingLoader,""),n))}processDtcProperty(e,n,r){e.propertyName?.name&&n.addProperty(new ze(e,n)),e.children.forEach(i=>this.processChild(i,n,r))}processDeleteNode(e,n,r){if(e.nodeNameOrRef instanceof Fe&&e.nodeNameOrRef.value){if(e.parentNode?.parentNode)if(!n.hasNode(e.nodeNameOrRef.name,e.nodeNameOrRef.fullAddress))this._issues.push(qt(5,e.nodeNameOrRef));else{n.deletes.push(e);let i=n.getNode(e.nodeNameOrRef.name,e.nodeNameOrRef.fullAddress);e.nodeNameOrRef.linksTo=i,n.deleteNode(e.nodeNameOrRef.name,e,e.nodeNameOrRef.fullAddress),i?.labels.forEach(s=>{r.labelsUsedCache.delete(s.label.value)})}}else if(e.nodeNameOrRef instanceof be&&e.nodeNameOrRef.value){let i=r.resolvePath([`&${e.nodeNameOrRef.value}`]),s;i?(s=r.rootNode.getChild(i),n.deletes.push(e),e.nodeNameOrRef.linksTo=s,s?.labels.forEach(o=>{r.labelsUsedCache.delete(o.label.value)}),s?.linkedRefLabels.push(e.nodeNameOrRef),s?.parent?.deleteNode(s.name,e,s.address),e.parentNode instanceof Ye&&!e.parentNode.pathName&&r.globalDeletes.push(e)):(r.unlinkedDeletes.push(e),this._issues.push(qt(3,e.nodeNameOrRef,jo.DiagnosticSeverity.Error,[],[],[e.nodeNameOrRef.value])))}else if(e.nodeNameOrRef instanceof Ln&&e.nodeNameOrRef.path&&!e.nodeNameOrRef.path.pathParts.some(i=>!i)){let i=["/",...e.nodeNameOrRef.path.pathParts.map(u=>u.toString())],s=r.rootNode,o=e.nodeNameOrRef.path.pathParts;for(let u=0;u<o.length&&o[u];u++){let d=o[u];if(d){let f=s?.getNode(d.name,d.fullAddress,!1);d.linksTo=f,f?.linkedNodeNamePaths.push(d),s=f}}let a=e.nodeNameOrRef.path.pathParts.every(u=>u),c=e.nodeNameOrRef.path.pathParts.find(u=>u&&!u.linksTo),l=e.nodeNameOrRef.path.pathParts.at(-1)?.linksTo;l||(r.unlinkedDeletes.push(e),c&&this._issues.push(qt(8,c,jo.DiagnosticSeverity.Error,[],[],[c.toString(),`${e.nodeNameOrRef.path.pathParts.filter(u=>u?.linksTo).map(u=>u?.toString()).join("/")}`]))),n.deletes.push(e),l?.labels.forEach(u=>{r.labelsUsedCache.delete(u.label.value)}),l?.parent?.deleteNode(l.name,e,l.address),e.parentNode instanceof Ye&&!e.parentNode.pathName&&r.globalDeletes.push(e)}else r.unlinkedDeletes.push(e);e.children.forEach(i=>this.processChild(i,n,r))}processDeleteProperty(e,n,r){e.propertyName?.name&&!n.hasProperty(e.propertyName.name)?this._issues.push(qt(1,e.propertyName)):e.propertyName?.name&&(n.deletes.push(e),n.deleteProperty(e.propertyName.name,e)),e.children.forEach(i=>this.processChild(i,n,r))}static#e(e,n,r){let i=r.get(n);i||(i=[],r.set(n,i)),i.push(e)}async getDiagnostics(){let e=new Map;try{return(await this.getAllParsers()).forEach(i=>{i.issues.forEach(s=>t.#e(s.diagnostic(),s.raw.astElement.uri,e))}),(await this.getContextIssues()??[]).forEach(i=>t.#e(i.diagnostic(),i.raw.astElement.uri,e)),(await this.getRuntime())?.typesIssues.forEach(i=>t.#e(i.diagnostic(),i.raw.astElement.uri,e)),e}catch(n){throw console.error(n),n}}async toFullString(){return`/dts-v1/;
279
279
  ${(await this.getRuntime()).rootNode.toFullString((await this.getAllParsers()).at(-1).cPreprocessorParser.macros)}`}async serialize(){return(await this?.getRuntime())?.rootNode.serialize((await this.getAllParsers()).at(-1).cPreprocessorParser.macros)}};var Et=K(J());var kR=require("fs"),Fo=require("path");function m$(t){if(!t||!(t.ast instanceof Ro))return[];let e=r=>r.flatMap(i=>(0,kR.readdirSync)(i,{withFileTypes:!0,recursive:!0}).filter(s=>s.name.toLowerCase().endsWith(".dtsi")||s.name.toLowerCase().endsWith(".h")).map(s=>({label:`${(0,Fo.join)((0,Fo.relative)(i,s.parentPath),s.name)}`,kind:Et.CompletionItemKind.File})));if(t.ast.relative)return e([(0,Fo.dirname)(t.ast.uri)]);let n=t.runtime.context.settings.includePaths??[];return e(n)}var bf=(t,e)=>[...t.labels.filter(e),...t.deletedNodes.filter(n=>!e(n.by)).flatMap(n=>bf(n.node,e)),...t.nodes.flatMap(n=>bf(n,e))],ry=(t,e)=>[...t.labels,...t.deletedNodes.filter(n=>!e(n.by)).flatMap(n=>ry(n.node,e)),...t.nodes.flatMap(n=>ry(n,e))];function g$(t,e){if(!t||!(t.item instanceof ze)||!(t.ast instanceof be))return[];let n=r=>ry(r,e);return Array.from(new Set(n(t.runtime.rootNode).map(r=>r.label.value))).map(r=>({label:`${r}`,kind:Et.CompletionItemKind.Method}))}function y$(t,e){if(!t||t.item!==null||!(t.ast instanceof be)||!(t.ast.parentNode instanceof jt))return[];let n=r=>bf(r,e).filter(i=>e(i));return[...Array.from(new Set(n(t.runtime.rootNode).map(r=>r.label.value))).map(r=>({label:r,insertText:`${r} {
280
280
  $1
281
281
  };`,kind:Et.CompletionItemKind.Value,insertTextFormat:Et.InsertTextFormat.Snippet}))]}function b$(t,e){let n=i=>i?i.parentNode instanceof jt||i.parentNode instanceof mt||i.parentNode instanceof Oe?!1:n(i.parentNode):!0;if(!t||t.item!==null||!At(t.ast)||!n(t.ast))return[];let r=i=>bf(i,e).filter(s=>e(s));return t.ast instanceof ut?r(t.runtime.rootNode).length?[{label:"/delete-node/",insertText:"/delete-node/ $1;",kind:Et.CompletionItemKind.Keyword,insertTextFormat:Et.InsertTextFormat.Snippet,sortText:"~"}]:t.runtime.rootNode.nodes.length?[{label:"/delete-node/ &{}",insertText:"/delete-node/ {/$1};",kind:Et.CompletionItemKind.Keyword,insertTextFormat:Et.InsertTextFormat.Snippet,sortText:"~"}]:[]:Array.from(new Set(r(t.runtime.rootNode).map(i=>i.label.value))).map(i=>({label:t.ast instanceof be?`${i}`:`&${i}`,kind:Et.CompletionItemKind.Variable}))}function v$(t,e){if(!t||!(t.item instanceof ke)||t.item===null||t.beforeAst&&(!(t.beforeAst?.parentNode instanceof un)||t.beforeAst?.parentNode instanceof Je))return[];let n=r=>[...r.nodes,...r.deletedNodes.filter(i=>!e(i.by)).map(i=>i.node)].flatMap(i=>i.definitions.filter(s=>s instanceof Oe)).filter(i=>e(i));return t.ast instanceof Fe||t.ast instanceof Sn||t.beforeAst?.parentNode instanceof Sn?Array.from(new Set(n(t.item).map(r=>r.name?.toString()))).map(r=>({label:`${r}`,kind:Et.CompletionItemKind.Variable})):n(t.item).length?[{label:"/delete-node/",kind:Et.CompletionItemKind.Keyword,insertTextFormat:Et.InsertTextFormat.Snippet,sortText:"~"}]:[]}function T$(t,e){if(!t||!(t.item instanceof ke)||t.beforeAst&&(!(t.beforeAst?.parentNode instanceof un)||t.beforeAst?.parentNode instanceof Sn))return[];let n=r=>[...r.property,...r.deletedProperties.filter(i=>!e(i.by)).map(i=>i.property)].flatMap(i=>[i,...i.allReplaced]).filter(i=>e(i.ast));return t.ast instanceof Ge||t.ast instanceof Je||t.beforeAst?.parentNode instanceof Je?Array.from(new Set(n(t.item).map(r=>r.name))).map(r=>({label:`${r}`,kind:Et.CompletionItemKind.Variable})):n(t.item).length?[{label:"/delete-property/",insertText:"/delete-property/$1;",kind:Et.CompletionItemKind.Keyword,sortText:"~",insertTextFormat:Et.InsertTextFormat.Snippet}]:[]}function _$(t,e){let n=t?.ast instanceof li?t.ast:t?.ast.parentNode;if(!t||!n||!(n instanceof li))return[];let r=n.pathParts.slice(0,-1);if(r.some(o=>!o))return[];let i=r.map(o=>o.toString());return(()=>{let o=t.runtime.rootNode.getChildFromScope(["/",...i],e);return[...o?.nodes.filter(a=>!At(t.ast)||a.definitions.some(e))??[],...o?.deletedNodes.filter(a=>!e(a.by)).map(a=>a.node)??[]].map(a=>a.fullName)??[]})().map(o=>({label:`/${[...i,o].join("/")}`,kind:Et.CompletionItemKind.Variable}))}var yf=t=>!t||t instanceof je?!1:t instanceof dn||yf(t.parentNode);function S$(t){return!t||!(t.item instanceof ze&&t.item.ast.assignOperatorToken)?[]:!yf(t?.ast)&&!(t.ast instanceof je&&t.item.ast.values===null)&&!yf(t.beforeAst)&&!yf(t.afterAst)?[]:t.item.parent.nodeType instanceof En?Array.from([t.runtime.context.parser,...t.runtime.context.overlayParsers].at(-1)?.cPreprocessorParser.macros??[]).map(([r,i])=>i.macro.identifier instanceof Ur?{label:`${i.macro.identifier.toString()}`,insertText:`${i.macro.name}(${i.macro.identifier.params.map((s,o)=>s instanceof Ot?`$${o+1}`:"").join(", ")})`,kind:Et.CompletionItemKind.Function,sortText:`~${i.macro.name}`,insertTextFormat:Et.InsertTextFormat.Snippet}:{label:i.macro.identifier.name,kind:Et.CompletionItemKind.Variable,sortText:`~${i.macro.name}`}):[]}async function NR(t,e){return _t(t,e,(n,r)=>[...T$(n,r),...v$(n,r),...b$(n,r),..._$(n,r),...y$(n,r),...g$(n,r),...m$(n),...S$(n)])}var zr=K(J());function E$(t){if(!t||t.item===null||!(t.ast instanceof Ge))return[];let e=r=>r.replacedBy?e(r.replacedBy):r,n=r=>[r.ast,...r.allReplaced.map(i=>i.ast),r.parent.deletedProperties.find(i=>i.property===r)?.by??[]].map(i=>{if(i instanceof je)return zr.Location.create(he(i.uri),te(i.propertyName??i));if(i instanceof Je)return zr.Location.create(he(i.uri),te(i.propertyName??i))}).filter(i=>i);if(t.item instanceof ze&&t.ast instanceof Ge)return n(e(t.item));if(t.item instanceof ke&&t.ast instanceof Ge&&t.ast.parentNode instanceof Je){let r=t.item.deletedProperties.find(i=>i.by===t.ast.parentNode)?.property;if(r)return n(r)}return[]}function w$(t){if(!t)return[];let e=n=>{let i=t.runtime.rootNode.getNode("aliases")?.property.filter(o=>{let a=o.ast.quickValues;if(a?.length===1&&typeof a[0]=="string"&&t.runtime.rootNode.getChild(a[0].split("/"))===n)return!0}).map(o=>o.ast)??[],s=n.parent?.deletedNodes.filter(o=>o.node===n&&(o.by.nodeNameOrRef instanceof Fe?o.by.nodeNameOrRef!==t.ast:!n.linkedRefLabels.some(a=>a!==t.ast))).map(o=>o.by.nodeNameOrRef)??[];return[...i,...n.linkedRefLabels,...n.linkedNodeNamePaths,...n.definitions,...s].map(o=>{if(o instanceof mt)return zr.Location.create(he(o.uri),te(o.name??o));if(o instanceof Oe)return zr.Location.create(he(o.uri),te(o.name??o));if(o instanceof Fe)return zr.Location.create(he(o.uri),te(o));if(o instanceof Fe)return zr.Location.create(he(o.uri),te(o));if(o instanceof be)return zr.Location.create(he(o.uri),te(o.label??o));if(o instanceof je)return zr.Location.create(he((o.values??o)?.uri),te(o.values??o))}).filter(o=>o)};if(t.item instanceof ke&&!At(t.ast))return e(t.item);if(t.ast instanceof Wt&&t.ast.parentNode instanceof be&&t.ast.parentNode.linksTo)return e(t.ast.parentNode.linksTo);if(t.ast instanceof Fe&&t.ast.linksTo)return At(t.ast)?[...e(t.ast.linksTo),zr.Location.create(he(t.ast.uri),te(t.ast))]:e(t.ast.linksTo);if(t?.ast instanceof Me&&t.item instanceof ze&&t.item.parent.name==="aliases"){let n=t.runtime.rootNode.getChild(t.ast.value.split("/"));if(n)return e(n)}return[]}async function PR(t,e){return _t(t,e,n=>[...w$(n),...E$(n)])}var ui=K(J());function RR(t){if(!t||t.item===null||!(t.ast instanceof Ge))return[];let e=r=>r.replacedBy?e(r.replacedBy):r,n=r=>[r.ast,...r.allReplaced.map(i=>i.ast),r.parent.deletedProperties.find(i=>i.property===r)?.by??[]].map(i=>{if((i instanceof je||i instanceof Je)&&i.propertyName)return ui.Location.create(he(i.uri),te(i.propertyName))}).filter(i=>i);if(t.item instanceof ze&&t.ast instanceof Ge)return n(e(t.item));if(t.item instanceof ke&&t.ast instanceof Ge&&t.ast.parentNode instanceof Je){let r=t.item.deletedProperties.find(i=>i.by===t.ast.parentNode)?.property;if(r)return n(r)}return[]}function CR(t,e){if(!e||!(e.ast instanceof Wt))return[];"newName"in t&&(e.ast.parentNode instanceof be&&t.newName.startsWith("&")?t.newName=t.newName.slice(1):e.ast.parentNode instanceof qi&&t.newName.endsWith(":")&&(t.newName=t.newName.slice(0,-1)));let n=e.ast.value,r=i=>[...i.definitions.filter(s=>s instanceof Oe).flatMap(s=>s.labels.map(o=>o.label)),...i.linkedRefLabels.map(s=>s.label)].filter(s=>s?.value===n).map(s=>{if(s)return ui.Location.create(he(s.uri),te(s))}).filter(s=>s);return e.item instanceof ke&&!At(e.ast)?r(e.item):e.ast instanceof Wt&&e.ast.parentNode instanceof be&&e.ast.parentNode.linksTo?r(e.ast.parentNode.linksTo):[]}function DR(t){if(!t||!(t.ast instanceof Fe))return[];let e=n=>{let i=t.runtime.rootNode.getNode("aliases")?.property.filter(o=>{let a=o.ast.quickValues;if(a?.length===1&&typeof a[0]=="string"){let c=t.runtime.rootNode.getChild(a[0].split("/"));if(c?.isChildOf(n)||c===n)return!0}}).map(o=>o.ast)??[],s=n.parent?.deletedNodes.filter(o=>o.node===n&&o.by.nodeNameOrRef!==t.ast).map(o=>o.by.nodeNameOrRef)??[];return[...i,...n.linkedNodeNamePaths,...n.definitions,...s].map(o=>{if(o instanceof Oe&&o.name)return ui.Location.create(he(o.uri),te(o.name));if(o instanceof Fe)return ui.Location.create(he(o.uri),te(o));if(o instanceof je&&o.values?.values[0]?.value&&o.values?.values[0]?.value instanceof Me){let a=o.values.values[0].value,c=te(a),l=a.value.split("/"),u=n.path,d=l.slice(0,u.length-1).join("/").length+1,f=a.value.length-l.slice(0,u.length).join("/").length;return c.start.character+=1+d,c.end.character-=1+f,ui.Location.create(he(o.values.values[0].uri),c)}}).filter(o=>o)};return t.item instanceof ke&&!At(t.ast)?e(t.item):t.ast instanceof Fe&&t.ast.linksTo?At(t.ast)?[...e(t.ast.linksTo),ui.Location.create(he(t.ast.uri),te(t.ast))]:e(t.ast.linksTo):[]}async function AR(t,e){let n={};return(await _t(t,e,i=>[...DR(i),...CR(t,i),...RR(i)])).forEach(i=>{n[i.uri]??=[],n[i.uri].push(ui.TextEdit.replace(i.range,t.newName))}),{changes:n}}async function OR(t,e){let n=await _t(t,e,r=>[...DR(r),...CR(t,r),...RR(r)]);if(n.some(r=>e?.settings.lockRenameEdits?.some(i=>Ve(r.uri).startsWith(i))))throw new Error('Path is locked by user setting "lockRenameEdits"');return{defaultBehavior:!!n.length}}var Bo=K(J());function k$(t){if(!t||t.item===null||!(t.ast instanceof Ge))return[];let e=r=>r.replacedBy?e(r.replacedBy):r,n=r=>[r.ast,...r.allReplaced.map(i=>i.ast)].map(i=>{if(i instanceof je)return Bo.Location.create(he(i.uri),te(i.propertyName??i))}).filter(i=>i);if(t.item instanceof ze&&t.ast instanceof Ge)return n(e(t.item));if(t.item instanceof ke&&t.ast instanceof Ge&&t.ast.parentNode instanceof Je){let r=t.item.deletedProperties.find(i=>i.by===t.ast.parentNode)?.property;if(r)return n(r)}return[]}function N$(t){if(!t)return[];let e=n=>[...n.definitions,...n.referencedBy].map(r=>{if(r instanceof mt)return Bo.Location.create(he(r.uri),te(r));if(r instanceof Oe)return Bo.Location.create(he(r.uri),te(r));if(r instanceof jt)return Bo.Location.create(he(r.uri),te(r))}).filter(r=>r);if(t.item instanceof ke&&!At(t.ast))return e(t.item);if(t.ast instanceof Wt&&t.ast.parentNode instanceof be&&t.ast.parentNode.linksTo)return e(t.ast.parentNode.linksTo);if(t.ast instanceof Fe&&t.ast.linksTo)return e(t.ast.linksTo);if(t?.ast instanceof Me&&t.item instanceof ze&&t.item.parent.name==="aliases"){let n=t.runtime.rootNode.getChild(t.ast.value.split("/"));if(n)return e(n)}return[]}function P$(t){if(t?.ast instanceof Ot||t?.ast instanceof xr){let e=t.runtime.context.parser.cPreprocessorParser.macros.get(t.ast instanceof Ot?t.ast.name:t.ast.value);if(e)return[Bo.Location.create(he(e.macro.uri),te(e.macro.identifier))]}return[]}async function IR(t,e){return _t(t,e,n=>[...N$(n),...k$(n),...P$(n)])}var vf=K(J());function R$(t){if(!t||t.item===null||!(t.ast instanceof Ge))return;let e=r=>r.replaces?e(r.replaces):r,n=r=>vf.Location.create(he(r.ast.uri),te(r.ast.propertyName??r.ast));if(t.item instanceof ze&&t.ast instanceof Ge)return n(e(t.item));if(t.item instanceof ke&&t.ast instanceof Ge&&t.ast.parentNode instanceof Je){let r=t.item.deletedProperties.find(i=>i.by===t.ast.parentNode)?.property;if(r)return n(e(r))}}function C$(t){if(!t)return;let e=n=>{let r=n.definitions.at(0);return r?vf.Location.create(he(r.uri),te(r)):void 0};if(t.item instanceof ke&&!At(t.ast))return e(t.item);if(t.ast instanceof Wt&&t.ast.parentNode instanceof be&&t.ast.parentNode.linksTo)return e(t.ast.parentNode.linksTo);if(t.ast instanceof Fe&&t.ast.linksTo)return e(t.ast.linksTo);if(t?.ast instanceof Me&&t.item instanceof ze&&t.item.parent.name==="aliases"){let n=t.runtime.rootNode.getChild(t.ast.value.split("/"));if(n)return e(n)}}function D$(t){if(t?.ast instanceof Ot||t?.ast instanceof xr){let e=t.runtime.context.parser.cPreprocessorParser.macros.get(t.ast instanceof Ot?t.ast.name:t.ast.value);if(e)return vf.Location.create(he(e.macro.uri),te(e.macro.identifier))}}async function xR(t,e){return(await _t(t,e,n=>[C$(n)||R$(n)||D$(n)])).at(0)}var re=K(J());var A$=(t,e,n,r,i)=>{switch(n){case 1:return[{title:"Add semicolon",diagnostics:[r],kind:re.CodeActionKind.SourceFixAll,isPreferred:!0,edit:{changes:{[i]:[re.TextEdit.insert(re.Position.create(r.range.end.line,r.range.end.character),";")]}}}];case 2:return[{title:"Add open curly",diagnostics:[r],kind:re.CodeActionKind.SourceFixAll,isPreferred:!0,edit:{changes:{[i]:[re.TextEdit.insert(re.Position.create(r.range.end.line,r.range.end.character)," {")]}}}];case 29:return[{title:"Remove white space",diagnostics:[r],kind:re.CodeActionKind.SourceFixAll,isPreferred:!0,edit:{changes:{[i]:[re.TextEdit.replace(re.Range.create(re.Position.create(r.range.start.line,t.pos.colEnd),re.Position.create(r.range.end.line,e.pos.col)),"")]}}}];case 3:return[{title:"Add close curly",diagnostics:[r],kind:re.CodeActionKind.QuickFix,isPreferred:!0,edit:{changes:{[i]:[re.TextEdit.insert(re.Position.create(r.range.end.line,r.range.end.character),"}")]}}}];case 19:return[{title:"Add '/'",diagnostics:[r],kind:re.CodeActionKind.QuickFix,isPreferred:!0,edit:{changes:{[i]:[re.TextEdit.insert(re.Position.create(r.range.end.line,r.range.end.character),"/")]}}}];case 28:return[{title:"Add comma",diagnostics:[r],kind:re.CodeActionKind.SourceFixAll,isPreferred:!0,edit:{changes:{[i]:[re.TextEdit.insert(re.Position.create(r.range.end.line,r.range.end.character),",")]}}}];case 21:return[{title:"Add '/'",diagnostics:[r],kind:re.CodeActionKind.SourceFixAll,isPreferred:!0,edit:{changes:{[i]:[re.TextEdit.insert(re.Position.create(r.range.end.line,r.range.end.character),"/")]}}}];case 23:return[{title:"Remove ';'",diagnostics:[r],kind:re.CodeActionKind.SourceFixAll,isPreferred:!0,edit:{changes:{[i]:[re.TextEdit.del(r.range)]}}}];case 34:return[{title:"Complete Keyword '/delete-node/",diagnostics:[r],kind:re.CodeActionKind.SourceFixAll,isPreferred:!0,edit:{changes:{[i]:[re.TextEdit.replace(r.range,"/delete-node/")]}}}];case 35:return[{title:"Complete Keyword '/delete-property/",diagnostics:[r],kind:re.CodeActionKind.SourceFixAll,isPreferred:!0,edit:{changes:{[i]:[re.TextEdit.replace(r.range,"/delete-property/")]}}}];case 25:return[{title:"Complete Keyword '/delete-property/",diagnostics:[r],kind:re.CodeActionKind.QuickFix,isPreferred:!0,edit:{changes:{[i]:[re.TextEdit.replace(r.range,"/delete-property/")]}}},{title:"Complete Keyword '/delete-node/",diagnostics:[r],kind:re.CodeActionKind.QuickFix,isPreferred:!0,edit:{changes:{[i]:[re.TextEdit.replace(r.range,"/delete-node/")]}}}];case 12:return[{title:"Add '>'",diagnostics:[r],kind:re.CodeActionKind.SourceFixAll,isPreferred:!0,edit:{changes:{[i]:[re.TextEdit.insert(re.Position.create(r.range.end.line,r.range.end.character),">")]}}}];default:return}},O$=(t,e,n,r,i)=>{if(!r)return[];switch(t){case 0:return[{title:i??`Add Property "${r.newText.split("=",1)[0].replace(";","").trim()}"`,diagnostics:[e],kind:re.CodeActionKind.QuickFix,isPreferred:!0,edit:{changes:{[n]:[r]}}}];case 27:return[{title:i??"Remove Property",diagnostics:[e],kind:re.CodeActionKind.QuickFix,isPreferred:!0,edit:{changes:{[n]:[r]}}}];case 26:return[{title:i??"TODO",diagnostics:[e],kind:re.CodeActionKind.QuickFix,isPreferred:!0,edit:{changes:{[n]:[r]}}}];case 25:return r?[{title:i??"TODO",diagnostics:[e],kind:re.CodeActionKind.QuickFix,isPreferred:!0,edit:{changes:{[n]:[r]}}}]:[];default:return}};function MR(t){let e=t.context.diagnostics.flatMap(a=>{let c=a.data;switch(c?.issues.type){case"SyntaxIssue":return c?.issues.items.flatMap(l=>A$(c.firstToken,c.lastToken,l,a,t.textDocument.uri));case"StandardTypeIssue":return c?.issues.items.flatMap(l=>O$(l,a,t.textDocument.uri,c.issues.edit,c.issues.codeActionTitle))}}).filter(a=>!!a),n=e.filter(a=>a.kind===re.CodeActionKind.SourceFixAll),r=e.filter(a=>a.title.startsWith("Add Property")),i=e.filter(a=>a.kind!==re.CodeActionKind.SourceFixAll),s=n.flatMap(a=>a.edit?.changes?.[t.textDocument.uri]??[]),o=new Map;return r.forEach(a=>{let c=a.edit.changes[t.textDocument.uri][0],l=c.range.start.line,u=c.range.start.character;o.has(`${l}:${u}`)||o.set(`${l}:${u}`,[]),o.get(`${l}:${u}`)?.push(c)}),[...i,...n.map(a=>({...a,kind:re.CodeActionKind.QuickFix})),...s.length?[{title:"Fix All",kind:re.CodeActionKind.SourceFixAll,isPreferred:!0,edit:{changes:{[t.textDocument.uri]:s}}}]:[],...Array.from(o.values()).flatMap(a=>a.length>1?{title:"Add All Missing Properties",kind:re.CodeActionKind.QuickFix,isPreferred:!0,edit:{changes:{[t.textDocument.uri]:a}}}:[])]}var Tf=t=>!t||t instanceof je?!1:t instanceof dn||Tf(t.parentNode);function I$(t){if(!t||!(t.item instanceof ze&&t.item.ast.assignOperatorToken))return[];let e=Tf(t?.ast);if(!e&&!(t.ast instanceof je&&t.item.ast.values===null)&&!Tf(t.beforeAst)&&!Tf(t.afterAst))return[];let n=-1;t.item.ast.values===null?n=0:n=(t.item.ast.values?.values.findIndex(i=>i&&xg(i,t.beforeAst))??-1)+1,n===-1&&(n=0);let r=t.item.parent.nodeType;return r instanceof En?r.properties.find(i=>i.name===t.item?.name)?.getPropertyCompletionItems(t.item,n,e)??[]:[]}function x$(t){if(!t||!(t.item instanceof ze&&t.ast instanceof Ge&&t.item.ast.values==null||t.item instanceof ke)||At(t.ast)||t.beforeAst?.parentNode instanceof un)return[];let e=n=>n.nodeType?.getPropertyListCompletionItems(n)??[];return t.item instanceof ze?e(t.item.parent):e(t.item)}async function LR(t,e){return _t(t,e,n=>[...I$(n),...x$(n)])}var _f=K(J());async function M$(t){if(t?.ast instanceof Ot||t?.ast instanceof xr){let e=t.runtime.context.parser.cPreprocessorParser.macros.get(t?.ast instanceof Ot?t.ast.name:t.ast.value);if(e){let n=Xa(t.ast),r=(await t.runtime.context.getAllParsers()).at(-1);if(n){let i=n?.evaluate(r.cPreprocessorParser.macros);return{contents:{kind:_f.MarkupKind.Markdown,value:["```cpp",`#define ${e.macro.toString()} // = ${i}${typeof i=="number"?` (0x${i.toString(16)})`:""}`,"```"].join(`
@@ -306,4 +306,4 @@ ${r}`])]},JY=(t,e)=>kx(t,e.split("/").filter(n=>n)),kx=(t,e)=>{if(e.length===0)r
306
306
  `}function Xx(t,e,n,r,i,s,o){if(typeof o=="function"&&(o={callback:o}),o?.callback){let{callback:a}=o;p_(t,e,n,r,i,s,Object.assign(Object.assign({},o),{callback:c=>{a(c?Ep(c):void 0)}}))}else{let a=p_(t,e,n,r,i,s,o);return a?Ep(a):void 0}}function m_(t,e,n,r,i,s){return Xx(t,t,e,n,r,i,s)}function fK(t){let e=t.endsWith(`
307
307
  `),n=t.split(`
308
308
  `).map(r=>r+`
309
- `);return e?n.pop():n.push(n.pop().slice(0,-1)),n}var Jx=require("timers"),Qx=require("events");var g_=class extends Qx.EventEmitter{constructor(e=3e3,n=1e3){super(),this.thresholdBytes=e*1024*1024,this.interval=(0,Jx.setInterval)(()=>{let r=process.memoryUsage().heapUsed;r>this.thresholdBytes&&this.emit("thresholdExceeded",{usedMb:(r/1024/1024).toFixed(2),thresholdMb:e})},n)}stop(){clearInterval(this.interval)}},hK=new g_(3e3),Zx=()=>{hK.on("thresholdExceeded",({usedMb:t,thresholdMb:e})=>{console.warn(`[HeapMonitor] Heap usage exceeded ${e}MB: ${t}MB used`),gR(),mR()})};var Le=[],Ue,ka,kp=new WeakMap,wp=new Map;Zx();var nM=async t=>{await t.stable(),t.getContextFiles().forEach(e=>{wp.has(e)||wp.set(e,new _p(e,S_,n=>!!Np(n))),wp.get(e)?.watch()})},T_=async t=>{let e=Le.indexOf(t);if(e===-1)return;Pp(t,void 0,!0),kp.delete(t),console.log(`(ID: ${t.id}) cleaning Context for [${t.ctxNames.join(",")}]`);let n=await Xs(t);if(ee.sendNotification("devicetree/contextDeleted",{ctxNames:t.ctxNames.map(r=>r.toString()),id:t.id,...await t.getFileTree(),settings:t.settings,active:Ue===t,type:n.type}),Le.splice(e,1),await w_(),t===Ue&&(Ue=void 0,Le.length)){let r=ka?hr(Le,{uri:ka}):void 0;r??=Le[0],console.log("Active context was deleted. Forcing active to",r.id),await Mt({id:r.id},!0)}rM(t)},rM=async t=>{await t.stable(),t.getContextFiles().forEach(e=>wp.get(e)?.unwatch())},pK=t=>{let e=kp.get(t);if(!e?.abort.signal.aborted)return Promise.all([e?.promise,t.getRuntime()])},$e=async()=>{await Promise.all(Le.map(pK))},__=async t=>(await iM()).indexOf(t)!==-1,iM=async()=>{let t=await sM();return Le.filter(e=>!t.some(n=>n===e))},sM=async()=>{let t=await v_();return Le.filter(e=>t.contexts.find(n=>ai(n)===e.id))},mK=async()=>{let t=await TK();return Le.filter(e=>t.contexts.find(n=>ai(n)===e.id))},gK=async t=>(await mK()).indexOf(t)!==-1,yK=async(t,e)=>{if(t===e)return!0;let n=(await t.getAllParsers()).flatMap(i=>i.cPreprocessorParser.dtsIncludes).filter(i=>i.resolvedPath),r=(await e.getAllParsers()).flatMap(i=>i.cPreprocessorParser.dtsIncludes).filter(i=>i.resolvedPath);return r.some(i=>ue(i.resolvedPath,t.parser.uri))&&n.length?n.every(i=>r.some(s=>s.resolvedPath===i.resolvedPath&&s.firstToken.pos.col===i.firstToken.pos.col&&s.firstToken.pos.len===i.firstToken.pos.len&&s.firstToken.pos.line===i.firstToken.pos.line&&s.lastToken.pos.col===i.lastToken.pos.col&&s.lastToken.pos.len===i.lastToken.pos.len&&s.lastToken.pos.line===i.lastToken.pos.line)):e.getContextFiles().some(i=>ue(i,t.parser.uri))},bK=async t=>{if(!await __(t))return;let e=await iM(),n=await sM(),r=await Bd(e);if(Le.indexOf(t)===-1)return;let i=await Promise.all(r.flatMap(a=>[...n,...e.filter(c=>c!==a.context)].map(async c=>({context:a.context,same:await yK(a.context,c)})))),s=t.getContextFiles(),o=r.filter(a=>i.some(c=>c.context===a.context&&c.same)||a.context!==t&&ue(a.context.parser.uri,t.parser.uri)&&s.some(c=>c&&a.files.indexOf(c)!==-1)).map(a=>a.context);o.length&&o.forEach(T_)},ee=(0,rt.createConnection)(rt.ProposedFeatures.all),Cr=new rt.TextDocuments(ko),oM=!1,y_=!1,aM=!1,cM=!1,lM=!1,b_;ee.onInitialize(t=>{b_=t.workspaceFolders??[],ee.console.log(`[Server(${process.pid}) ${b_?.at(0)?.uri} Version 0.4.3 ] Started and initialize received`);let e=t.capabilities;oM=!!(e.workspace&&e.workspace.configuration),y_=!!(e.workspace&&e.workspace.workspaceFolders),aM=!!e.workspace?.diagnostics?.refreshSupport,cM=!!e.workspace?.semanticTokens?.refreshSupport,lM=!!e.workspace?.foldingRange?.refreshSupport;let n={capabilities:{typeDefinitionProvider:!0,workspaceSymbolProvider:!0,textDocumentSync:rt.TextDocumentSyncKind.Incremental,renameProvider:{prepareProvider:!0},completionProvider:{resolveProvider:!0,triggerCharacters:["&","="," "]},codeActionProvider:{codeActionKinds:[rt.CodeActionKind.QuickFix,rt.CodeActionKind.SourceFixAll]},documentSymbolProvider:!0,semanticTokensProvider:{legend:{tokenTypes:Td,tokenModifiers:_d},full:!0},documentLinkProvider:{resolveProvider:!1},foldingRangeProvider:!0,definitionProvider:!0,declarationProvider:!0,referencesProvider:!0,documentFormattingProvider:!0,hoverProvider:!0,signatureHelpProvider:{triggerCharacters:["<","("],retriggerCharacters:[" ",","]}}};return y_&&(n.capabilities.workspace={workspaceFolders:{changeNotifications:!0,supported:!0}}),n});ee.onInitialized(()=>{oM&&ee.client.register(rt.DidChangeConfigurationNotification.type,{}),y_&&ee.workspace.onDidChangeWorkspaceFolders(async t=>{ee.console.log("Workspace folder change event received"),await Fl()})});var vK=async()=>{let t=uM();return t={...Ks,...t},Ml(t,await jl())},v_=async()=>{let t=EK();return t={...Ks,...t},Ml(t,await jl())},TK=async()=>{let t=wK();return t={...Ks,...t},Ml(t,await jl())},ql=async()=>{let t=SK();return t={...Ks,...t},Ml(t,await jl())},_K=new Map,jl=async()=>(await ee.workspace.getWorkspaceFolders()??b_)?.map(e=>Ve(e.uri))?.at(0),eM=async t=>{let e=hr(Le,{id:ai(t)});if(e)return e.ctxNames.includes(t.ctxName)||console.log(`(ID: ${e.id}) Adding name ${t.ctxName} for [${e.ctxNames.join(",")}]`),e.addCtxName(t.ctxName),e;let n=ai(t);console.log(`(ID: ${n}) New context [${t.ctxName}]`),console.log(`(ID: ${n}) Settings: ${JSON.stringify(t,void 0," ")}`);let r=new gf(t,t.bindingType?qx({zephyrBindings:t.zephyrBindings??[],deviceOrgBindingsMetaSchema:t.deviceOrgBindingsMetaSchema??[],deviceOrgTreeBindings:t.deviceOrgTreeBindings??[]},t.bindingType):void 0);Le.push(r),nM(r),await r.stable();let i=await Xs(r);return ee.sendNotification("devicetree/contextCreated",{ctxNames:r.ctxNames.map(s=>s.toString()),id:r.id,...await r.getFileTree(),settings:r.settings,active:r===Ue,type:i.type}),await bK(r),await w_(),r},Fl=async()=>{let t=await v_(),e=await ql();e.allowAdhocContexts||(e=await v_());let n=e.contexts.map(ai);Le.filter(i=>!n.includes(i.id)).forEach(T_),await t.contexts?.reduce((i,s)=>i.then(async()=>{await eM(s)}),Promise.resolve()),e.allowAdhocContexts&&await(await vK()).contexts?.reduce((s,o)=>s.then(async()=>{hr(Le,{uri:o.dtsFile})||await eM(o)}),Promise.resolve()),ka?await Mt({uri:ka}):!Ue&&Le.length&&(console.log(`No active context using first context (ID: ${Le[0].id}) [${Le[0].ctxNames.join(",")}]`),await Mt({id:Le[0].id}))},or,cs,$l=new Map,wa=new Map,SK=()=>!cs&&!or?void 0:{...cs,...or,contexts:[...or?.contexts??[],...Array.from(wa.values()),...Array.from($l.values())]},uM=()=>!cs&&!or?void 0:{...cs,...or,contexts:[...Array.from($l.values())]},EK=()=>!cs&&!or?void 0:{...cs,...or,contexts:[...or?.contexts??[],...Array.from(wa.values())]},wK=()=>!cs&&!or?void 0:{...or,contexts:[...or?.contexts??[]]};function kK(t){let e={...t};for(let n in e)e[n]===null&&delete e[n];return e}var dM=async()=>{let t=await ql();console.log("Resolved settings",JSON.stringify(t,void 0," ")),ee.sendNotification("devicetree/settingsChanged",t),await Fl(),$e().then(()=>{aM&&ee.languages.diagnostics.refresh()})};ee.onDidChangeConfiguration(async t=>{t?.settings?.devicetree&&(or=Ux(kK(t.settings.devicetree)),console.log("Configuration changed",JSON.stringify(t,void 0," ")),await dM())});var fM=()=>{let t=Ue?.getContextFiles();Array.from(Cr.keys()).forEach(e=>{t?.some(n=>ue(n,Ve(e)))||ee.sendDiagnostics({uri:e,version:Cr.get(e)?.version,diagnostics:[{severity:rt.DiagnosticSeverity.Warning,range:rt.Range.create(rt.Position.create(0,0),rt.Position.create(0,0)),message:"File not in active context",source:"devicetree"}]})})},S_=async t=>{let e=Ig(Le,t);if(e.length)e.forEach(n=>{kp.get(n)?.abort.abort();let r=new AbortController,i=new Promise(s=>{setTimeout(async()=>{if(r.signal.aborted){s();return}let o=performance.now(),a=Ue===n,c=a?hM(n):[];rM(n),await n.reevaluate(t),nM(n),a&&E_(n).then(l=>{let u=l.items.map(d=>({uri:d.uri,version:d.version??void 0,diagnostics:d.items}));Pp(n,c.filter(d=>u.every(f=>f.uri!==d.uri))),u.forEach(d=>{ee.sendDiagnostics(d)})}),s(),console.log("reevaluate",performance.now()-o)},50)});kp.set(n,{abort:r,promise:i})});else{if((await ql()).allowAdhocContexts===!1)return;await Fl(),await Mt({uri:t})}},NK=t=>Cr.keys().find(e=>ue(Ve(e),t)),Np=t=>{let e=NK(t);if(e)return Cr.get(e)},hM=t=>t.getContextFiles().map(e=>({uri:he(e),version:Np(e)?.version,diagnostics:[]})),Pp=async(t,e=hM(t),n=!1)=>{!n&&t!==Ue||await Promise.all(e.filter(r=>t===Ue||!Ue?.getContextFiles().some(i=>ue(Ve(r.uri),i))).map(r=>ee.sendDiagnostics({uri:r.uri,version:Cr.get(r.uri)?.version,diagnostics:[]})))},E_=async t=>{await t.stable();let e=performance.now(),n=await t.getDiagnostics(),r=t.getContextFiles().map(i=>({uri:he(i),kind:rt.DocumentDiagnosticReportKind.Full,items:n.get(i)??[],version:Np(i)?.version??null}));return console.log(`(ID: ${t.id})`,"workspace diagnostics",`[${t.ctxNames.join(",")}]`,performance.now()-e),{items:[...r]}},w_=async()=>{let t=await Promise.all(Le.map(Xs));console.log("======== Context List ========"),t.forEach(e=>{console.log(`(ID: ${e.ctx.id}) [${e.ctx.ctxNames.join(",")}]`,`[${e.type}]`,Ue===e.ctx?" [ACTIVE]":"")}),console.log("==============================")},Xs=async t=>{let e=await __(t),n=!e&&await gK(t);return{ctx:t,type:e?"Ad Hoc":n?"User":"3rd Party"}},Mt=async(t,e=!1)=>{"uri"in t&&(ka=t.uri,console.log("Active File Uri",ka));let n=await ql();if(await $e(),Ue&&!e&&!n.autoChangeContext||!e&&Ue?.getContextFiles().find(s=>"uri"in t&&ue(s,t.uri)))return!1;let r=Ue,i=hr(Le,t);return r!==i&&(r&&Pp(r),Ue=i,i?(Xs(i).then(async s=>{let o=await i.getFileTree();i!==Ue&&!Le.includes(i)||ee.sendNotification("devicetree/newActiveContext",{ctxNames:i.ctxNames.map(a=>a.toString()),id:i.id,...o,settings:i.settings,active:Ue===i,type:s.type})}),E_(i).then(s=>{s.items.map(o=>({uri:o.uri,version:o.version??void 0,diagnostics:o.items})).forEach(o=>{ee.sendDiagnostics(o)})}),await w_()):ee.sendNotification("devicetree/newActiveContext",void 0)),lM&&ee.languages.foldingRange.refresh(),cM&&ee.languages.semanticTokens.refresh(),fM(),!0};Cr.listen(ee);Cr.onDidClose(async t=>{let e=Ve(t.document.uri),n=Ig(Le,e);if(n.length===0){$l.delete(e),ee.sendDiagnostics({uri:t.document.uri,version:Cr.get(t.document.uri)?.version,diagnostics:[]});return}await Promise.all(n.map(async r=>{(r?.getContextFiles()??[]).filter(o=>o!==e).some(o=>Np(o))?Ue?.getContextFiles().some(o=>ue(o,e))||ee.sendDiagnostics({uri:t.document.uri,version:Cr.get(t.document.uri)?.version,diagnostics:[]}):await __(r)?(T_(r),$l.delete(r.settings.dtsFile)):Pp(r)})),_K.delete(t.document.uri)});Cr.onDidOpen(async t=>{await $e(),fM();let e=Ve(t.document.uri),n=hr(Le,{uri:e});if(n)n!==Ue&&await Mt({id:n.id});else{let r={ctxName:(0,tM.basename)(e),dtsFile:e};$l.set(e,r),await S_(e)}});Cr.onDidChangeContent(async t=>{let e=Ve(t.document.uri),n=t.document.getText(),r=qn();r.needsRenew(e,n)&&(console.log("Content changed"),r.renewLexer(e,n),await S_(e))});ee.listen();ee.languages.diagnostics.onWorkspace(async()=>{await $e();let t=Ue;return t?E_(t):{items:[]}});ee.onDidChangeWatchedFiles(t=>{ee.console.log("We received a file change event")});ee.onCompletion(async t=>{await $e();let e=Ve(t.textDocument.uri);Mt({uri:e});let n=cn(e);return n?[...await NR(t,n),...await LR(t,n)]:[]});ee.onCompletionResolve(t=>t);var cn=t=>{let e=uM();return hr(Le,{uri:t},Ue,e?.preferredContext)};ee.onDocumentSymbol(async t=>{await $e();let e=Ve(t.textDocument.uri),n=cn(e);return n?n.getUriParser(e)?.getDocumentSymbols(e):[]});ee.onWorkspaceSymbol(async()=>{await $e();let t=Ue;return t?(await t.getAllParsers()).flatMap(e=>e.getWorkspaceSymbols()):[]});ee.languages.semanticTokens.on(async t=>{try{await $e();let e=Ve(t.textDocument.uri),n=cn(e),r=new rt.SemanticTokensBuilder,i=n?.isInContext(e);return!n||!i?{data:[]}:((await n.getAllParsers()).forEach(s=>s.buildSemanticTokens(r,e)),r.build())}catch(e){throw console.log(e),e}});ee.onDocumentLinks(async t=>{await $e();let e=Ve(t.textDocument.uri);return cn(e)?.getDocumentLinks(e)});ee.onPrepareRename(async t=>{await $e();let e=Ve(t.textDocument.uri);Mt({uri:e});let n=cn(e);return OR(t,n)});ee.onRenameRequest(async t=>{await $e();let e=Ve(t.textDocument.uri);Mt({uri:e});let n=cn(e);return AR(t,n)});ee.onReferences(async t=>{await $e();let e=Ve(t.textDocument.uri);Mt({uri:e});let n=cn(e);return PR(t,n)});ee.onDefinition(async t=>{await $e();let e=Ve(t.textDocument.uri);Mt({uri:e});let n=cn(e),r=(await n?.getDocumentLinks(e,t.position))?.filter(i=>i.target).map(i=>rt.Location.create(i.target,i.range))??[];return r.length?r:IR(t,n)});ee.onDeclaration(async t=>{await $e();let e=Ve(t.textDocument.uri);Mt({uri:e});let n=cn(e);return xR(t,n)});ee.onCodeAction(async t=>MR(t));ee.onDocumentFormatting(async t=>{await $e();let e=Ve(t.textDocument.uri);Mt({uri:e});let n=cn(e);return n?Lg(t,n,qn().getDocument(e).getText()):[]});ee.onHover(async t=>{await $e();let e=Ve(t.textDocument.uri),n=cn(e);return(await $R(t,n)).at(0)});ee.onFoldingRanges(async t=>{await $e();let e=Ve(t.textDocument.uri),n=cn(e),r=n?.isInContext(e);if(!n||!r)return[];let i=(await n.getAllParsers()).find(s=>s.getFiles().some(o=>o===e));return i?Fx(e,i):[]});ee.onTypeDefinition(async t=>{await $e();let e=Ve(t.textDocument.uri);Mt({uri:e});let n=cn(e);return Bx(t,n)});ee.onSignatureHelp(async t=>{await $e();let e=Ve(t.textDocument.uri);Mt({uri:e});let n=cn(e);return Kx(t,n)});ee.onRequest("devicetree/getContexts",async()=>(await $e(),Promise.all(Le.map(async t=>{let e=await Xs(t);return{ctxNames:t.ctxNames.map(n=>n.toString()),id:t.id,...await t.getFileTree(),settings:t.settings,active:Ue===t,type:e.type}}))));ee.onRequest("devicetree/setActive",async t=>(await $e(),console.log("devicetree/setActive",t),await Mt(t,!0)));ee.onRequest("devicetree/getActiveContext",async t=>{if(await $e(),console.log("devicetree/getActiveContext",t),await Mt({id:t},!0),!Ue)return;let e=await Xs(Ue);return Ue?{ctxNames:Ue.ctxNames.map(n=>n.toString()),id:t,...await Ue.getFileTree(),settings:Ue.settings,active:!0,type:e.type}:void 0});ee.onRequest("devicetree/setDefaultSettings",async t=>{await $e(),cs=t,console.log("Integration Settings",t),await dM()});ee.onRequest("devicetree/requestContext",async t=>{await $e();let e=await ql(),n=await u_(t,e,await jl());console.log("devicetree/requestContext",n);let r=ai(n),i=Array.from(wa).find(([,a])=>a.ctxName===t.ctxName);if(i){let a=i[0].split(":",1)[0];hr(Le,{name:t.ctxName.toString()})?.removeCtxName(t.ctxName),console.log(`Removing integration context with ID ${a} and name ${t.ctxName}`),wa.delete(i[0])}wa.set(`${r}:${t.ctxName}`,t),await Fl();let s=Le.find(a=>a.id===r);if(!s)throw new Error("Failed to create context");let o=await Xs(s);return{ctxNames:s.ctxNames.map(a=>a.toString()),id:r,...await s.getFileTree(),settings:s.settings,active:!0,type:o.type}});ee.onRequest("devicetree/removeContext",async({id:t,name:e})=>{await $e(),wa.delete(`${t}:${e}`);let n=hr(Le,{id:t});if(n){if(n.removeCtxName(e),n.ctxNames.length){console.log("Context will not be deleted as it is still in use by others");return}await Fl()}});ee.onRequest("devicetree/compiledDtsOutput",async t=>(await $e(),t?hr(Le,{id:t})?.toFullString():void 0));ee.onRequest("devicetree/serializedContext",async t=>(await $e(),t?hr(Le,{id:t})?.serialize():void 0));ee.onRequest("devicetree/customActions",async t=>(await $e(),Gx(t,Ue)));ee.onRequest("devicetree/activeFileUri",async t=>{await $e(),Mt({uri:t})});ee.onRequest("devicetree/formatingDiff",async t=>{await $e();let e=Ve(t.textDocument.uri);Mt({uri:e});let n=cn(e);if(!n)return[];let r=qn().getDocument(e),i=await Lg(t,n,r.getText());if(i.length===0)return;let s=hN(r,i);return m_(r.uri,r.getText(),s)});ee.onRequest("devicetree/diagnosticIssues",async t=>{await $e();let e=Ve(t.uri);Mt({uri:e});let n=cn(e);if(!n)return[];let r=(await n.getDiagnostics()).get(e);if(r?.length)return r});
309
+ `);return e?n.pop():n.push(n.pop().slice(0,-1)),n}var Jx=require("timers"),Qx=require("events");var g_=class extends Qx.EventEmitter{constructor(e=3e3,n=1e3){super(),this.thresholdBytes=e*1024*1024,this.interval=(0,Jx.setInterval)(()=>{let r=process.memoryUsage().heapUsed;r>this.thresholdBytes&&this.emit("thresholdExceeded",{usedMb:(r/1024/1024).toFixed(2),thresholdMb:e})},n)}stop(){clearInterval(this.interval)}},hK=new g_(3e3),Zx=()=>{hK.on("thresholdExceeded",({usedMb:t,thresholdMb:e})=>{console.warn(`[HeapMonitor] Heap usage exceeded ${e}MB: ${t}MB used`),gR(),mR()})};var Le=[],Ue,ka,kp=new WeakMap,wp=new Map;Zx();var nM=async t=>{await t.stable(),t.getContextFiles().forEach(e=>{wp.has(e)||wp.set(e,new _p(e,S_,n=>!!Np(n))),wp.get(e)?.watch()})},T_=async t=>{let e=Le.indexOf(t);if(e===-1)return;Pp(t,void 0,!0),kp.delete(t),console.log(`(ID: ${t.id}) cleaning Context for [${t.ctxNames.join(",")}]`);let n=await Xs(t);if(ee.sendNotification("devicetree/contextDeleted",{ctxNames:t.ctxNames.map(r=>r.toString()),id:t.id,...await t.getFileTree(),settings:t.settings,active:Ue===t,type:n.type}),Le.splice(e,1),await w_(),t===Ue&&(Ue=void 0,Le.length)){let r=ka?hr(Le,{uri:ka}):void 0;r??=Le[0],console.log("Active context was deleted. Forcing active to",r.id),await Mt({id:r.id},!0)}rM(t)},rM=async t=>{await t.stable(),t.getContextFiles().forEach(e=>wp.get(e)?.unwatch())},pK=t=>{let e=kp.get(t);if(!e?.abort.signal.aborted)return Promise.all([e?.promise,t.getRuntime()])},$e=async()=>{await Promise.all(Le.map(pK))},__=async t=>(await iM()).indexOf(t)!==-1,iM=async()=>{let t=await sM();return Le.filter(e=>!t.some(n=>n===e))},sM=async()=>{let t=await v_();return Le.filter(e=>t.contexts.find(n=>ai(n)===e.id))},mK=async()=>{let t=await TK();return Le.filter(e=>t.contexts.find(n=>ai(n)===e.id))},gK=async t=>(await mK()).indexOf(t)!==-1,yK=async(t,e)=>{if(t===e)return!0;let n=(await t.getAllParsers()).flatMap(i=>i.cPreprocessorParser.dtsIncludes).filter(i=>i.resolvedPath),r=(await e.getAllParsers()).flatMap(i=>i.cPreprocessorParser.dtsIncludes).filter(i=>i.resolvedPath);return r.some(i=>ue(i.resolvedPath,t.parser.uri))&&n.length?n.every(i=>r.some(s=>s.resolvedPath===i.resolvedPath&&s.firstToken.pos.col===i.firstToken.pos.col&&s.firstToken.pos.len===i.firstToken.pos.len&&s.firstToken.pos.line===i.firstToken.pos.line&&s.lastToken.pos.col===i.lastToken.pos.col&&s.lastToken.pos.len===i.lastToken.pos.len&&s.lastToken.pos.line===i.lastToken.pos.line)):e.getContextFiles().some(i=>ue(i,t.parser.uri))},bK=async t=>{if(!await __(t))return;let e=await iM(),n=await sM(),r=await Bd(e);if(Le.indexOf(t)===-1)return;let i=await Promise.all(r.flatMap(a=>[...n,...e.filter(c=>c!==a.context)].map(async c=>({context:a.context,same:await yK(a.context,c)})))),s=t.getContextFiles(),o=r.filter(a=>i.some(c=>c.context===a.context&&c.same)||a.context!==t&&ue(a.context.parser.uri,t.parser.uri)&&s.some(c=>c&&a.files.indexOf(c)!==-1)).map(a=>a.context);o.length&&o.forEach(T_)},ee=(0,it.createConnection)(it.ProposedFeatures.all),Cr=new it.TextDocuments(ko),oM=!1,y_=!1,aM=!1,cM=!1,lM=!1,b_;ee.onInitialize(t=>{b_=t.workspaceFolders??[],ee.console.log(`[Server(${process.pid}) ${b_?.at(0)?.uri} Version 0.4.4 ] Started and initialize received`);let e=t.capabilities;oM=!!(e.workspace&&e.workspace.configuration),y_=!!(e.workspace&&e.workspace.workspaceFolders),aM=!!e.workspace?.diagnostics?.refreshSupport,cM=!!e.workspace?.semanticTokens?.refreshSupport,lM=!!e.workspace?.foldingRange?.refreshSupport;let n={capabilities:{typeDefinitionProvider:!0,workspaceSymbolProvider:!0,textDocumentSync:it.TextDocumentSyncKind.Incremental,renameProvider:{prepareProvider:!0},completionProvider:{resolveProvider:!0,triggerCharacters:["&","="," "]},codeActionProvider:{codeActionKinds:[it.CodeActionKind.QuickFix,it.CodeActionKind.SourceFixAll]},documentSymbolProvider:!0,semanticTokensProvider:{legend:{tokenTypes:Td,tokenModifiers:_d},full:!0},documentLinkProvider:{resolveProvider:!1},foldingRangeProvider:!0,definitionProvider:!0,declarationProvider:!0,referencesProvider:!0,documentFormattingProvider:!0,hoverProvider:!0,signatureHelpProvider:{triggerCharacters:["<","("],retriggerCharacters:[" ",","]}}};return y_&&(n.capabilities.workspace={workspaceFolders:{changeNotifications:!0,supported:!0}}),n});ee.onInitialized(()=>{oM&&ee.client.register(it.DidChangeConfigurationNotification.type,{}),y_&&ee.workspace.onDidChangeWorkspaceFolders(async t=>{ee.console.log("Workspace folder change event received"),await Fl()})});var vK=async()=>{let t=uM();return t={...Ks,...t},Ml(t,await jl())},v_=async()=>{let t=EK();return t={...Ks,...t},Ml(t,await jl())},TK=async()=>{let t=wK();return t={...Ks,...t},Ml(t,await jl())},ql=async()=>{let t=SK();return t={...Ks,...t},Ml(t,await jl())},_K=new Map,jl=async()=>(await ee.workspace.getWorkspaceFolders()??b_)?.map(e=>Ve(e.uri))?.at(0),eM=async t=>{let e=hr(Le,{id:ai(t)});if(e)return e.ctxNames.includes(t.ctxName)||console.log(`(ID: ${e.id}) Adding name ${t.ctxName} for [${e.ctxNames.join(",")}]`),e.addCtxName(t.ctxName),e;let n=ai(t);console.log(`(ID: ${n}) New context [${t.ctxName}]`),console.log(`(ID: ${n}) Settings: ${JSON.stringify(t,void 0," ")}`);let r=new gf(t,t.bindingType?qx({zephyrBindings:t.zephyrBindings??[],deviceOrgBindingsMetaSchema:t.deviceOrgBindingsMetaSchema??[],deviceOrgTreeBindings:t.deviceOrgTreeBindings??[]},t.bindingType):void 0);Le.push(r),nM(r),await r.stable();let i=await Xs(r);return ee.sendNotification("devicetree/contextCreated",{ctxNames:r.ctxNames.map(s=>s.toString()),id:r.id,...await r.getFileTree(),settings:r.settings,active:r===Ue,type:i.type}),await bK(r),await w_(),r},Fl=async()=>{let t=await v_(),e=await ql();e.allowAdhocContexts||(e=await v_());let n=e.contexts.map(ai);Le.filter(i=>!n.includes(i.id)).forEach(T_),await t.contexts?.reduce((i,s)=>i.then(async()=>{await eM(s)}),Promise.resolve()),e.allowAdhocContexts&&await(await vK()).contexts?.reduce((s,o)=>s.then(async()=>{hr(Le,{uri:o.dtsFile})||await eM(o)}),Promise.resolve()),ka?await Mt({uri:ka}):!Ue&&Le.length&&(console.log(`No active context using first context (ID: ${Le[0].id}) [${Le[0].ctxNames.join(",")}]`),await Mt({id:Le[0].id}))},or,cs,$l=new Map,wa=new Map,SK=()=>!cs&&!or?void 0:{...cs,...or,contexts:[...or?.contexts??[],...Array.from(wa.values()),...Array.from($l.values())]},uM=()=>!cs&&!or?void 0:{...cs,...or,contexts:[...Array.from($l.values())]},EK=()=>!cs&&!or?void 0:{...cs,...or,contexts:[...or?.contexts??[],...Array.from(wa.values())]},wK=()=>!cs&&!or?void 0:{...or,contexts:[...or?.contexts??[]]};function kK(t){let e={...t};for(let n in e)e[n]===null&&delete e[n];return e}var dM=async()=>{let t=await ql();console.log("Resolved settings",JSON.stringify(t,void 0," ")),ee.sendNotification("devicetree/settingsChanged",t),await Fl(),$e().then(()=>{aM&&ee.languages.diagnostics.refresh()})};ee.onDidChangeConfiguration(async t=>{t?.settings?.devicetree&&(or=Ux(kK(t.settings.devicetree)),console.log("Configuration changed",JSON.stringify(t,void 0," ")),await dM())});var fM=()=>{let t=Ue?.getContextFiles();Array.from(Cr.keys()).forEach(e=>{t?.some(n=>ue(n,Ve(e)))||ee.sendDiagnostics({uri:e,version:Cr.get(e)?.version,diagnostics:[{severity:it.DiagnosticSeverity.Warning,range:it.Range.create(it.Position.create(0,0),it.Position.create(0,0)),message:"File not in active context",source:"devicetree"}]})})},S_=async t=>{let e=Ig(Le,t);if(e.length)e.forEach(n=>{kp.get(n)?.abort.abort();let r=new AbortController,i=new Promise(s=>{setTimeout(async()=>{if(r.signal.aborted){s();return}let o=performance.now(),a=Ue===n,c=a?hM(n):[];rM(n),await n.reevaluate(t),nM(n),a&&E_(n).then(l=>{let u=l.items.map(d=>({uri:d.uri,version:d.version??void 0,diagnostics:d.items}));Pp(n,c.filter(d=>u.every(f=>f.uri!==d.uri))),u.forEach(d=>{ee.sendDiagnostics(d)})}),s(),console.log("reevaluate",performance.now()-o)},50)});kp.set(n,{abort:r,promise:i})});else{if((await ql()).allowAdhocContexts===!1)return;await Fl(),await Mt({uri:t})}},NK=t=>Cr.keys().find(e=>ue(Ve(e),t)),Np=t=>{let e=NK(t);if(e)return Cr.get(e)},hM=t=>t.getContextFiles().map(e=>({uri:he(e),version:Np(e)?.version,diagnostics:[]})),Pp=async(t,e=hM(t),n=!1)=>{!n&&t!==Ue||await Promise.all(e.filter(r=>t===Ue||!Ue?.getContextFiles().some(i=>ue(Ve(r.uri),i))).map(r=>ee.sendDiagnostics({uri:r.uri,version:Cr.get(r.uri)?.version,diagnostics:[]})))},E_=async t=>{await t.stable();let e=performance.now(),n=await t.getDiagnostics(),r=t.getContextFiles().map(i=>({uri:he(i),kind:it.DocumentDiagnosticReportKind.Full,items:n.get(i)??[],version:Np(i)?.version??null}));return console.log(`(ID: ${t.id})`,"workspace diagnostics",`[${t.ctxNames.join(",")}]`,performance.now()-e),{items:[...r]}},w_=async()=>{let t=await Promise.all(Le.map(Xs));console.log("======== Context List ========"),t.forEach(e=>{console.log(`(ID: ${e.ctx.id}) [${e.ctx.ctxNames.join(",")}]`,`[${e.type}]`,Ue===e.ctx?" [ACTIVE]":"")}),console.log("==============================")},Xs=async t=>{let e=await __(t),n=!e&&await gK(t);return{ctx:t,type:e?"Ad Hoc":n?"User":"3rd Party"}},Mt=async(t,e=!1)=>{"uri"in t&&(ka=t.uri,console.log("Active File Uri",ka));let n=await ql();if(await $e(),Ue&&!e&&!n.autoChangeContext||!e&&Ue?.getContextFiles().find(s=>"uri"in t&&ue(s,t.uri)))return!1;let r=Ue,i=hr(Le,t);return r!==i&&(r&&Pp(r),Ue=i,i?(Xs(i).then(async s=>{let o=await i.getFileTree();i!==Ue&&!Le.includes(i)||ee.sendNotification("devicetree/newActiveContext",{ctxNames:i.ctxNames.map(a=>a.toString()),id:i.id,...o,settings:i.settings,active:Ue===i,type:s.type})}),E_(i).then(s=>{s.items.map(o=>({uri:o.uri,version:o.version??void 0,diagnostics:o.items})).forEach(o=>{ee.sendDiagnostics(o)})}),await w_()):ee.sendNotification("devicetree/newActiveContext",void 0)),lM&&ee.languages.foldingRange.refresh(),cM&&ee.languages.semanticTokens.refresh(),fM(),!0};Cr.listen(ee);Cr.onDidClose(async t=>{let e=Ve(t.document.uri),n=Ig(Le,e);if(n.length===0){$l.delete(e),ee.sendDiagnostics({uri:t.document.uri,version:Cr.get(t.document.uri)?.version,diagnostics:[]});return}await Promise.all(n.map(async r=>{(r?.getContextFiles()??[]).filter(o=>o!==e).some(o=>Np(o))?Ue?.getContextFiles().some(o=>ue(o,e))||ee.sendDiagnostics({uri:t.document.uri,version:Cr.get(t.document.uri)?.version,diagnostics:[]}):await __(r)?(T_(r),$l.delete(r.settings.dtsFile)):Pp(r)})),_K.delete(t.document.uri)});Cr.onDidOpen(async t=>{await $e(),fM();let e=Ve(t.document.uri),n=hr(Le,{uri:e});if(n)n!==Ue&&await Mt({id:n.id});else{let r={ctxName:(0,tM.basename)(e),dtsFile:e};$l.set(e,r),await S_(e)}});Cr.onDidChangeContent(async t=>{let e=Ve(t.document.uri),n=t.document.getText(),r=qn();r.needsRenew(e,n)&&(console.log("Content changed"),r.renewLexer(e,n),await S_(e))});ee.listen();ee.languages.diagnostics.onWorkspace(async()=>{await $e();let t=Ue;return t?E_(t):{items:[]}});ee.onDidChangeWatchedFiles(t=>{ee.console.log("We received a file change event")});ee.onCompletion(async t=>{await $e();let e=Ve(t.textDocument.uri);Mt({uri:e});let n=cn(e);return n?[...await NR(t,n),...await LR(t,n)]:[]});ee.onCompletionResolve(t=>t);var cn=t=>{let e=uM();return hr(Le,{uri:t},Ue,e?.preferredContext)};ee.onDocumentSymbol(async t=>{await $e();let e=Ve(t.textDocument.uri),n=cn(e);return n?n.getUriParser(e)?.getDocumentSymbols(e):[]});ee.onWorkspaceSymbol(async()=>{await $e();let t=Ue;return t?(await t.getAllParsers()).flatMap(e=>e.getWorkspaceSymbols()):[]});ee.languages.semanticTokens.on(async t=>{try{await $e();let e=Ve(t.textDocument.uri),n=cn(e),r=new it.SemanticTokensBuilder,i=n?.isInContext(e);return!n||!i?{data:[]}:((await n.getAllParsers()).forEach(s=>s.buildSemanticTokens(r,e)),r.build())}catch(e){throw console.log(e),e}});ee.onDocumentLinks(async t=>{await $e();let e=Ve(t.textDocument.uri);return cn(e)?.getDocumentLinks(e)});ee.onPrepareRename(async t=>{await $e();let e=Ve(t.textDocument.uri);Mt({uri:e});let n=cn(e);return OR(t,n)});ee.onRenameRequest(async t=>{await $e();let e=Ve(t.textDocument.uri);Mt({uri:e});let n=cn(e);return AR(t,n)});ee.onReferences(async t=>{await $e();let e=Ve(t.textDocument.uri);Mt({uri:e});let n=cn(e);return PR(t,n)});ee.onDefinition(async t=>{await $e();let e=Ve(t.textDocument.uri);Mt({uri:e});let n=cn(e),r=(await n?.getDocumentLinks(e,t.position))?.filter(i=>i.target).map(i=>it.Location.create(i.target,i.range))??[];return r.length?r:IR(t,n)});ee.onDeclaration(async t=>{await $e();let e=Ve(t.textDocument.uri);Mt({uri:e});let n=cn(e);return xR(t,n)});ee.onCodeAction(async t=>MR(t));ee.onDocumentFormatting(async t=>{await $e();let e=Ve(t.textDocument.uri);Mt({uri:e});let n=cn(e);return n?Lg(t,n,qn().getDocument(e).getText()):[]});ee.onHover(async t=>{await $e();let e=Ve(t.textDocument.uri),n=cn(e);return(await $R(t,n)).at(0)});ee.onFoldingRanges(async t=>{await $e();let e=Ve(t.textDocument.uri),n=cn(e),r=n?.isInContext(e);if(!n||!r)return[];let i=(await n.getAllParsers()).find(s=>s.getFiles().some(o=>o===e));return i?Fx(e,i):[]});ee.onTypeDefinition(async t=>{await $e();let e=Ve(t.textDocument.uri);Mt({uri:e});let n=cn(e);return Bx(t,n)});ee.onSignatureHelp(async t=>{await $e();let e=Ve(t.textDocument.uri);Mt({uri:e});let n=cn(e);return Kx(t,n)});ee.onRequest("devicetree/getContexts",async()=>(await $e(),Promise.all(Le.map(async t=>{let e=await Xs(t);return{ctxNames:t.ctxNames.map(n=>n.toString()),id:t.id,...await t.getFileTree(),settings:t.settings,active:Ue===t,type:e.type}}))));ee.onRequest("devicetree/setActive",async t=>(await $e(),console.log("devicetree/setActive",t),await Mt(t,!0)));ee.onRequest("devicetree/getActiveContext",async t=>{if(await $e(),console.log("devicetree/getActiveContext",t),await Mt({id:t},!0),!Ue)return;let e=await Xs(Ue);return Ue?{ctxNames:Ue.ctxNames.map(n=>n.toString()),id:t,...await Ue.getFileTree(),settings:Ue.settings,active:!0,type:e.type}:void 0});ee.onRequest("devicetree/setDefaultSettings",async t=>{await $e(),cs=t,console.log("Integration Settings",t),await dM()});ee.onRequest("devicetree/requestContext",async t=>{await $e();let e=await ql(),n=await u_(t,e,await jl());console.log("devicetree/requestContext",n);let r=ai(n),i=Array.from(wa).find(([,a])=>a.ctxName===t.ctxName);if(i){let a=i[0].split(":",1)[0];hr(Le,{name:t.ctxName.toString()})?.removeCtxName(t.ctxName),console.log(`Removing integration context with ID ${a} and name ${t.ctxName}`),wa.delete(i[0])}wa.set(`${r}:${t.ctxName}`,t),await Fl();let s=Le.find(a=>a.id===r);if(!s)throw new Error("Failed to create context");let o=await Xs(s);return{ctxNames:s.ctxNames.map(a=>a.toString()),id:r,...await s.getFileTree(),settings:s.settings,active:!0,type:o.type}});ee.onRequest("devicetree/removeContext",async({id:t,name:e})=>{await $e(),wa.delete(`${t}:${e}`);let n=hr(Le,{id:t});if(n){if(n.removeCtxName(e),n.ctxNames.length){console.log("Context will not be deleted as it is still in use by others");return}await Fl()}});ee.onRequest("devicetree/compiledDtsOutput",async t=>(await $e(),t?hr(Le,{id:t})?.toFullString():void 0));ee.onRequest("devicetree/serializedContext",async t=>(await $e(),t?hr(Le,{id:t})?.serialize():void 0));ee.onRequest("devicetree/customActions",async t=>(await $e(),Gx(t,Ue)));ee.onRequest("devicetree/activeFileUri",async t=>{await $e(),Mt({uri:t})});ee.onRequest("devicetree/formatingDiff",async t=>{await $e();let e=Ve(t.textDocument.uri);Mt({uri:e});let n=cn(e);if(!n)return[];let r=qn().getDocument(e),i=await Lg(t,n,r.getText());if(i.length===0)return;let s=hN(r,i);return m_(r.uri,r.getText(),s)});ee.onRequest("devicetree/diagnosticIssues",async t=>{await $e();let e=Ve(t.uri);Mt({uri:e});let n=cn(e);if(!n)return[];let r=(await n.getDiagnostics()).get(e);if(r?.length)return r});