miniscript-languageserver 1.4.0 → 1.4.1
Sign up to get free protection for your applications and to get access to all the features.
- package/index.js +20 -19
- package/package.json +2 -2
package/index.js
CHANGED
@@ -2,33 +2,33 @@
|
|
2
2
|
${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,Gf.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))}};Xr.ReadableStreamMessageReader=zf});var Tv=g(Yr=>{"use strict";Object.defineProperty(Yr,"__esModule",{value:!0});Yr.WriteableStreamMessageWriter=Yr.AbstractMessageWriter=Yr.MessageWriter=void 0;var yv=Kr(),qo=bs(),gO=Hf(),bv=_s(),mO="Content-Length: ",vv=`\r
|
3
3
|
`,_v;(function(t){function e(n){let r=n;return r&&qo.func(r.dispose)&&qo.func(r.onClose)&&qo.func(r.onError)&&qo.func(r.write)}t.is=e})(_v||(Yr.MessageWriter=_v={}));var Au=class{constructor(){this.errorEmitter=new bv.Emitter,this.closeEmitter=new bv.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: ${qo.string(e.message)?e.message:"unknown"}`)}};Yr.AbstractMessageWriter=Au;var Kf;(function(t){function e(n){return n===void 0||typeof n=="string"?{charset:n??"utf-8",contentTypeEncoder:(0,yv.default)().applicationJson.encoder}:{charset:n.charset??"utf-8",contentEncoder:n.contentEncoder,contentTypeEncoder:n.contentTypeEncoder??(0,yv.default)().applicationJson.encoder}}t.fromOptions=e})(Kf||(Kf={}));var Xf=class extends Au{constructor(e,n){super(),this.writable=e,this.options=Kf.fromOptions(n),this.errorCount=0,this.writeSemaphore=new gO.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(mO,r.byteLength.toString(),vv),i.push(vv),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()}};Yr.WriteableStreamMessageWriter=Xf});var Sv=g(Ou=>{"use strict";Object.defineProperty(Ou,"__esModule",{value:!0});Ou.AbstractMessageBuffer=void 0;var yO=13,bO=10,vO=`\r
|
4
4
|
`,Yf=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 c=this._chunks[r];for(i=0;i<c.length;){switch(c[i]){case yO:switch(n){case 0:n=1;break;case 2:n=3;break;default:n=0}break;case bO:switch(n){case 1:n=2;break;case 3:n=4,i++;break e;default:n=0}break;default:n=0}i++}s+=c.byteLength,r++}if(n!==4)return;let o=this._read(s+i),a=new Map,u=this.toString(o,"ascii").split(vO);if(u.length<2)return a;for(let c=0;c<u.length-2;c++){let l=u[c],d=l.indexOf(":");if(d===-1)throw new Error(`Message header must separate key and value using ':'
|
5
|
-
${l}`);let p=l.substr(0,d),b=l.substr(d+1).trim();a.set(e?p.toLowerCase():p,b)}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}};Ou.AbstractMessageBuffer=Yf});var Av=g(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.createMessageConnection=ye.ConnectionOptions=ye.MessageStrategy=ye.CancellationStrategy=ye.CancellationSenderStrategy=ye.CancellationReceiverStrategy=ye.RequestCancellationReceiverStrategy=ye.IdCancellationReceiverStrategy=ye.ConnectionStrategy=ye.ConnectionError=ye.ConnectionErrors=ye.LogTraceNotification=ye.SetTraceNotification=ye.TraceFormat=ye.TraceValues=ye.Trace=ye.NullLogger=ye.ProgressType=ye.ProgressToken=void 0;var kv=Kr(),it=bs(),ce=Cf(),xv=Df(),jo=_s(),Jf=xu(),Bo;(function(t){t.type=new ce.NotificationType("$/cancelRequest")})(Bo||(Bo={}));var Qf;(function(t){function e(n){return typeof n=="string"||typeof n=="number"}t.is=e})(Qf||(ye.ProgressToken=Qf={}));var Fo;(function(t){t.type=new ce.NotificationType("$/progress")})(Fo||(Fo={}));var Zf=class{constructor(){}};ye.ProgressType=Zf;var ep;(function(t){function e(n){return it.func(n)}t.is=e})(ep||(ep={}));ye.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var
|
5
|
+
${l}`);let p=l.substr(0,d),b=l.substr(d+1).trim();a.set(e?p.toLowerCase():p,b)}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}};Ou.AbstractMessageBuffer=Yf});var Av=g(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.createMessageConnection=ye.ConnectionOptions=ye.MessageStrategy=ye.CancellationStrategy=ye.CancellationSenderStrategy=ye.CancellationReceiverStrategy=ye.RequestCancellationReceiverStrategy=ye.IdCancellationReceiverStrategy=ye.ConnectionStrategy=ye.ConnectionError=ye.ConnectionErrors=ye.LogTraceNotification=ye.SetTraceNotification=ye.TraceFormat=ye.TraceValues=ye.Trace=ye.NullLogger=ye.ProgressType=ye.ProgressToken=void 0;var kv=Kr(),it=bs(),ce=Cf(),xv=Df(),jo=_s(),Jf=xu(),Bo;(function(t){t.type=new ce.NotificationType("$/cancelRequest")})(Bo||(Bo={}));var Qf;(function(t){function e(n){return typeof n=="string"||typeof n=="number"}t.is=e})(Qf||(ye.ProgressToken=Qf={}));var Fo;(function(t){t.type=new ce.NotificationType("$/progress")})(Fo||(Fo={}));var Zf=class{constructor(){}};ye.ProgressType=Zf;var ep;(function(t){function e(n){return it.func(n)}t.is=e})(ep||(ep={}));ye.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var Pe;(function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"})(Pe||(ye.Trace=Pe={}));var wv;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(wv||(ye.TraceValues=wv={}));(function(t){function e(r){if(!it.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})(Pe||(ye.Trace=Pe={}));var yn;(function(t){t.Text="text",t.JSON="json"})(yn||(ye.TraceFormat=yn={}));(function(t){function e(n){return it.string(n)?(n=n.toLowerCase(),n==="json"?t.JSON:t.Text):t.Text}t.fromString=e})(yn||(ye.TraceFormat=yn={}));var tp;(function(t){t.type=new ce.NotificationType("$/setTrace")})(tp||(ye.SetTraceNotification=tp={}));var Cu;(function(t){t.type=new ce.NotificationType("$/logTrace")})(Cu||(ye.LogTraceNotification=Cu={}));var $o;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})($o||(ye.ConnectionErrors=$o={}));var xs=class t extends Error{constructor(e,n){super(n),this.code=e,Object.setPrototypeOf(this,t.prototype)}};ye.ConnectionError=xs;var np;(function(t){function e(n){let r=n;return r&&it.func(r.cancelUndispatched)}t.is=e})(np||(ye.ConnectionStrategy=np={}));var Ru;(function(t){function e(n){let r=n;return r&&(r.kind===void 0||r.kind==="id")&&it.func(r.createCancellationTokenSource)&&(r.dispose===void 0||it.func(r.dispose))}t.is=e})(Ru||(ye.IdCancellationReceiverStrategy=Ru={}));var rp;(function(t){function e(n){let r=n;return r&&r.kind==="request"&&it.func(r.createCancellationTokenSource)&&(r.dispose===void 0||it.func(r.dispose))}t.is=e})(rp||(ye.RequestCancellationReceiverStrategy=rp={}));var Du;(function(t){t.Message=Object.freeze({createCancellationTokenSource(n){return new Jf.CancellationTokenSource}});function e(n){return Ru.is(n)||rp.is(n)}t.is=e})(Du||(ye.CancellationReceiverStrategy=Du={}));var Pu;(function(t){t.Message=Object.freeze({sendCancellation(n,r){return n.sendNotification(Bo.type,{id:r})},cleanup(n){}});function e(n){let r=n;return r&&it.func(r.sendCancellation)&&it.func(r.cleanup)}t.is=e})(Pu||(ye.CancellationSenderStrategy=Pu={}));var Iu;(function(t){t.Message=Object.freeze({receiver:Du.Message,sender:Pu.Message});function e(n){let r=n;return r&&Du.is(r.receiver)&&Pu.is(r.sender)}t.is=e})(Iu||(ye.CancellationStrategy=Iu={}));var Mu;(function(t){function e(n){let r=n;return r&&it.func(r.handleMessage)}t.is=e})(Mu||(ye.MessageStrategy=Mu={}));var Ev;(function(t){function e(n){let r=n;return r&&(Iu.is(r.cancellationStrategy)||np.is(r.connectionStrategy)||Mu.is(r.messageStrategy))}t.is=e})(Ev||(ye.ConnectionOptions=Ev={}));var Kn;(function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"})(Kn||(Kn={}));function _O(t,e,n,r){let i=n!==void 0?n:ye.NullLogger,s=0,o=0,a=0,u="2.0",c,l=new Map,d,p=new Map,b=new Map,T,E=new xv.LinkedMap,L=new Map,M=new Set,x=new Map,k=Pe.Off,v=yn.Text,F,C=Kn.New,V=new jo.Emitter,ae=new jo.Emitter,ge=new jo.Emitter,G=new jo.Emitter,A=new jo.Emitter,P=r&&r.cancellationStrategy?r.cancellationStrategy:Iu.Message;function I(_){if(_===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+_.toString()}function j(_){return _===null?"res-unknown-"+(++a).toString():"res-"+_.toString()}function fe(){return"not-"+(++o).toString()}function le(_,B){ce.Message.isRequest(B)?_.set(I(B.id),B):ce.Message.isResponse(B)?_.set(j(B.id),B):_.set(fe(),B)}function Rt(_){}function ht(){return C===Kn.Listening}function je(){return C===Kn.Closed}function on(){return C===Kn.Disposed}function ps(){(C===Kn.New||C===Kn.Listening)&&(C=Kn.Closed,ae.fire(void 0))}function Ri(_){V.fire([_,void 0,void 0])}function iu(_){V.fire(_)}t.onClose(ps),t.onError(Ri),e.onClose(ps),e.onError(iu);function Do(){T||E.size===0||(T=(0,kv.default)().timer.setImmediate(()=>{T=void 0,su()}))}function Po(_){ce.Message.isRequest(_)?au(_):ce.Message.isNotification(_)?cu(_):ce.Message.isResponse(_)?uu(_):hs(_)}function su(){if(E.size===0)return;let _=E.shift();try{let B=r?.messageStrategy;Mu.is(B)?B.handleMessage(_,Po):Po(_)}finally{Do()}}let ou=_=>{try{if(ce.Message.isNotification(_)&&_.method===Bo.type.method){let B=_.params.id,z=I(B),Z=E.get(z);if(ce.Message.isRequest(Z)){let Le=r?.connectionStrategy,ze=Le&&Le.cancelUndispatched?Le.cancelUndispatched(Z,Rt):void 0;if(ze&&(ze.error!==void 0||ze.result!==void 0)){E.delete(z),x.delete(B),ze.id=Z.id,Di(ze,_.method,Date.now()),e.write(ze).catch(()=>i.error("Sending response for canceled message failed."));return}}let Ue=x.get(B);if(Ue!==void 0){Ue.cancel(),gs(_);return}else M.add(B)}le(E,_)}finally{Do()}};function au(_){if(on())return;function B(Se,He,Oe){let ot={jsonrpc:u,id:_.id};Se instanceof ce.ResponseError?ot.error=Se.toJson():ot.result=Se===void 0?null:Se,Di(ot,He,Oe),e.write(ot).catch(()=>i.error("Sending response failed."))}function z(Se,He,Oe){let ot={jsonrpc:u,id:_.id,error:Se.toJson()};Di(ot,He,Oe),e.write(ot).catch(()=>i.error("Sending response failed."))}function Z(Se,He,Oe){Se===void 0&&(Se=null);let ot={jsonrpc:u,id:_.id,result:Se};Di(ot,He,Oe),e.write(ot).catch(()=>i.error("Sending response failed."))}fu(_);let Ue=l.get(_.method),Le,ze;Ue&&(Le=Ue.type,ze=Ue.handler);let Ze=Date.now();if(ze||c){let Se=_.id??String(Date.now()),He=Ru.is(P.receiver)?P.receiver.createCancellationTokenSource(Se):P.receiver.createCancellationTokenSource(_);_.id!==null&&M.has(_.id)&&He.cancel(),_.id!==null&&x.set(Se,He);try{let Oe;if(ze)if(_.params===void 0){if(Le!==void 0&&Le.numberOfParams!==0){z(new ce.ResponseError(ce.ErrorCodes.InvalidParams,`Request ${_.method} defines ${Le.numberOfParams} params but received none.`),_.method,Ze);return}Oe=ze(He.token)}else if(Array.isArray(_.params)){if(Le!==void 0&&Le.parameterStructures===ce.ParameterStructures.byName){z(new ce.ResponseError(ce.ErrorCodes.InvalidParams,`Request ${_.method} defines parameters by name but received parameters by position`),_.method,Ze);return}Oe=ze(..._.params,He.token)}else{if(Le!==void 0&&Le.parameterStructures===ce.ParameterStructures.byPosition){z(new ce.ResponseError(ce.ErrorCodes.InvalidParams,`Request ${_.method} defines parameters by position but received parameters by name`),_.method,Ze);return}Oe=ze(_.params,He.token)}else c&&(Oe=c(_.method,_.params,He.token));let ot=Oe;Oe?ot.then?ot.then(Dt=>{x.delete(Se),B(Dt,_.method,Ze)},Dt=>{x.delete(Se),Dt instanceof ce.ResponseError?z(Dt,_.method,Ze):Dt&&it.string(Dt.message)?z(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${_.method} failed with message: ${Dt.message}`),_.method,Ze):z(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${_.method} failed unexpectedly without providing any details.`),_.method,Ze)}):(x.delete(Se),B(Oe,_.method,Ze)):(x.delete(Se),Z(Oe,_.method,Ze))}catch(Oe){x.delete(Se),Oe instanceof ce.ResponseError?B(Oe,_.method,Ze):Oe&&it.string(Oe.message)?z(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${_.method} failed with message: ${Oe.message}`),_.method,Ze):z(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${_.method} failed unexpectedly without providing any details.`),_.method,Ze)}}else z(new ce.ResponseError(ce.ErrorCodes.MethodNotFound,`Unhandled method ${_.method}`),_.method,Ze)}function uu(_){if(!on())if(_.id===null)_.error?i.error(`Received response message without id: Error is:
|
6
6
|
${JSON.stringify(_.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let B=_.id,z=L.get(B);if(pu(_,z),z!==void 0){L.delete(B);try{if(_.error){let Z=_.error;z.reject(new ce.ResponseError(Z.code,Z.message,Z.data))}else if(_.result!==void 0)z.resolve(_.result);else throw new Error("Should never happen.")}catch(Z){Z.message?i.error(`Response handler '${z.method}' failed with message: ${Z.message}`):i.error(`Response handler '${z.method}' failed unexpectedly.`)}}}}function cu(_){if(on())return;let B,z;if(_.method===Bo.type.method){let Z=_.params.id;M.delete(Z),gs(_);return}else{let Z=p.get(_.method);Z&&(z=Z.handler,B=Z.type)}if(z||d)try{if(gs(_),z)if(_.params===void 0)B!==void 0&&B.numberOfParams!==0&&B.parameterStructures!==ce.ParameterStructures.byName&&i.error(`Notification ${_.method} defines ${B.numberOfParams} params but received none.`),z();else if(Array.isArray(_.params)){let Z=_.params;_.method===Fo.type.method&&Z.length===2&&Qf.is(Z[0])?z({token:Z[0],value:Z[1]}):(B!==void 0&&(B.parameterStructures===ce.ParameterStructures.byName&&i.error(`Notification ${_.method} defines parameters by name but received parameters by position`),B.numberOfParams!==_.params.length&&i.error(`Notification ${_.method} defines ${B.numberOfParams} params but received ${Z.length} arguments`)),z(...Z))}else B!==void 0&&B.parameterStructures===ce.ParameterStructures.byPosition&&i.error(`Notification ${_.method} defines parameters by position but received parameters by name`),z(_.params);else d&&d(_.method,_.params)}catch(Z){Z.message?i.error(`Notification handler '${_.method}' failed with message: ${Z.message}`):i.error(`Notification handler '${_.method}' failed unexpectedly.`)}else ge.fire(_)}function hs(_){if(!_){i.error("Received empty message.");return}i.error(`Received message which is neither a response nor a notification message:
|
7
|
-
${JSON.stringify(_,null,4)}`);let B=_;if(it.string(B.id)||it.number(B.id)){let z=B.id,Z=L.get(z);Z&&Z.reject(new Error("The received response has neither a result nor an error property."))}}function Gn(_){if(_!=null)switch(k){case
|
7
|
+
${JSON.stringify(_,null,4)}`);let B=_;if(it.string(B.id)||it.number(B.id)){let z=B.id,Z=L.get(z);Z&&Z.reject(new Error("The received response has neither a result nor an error property."))}}function Gn(_){if(_!=null)switch(k){case Pe.Verbose:return JSON.stringify(_,null,4);case Pe.Compact:return JSON.stringify(_);default:return}}function lu(_){if(!(k===Pe.Off||!F))if(v===yn.Text){let B;(k===Pe.Verbose||k===Pe.Compact)&&_.params&&(B=`Params: ${Gn(_.params)}
|
8
8
|
|
9
|
-
`),F.log(`Sending request '${_.method} - (${_.id})'.`,B)}else wr("send-request",_)}function du(_){if(!(k===
|
9
|
+
`),F.log(`Sending request '${_.method} - (${_.id})'.`,B)}else wr("send-request",_)}function du(_){if(!(k===Pe.Off||!F))if(v===yn.Text){let B;(k===Pe.Verbose||k===Pe.Compact)&&(_.params?B=`Params: ${Gn(_.params)}
|
10
10
|
|
11
11
|
`:B=`No parameters provided.
|
12
12
|
|
13
|
-
`),F.log(`Sending notification '${_.method}'.`,B)}else wr("send-notification",_)}function Di(_,B,z){if(!(k===
|
13
|
+
`),F.log(`Sending notification '${_.method}'.`,B)}else wr("send-notification",_)}function Di(_,B,z){if(!(k===Pe.Off||!F))if(v===yn.Text){let Z;(k===Pe.Verbose||k===Pe.Compact)&&(_.error&&_.error.data?Z=`Error data: ${Gn(_.error.data)}
|
14
14
|
|
15
15
|
`:_.result?Z=`Result: ${Gn(_.result)}
|
16
16
|
|
17
17
|
`:_.error===void 0&&(Z=`No result returned.
|
18
18
|
|
19
|
-
`)),F.log(`Sending response '${B} - (${_.id})'. Processing request took ${Date.now()-z}ms`,Z)}else wr("send-response",_)}function fu(_){if(!(k===
|
19
|
+
`)),F.log(`Sending response '${B} - (${_.id})'. Processing request took ${Date.now()-z}ms`,Z)}else wr("send-response",_)}function fu(_){if(!(k===Pe.Off||!F))if(v===yn.Text){let B;(k===Pe.Verbose||k===Pe.Compact)&&_.params&&(B=`Params: ${Gn(_.params)}
|
20
20
|
|
21
|
-
`),F.log(`Received request '${_.method} - (${_.id})'.`,B)}else wr("receive-request",_)}function gs(_){if(!(k===
|
21
|
+
`),F.log(`Received request '${_.method} - (${_.id})'.`,B)}else wr("receive-request",_)}function gs(_){if(!(k===Pe.Off||!F||_.method===Cu.type.method))if(v===yn.Text){let B;(k===Pe.Verbose||k===Pe.Compact)&&(_.params?B=`Params: ${Gn(_.params)}
|
22
22
|
|
23
23
|
`:B=`No parameters provided.
|
24
24
|
|
25
|
-
`),F.log(`Received notification '${_.method}'.`,B)}else wr("receive-notification",_)}function pu(_,B){if(!(k===
|
25
|
+
`),F.log(`Received notification '${_.method}'.`,B)}else wr("receive-notification",_)}function pu(_,B){if(!(k===Pe.Off||!F))if(v===yn.Text){let z;if((k===Pe.Verbose||k===Pe.Compact)&&(_.error&&_.error.data?z=`Error data: ${Gn(_.error.data)}
|
26
26
|
|
27
27
|
`:_.result?z=`Result: ${Gn(_.result)}
|
28
28
|
|
29
29
|
`:_.error===void 0&&(z=`No result returned.
|
30
30
|
|
31
|
-
`)),B){let Z=_.error?` Request failed: ${_.error.message} (${_.error.code}).`:"";F.log(`Received response '${B.method} - (${_.id})' in ${Date.now()-B.timerStart}ms.${Z}`,z)}else F.log(`Received response ${_.id} without active response promise.`,z)}else wr("receive-response",_)}function wr(_,B){if(!F||k===De.Off)return;let z={isLSPMessage:!0,type:_,message:B,timestamp:Date.now()};F.log(z)}function Vr(){if(qe())throw new xs($o.Closed,"Connection is closed.");if(on())throw new xs($o.Disposed,"Connection is disposed.")}function hu(){if(ht())throw new xs($o.AlreadyListening,"Connection is already listening")}function gu(){if(!ht())throw new Error("Call listen() first.")}function sr(_){return _===void 0?null:_}function Io(_){if(_!==null)return _}function Mo(_){return _!=null&&!Array.isArray(_)&&typeof _=="object"}function ms(_,B){switch(_){case ce.ParameterStructures.auto:return Mo(B)?Io(B):[sr(B)];case ce.ParameterStructures.byName:if(!Mo(B))throw new Error("Received parameters by name but param is not an object literal.");return Io(B);case ce.ParameterStructures.byPosition:return[sr(B)];default:throw new Error(`Unknown parameter structure ${_.toString()}`)}}function Lo(_,B){let z,Z=_.numberOfParams;switch(Z){case 0:z=void 0;break;case 1:z=ms(_.parameterStructures,B[0]);break;default:z=[];for(let Be=0;Be<B.length&&Be<Z;Be++)z.push(sr(B[Be]));if(B.length<Z)for(let Be=B.length;Be<Z;Be++)z.push(null);break}return z}let Er={sendNotification:(_,...B)=>{Vr();let z,Z;if(it.string(_)){z=_;let Me=B[0],ze=0,Ze=ce.ParameterStructures.auto;ce.ParameterStructures.is(Me)&&(ze=1,Ze=Me);let Se=B.length,He=Se-ze;switch(He){case 0:Z=void 0;break;case 1:Z=ms(Ze,B[ze]);break;default:if(Ze===ce.ParameterStructures.byName)throw new Error(`Received ${He} parameters for 'by Name' notification parameter structure.`);Z=B.slice(ze,Se).map(Oe=>sr(Oe));break}}else{let Me=B;z=_.method,Z=Lo(_,Me)}let Be={jsonrpc:u,method:z,params:Z};return du(Be),e.write(Be).catch(Me=>{throw i.error("Sending notification failed."),Me})},onNotification:(_,B)=>{Vr();let z;return it.func(_)?d=_:B&&(it.string(_)?(z=_,p.set(_,{type:void 0,handler:B})):(z=_.method,p.set(_.method,{type:_,handler:B}))),{dispose:()=>{z!==void 0?p.delete(z):d=void 0}}},onProgress:(_,B,z)=>{if(b.has(B))throw new Error(`Progress handler for token ${B} already registered`);return b.set(B,z),{dispose:()=>{b.delete(B)}}},sendProgress:(_,B,z)=>Er.sendNotification(Fo.type,{token:B,value:z}),onUnhandledProgress:G.event,sendRequest:(_,...B)=>{Vr(),gu();let z,Z,Be;if(it.string(_)){z=_;let Se=B[0],He=B[B.length-1],Oe=0,ot=ce.ParameterStructures.auto;ce.ParameterStructures.is(Se)&&(Oe=1,ot=Se);let Dt=B.length;Jf.CancellationToken.is(He)&&(Dt=Dt-1,Be=He);let mn=Dt-Oe;switch(mn){case 0:Z=void 0;break;case 1:Z=ms(ot,B[Oe]);break;default:if(ot===ce.ParameterStructures.byName)throw new Error(`Received ${mn} parameters for 'by Name' request parameter structure.`);Z=B.slice(Oe,Dt).map(mu=>sr(mu));break}}else{let Se=B;z=_.method,Z=Lo(_,Se);let He=_.numberOfParams;Be=Jf.CancellationToken.is(Se[He])?Se[He]:void 0}let Me=s++,ze;Be&&(ze=Be.onCancellationRequested(()=>{let Se=P.sender.sendCancellation(Er,Me);return Se===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${Me}`),Promise.resolve()):Se.catch(()=>{i.log(`Sending cancellation messages for id ${Me} failed`)})}));let Ze={jsonrpc:u,id:Me,method:z,params:Z};return lu(Ze),typeof P.sender.enableCancellation=="function"&&P.sender.enableCancellation(Ze),new Promise(async(Se,He)=>{let Oe=mn=>{Se(mn),P.sender.cleanup(Me),ze?.dispose()},ot=mn=>{He(mn),P.sender.cleanup(Me),ze?.dispose()},Dt={method:z,timerStart:Date.now(),resolve:Oe,reject:ot};try{await e.write(Ze),L.set(Me,Dt)}catch(mn){throw i.error("Sending request failed."),Dt.reject(new ce.ResponseError(ce.ErrorCodes.MessageWriteError,mn.message?mn.message:"Unknown reason")),mn}})},onRequest:(_,B)=>{Vr();let z=null;return ep.is(_)?(z=void 0,c=_):it.string(_)?(z=null,B!==void 0&&(z=_,l.set(_,{handler:B,type:void 0}))):B!==void 0&&(z=_.method,l.set(_.method,{type:_,handler:B})),{dispose:()=>{z!==null&&(z!==void 0?l.delete(z):c=void 0)}}},hasPendingResponse:()=>L.size>0,trace:async(_,B,z)=>{let Z=!1,Be=yn.Text;z!==void 0&&(it.boolean(z)?Z=z:(Z=z.sendNotification||!1,Be=z.traceFormat||yn.Text)),k=_,v=Be,k===De.Off?F=void 0:F=B,Z&&!qe()&&!on()&&await Er.sendNotification(tp.type,{value:De.toString(_)})},onError:V.event,onClose:ae.event,onUnhandledNotification:ge.event,onDispose:A.event,end:()=>{e.end()},dispose:()=>{if(on())return;C=Kn.Disposed,A.fire(void 0);let _=new ce.ResponseError(ce.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let B of L.values())B.reject(_);L=new Map,x=new Map,M=new Set,E=new xv.LinkedMap,it.func(e.dispose)&&e.dispose(),it.func(t.dispose)&&t.dispose()},listen:()=>{Vr(),hu(),C=Kn.Listening,t.listen(ou)},inspect:()=>{(0,kv.default)().console.log("inspect")}};return Er.onNotification(Cu.type,_=>{if(k===De.Off||!F)return;let B=k===De.Verbose||k===De.Compact;F.log(_.message,B?_.verbose:void 0)}),Er.onNotification(Fo.type,_=>{let B=b.get(_.token);B?B(_.value):G.fire(_)}),Er}ye.createMessageConnection=_O});var Lu=g(q=>{"use strict";Object.defineProperty(q,"__esModule",{value:!0});q.ProgressType=q.ProgressToken=q.createMessageConnection=q.NullLogger=q.ConnectionOptions=q.ConnectionStrategy=q.AbstractMessageBuffer=q.WriteableStreamMessageWriter=q.AbstractMessageWriter=q.MessageWriter=q.ReadableStreamMessageReader=q.AbstractMessageReader=q.MessageReader=q.SharedArrayReceiverStrategy=q.SharedArraySenderStrategy=q.CancellationToken=q.CancellationTokenSource=q.Emitter=q.Event=q.Disposable=q.LRUCache=q.Touch=q.LinkedMap=q.ParameterStructures=q.NotificationType9=q.NotificationType8=q.NotificationType7=q.NotificationType6=q.NotificationType5=q.NotificationType4=q.NotificationType3=q.NotificationType2=q.NotificationType1=q.NotificationType0=q.NotificationType=q.ErrorCodes=q.ResponseError=q.RequestType9=q.RequestType8=q.RequestType7=q.RequestType6=q.RequestType5=q.RequestType4=q.RequestType3=q.RequestType2=q.RequestType1=q.RequestType0=q.RequestType=q.Message=q.RAL=void 0;q.MessageStrategy=q.CancellationStrategy=q.CancellationSenderStrategy=q.CancellationReceiverStrategy=q.ConnectionError=q.ConnectionErrors=q.LogTraceNotification=q.SetTraceNotification=q.TraceFormat=q.TraceValues=q.Trace=void 0;var Ge=Cf();Object.defineProperty(q,"Message",{enumerable:!0,get:function(){return Ge.Message}});Object.defineProperty(q,"RequestType",{enumerable:!0,get:function(){return Ge.RequestType}});Object.defineProperty(q,"RequestType0",{enumerable:!0,get:function(){return Ge.RequestType0}});Object.defineProperty(q,"RequestType1",{enumerable:!0,get:function(){return Ge.RequestType1}});Object.defineProperty(q,"RequestType2",{enumerable:!0,get:function(){return Ge.RequestType2}});Object.defineProperty(q,"RequestType3",{enumerable:!0,get:function(){return Ge.RequestType3}});Object.defineProperty(q,"RequestType4",{enumerable:!0,get:function(){return Ge.RequestType4}});Object.defineProperty(q,"RequestType5",{enumerable:!0,get:function(){return Ge.RequestType5}});Object.defineProperty(q,"RequestType6",{enumerable:!0,get:function(){return Ge.RequestType6}});Object.defineProperty(q,"RequestType7",{enumerable:!0,get:function(){return Ge.RequestType7}});Object.defineProperty(q,"RequestType8",{enumerable:!0,get:function(){return Ge.RequestType8}});Object.defineProperty(q,"RequestType9",{enumerable:!0,get:function(){return Ge.RequestType9}});Object.defineProperty(q,"ResponseError",{enumerable:!0,get:function(){return Ge.ResponseError}});Object.defineProperty(q,"ErrorCodes",{enumerable:!0,get:function(){return Ge.ErrorCodes}});Object.defineProperty(q,"NotificationType",{enumerable:!0,get:function(){return Ge.NotificationType}});Object.defineProperty(q,"NotificationType0",{enumerable:!0,get:function(){return Ge.NotificationType0}});Object.defineProperty(q,"NotificationType1",{enumerable:!0,get:function(){return Ge.NotificationType1}});Object.defineProperty(q,"NotificationType2",{enumerable:!0,get:function(){return Ge.NotificationType2}});Object.defineProperty(q,"NotificationType3",{enumerable:!0,get:function(){return Ge.NotificationType3}});Object.defineProperty(q,"NotificationType4",{enumerable:!0,get:function(){return Ge.NotificationType4}});Object.defineProperty(q,"NotificationType5",{enumerable:!0,get:function(){return Ge.NotificationType5}});Object.defineProperty(q,"NotificationType6",{enumerable:!0,get:function(){return Ge.NotificationType6}});Object.defineProperty(q,"NotificationType7",{enumerable:!0,get:function(){return Ge.NotificationType7}});Object.defineProperty(q,"NotificationType8",{enumerable:!0,get:function(){return Ge.NotificationType8}});Object.defineProperty(q,"NotificationType9",{enumerable:!0,get:function(){return Ge.NotificationType9}});Object.defineProperty(q,"ParameterStructures",{enumerable:!0,get:function(){return Ge.ParameterStructures}});var ip=Df();Object.defineProperty(q,"LinkedMap",{enumerable:!0,get:function(){return ip.LinkedMap}});Object.defineProperty(q,"LRUCache",{enumerable:!0,get:function(){return ip.LRUCache}});Object.defineProperty(q,"Touch",{enumerable:!0,get:function(){return ip.Touch}});var TO=fv();Object.defineProperty(q,"Disposable",{enumerable:!0,get:function(){return TO.Disposable}});var Ov=_s();Object.defineProperty(q,"Event",{enumerable:!0,get:function(){return Ov.Event}});Object.defineProperty(q,"Emitter",{enumerable:!0,get:function(){return Ov.Emitter}});var Cv=xu();Object.defineProperty(q,"CancellationTokenSource",{enumerable:!0,get:function(){return Cv.CancellationTokenSource}});Object.defineProperty(q,"CancellationToken",{enumerable:!0,get:function(){return Cv.CancellationToken}});var Rv=hv();Object.defineProperty(q,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return Rv.SharedArraySenderStrategy}});Object.defineProperty(q,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return Rv.SharedArrayReceiverStrategy}});var sp=mv();Object.defineProperty(q,"MessageReader",{enumerable:!0,get:function(){return sp.MessageReader}});Object.defineProperty(q,"AbstractMessageReader",{enumerable:!0,get:function(){return sp.AbstractMessageReader}});Object.defineProperty(q,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return sp.ReadableStreamMessageReader}});var op=Tv();Object.defineProperty(q,"MessageWriter",{enumerable:!0,get:function(){return op.MessageWriter}});Object.defineProperty(q,"AbstractMessageWriter",{enumerable:!0,get:function(){return op.AbstractMessageWriter}});Object.defineProperty(q,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return op.WriteableStreamMessageWriter}});var SO=Sv();Object.defineProperty(q,"AbstractMessageBuffer",{enumerable:!0,get:function(){return SO.AbstractMessageBuffer}});var qt=Av();Object.defineProperty(q,"ConnectionStrategy",{enumerable:!0,get:function(){return qt.ConnectionStrategy}});Object.defineProperty(q,"ConnectionOptions",{enumerable:!0,get:function(){return qt.ConnectionOptions}});Object.defineProperty(q,"NullLogger",{enumerable:!0,get:function(){return qt.NullLogger}});Object.defineProperty(q,"createMessageConnection",{enumerable:!0,get:function(){return qt.createMessageConnection}});Object.defineProperty(q,"ProgressToken",{enumerable:!0,get:function(){return qt.ProgressToken}});Object.defineProperty(q,"ProgressType",{enumerable:!0,get:function(){return qt.ProgressType}});Object.defineProperty(q,"Trace",{enumerable:!0,get:function(){return qt.Trace}});Object.defineProperty(q,"TraceValues",{enumerable:!0,get:function(){return qt.TraceValues}});Object.defineProperty(q,"TraceFormat",{enumerable:!0,get:function(){return qt.TraceFormat}});Object.defineProperty(q,"SetTraceNotification",{enumerable:!0,get:function(){return qt.SetTraceNotification}});Object.defineProperty(q,"LogTraceNotification",{enumerable:!0,get:function(){return qt.LogTraceNotification}});Object.defineProperty(q,"ConnectionErrors",{enumerable:!0,get:function(){return qt.ConnectionErrors}});Object.defineProperty(q,"ConnectionError",{enumerable:!0,get:function(){return qt.ConnectionError}});Object.defineProperty(q,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return qt.CancellationReceiverStrategy}});Object.defineProperty(q,"CancellationSenderStrategy",{enumerable:!0,get:function(){return qt.CancellationSenderStrategy}});Object.defineProperty(q,"CancellationStrategy",{enumerable:!0,get:function(){return qt.CancellationStrategy}});Object.defineProperty(q,"MessageStrategy",{enumerable:!0,get:function(){return qt.MessageStrategy}});var kO=Kr();q.RAL=kO.default});var Iv=g(lp=>{"use strict";Object.defineProperty(lp,"__esModule",{value:!0});var Dv=require("util"),Or=Lu(),Nu=class t extends Or.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 Dv.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)}};Nu.emptyBuffer=Buffer.allocUnsafe(0);var ap=class{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),Or.Disposable.create(()=>this.stream.off("close",e))}onError(e){return this.stream.on("error",e),Or.Disposable.create(()=>this.stream.off("error",e))}onEnd(e){return this.stream.on("end",e),Or.Disposable.create(()=>this.stream.off("end",e))}onData(e){return this.stream.on("data",e),Or.Disposable.create(()=>this.stream.off("data",e))}},up=class{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),Or.Disposable.create(()=>this.stream.off("close",e))}onError(e){return this.stream.on("error",e),Or.Disposable.create(()=>this.stream.off("error",e))}onEnd(e){return this.stream.on("end",e),Or.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()}},Pv=Object.freeze({messageBuffer:Object.freeze({create:t=>new Nu(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 Dv.TextDecoder(e.charset).decode(t)))}catch(n){return Promise.reject(n)}}})}),stream:Object.freeze({asReadableStream:t=>new ap(t),asWritableStream:t=>new up(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 cp(){return Pv}(function(t){function e(){Or.RAL.install(Pv)}t.install=e})(cp||(cp={}));lp.default=cp});var Li=g(xe=>{"use strict";var xO=xe&&xe.__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]}),wO=xe&&xe.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&xO(e,t,n)};Object.defineProperty(xe,"__esModule",{value:!0});xe.createMessageConnection=xe.createServerSocketTransport=xe.createClientSocketTransport=xe.createServerPipeTransport=xe.createClientPipeTransport=xe.generateRandomPipeName=xe.StreamMessageWriter=xe.StreamMessageReader=xe.SocketMessageWriter=xe.SocketMessageReader=xe.PortMessageWriter=xe.PortMessageReader=xe.IPCMessageWriter=xe.IPCMessageReader=void 0;var ws=Iv();ws.default.install();var Mv=require("path"),EO=require("os"),AO=require("crypto"),Fu=require("net"),bn=Lu();wO(Lu(),xe);var dp=class extends bn.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),bn.Disposable.create(()=>this.process.off("message",e))}};xe.IPCMessageReader=dp;var fp=class extends bn.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(){}};xe.IPCMessageWriter=fp;var pp=class extends bn.AbstractMessageReader{constructor(e){super(),this.onData=new bn.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)}};xe.PortMessageReader=pp;var hp=class extends bn.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(){}};xe.PortMessageWriter=hp;var Ii=class extends bn.ReadableStreamMessageReader{constructor(e,n="utf-8"){super((0,ws.default)().stream.asReadableStream(e),n)}};xe.SocketMessageReader=Ii;var Mi=class extends bn.WriteableStreamMessageWriter{constructor(e,n){super((0,ws.default)().stream.asWritableStream(e),n),this.socket=e}dispose(){super.dispose(),this.socket.destroy()}};xe.SocketMessageWriter=Mi;var qu=class extends bn.ReadableStreamMessageReader{constructor(e,n){super((0,ws.default)().stream.asReadableStream(e),n)}};xe.StreamMessageReader=qu;var ju=class extends bn.WriteableStreamMessageWriter{constructor(e,n){super((0,ws.default)().stream.asWritableStream(e),n)}};xe.StreamMessageWriter=ju;var Lv=process.env.XDG_RUNTIME_DIR,OO=new Map([["linux",107],["darwin",103]]);function CO(){let t=(0,AO.randomBytes)(21).toString("hex");if(process.platform==="win32")return`\\\\.\\pipe\\vscode-jsonrpc-${t}-sock`;let e;Lv?e=Mv.join(Lv,`vscode-ipc-${t}.sock`):e=Mv.join(EO.tmpdir(),`vscode-${t}.sock`);let n=OO.get(process.platform);return n!==void 0&&e.length>n&&(0,ws.default)().console.warn(`WARNING: IPC handle "${e}" is longer than ${n} characters.`),e}xe.generateRandomPipeName=CO;function RO(t,e="utf-8"){let n,r=new Promise((i,s)=>{n=i});return new Promise((i,s)=>{let o=(0,Fu.createServer)(a=>{o.close(),n([new Ii(a,e),new Mi(a,e)])});o.on("error",s),o.listen(t,()=>{o.removeListener("error",s),i({onConnected:()=>r})})})}xe.createClientPipeTransport=RO;function DO(t,e="utf-8"){let n=(0,Fu.createConnection)(t);return[new Ii(n,e),new Mi(n,e)]}xe.createServerPipeTransport=DO;function PO(t,e="utf-8"){let n,r=new Promise((i,s)=>{n=i});return new Promise((i,s)=>{let o=(0,Fu.createServer)(a=>{o.close(),n([new Ii(a,e),new Mi(a,e)])});o.on("error",s),o.listen(t,"127.0.0.1",()=>{o.removeListener("error",s),i({onConnected:()=>r})})})}xe.createClientSocketTransport=PO;function IO(t,e="utf-8"){let n=(0,Fu.createConnection)(t,"127.0.0.1");return[new Ii(n,e),new Mi(n,e)]}xe.createServerSocketTransport=IO;function MO(t){let e=t;return e.read!==void 0&&e.addListener!==void 0}function LO(t){let e=t;return e.write!==void 0&&e.addListener!==void 0}function NO(t,e,n,r){n||(n=bn.NullLogger);let i=MO(t)?new qu(t):t,s=LO(e)?new ju(e):e;return bn.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),(0,bn.createMessageConnection)(i,s,n,r)}xe.createMessageConnection=NO});var gp=g((aF,Nv)=>{"use strict";Nv.exports=Li()});var Bu=g((qv,$u)=>{(function(t){if(typeof $u=="object"&&typeof $u.exports=="object"){var e=t(require,qv);e!==void 0&&($u.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(h){function S(w){return typeof w=="string"}h.is=S})(n||(e.DocumentUri=n={}));var r;(function(h){function S(w){return typeof w=="string"}h.is=S})(r||(e.URI=r={}));var i;(function(h){h.MIN_VALUE=-2147483648,h.MAX_VALUE=2147483647;function S(w){return typeof w=="number"&&h.MIN_VALUE<=w&&w<=h.MAX_VALUE}h.is=S})(i||(e.integer=i={}));var s;(function(h){h.MIN_VALUE=0,h.MAX_VALUE=2147483647;function S(w){return typeof w=="number"&&h.MIN_VALUE<=w&&w<=h.MAX_VALUE}h.is=S})(s||(e.uinteger=s={}));var o;(function(h){function S(m,f){return m===Number.MAX_VALUE&&(m=s.MAX_VALUE),f===Number.MAX_VALUE&&(f=s.MAX_VALUE),{line:m,character:f}}h.create=S;function w(m){var f=m;return D.objectLiteral(f)&&D.uinteger(f.line)&&D.uinteger(f.character)}h.is=w})(o||(e.Position=o={}));var a;(function(h){function S(m,f,R,U){if(D.uinteger(m)&&D.uinteger(f)&&D.uinteger(R)&&D.uinteger(U))return{start:o.create(m,f),end:o.create(R,U)};if(o.is(m)&&o.is(f))return{start:m,end:f};throw new Error("Range#create called with invalid arguments[".concat(m,", ").concat(f,", ").concat(R,", ").concat(U,"]"))}h.create=S;function w(m){var f=m;return D.objectLiteral(f)&&o.is(f.start)&&o.is(f.end)}h.is=w})(a||(e.Range=a={}));var u;(function(h){function S(m,f){return{uri:m,range:f}}h.create=S;function w(m){var f=m;return D.objectLiteral(f)&&a.is(f.range)&&(D.string(f.uri)||D.undefined(f.uri))}h.is=w})(u||(e.Location=u={}));var c;(function(h){function S(m,f,R,U){return{targetUri:m,targetRange:f,targetSelectionRange:R,originSelectionRange:U}}h.create=S;function w(m){var f=m;return D.objectLiteral(f)&&a.is(f.targetRange)&&D.string(f.targetUri)&&a.is(f.targetSelectionRange)&&(a.is(f.originSelectionRange)||D.undefined(f.originSelectionRange))}h.is=w})(c||(e.LocationLink=c={}));var l;(function(h){function S(m,f,R,U){return{red:m,green:f,blue:R,alpha:U}}h.create=S;function w(m){var f=m;return D.objectLiteral(f)&&D.numberRange(f.red,0,1)&&D.numberRange(f.green,0,1)&&D.numberRange(f.blue,0,1)&&D.numberRange(f.alpha,0,1)}h.is=w})(l||(e.Color=l={}));var d;(function(h){function S(m,f){return{range:m,color:f}}h.create=S;function w(m){var f=m;return D.objectLiteral(f)&&a.is(f.range)&&l.is(f.color)}h.is=w})(d||(e.ColorInformation=d={}));var p;(function(h){function S(m,f,R){return{label:m,textEdit:f,additionalTextEdits:R}}h.create=S;function w(m){var f=m;return D.objectLiteral(f)&&D.string(f.label)&&(D.undefined(f.textEdit)||F.is(f))&&(D.undefined(f.additionalTextEdits)||D.typedArray(f.additionalTextEdits,F.is))}h.is=w})(p||(e.ColorPresentation=p={}));var b;(function(h){h.Comment="comment",h.Imports="imports",h.Region="region"})(b||(e.FoldingRangeKind=b={}));var T;(function(h){function S(m,f,R,U,me,at){var We={startLine:m,endLine:f};return D.defined(R)&&(We.startCharacter=R),D.defined(U)&&(We.endCharacter=U),D.defined(me)&&(We.kind=me),D.defined(at)&&(We.collapsedText=at),We}h.create=S;function w(m){var f=m;return D.objectLiteral(f)&&D.uinteger(f.startLine)&&D.uinteger(f.startLine)&&(D.undefined(f.startCharacter)||D.uinteger(f.startCharacter))&&(D.undefined(f.endCharacter)||D.uinteger(f.endCharacter))&&(D.undefined(f.kind)||D.string(f.kind))}h.is=w})(T||(e.FoldingRange=T={}));var E;(function(h){function S(m,f){return{location:m,message:f}}h.create=S;function w(m){var f=m;return D.defined(f)&&u.is(f.location)&&D.string(f.message)}h.is=w})(E||(e.DiagnosticRelatedInformation=E={}));var L;(function(h){h.Error=1,h.Warning=2,h.Information=3,h.Hint=4})(L||(e.DiagnosticSeverity=L={}));var M;(function(h){h.Unnecessary=1,h.Deprecated=2})(M||(e.DiagnosticTag=M={}));var x;(function(h){function S(w){var m=w;return D.objectLiteral(m)&&D.string(m.href)}h.is=S})(x||(e.CodeDescription=x={}));var k;(function(h){function S(m,f,R,U,me,at){var We={range:m,message:f};return D.defined(R)&&(We.severity=R),D.defined(U)&&(We.code=U),D.defined(me)&&(We.source=me),D.defined(at)&&(We.relatedInformation=at),We}h.create=S;function w(m){var f,R=m;return D.defined(R)&&a.is(R.range)&&D.string(R.message)&&(D.number(R.severity)||D.undefined(R.severity))&&(D.integer(R.code)||D.string(R.code)||D.undefined(R.code))&&(D.undefined(R.codeDescription)||D.string((f=R.codeDescription)===null||f===void 0?void 0:f.href))&&(D.string(R.source)||D.undefined(R.source))&&(D.undefined(R.relatedInformation)||D.typedArray(R.relatedInformation,E.is))}h.is=w})(k||(e.Diagnostic=k={}));var v;(function(h){function S(m,f){for(var R=[],U=2;U<arguments.length;U++)R[U-2]=arguments[U];var me={title:m,command:f};return D.defined(R)&&R.length>0&&(me.arguments=R),me}h.create=S;function w(m){var f=m;return D.defined(f)&&D.string(f.title)&&D.string(f.command)}h.is=w})(v||(e.Command=v={}));var F;(function(h){function S(R,U){return{range:R,newText:U}}h.replace=S;function w(R,U){return{range:{start:R,end:R},newText:U}}h.insert=w;function m(R){return{range:R,newText:""}}h.del=m;function f(R){var U=R;return D.objectLiteral(U)&&D.string(U.newText)&&a.is(U.range)}h.is=f})(F||(e.TextEdit=F={}));var C;(function(h){function S(m,f,R){var U={label:m};return f!==void 0&&(U.needsConfirmation=f),R!==void 0&&(U.description=R),U}h.create=S;function w(m){var f=m;return D.objectLiteral(f)&&D.string(f.label)&&(D.boolean(f.needsConfirmation)||f.needsConfirmation===void 0)&&(D.string(f.description)||f.description===void 0)}h.is=w})(C||(e.ChangeAnnotation=C={}));var V;(function(h){function S(w){var m=w;return D.string(m)}h.is=S})(V||(e.ChangeAnnotationIdentifier=V={}));var ae;(function(h){function S(R,U,me){return{range:R,newText:U,annotationId:me}}h.replace=S;function w(R,U,me){return{range:{start:R,end:R},newText:U,annotationId:me}}h.insert=w;function m(R,U){return{range:R,newText:"",annotationId:U}}h.del=m;function f(R){var U=R;return F.is(U)&&(C.is(U.annotationId)||V.is(U.annotationId))}h.is=f})(ae||(e.AnnotatedTextEdit=ae={}));var ge;(function(h){function S(m,f){return{textDocument:m,edits:f}}h.create=S;function w(m){var f=m;return D.defined(f)&&qe.is(f.textDocument)&&Array.isArray(f.edits)}h.is=w})(ge||(e.TextDocumentEdit=ge={}));var G;(function(h){function S(m,f,R){var U={kind:"create",uri:m};return f!==void 0&&(f.overwrite!==void 0||f.ignoreIfExists!==void 0)&&(U.options=f),R!==void 0&&(U.annotationId=R),U}h.create=S;function w(m){var f=m;return f&&f.kind==="create"&&D.string(f.uri)&&(f.options===void 0||(f.options.overwrite===void 0||D.boolean(f.options.overwrite))&&(f.options.ignoreIfExists===void 0||D.boolean(f.options.ignoreIfExists)))&&(f.annotationId===void 0||V.is(f.annotationId))}h.is=w})(G||(e.CreateFile=G={}));var A;(function(h){function S(m,f,R,U){var me={kind:"rename",oldUri:m,newUri:f};return R!==void 0&&(R.overwrite!==void 0||R.ignoreIfExists!==void 0)&&(me.options=R),U!==void 0&&(me.annotationId=U),me}h.create=S;function w(m){var f=m;return f&&f.kind==="rename"&&D.string(f.oldUri)&&D.string(f.newUri)&&(f.options===void 0||(f.options.overwrite===void 0||D.boolean(f.options.overwrite))&&(f.options.ignoreIfExists===void 0||D.boolean(f.options.ignoreIfExists)))&&(f.annotationId===void 0||V.is(f.annotationId))}h.is=w})(A||(e.RenameFile=A={}));var P;(function(h){function S(m,f,R){var U={kind:"delete",uri:m};return f!==void 0&&(f.recursive!==void 0||f.ignoreIfNotExists!==void 0)&&(U.options=f),R!==void 0&&(U.annotationId=R),U}h.create=S;function w(m){var f=m;return f&&f.kind==="delete"&&D.string(f.uri)&&(f.options===void 0||(f.options.recursive===void 0||D.boolean(f.options.recursive))&&(f.options.ignoreIfNotExists===void 0||D.boolean(f.options.ignoreIfNotExists)))&&(f.annotationId===void 0||V.is(f.annotationId))}h.is=w})(P||(e.DeleteFile=P={}));var I;(function(h){function S(w){var m=w;return m&&(m.changes!==void 0||m.documentChanges!==void 0)&&(m.documentChanges===void 0||m.documentChanges.every(function(f){return D.string(f.kind)?G.is(f)||A.is(f)||P.is(f):ge.is(f)}))}h.is=S})(I||(e.WorkspaceEdit=I={}));var j=function(){function h(S,w){this.edits=S,this.changeAnnotations=w}return h.prototype.insert=function(S,w,m){var f,R;if(m===void 0?f=F.insert(S,w):V.is(m)?(R=m,f=ae.insert(S,w,m)):(this.assertChangeAnnotations(this.changeAnnotations),R=this.changeAnnotations.manage(m),f=ae.insert(S,w,R)),this.edits.push(f),R!==void 0)return R},h.prototype.replace=function(S,w,m){var f,R;if(m===void 0?f=F.replace(S,w):V.is(m)?(R=m,f=ae.replace(S,w,m)):(this.assertChangeAnnotations(this.changeAnnotations),R=this.changeAnnotations.manage(m),f=ae.replace(S,w,R)),this.edits.push(f),R!==void 0)return R},h.prototype.delete=function(S,w){var m,f;if(w===void 0?m=F.del(S):V.is(w)?(f=w,m=ae.del(S,w)):(this.assertChangeAnnotations(this.changeAnnotations),f=this.changeAnnotations.manage(w),m=ae.del(S,f)),this.edits.push(m),f!==void 0)return f},h.prototype.add=function(S){this.edits.push(S)},h.prototype.all=function(){return this.edits},h.prototype.clear=function(){this.edits.splice(0,this.edits.length)},h.prototype.assertChangeAnnotations=function(S){if(S===void 0)throw new Error("Text edit change is not configured to manage change annotations.")},h}(),fe=function(){function h(S){this._annotations=S===void 0?Object.create(null):S,this._counter=0,this._size=0}return h.prototype.all=function(){return this._annotations},Object.defineProperty(h.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),h.prototype.manage=function(S,w){var m;if(V.is(S)?m=S:(m=this.nextId(),w=S),this._annotations[m]!==void 0)throw new Error("Id ".concat(m," is already in use."));if(w===void 0)throw new Error("No annotation provided for id ".concat(m));return this._annotations[m]=w,this._size++,m},h.prototype.nextId=function(){return this._counter++,this._counter.toString()},h}(),le=function(){function h(S){var w=this;this._textEditChanges=Object.create(null),S!==void 0?(this._workspaceEdit=S,S.documentChanges?(this._changeAnnotations=new fe(S.changeAnnotations),S.changeAnnotations=this._changeAnnotations.all(),S.documentChanges.forEach(function(m){if(ge.is(m)){var f=new j(m.edits,w._changeAnnotations);w._textEditChanges[m.textDocument.uri]=f}})):S.changes&&Object.keys(S.changes).forEach(function(m){var f=new j(S.changes[m]);w._textEditChanges[m]=f})):this._workspaceEdit={}}return Object.defineProperty(h.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}),h.prototype.getTextEditChange=function(S){if(qe.is(S)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var w={uri:S.uri,version:S.version},m=this._textEditChanges[w.uri];if(!m){var f=[],R={textDocument:w,edits:f};this._workspaceEdit.documentChanges.push(R),m=new j(f,this._changeAnnotations),this._textEditChanges[w.uri]=m}return m}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");var m=this._textEditChanges[S];if(!m){var f=[];this._workspaceEdit.changes[S]=f,m=new j(f),this._textEditChanges[S]=m}return m}},h.prototype.initDocumentChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new fe,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},h.prototype.initChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))},h.prototype.createFile=function(S,w,m){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var f;C.is(w)||V.is(w)?f=w:m=w;var R,U;if(f===void 0?R=G.create(S,m):(U=V.is(f)?f:this._changeAnnotations.manage(f),R=G.create(S,m,U)),this._workspaceEdit.documentChanges.push(R),U!==void 0)return U},h.prototype.renameFile=function(S,w,m,f){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var R;C.is(m)||V.is(m)?R=m:f=m;var U,me;if(R===void 0?U=A.create(S,w,f):(me=V.is(R)?R:this._changeAnnotations.manage(R),U=A.create(S,w,f,me)),this._workspaceEdit.documentChanges.push(U),me!==void 0)return me},h.prototype.deleteFile=function(S,w,m){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var f;C.is(w)||V.is(w)?f=w:m=w;var R,U;if(f===void 0?R=P.create(S,m):(U=V.is(f)?f:this._changeAnnotations.manage(f),R=P.create(S,m,U)),this._workspaceEdit.documentChanges.push(R),U!==void 0)return U},h}();e.WorkspaceChange=le;var Rt;(function(h){function S(m){return{uri:m}}h.create=S;function w(m){var f=m;return D.defined(f)&&D.string(f.uri)}h.is=w})(Rt||(e.TextDocumentIdentifier=Rt={}));var ht;(function(h){function S(m,f){return{uri:m,version:f}}h.create=S;function w(m){var f=m;return D.defined(f)&&D.string(f.uri)&&D.integer(f.version)}h.is=w})(ht||(e.VersionedTextDocumentIdentifier=ht={}));var qe;(function(h){function S(m,f){return{uri:m,version:f}}h.create=S;function w(m){var f=m;return D.defined(f)&&D.string(f.uri)&&(f.version===null||D.integer(f.version))}h.is=w})(qe||(e.OptionalVersionedTextDocumentIdentifier=qe={}));var on;(function(h){function S(m,f,R,U){return{uri:m,languageId:f,version:R,text:U}}h.create=S;function w(m){var f=m;return D.defined(f)&&D.string(f.uri)&&D.string(f.languageId)&&D.integer(f.version)&&D.string(f.text)}h.is=w})(on||(e.TextDocumentItem=on={}));var ps;(function(h){h.PlainText="plaintext",h.Markdown="markdown";function S(w){var m=w;return m===h.PlainText||m===h.Markdown}h.is=S})(ps||(e.MarkupKind=ps={}));var Ri;(function(h){function S(w){var m=w;return D.objectLiteral(w)&&ps.is(m.kind)&&D.string(m.value)}h.is=S})(Ri||(e.MarkupContent=Ri={}));var iu;(function(h){h.Text=1,h.Method=2,h.Function=3,h.Constructor=4,h.Field=5,h.Variable=6,h.Class=7,h.Interface=8,h.Module=9,h.Property=10,h.Unit=11,h.Value=12,h.Enum=13,h.Keyword=14,h.Snippet=15,h.Color=16,h.File=17,h.Reference=18,h.Folder=19,h.EnumMember=20,h.Constant=21,h.Struct=22,h.Event=23,h.Operator=24,h.TypeParameter=25})(iu||(e.CompletionItemKind=iu={}));var Do;(function(h){h.PlainText=1,h.Snippet=2})(Do||(e.InsertTextFormat=Do={}));var Po;(function(h){h.Deprecated=1})(Po||(e.CompletionItemTag=Po={}));var su;(function(h){function S(m,f,R){return{newText:m,insert:f,replace:R}}h.create=S;function w(m){var f=m;return f&&D.string(f.newText)&&a.is(f.insert)&&a.is(f.replace)}h.is=w})(su||(e.InsertReplaceEdit=su={}));var ou;(function(h){h.asIs=1,h.adjustIndentation=2})(ou||(e.InsertTextMode=ou={}));var au;(function(h){function S(w){var m=w;return m&&(D.string(m.detail)||m.detail===void 0)&&(D.string(m.description)||m.description===void 0)}h.is=S})(au||(e.CompletionItemLabelDetails=au={}));var uu;(function(h){function S(w){return{label:w}}h.create=S})(uu||(e.CompletionItem=uu={}));var cu;(function(h){function S(w,m){return{items:w||[],isIncomplete:!!m}}h.create=S})(cu||(e.CompletionList=cu={}));var hs;(function(h){function S(m){return m.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}h.fromPlainText=S;function w(m){var f=m;return D.string(f)||D.objectLiteral(f)&&D.string(f.language)&&D.string(f.value)}h.is=w})(hs||(e.MarkedString=hs={}));var Gn;(function(h){function S(w){var m=w;return!!m&&D.objectLiteral(m)&&(Ri.is(m.contents)||hs.is(m.contents)||D.typedArray(m.contents,hs.is))&&(w.range===void 0||a.is(w.range))}h.is=S})(Gn||(e.Hover=Gn={}));var lu;(function(h){function S(w,m){return m?{label:w,documentation:m}:{label:w}}h.create=S})(lu||(e.ParameterInformation=lu={}));var du;(function(h){function S(w,m){for(var f=[],R=2;R<arguments.length;R++)f[R-2]=arguments[R];var U={label:w};return D.defined(m)&&(U.documentation=m),D.defined(f)?U.parameters=f:U.parameters=[],U}h.create=S})(du||(e.SignatureInformation=du={}));var Di;(function(h){h.Text=1,h.Read=2,h.Write=3})(Di||(e.DocumentHighlightKind=Di={}));var fu;(function(h){function S(w,m){var f={range:w};return D.number(m)&&(f.kind=m),f}h.create=S})(fu||(e.DocumentHighlight=fu={}));var gs;(function(h){h.File=1,h.Module=2,h.Namespace=3,h.Package=4,h.Class=5,h.Method=6,h.Property=7,h.Field=8,h.Constructor=9,h.Enum=10,h.Interface=11,h.Function=12,h.Variable=13,h.Constant=14,h.String=15,h.Number=16,h.Boolean=17,h.Array=18,h.Object=19,h.Key=20,h.Null=21,h.EnumMember=22,h.Struct=23,h.Event=24,h.Operator=25,h.TypeParameter=26})(gs||(e.SymbolKind=gs={}));var pu;(function(h){h.Deprecated=1})(pu||(e.SymbolTag=pu={}));var wr;(function(h){function S(w,m,f,R,U){var me={name:w,kind:m,location:{uri:R,range:f}};return U&&(me.containerName=U),me}h.create=S})(wr||(e.SymbolInformation=wr={}));var Vr;(function(h){function S(w,m,f,R){return R!==void 0?{name:w,kind:m,location:{uri:f,range:R}}:{name:w,kind:m,location:{uri:f}}}h.create=S})(Vr||(e.WorkspaceSymbol=Vr={}));var hu;(function(h){function S(m,f,R,U,me,at){var We={name:m,detail:f,kind:R,range:U,selectionRange:me};return at!==void 0&&(We.children=at),We}h.create=S;function w(m){var f=m;return f&&D.string(f.name)&&D.number(f.kind)&&a.is(f.range)&&a.is(f.selectionRange)&&(f.detail===void 0||D.string(f.detail))&&(f.deprecated===void 0||D.boolean(f.deprecated))&&(f.children===void 0||Array.isArray(f.children))&&(f.tags===void 0||Array.isArray(f.tags))}h.is=w})(hu||(e.DocumentSymbol=hu={}));var gu;(function(h){h.Empty="",h.QuickFix="quickfix",h.Refactor="refactor",h.RefactorExtract="refactor.extract",h.RefactorInline="refactor.inline",h.RefactorRewrite="refactor.rewrite",h.Source="source",h.SourceOrganizeImports="source.organizeImports",h.SourceFixAll="source.fixAll"})(gu||(e.CodeActionKind=gu={}));var sr;(function(h){h.Invoked=1,h.Automatic=2})(sr||(e.CodeActionTriggerKind=sr={}));var Io;(function(h){function S(m,f,R){var U={diagnostics:m};return f!=null&&(U.only=f),R!=null&&(U.triggerKind=R),U}h.create=S;function w(m){var f=m;return D.defined(f)&&D.typedArray(f.diagnostics,k.is)&&(f.only===void 0||D.typedArray(f.only,D.string))&&(f.triggerKind===void 0||f.triggerKind===sr.Invoked||f.triggerKind===sr.Automatic)}h.is=w})(Io||(e.CodeActionContext=Io={}));var Mo;(function(h){function S(m,f,R){var U={title:m},me=!0;return typeof f=="string"?(me=!1,U.kind=f):v.is(f)?U.command=f:U.edit=f,me&&R!==void 0&&(U.kind=R),U}h.create=S;function w(m){var f=m;return f&&D.string(f.title)&&(f.diagnostics===void 0||D.typedArray(f.diagnostics,k.is))&&(f.kind===void 0||D.string(f.kind))&&(f.edit!==void 0||f.command!==void 0)&&(f.command===void 0||v.is(f.command))&&(f.isPreferred===void 0||D.boolean(f.isPreferred))&&(f.edit===void 0||I.is(f.edit))}h.is=w})(Mo||(e.CodeAction=Mo={}));var ms;(function(h){function S(m,f){var R={range:m};return D.defined(f)&&(R.data=f),R}h.create=S;function w(m){var f=m;return D.defined(f)&&a.is(f.range)&&(D.undefined(f.command)||v.is(f.command))}h.is=w})(ms||(e.CodeLens=ms={}));var Lo;(function(h){function S(m,f){return{tabSize:m,insertSpaces:f}}h.create=S;function w(m){var f=m;return D.defined(f)&&D.uinteger(f.tabSize)&&D.boolean(f.insertSpaces)}h.is=w})(Lo||(e.FormattingOptions=Lo={}));var Er;(function(h){function S(m,f,R){return{range:m,target:f,data:R}}h.create=S;function w(m){var f=m;return D.defined(f)&&a.is(f.range)&&(D.undefined(f.target)||D.string(f.target))}h.is=w})(Er||(e.DocumentLink=Er={}));var _;(function(h){function S(m,f){return{range:m,parent:f}}h.create=S;function w(m){var f=m;return D.objectLiteral(f)&&a.is(f.range)&&(f.parent===void 0||h.is(f.parent))}h.is=w})(_||(e.SelectionRange=_={}));var B;(function(h){h.namespace="namespace",h.type="type",h.class="class",h.enum="enum",h.interface="interface",h.struct="struct",h.typeParameter="typeParameter",h.parameter="parameter",h.variable="variable",h.property="property",h.enumMember="enumMember",h.event="event",h.function="function",h.method="method",h.macro="macro",h.keyword="keyword",h.modifier="modifier",h.comment="comment",h.string="string",h.number="number",h.regexp="regexp",h.operator="operator",h.decorator="decorator"})(B||(e.SemanticTokenTypes=B={}));var z;(function(h){h.declaration="declaration",h.definition="definition",h.readonly="readonly",h.static="static",h.deprecated="deprecated",h.abstract="abstract",h.async="async",h.modification="modification",h.documentation="documentation",h.defaultLibrary="defaultLibrary"})(z||(e.SemanticTokenModifiers=z={}));var Z;(function(h){function S(w){var m=w;return D.objectLiteral(m)&&(m.resultId===void 0||typeof m.resultId=="string")&&Array.isArray(m.data)&&(m.data.length===0||typeof m.data[0]=="number")}h.is=S})(Z||(e.SemanticTokens=Z={}));var Be;(function(h){function S(m,f){return{range:m,text:f}}h.create=S;function w(m){var f=m;return f!=null&&a.is(f.range)&&D.string(f.text)}h.is=w})(Be||(e.InlineValueText=Be={}));var Me;(function(h){function S(m,f,R){return{range:m,variableName:f,caseSensitiveLookup:R}}h.create=S;function w(m){var f=m;return f!=null&&a.is(f.range)&&D.boolean(f.caseSensitiveLookup)&&(D.string(f.variableName)||f.variableName===void 0)}h.is=w})(Me||(e.InlineValueVariableLookup=Me={}));var ze;(function(h){function S(m,f){return{range:m,expression:f}}h.create=S;function w(m){var f=m;return f!=null&&a.is(f.range)&&(D.string(f.expression)||f.expression===void 0)}h.is=w})(ze||(e.InlineValueEvaluatableExpression=ze={}));var Ze;(function(h){function S(m,f){return{frameId:m,stoppedLocation:f}}h.create=S;function w(m){var f=m;return D.defined(f)&&a.is(m.stoppedLocation)}h.is=w})(Ze||(e.InlineValueContext=Ze={}));var Se;(function(h){h.Type=1,h.Parameter=2;function S(w){return w===1||w===2}h.is=S})(Se||(e.InlayHintKind=Se={}));var He;(function(h){function S(m){return{value:m}}h.create=S;function w(m){var f=m;return D.objectLiteral(f)&&(f.tooltip===void 0||D.string(f.tooltip)||Ri.is(f.tooltip))&&(f.location===void 0||u.is(f.location))&&(f.command===void 0||v.is(f.command))}h.is=w})(He||(e.InlayHintLabelPart=He={}));var Oe;(function(h){function S(m,f,R){var U={position:m,label:f};return R!==void 0&&(U.kind=R),U}h.create=S;function w(m){var f=m;return D.objectLiteral(f)&&o.is(f.position)&&(D.string(f.label)||D.typedArray(f.label,He.is))&&(f.kind===void 0||Se.is(f.kind))&&f.textEdits===void 0||D.typedArray(f.textEdits,F.is)&&(f.tooltip===void 0||D.string(f.tooltip)||Ri.is(f.tooltip))&&(f.paddingLeft===void 0||D.boolean(f.paddingLeft))&&(f.paddingRight===void 0||D.boolean(f.paddingRight))}h.is=w})(Oe||(e.InlayHint=Oe={}));var ot;(function(h){function S(w){return{kind:"snippet",value:w}}h.createSnippet=S})(ot||(e.StringValue=ot={}));var Dt;(function(h){function S(w,m,f,R){return{insertText:w,filterText:m,range:f,command:R}}h.create=S})(Dt||(e.InlineCompletionItem=Dt={}));var mn;(function(h){function S(w){return{items:w}}h.create=S})(mn||(e.InlineCompletionList=mn={}));var mu;(function(h){h.Invoked=0,h.Automatic=1})(mu||(e.InlineCompletionTriggerKind=mu={}));var Zb;(function(h){function S(w,m){return{range:w,text:m}}h.create=S})(Zb||(e.SelectedCompletionInfo=Zb={}));var ev;(function(h){function S(w,m){return{triggerKind:w,selectedCompletionInfo:m}}h.create=S})(ev||(e.InlineCompletionContext=ev={}));var tv;(function(h){function S(w){var m=w;return D.objectLiteral(m)&&r.is(m.uri)&&D.string(m.name)}h.is=S})(tv||(e.WorkspaceFolder=tv={})),e.EOL=[`
|
31
|
+
`)),B){let Z=_.error?` Request failed: ${_.error.message} (${_.error.code}).`:"";F.log(`Received response '${B.method} - (${_.id})' in ${Date.now()-B.timerStart}ms.${Z}`,z)}else F.log(`Received response ${_.id} without active response promise.`,z)}else wr("receive-response",_)}function wr(_,B){if(!F||k===Pe.Off)return;let z={isLSPMessage:!0,type:_,message:B,timestamp:Date.now()};F.log(z)}function Vr(){if(je())throw new xs($o.Closed,"Connection is closed.");if(on())throw new xs($o.Disposed,"Connection is disposed.")}function hu(){if(ht())throw new xs($o.AlreadyListening,"Connection is already listening")}function gu(){if(!ht())throw new Error("Call listen() first.")}function sr(_){return _===void 0?null:_}function Io(_){if(_!==null)return _}function Mo(_){return _!=null&&!Array.isArray(_)&&typeof _=="object"}function ms(_,B){switch(_){case ce.ParameterStructures.auto:return Mo(B)?Io(B):[sr(B)];case ce.ParameterStructures.byName:if(!Mo(B))throw new Error("Received parameters by name but param is not an object literal.");return Io(B);case ce.ParameterStructures.byPosition:return[sr(B)];default:throw new Error(`Unknown parameter structure ${_.toString()}`)}}function Lo(_,B){let z,Z=_.numberOfParams;switch(Z){case 0:z=void 0;break;case 1:z=ms(_.parameterStructures,B[0]);break;default:z=[];for(let Ue=0;Ue<B.length&&Ue<Z;Ue++)z.push(sr(B[Ue]));if(B.length<Z)for(let Ue=B.length;Ue<Z;Ue++)z.push(null);break}return z}let Er={sendNotification:(_,...B)=>{Vr();let z,Z;if(it.string(_)){z=_;let Le=B[0],ze=0,Ze=ce.ParameterStructures.auto;ce.ParameterStructures.is(Le)&&(ze=1,Ze=Le);let Se=B.length,He=Se-ze;switch(He){case 0:Z=void 0;break;case 1:Z=ms(Ze,B[ze]);break;default:if(Ze===ce.ParameterStructures.byName)throw new Error(`Received ${He} parameters for 'by Name' notification parameter structure.`);Z=B.slice(ze,Se).map(Oe=>sr(Oe));break}}else{let Le=B;z=_.method,Z=Lo(_,Le)}let Ue={jsonrpc:u,method:z,params:Z};return du(Ue),e.write(Ue).catch(Le=>{throw i.error("Sending notification failed."),Le})},onNotification:(_,B)=>{Vr();let z;return it.func(_)?d=_:B&&(it.string(_)?(z=_,p.set(_,{type:void 0,handler:B})):(z=_.method,p.set(_.method,{type:_,handler:B}))),{dispose:()=>{z!==void 0?p.delete(z):d=void 0}}},onProgress:(_,B,z)=>{if(b.has(B))throw new Error(`Progress handler for token ${B} already registered`);return b.set(B,z),{dispose:()=>{b.delete(B)}}},sendProgress:(_,B,z)=>Er.sendNotification(Fo.type,{token:B,value:z}),onUnhandledProgress:G.event,sendRequest:(_,...B)=>{Vr(),gu();let z,Z,Ue;if(it.string(_)){z=_;let Se=B[0],He=B[B.length-1],Oe=0,ot=ce.ParameterStructures.auto;ce.ParameterStructures.is(Se)&&(Oe=1,ot=Se);let Dt=B.length;Jf.CancellationToken.is(He)&&(Dt=Dt-1,Ue=He);let mn=Dt-Oe;switch(mn){case 0:Z=void 0;break;case 1:Z=ms(ot,B[Oe]);break;default:if(ot===ce.ParameterStructures.byName)throw new Error(`Received ${mn} parameters for 'by Name' request parameter structure.`);Z=B.slice(Oe,Dt).map(mu=>sr(mu));break}}else{let Se=B;z=_.method,Z=Lo(_,Se);let He=_.numberOfParams;Ue=Jf.CancellationToken.is(Se[He])?Se[He]:void 0}let Le=s++,ze;Ue&&(ze=Ue.onCancellationRequested(()=>{let Se=P.sender.sendCancellation(Er,Le);return Se===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${Le}`),Promise.resolve()):Se.catch(()=>{i.log(`Sending cancellation messages for id ${Le} failed`)})}));let Ze={jsonrpc:u,id:Le,method:z,params:Z};return lu(Ze),typeof P.sender.enableCancellation=="function"&&P.sender.enableCancellation(Ze),new Promise(async(Se,He)=>{let Oe=mn=>{Se(mn),P.sender.cleanup(Le),ze?.dispose()},ot=mn=>{He(mn),P.sender.cleanup(Le),ze?.dispose()},Dt={method:z,timerStart:Date.now(),resolve:Oe,reject:ot};try{await e.write(Ze),L.set(Le,Dt)}catch(mn){throw i.error("Sending request failed."),Dt.reject(new ce.ResponseError(ce.ErrorCodes.MessageWriteError,mn.message?mn.message:"Unknown reason")),mn}})},onRequest:(_,B)=>{Vr();let z=null;return ep.is(_)?(z=void 0,c=_):it.string(_)?(z=null,B!==void 0&&(z=_,l.set(_,{handler:B,type:void 0}))):B!==void 0&&(z=_.method,l.set(_.method,{type:_,handler:B})),{dispose:()=>{z!==null&&(z!==void 0?l.delete(z):c=void 0)}}},hasPendingResponse:()=>L.size>0,trace:async(_,B,z)=>{let Z=!1,Ue=yn.Text;z!==void 0&&(it.boolean(z)?Z=z:(Z=z.sendNotification||!1,Ue=z.traceFormat||yn.Text)),k=_,v=Ue,k===Pe.Off?F=void 0:F=B,Z&&!je()&&!on()&&await Er.sendNotification(tp.type,{value:Pe.toString(_)})},onError:V.event,onClose:ae.event,onUnhandledNotification:ge.event,onDispose:A.event,end:()=>{e.end()},dispose:()=>{if(on())return;C=Kn.Disposed,A.fire(void 0);let _=new ce.ResponseError(ce.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let B of L.values())B.reject(_);L=new Map,x=new Map,M=new Set,E=new xv.LinkedMap,it.func(e.dispose)&&e.dispose(),it.func(t.dispose)&&t.dispose()},listen:()=>{Vr(),hu(),C=Kn.Listening,t.listen(ou)},inspect:()=>{(0,kv.default)().console.log("inspect")}};return Er.onNotification(Cu.type,_=>{if(k===Pe.Off||!F)return;let B=k===Pe.Verbose||k===Pe.Compact;F.log(_.message,B?_.verbose:void 0)}),Er.onNotification(Fo.type,_=>{let B=b.get(_.token);B?B(_.value):G.fire(_)}),Er}ye.createMessageConnection=_O});var Lu=g(q=>{"use strict";Object.defineProperty(q,"__esModule",{value:!0});q.ProgressType=q.ProgressToken=q.createMessageConnection=q.NullLogger=q.ConnectionOptions=q.ConnectionStrategy=q.AbstractMessageBuffer=q.WriteableStreamMessageWriter=q.AbstractMessageWriter=q.MessageWriter=q.ReadableStreamMessageReader=q.AbstractMessageReader=q.MessageReader=q.SharedArrayReceiverStrategy=q.SharedArraySenderStrategy=q.CancellationToken=q.CancellationTokenSource=q.Emitter=q.Event=q.Disposable=q.LRUCache=q.Touch=q.LinkedMap=q.ParameterStructures=q.NotificationType9=q.NotificationType8=q.NotificationType7=q.NotificationType6=q.NotificationType5=q.NotificationType4=q.NotificationType3=q.NotificationType2=q.NotificationType1=q.NotificationType0=q.NotificationType=q.ErrorCodes=q.ResponseError=q.RequestType9=q.RequestType8=q.RequestType7=q.RequestType6=q.RequestType5=q.RequestType4=q.RequestType3=q.RequestType2=q.RequestType1=q.RequestType0=q.RequestType=q.Message=q.RAL=void 0;q.MessageStrategy=q.CancellationStrategy=q.CancellationSenderStrategy=q.CancellationReceiverStrategy=q.ConnectionError=q.ConnectionErrors=q.LogTraceNotification=q.SetTraceNotification=q.TraceFormat=q.TraceValues=q.Trace=void 0;var Ge=Cf();Object.defineProperty(q,"Message",{enumerable:!0,get:function(){return Ge.Message}});Object.defineProperty(q,"RequestType",{enumerable:!0,get:function(){return Ge.RequestType}});Object.defineProperty(q,"RequestType0",{enumerable:!0,get:function(){return Ge.RequestType0}});Object.defineProperty(q,"RequestType1",{enumerable:!0,get:function(){return Ge.RequestType1}});Object.defineProperty(q,"RequestType2",{enumerable:!0,get:function(){return Ge.RequestType2}});Object.defineProperty(q,"RequestType3",{enumerable:!0,get:function(){return Ge.RequestType3}});Object.defineProperty(q,"RequestType4",{enumerable:!0,get:function(){return Ge.RequestType4}});Object.defineProperty(q,"RequestType5",{enumerable:!0,get:function(){return Ge.RequestType5}});Object.defineProperty(q,"RequestType6",{enumerable:!0,get:function(){return Ge.RequestType6}});Object.defineProperty(q,"RequestType7",{enumerable:!0,get:function(){return Ge.RequestType7}});Object.defineProperty(q,"RequestType8",{enumerable:!0,get:function(){return Ge.RequestType8}});Object.defineProperty(q,"RequestType9",{enumerable:!0,get:function(){return Ge.RequestType9}});Object.defineProperty(q,"ResponseError",{enumerable:!0,get:function(){return Ge.ResponseError}});Object.defineProperty(q,"ErrorCodes",{enumerable:!0,get:function(){return Ge.ErrorCodes}});Object.defineProperty(q,"NotificationType",{enumerable:!0,get:function(){return Ge.NotificationType}});Object.defineProperty(q,"NotificationType0",{enumerable:!0,get:function(){return Ge.NotificationType0}});Object.defineProperty(q,"NotificationType1",{enumerable:!0,get:function(){return Ge.NotificationType1}});Object.defineProperty(q,"NotificationType2",{enumerable:!0,get:function(){return Ge.NotificationType2}});Object.defineProperty(q,"NotificationType3",{enumerable:!0,get:function(){return Ge.NotificationType3}});Object.defineProperty(q,"NotificationType4",{enumerable:!0,get:function(){return Ge.NotificationType4}});Object.defineProperty(q,"NotificationType5",{enumerable:!0,get:function(){return Ge.NotificationType5}});Object.defineProperty(q,"NotificationType6",{enumerable:!0,get:function(){return Ge.NotificationType6}});Object.defineProperty(q,"NotificationType7",{enumerable:!0,get:function(){return Ge.NotificationType7}});Object.defineProperty(q,"NotificationType8",{enumerable:!0,get:function(){return Ge.NotificationType8}});Object.defineProperty(q,"NotificationType9",{enumerable:!0,get:function(){return Ge.NotificationType9}});Object.defineProperty(q,"ParameterStructures",{enumerable:!0,get:function(){return Ge.ParameterStructures}});var ip=Df();Object.defineProperty(q,"LinkedMap",{enumerable:!0,get:function(){return ip.LinkedMap}});Object.defineProperty(q,"LRUCache",{enumerable:!0,get:function(){return ip.LRUCache}});Object.defineProperty(q,"Touch",{enumerable:!0,get:function(){return ip.Touch}});var TO=fv();Object.defineProperty(q,"Disposable",{enumerable:!0,get:function(){return TO.Disposable}});var Ov=_s();Object.defineProperty(q,"Event",{enumerable:!0,get:function(){return Ov.Event}});Object.defineProperty(q,"Emitter",{enumerable:!0,get:function(){return Ov.Emitter}});var Cv=xu();Object.defineProperty(q,"CancellationTokenSource",{enumerable:!0,get:function(){return Cv.CancellationTokenSource}});Object.defineProperty(q,"CancellationToken",{enumerable:!0,get:function(){return Cv.CancellationToken}});var Rv=hv();Object.defineProperty(q,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return Rv.SharedArraySenderStrategy}});Object.defineProperty(q,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return Rv.SharedArrayReceiverStrategy}});var sp=mv();Object.defineProperty(q,"MessageReader",{enumerable:!0,get:function(){return sp.MessageReader}});Object.defineProperty(q,"AbstractMessageReader",{enumerable:!0,get:function(){return sp.AbstractMessageReader}});Object.defineProperty(q,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return sp.ReadableStreamMessageReader}});var op=Tv();Object.defineProperty(q,"MessageWriter",{enumerable:!0,get:function(){return op.MessageWriter}});Object.defineProperty(q,"AbstractMessageWriter",{enumerable:!0,get:function(){return op.AbstractMessageWriter}});Object.defineProperty(q,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return op.WriteableStreamMessageWriter}});var SO=Sv();Object.defineProperty(q,"AbstractMessageBuffer",{enumerable:!0,get:function(){return SO.AbstractMessageBuffer}});var qt=Av();Object.defineProperty(q,"ConnectionStrategy",{enumerable:!0,get:function(){return qt.ConnectionStrategy}});Object.defineProperty(q,"ConnectionOptions",{enumerable:!0,get:function(){return qt.ConnectionOptions}});Object.defineProperty(q,"NullLogger",{enumerable:!0,get:function(){return qt.NullLogger}});Object.defineProperty(q,"createMessageConnection",{enumerable:!0,get:function(){return qt.createMessageConnection}});Object.defineProperty(q,"ProgressToken",{enumerable:!0,get:function(){return qt.ProgressToken}});Object.defineProperty(q,"ProgressType",{enumerable:!0,get:function(){return qt.ProgressType}});Object.defineProperty(q,"Trace",{enumerable:!0,get:function(){return qt.Trace}});Object.defineProperty(q,"TraceValues",{enumerable:!0,get:function(){return qt.TraceValues}});Object.defineProperty(q,"TraceFormat",{enumerable:!0,get:function(){return qt.TraceFormat}});Object.defineProperty(q,"SetTraceNotification",{enumerable:!0,get:function(){return qt.SetTraceNotification}});Object.defineProperty(q,"LogTraceNotification",{enumerable:!0,get:function(){return qt.LogTraceNotification}});Object.defineProperty(q,"ConnectionErrors",{enumerable:!0,get:function(){return qt.ConnectionErrors}});Object.defineProperty(q,"ConnectionError",{enumerable:!0,get:function(){return qt.ConnectionError}});Object.defineProperty(q,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return qt.CancellationReceiverStrategy}});Object.defineProperty(q,"CancellationSenderStrategy",{enumerable:!0,get:function(){return qt.CancellationSenderStrategy}});Object.defineProperty(q,"CancellationStrategy",{enumerable:!0,get:function(){return qt.CancellationStrategy}});Object.defineProperty(q,"MessageStrategy",{enumerable:!0,get:function(){return qt.MessageStrategy}});var kO=Kr();q.RAL=kO.default});var Iv=g(lp=>{"use strict";Object.defineProperty(lp,"__esModule",{value:!0});var Dv=require("util"),Or=Lu(),Nu=class t extends Or.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 Dv.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)}};Nu.emptyBuffer=Buffer.allocUnsafe(0);var ap=class{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),Or.Disposable.create(()=>this.stream.off("close",e))}onError(e){return this.stream.on("error",e),Or.Disposable.create(()=>this.stream.off("error",e))}onEnd(e){return this.stream.on("end",e),Or.Disposable.create(()=>this.stream.off("end",e))}onData(e){return this.stream.on("data",e),Or.Disposable.create(()=>this.stream.off("data",e))}},up=class{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),Or.Disposable.create(()=>this.stream.off("close",e))}onError(e){return this.stream.on("error",e),Or.Disposable.create(()=>this.stream.off("error",e))}onEnd(e){return this.stream.on("end",e),Or.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()}},Pv=Object.freeze({messageBuffer:Object.freeze({create:t=>new Nu(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 Dv.TextDecoder(e.charset).decode(t)))}catch(n){return Promise.reject(n)}}})}),stream:Object.freeze({asReadableStream:t=>new ap(t),asWritableStream:t=>new up(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 cp(){return Pv}(function(t){function e(){Or.RAL.install(Pv)}t.install=e})(cp||(cp={}));lp.default=cp});var Li=g(xe=>{"use strict";var xO=xe&&xe.__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]}),wO=xe&&xe.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&xO(e,t,n)};Object.defineProperty(xe,"__esModule",{value:!0});xe.createMessageConnection=xe.createServerSocketTransport=xe.createClientSocketTransport=xe.createServerPipeTransport=xe.createClientPipeTransport=xe.generateRandomPipeName=xe.StreamMessageWriter=xe.StreamMessageReader=xe.SocketMessageWriter=xe.SocketMessageReader=xe.PortMessageWriter=xe.PortMessageReader=xe.IPCMessageWriter=xe.IPCMessageReader=void 0;var ws=Iv();ws.default.install();var Mv=require("path"),EO=require("os"),AO=require("crypto"),Fu=require("net"),bn=Lu();wO(Lu(),xe);var dp=class extends bn.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),bn.Disposable.create(()=>this.process.off("message",e))}};xe.IPCMessageReader=dp;var fp=class extends bn.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(){}};xe.IPCMessageWriter=fp;var pp=class extends bn.AbstractMessageReader{constructor(e){super(),this.onData=new bn.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)}};xe.PortMessageReader=pp;var hp=class extends bn.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(){}};xe.PortMessageWriter=hp;var Ii=class extends bn.ReadableStreamMessageReader{constructor(e,n="utf-8"){super((0,ws.default)().stream.asReadableStream(e),n)}};xe.SocketMessageReader=Ii;var Mi=class extends bn.WriteableStreamMessageWriter{constructor(e,n){super((0,ws.default)().stream.asWritableStream(e),n),this.socket=e}dispose(){super.dispose(),this.socket.destroy()}};xe.SocketMessageWriter=Mi;var qu=class extends bn.ReadableStreamMessageReader{constructor(e,n){super((0,ws.default)().stream.asReadableStream(e),n)}};xe.StreamMessageReader=qu;var ju=class extends bn.WriteableStreamMessageWriter{constructor(e,n){super((0,ws.default)().stream.asWritableStream(e),n)}};xe.StreamMessageWriter=ju;var Lv=process.env.XDG_RUNTIME_DIR,OO=new Map([["linux",107],["darwin",103]]);function CO(){let t=(0,AO.randomBytes)(21).toString("hex");if(process.platform==="win32")return`\\\\.\\pipe\\vscode-jsonrpc-${t}-sock`;let e;Lv?e=Mv.join(Lv,`vscode-ipc-${t}.sock`):e=Mv.join(EO.tmpdir(),`vscode-${t}.sock`);let n=OO.get(process.platform);return n!==void 0&&e.length>n&&(0,ws.default)().console.warn(`WARNING: IPC handle "${e}" is longer than ${n} characters.`),e}xe.generateRandomPipeName=CO;function RO(t,e="utf-8"){let n,r=new Promise((i,s)=>{n=i});return new Promise((i,s)=>{let o=(0,Fu.createServer)(a=>{o.close(),n([new Ii(a,e),new Mi(a,e)])});o.on("error",s),o.listen(t,()=>{o.removeListener("error",s),i({onConnected:()=>r})})})}xe.createClientPipeTransport=RO;function DO(t,e="utf-8"){let n=(0,Fu.createConnection)(t);return[new Ii(n,e),new Mi(n,e)]}xe.createServerPipeTransport=DO;function PO(t,e="utf-8"){let n,r=new Promise((i,s)=>{n=i});return new Promise((i,s)=>{let o=(0,Fu.createServer)(a=>{o.close(),n([new Ii(a,e),new Mi(a,e)])});o.on("error",s),o.listen(t,"127.0.0.1",()=>{o.removeListener("error",s),i({onConnected:()=>r})})})}xe.createClientSocketTransport=PO;function IO(t,e="utf-8"){let n=(0,Fu.createConnection)(t,"127.0.0.1");return[new Ii(n,e),new Mi(n,e)]}xe.createServerSocketTransport=IO;function MO(t){let e=t;return e.read!==void 0&&e.addListener!==void 0}function LO(t){let e=t;return e.write!==void 0&&e.addListener!==void 0}function NO(t,e,n,r){n||(n=bn.NullLogger);let i=MO(t)?new qu(t):t,s=LO(e)?new ju(e):e;return bn.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),(0,bn.createMessageConnection)(i,s,n,r)}xe.createMessageConnection=NO});var gp=g((aF,Nv)=>{"use strict";Nv.exports=Li()});var Bu=g((qv,$u)=>{(function(t){if(typeof $u=="object"&&typeof $u.exports=="object"){var e=t(require,qv);e!==void 0&&($u.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(h){function S(w){return typeof w=="string"}h.is=S})(n||(e.DocumentUri=n={}));var r;(function(h){function S(w){return typeof w=="string"}h.is=S})(r||(e.URI=r={}));var i;(function(h){h.MIN_VALUE=-2147483648,h.MAX_VALUE=2147483647;function S(w){return typeof w=="number"&&h.MIN_VALUE<=w&&w<=h.MAX_VALUE}h.is=S})(i||(e.integer=i={}));var s;(function(h){h.MIN_VALUE=0,h.MAX_VALUE=2147483647;function S(w){return typeof w=="number"&&h.MIN_VALUE<=w&&w<=h.MAX_VALUE}h.is=S})(s||(e.uinteger=s={}));var o;(function(h){function S(m,f){return m===Number.MAX_VALUE&&(m=s.MAX_VALUE),f===Number.MAX_VALUE&&(f=s.MAX_VALUE),{line:m,character:f}}h.create=S;function w(m){var f=m;return D.objectLiteral(f)&&D.uinteger(f.line)&&D.uinteger(f.character)}h.is=w})(o||(e.Position=o={}));var a;(function(h){function S(m,f,R,U){if(D.uinteger(m)&&D.uinteger(f)&&D.uinteger(R)&&D.uinteger(U))return{start:o.create(m,f),end:o.create(R,U)};if(o.is(m)&&o.is(f))return{start:m,end:f};throw new Error("Range#create called with invalid arguments[".concat(m,", ").concat(f,", ").concat(R,", ").concat(U,"]"))}h.create=S;function w(m){var f=m;return D.objectLiteral(f)&&o.is(f.start)&&o.is(f.end)}h.is=w})(a||(e.Range=a={}));var u;(function(h){function S(m,f){return{uri:m,range:f}}h.create=S;function w(m){var f=m;return D.objectLiteral(f)&&a.is(f.range)&&(D.string(f.uri)||D.undefined(f.uri))}h.is=w})(u||(e.Location=u={}));var c;(function(h){function S(m,f,R,U){return{targetUri:m,targetRange:f,targetSelectionRange:R,originSelectionRange:U}}h.create=S;function w(m){var f=m;return D.objectLiteral(f)&&a.is(f.targetRange)&&D.string(f.targetUri)&&a.is(f.targetSelectionRange)&&(a.is(f.originSelectionRange)||D.undefined(f.originSelectionRange))}h.is=w})(c||(e.LocationLink=c={}));var l;(function(h){function S(m,f,R,U){return{red:m,green:f,blue:R,alpha:U}}h.create=S;function w(m){var f=m;return D.objectLiteral(f)&&D.numberRange(f.red,0,1)&&D.numberRange(f.green,0,1)&&D.numberRange(f.blue,0,1)&&D.numberRange(f.alpha,0,1)}h.is=w})(l||(e.Color=l={}));var d;(function(h){function S(m,f){return{range:m,color:f}}h.create=S;function w(m){var f=m;return D.objectLiteral(f)&&a.is(f.range)&&l.is(f.color)}h.is=w})(d||(e.ColorInformation=d={}));var p;(function(h){function S(m,f,R){return{label:m,textEdit:f,additionalTextEdits:R}}h.create=S;function w(m){var f=m;return D.objectLiteral(f)&&D.string(f.label)&&(D.undefined(f.textEdit)||F.is(f))&&(D.undefined(f.additionalTextEdits)||D.typedArray(f.additionalTextEdits,F.is))}h.is=w})(p||(e.ColorPresentation=p={}));var b;(function(h){h.Comment="comment",h.Imports="imports",h.Region="region"})(b||(e.FoldingRangeKind=b={}));var T;(function(h){function S(m,f,R,U,me,at){var We={startLine:m,endLine:f};return D.defined(R)&&(We.startCharacter=R),D.defined(U)&&(We.endCharacter=U),D.defined(me)&&(We.kind=me),D.defined(at)&&(We.collapsedText=at),We}h.create=S;function w(m){var f=m;return D.objectLiteral(f)&&D.uinteger(f.startLine)&&D.uinteger(f.startLine)&&(D.undefined(f.startCharacter)||D.uinteger(f.startCharacter))&&(D.undefined(f.endCharacter)||D.uinteger(f.endCharacter))&&(D.undefined(f.kind)||D.string(f.kind))}h.is=w})(T||(e.FoldingRange=T={}));var E;(function(h){function S(m,f){return{location:m,message:f}}h.create=S;function w(m){var f=m;return D.defined(f)&&u.is(f.location)&&D.string(f.message)}h.is=w})(E||(e.DiagnosticRelatedInformation=E={}));var L;(function(h){h.Error=1,h.Warning=2,h.Information=3,h.Hint=4})(L||(e.DiagnosticSeverity=L={}));var M;(function(h){h.Unnecessary=1,h.Deprecated=2})(M||(e.DiagnosticTag=M={}));var x;(function(h){function S(w){var m=w;return D.objectLiteral(m)&&D.string(m.href)}h.is=S})(x||(e.CodeDescription=x={}));var k;(function(h){function S(m,f,R,U,me,at){var We={range:m,message:f};return D.defined(R)&&(We.severity=R),D.defined(U)&&(We.code=U),D.defined(me)&&(We.source=me),D.defined(at)&&(We.relatedInformation=at),We}h.create=S;function w(m){var f,R=m;return D.defined(R)&&a.is(R.range)&&D.string(R.message)&&(D.number(R.severity)||D.undefined(R.severity))&&(D.integer(R.code)||D.string(R.code)||D.undefined(R.code))&&(D.undefined(R.codeDescription)||D.string((f=R.codeDescription)===null||f===void 0?void 0:f.href))&&(D.string(R.source)||D.undefined(R.source))&&(D.undefined(R.relatedInformation)||D.typedArray(R.relatedInformation,E.is))}h.is=w})(k||(e.Diagnostic=k={}));var v;(function(h){function S(m,f){for(var R=[],U=2;U<arguments.length;U++)R[U-2]=arguments[U];var me={title:m,command:f};return D.defined(R)&&R.length>0&&(me.arguments=R),me}h.create=S;function w(m){var f=m;return D.defined(f)&&D.string(f.title)&&D.string(f.command)}h.is=w})(v||(e.Command=v={}));var F;(function(h){function S(R,U){return{range:R,newText:U}}h.replace=S;function w(R,U){return{range:{start:R,end:R},newText:U}}h.insert=w;function m(R){return{range:R,newText:""}}h.del=m;function f(R){var U=R;return D.objectLiteral(U)&&D.string(U.newText)&&a.is(U.range)}h.is=f})(F||(e.TextEdit=F={}));var C;(function(h){function S(m,f,R){var U={label:m};return f!==void 0&&(U.needsConfirmation=f),R!==void 0&&(U.description=R),U}h.create=S;function w(m){var f=m;return D.objectLiteral(f)&&D.string(f.label)&&(D.boolean(f.needsConfirmation)||f.needsConfirmation===void 0)&&(D.string(f.description)||f.description===void 0)}h.is=w})(C||(e.ChangeAnnotation=C={}));var V;(function(h){function S(w){var m=w;return D.string(m)}h.is=S})(V||(e.ChangeAnnotationIdentifier=V={}));var ae;(function(h){function S(R,U,me){return{range:R,newText:U,annotationId:me}}h.replace=S;function w(R,U,me){return{range:{start:R,end:R},newText:U,annotationId:me}}h.insert=w;function m(R,U){return{range:R,newText:"",annotationId:U}}h.del=m;function f(R){var U=R;return F.is(U)&&(C.is(U.annotationId)||V.is(U.annotationId))}h.is=f})(ae||(e.AnnotatedTextEdit=ae={}));var ge;(function(h){function S(m,f){return{textDocument:m,edits:f}}h.create=S;function w(m){var f=m;return D.defined(f)&&je.is(f.textDocument)&&Array.isArray(f.edits)}h.is=w})(ge||(e.TextDocumentEdit=ge={}));var G;(function(h){function S(m,f,R){var U={kind:"create",uri:m};return f!==void 0&&(f.overwrite!==void 0||f.ignoreIfExists!==void 0)&&(U.options=f),R!==void 0&&(U.annotationId=R),U}h.create=S;function w(m){var f=m;return f&&f.kind==="create"&&D.string(f.uri)&&(f.options===void 0||(f.options.overwrite===void 0||D.boolean(f.options.overwrite))&&(f.options.ignoreIfExists===void 0||D.boolean(f.options.ignoreIfExists)))&&(f.annotationId===void 0||V.is(f.annotationId))}h.is=w})(G||(e.CreateFile=G={}));var A;(function(h){function S(m,f,R,U){var me={kind:"rename",oldUri:m,newUri:f};return R!==void 0&&(R.overwrite!==void 0||R.ignoreIfExists!==void 0)&&(me.options=R),U!==void 0&&(me.annotationId=U),me}h.create=S;function w(m){var f=m;return f&&f.kind==="rename"&&D.string(f.oldUri)&&D.string(f.newUri)&&(f.options===void 0||(f.options.overwrite===void 0||D.boolean(f.options.overwrite))&&(f.options.ignoreIfExists===void 0||D.boolean(f.options.ignoreIfExists)))&&(f.annotationId===void 0||V.is(f.annotationId))}h.is=w})(A||(e.RenameFile=A={}));var P;(function(h){function S(m,f,R){var U={kind:"delete",uri:m};return f!==void 0&&(f.recursive!==void 0||f.ignoreIfNotExists!==void 0)&&(U.options=f),R!==void 0&&(U.annotationId=R),U}h.create=S;function w(m){var f=m;return f&&f.kind==="delete"&&D.string(f.uri)&&(f.options===void 0||(f.options.recursive===void 0||D.boolean(f.options.recursive))&&(f.options.ignoreIfNotExists===void 0||D.boolean(f.options.ignoreIfNotExists)))&&(f.annotationId===void 0||V.is(f.annotationId))}h.is=w})(P||(e.DeleteFile=P={}));var I;(function(h){function S(w){var m=w;return m&&(m.changes!==void 0||m.documentChanges!==void 0)&&(m.documentChanges===void 0||m.documentChanges.every(function(f){return D.string(f.kind)?G.is(f)||A.is(f)||P.is(f):ge.is(f)}))}h.is=S})(I||(e.WorkspaceEdit=I={}));var j=function(){function h(S,w){this.edits=S,this.changeAnnotations=w}return h.prototype.insert=function(S,w,m){var f,R;if(m===void 0?f=F.insert(S,w):V.is(m)?(R=m,f=ae.insert(S,w,m)):(this.assertChangeAnnotations(this.changeAnnotations),R=this.changeAnnotations.manage(m),f=ae.insert(S,w,R)),this.edits.push(f),R!==void 0)return R},h.prototype.replace=function(S,w,m){var f,R;if(m===void 0?f=F.replace(S,w):V.is(m)?(R=m,f=ae.replace(S,w,m)):(this.assertChangeAnnotations(this.changeAnnotations),R=this.changeAnnotations.manage(m),f=ae.replace(S,w,R)),this.edits.push(f),R!==void 0)return R},h.prototype.delete=function(S,w){var m,f;if(w===void 0?m=F.del(S):V.is(w)?(f=w,m=ae.del(S,w)):(this.assertChangeAnnotations(this.changeAnnotations),f=this.changeAnnotations.manage(w),m=ae.del(S,f)),this.edits.push(m),f!==void 0)return f},h.prototype.add=function(S){this.edits.push(S)},h.prototype.all=function(){return this.edits},h.prototype.clear=function(){this.edits.splice(0,this.edits.length)},h.prototype.assertChangeAnnotations=function(S){if(S===void 0)throw new Error("Text edit change is not configured to manage change annotations.")},h}(),fe=function(){function h(S){this._annotations=S===void 0?Object.create(null):S,this._counter=0,this._size=0}return h.prototype.all=function(){return this._annotations},Object.defineProperty(h.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),h.prototype.manage=function(S,w){var m;if(V.is(S)?m=S:(m=this.nextId(),w=S),this._annotations[m]!==void 0)throw new Error("Id ".concat(m," is already in use."));if(w===void 0)throw new Error("No annotation provided for id ".concat(m));return this._annotations[m]=w,this._size++,m},h.prototype.nextId=function(){return this._counter++,this._counter.toString()},h}(),le=function(){function h(S){var w=this;this._textEditChanges=Object.create(null),S!==void 0?(this._workspaceEdit=S,S.documentChanges?(this._changeAnnotations=new fe(S.changeAnnotations),S.changeAnnotations=this._changeAnnotations.all(),S.documentChanges.forEach(function(m){if(ge.is(m)){var f=new j(m.edits,w._changeAnnotations);w._textEditChanges[m.textDocument.uri]=f}})):S.changes&&Object.keys(S.changes).forEach(function(m){var f=new j(S.changes[m]);w._textEditChanges[m]=f})):this._workspaceEdit={}}return Object.defineProperty(h.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}),h.prototype.getTextEditChange=function(S){if(je.is(S)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var w={uri:S.uri,version:S.version},m=this._textEditChanges[w.uri];if(!m){var f=[],R={textDocument:w,edits:f};this._workspaceEdit.documentChanges.push(R),m=new j(f,this._changeAnnotations),this._textEditChanges[w.uri]=m}return m}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");var m=this._textEditChanges[S];if(!m){var f=[];this._workspaceEdit.changes[S]=f,m=new j(f),this._textEditChanges[S]=m}return m}},h.prototype.initDocumentChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new fe,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},h.prototype.initChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))},h.prototype.createFile=function(S,w,m){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var f;C.is(w)||V.is(w)?f=w:m=w;var R,U;if(f===void 0?R=G.create(S,m):(U=V.is(f)?f:this._changeAnnotations.manage(f),R=G.create(S,m,U)),this._workspaceEdit.documentChanges.push(R),U!==void 0)return U},h.prototype.renameFile=function(S,w,m,f){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var R;C.is(m)||V.is(m)?R=m:f=m;var U,me;if(R===void 0?U=A.create(S,w,f):(me=V.is(R)?R:this._changeAnnotations.manage(R),U=A.create(S,w,f,me)),this._workspaceEdit.documentChanges.push(U),me!==void 0)return me},h.prototype.deleteFile=function(S,w,m){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var f;C.is(w)||V.is(w)?f=w:m=w;var R,U;if(f===void 0?R=P.create(S,m):(U=V.is(f)?f:this._changeAnnotations.manage(f),R=P.create(S,m,U)),this._workspaceEdit.documentChanges.push(R),U!==void 0)return U},h}();e.WorkspaceChange=le;var Rt;(function(h){function S(m){return{uri:m}}h.create=S;function w(m){var f=m;return D.defined(f)&&D.string(f.uri)}h.is=w})(Rt||(e.TextDocumentIdentifier=Rt={}));var ht;(function(h){function S(m,f){return{uri:m,version:f}}h.create=S;function w(m){var f=m;return D.defined(f)&&D.string(f.uri)&&D.integer(f.version)}h.is=w})(ht||(e.VersionedTextDocumentIdentifier=ht={}));var je;(function(h){function S(m,f){return{uri:m,version:f}}h.create=S;function w(m){var f=m;return D.defined(f)&&D.string(f.uri)&&(f.version===null||D.integer(f.version))}h.is=w})(je||(e.OptionalVersionedTextDocumentIdentifier=je={}));var on;(function(h){function S(m,f,R,U){return{uri:m,languageId:f,version:R,text:U}}h.create=S;function w(m){var f=m;return D.defined(f)&&D.string(f.uri)&&D.string(f.languageId)&&D.integer(f.version)&&D.string(f.text)}h.is=w})(on||(e.TextDocumentItem=on={}));var ps;(function(h){h.PlainText="plaintext",h.Markdown="markdown";function S(w){var m=w;return m===h.PlainText||m===h.Markdown}h.is=S})(ps||(e.MarkupKind=ps={}));var Ri;(function(h){function S(w){var m=w;return D.objectLiteral(w)&&ps.is(m.kind)&&D.string(m.value)}h.is=S})(Ri||(e.MarkupContent=Ri={}));var iu;(function(h){h.Text=1,h.Method=2,h.Function=3,h.Constructor=4,h.Field=5,h.Variable=6,h.Class=7,h.Interface=8,h.Module=9,h.Property=10,h.Unit=11,h.Value=12,h.Enum=13,h.Keyword=14,h.Snippet=15,h.Color=16,h.File=17,h.Reference=18,h.Folder=19,h.EnumMember=20,h.Constant=21,h.Struct=22,h.Event=23,h.Operator=24,h.TypeParameter=25})(iu||(e.CompletionItemKind=iu={}));var Do;(function(h){h.PlainText=1,h.Snippet=2})(Do||(e.InsertTextFormat=Do={}));var Po;(function(h){h.Deprecated=1})(Po||(e.CompletionItemTag=Po={}));var su;(function(h){function S(m,f,R){return{newText:m,insert:f,replace:R}}h.create=S;function w(m){var f=m;return f&&D.string(f.newText)&&a.is(f.insert)&&a.is(f.replace)}h.is=w})(su||(e.InsertReplaceEdit=su={}));var ou;(function(h){h.asIs=1,h.adjustIndentation=2})(ou||(e.InsertTextMode=ou={}));var au;(function(h){function S(w){var m=w;return m&&(D.string(m.detail)||m.detail===void 0)&&(D.string(m.description)||m.description===void 0)}h.is=S})(au||(e.CompletionItemLabelDetails=au={}));var uu;(function(h){function S(w){return{label:w}}h.create=S})(uu||(e.CompletionItem=uu={}));var cu;(function(h){function S(w,m){return{items:w||[],isIncomplete:!!m}}h.create=S})(cu||(e.CompletionList=cu={}));var hs;(function(h){function S(m){return m.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}h.fromPlainText=S;function w(m){var f=m;return D.string(f)||D.objectLiteral(f)&&D.string(f.language)&&D.string(f.value)}h.is=w})(hs||(e.MarkedString=hs={}));var Gn;(function(h){function S(w){var m=w;return!!m&&D.objectLiteral(m)&&(Ri.is(m.contents)||hs.is(m.contents)||D.typedArray(m.contents,hs.is))&&(w.range===void 0||a.is(w.range))}h.is=S})(Gn||(e.Hover=Gn={}));var lu;(function(h){function S(w,m){return m?{label:w,documentation:m}:{label:w}}h.create=S})(lu||(e.ParameterInformation=lu={}));var du;(function(h){function S(w,m){for(var f=[],R=2;R<arguments.length;R++)f[R-2]=arguments[R];var U={label:w};return D.defined(m)&&(U.documentation=m),D.defined(f)?U.parameters=f:U.parameters=[],U}h.create=S})(du||(e.SignatureInformation=du={}));var Di;(function(h){h.Text=1,h.Read=2,h.Write=3})(Di||(e.DocumentHighlightKind=Di={}));var fu;(function(h){function S(w,m){var f={range:w};return D.number(m)&&(f.kind=m),f}h.create=S})(fu||(e.DocumentHighlight=fu={}));var gs;(function(h){h.File=1,h.Module=2,h.Namespace=3,h.Package=4,h.Class=5,h.Method=6,h.Property=7,h.Field=8,h.Constructor=9,h.Enum=10,h.Interface=11,h.Function=12,h.Variable=13,h.Constant=14,h.String=15,h.Number=16,h.Boolean=17,h.Array=18,h.Object=19,h.Key=20,h.Null=21,h.EnumMember=22,h.Struct=23,h.Event=24,h.Operator=25,h.TypeParameter=26})(gs||(e.SymbolKind=gs={}));var pu;(function(h){h.Deprecated=1})(pu||(e.SymbolTag=pu={}));var wr;(function(h){function S(w,m,f,R,U){var me={name:w,kind:m,location:{uri:R,range:f}};return U&&(me.containerName=U),me}h.create=S})(wr||(e.SymbolInformation=wr={}));var Vr;(function(h){function S(w,m,f,R){return R!==void 0?{name:w,kind:m,location:{uri:f,range:R}}:{name:w,kind:m,location:{uri:f}}}h.create=S})(Vr||(e.WorkspaceSymbol=Vr={}));var hu;(function(h){function S(m,f,R,U,me,at){var We={name:m,detail:f,kind:R,range:U,selectionRange:me};return at!==void 0&&(We.children=at),We}h.create=S;function w(m){var f=m;return f&&D.string(f.name)&&D.number(f.kind)&&a.is(f.range)&&a.is(f.selectionRange)&&(f.detail===void 0||D.string(f.detail))&&(f.deprecated===void 0||D.boolean(f.deprecated))&&(f.children===void 0||Array.isArray(f.children))&&(f.tags===void 0||Array.isArray(f.tags))}h.is=w})(hu||(e.DocumentSymbol=hu={}));var gu;(function(h){h.Empty="",h.QuickFix="quickfix",h.Refactor="refactor",h.RefactorExtract="refactor.extract",h.RefactorInline="refactor.inline",h.RefactorRewrite="refactor.rewrite",h.Source="source",h.SourceOrganizeImports="source.organizeImports",h.SourceFixAll="source.fixAll"})(gu||(e.CodeActionKind=gu={}));var sr;(function(h){h.Invoked=1,h.Automatic=2})(sr||(e.CodeActionTriggerKind=sr={}));var Io;(function(h){function S(m,f,R){var U={diagnostics:m};return f!=null&&(U.only=f),R!=null&&(U.triggerKind=R),U}h.create=S;function w(m){var f=m;return D.defined(f)&&D.typedArray(f.diagnostics,k.is)&&(f.only===void 0||D.typedArray(f.only,D.string))&&(f.triggerKind===void 0||f.triggerKind===sr.Invoked||f.triggerKind===sr.Automatic)}h.is=w})(Io||(e.CodeActionContext=Io={}));var Mo;(function(h){function S(m,f,R){var U={title:m},me=!0;return typeof f=="string"?(me=!1,U.kind=f):v.is(f)?U.command=f:U.edit=f,me&&R!==void 0&&(U.kind=R),U}h.create=S;function w(m){var f=m;return f&&D.string(f.title)&&(f.diagnostics===void 0||D.typedArray(f.diagnostics,k.is))&&(f.kind===void 0||D.string(f.kind))&&(f.edit!==void 0||f.command!==void 0)&&(f.command===void 0||v.is(f.command))&&(f.isPreferred===void 0||D.boolean(f.isPreferred))&&(f.edit===void 0||I.is(f.edit))}h.is=w})(Mo||(e.CodeAction=Mo={}));var ms;(function(h){function S(m,f){var R={range:m};return D.defined(f)&&(R.data=f),R}h.create=S;function w(m){var f=m;return D.defined(f)&&a.is(f.range)&&(D.undefined(f.command)||v.is(f.command))}h.is=w})(ms||(e.CodeLens=ms={}));var Lo;(function(h){function S(m,f){return{tabSize:m,insertSpaces:f}}h.create=S;function w(m){var f=m;return D.defined(f)&&D.uinteger(f.tabSize)&&D.boolean(f.insertSpaces)}h.is=w})(Lo||(e.FormattingOptions=Lo={}));var Er;(function(h){function S(m,f,R){return{range:m,target:f,data:R}}h.create=S;function w(m){var f=m;return D.defined(f)&&a.is(f.range)&&(D.undefined(f.target)||D.string(f.target))}h.is=w})(Er||(e.DocumentLink=Er={}));var _;(function(h){function S(m,f){return{range:m,parent:f}}h.create=S;function w(m){var f=m;return D.objectLiteral(f)&&a.is(f.range)&&(f.parent===void 0||h.is(f.parent))}h.is=w})(_||(e.SelectionRange=_={}));var B;(function(h){h.namespace="namespace",h.type="type",h.class="class",h.enum="enum",h.interface="interface",h.struct="struct",h.typeParameter="typeParameter",h.parameter="parameter",h.variable="variable",h.property="property",h.enumMember="enumMember",h.event="event",h.function="function",h.method="method",h.macro="macro",h.keyword="keyword",h.modifier="modifier",h.comment="comment",h.string="string",h.number="number",h.regexp="regexp",h.operator="operator",h.decorator="decorator"})(B||(e.SemanticTokenTypes=B={}));var z;(function(h){h.declaration="declaration",h.definition="definition",h.readonly="readonly",h.static="static",h.deprecated="deprecated",h.abstract="abstract",h.async="async",h.modification="modification",h.documentation="documentation",h.defaultLibrary="defaultLibrary"})(z||(e.SemanticTokenModifiers=z={}));var Z;(function(h){function S(w){var m=w;return D.objectLiteral(m)&&(m.resultId===void 0||typeof m.resultId=="string")&&Array.isArray(m.data)&&(m.data.length===0||typeof m.data[0]=="number")}h.is=S})(Z||(e.SemanticTokens=Z={}));var Ue;(function(h){function S(m,f){return{range:m,text:f}}h.create=S;function w(m){var f=m;return f!=null&&a.is(f.range)&&D.string(f.text)}h.is=w})(Ue||(e.InlineValueText=Ue={}));var Le;(function(h){function S(m,f,R){return{range:m,variableName:f,caseSensitiveLookup:R}}h.create=S;function w(m){var f=m;return f!=null&&a.is(f.range)&&D.boolean(f.caseSensitiveLookup)&&(D.string(f.variableName)||f.variableName===void 0)}h.is=w})(Le||(e.InlineValueVariableLookup=Le={}));var ze;(function(h){function S(m,f){return{range:m,expression:f}}h.create=S;function w(m){var f=m;return f!=null&&a.is(f.range)&&(D.string(f.expression)||f.expression===void 0)}h.is=w})(ze||(e.InlineValueEvaluatableExpression=ze={}));var Ze;(function(h){function S(m,f){return{frameId:m,stoppedLocation:f}}h.create=S;function w(m){var f=m;return D.defined(f)&&a.is(m.stoppedLocation)}h.is=w})(Ze||(e.InlineValueContext=Ze={}));var Se;(function(h){h.Type=1,h.Parameter=2;function S(w){return w===1||w===2}h.is=S})(Se||(e.InlayHintKind=Se={}));var He;(function(h){function S(m){return{value:m}}h.create=S;function w(m){var f=m;return D.objectLiteral(f)&&(f.tooltip===void 0||D.string(f.tooltip)||Ri.is(f.tooltip))&&(f.location===void 0||u.is(f.location))&&(f.command===void 0||v.is(f.command))}h.is=w})(He||(e.InlayHintLabelPart=He={}));var Oe;(function(h){function S(m,f,R){var U={position:m,label:f};return R!==void 0&&(U.kind=R),U}h.create=S;function w(m){var f=m;return D.objectLiteral(f)&&o.is(f.position)&&(D.string(f.label)||D.typedArray(f.label,He.is))&&(f.kind===void 0||Se.is(f.kind))&&f.textEdits===void 0||D.typedArray(f.textEdits,F.is)&&(f.tooltip===void 0||D.string(f.tooltip)||Ri.is(f.tooltip))&&(f.paddingLeft===void 0||D.boolean(f.paddingLeft))&&(f.paddingRight===void 0||D.boolean(f.paddingRight))}h.is=w})(Oe||(e.InlayHint=Oe={}));var ot;(function(h){function S(w){return{kind:"snippet",value:w}}h.createSnippet=S})(ot||(e.StringValue=ot={}));var Dt;(function(h){function S(w,m,f,R){return{insertText:w,filterText:m,range:f,command:R}}h.create=S})(Dt||(e.InlineCompletionItem=Dt={}));var mn;(function(h){function S(w){return{items:w}}h.create=S})(mn||(e.InlineCompletionList=mn={}));var mu;(function(h){h.Invoked=0,h.Automatic=1})(mu||(e.InlineCompletionTriggerKind=mu={}));var Zb;(function(h){function S(w,m){return{range:w,text:m}}h.create=S})(Zb||(e.SelectedCompletionInfo=Zb={}));var ev;(function(h){function S(w,m){return{triggerKind:w,selectedCompletionInfo:m}}h.create=S})(ev||(e.InlineCompletionContext=ev={}));var tv;(function(h){function S(w){var m=w;return D.objectLiteral(m)&&r.is(m.uri)&&D.string(m.name)}h.is=S})(tv||(e.WorkspaceFolder=tv={})),e.EOL=[`
|
32
32
|
`,`\r
|
33
33
|
`,"\r"];var nv;(function(h){function S(R,U,me,at){return new HA(R,U,me,at)}h.create=S;function w(R){var U=R;return!!(D.defined(U)&&D.string(U.uri)&&(D.undefined(U.languageId)||D.string(U.languageId))&&D.uinteger(U.lineCount)&&D.func(U.getText)&&D.func(U.positionAt)&&D.func(U.offsetAt))}h.is=w;function m(R,U){for(var me=R.getText(),at=f(U,function(ys,yu){var rv=ys.range.start.line-yu.range.start.line;return rv===0?ys.range.start.character-yu.range.start.character:rv}),We=me.length,Vn=at.length-1;Vn>=0;Vn--){var zn=at[Vn],Ar=R.offsetAt(zn.range.start),ke=R.offsetAt(zn.range.end);if(ke<=We)me=me.substring(0,Ar)+zn.newText+me.substring(ke,me.length);else throw new Error("Overlapping edit");We=Ar}return me}h.applyEdits=m;function f(R,U){if(R.length<=1)return R;var me=R.length/2|0,at=R.slice(0,me),We=R.slice(me);f(at,U),f(We,U);for(var Vn=0,zn=0,Ar=0;Vn<at.length&&zn<We.length;){var ke=U(at[Vn],We[zn]);ke<=0?R[Ar++]=at[Vn++]:R[Ar++]=We[zn++]}for(;Vn<at.length;)R[Ar++]=at[Vn++];for(;zn<We.length;)R[Ar++]=We[zn++];return R}})(nv||(e.TextDocument=nv={}));var HA=function(){function h(S,w,m,f){this._uri=S,this._languageId=w,this._version=m,this._content=f,this._lineOffsets=void 0}return Object.defineProperty(h.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(h.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(h.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),h.prototype.getText=function(S){if(S){var w=this.offsetAt(S.start),m=this.offsetAt(S.end);return this._content.substring(w,m)}return this._content},h.prototype.update=function(S,w){this._content=S.text,this._version=w,this._lineOffsets=void 0},h.prototype.getLineOffsets=function(){if(this._lineOffsets===void 0){for(var S=[],w=this._content,m=!0,f=0;f<w.length;f++){m&&(S.push(f),m=!1);var R=w.charAt(f);m=R==="\r"||R===`
|
34
34
|
`,R==="\r"&&f+1<w.length&&w.charAt(f+1)===`
|
@@ -93,30 +93,31 @@ ${e}
|
|
93
93
|
${r.length>0?`switch(token.value) {
|
94
94
|
${r}
|
95
95
|
}`:""}
|
96
|
-
return false;`);return Object.defineProperty(o,"name",{value:`selector_group_${t}`,writable:!1}),o.selectors=e,o}se.createSelectorGroup=lr;function XR(t){return t.selectors}se.getSelectorsFromGroup=XR;var dr;(function(t){t.BlockEndOfLine="BlockEndOfLine",t.AssignmentEndOfExpr="AssignmentEndOfExpr",t.AssignmentShorthand="AssignmentShorthand",t.AssignmentCommandArgs="AssignmentCommandArgs",t.ReturnStatementEnd="ReturnStatementEnd",t.FunctionDeclarationArgEnd="FunctionDeclarationArgEnd",t.ComparisonOperators="ComparisonOperators",t.MultiDivOperators="MultiDivOperators",t.CallArgsEnd="CallArgsEnd"})(dr=se.SelectorGroupType||(se.SelectorGroupType={}));se.SelectorGroups={BlockEndOfLine:lr(dr.AssignmentEndOfExpr,[se.Selectors.EndOfLine,se.Selectors.Comment]),AssignmentEndOfExpr:lr(dr.AssignmentEndOfExpr,[se.Selectors.EndOfFile,se.Selectors.EndOfLine,se.Selectors.Else,se.Selectors.Comment]),AssignmentShorthand:lr(dr.AssignmentShorthand,[se.Selectors.AddShorthand,se.Selectors.SubtractShorthand,se.Selectors.MultiplyShorthand,se.Selectors.DivideShorthand,se.Selectors.PowerShorthand,se.Selectors.ModuloShorthand]),AssignmentCommandArgs:lr(dr.AssignmentCommandArgs,[se.Selectors.ArgumentSeperator,se.Selectors.EndOfLine,se.Selectors.EndOfFile]),ReturnStatementEnd:lr(dr.ReturnStatementEnd,[se.Selectors.EndOfLine,se.Selectors.Else,se.Selectors.Comment]),FunctionDeclarationArgEnd:lr(dr.FunctionDeclarationArgEnd,[se.Selectors.RParenthesis,se.Selectors.EndOfFile,se.Selectors.EndOfLine]),ComparisonOperators:lr(dr.ComparisonOperators,[se.Selectors.Equal,se.Selectors.NotEqual,se.Selectors.Greater,se.Selectors.GreaterEqual,se.Selectors.Lesser,se.Selectors.LessEqual]),MultiDivOperators:lr(dr.MultiDivOperators,[se.Selectors.Times,se.Selectors.Divide,se.Selectors.Mod]),CallArgsEnd:lr(dr.CallArgsEnd,[se.Selectors.ArgumentSeperator,se.Selectors.RParenthesis])}});var Cg=g(ol=>{"use strict";Object.defineProperty(ol,"__esModule",{value:!0});ol.Stack=void 0;var Og=class{constructor(){this._items=[],this._last=null,this._default=null}setDefault(e){this._default=e}push(e){return this._items.push(this._last=e)}pop(){switch(this._items.length){case 0:return this._default;case 1:return this._last=null,this._items.pop()}let e=this._items.pop();return this._last=this._items[this._items.length-1],e}peek(){return this._last||this._default}};ol.Stack=Og});var Lg=g(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.PendingWhile=Xe.isPendingWhile=Xe.PendingIf=Xe.isPendingIf=Xe.PendingFunction=Xe.isPendingFunction=Xe.PendingFor=Xe.isPendingFor=Xe.PendingChunk=Xe.isPendingChunk=Xe.PendingBlockType=void 0;var Qn;(function(t){t[t.Chunk=0]="Chunk",t[t.For=1]="For",t[t.Function=2]="Function",t[t.If=3]="If",t[t.While=4]="While"})(Qn=Xe.PendingBlockType||(Xe.PendingBlockType={}));var Bi=class{constructor(e,n){this.block=e,this.body=[],this.type=n,this.onComplete=null}complete(e){var n;(n=this.onComplete)===null||n===void 0||n.call(this,this)}};function YR(t){return t.type===Qn.Chunk}Xe.isPendingChunk=YR;var Rg=class extends Bi{constructor(e){super(e,Qn.Chunk)}complete(e){this.block.body=this.body,this.block.end=e.end,this.block.range=[this.block.range[0],e.range[1]],super.complete(e)}};Xe.PendingChunk=Rg;function JR(t){return t.type===Qn.For}Xe.isPendingFor=JR;var Dg=class extends Bi{constructor(e){super(e,Qn.For)}complete(e){this.block.body=this.body,this.block.end=e.end,this.block.range=[this.block.range[0],e.range[1]],super.complete(e)}};Xe.PendingFor=Dg;function QR(t){return t.type===Qn.Function}Xe.isPendingFunction=QR;var Pg=class extends Bi{constructor(e){super(e,Qn.Function)}complete(e){this.block.body=this.body,this.block.end=e.end,this.block.range=[this.block.range[0],e.range[1]],super.complete(e)}};Xe.PendingFunction=Pg;function ZR(t){return t.type===Qn.If}Xe.isPendingIf=ZR;var Ig=class extends Bi{constructor(e,n){super(e,Qn.If),this.currentClause=n}next(e){this.currentClause.body=this.body,this.currentClause.end=e.end,this.currentClause.range=[this.currentClause.range[0],e.range[1]],this.block.clauses.push(this.currentClause),super.complete(e),this.body=[]}complete(e){this.body.length>0&&this.next(e),this.block.end=e.end,this.block.range=[this.block.range[0],e.range[1]],super.complete(e)}};Xe.PendingIf=Ig;function e1(t){return t.type===Qn.While}Xe.isPendingWhile=e1;var Mg=class extends Bi{constructor(e){super(e,Qn.While)}complete(e){this.block.body=this.body,this.block.end=e.end,this.block.range=[this.block.range[0],e.range[1]],super.complete(e)}};Xe.PendingWhile=Mg});var Qk=g(la=>{"use strict";var Jk=la&&la.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(la,"__esModule",{value:!0});var t1=Jk(_h()),li=si(),fr=Sg(),n1=Jk(wg()),r1=Nc(),jt=Bs(),Dr=Hs(),Jt=ra(),Y=Ag(),i1=Cg(),pr=Lg(),Ng=class{constructor(e,n={}){let r=this;r.content=e,r.backpatches=new i1.Stack,r.statementErrors=[],r.lexer=n.lexer||new t1.default(e,{unsafe:n.unsafe,tabWidth:n.tabWidth}),r.token=null,r.previousToken=null,r.lines={},r.scopes=[],r.currentScope=null,r.currentAssignment=null,r.outerScopes=[],r.literals=[],r.validator=n.validator||new n1.default,r.astProvider=n.astProvider||new fr.ASTProvider,r.unsafe=n.unsafe||!1,r.errors=[]}next(){this.previousToken=this.token,this.token=this.lexer.next()}isType(e){return this.token!==null&&e===this.token.type}consume(e){return e(this.token)?(this.next(),!0):!1}consumeMany(e){return e(this.token)?(this.next(),!0):!1}requireType(e,n){let r=this.token;return this.token.type!==e?(this.raise(`got ${r} where ${e} is required`,new Jt.Range(n||r.start,r.end)),null):(this.next(),r)}requireToken(e,n){let r=this.token;return e(r)?(this.next(),r):(this.raise(`got ${r} where "${(0,Y.getSelectorValue)(e)}" is required`,new Jt.Range(n||r.start,r.end)),null)}requireTokenOfAny(e,n){let r=this.token;return e(r)?(this.next(),r):(this.raise(`got ${r} where any of ${(0,Y.getSelectorsFromGroup)(e).map(i=>`"${(0,Y.getSelectorValue)(i)}"`).join(", ")} is required`,new Jt.Range(n||r.start,r.end)),null)}addItemToLines(e){let n=this.lines,r=e.end.line;for(let i=e.start.line;i<=r;i++){let s=n[i];s?s.push(e):n[i]=[e]}}skipNewlines(){let e=this,n=0;for(;;){if(Y.Selectors.Comment(e.token)){let r=e.astProvider.comment({value:e.token.value,start:e.token.start,end:e.token.end,range:e.token.range,scope:e.currentScope});e.addItemToLines(r),e.backpatches.peek().body.push(r)}else if(Y.Selectors.EndOfLine(e.token))n++;else break;e.next()}return n}pushScope(e){let n=this;n.currentScope!==null&&(n.scopes.push(e),n.outerScopes.push(n.currentScope)),n.currentScope=e}popScope(){let e=this;e.currentScope=e.outerScopes.pop()}tryToRecover(){let e=this,n=e.statementErrors[0];if(e.errors.push(n),!e.unsafe)throw n;for(e.lexer.recoverFromSnapshot(),e.next();e.token.type!==li.TokenType.EOL&&e.token.type!==li.TokenType.EOF;e.next());}finishRemaingScopes(){let e=this,n=e.backpatches.pop();for(;!(0,pr.isPendingChunk)(n);){let r=e.raise(`found open block ${n.block.type}`,new Jt.Range(n.block.start,n.block.start));if(n.complete(e.previousToken),e.errors.push(r),!e.unsafe)throw r;n=e.backpatches.pop()}}parseChunk(){let e=this;e.next();let n=e.token.start,r=e.astProvider.chunk({start:n,end:null,range:[e.token.range[0],null]}),i=new pr.PendingChunk(r);for(e.backpatches.setDefault(i),e.pushScope(r);!Y.Selectors.EndOfFile(e.token)&&(e.skipNewlines(),!Y.Selectors.EndOfFile(e.token));)e.lexer.recordSnapshot(),e.statementErrors=[],e.parseStatement(),e.statementErrors.length>0&&e.tryToRecover();return e.finishRemaingScopes(),e.popScope(),i.complete(e.token),r.literals=e.literals,r.scopes=e.scopes,r.lines=e.lines,r}parseStatement(){let e=this;if(li.TokenType.Keyword===e.token.type&&jt.Keyword.Not!==e.token.value){e.parseKeyword();return}let n=e.backpatches.peek(),r=e.parseAssignment();r.end!==null&&e.addItemToLines(r),n.body.push(r)}parseKeyword(){let e=this;switch(e.token.value){case jt.Keyword.Return:{let r=e.backpatches.peek();e.next();let i=e.parseReturnStatement();i.end!==null&&e.addItemToLines(i),r.body.push(i);return}case jt.Keyword.If:{e.next(),e.parseIfStatement();return}case jt.Keyword.ElseIf:{e.next(),e.nextIfClause(fr.ASTType.ElseifClause);return}case jt.Keyword.Else:{e.next(),e.nextIfClause(fr.ASTType.ElseClause);return}case jt.Keyword.While:{e.next(),e.parseWhileStatement();return}case jt.Keyword.For:{e.next(),e.parseForStatement();return}case jt.Keyword.EndFunction:{e.next(),e.finalizeFunction();return}case jt.Keyword.EndFor:{e.next(),e.finalizeForStatement();return}case jt.Keyword.EndWhile:{e.next(),e.finalizeWhileStatement();return}case jt.Keyword.EndIf:{e.next(),e.nextIfClause(null);return}case jt.Keyword.Continue:{let r=e.backpatches.peek();e.next();let i=e.astProvider.continueStatement({start:e.previousToken.start,end:e.previousToken.end,range:e.previousToken.range,scope:e.currentScope});e.addItemToLines(i),r.body.push(i);return}case jt.Keyword.Break:{let r=e.backpatches.peek();e.next();let i=e.astProvider.breakStatement({start:e.previousToken.start,end:e.previousToken.end,range:e.previousToken.range,scope:e.currentScope});e.addItemToLines(i),r.body.push(i);return}}e.raise(`unexpected keyword ${e.token} at start of line`,new Jt.Range(e.token.start,e.token.end))}parseShortcutStatement(){let e=this;if(li.TokenType.Keyword===e.token.type&&jt.Keyword.Not!==e.token.value)switch(e.token.value){case jt.Keyword.Return:return e.next(),e.parseReturnStatement();case jt.Keyword.Continue:return e.next(),e.astProvider.continueStatement({start:e.previousToken.start,end:e.previousToken.end,range:e.previousToken.range,scope:e.currentScope});case jt.Keyword.Break:return e.next(),e.astProvider.breakStatement({start:e.previousToken.start,end:e.previousToken.end,range:e.previousToken.range,scope:e.currentScope});default:return e.raise(`unexpected keyword ${e.token} in shorthand statement`,new Jt.Range(e.token.start,e.token.end)),e.parseInvalidCode()}return e.parseAssignment()}parseAssignment(){let e=this,n=e.currentScope,r=e.token,i=e.parseExpr(null,!0,!0);if(Y.SelectorGroups.AssignmentEndOfExpr(e.token))return i;if(Y.Selectors.Assign(e.token)){e.next();let o=e.astProvider.assignmentStatement({variable:i,init:null,start:r.start,range:[r.range[0],null],end:null,scope:n}),a=e.currentAssignment;if(e.currentAssignment=o,o.init=e.parseExpr(o),o.end=e.previousToken.end,o.range[1]=e.previousToken.range[1],o.init.type===fr.ASTType.FunctionDeclaration){let u=e.backpatches.peek();u.onComplete=c=>{o.end=c.block.end,o.range[1]=c.block.range[1]}}return e.currentAssignment=a,n.assignments.push(o),o}else if(Y.SelectorGroups.AssignmentShorthand(e.token)){let o=e.token;e.next();let a=e.astProvider.assignmentStatement({variable:i,init:null,start:r.start,range:[r.range[0],null],end:null,scope:n}),u=e.currentAssignment;e.currentAssignment=a;let c=e.token,l=o.value.charAt(0),d=e.parseExpr(a),p=e.astProvider.parenthesisExpression({start:d.start,end:d.end,range:d.range,expression:d});return a.init=e.astProvider.binaryExpression({operator:l,left:i.clone(),right:p,start:c.start,end:e.previousToken.end,range:[c.range[0],e.previousToken.range[1]],scope:n}),a.end=e.previousToken.end,a.range[1]=e.previousToken.range[1],e.currentAssignment=u,n.assignments.push(a),a}let s=[];for(;!Y.Selectors.EndOfFile(e.token);){let o=e.parseExpr(null);if(s.push(o),Y.SelectorGroups.BlockEndOfLine(e.token)||Y.Selectors.Else(e.token))break;if(Y.Selectors.ArgumentSeperator(e.token)){e.next(),e.skipNewlines();continue}let a=e.requireTokenOfAny(Y.SelectorGroups.AssignmentCommandArgs,r.start);if(Y.Selectors.EndOfLine(a)||Y.Selectors.EndOfFile(a))break}return s.length===0?e.astProvider.callStatement({expression:i,start:r.start,end:e.previousToken.end,range:[r.range[0],e.previousToken.range[1]],scope:n}):e.astProvider.callStatement({expression:e.astProvider.callExpression({base:i,arguments:s,start:r.start,end:e.previousToken.end,range:[r.range[0],e.previousToken.range[1]],scope:n}),start:r.start,end:e.previousToken.end,range:[r.range[0],e.previousToken.range[1]],scope:n})}parseReturnStatement(){let e=this,n=e.currentScope,r=e.previousToken,i=null,s=e.astProvider.returnStatement({argument:null,start:r.start,end:null,range:[r.range[0],null],scope:n});if(Y.SelectorGroups.ReturnStatementEnd(e.token))s.end=e.previousToken.end,s.range[1]=e.previousToken.range[1];else{if(i=e.parseExpr(s),s.end=e.previousToken.end,s.range[1]=e.previousToken.range[1],i.type===fr.ASTType.FunctionDeclaration){let o=e.backpatches.peek();o.onComplete=a=>{s.end=a.block.end,s.range[1]=a.block.range[1]}}s.argument=i}return n.returns.push(s),s}parseIfStatement(){let e=this,n=e.previousToken,r=e.parseExpr(null);if(e.addItemToLines(r),e.requireToken(Y.Selectors.Then,n.start),!Y.SelectorGroups.BlockEndOfLine(e.token)){e.parseIfShortcutStatement(r,n);return}let i=e.astProvider.ifStatement({clauses:[],start:n.start,end:null,range:[n.range[0],null],scope:e.currentScope}),s=e.astProvider.ifClause({condition:r,start:n.start,end:e.token.end,range:[n.range[0],e.token.range[1]],scope:e.currentScope}),o=new pr.PendingIf(i,s);e.backpatches.push(o)}nextIfClause(e){let n=this,r=n.backpatches.peek();if(!(0,pr.isPendingIf)(r)){n.raise("no matching open if block",new Jt.Range(n.token.start,n.token.end));return}switch(r.next(n.previousToken),e){case fr.ASTType.ElseifClause:{let i=n.token,s=n.parseExpr(null);n.requireToken(Y.Selectors.Then,i.start),r.currentClause=n.astProvider.elseifClause({condition:s,start:i.start,end:null,range:[i.range[0],null],scope:n.currentScope});break}case fr.ASTType.ElseClause:{let i=n.token;r.currentClause=n.astProvider.elseClause({start:i.start,end:null,range:[i.range[0],null],scope:n.currentScope});break}}e===null&&(r.complete(n.previousToken),n.addItemToLines(r.block),n.backpatches.pop(),n.backpatches.peek().body.push(r.block))}parseIfShortcutStatement(e,n){let r=this,i=[],s=r.backpatches.peek(),o=r.astProvider.ifShortcutStatement({clauses:i,start:n.start,end:null,range:[n.range[0],null],scope:r.currentScope}),a=r.parseShortcutStatement();if(i.push(r.astProvider.ifShortcutClause({condition:e,body:[a],start:n.start,end:r.token.end,range:[n.range[0],r.token.range[1]],scope:r.currentScope})),Y.Selectors.Else(r.token)){r.next();let u=r.token,c=r.parseShortcutStatement();i.push(r.astProvider.elseShortcutClause({body:[c],start:u.start,end:r.token.end,range:[u.range[0],r.token.range[1]],scope:r.currentScope}))}o.end=r.token.end,o.range[1]=r.token.range[1],r.addItemToLines(o),s.body.push(o)}parseWhileStatement(){let e=this,n=e.previousToken,r=e.parseExpr(null);if(!r){e.raise("while requires a condition",new Jt.Range(n.start,e.token.end));return}if(!Y.SelectorGroups.BlockEndOfLine(e.token))return e.parseWhileShortcutStatement(r,n);let i=e.astProvider.whileStatement({condition:r,start:n.start,end:null,range:[n.range[0],null],scope:e.currentScope}),s=new pr.PendingWhile(i);e.backpatches.push(s),s.onComplete=o=>{e.addItemToLines(o.block),e.backpatches.pop(),e.backpatches.peek().body.push(o.block)}}finalizeWhileStatement(){let e=this,n=e.backpatches.peek();if(!(0,pr.isPendingWhile)(n)){e.raise("no matching open while block",new Jt.Range(e.token.start,e.token.end));return}n.complete(e.previousToken)}parseWhileShortcutStatement(e,n){let r=this,i=r.backpatches.peek(),s=r.parseShortcutStatement(),o=r.astProvider.whileStatement({condition:e,body:[s],start:n.start,end:r.previousToken.end,range:[n.range[0],r.previousToken.range[1]],scope:r.currentScope});r.addItemToLines(o),i.body.push(o)}parseForStatement(){let e=this,n=e.currentScope,r=e.previousToken,i=e.parseIdentifier(),s=e.astProvider.assignmentStatement({variable:i,init:e.astProvider.unknown({start:i.start,end:i.end,range:i.range,scope:n}),start:i.start,end:i.end,range:i.range,scope:n}),o=e.astProvider.assignmentStatement({variable:e.astProvider.identifier({name:`__${i.name}_idx`,start:i.start,end:i.end,range:i.range,scope:n}),init:e.astProvider.literal(li.TokenType.NumericLiteral,{value:0,raw:"0",start:i.start,end:i.end,range:i.range,scope:n}),start:i.start,end:i.end,range:i.range,scope:n});n.assignments.push(s,o),e.requireToken(Y.Selectors.In,r.start);let a=e.parseExpr(null);if(!a){e.raise("sequence expression expected for 'for' loop",new Jt.Range(r.start,e.token.end));return}if(!Y.SelectorGroups.BlockEndOfLine(e.token))return e.parseForShortcutStatement(i,a,r);let u=e.astProvider.forGenericStatement({variable:i,iterator:a,start:r.start,end:e.previousToken.end,range:[r.range[0],e.previousToken.range[1]],scope:n}),c=new pr.PendingFor(u);e.backpatches.push(c)}finalizeForStatement(){let e=this,n=e.backpatches.peek();if(!(0,pr.isPendingFor)(n)){e.raise("no matching open for block",new Jt.Range(e.token.start,e.token.end));return}n.complete(e.previousToken),e.addItemToLines(n.block),e.backpatches.pop(),e.backpatches.peek().body.push(n.block)}parseForShortcutStatement(e,n,r){let i=this,s=i.backpatches.peek(),o=i.parseShortcutStatement(),a=i.astProvider.forGenericStatement({variable:e,iterator:n,body:[o],start:r.start,end:i.previousToken.end,range:[r.range[0],i.previousToken.range[1]],scope:i.currentScope});i.addItemToLines(a),s.body.push(a)}parseExpr(e,n=!1,r=!1){return this.parseFunctionDeclaration(e,n,r)}parseFunctionDeclaration(e,n=!1,r=!1){let i=this;if(!Y.Selectors.Function(i.token))return i.parseOr(n,r);i.next();let s=i.previousToken,o=i.astProvider.functionStatement({start:s.start,end:null,range:[s.range[0],null],scope:i.currentScope,parent:i.outerScopes[i.outerScopes.length-1],assignment:i.currentAssignment}),a=[];if(i.pushScope(o),!Y.SelectorGroups.BlockEndOfLine(i.token)){for(i.requireToken(Y.Selectors.LParenthesis,s.start);!Y.SelectorGroups.FunctionDeclarationArgEnd(i.token);){let c=i.parseIdentifier(),l=c;if(i.consume(Y.Selectors.Assign)){let d=i.parseExpr(null);if(d instanceof fr.ASTLiteral){let p=i.astProvider.assignmentStatement({variable:c,init:d,start:l.start,end:i.previousToken.end,range:[l.range[0],i.previousToken.range[1]],scope:i.currentScope});i.currentScope.assignments.push(p),a.push(p)}else i.raise("parameter default value must be a literal value",new Jt.Range(l.start,i.token.end)),a.push(i.astProvider.invalidCodeExpression({start:l.start,end:i.previousToken.end,range:[l.range[0],i.previousToken.range[1]]}))}else{let d=i.astProvider.assignmentStatement({variable:c,init:i.astProvider.unknown({start:l.start,end:i.previousToken.end,range:[l.range[0],i.previousToken.range[1]],scope:i.currentScope}),start:l.start,end:i.previousToken.end,range:[l.range[0],i.previousToken.range[1]],scope:i.currentScope});i.currentScope.assignments.push(d),a.push(c)}if(Y.Selectors.RParenthesis(i.token))break;if(i.requireToken(Y.Selectors.ArgumentSeperator,s.start),Y.Selectors.RParenthesis(i.token)){i.raise("expected argument instead received right parenthesis",new Jt.Range(i.previousToken.end,i.previousToken.end));break}}i.requireToken(Y.Selectors.RParenthesis,s.start)}o.parameters=a;let u=new pr.PendingFunction(o);return i.backpatches.push(u),u.onComplete=c=>{e!==null?(e.end=c.block.end,e.range[1]=c.block.range[1],i.addItemToLines(e)):i.addItemToLines(c.block)},o}finalizeFunction(){let e=this,n=e.backpatches.peek();if(!(0,pr.isPendingFunction)(n)){e.raise("no matching open function block",new Jt.Range(e.token.start,e.token.end));return}e.popScope(),n.complete(e.previousToken),e.backpatches.pop()}parseOr(e=!1,n=!1){let r=this,i=r.token,o=r.parseAnd(e,n);for(;Y.Selectors.Or(r.token);){r.next(),r.skipNewlines();let a=r.parseAnd();o=r.astProvider.logicalExpression({operator:Dr.Operator.Or,left:o,right:a,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseAnd(e=!1,n=!1){let r=this,i=r.token,o=r.parseNot(e,n);for(;Y.Selectors.And(r.token);){r.next(),r.skipNewlines();let a=r.parseNot();o=r.astProvider.logicalExpression({operator:Dr.Operator.And,left:o,right:a,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseNot(e=!1,n=!1){let r=this,i=r.token;if(Y.Selectors.Not(r.token)){r.next(),r.skipNewlines();let s=r.parseIsa();return r.astProvider.unaryExpression({operator:Dr.Operator.Not,argument:s,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return r.parseIsa(e,n)}parseIsa(e=!1,n=!1){let r=this,i=r.token,s=r.parseComparisons(e,n);if(Y.Selectors.Isa(r.token)){r.next(),r.skipNewlines();let o=r.parseComparisons();return r.astProvider.isaExpression({operator:Dr.Operator.Isa,left:s,right:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return s}parseComparisons(e=!1,n=!1){let r=this,i=r.token,s=r.parseAddSub(e,n);if(!Y.SelectorGroups.ComparisonOperators(r.token))return s;let o=[s],a=[];do{let u=r.token;r.next(),r.skipNewlines();let c=r.parseAddSub();a.push(u.value),o.push(c)}while(Y.SelectorGroups.ComparisonOperators(r.token));return a.length===1?r.astProvider.binaryExpression({operator:a[0],left:o[0],right:o[1],start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope}):r.astProvider.comparisonGroupExpression({operators:a,expressions:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}parseAddSub(e=!1,n=!1){let r=this,i=r.token,o=r.parseMultDiv(e,n);for(;Y.Selectors.Plus(r.token)||Y.Selectors.Minus(r.token)&&(!n||!r.token.afterSpace||r.lexer.isAtWhitespace());){let a=r.token;r.next(),r.skipNewlines();let u=r.parseMultDiv();o=r.astProvider.binaryExpression({operator:a.value,left:o,right:u,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseMultDiv(e=!1,n=!1){let r=this,i=r.token,o=r.parseUnaryMinus(e,n);for(;Y.SelectorGroups.MultiDivOperators(r.token);){let a=r.token;r.next(),r.skipNewlines();let u=r.parseUnaryMinus();o=r.astProvider.binaryExpression({operator:a.value,left:o,right:u,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseUnaryMinus(e=!1,n=!1){let r=this;if(!Y.Selectors.Minus(r.token))return r.parseNew(e,n);let i=r.token;r.next(),r.skipNewlines();let s=r.parseNew();return s instanceof fr.ASTNumericLiteral||s instanceof fr.ASTBooleanLiteral?(s.negated=!0,s):r.astProvider.unaryExpression({operator:Dr.Operator.Minus,argument:s,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}parseNew(e=!1,n=!1){let r=this;if(!Y.Selectors.New(r.token))return r.parseAddressOf(e,n);let i=r.token;r.next(),r.skipNewlines();let s=r.parseNew();return r.astProvider.unaryExpression({operator:Dr.Operator.New,argument:s,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}parseAddressOf(e=!1,n=!1){let r=this;if(!Y.Selectors.Reference(r.token))return r.parsePower(e,n);let i=r.token;r.next(),r.skipNewlines();let s=r.parsePower();return r.astProvider.unaryExpression({operator:Dr.Operator.Reference,argument:s,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}parsePower(e=!1,n=!1){let r=this,i=r.token,s=r.parseCallExpr(e,n);if(Y.Selectors.Power(r.token)){r.next(),r.skipNewlines();let o=r.parseCallExpr();return r.astProvider.binaryExpression({operator:Dr.Operator.Power,left:s,right:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return s}parseCallExpr(e=!1,n=!1){let r=this,i=r.token,s=r.parseMap(e,n);for(;!Y.Selectors.EndOfFile(r.token);)if(Y.Selectors.MemberSeperator(r.token)){r.next(),r.skipNewlines();let o=r.parseIdentifier();s=r.astProvider.memberExpression({base:s,indexer:Dr.Operator.Member,identifier:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}else if(Y.Selectors.SLBracket(r.token)&&!r.token.afterSpace){if(r.next(),r.skipNewlines(),Y.Selectors.SliceSeperator(r.token)){let o=r.astProvider.emptyExpression({start:r.previousToken.start,end:r.previousToken.end,range:r.previousToken.range,scope:r.currentScope});r.next(),r.skipNewlines();let a=Y.Selectors.SRBracket(r.token)?r.astProvider.emptyExpression({start:r.previousToken.start,end:r.previousToken.end,range:r.previousToken.range,scope:r.currentScope}):r.parseExpr(null);s=r.astProvider.sliceExpression({base:s,left:o,right:a,start:i.start,end:r.token.end,range:[i.range[0],r.token.range[1]],scope:r.currentScope})}else{let o=r.parseExpr(null);if(Y.Selectors.SliceSeperator(r.token)){r.next(),r.skipNewlines();let a=Y.Selectors.SRBracket(r.token)?r.astProvider.emptyExpression({start:r.previousToken.start,end:r.previousToken.end,range:r.previousToken.range,scope:r.currentScope}):r.parseExpr(null);s=r.astProvider.sliceExpression({base:s,left:o,right:a,start:i.start,end:r.token.end,range:[i.range[0],r.token.range[1]],scope:r.currentScope})}else s=r.astProvider.indexExpression({base:s,index:o,start:i.start,end:r.token.end,range:[i.range[0],r.token.range[1]],scope:r.currentScope})}r.requireToken(Y.Selectors.SRBracket,i.start)}else if(Y.Selectors.LParenthesis(r.token)&&(!e||!r.token.afterSpace)){let o=r.parseCallArgs();s=r.astProvider.callExpression({base:s,arguments:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}else break;return s}parseCallArgs(){let e=this,n=[];if(Y.Selectors.LParenthesis(e.token))if(e.next(),Y.Selectors.RParenthesis(e.token))e.next();else for(;!Y.Selectors.EndOfFile(e.token);){e.skipNewlines();let r=e.parseExpr(null);if(n.push(r),e.skipNewlines(),Y.Selectors.RParenthesis(e.requireTokenOfAny(Y.SelectorGroups.CallArgsEnd,r.start)))break}return n}parseMap(e=!1,n=!1){let r=this;if(!Y.Selectors.CLBracket(r.token))return r.parseList(e,n);let i=r.currentScope,s=r.token,o=[],a=r.astProvider.mapConstructorExpression({fields:o,start:s.start,end:null,range:[s.range[0],null],scope:i});if(r.next(),Y.Selectors.CRBracket(r.token))r.next();else for(r.skipNewlines();!Y.Selectors.EndOfFile(r.token);){if(Y.Selectors.CRBracket(r.token)){r.next();break}let u=r.astProvider.mapKeyString({key:null,value:null,start:r.token.start,end:null,range:[r.token.range[0],null],scope:i});if(u.key=r.parseExpr(null),r.requireToken(Y.Selectors.MapKeyValueSeperator),r.skipNewlines(),r.currentAssignment){let c=r.astProvider.assignmentStatement({variable:r.astProvider.indexExpression({index:u.key,base:r.currentAssignment.variable,start:u.start,end:r.token.end,range:[u.range[0],r.token.range[1]],scope:i}),init:null,start:u.start,end:null,range:[u.range[0],null]}),l=r.currentAssignment;r.currentAssignment=c,u.value=r.parseExpr(u),r.currentAssignment=l,c.init=u.value,c.end=r.previousToken.end,c.range[1]=r.previousToken.range[1],i.assignments.push(c)}else u.value=r.parseExpr(u);if(u.end=r.previousToken.end,u.range[1]=r.previousToken.range[1],o.push(u),Y.Selectors.MapSeperator(r.token)&&(r.next(),r.skipNewlines()),Y.Selectors.CRBracket(r.token)){r.next();break}}return a.end=r.token.start,a.range[1]=r.token.range[1],a}parseList(e=!1,n=!1){let r=this;if(!Y.Selectors.SLBracket(r.token))return r.parseQuantity(e,n);let i=r.currentScope,s=r.token,o=[],a=r.astProvider.listConstructorExpression({fields:o,start:s.start,end:null,range:[s.range[0],null],scope:i});if(r.next(),Y.Selectors.SRBracket(r.token))r.next();else for(r.skipNewlines();!Y.Selectors.EndOfFile(r.token);){if(Y.Selectors.SRBracket(r.token)){r.next();break}let u=r.astProvider.listValue({value:null,start:r.token.start,end:null,range:[r.token.range[0],null],scope:i});if(r.currentAssignment){let c=r.astProvider.assignmentStatement({variable:r.astProvider.indexExpression({index:r.astProvider.literal(li.TokenType.NumericLiteral,{value:o.length,raw:`${o.length}`,start:s.start,end:r.token.end,range:[s.range[0],r.token.range[1]],scope:i}),base:r.currentAssignment.variable,start:null,end:null,range:[null,null],scope:i}),init:null,start:null,range:[null,null],end:null}),l=r.currentAssignment,d=r.token;r.currentAssignment=l,u.value=r.parseExpr(u),r.currentAssignment=l,c.variable.start=d.start,c.variable.end=r.previousToken.end,c.variable.range=[d.range[0],r.previousToken.range[1]],c.init=u.value,c.start=u.start,c.end=r.previousToken.end,c.range=[u.range[0],r.previousToken.range[1]],i.assignments.push(c)}else u.value=r.parseExpr(u);if(u.end=r.previousToken.end,u.range[1]=r.previousToken.range[1],o.push(u),Y.Selectors.MapSeperator(r.token)&&(r.next(),r.skipNewlines()),Y.Selectors.SRBracket(r.token)){r.next();break}}return a.end=r.token.start,a.range[1]=r.token.range[1],a}parseQuantity(e=!1,n=!1){let r=this;if(!Y.Selectors.LParenthesis(r.token))return r.parseAtom(e,n);let i=r.token;r.next(),r.skipNewlines();let s=r.parseExpr(null);return r.requireToken(Y.Selectors.RParenthesis,i.start),r.astProvider.parenthesisExpression({expression:s,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}parseAtom(e=!1,n=!1){let r=this;return r.validator.isLiteral(r.token.type)?r.parseLiteral():r.isType(li.TokenType.Identifier)?r.parseIdentifier():(r.raise(`got ${r.token} where number, string, or identifier is required`,new Jt.Range(r.token.start,r.token.end)),r.parseInvalidCode())}parseLiteral(){let e=this,n=e.token,r=e.token.type,i=e.astProvider.literal(r,{value:e.token.value,raw:e.token.raw,start:n.start,end:e.token.end,range:[n.range[0],e.token.range[1]],scope:e.currentScope});return e.literals.push(i),e.next(),i}parseIdentifier(){let e=this,n=e.token,r=e.requireType(li.TokenType.Identifier);return r===null?e.parseInvalidCode():(e.currentScope.namespaces.add(r.value),e.astProvider.identifier({name:r.value,start:n.start,end:n.end,range:n.range,scope:e.currentScope}))}parseInvalidCode(){let e=this,n=e.token,r=e.astProvider.invalidCodeExpression({start:n.start,end:n.end,range:n.range});return e.next(),r}raise(e,n){let r=this,i=new r1.ParserException(e,n);return r.statementErrors.push(i),i}};la.default=Ng});var Le=g(Pe=>{"use strict";var s1=Pe&&Pe.__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]}),Zn=Pe&&Pe.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&s1(e,t,n)},al=Pe&&Pe.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Pe,"__esModule",{value:!0});Pe.ASTRange=Pe.ASTPosition=Pe.ParserValidatorm=Pe.Parser=Pe.LexerValidator=Pe.Lexer=void 0;var o1=_h();Object.defineProperty(Pe,"Lexer",{enumerable:!0,get:function(){return al(o1).default}});Zn(si(),Pe);var a1=lh();Object.defineProperty(Pe,"LexerValidator",{enumerable:!0,get:function(){return al(a1).default}});var u1=Qk();Object.defineProperty(Pe,"Parser",{enumerable:!0,get:function(){return al(u1).default}});Zn(Sg(),Pe);var c1=wg();Object.defineProperty(Pe,"ParserValidatorm",{enumerable:!0,get:function(){return al(c1).default}});Zn(Lg(),Pe);Zn(Cg(),Pe);Zn(yh(),Pe);Zn(Lc(),Pe);Zn(Nc(),Pe);Zn(Bs(),Pe);Zn(ph(),Pe);Zn(Hs(),Pe);var l1=Jo();Object.defineProperty(Pe,"ASTPosition",{enumerable:!0,get:function(){return l1.Position}});var d1=ra();Object.defineProperty(Pe,"ASTRange",{enumerable:!0,get:function(){return d1.Range}});Zn(Ag(),Pe)});var da=g(ul=>{"use strict";Object.defineProperty(ul,"__esModule",{value:!0});ul.isValidIdentifierLiteral=void 0;var f1=Le(),p1=t=>{if(t.type!==f1.ASTType.StringLiteral)return!1;let e=t.value.toString();return/^[_a-z][_a-z0-9]*$/i.test(e)};ul.isValidIdentifierLiteral=p1});var qg=g(di=>{"use strict";Object.defineProperty(di,"__esModule",{value:!0});di.getStringHashCode=di.getHashCode=di.rotateBits=void 0;function h1(t){return t>>1|t<<31}di.rotateBits=h1;function g1(t,e=0){let n=t>>>0;return n=(n>>16^n)*73244475,n=(n>>16^n)*73244475,n=n>>16^n,(e<<5)-e+n|0}di.getHashCode=g1;di.getStringHashCode=function(){let t=new Map,e=n=>{let r,i;for(r=0,i=0;r<n.length;r++)i=Math.imul(31,i)+n.charCodeAt(r)|0;return i};return n=>{if(n.length===0)return 0;let r=t.get(n);if(r!==void 0)return r;let i=e(n);return t.set(n,i),i}}()});var Zk=g(cl=>{"use strict";Object.defineProperty(cl,"__esModule",{value:!0});cl.createExpressionHash=void 0;var Ve=Le(),mt=qg(),m1=da(),Ft=(t,e)=>t.$$hash=e,y1=t=>t.$$hash??null;function rt(t){let e=y1(t);if(e!==null)return e;let n=(0,mt.getStringHashCode)(t.type);switch(t.type){case Ve.ASTType.BinaryExpression:{let r=t;return n^=(0,mt.getStringHashCode)(r.operator),n^=rt(r.left),n^=rt(r.right),Ft(t,n)}case Ve.ASTType.LogicalExpression:{let r=t;return n^=(0,mt.getStringHashCode)(r.operator),n^=rt(r.left),n^=rt(r.right),Ft(t,n)}case Ve.ASTType.IsaExpression:{let r=t;return n^=(0,mt.getStringHashCode)(r.operator),n^=rt(r.left),n^=rt(r.right),Ft(t,n)}case Ve.ASTType.ComparisonGroupExpression:{let r=t;for(let i=0;i<r.expressions.length;i++)n^=rt(r.expressions[i]);for(let i=0;i<r.operators.length;i++)n^=(0,mt.getStringHashCode)(r.operators[i]);return Ft(t,n)}case Ve.ASTType.FunctionDeclaration:{let r=t;n^=(0,mt.getHashCode)(r.parameters.length);for(let i=0;i<r.parameters.length;i++){let s=r.parameters[i];if(s.type===Ve.ASTType.Identifier){n^=(0,mt.getStringHashCode)(s.name);continue}let o=s;n^=(0,mt.getStringHashCode)(o.variable.name),n^=rt(o.init)}return Ft(t,n)}case Ve.ASTType.ParenthesisExpression:return rt(t.expression);case Ve.ASTType.MemberExpression:{let r=t;if(r.base.type===Ve.ASTType.Identifier){let i=r.base.name;if(i==="globals"||i==="locals"||i==="outer")return n=(0,mt.getStringHashCode)(Ve.ASTType.Identifier),n^=(0,mt.getStringHashCode)(r.identifier.name),Ft(t,n)}return n^=rt(r.base),n^=rt(r.identifier),Ft(t,n)}case Ve.ASTType.IndexExpression:{let r=t;if((0,m1.isValidIdentifierLiteral)(r.index)){if(r.base.type===Ve.ASTType.Identifier){let s=r.base.name;if(s==="globals"||s==="locals"||s==="outer")return n=(0,mt.getStringHashCode)(Ve.ASTType.Identifier),n^=(0,mt.getStringHashCode)(r.index.value.toString()),Ft(t,n)}n=(0,mt.getStringHashCode)(Ve.ASTType.MemberExpression),n^=rt(r.base);let i=(0,mt.getStringHashCode)(Ve.ASTType.Identifier);i^=(0,mt.getStringHashCode)(r.index.value.toString()),n^=i}else n^=rt(r.base),n^=rt(r.index);return Ft(t,n)}case Ve.ASTType.CallExpression:{let r=t;n^=rt(r.base),n^=(0,mt.getHashCode)(r.arguments.length);for(let i=0;i<r.arguments.length;i++){let s=r.arguments[i];n^=rt(s)}return Ft(t,n)}case Ve.ASTType.NegationExpression:case Ve.ASTType.BinaryNegatedExpression:case Ve.ASTType.UnaryExpression:{let r=t;return n^=r.operator?(0,mt.getStringHashCode)(r.operator):1,n^=rt(r.argument),Ft(t,n)}case Ve.ASTType.Identifier:{let r=t;return n^=(0,mt.getStringHashCode)(r.name),Ft(t,n)}case Ve.ASTType.NumericLiteral:case Ve.ASTType.StringLiteral:case Ve.ASTType.NilLiteral:return n^=(0,mt.getStringHashCode)(t.value.toString()),Ft(t,n);case Ve.ASTType.MapConstructorExpression:{let r=t;n^=(0,mt.getHashCode)(r.fields.length);for(let i=0;i<r.fields.length;i++){let s=r.fields[i];n^=rt(s.key),n^=rt(s.value)}return Ft(t,n)}case Ve.ASTType.ListConstructorExpression:{let r=t;n^=(0,mt.getHashCode)(r.fields.length);for(let i=0;i<r.fields.length;i++){let s=r.fields[i];n^=rt(s.value)}return Ft(t,n)}case Ve.ASTType.SliceExpression:{let r=t;return n^=rt(r.base),n^=rt(r.left),n^=rt(r.right),Ft(t,n)}}return Ft(t,n)}function b1(t){return rt(t)}cl.createExpressionHash=b1});var jg=g(ll=>{"use strict";Object.defineProperty(ll,"__esModule",{value:!0});ll.createExpressionId=void 0;var St=Le(),v1=da(),wt=(t,e)=>t.$$id=e,_1=t=>t.$$id??null;function Ye(t){let e=_1(t);if(e!==null)return e;switch(t.type){case St.ASTType.BinaryExpression:{let n=t;return wt(t,Ye(n.left)+n.operator+Ye(n.right))}case St.ASTType.LogicalExpression:{let n=t;return wt(t,Ye(n.left)+n.operator+Ye(n.right))}case St.ASTType.IsaExpression:{let n=t;return wt(t,Ye(n.left)+n.operator+Ye(n.right))}case St.ASTType.ComparisonGroupExpression:{let n=t,r=n.expressions.map(s=>Ye(s)),i=[r[0]];for(let s=0;s<n.operators.length;s++)i.push(n.operators[s],r[s+1]);return wt(t,i.join(" "))}case St.ASTType.FunctionDeclaration:{let n=t,r="function",i=[];for(let s=0;s<n.parameters.length;s++){let o=n.parameters[s];if(o.type===St.ASTType.Identifier){i.push(o.name);continue}let a=o;i.push(a.variable.name+"="+Ye(a.init))}return i.length>0&&(r+="("+i.join(",")+")"),wt(t,r)}case St.ASTType.ParenthesisExpression:return wt(t,Ye(t.expression));case St.ASTType.MemberExpression:{let n=t;return wt(t,Ye(n.base)+"."+n.identifier.name)}case St.ASTType.IndexExpression:{let n=t;return(0,v1.isValidIdentifierLiteral)(n.index)?wt(t,Ye(n.base)+"."+n.index.value.toString()):wt(t,Ye(n.base)+"["+Ye(n.index)+"]")}case St.ASTType.CallExpression:{let n=t,r=Ye(n.base),i=[];for(let s=0;s<n.arguments.length;s++){let o=n.arguments[s];i.push(Ye(o))}return i.length>0&&(r+="("+i.join(",")+")"),wt(t,r)}case St.ASTType.NegationExpression:case St.ASTType.BinaryNegatedExpression:case St.ASTType.UnaryExpression:{let n=t;return n.operator==null?wt(t,Ye(n.argument)):n.operator==="@"?wt(t,n.operator+Ye(n.argument)):wt(t,n.operator+" "+Ye(n.argument))}case St.ASTType.Identifier:return wt(t,t.name);case St.ASTType.NumericLiteral:case St.ASTType.StringLiteral:case St.ASTType.NilLiteral:return wt(t,t.raw.toString());case St.ASTType.MapConstructorExpression:{let n=t,r=[];for(let i=0;i<n.fields.length;i++){let s=n.fields[i];r.push(Ye(s.key)+":"+Ye(s.value))}return wt(t,"{"+r.join(",")+"}")}case St.ASTType.ListConstructorExpression:{let n=t,r=[];for(let i=0;i<n.fields.length;i++){let s=n.fields[i];r.push(Ye(s.value))}return wt(t,"["+r.join(",")+"]")}case St.ASTType.SliceExpression:{let n=t;return wt(t,Ye(n.base)+"["+Ye(n.left)+":"+Ye(n.right)+"]")}}return wt(t,"")}function T1(t){return Ye(t)}ll.createExpressionId=T1});var Xs=g(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.Markers=void 0;var S1;(function(t){t.start="/**",t.nostart="/***",t.delim="*",t.end="*/"})(S1=fa.Markers||(fa.Markers={}))});var er=g(lt=>{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});lt.rewireSpecs=lt.rewireSource=lt.seedTokens=lt.seedSpec=lt.seedBlock=lt.splitLines=lt.splitSpace=lt.splitCR=lt.hasCR=lt.isSpace=void 0;function k1(t){return/^\s+$/.test(t)}lt.isSpace=k1;function x1(t){return/\r$/.test(t)}lt.hasCR=x1;function w1(t){let e=t.match(/\r+$/);return e==null?["",t]:[t.slice(-e[0].length),t.slice(0,-e[0].length)]}lt.splitCR=w1;function E1(t){let e=t.match(/^\s+/);return e==null?["",t]:[t.slice(0,e[0].length),t.slice(e[0].length)]}lt.splitSpace=E1;function A1(t){return t.split(/\n/)}lt.splitLines=A1;function O1(t={}){return Object.assign({description:"",tags:[],source:[],problems:[]},t)}lt.seedBlock=O1;function C1(t={}){return Object.assign({tag:"",name:"",type:"",optional:!1,description:"",problems:[],source:[]},t)}lt.seedSpec=C1;function R1(t={}){return Object.assign({start:"",delimiter:"",postDelimiter:"",tag:"",postTag:"",name:"",postName:"",type:"",postType:"",description:"",end:"",lineEnd:""},t)}lt.seedTokens=R1;function D1(t){let e=t.source.reduce((n,r)=>n.set(r.number,r),new Map);for(let n of t.tags)n.source=n.source.map(r=>e.get(r.number));return t}lt.rewireSource=D1;function P1(t){let e=t.tags.reduce((n,r)=>r.source.reduce((i,s)=>i.set(s.number,s),n),new Map);return t.source=t.source.map(n=>e.get(n.number)||n),t}lt.rewireSpecs=P1});var ex=g(Fg=>{"use strict";Object.defineProperty(Fg,"__esModule",{value:!0});var I1=/^@\S+/;function M1({fence:t="```"}={}){let e=L1(t),n=(r,i)=>e(r)?!i:i;return function(i){let s=[[]],o=!1;for(let a of i)I1.test(a.tokens.description)&&!o?s.push([a]):s[s.length-1].push(a),o=n(a.tokens.description,o);return s}}Fg.default=M1;function L1(t){return typeof t=="string"?e=>e.split(t).length%2===0:t}});var tx=g($g=>{"use strict";Object.defineProperty($g,"__esModule",{value:!0});var N1=Xs(),pa=er();function q1({startLine:t=0,markers:e=N1.Markers}={}){let n=null,r=t;return function(s){let o=s,a=(0,pa.seedTokens)();if([a.lineEnd,o]=(0,pa.splitCR)(o),[a.start,o]=(0,pa.splitSpace)(o),n===null&&o.startsWith(e.start)&&!o.startsWith(e.nostart)&&(n=[],a.delimiter=o.slice(0,e.start.length),o=o.slice(e.start.length),[a.postDelimiter,o]=(0,pa.splitSpace)(o)),n===null)return r++,null;let u=o.trimRight().endsWith(e.end);if(a.delimiter===""&&o.startsWith(e.delim)&&!o.startsWith(e.end)&&(a.delimiter=e.delim,o=o.slice(e.delim.length),[a.postDelimiter,o]=(0,pa.splitSpace)(o)),u){let c=o.trimRight();a.end=o.slice(c.length-e.end.length),o=c.slice(0,-e.end.length)}if(a.description=o,n.push({number:r,source:s,tokens:a}),r++,u){let c=n.slice();return n=null,c}return null}}$g.default=q1});var nx=g(Bg=>{"use strict";Object.defineProperty(Bg,"__esModule",{value:!0});var j1=er();function F1({tokenizers:t}){return function(n){var r;let i=(0,j1.seedSpec)({source:n});for(let s of t)if(i=s(i),!((r=i.problems[i.problems.length-1])===null||r===void 0)&&r.critical)break;return i}}Bg.default=F1});var Hg=g(Ug=>{"use strict";Object.defineProperty(Ug,"__esModule",{value:!0});function $1(){return t=>{let{tokens:e}=t.source[0],n=e.description.match(/\s*(@(\S+))(\s*)/);return n===null?(t.problems.push({code:"spec:tag:prefix",message:'tag should start with "@" symbol',line:t.source[0].number,critical:!0}),t):(e.tag=n[1],e.postTag=n[3],e.description=e.description.slice(n[0].length),t.tag=n[2],t)}}Ug.default=$1});var Gg=g(Wg=>{"use strict";Object.defineProperty(Wg,"__esModule",{value:!0});var B1=er();function U1(t="compact"){let e=W1(t);return n=>{let r=0,i=[];for(let[a,{tokens:u}]of n.source.entries()){let c="";if(a===0&&u.description[0]!=="{")return n;for(let l of u.description)if(l==="{"&&r++,l==="}"&&r--,c+=l,r===0)break;if(i.push([u,c]),r===0)break}if(r!==0)return n.problems.push({code:"spec:type:unpaired-curlies",message:"unpaired curlies",line:n.source[0].number,critical:!0}),n;let s=[],o=i[0][0].postDelimiter.length;for(let[a,[u,c]]of i.entries())u.type=c,a>0&&(u.type=u.postDelimiter.slice(o)+c,u.postDelimiter=u.postDelimiter.slice(0,o)),[u.postType,u.description]=(0,B1.splitSpace)(u.description.slice(c.length)),s.push(u.type);return s[0]=s[0].slice(1),s[s.length-1]=s[s.length-1].slice(0,-1),n.type=e(s),n}}Wg.default=U1;var H1=t=>t.trim();function W1(t){return t==="compact"?e=>e.map(H1).join(""):t==="preserve"?e=>e.join(`
|
96
|
+
return false;`);return Object.defineProperty(o,"name",{value:`selector_group_${t}`,writable:!1}),o.selectors=e,o}se.createSelectorGroup=lr;function XR(t){return t.selectors}se.getSelectorsFromGroup=XR;var dr;(function(t){t.BlockEndOfLine="BlockEndOfLine",t.AssignmentEndOfExpr="AssignmentEndOfExpr",t.AssignmentShorthand="AssignmentShorthand",t.AssignmentCommandArgs="AssignmentCommandArgs",t.ReturnStatementEnd="ReturnStatementEnd",t.FunctionDeclarationArgEnd="FunctionDeclarationArgEnd",t.ComparisonOperators="ComparisonOperators",t.MultiDivOperators="MultiDivOperators",t.CallArgsEnd="CallArgsEnd"})(dr=se.SelectorGroupType||(se.SelectorGroupType={}));se.SelectorGroups={BlockEndOfLine:lr(dr.AssignmentEndOfExpr,[se.Selectors.EndOfLine,se.Selectors.Comment]),AssignmentEndOfExpr:lr(dr.AssignmentEndOfExpr,[se.Selectors.EndOfFile,se.Selectors.EndOfLine,se.Selectors.Else,se.Selectors.Comment]),AssignmentShorthand:lr(dr.AssignmentShorthand,[se.Selectors.AddShorthand,se.Selectors.SubtractShorthand,se.Selectors.MultiplyShorthand,se.Selectors.DivideShorthand,se.Selectors.PowerShorthand,se.Selectors.ModuloShorthand]),AssignmentCommandArgs:lr(dr.AssignmentCommandArgs,[se.Selectors.ArgumentSeperator,se.Selectors.EndOfLine,se.Selectors.EndOfFile]),ReturnStatementEnd:lr(dr.ReturnStatementEnd,[se.Selectors.EndOfLine,se.Selectors.Else,se.Selectors.Comment]),FunctionDeclarationArgEnd:lr(dr.FunctionDeclarationArgEnd,[se.Selectors.RParenthesis,se.Selectors.EndOfFile,se.Selectors.EndOfLine]),ComparisonOperators:lr(dr.ComparisonOperators,[se.Selectors.Equal,se.Selectors.NotEqual,se.Selectors.Greater,se.Selectors.GreaterEqual,se.Selectors.Lesser,se.Selectors.LessEqual]),MultiDivOperators:lr(dr.MultiDivOperators,[se.Selectors.Times,se.Selectors.Divide,se.Selectors.Mod]),CallArgsEnd:lr(dr.CallArgsEnd,[se.Selectors.ArgumentSeperator,se.Selectors.RParenthesis])}});var Cg=g(ol=>{"use strict";Object.defineProperty(ol,"__esModule",{value:!0});ol.Stack=void 0;var Og=class{constructor(){this._items=[],this._last=null,this._default=null}setDefault(e){this._default=e}push(e){return this._items.push(this._last=e)}pop(){switch(this._items.length){case 0:return this._default;case 1:return this._last=null,this._items.pop()}let e=this._items.pop();return this._last=this._items[this._items.length-1],e}peek(){return this._last||this._default}};ol.Stack=Og});var Lg=g(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.PendingWhile=Xe.isPendingWhile=Xe.PendingIf=Xe.isPendingIf=Xe.PendingFunction=Xe.isPendingFunction=Xe.PendingFor=Xe.isPendingFor=Xe.PendingChunk=Xe.isPendingChunk=Xe.PendingBlockType=void 0;var Qn;(function(t){t[t.Chunk=0]="Chunk",t[t.For=1]="For",t[t.Function=2]="Function",t[t.If=3]="If",t[t.While=4]="While"})(Qn=Xe.PendingBlockType||(Xe.PendingBlockType={}));var Bi=class{constructor(e,n){this.block=e,this.body=[],this.type=n,this.onComplete=null}complete(e){var n;(n=this.onComplete)===null||n===void 0||n.call(this,this)}};function YR(t){return t.type===Qn.Chunk}Xe.isPendingChunk=YR;var Rg=class extends Bi{constructor(e){super(e,Qn.Chunk)}complete(e){this.block.body=this.body,this.block.end=e.end,this.block.range=[this.block.range[0],e.range[1]],super.complete(e)}};Xe.PendingChunk=Rg;function JR(t){return t.type===Qn.For}Xe.isPendingFor=JR;var Dg=class extends Bi{constructor(e){super(e,Qn.For)}complete(e){this.block.body=this.body,this.block.end=e.end,this.block.range=[this.block.range[0],e.range[1]],super.complete(e)}};Xe.PendingFor=Dg;function QR(t){return t.type===Qn.Function}Xe.isPendingFunction=QR;var Pg=class extends Bi{constructor(e){super(e,Qn.Function)}complete(e){this.block.body=this.body,this.block.end=e.end,this.block.range=[this.block.range[0],e.range[1]],super.complete(e)}};Xe.PendingFunction=Pg;function ZR(t){return t.type===Qn.If}Xe.isPendingIf=ZR;var Ig=class extends Bi{constructor(e,n){super(e,Qn.If),this.currentClause=n}next(e){this.currentClause.body=this.body,this.currentClause.end=e.end,this.currentClause.range=[this.currentClause.range[0],e.range[1]],this.block.clauses.push(this.currentClause),super.complete(e),this.body=[]}complete(e){this.body.length>0&&this.next(e),this.block.end=e.end,this.block.range=[this.block.range[0],e.range[1]],super.complete(e)}};Xe.PendingIf=Ig;function e1(t){return t.type===Qn.While}Xe.isPendingWhile=e1;var Mg=class extends Bi{constructor(e){super(e,Qn.While)}complete(e){this.block.body=this.body,this.block.end=e.end,this.block.range=[this.block.range[0],e.range[1]],super.complete(e)}};Xe.PendingWhile=Mg});var Qk=g(la=>{"use strict";var Jk=la&&la.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(la,"__esModule",{value:!0});var t1=Jk(_h()),li=si(),fr=Sg(),n1=Jk(wg()),r1=Nc(),jt=Bs(),Dr=Hs(),Jt=ra(),Y=Ag(),i1=Cg(),pr=Lg(),Ng=class{constructor(e,n={}){let r=this;r.content=e,r.backpatches=new i1.Stack,r.statementErrors=[],r.lexer=n.lexer||new t1.default(e,{unsafe:n.unsafe,tabWidth:n.tabWidth}),r.token=null,r.previousToken=null,r.lines={},r.scopes=[],r.currentScope=null,r.currentAssignment=null,r.outerScopes=[],r.literals=[],r.validator=n.validator||new n1.default,r.astProvider=n.astProvider||new fr.ASTProvider,r.unsafe=n.unsafe||!1,r.errors=[]}next(){this.previousToken=this.token,this.token=this.lexer.next()}isType(e){return this.token!==null&&e===this.token.type}consume(e){return e(this.token)?(this.next(),!0):!1}consumeMany(e){return e(this.token)?(this.next(),!0):!1}requireType(e,n){let r=this.token;return this.token.type!==e?(this.raise(`got ${r} where ${e} is required`,new Jt.Range(n||r.start,r.end)),null):(this.next(),r)}requireToken(e,n){let r=this.token;return e(r)?(this.next(),r):(this.raise(`got ${r} where "${(0,Y.getSelectorValue)(e)}" is required`,new Jt.Range(n||r.start,r.end)),null)}requireTokenOfAny(e,n){let r=this.token;return e(r)?(this.next(),r):(this.raise(`got ${r} where any of ${(0,Y.getSelectorsFromGroup)(e).map(i=>`"${(0,Y.getSelectorValue)(i)}"`).join(", ")} is required`,new Jt.Range(n||r.start,r.end)),null)}addItemToLines(e){let n=this.lines,r=e.end.line;for(let i=e.start.line;i<=r;i++){let s=n[i];s?s.push(e):n[i]=[e]}}skipNewlines(){let e=this,n=0;for(;;){if(Y.Selectors.Comment(e.token)){let r=e.astProvider.comment({value:e.token.value,start:e.token.start,end:e.token.end,range:e.token.range,scope:e.currentScope});e.addItemToLines(r),e.backpatches.peek().body.push(r)}else if(Y.Selectors.EndOfLine(e.token))n++;else break;e.next()}return n}pushScope(e){let n=this;n.currentScope!==null&&(n.scopes.push(e),n.outerScopes.push(n.currentScope)),n.currentScope=e}popScope(){let e=this;e.currentScope=e.outerScopes.pop()}tryToRecover(){let e=this,n=e.statementErrors[0];if(e.errors.push(n),!e.unsafe)throw n;for(e.lexer.recoverFromSnapshot(),e.next();e.token.type!==li.TokenType.EOL&&e.token.type!==li.TokenType.EOF;e.next());}finishRemaingScopes(){let e=this,n=e.backpatches.pop();for(;!(0,pr.isPendingChunk)(n);){let r=e.raise(`found open block ${n.block.type}`,new Jt.Range(n.block.start,n.block.start));if(n.complete(e.previousToken),e.errors.push(r),!e.unsafe)throw r;n=e.backpatches.pop()}}parseChunk(){let e=this;e.next();let n=e.token.start,r=e.astProvider.chunk({start:n,end:null,range:[e.token.range[0],null]}),i=new pr.PendingChunk(r);for(e.backpatches.setDefault(i),e.pushScope(r);!Y.Selectors.EndOfFile(e.token)&&(e.skipNewlines(),!Y.Selectors.EndOfFile(e.token));)e.lexer.recordSnapshot(),e.statementErrors=[],e.parseStatement(),e.statementErrors.length>0&&e.tryToRecover();return e.finishRemaingScopes(),e.popScope(),i.complete(e.token),r.literals=e.literals,r.scopes=e.scopes,r.lines=e.lines,r}parseStatement(){let e=this;if(li.TokenType.Keyword===e.token.type&&jt.Keyword.Not!==e.token.value){e.parseKeyword();return}let n=e.backpatches.peek(),r=e.parseAssignment();r.end!==null&&e.addItemToLines(r),n.body.push(r)}parseKeyword(){let e=this;switch(e.token.value){case jt.Keyword.Return:{let r=e.backpatches.peek();e.next();let i=e.parseReturnStatement();i.end!==null&&e.addItemToLines(i),r.body.push(i);return}case jt.Keyword.If:{e.next(),e.parseIfStatement();return}case jt.Keyword.ElseIf:{e.next(),e.nextIfClause(fr.ASTType.ElseifClause);return}case jt.Keyword.Else:{e.next(),e.nextIfClause(fr.ASTType.ElseClause);return}case jt.Keyword.While:{e.next(),e.parseWhileStatement();return}case jt.Keyword.For:{e.next(),e.parseForStatement();return}case jt.Keyword.EndFunction:{e.next(),e.finalizeFunction();return}case jt.Keyword.EndFor:{e.next(),e.finalizeForStatement();return}case jt.Keyword.EndWhile:{e.next(),e.finalizeWhileStatement();return}case jt.Keyword.EndIf:{e.next(),e.nextIfClause(null);return}case jt.Keyword.Continue:{let r=e.backpatches.peek();e.next();let i=e.astProvider.continueStatement({start:e.previousToken.start,end:e.previousToken.end,range:e.previousToken.range,scope:e.currentScope});e.addItemToLines(i),r.body.push(i);return}case jt.Keyword.Break:{let r=e.backpatches.peek();e.next();let i=e.astProvider.breakStatement({start:e.previousToken.start,end:e.previousToken.end,range:e.previousToken.range,scope:e.currentScope});e.addItemToLines(i),r.body.push(i);return}}e.raise(`unexpected keyword ${e.token} at start of line`,new Jt.Range(e.token.start,e.token.end))}parseShortcutStatement(){let e=this;if(li.TokenType.Keyword===e.token.type&&jt.Keyword.Not!==e.token.value)switch(e.token.value){case jt.Keyword.Return:return e.next(),e.parseReturnStatement();case jt.Keyword.Continue:return e.next(),e.astProvider.continueStatement({start:e.previousToken.start,end:e.previousToken.end,range:e.previousToken.range,scope:e.currentScope});case jt.Keyword.Break:return e.next(),e.astProvider.breakStatement({start:e.previousToken.start,end:e.previousToken.end,range:e.previousToken.range,scope:e.currentScope});default:return e.raise(`unexpected keyword ${e.token} in shorthand statement`,new Jt.Range(e.token.start,e.token.end)),e.parseInvalidCode()}return e.parseAssignment()}parseAssignment(){let e=this,n=e.currentScope,r=e.token,i=e.parseExpr(null,!0,!0);if(Y.SelectorGroups.AssignmentEndOfExpr(e.token))return i;if(Y.Selectors.Assign(e.token)){e.next();let o=e.astProvider.assignmentStatement({variable:i,init:null,start:r.start,range:[r.range[0],null],end:null,scope:n}),a=e.currentAssignment;if(e.currentAssignment=o,o.init=e.parseExpr(o),o.end=e.previousToken.end,o.range[1]=e.previousToken.range[1],o.init.type===fr.ASTType.FunctionDeclaration){let u=e.backpatches.peek();u.onComplete=c=>{o.end=c.block.end,o.range[1]=c.block.range[1]}}return e.currentAssignment=a,n.assignments.push(o),o}else if(Y.SelectorGroups.AssignmentShorthand(e.token)){let o=e.token;e.next();let a=e.astProvider.assignmentStatement({variable:i,init:null,start:r.start,range:[r.range[0],null],end:null,scope:n}),u=e.currentAssignment;e.currentAssignment=a;let c=e.token,l=o.value.charAt(0),d=e.parseExpr(a),p=e.astProvider.parenthesisExpression({start:d.start,end:d.end,range:d.range,expression:d});return a.init=e.astProvider.binaryExpression({operator:l,left:i.clone(),right:p,start:c.start,end:e.previousToken.end,range:[c.range[0],e.previousToken.range[1]],scope:n}),a.end=e.previousToken.end,a.range[1]=e.previousToken.range[1],e.currentAssignment=u,n.assignments.push(a),a}let s=[];for(;!Y.Selectors.EndOfFile(e.token);){let o=e.parseExpr(null);if(s.push(o),Y.SelectorGroups.BlockEndOfLine(e.token)||Y.Selectors.Else(e.token))break;if(Y.Selectors.ArgumentSeperator(e.token)){e.next(),e.skipNewlines();continue}let a=e.requireTokenOfAny(Y.SelectorGroups.AssignmentCommandArgs,r.start);if(Y.Selectors.EndOfLine(a)||Y.Selectors.EndOfFile(a))break}return s.length===0?e.astProvider.callStatement({expression:i,start:r.start,end:e.previousToken.end,range:[r.range[0],e.previousToken.range[1]],scope:n}):e.astProvider.callStatement({expression:e.astProvider.callExpression({base:i,arguments:s,start:r.start,end:e.previousToken.end,range:[r.range[0],e.previousToken.range[1]],scope:n}),start:r.start,end:e.previousToken.end,range:[r.range[0],e.previousToken.range[1]],scope:n})}parseReturnStatement(){let e=this,n=e.currentScope,r=e.previousToken,i=null,s=e.astProvider.returnStatement({argument:null,start:r.start,end:null,range:[r.range[0],null],scope:n});if(Y.SelectorGroups.ReturnStatementEnd(e.token))s.end=e.previousToken.end,s.range[1]=e.previousToken.range[1];else{if(i=e.parseExpr(s),s.end=e.previousToken.end,s.range[1]=e.previousToken.range[1],i.type===fr.ASTType.FunctionDeclaration){let o=e.backpatches.peek();o.onComplete=a=>{s.end=a.block.end,s.range[1]=a.block.range[1]}}s.argument=i}return n.returns.push(s),s}parseIfStatement(){let e=this,n=e.previousToken,r=e.parseExpr(null);if(e.addItemToLines(r),e.requireToken(Y.Selectors.Then,n.start),!Y.SelectorGroups.BlockEndOfLine(e.token)){e.parseIfShortcutStatement(r,n);return}let i=e.astProvider.ifStatement({clauses:[],start:n.start,end:null,range:[n.range[0],null],scope:e.currentScope}),s=e.astProvider.ifClause({condition:r,start:n.start,end:e.token.end,range:[n.range[0],e.token.range[1]],scope:e.currentScope}),o=new pr.PendingIf(i,s);e.backpatches.push(o)}nextIfClause(e){let n=this,r=n.backpatches.peek();if(!(0,pr.isPendingIf)(r)){n.raise("no matching open if block",new Jt.Range(n.token.start,n.token.end));return}switch(r.next(n.previousToken),e){case fr.ASTType.ElseifClause:{let i=n.token,s=n.parseExpr(null);n.requireToken(Y.Selectors.Then,i.start),r.currentClause=n.astProvider.elseifClause({condition:s,start:i.start,end:null,range:[i.range[0],null],scope:n.currentScope});break}case fr.ASTType.ElseClause:{let i=n.token;r.currentClause=n.astProvider.elseClause({start:i.start,end:null,range:[i.range[0],null],scope:n.currentScope});break}}e===null&&(r.complete(n.previousToken),n.addItemToLines(r.block),n.backpatches.pop(),n.backpatches.peek().body.push(r.block))}parseIfShortcutStatement(e,n){let r=this,i=[],s=r.backpatches.peek(),o=r.astProvider.ifShortcutStatement({clauses:i,start:n.start,end:null,range:[n.range[0],null],scope:r.currentScope}),a=r.parseShortcutStatement();if(i.push(r.astProvider.ifShortcutClause({condition:e,body:[a],start:n.start,end:r.token.end,range:[n.range[0],r.token.range[1]],scope:r.currentScope})),Y.Selectors.Else(r.token)){r.next();let u=r.token,c=r.parseShortcutStatement();i.push(r.astProvider.elseShortcutClause({body:[c],start:u.start,end:r.token.end,range:[u.range[0],r.token.range[1]],scope:r.currentScope}))}o.end=r.token.end,o.range[1]=r.token.range[1],r.addItemToLines(o),s.body.push(o)}parseWhileStatement(){let e=this,n=e.previousToken,r=e.parseExpr(null);if(!r){e.raise("while requires a condition",new Jt.Range(n.start,e.token.end));return}if(!Y.SelectorGroups.BlockEndOfLine(e.token))return e.parseWhileShortcutStatement(r,n);let i=e.astProvider.whileStatement({condition:r,start:n.start,end:null,range:[n.range[0],null],scope:e.currentScope}),s=new pr.PendingWhile(i);e.backpatches.push(s),s.onComplete=o=>{e.addItemToLines(o.block),e.backpatches.pop(),e.backpatches.peek().body.push(o.block)}}finalizeWhileStatement(){let e=this,n=e.backpatches.peek();if(!(0,pr.isPendingWhile)(n)){e.raise("no matching open while block",new Jt.Range(e.token.start,e.token.end));return}n.complete(e.previousToken)}parseWhileShortcutStatement(e,n){let r=this,i=r.backpatches.peek(),s=r.parseShortcutStatement(),o=r.astProvider.whileStatement({condition:e,body:[s],start:n.start,end:r.previousToken.end,range:[n.range[0],r.previousToken.range[1]],scope:r.currentScope});r.addItemToLines(o),i.body.push(o)}parseForStatement(){let e=this,n=e.currentScope,r=e.previousToken,i=e.parseIdentifier(),s=e.astProvider.assignmentStatement({variable:i,init:e.astProvider.unknown({start:i.start,end:i.end,range:i.range,scope:n}),start:i.start,end:i.end,range:i.range,scope:n}),o=e.astProvider.assignmentStatement({variable:e.astProvider.identifier({name:`__${i.name}_idx`,start:i.start,end:i.end,range:i.range,scope:n}),init:e.astProvider.literal(li.TokenType.NumericLiteral,{value:0,raw:"0",start:i.start,end:i.end,range:i.range,scope:n}),start:i.start,end:i.end,range:i.range,scope:n});n.assignments.push(s,o),e.requireToken(Y.Selectors.In,r.start);let a=e.parseExpr(null);if(!a){e.raise("sequence expression expected for 'for' loop",new Jt.Range(r.start,e.token.end));return}if(!Y.SelectorGroups.BlockEndOfLine(e.token))return e.parseForShortcutStatement(i,a,r);let u=e.astProvider.forGenericStatement({variable:i,iterator:a,start:r.start,end:e.previousToken.end,range:[r.range[0],e.previousToken.range[1]],scope:n}),c=new pr.PendingFor(u);e.backpatches.push(c)}finalizeForStatement(){let e=this,n=e.backpatches.peek();if(!(0,pr.isPendingFor)(n)){e.raise("no matching open for block",new Jt.Range(e.token.start,e.token.end));return}n.complete(e.previousToken),e.addItemToLines(n.block),e.backpatches.pop(),e.backpatches.peek().body.push(n.block)}parseForShortcutStatement(e,n,r){let i=this,s=i.backpatches.peek(),o=i.parseShortcutStatement(),a=i.astProvider.forGenericStatement({variable:e,iterator:n,body:[o],start:r.start,end:i.previousToken.end,range:[r.range[0],i.previousToken.range[1]],scope:i.currentScope});i.addItemToLines(a),s.body.push(a)}parseExpr(e,n=!1,r=!1){return this.parseFunctionDeclaration(e,n,r)}parseFunctionDeclaration(e,n=!1,r=!1){let i=this;if(!Y.Selectors.Function(i.token))return i.parseOr(n,r);i.next();let s=i.previousToken,o=i.astProvider.functionStatement({start:s.start,end:null,range:[s.range[0],null],scope:i.currentScope,parent:i.outerScopes[i.outerScopes.length-1],assignment:i.currentAssignment}),a=[];if(i.pushScope(o),!Y.SelectorGroups.BlockEndOfLine(i.token)){for(i.requireToken(Y.Selectors.LParenthesis,s.start);!Y.SelectorGroups.FunctionDeclarationArgEnd(i.token);){let c=i.parseIdentifier(),l=c;if(i.consume(Y.Selectors.Assign)){let d=i.parseExpr(null);if(d instanceof fr.ASTLiteral){let p=i.astProvider.assignmentStatement({variable:c,init:d,start:l.start,end:i.previousToken.end,range:[l.range[0],i.previousToken.range[1]],scope:i.currentScope});i.currentScope.assignments.push(p),a.push(p)}else i.raise("parameter default value must be a literal value",new Jt.Range(l.start,i.token.end)),a.push(i.astProvider.invalidCodeExpression({start:l.start,end:i.previousToken.end,range:[l.range[0],i.previousToken.range[1]]}))}else{let d=i.astProvider.assignmentStatement({variable:c,init:i.astProvider.unknown({start:l.start,end:i.previousToken.end,range:[l.range[0],i.previousToken.range[1]],scope:i.currentScope}),start:l.start,end:i.previousToken.end,range:[l.range[0],i.previousToken.range[1]],scope:i.currentScope});i.currentScope.assignments.push(d),a.push(c)}if(Y.Selectors.RParenthesis(i.token))break;if(i.requireToken(Y.Selectors.ArgumentSeperator,s.start),Y.Selectors.RParenthesis(i.token)){i.raise("expected argument instead received right parenthesis",new Jt.Range(i.previousToken.end,i.previousToken.end));break}}i.requireToken(Y.Selectors.RParenthesis,s.start)}o.parameters=a;let u=new pr.PendingFunction(o);return i.backpatches.push(u),u.onComplete=c=>{e!==null?(e.end=c.block.end,e.range[1]=c.block.range[1],i.addItemToLines(e)):i.addItemToLines(c.block)},o}finalizeFunction(){let e=this,n=e.backpatches.peek();if(!(0,pr.isPendingFunction)(n)){e.raise("no matching open function block",new Jt.Range(e.token.start,e.token.end));return}e.popScope(),n.complete(e.previousToken),e.backpatches.pop()}parseOr(e=!1,n=!1){let r=this,i=r.token,o=r.parseAnd(e,n);for(;Y.Selectors.Or(r.token);){r.next(),r.skipNewlines();let a=r.parseAnd();o=r.astProvider.logicalExpression({operator:Dr.Operator.Or,left:o,right:a,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseAnd(e=!1,n=!1){let r=this,i=r.token,o=r.parseNot(e,n);for(;Y.Selectors.And(r.token);){r.next(),r.skipNewlines();let a=r.parseNot();o=r.astProvider.logicalExpression({operator:Dr.Operator.And,left:o,right:a,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseNot(e=!1,n=!1){let r=this,i=r.token;if(Y.Selectors.Not(r.token)){r.next(),r.skipNewlines();let s=r.parseIsa();return r.astProvider.unaryExpression({operator:Dr.Operator.Not,argument:s,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return r.parseIsa(e,n)}parseIsa(e=!1,n=!1){let r=this,i=r.token,s=r.parseComparisons(e,n);if(Y.Selectors.Isa(r.token)){r.next(),r.skipNewlines();let o=r.parseComparisons();return r.astProvider.isaExpression({operator:Dr.Operator.Isa,left:s,right:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return s}parseComparisons(e=!1,n=!1){let r=this,i=r.token,s=r.parseAddSub(e,n);if(!Y.SelectorGroups.ComparisonOperators(r.token))return s;let o=[s],a=[];do{let u=r.token;r.next(),r.skipNewlines();let c=r.parseAddSub();a.push(u.value),o.push(c)}while(Y.SelectorGroups.ComparisonOperators(r.token));return a.length===1?r.astProvider.binaryExpression({operator:a[0],left:o[0],right:o[1],start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope}):r.astProvider.comparisonGroupExpression({operators:a,expressions:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}parseAddSub(e=!1,n=!1){let r=this,i=r.token,o=r.parseMultDiv(e,n);for(;Y.Selectors.Plus(r.token)||Y.Selectors.Minus(r.token)&&(!n||!r.token.afterSpace||r.lexer.isAtWhitespace());){let a=r.token;r.next(),r.skipNewlines();let u=r.parseMultDiv();o=r.astProvider.binaryExpression({operator:a.value,left:o,right:u,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseMultDiv(e=!1,n=!1){let r=this,i=r.token,o=r.parseUnaryMinus(e,n);for(;Y.SelectorGroups.MultiDivOperators(r.token);){let a=r.token;r.next(),r.skipNewlines();let u=r.parseUnaryMinus();o=r.astProvider.binaryExpression({operator:a.value,left:o,right:u,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseUnaryMinus(e=!1,n=!1){let r=this;if(!Y.Selectors.Minus(r.token))return r.parseNew(e,n);let i=r.token;r.next(),r.skipNewlines();let s=r.parseNew();return s instanceof fr.ASTNumericLiteral||s instanceof fr.ASTBooleanLiteral?(s.negated=!0,s):r.astProvider.unaryExpression({operator:Dr.Operator.Minus,argument:s,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}parseNew(e=!1,n=!1){let r=this;if(!Y.Selectors.New(r.token))return r.parseAddressOf(e,n);let i=r.token;r.next(),r.skipNewlines();let s=r.parseNew();return r.astProvider.unaryExpression({operator:Dr.Operator.New,argument:s,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}parseAddressOf(e=!1,n=!1){let r=this;if(!Y.Selectors.Reference(r.token))return r.parsePower(e,n);let i=r.token;r.next(),r.skipNewlines();let s=r.parsePower();return r.astProvider.unaryExpression({operator:Dr.Operator.Reference,argument:s,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}parsePower(e=!1,n=!1){let r=this,i=r.token,s=r.parseCallExpr(e,n);if(Y.Selectors.Power(r.token)){r.next(),r.skipNewlines();let o=r.parseCallExpr();return r.astProvider.binaryExpression({operator:Dr.Operator.Power,left:s,right:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return s}parseCallExpr(e=!1,n=!1){let r=this,i=r.token,s=r.parseMap(e,n);for(;!Y.Selectors.EndOfFile(r.token);)if(Y.Selectors.MemberSeperator(r.token)){r.next(),r.skipNewlines();let o=r.parseIdentifier();s=r.astProvider.memberExpression({base:s,indexer:Dr.Operator.Member,identifier:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}else if(Y.Selectors.SLBracket(r.token)&&!r.token.afterSpace){if(r.next(),r.skipNewlines(),Y.Selectors.SliceSeperator(r.token)){let o=r.astProvider.emptyExpression({start:r.previousToken.start,end:r.previousToken.end,range:r.previousToken.range,scope:r.currentScope});r.next(),r.skipNewlines();let a=Y.Selectors.SRBracket(r.token)?r.astProvider.emptyExpression({start:r.previousToken.start,end:r.previousToken.end,range:r.previousToken.range,scope:r.currentScope}):r.parseExpr(null);s=r.astProvider.sliceExpression({base:s,left:o,right:a,start:i.start,end:r.token.end,range:[i.range[0],r.token.range[1]],scope:r.currentScope})}else{let o=r.parseExpr(null);if(Y.Selectors.SliceSeperator(r.token)){r.next(),r.skipNewlines();let a=Y.Selectors.SRBracket(r.token)?r.astProvider.emptyExpression({start:r.previousToken.start,end:r.previousToken.end,range:r.previousToken.range,scope:r.currentScope}):r.parseExpr(null);s=r.astProvider.sliceExpression({base:s,left:o,right:a,start:i.start,end:r.token.end,range:[i.range[0],r.token.range[1]],scope:r.currentScope})}else s=r.astProvider.indexExpression({base:s,index:o,start:i.start,end:r.token.end,range:[i.range[0],r.token.range[1]],scope:r.currentScope})}r.requireToken(Y.Selectors.SRBracket,i.start)}else if(Y.Selectors.LParenthesis(r.token)&&(!e||!r.token.afterSpace)){let o=r.parseCallArgs();s=r.astProvider.callExpression({base:s,arguments:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}else break;return s}parseCallArgs(){let e=this,n=[];if(Y.Selectors.LParenthesis(e.token))if(e.next(),Y.Selectors.RParenthesis(e.token))e.next();else for(;!Y.Selectors.EndOfFile(e.token);){e.skipNewlines();let r=e.parseExpr(null);if(n.push(r),e.skipNewlines(),Y.Selectors.RParenthesis(e.requireTokenOfAny(Y.SelectorGroups.CallArgsEnd,r.start)))break}return n}parseMap(e=!1,n=!1){let r=this;if(!Y.Selectors.CLBracket(r.token))return r.parseList(e,n);let i=r.currentScope,s=r.token,o=[],a=r.astProvider.mapConstructorExpression({fields:o,start:s.start,end:null,range:[s.range[0],null],scope:i});if(r.next(),Y.Selectors.CRBracket(r.token))r.next();else for(r.skipNewlines();!Y.Selectors.EndOfFile(r.token);){if(Y.Selectors.CRBracket(r.token)){r.next();break}let u=r.astProvider.mapKeyString({key:null,value:null,start:r.token.start,end:null,range:[r.token.range[0],null],scope:i});if(u.key=r.parseExpr(null),r.requireToken(Y.Selectors.MapKeyValueSeperator),r.skipNewlines(),r.currentAssignment){let c=r.astProvider.assignmentStatement({variable:r.astProvider.indexExpression({index:u.key,base:r.currentAssignment.variable,start:u.start,end:r.token.end,range:[u.range[0],r.token.range[1]],scope:i}),init:null,start:u.start,end:null,range:[u.range[0],null]}),l=r.currentAssignment;r.currentAssignment=c,u.value=r.parseExpr(u),r.currentAssignment=l,c.init=u.value,c.end=r.previousToken.end,c.range[1]=r.previousToken.range[1],i.assignments.push(c)}else u.value=r.parseExpr(u);if(u.end=r.previousToken.end,u.range[1]=r.previousToken.range[1],o.push(u),Y.Selectors.MapSeperator(r.token)&&(r.next(),r.skipNewlines()),Y.Selectors.CRBracket(r.token)){r.next();break}}return a.end=r.token.start,a.range[1]=r.token.range[1],a}parseList(e=!1,n=!1){let r=this;if(!Y.Selectors.SLBracket(r.token))return r.parseQuantity(e,n);let i=r.currentScope,s=r.token,o=[],a=r.astProvider.listConstructorExpression({fields:o,start:s.start,end:null,range:[s.range[0],null],scope:i});if(r.next(),Y.Selectors.SRBracket(r.token))r.next();else for(r.skipNewlines();!Y.Selectors.EndOfFile(r.token);){if(Y.Selectors.SRBracket(r.token)){r.next();break}let u=r.astProvider.listValue({value:null,start:r.token.start,end:null,range:[r.token.range[0],null],scope:i});if(r.currentAssignment){let c=r.astProvider.assignmentStatement({variable:r.astProvider.indexExpression({index:r.astProvider.literal(li.TokenType.NumericLiteral,{value:o.length,raw:`${o.length}`,start:s.start,end:r.token.end,range:[s.range[0],r.token.range[1]],scope:i}),base:r.currentAssignment.variable,start:null,end:null,range:[null,null],scope:i}),init:null,start:null,range:[null,null],end:null}),l=r.currentAssignment,d=r.token;r.currentAssignment=l,u.value=r.parseExpr(u),r.currentAssignment=l,c.variable.start=d.start,c.variable.end=r.previousToken.end,c.variable.range=[d.range[0],r.previousToken.range[1]],c.init=u.value,c.start=u.start,c.end=r.previousToken.end,c.range=[u.range[0],r.previousToken.range[1]],i.assignments.push(c)}else u.value=r.parseExpr(u);if(u.end=r.previousToken.end,u.range[1]=r.previousToken.range[1],o.push(u),Y.Selectors.MapSeperator(r.token)&&(r.next(),r.skipNewlines()),Y.Selectors.SRBracket(r.token)){r.next();break}}return a.end=r.token.start,a.range[1]=r.token.range[1],a}parseQuantity(e=!1,n=!1){let r=this;if(!Y.Selectors.LParenthesis(r.token))return r.parseAtom(e,n);let i=r.token;r.next(),r.skipNewlines();let s=r.parseExpr(null);return r.requireToken(Y.Selectors.RParenthesis,i.start),r.astProvider.parenthesisExpression({expression:s,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}parseAtom(e=!1,n=!1){let r=this;return r.validator.isLiteral(r.token.type)?r.parseLiteral():r.isType(li.TokenType.Identifier)?r.parseIdentifier():(r.raise(`got ${r.token} where number, string, or identifier is required`,new Jt.Range(r.token.start,r.token.end)),r.parseInvalidCode())}parseLiteral(){let e=this,n=e.token,r=e.token.type,i=e.astProvider.literal(r,{value:e.token.value,raw:e.token.raw,start:n.start,end:e.token.end,range:[n.range[0],e.token.range[1]],scope:e.currentScope});return e.literals.push(i),e.next(),i}parseIdentifier(){let e=this,n=e.token,r=e.requireType(li.TokenType.Identifier);return r===null?e.parseInvalidCode():(e.currentScope.namespaces.add(r.value),e.astProvider.identifier({name:r.value,start:n.start,end:n.end,range:n.range,scope:e.currentScope}))}parseInvalidCode(){let e=this,n=e.token,r=e.astProvider.invalidCodeExpression({start:n.start,end:n.end,range:n.range});return e.next(),r}raise(e,n){let r=this,i=new r1.ParserException(e,n);return r.statementErrors.push(i),i}};la.default=Ng});var Ne=g(Ie=>{"use strict";var s1=Ie&&Ie.__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]}),Zn=Ie&&Ie.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&s1(e,t,n)},al=Ie&&Ie.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ie,"__esModule",{value:!0});Ie.ASTRange=Ie.ASTPosition=Ie.ParserValidatorm=Ie.Parser=Ie.LexerValidator=Ie.Lexer=void 0;var o1=_h();Object.defineProperty(Ie,"Lexer",{enumerable:!0,get:function(){return al(o1).default}});Zn(si(),Ie);var a1=lh();Object.defineProperty(Ie,"LexerValidator",{enumerable:!0,get:function(){return al(a1).default}});var u1=Qk();Object.defineProperty(Ie,"Parser",{enumerable:!0,get:function(){return al(u1).default}});Zn(Sg(),Ie);var c1=wg();Object.defineProperty(Ie,"ParserValidatorm",{enumerable:!0,get:function(){return al(c1).default}});Zn(Lg(),Ie);Zn(Cg(),Ie);Zn(yh(),Ie);Zn(Lc(),Ie);Zn(Nc(),Ie);Zn(Bs(),Ie);Zn(ph(),Ie);Zn(Hs(),Ie);var l1=Jo();Object.defineProperty(Ie,"ASTPosition",{enumerable:!0,get:function(){return l1.Position}});var d1=ra();Object.defineProperty(Ie,"ASTRange",{enumerable:!0,get:function(){return d1.Range}});Zn(Ag(),Ie)});var da=g(ul=>{"use strict";Object.defineProperty(ul,"__esModule",{value:!0});ul.isValidIdentifierLiteral=void 0;var f1=Ne(),p1=t=>{if(t.type!==f1.ASTType.StringLiteral)return!1;let e=t.value.toString();return/^[_a-z][_a-z0-9]*$/i.test(e)};ul.isValidIdentifierLiteral=p1});var qg=g(di=>{"use strict";Object.defineProperty(di,"__esModule",{value:!0});di.getStringHashCode=di.getHashCode=di.rotateBits=void 0;function h1(t){return t>>1|t<<31}di.rotateBits=h1;function g1(t,e=0){let n=t>>>0;return n=(n>>16^n)*73244475,n=(n>>16^n)*73244475,n=n>>16^n,(e<<5)-e+n|0}di.getHashCode=g1;di.getStringHashCode=function(){let t=new Map,e=n=>{let r,i;for(r=0,i=0;r<n.length;r++)i=Math.imul(31,i)+n.charCodeAt(r)|0;return i};return n=>{if(n.length===0)return 0;let r=t.get(n);if(r!==void 0)return r;let i=e(n);return t.set(n,i),i}}()});var Zk=g(cl=>{"use strict";Object.defineProperty(cl,"__esModule",{value:!0});cl.createExpressionHash=void 0;var Ve=Ne(),mt=qg(),m1=da(),Ft=(t,e)=>t.$$hash=e,y1=t=>t.$$hash??null;function rt(t){let e=y1(t);if(e!==null)return e;let n=(0,mt.getStringHashCode)(t.type);switch(t.type){case Ve.ASTType.BinaryExpression:{let r=t;return n^=(0,mt.getStringHashCode)(r.operator),n^=rt(r.left),n^=rt(r.right),Ft(t,n)}case Ve.ASTType.LogicalExpression:{let r=t;return n^=(0,mt.getStringHashCode)(r.operator),n^=rt(r.left),n^=rt(r.right),Ft(t,n)}case Ve.ASTType.IsaExpression:{let r=t;return n^=(0,mt.getStringHashCode)(r.operator),n^=rt(r.left),n^=rt(r.right),Ft(t,n)}case Ve.ASTType.ComparisonGroupExpression:{let r=t;for(let i=0;i<r.expressions.length;i++)n^=rt(r.expressions[i]);for(let i=0;i<r.operators.length;i++)n^=(0,mt.getStringHashCode)(r.operators[i]);return Ft(t,n)}case Ve.ASTType.FunctionDeclaration:{let r=t;n^=(0,mt.getHashCode)(r.parameters.length);for(let i=0;i<r.parameters.length;i++){let s=r.parameters[i];if(s.type===Ve.ASTType.Identifier){n^=(0,mt.getStringHashCode)(s.name);continue}let o=s;n^=(0,mt.getStringHashCode)(o.variable.name),n^=rt(o.init)}return Ft(t,n)}case Ve.ASTType.ParenthesisExpression:return rt(t.expression);case Ve.ASTType.MemberExpression:{let r=t;if(r.base.type===Ve.ASTType.Identifier){let i=r.base.name;if(i==="globals"||i==="locals"||i==="outer")return n=(0,mt.getStringHashCode)(Ve.ASTType.Identifier),n^=(0,mt.getStringHashCode)(r.identifier.name),Ft(t,n)}return n^=rt(r.base),n^=rt(r.identifier),Ft(t,n)}case Ve.ASTType.IndexExpression:{let r=t;if((0,m1.isValidIdentifierLiteral)(r.index)){if(r.base.type===Ve.ASTType.Identifier){let s=r.base.name;if(s==="globals"||s==="locals"||s==="outer")return n=(0,mt.getStringHashCode)(Ve.ASTType.Identifier),n^=(0,mt.getStringHashCode)(r.index.value.toString()),Ft(t,n)}n=(0,mt.getStringHashCode)(Ve.ASTType.MemberExpression),n^=rt(r.base);let i=(0,mt.getStringHashCode)(Ve.ASTType.Identifier);i^=(0,mt.getStringHashCode)(r.index.value.toString()),n^=i}else n^=rt(r.base),n^=rt(r.index);return Ft(t,n)}case Ve.ASTType.CallExpression:{let r=t;n^=rt(r.base),n^=(0,mt.getHashCode)(r.arguments.length);for(let i=0;i<r.arguments.length;i++){let s=r.arguments[i];n^=rt(s)}return Ft(t,n)}case Ve.ASTType.NegationExpression:case Ve.ASTType.BinaryNegatedExpression:case Ve.ASTType.UnaryExpression:{let r=t;return n^=r.operator?(0,mt.getStringHashCode)(r.operator):1,n^=rt(r.argument),Ft(t,n)}case Ve.ASTType.Identifier:{let r=t;return n^=(0,mt.getStringHashCode)(r.name),Ft(t,n)}case Ve.ASTType.NumericLiteral:case Ve.ASTType.StringLiteral:case Ve.ASTType.NilLiteral:return n^=(0,mt.getStringHashCode)(t.value.toString()),Ft(t,n);case Ve.ASTType.MapConstructorExpression:{let r=t;n^=(0,mt.getHashCode)(r.fields.length);for(let i=0;i<r.fields.length;i++){let s=r.fields[i];n^=rt(s.key),n^=rt(s.value)}return Ft(t,n)}case Ve.ASTType.ListConstructorExpression:{let r=t;n^=(0,mt.getHashCode)(r.fields.length);for(let i=0;i<r.fields.length;i++){let s=r.fields[i];n^=rt(s.value)}return Ft(t,n)}case Ve.ASTType.SliceExpression:{let r=t;return n^=rt(r.base),n^=rt(r.left),n^=rt(r.right),Ft(t,n)}}return Ft(t,n)}function b1(t){return rt(t)}cl.createExpressionHash=b1});var jg=g(ll=>{"use strict";Object.defineProperty(ll,"__esModule",{value:!0});ll.createExpressionId=void 0;var St=Ne(),v1=da(),wt=(t,e)=>t.$$id=e,_1=t=>t.$$id??null;function Ye(t){let e=_1(t);if(e!==null)return e;switch(t.type){case St.ASTType.BinaryExpression:{let n=t;return wt(t,Ye(n.left)+n.operator+Ye(n.right))}case St.ASTType.LogicalExpression:{let n=t;return wt(t,Ye(n.left)+n.operator+Ye(n.right))}case St.ASTType.IsaExpression:{let n=t;return wt(t,Ye(n.left)+n.operator+Ye(n.right))}case St.ASTType.ComparisonGroupExpression:{let n=t,r=n.expressions.map(s=>Ye(s)),i=[r[0]];for(let s=0;s<n.operators.length;s++)i.push(n.operators[s],r[s+1]);return wt(t,i.join(" "))}case St.ASTType.FunctionDeclaration:{let n=t,r="function",i=[];for(let s=0;s<n.parameters.length;s++){let o=n.parameters[s];if(o.type===St.ASTType.Identifier){i.push(o.name);continue}let a=o;i.push(a.variable.name+"="+Ye(a.init))}return i.length>0&&(r+="("+i.join(",")+")"),wt(t,r)}case St.ASTType.ParenthesisExpression:return wt(t,Ye(t.expression));case St.ASTType.MemberExpression:{let n=t;return wt(t,Ye(n.base)+"."+n.identifier.name)}case St.ASTType.IndexExpression:{let n=t;return(0,v1.isValidIdentifierLiteral)(n.index)?wt(t,Ye(n.base)+"."+n.index.value.toString()):wt(t,Ye(n.base)+"["+Ye(n.index)+"]")}case St.ASTType.CallExpression:{let n=t,r=Ye(n.base),i=[];for(let s=0;s<n.arguments.length;s++){let o=n.arguments[s];i.push(Ye(o))}return i.length>0&&(r+="("+i.join(",")+")"),wt(t,r)}case St.ASTType.NegationExpression:case St.ASTType.BinaryNegatedExpression:case St.ASTType.UnaryExpression:{let n=t;return n.operator==null?wt(t,Ye(n.argument)):n.operator==="@"?wt(t,n.operator+Ye(n.argument)):wt(t,n.operator+" "+Ye(n.argument))}case St.ASTType.Identifier:return wt(t,t.name);case St.ASTType.NumericLiteral:case St.ASTType.StringLiteral:case St.ASTType.NilLiteral:return wt(t,t.raw.toString());case St.ASTType.MapConstructorExpression:{let n=t,r=[];for(let i=0;i<n.fields.length;i++){let s=n.fields[i];r.push(Ye(s.key)+":"+Ye(s.value))}return wt(t,"{"+r.join(",")+"}")}case St.ASTType.ListConstructorExpression:{let n=t,r=[];for(let i=0;i<n.fields.length;i++){let s=n.fields[i];r.push(Ye(s.value))}return wt(t,"["+r.join(",")+"]")}case St.ASTType.SliceExpression:{let n=t;return wt(t,Ye(n.base)+"["+Ye(n.left)+":"+Ye(n.right)+"]")}}return wt(t,"")}function T1(t){return Ye(t)}ll.createExpressionId=T1});var Xs=g(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.Markers=void 0;var S1;(function(t){t.start="/**",t.nostart="/***",t.delim="*",t.end="*/"})(S1=fa.Markers||(fa.Markers={}))});var er=g(lt=>{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});lt.rewireSpecs=lt.rewireSource=lt.seedTokens=lt.seedSpec=lt.seedBlock=lt.splitLines=lt.splitSpace=lt.splitCR=lt.hasCR=lt.isSpace=void 0;function k1(t){return/^\s+$/.test(t)}lt.isSpace=k1;function x1(t){return/\r$/.test(t)}lt.hasCR=x1;function w1(t){let e=t.match(/\r+$/);return e==null?["",t]:[t.slice(-e[0].length),t.slice(0,-e[0].length)]}lt.splitCR=w1;function E1(t){let e=t.match(/^\s+/);return e==null?["",t]:[t.slice(0,e[0].length),t.slice(e[0].length)]}lt.splitSpace=E1;function A1(t){return t.split(/\n/)}lt.splitLines=A1;function O1(t={}){return Object.assign({description:"",tags:[],source:[],problems:[]},t)}lt.seedBlock=O1;function C1(t={}){return Object.assign({tag:"",name:"",type:"",optional:!1,description:"",problems:[],source:[]},t)}lt.seedSpec=C1;function R1(t={}){return Object.assign({start:"",delimiter:"",postDelimiter:"",tag:"",postTag:"",name:"",postName:"",type:"",postType:"",description:"",end:"",lineEnd:""},t)}lt.seedTokens=R1;function D1(t){let e=t.source.reduce((n,r)=>n.set(r.number,r),new Map);for(let n of t.tags)n.source=n.source.map(r=>e.get(r.number));return t}lt.rewireSource=D1;function P1(t){let e=t.tags.reduce((n,r)=>r.source.reduce((i,s)=>i.set(s.number,s),n),new Map);return t.source=t.source.map(n=>e.get(n.number)||n),t}lt.rewireSpecs=P1});var ex=g(Fg=>{"use strict";Object.defineProperty(Fg,"__esModule",{value:!0});var I1=/^@\S+/;function M1({fence:t="```"}={}){let e=L1(t),n=(r,i)=>e(r)?!i:i;return function(i){let s=[[]],o=!1;for(let a of i)I1.test(a.tokens.description)&&!o?s.push([a]):s[s.length-1].push(a),o=n(a.tokens.description,o);return s}}Fg.default=M1;function L1(t){return typeof t=="string"?e=>e.split(t).length%2===0:t}});var tx=g($g=>{"use strict";Object.defineProperty($g,"__esModule",{value:!0});var N1=Xs(),pa=er();function q1({startLine:t=0,markers:e=N1.Markers}={}){let n=null,r=t;return function(s){let o=s,a=(0,pa.seedTokens)();if([a.lineEnd,o]=(0,pa.splitCR)(o),[a.start,o]=(0,pa.splitSpace)(o),n===null&&o.startsWith(e.start)&&!o.startsWith(e.nostart)&&(n=[],a.delimiter=o.slice(0,e.start.length),o=o.slice(e.start.length),[a.postDelimiter,o]=(0,pa.splitSpace)(o)),n===null)return r++,null;let u=o.trimRight().endsWith(e.end);if(a.delimiter===""&&o.startsWith(e.delim)&&!o.startsWith(e.end)&&(a.delimiter=e.delim,o=o.slice(e.delim.length),[a.postDelimiter,o]=(0,pa.splitSpace)(o)),u){let c=o.trimRight();a.end=o.slice(c.length-e.end.length),o=c.slice(0,-e.end.length)}if(a.description=o,n.push({number:r,source:s,tokens:a}),r++,u){let c=n.slice();return n=null,c}return null}}$g.default=q1});var nx=g(Bg=>{"use strict";Object.defineProperty(Bg,"__esModule",{value:!0});var j1=er();function F1({tokenizers:t}){return function(n){var r;let i=(0,j1.seedSpec)({source:n});for(let s of t)if(i=s(i),!((r=i.problems[i.problems.length-1])===null||r===void 0)&&r.critical)break;return i}}Bg.default=F1});var Hg=g(Ug=>{"use strict";Object.defineProperty(Ug,"__esModule",{value:!0});function $1(){return t=>{let{tokens:e}=t.source[0],n=e.description.match(/\s*(@(\S+))(\s*)/);return n===null?(t.problems.push({code:"spec:tag:prefix",message:'tag should start with "@" symbol',line:t.source[0].number,critical:!0}),t):(e.tag=n[1],e.postTag=n[3],e.description=e.description.slice(n[0].length),t.tag=n[2],t)}}Ug.default=$1});var Gg=g(Wg=>{"use strict";Object.defineProperty(Wg,"__esModule",{value:!0});var B1=er();function U1(t="compact"){let e=W1(t);return n=>{let r=0,i=[];for(let[a,{tokens:u}]of n.source.entries()){let c="";if(a===0&&u.description[0]!=="{")return n;for(let l of u.description)if(l==="{"&&r++,l==="}"&&r--,c+=l,r===0)break;if(i.push([u,c]),r===0)break}if(r!==0)return n.problems.push({code:"spec:type:unpaired-curlies",message:"unpaired curlies",line:n.source[0].number,critical:!0}),n;let s=[],o=i[0][0].postDelimiter.length;for(let[a,[u,c]]of i.entries())u.type=c,a>0&&(u.type=u.postDelimiter.slice(o)+c,u.postDelimiter=u.postDelimiter.slice(0,o)),[u.postType,u.description]=(0,B1.splitSpace)(u.description.slice(c.length)),s.push(u.type);return s[0]=s[0].slice(1),s[s.length-1]=s[s.length-1].slice(0,-1),n.type=e(s),n}}Wg.default=U1;var H1=t=>t.trim();function W1(t){return t==="compact"?e=>e.map(H1).join(""):t==="preserve"?e=>e.join(`
|
97
97
|
`):t}});var Kg=g(zg=>{"use strict";Object.defineProperty(zg,"__esModule",{value:!0});var Vg=er(),G1=t=>t&&t.startsWith('"')&&t.endsWith('"');function V1(){let t=(e,{tokens:n},r)=>n.type===""?e:r;return e=>{let{tokens:n}=e.source[e.source.reduce(t,0)],r=n.description.trimLeft(),i=r.split('"');if(i.length>1&&i[0]===""&&i.length%2===1)return e.name=i[1],n.name=`"${i[1]}"`,[n.postName,n.description]=(0,Vg.splitSpace)(r.slice(n.name.length)),e;let s=0,o="",a=!1,u;for(let l of r){if(s===0&&(0,Vg.isSpace)(l))break;l==="["&&s++,l==="]"&&s--,o+=l}if(s!==0)return e.problems.push({code:"spec:name:unpaired-brackets",message:"unpaired brackets",line:e.source[0].number,critical:!0}),e;let c=o;if(o[0]==="["&&o[o.length-1]==="]"){a=!0,o=o.slice(1,-1);let l=o.split("=");if(o=l[0].trim(),l[1]!==void 0&&(u=l.slice(1).join("=").trim()),o==="")return e.problems.push({code:"spec:name:empty-name",message:"empty name",line:e.source[0].number,critical:!0}),e;if(u==="")return e.problems.push({code:"spec:name:empty-default",message:"empty default value",line:e.source[0].number,critical:!0}),e;if(!G1(u)&&/=(?!>)/.test(u))return e.problems.push({code:"spec:name:invalid-default",message:"invalid default value syntax",line:e.source[0].number,critical:!0}),e}return e.optional=a,e.name=o,n.name=c,u!==void 0&&(e.default=u),[n.postName,n.description]=(0,Vg.splitSpace)(r.slice(n.name.length)),e}}zg.default=V1});var Yg=g(ha=>{"use strict";Object.defineProperty(ha,"__esModule",{value:!0});ha.getJoiner=void 0;var Xg=Xs();function z1(t="compact",e=Xg.Markers){let n=rx(t);return r=>(r.description=n(r.source,e),r)}ha.default=z1;function rx(t){return t==="compact"?K1:t==="preserve"?J1:t}ha.getJoiner=rx;function K1(t,e=Xg.Markers){return t.map(({tokens:{description:n}})=>n.trim()).filter(n=>n!=="").join(" ")}var X1=(t,{tokens:e},n)=>e.type===""?t:n,Y1=({tokens:t})=>(t.delimiter===""?t.start:t.postDelimiter.slice(1))+t.description;function J1(t,e=Xg.Markers){if(t.length===0)return"";t[0].tokens.description===""&&t[0].tokens.delimiter===e.start&&(t=t.slice(1));let n=t[t.length-1];return n!==void 0&&n.tokens.description===""&&n.tokens.end.endsWith(e.end)&&(t=t.slice(0,-1)),t=t.slice(t.reduce(X1,0)),t.map(Y1).join(`
|
98
98
|
`)}});var sx=g(Jg=>{"use strict";Object.defineProperty(Jg,"__esModule",{value:!0});var Q1=Xs(),Z1=er(),eD=ex(),tD=tx(),nD=nx(),rD=Hg(),iD=Gg(),sD=Kg(),ix=Yg();function oD({startLine:t=0,fence:e="```",spacing:n="compact",markers:r=Q1.Markers,tokenizers:i=[(0,rD.default)(),(0,iD.default)(n),(0,sD.default)(),(0,ix.default)(n)]}={}){if(t<0||t%1>0)throw new Error("Invalid startLine");let s=(0,tD.default)({startLine:t,markers:r}),o=(0,eD.default)({fence:e}),a=(0,nD.default)({tokenizers:i}),u=(0,ix.getJoiner)(n);return function(c){let l=[];for(let d of(0,Z1.splitLines)(c)){let p=s(d);if(p===null)continue;let b=o(p),T=b.slice(1).map(a);l.push({description:u(b[0],r),tags:T,source:p,problems:T.reduce((E,L)=>E.concat(L.problems),[])})}return l}}Jg.default=oD});var ox=g(Qg=>{"use strict";Object.defineProperty(Qg,"__esModule",{value:!0});function aD(t){return t.start+t.delimiter+t.postDelimiter+t.tag+t.postTag+t.type+t.postType+t.name+t.postName+t.description+t.end+t.lineEnd}function uD(){return t=>t.source.map(({tokens:e})=>aD(e)).join(`
|
99
99
|
`)}Qg.default=uD});var ux=g(ga=>{"use strict";var cD=ga&&ga.__rest||function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};Object.defineProperty(ga,"__esModule",{value:!0});var ax=Xs(),lD=er(),dD={start:0,tag:0,type:0,name:0},fD=(t=ax.Markers)=>(e,{tokens:n})=>({start:n.delimiter===t.start?n.start.length:e.start,tag:Math.max(e.tag,n.tag.length),type:Math.max(e.type,n.type.length),name:Math.max(e.name,n.name.length)}),Ui=t=>"".padStart(t," ");function pD(t=ax.Markers){let e=!1,n;function r(i){let s=Object.assign({},i.tokens);s.tag!==""&&(e=!0);let o=s.tag===""&&s.name===""&&s.type===""&&s.description==="";if(s.end===t.end&&o)return s.start=Ui(n.start+1),Object.assign(Object.assign({},i),{tokens:s});switch(s.delimiter){case t.start:s.start=Ui(n.start);break;case t.delim:s.start=Ui(n.start+1);break;default:s.delimiter="",s.start=Ui(n.start+2)}if(!e)return s.postDelimiter=s.description===""?"":" ",Object.assign(Object.assign({},i),{tokens:s});let a={delim:!1,tag:!1,type:!1,name:!1};return s.description===""&&(a.name=!0,s.postName="",s.name===""&&(a.type=!0,s.postType="",s.type===""&&(a.tag=!0,s.postTag="",s.tag===""&&(a.delim=!0)))),s.postDelimiter=a.delim?"":" ",a.tag||(s.postTag=Ui(n.tag-s.tag.length+1)),a.type||(s.postType=Ui(n.type-s.type.length+1)),a.name||(s.postName=Ui(n.name-s.name.length+1)),Object.assign(Object.assign({},i),{tokens:s})}return i=>{var{source:s}=i,o=cD(i,["source"]);return n=s.reduce(fD(t),Object.assign({},dD)),(0,lD.rewireSource)(Object.assign(Object.assign({},o),{source:s.map(r)}))}}ga.default=pD});var cx=g(ma=>{"use strict";var hD=ma&&ma.__rest||function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};Object.defineProperty(ma,"__esModule",{value:!0});var gD=er(),mD=t=>e=>e.slice(t),yD=t=>{let e="".padStart(t," ");return n=>n+e};function bD(t){let e,n=i=>{if(e===void 0){let s=t-i.length;e=s>0?yD(s):mD(-s)}return e(i)},r=i=>Object.assign(Object.assign({},i),{tokens:Object.assign(Object.assign({},i.tokens),{start:n(i.tokens.start)})});return i=>{var{source:s}=i,o=hD(i,["source"]);return(0,gD.rewireSource)(Object.assign(Object.assign({},o),{source:s.map(r)}))}}ma.default=bD});var lx=g(ya=>{"use strict";var vD=ya&&ya.__rest||function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};Object.defineProperty(ya,"__esModule",{value:!0});var _D=er();function TD(t){function e(n){return Object.assign(Object.assign({},n),{tokens:Object.assign(Object.assign({},n.tokens),{lineEnd:t==="LF"?"":"\r"})})}return n=>{var{source:r}=n,i=vD(n,["source"]);return(0,_D.rewireSource)(Object.assign(Object.assign({},i),{source:r.map(e)}))}}ya.default=TD});var dx=g(dl=>{"use strict";Object.defineProperty(dl,"__esModule",{value:!0});dl.flow=void 0;function SD(...t){return e=>t.reduce((n,r)=>r(n),e)}dl.flow=SD});var gx=g(em=>{"use strict";Object.defineProperty(em,"__esModule",{value:!0});var kD=er(),px={line:0,start:0,delimiter:0,postDelimiter:0,tag:0,postTag:0,name:0,postName:0,type:0,postType:0,description:0,end:0,lineEnd:0},fx={lineEnd:"CR"},Zg=Object.keys(px),hx=t=>(0,kD.isSpace)(t)?`{${t.length}}`:t,xD=t=>"|"+t.join("|")+"|",wD=(t,e)=>Object.keys(e).map(n=>hx(e[n]).padEnd(t[n]));function ED({source:t}){var e,n;if(t.length===0)return"";let r=Object.assign({},px);for(let s of Zg)r[s]=((e=fx[s])!==null&&e!==void 0?e:s).length;for(let{number:s,tokens:o}of t){r.line=Math.max(r.line,s.toString().length);for(let a in o)r[a]=Math.max(r[a],hx(o[a]).length)}let i=[[],[]];for(let s of Zg)i[0].push(((n=fx[s])!==null&&n!==void 0?n:s).padEnd(r[s]));for(let s of Zg)i[1].push("-".padEnd(r[s],"-"));for(let{number:s,tokens:o}of t){let a=s.toString().padStart(r.line);i.push([a,...wD(r,o)])}return i.map(xD).join(`
|
100
100
|
`)}em.default=ED});var mx=g(Et=>{"use strict";var AD=Et&&Et.__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]}),OD=Et&&Et.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&AD(e,t,n)};Object.defineProperty(Et,"__esModule",{value:!0});Et.util=Et.tokenizers=Et.transforms=Et.inspect=Et.stringify=Et.parse=void 0;var CD=sx(),RD=Yg(),DD=Kg(),PD=Hg(),ID=Gg(),MD=ox(),LD=ux(),ND=cx(),qD=lx(),jD=dx(),fl=er();OD(Xs(),Et);function FD(t,e={}){return(0,CD.default)(e)(t)}Et.parse=FD;Et.stringify=(0,MD.default)();var $D=gx();Object.defineProperty(Et,"inspect",{enumerable:!0,get:function(){return $D.default}});Et.transforms={flow:jD.flow,align:LD.default,indent:ND.default,crlf:qD.default};Et.tokenizers={tag:PD.default,type:ID.default,name:DD.default,description:RD.default};Et.util={rewireSpecs:fl.rewireSpecs,rewireSource:fl.rewireSource,seedBlock:fl.seedBlock,seedTokens:fl.seedTokens}});var Hi=g(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.SignatureDefinitionBaseType=void 0;var BD;(function(t){t.Function="function",t.Number="number",t.String="string",t.Map="map",t.List="list",t.Any="any",t.General="general"})(BD=ba.SignatureDefinitionBaseType||(ba.SignatureDefinitionBaseType={}))});var va=g(Ys=>{"use strict";var yx=Ys&&Ys.__read||function(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s};Object.defineProperty(Ys,"__esModule",{value:!0});Ys.SignatureDefinitionTypeMeta=void 0;var Qt=Hi(),UD=function(){function t(e){var n,r;this.type=e.type,this.keyType=(n=e.keyType)!==null&&n!==void 0?n:null,this.valueType=(r=e.valueType)!==null&&r!==void 0?r:null}return t.fromString=function(e){var n=e.match(/^([a-zA-Z]+)(?:<([^>]+)>)?$/);if(!n)return null;var r=null,i=null,s=yx(n,3),o=s[0],a=s[1],u=s[2];if(a===Qt.SignatureDefinitionBaseType.Map?(r=Qt.SignatureDefinitionBaseType.Any,i=Qt.SignatureDefinitionBaseType.Any):a===Qt.SignatureDefinitionBaseType.List&&(r=Qt.SignatureDefinitionBaseType.Any),u){var c=u.split(",").map(function(b){return b.trim()});if(c.length>2)return null;var l=yx(c,2),d=l[0],p=l[1];p!=null?(r=p,i=d):r=d}return new t({type:a,keyType:i,valueType:r})},t.parse=function(e){var n,r;if(typeof e=="string"){var i=e,s=null,o=null;return i===Qt.SignatureDefinitionBaseType.Map?(s=Qt.SignatureDefinitionBaseType.Any,o=Qt.SignatureDefinitionBaseType.Any):i===Qt.SignatureDefinitionBaseType.List&&(s=Qt.SignatureDefinitionBaseType.Any),new t({type:i,valueType:s,keyType:o})}else if(typeof e=="object"){var i=e.type,s=(n=e.valueType)!==null&&n!==void 0?n:null,o=(r=e.keyType)!==null&&r!==void 0?r:null;return i===Qt.SignatureDefinitionBaseType.Map?(s=s??Qt.SignatureDefinitionBaseType.Any,o=o??Qt.SignatureDefinitionBaseType.Any):i===Qt.SignatureDefinitionBaseType.List&&(s=s??Qt.SignatureDefinitionBaseType.Any),new t({type:i,valueType:s,keyType:o})}throw new Error("Unable to parse type definition!")},t.prototype.isEqual=function(e){return this.type===e.type},t.prototype.isEqualSafe=function(e){return this.type===e.type&&this.keyType===e.keyType&&this.valueType===e.valueType},t.prototype.toString=function(){return this.keyType===null?this.valueType===null?this.type:"".concat(this.type,"<").concat(this.valueType,">"):"".concat(this.type,"<").concat(this.keyType,",").concat(this.valueType,">")},t.prototype.toJSON=function(){return this.keyType===null?this.valueType===null?this.type:{type:this.type,valueType:this.valueType}:{type:this.type,keyType:this.keyType,valueType:this.valueType}},t.prototype.copy=function(){return new t({type:this.type,keyType:this.keyType,valueType:this.valueType})},t}();Ys.SignatureDefinitionTypeMeta=UD});var tm=g(fi=>{"use strict";var bx=fi&&fi.__read||function(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s},vx=fi&&fi.__spreadArray||function(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,s;r<i;r++)(s||!(r in e))&&(s||(s=Array.prototype.slice.call(e,0,r)),s[r]=e[r]);return t.concat(s||Array.prototype.slice.call(e))};Object.defineProperty(fi,"__esModule",{value:!0});fi.SignatureDefinitionFunctionArg=void 0;var _x=va(),HD=function(){function t(e){this._label=e.label,this._types=e.types.reduce(function(n,r){return n.set(r.type,r)},new Map),this._opt=e.opt,this._default=e.default}return t.parse=function(e){var n,r,i=[];if(e.type)i.push(_x.SignatureDefinitionTypeMeta.parse(e.type));else if(e.types)i.push.apply(i,vx([],bx(e.types.map(_x.SignatureDefinitionTypeMeta.parse)),!1));else throw new Error("Invalid signature definition function arg payload!");return new t({label:e.label,types:i,opt:(n=e.opt)!==null&&n!==void 0?n:!1,default:(r=e.default)!==null&&r!==void 0?r:null})},t.prototype.getLabel=function(){return this._label},t.prototype.isOptional=function(){return this._opt},t.prototype.getDefault=function(){return this._default},t.prototype.getTypes=function(){return vx([],bx(this._types.values()),!1)},t.prototype.isValidType=function(e){return this._types.has(e.type)},t.prototype.isValidTypeSafe=function(e){var n;return!!(!((n=this._types.get(e.type))===null||n===void 0)&&n.isEqualSafe(e))},t.prototype.toJSON=function(){return{label:this._label,types:this.getTypes().map(function(e){return e.toJSON()}),opt:this._opt,default:this._default}},t.prototype.copy=function(){return new t({label:this._label,types:this.getTypes().map(function(e){return e.copy()}),opt:this._opt,default:this._default})},t}();fi.SignatureDefinitionFunctionArg=HD});var pl=g(hr=>{"use strict";var Wi=hr&&hr.__read||function(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s},Gi=hr&&hr.__spreadArray||function(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,s;r<i;r++)(s||!(r in e))&&(s||(s=Array.prototype.slice.call(e,0,r)),s[r]=e[r]);return t.concat(s||Array.prototype.slice.call(e))},WD=hr&&hr.__values||function(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(hr,"__esModule",{value:!0});hr.VariationRegistry=void 0;var GD=function(){function t(e){this._name=e,this._variations=new Set}return t.prototype.getName=function(){return this._name},t.prototype.push=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return this._variations=new Set(Gi(Gi([],Wi(e),!1),Wi(this._variations),!1)),this},t.prototype.getAll=function(){return Gi([],Wi(this._variations),!1)},t}(),VD=function(){function t(){}return t.add=function(e,n){var r=new GD(e);return r.push.apply(r,Gi([],Wi(n),!1)),this.variationContainers.set(e,r),this},t.get=function(e){var n;return(n=this.variationContainers.get(e))!==null&&n!==void 0?n:null},t.resolve=function(e){var n,r,i=new Set;try{for(var s=WD(e),o=s.next();!o.done;o=s.next()){var a=o.value;if(typeof a=="string"&&a.startsWith("!")){var u=a.slice(1),c=this.get(u);if(c!==null)i=new Set(Gi(Gi([],Wi(c.getAll()),!1),Wi(i),!1));else throw new Error("Cannot find variation container for ".concat(u));continue}i.add(a)}}catch(l){n={error:l}}finally{try{o&&!o.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}return Gi([],Wi(i),!1)},t.variationContainers=new Map,t}();hr.VariationRegistry=VD});var hl=g(pi=>{"use strict";var zD=pi&&pi.__read||function(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s},KD=pi&&pi.__spreadArray||function(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,s;r<i;r++)(s||!(r in e))&&(s||(s=Array.prototype.slice.call(e,0,r)),s[r]=e[r]);return t.concat(s||Array.prototype.slice.call(e))};Object.defineProperty(pi,"__esModule",{value:!0});pi.SignatureDefinition=void 0;var XD=pl(),YD=va(),JD=function(){function t(e){this._type=e.type,this._isProtected=e.isProtected,this._description=e.description,this._example=e.example,this._variations=e.variations}return t.parse=function(e){var n,r,i;return new t({type:YD.SignatureDefinitionTypeMeta.parse(e.type),isProtected:!!e.isProtected,description:(n=e.description)!==null&&n!==void 0?n:null,example:(r=e.example)!==null&&r!==void 0?r:null,variations:(i=e.variations)!==null&&i!==void 0?i:null})},t.prototype.getType=function(){return this._type},t.prototype.isProtected=function(){return this._isProtected},t.prototype.getDescription=function(){return this._description},t.prototype.getExample=function(){return this._example},t.prototype.setDescription=function(e){var n;return this._description=e.description,this._example=(n=e.example)!==null&&n!==void 0?n:null,this},t.prototype.addVariation=function(e){return this._variations==null&&(this._variations=[]),this._variations.push(e),this},t.prototype.getVariations=function(){return XD.VariationRegistry.resolve(this._variations)},t.prototype.toJSON=function(){return{type:this._type.toJSON(),isProtected:this._isProtected,description:this._description,example:this._example?KD([],zD(this._example),!1):null}},t.prototype.withDescription=function(e){var n,r;return new t({type:this._type,isProtected:this._isProtected,description:(n=e?.description)!==null&&n!==void 0?n:this._description,example:(r=e?.example)!==null&&r!==void 0?r:this._example,variations:this._variations})},t.prototype.copy=function(){return new t({type:this._type.copy(),isProtected:this._isProtected,description:this._description,example:this._example,variations:this._variations})},t}();pi.SignatureDefinition=JD});var nm=g(Mn=>{"use strict";var QD=Mn&&Mn.__extends||function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(r[s]=i[s])},t(e,n)};return function(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(e,n);function r(){this.constructor=e}e.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}(),gl=Mn&&Mn.__assign||function(){return gl=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++){e=arguments[n];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])}return t},gl.apply(this,arguments)},ZD=Mn&&Mn.__read||function(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s},eP=Mn&&Mn.__spreadArray||function(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,s;r<i;r++)(s||!(r in e))&&(s||(s=Array.prototype.slice.call(e,0,r)),s[r]=e[r]);return t.concat(s||Array.prototype.slice.call(e))};Object.defineProperty(Mn,"__esModule",{value:!0});Mn.SignatureDefinitionFunction=void 0;var tP=Hi(),nP=pl(),rP=hl(),iP=tm(),Tx=va(),sP=function(t){QD(e,t);function e(n){var r=t.call(this,{type:n.type,isProtected:n.isProtected,description:n.description,example:n.example,variations:n.variations})||this;return r._argList=n.arguments.map(function(i){return i.getLabel()}),r._argRefs=n.arguments.reduce(function(i,s){return i.set(s.getLabel(),s)},new Map),r._returns=n.returns.reduce(function(i,s){return i.set(s.type,s)},new Map),r._returnVariations=n.returnVariations,r}return e.parse=function(n){var r,i,s,o,a,u;return new e({type:new Tx.SignatureDefinitionTypeMeta({type:tP.SignatureDefinitionBaseType.Function}),isProtected:(r=n.isProtected)!==null&&r!==void 0?r:!1,description:(i=n.description)!==null&&i!==void 0?i:null,example:(s=n.example)!==null&&s!==void 0?s:null,arguments:(a=(o=n.arguments)===null||o===void 0?void 0:o.map(iP.SignatureDefinitionFunctionArg.parse))!==null&&a!==void 0?a:[],returns:n.returns.map(Tx.SignatureDefinitionTypeMeta.parse),variations:n.variations,returnVariations:(u=n.returnVariations)!==null&&u!==void 0?u:null})},e.prototype.getArguments=function(){var n=this;return this._argList.map(function(r){return n._argRefs.get(r)})},e.prototype.getArgument=function(n){var r;return(r=this._argRefs.get(n))!==null&&r!==void 0?r:null},e.prototype.getReturns=function(){return eP([],ZD(this._returns.values()),!1)},e.prototype.addReturnVariation=function(n){return this._returnVariations==null&&(this._returnVariations=[]),this._returnVariations.push(n),this},e.prototype.getReturnVariations=function(){return this._returnVariations==null&&(this._returnVariations=[]),nP.VariationRegistry.resolve(this._returnVariations)},e.prototype.toJSON=function(){return gl(gl({},t.prototype.toJSON.call(this)),{arguments:this.getArguments().map(function(n){return n.toJSON()}),returns:this.getReturns().map(function(n){return n.toJSON()})})},e.prototype.withDescription=function(n){var r,i;return new e({type:this._type,isProtected:this._isProtected,arguments:this.getArguments(),returns:this.getReturns(),description:(r=n?.description)!==null&&r!==void 0?r:this._description,example:(i=n?.example)!==null&&i!==void 0?i:this._example,variations:this._variations,returnVariations:this._returnVariations})},e.prototype.copy=function(){return new e({type:this._type.copy(),isProtected:this._isProtected,arguments:this.getArguments().map(function(n){return n.copy()}),returns:this.getReturns().map(function(n){return n.copy()}),description:this._description,example:this._example,variations:this._variations,returnVariations:this._returnVariations})},e}(rP.SignatureDefinition);Mn.SignatureDefinitionFunction=sP});var kx=g((I2,Sx)=>{"use strict";Sx.exports=function(...t){try{return JSON.stringify(...t)}catch(e){return"[Cannot display object: "+e.message+"]"}}});var rm=g((xx,wx)=>{"use strict";var oP=kx();wx.exports=class extends Error{constructor(t){let e=t.filter(n=>n!=="").map(n=>typeof n=="string"?n:n instanceof Error?n.message:oP(n));super(e.join(" ")||"Unknown error"),typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,xx.assert)}}});var Re=g((L2,Ex)=>{"use strict";var aP=rm();Ex.exports=function(t,...e){if(!t)throw e.length===1&&e[0]instanceof Error?e[0]:new aP(e)}});var Vi=g((N2,Ox)=>{"use strict";var im=Re(),Ax={};Ox.exports=function(t,e,n){if(e===!1||e===null||e===void 0)return t;n=n||{},typeof n=="string"&&(n={separator:n});let r=Array.isArray(e);im(!r||!n.separator,"Separator option is not valid for array-based chain");let i=r?e:e.split(n.separator||"."),s=t;for(let o=0;o<i.length;++o){let a=i[o],u=n.iterables&&Ax.iterables(s);if(Array.isArray(s)||u==="set"){let c=Number(a);Number.isInteger(c)&&(a=c<0?s.length+c:c)}if(!s||typeof s=="function"&&n.functions===!1||!u&&s[a]===void 0){im(!n.strict||o+1===i.length,"Missing segment",a,"in reach path ",e),im(typeof s=="object"||n.functions===!0||typeof s!="function","Invalid segment",a,"in reach path ",e),s=n.default;break}u?u==="set"?s=[...s][a]:s=s.get(a):s=s[a]}return s};Ax.iterables=function(t){if(t instanceof Set)return"set";if(t instanceof Map)return"map"}});var sm=g((Zt,Rx)=>{"use strict";var Cx={};Zt=Rx.exports={array:Array.prototype,buffer:Buffer&&Buffer.prototype,date:Date.prototype,error:Error.prototype,generic:Object.prototype,map:Map.prototype,promise:Promise.prototype,regex:RegExp.prototype,set:Set.prototype,weakMap:WeakMap.prototype,weakSet:WeakSet.prototype};Cx.typeMap=new Map([["[object Error]",Zt.error],["[object Map]",Zt.map],["[object Promise]",Zt.promise],["[object Set]",Zt.set],["[object WeakMap]",Zt.weakMap],["[object WeakSet]",Zt.weakSet]]);Zt.getInternalProto=function(t){if(Array.isArray(t))return Zt.array;if(Buffer&&t instanceof Buffer)return Zt.buffer;if(t instanceof Date)return Zt.date;if(t instanceof RegExp)return Zt.regex;if(t instanceof Error)return Zt.error;let e=Object.prototype.toString.call(t);return Cx.typeMap.get(e)||Zt.generic}});var om=g(Dx=>{"use strict";Dx.keys=function(t,e={}){return e.symbols!==!1?Reflect.ownKeys(t):Object.getOwnPropertyNames(t)}});var en=g((j2,Px)=>{"use strict";var uP=Vi(),Tn=sm(),cP=om(),Pr={needsProtoHack:new Set([Tn.set,Tn.map,Tn.weakSet,Tn.weakMap])};Px.exports=Pr.clone=function(t,e={},n=null){if(typeof t!="object"||t===null)return t;let r=Pr.clone,i=n;if(e.shallow){if(e.shallow!==!0)return Pr.cloneWithShallow(t,e);r=u=>u}else if(i){let u=i.get(t);if(u)return u}else i=new Map;let s=Tn.getInternalProto(t);if(s===Tn.buffer)return Buffer&&Buffer.from(t);if(s===Tn.date)return new Date(t.getTime());if(s===Tn.regex)return new RegExp(t);let o=Pr.base(t,s,e);if(o===t)return t;if(i&&i.set(t,o),s===Tn.set)for(let u of t)o.add(r(u,e,i));else if(s===Tn.map)for(let[u,c]of t)o.set(u,r(c,e,i));let a=cP.keys(t,e);for(let u of a){if(u==="__proto__")continue;if(s===Tn.array&&u==="length"){o.length=t.length;continue}let c=Object.getOwnPropertyDescriptor(t,u);c?c.get||c.set?Object.defineProperty(o,u,c):c.enumerable?o[u]=r(t[u],e,i):Object.defineProperty(o,u,{enumerable:!1,writable:!0,configurable:!0,value:r(t[u],e,i)}):Object.defineProperty(o,u,{enumerable:!0,writable:!0,configurable:!0,value:r(t[u],e,i)})}return o};Pr.cloneWithShallow=function(t,e){let n=e.shallow;e=Object.assign({},e),e.shallow=!1;let r=new Map;for(let i of n){let s=uP(t,i);(typeof s=="object"||typeof s=="function")&&r.set(s,s)}return Pr.clone(t,e,r)};Pr.base=function(t,e,n){if(n.prototype===!1)return Pr.needsProtoHack.has(e)?new e.constructor:e===Tn.array?[]:{};let r=Object.getPrototypeOf(t);if(r&&r.isImmutable)return t;if(e===Tn.array){let i=[];return r!==e&&Object.setPrototypeOf(i,r),i}if(Pr.needsProtoHack.has(e)){let i=new r.constructor;return r!==e&&Object.setPrototypeOf(i,r),i}return Object.create(r)}});var Ix=g((F2,lP)=>{lP.exports={name:"joi",description:"Object schema validation",version:"17.13.3",repository:"git://github.com/hapijs/joi",main:"lib/index.js",types:"lib/index.d.ts",browser:"dist/joi-browser.min.js",files:["lib/**/*","dist/*"],keywords:["schema","validation"],dependencies:{"@hapi/hoek":"^9.3.0","@hapi/topo":"^5.1.0","@sideway/address":"^4.1.5","@sideway/formula":"^3.0.1","@sideway/pinpoint":"^2.0.0"},devDependencies:{"@hapi/bourne":"2.x.x","@hapi/code":"8.x.x","@hapi/joi-legacy-test":"npm:@hapi/joi@15.x.x","@hapi/lab":"^25.1.3","@types/node":"^14.18.63",typescript:"4.3.x"},scripts:{prepublishOnly:"cd browser && npm install && npm run build",test:"lab -t 100 -a @hapi/code -L -Y","test-cov-html":"lab -r html -o coverage.html -a @hapi/code"},license:"BSD-3-Clause"}});var ml=g(_a=>{"use strict";var O=yl(),he={};he.wrap=O.string().min(1).max(2).allow(!1);_a.preferences=O.object({allowUnknown:O.boolean(),abortEarly:O.boolean(),artifacts:O.boolean(),cache:O.boolean(),context:O.object(),convert:O.boolean(),dateFormat:O.valid("date","iso","string","time","utc"),debug:O.boolean(),errors:{escapeHtml:O.boolean(),label:O.valid("path","key",!1),language:[O.string(),O.object().ref()],render:O.boolean(),stack:O.boolean(),wrap:{label:he.wrap,array:he.wrap,string:he.wrap}},externals:O.boolean(),messages:O.object(),noDefaults:O.boolean(),nonEnumerables:O.boolean(),presence:O.valid("required","optional","forbidden"),skipFunctions:O.boolean(),stripUnknown:O.object({arrays:O.boolean(),objects:O.boolean()}).or("arrays","objects").allow(!0,!1),warnings:O.boolean()}).strict();he.nameRx=/^[a-zA-Z0-9]\w*$/;he.rule=O.object({alias:O.array().items(O.string().pattern(he.nameRx)).single(),args:O.array().items(O.string(),O.object({name:O.string().pattern(he.nameRx).required(),ref:O.boolean(),assert:O.alternatives([O.function(),O.object().schema()]).conditional("ref",{is:!0,then:O.required()}),normalize:O.function(),message:O.string().when("assert",{is:O.function(),then:O.required()})})),convert:O.boolean(),manifest:O.boolean(),method:O.function().allow(!1),multi:O.boolean(),validate:O.function()});_a.extension=O.object({type:O.alternatives([O.string(),O.object().regex()]).required(),args:O.function(),cast:O.object().pattern(he.nameRx,O.object({from:O.function().maxArity(1).required(),to:O.function().minArity(1).maxArity(2).required()})),base:O.object().schema().when("type",{is:O.object().regex(),then:O.forbidden()}),coerce:[O.function().maxArity(3),O.object({method:O.function().maxArity(3).required(),from:O.array().items(O.string()).single()})],flags:O.object().pattern(he.nameRx,O.object({setter:O.string(),default:O.any()})),manifest:{build:O.function().arity(2)},messages:[O.object(),O.string()],modifiers:O.object().pattern(he.nameRx,O.function().minArity(1).maxArity(2)),overrides:O.object().pattern(he.nameRx,O.function()),prepare:O.function().maxArity(3),rebuild:O.function().arity(1),rules:O.object().pattern(he.nameRx,he.rule),terms:O.object().pattern(he.nameRx,O.object({init:O.array().allow(null).required(),manifest:O.object().pattern(/.+/,[O.valid("schema","single"),O.object({mapped:O.object({from:O.string().required(),to:O.string().required()}).required()})])})),validate:O.function().maxArity(3)}).strict();_a.extensions=O.array().items(O.object(),O.function().arity(1)).strict();he.desc={buffer:O.object({buffer:O.string()}),func:O.object({function:O.function().required(),options:{literal:!0}}),override:O.object({override:!0}),ref:O.object({ref:O.object({type:O.valid("value","global","local"),path:O.array().required(),separator:O.string().length(1).allow(!1),ancestor:O.number().min(0).integer().allow("root"),map:O.array().items(O.array().length(2)).min(1),adjust:O.function(),iterables:O.boolean(),in:O.boolean(),render:O.boolean()}).required()}),regex:O.object({regex:O.string().min(3)}),special:O.object({special:O.valid("deep").required()}),template:O.object({template:O.string().required(),options:O.object()}),value:O.object({value:O.alternatives([O.object(),O.array()]).required()})};he.desc.entity=O.alternatives([O.array().items(O.link("...")),O.boolean(),O.function(),O.number(),O.string(),he.desc.buffer,he.desc.func,he.desc.ref,he.desc.regex,he.desc.special,he.desc.template,he.desc.value,O.link("/")]);he.desc.values=O.array().items(null,O.boolean(),O.function(),O.number().allow(1/0,-1/0),O.string().allow(""),O.symbol(),he.desc.buffer,he.desc.func,he.desc.override,he.desc.ref,he.desc.regex,he.desc.template,he.desc.value);he.desc.messages=O.object().pattern(/.+/,[O.string(),he.desc.template,O.object().pattern(/.+/,[O.string(),he.desc.template])]);_a.description=O.object({type:O.string().required(),flags:O.object({cast:O.string(),default:O.any(),description:O.string(),empty:O.link("/"),failover:he.desc.entity,id:O.string(),label:O.string(),only:!0,presence:["optional","required","forbidden"],result:["raw","strip"],strip:O.boolean(),unit:O.string()}).unknown(),preferences:{allowUnknown:O.boolean(),abortEarly:O.boolean(),artifacts:O.boolean(),cache:O.boolean(),convert:O.boolean(),dateFormat:["date","iso","string","time","utc"],errors:{escapeHtml:O.boolean(),label:["path","key"],language:[O.string(),he.desc.ref],wrap:{label:he.wrap,array:he.wrap}},externals:O.boolean(),messages:he.desc.messages,noDefaults:O.boolean(),nonEnumerables:O.boolean(),presence:["required","optional","forbidden"],skipFunctions:O.boolean(),stripUnknown:O.object({arrays:O.boolean(),objects:O.boolean()}).or("arrays","objects").allow(!0,!1),warnings:O.boolean()},allow:he.desc.values,invalid:he.desc.values,rules:O.array().min(1).items({name:O.string().required(),args:O.object().min(1),keep:O.boolean(),message:[O.string(),he.desc.messages],warn:O.boolean()}),keys:O.object().pattern(/.*/,O.link("/")),link:he.desc.ref}).pattern(/^[a-z]\w*$/,O.any())});var Lx=g((B2,Mx)=>{"use strict";var hi={};Mx.exports=function(t){if(!t)return"";let e="";for(let n=0;n<t.length;++n){let r=t.charCodeAt(n);hi.isSafe(r)?e+=t[n]:e+=hi.escapeHtmlChar(r)}return e};hi.escapeHtmlChar=function(t){let e=hi.namedHtml.get(t);return e||(t>=256?"&#"+t+";":`&#x${t.toString(16).padStart(2,"0")};`)};hi.isSafe=function(t){return hi.safeCharCodes.has(t)};hi.namedHtml=new Map([[38,"&"],[60,"<"],[62,">"],[34,"""],[160," "],[162,"¢"],[163,"£"],[164,"¤"],[169,"©"],[174,"®"]]);hi.safeCharCodes=function(){let t=new Set;for(let e=32;e<123;++e)(e>=97||e>=65&&e<=90||e>=48&&e<=57||e===32||e===46||e===44||e===45||e===58||e===95)&&t.add(e);return t}()});var Nx=g(Ta=>{"use strict";var Ee={operators:["!","^","*","/","%","+","-","<","<=",">",">=","==","!=","&&","||","??"],operatorCharacters:["!","^","*","/","%","+","-","<","=",">","&","|","?"],operatorsOrder:[["^"],["*","/","%"],["+","-"],["<","<=",">",">="],["==","!="],["&&"],["||","??"]],operatorsPrefix:["!","n"],literals:{'"':'"',"`":"`","'":"'","[":"]"},numberRx:/^(?:[0-9]*(\.[0-9]*)?){1}$/,tokenRx:/^[\w\$\#\.\@\:\{\}]+$/,symbol:Symbol("formula"),settings:Symbol("settings")};Ta.Parser=class{constructor(t,e={}){if(!e[Ee.settings]&&e.constants)for(let n in e.constants){let r=e.constants[n];if(r!==null&&!["boolean","number","string"].includes(typeof r))throw new Error(`Formula constant ${n} contains invalid ${typeof r} value type`)}this.settings=e[Ee.settings]?e:Object.assign({[Ee.settings]:!0,constants:{},functions:{}},e),this.single=null,this._parts=null,this._parse(t)}_parse(t){let e=[],n="",r=0,i=!1,s=a=>{if(r)throw new Error("Formula missing closing parenthesis");let u=e.length?e[e.length-1]:null;if(!(!i&&!n&&!a)){if(u&&u.type==="reference"&&a===")"){u.type="function",u.value=this._subFormula(n,u.value),n="";return}if(a===")"){let c=new Ta.Parser(n,this.settings);e.push({type:"segment",value:c})}else if(i){if(i==="]"){e.push({type:"reference",value:n}),n="";return}e.push({type:"literal",value:n})}else if(Ee.operatorCharacters.includes(n))u&&u.type==="operator"&&Ee.operators.includes(u.value+n)?u.value+=n:e.push({type:"operator",value:n});else if(n.match(Ee.numberRx))e.push({type:"constant",value:parseFloat(n)});else if(this.settings.constants[n]!==void 0)e.push({type:"constant",value:this.settings.constants[n]});else{if(!n.match(Ee.tokenRx))throw new Error(`Formula contains invalid token: ${n}`);e.push({type:"reference",value:n})}n=""}};for(let a of t)i?a===i?(s(),i=!1):n+=a:r?a==="("?(n+=a,++r):a===")"?(--r,r?n+=a:s(a)):n+=a:a in Ee.literals?i=Ee.literals[a]:a==="("?(s(),++r):Ee.operatorCharacters.includes(a)?(s(),n=a,s()):a!==" "?n+=a:s();s(),e=e.map((a,u)=>a.type!=="operator"||a.value!=="-"||u&&e[u-1].type!=="operator"?a:{type:"operator",value:"n"});let o=!1;for(let a of e){if(a.type==="operator"){if(Ee.operatorsPrefix.includes(a.value))continue;if(!o)throw new Error("Formula contains an operator in invalid position");if(!Ee.operators.includes(a.value))throw new Error(`Formula contains an unknown operator ${a.value}`)}else if(o)throw new Error("Formula missing expected operator");o=!o}if(!o)throw new Error("Formula contains invalid trailing operator");e.length===1&&["reference","literal","constant"].includes(e[0].type)&&(this.single={type:e[0].type==="reference"?"reference":"value",value:e[0].value}),this._parts=e.map(a=>{if(a.type==="operator")return Ee.operatorsPrefix.includes(a.value)?a:a.value;if(a.type!=="reference")return a.value;if(this.settings.tokenRx&&!this.settings.tokenRx.test(a.value))throw new Error(`Formula contains invalid reference ${a.value}`);return this.settings.reference?this.settings.reference(a.value):Ee.reference(a.value)})}_subFormula(t,e){let n=this.settings.functions[e];if(typeof n!="function")throw new Error(`Formula contains unknown function ${e}`);let r=[];if(t){let i="",s=0,o=!1,a=()=>{if(!i)throw new Error(`Formula contains function ${e} with invalid arguments ${t}`);r.push(i),i=""};for(let u=0;u<t.length;++u){let c=t[u];o?(i+=c,c===o&&(o=!1)):c in Ee.literals&&!s?(i+=c,o=Ee.literals[c]):c===","&&!s?a():(i+=c,c==="("?++s:c===")"&&--s)}a()}return r=r.map(i=>new Ta.Parser(i,this.settings)),function(i){let s=[];for(let o of r)s.push(o.evaluate(i));return n.call(i,...s)}}evaluate(t){let e=this._parts.slice();for(let n=e.length-2;n>=0;--n){let r=e[n];if(r&&r.type==="operator"){let i=e[n+1];e.splice(n+1,1);let s=Ee.evaluate(i,t);e[n]=Ee.single(r.value,s)}}return Ee.operatorsOrder.forEach(n=>{for(let r=1;r<e.length-1;)if(n.includes(e[r])){let i=e[r],s=Ee.evaluate(e[r-1],t),o=Ee.evaluate(e[r+1],t);e.splice(r,2);let a=Ee.calculate(i,s,o);e[r-1]=a===0?0:a}else r+=2}),Ee.evaluate(e[0],t)}};Ta.Parser.prototype[Ee.symbol]=!0;Ee.reference=function(t){return function(e){return e&&e[t]!==void 0?e[t]:null}};Ee.evaluate=function(t,e){return t===null?null:typeof t=="function"?t(e):t[Ee.symbol]?t.evaluate(e):t};Ee.single=function(t,e){if(t==="!")return!e;let n=-e;return n===0?0:n};Ee.calculate=function(t,e,n){if(t==="??")return Ee.exists(e)?e:n;if(typeof e=="string"||typeof n=="string"){if(t==="+")return e=Ee.exists(e)?e:"",n=Ee.exists(n)?n:"",e+n}else switch(t){case"^":return Math.pow(e,n);case"*":return e*n;case"/":return e/n;case"%":return e%n;case"+":return e+n;case"-":return e-n}switch(t){case"<":return e<n;case"<=":return e<=n;case">":return e>n;case">=":return e>=n;case"==":return e===n;case"!=":return e!==n;case"&&":return e&&n;case"||":return e||n}return null};Ee.exists=function(t){return t!=null}});var jx=g(qx=>{"use strict";var dP=en(),fP=Je(),zi={annotations:Symbol("annotations")};qx.error=function(t){if(!this._original||typeof this._original!="object")return this.details[0].message;let e=t?"":"\x1B[31m",n=t?"":"\x1B[41m",r=t?"":"\x1B[0m",i=dP(this._original);for(let a=this.details.length-1;a>=0;--a){let u=a+1,c=this.details[a],l=c.path,d=i;for(let p=0;;++p){let b=l[p];if(fP.isSchema(d)&&(d=d.clone()),p+1<l.length&&typeof d[b]!="string")d=d[b];else{let T=d[zi.annotations]||{errors:{},missing:{}};d[zi.annotations]=T;let E=b||c.context.key;d[b]!==void 0?(T.errors[E]=T.errors[E]||[],T.errors[E].push(u)):T.missing[E]=u;break}}}let s={key:/_\$key\$_([, \d]+)_\$end\$_"/g,missing:/"_\$miss\$_([^|]+)\|(\d+)_\$end\$_": "__missing__"/g,arrayIndex:/\s*"_\$idx\$_([, \d]+)_\$end\$_",?\n(.*)/g,specials:/"\[(NaN|Symbol.*|-?Infinity|function.*|\(.*)]"/g},o=zi.safeStringify(i,2).replace(s.key,(a,u)=>`" ${e}[${u}]${r}`).replace(s.missing,(a,u,c)=>`${n}"${u}"${r}${e} [${c}]: -- missing --${r}`).replace(s.arrayIndex,(a,u,c)=>`
|
101
101
|
${c} ${e}[${u}]${r}`).replace(s.specials,(a,u)=>u);o=`${o}
|
102
102
|
${e}`;for(let a=0;a<this.details.length;++a){let u=a+1;o=`${o}
|
103
|
-
[${u}] ${this.details[a].message}`}return o=o+r,o};zi.safeStringify=function(t,e){return JSON.stringify(t,zi.serializer(),e)};zi.serializer=function(){let t=[],e=[],n=(r,i)=>e[0]===i?"[Circular ~]":"[Circular ~."+t.slice(0,e.indexOf(i)).join(".")+"]";return function(r,i){if(e.length>0){let s=e.indexOf(this);~s?(e.length=s+1,t.length=s+1,t[s]=r):(e.push(this),t.push(r)),~e.indexOf(i)&&(i=n.call(this,r,i))}else e.push(i);if(i){let s=i[zi.annotations];if(s){if(Array.isArray(i)){let o=[];for(let a=0;a<i.length;++a)s.errors[a]&&o.push(`_$idx$_${s.errors[a].sort().join(", ")}_$end$_`),o.push(i[a]);i=o}else{for(let o in s.errors)i[`${o}_$key$_${s.errors[o].sort().join(", ")}_$end$_`]=i[o],i[o]=void 0;for(let o in s.missing)i[`_$miss$_${o}|${s.missing[o]}_$end$_`]="__missing__"}return i}}return i===1/0||i===-1/0||Number.isNaN(i)||typeof i=="function"||typeof i=="symbol"?"["+i.toString()+"]":i}}});var Ir=g(kt=>{"use strict";var pP=jx(),hP=Je(),gP=gi();kt.Report=class{constructor(t,e,n,r,i,s,o){if(this.code=t,this.flags=r,this.messages=i,this.path=s.path,this.prefs=o,this.state=s,this.value=e,this.message=null,this.template=null,this.local=n||{},this.local.label=kt.label(this.flags,this.state,this.prefs,this.messages),this.value!==void 0&&!this.local.hasOwnProperty("value")&&(this.local.value=this.value),this.path.length){let a=this.path[this.path.length-1];typeof a!="object"&&(this.local.key=a)}}_setTemplate(t){if(this.template=t,!this.flags.label&&this.path.length===0){let e=this._template(this.template,"root");e&&(this.local.label=e)}}toString(){if(this.message)return this.message;let t=this.code;if(!this.prefs.errors.render)return this.code;let e=this._template(this.template)||this._template(this.prefs.messages)||this._template(this.messages);return e===void 0?`Error code "${t}" is not defined, your custom type is missing the correct messages definition`:(this.message=e.render(this.value,this.state,this.prefs,this.local,{errors:this.prefs.errors,messages:[this.prefs.messages,this.messages]}),this.prefs.errors.label||(this.message=this.message.replace(/^"" /,"").trim()),this.message)}_template(t,e){return kt.template(this.value,t,e||this.code,this.state,this.prefs)}};kt.path=function(t){let e="";for(let n of t)typeof n!="object"&&(typeof n=="string"?(e&&(e+="."),e+=n):e+=`[${n}]`);return e};kt.template=function(t,e,n,r,i){if(!e)return;if(gP.isTemplate(e))return n!=="root"?e:null;let s=i.errors.language;if(hP.isResolvable(s)&&(s=s.resolve(t,r,i)),s&&e[s]){if(e[s][n]!==void 0)return e[s][n];if(e[s]["*"]!==void 0)return e[s]["*"]}return e[n]?e[n]:e["*"]};kt.label=function(t,e,n,r){if(!n.errors.label)return"";if(t.label)return t.label;let i=e.path;n.errors.label==="key"&&e.path.length>1&&(i=e.path.slice(-1));let s=kt.path(i);return s||kt.template(null,n.messages,"root",e,n)||r&&kt.template(null,r,"root",e,n)||"value"};kt.process=function(t,e,n){if(!t)return null;let{override:r,message:i,details:s}=kt.details(t);if(r)return r;if(n.errors.stack)return new kt.ValidationError(i,s,e);let o=Error.stackTraceLimit;Error.stackTraceLimit=0;let a=new kt.ValidationError(i,s,e);return Error.stackTraceLimit=o,a};kt.details=function(t,e={}){let n=[],r=[];for(let i of t){if(i instanceof Error){if(e.override!==!1)return{override:i};let o=i.toString();n.push(o),r.push({message:o,type:"override",context:{error:i}});continue}let s=i.toString();n.push(s),r.push({message:s,path:i.path.filter(o=>typeof o!="object"),type:i.code,context:i.local})}return n.length>1&&(n=[...new Set(n)]),{message:n.join(". "),details:r}};kt.ValidationError=class extends Error{constructor(t,e,n){super(t),this._original=n,this.details=e}static isError(t){return t instanceof kt.ValidationError}};kt.ValidationError.prototype.isJoi=!0;kt.ValidationError.prototype.name="ValidationError";kt.ValidationError.prototype.annotate=pP.error});var Mr=g(qn=>{"use strict";var Ln=Re(),mP=en(),yP=Vi(),Sa=Je(),am,Nn={symbol:Symbol("ref"),defaults:{adjust:null,in:!1,iterables:null,map:null,separator:".",type:"value"}};qn.create=function(t,e={}){Ln(typeof t=="string","Invalid reference key:",t),Sa.assertOptions(e,["adjust","ancestor","in","iterables","map","prefix","render","separator"]),Ln(!e.prefix||typeof e.prefix=="object","options.prefix must be of type object");let n=Object.assign({},Nn.defaults,e);delete n.prefix;let r=n.separator,i=Nn.context(t,r,e.prefix);if(n.type=i.type,t=i.key,n.type==="value")if(i.root&&(Ln(!r||t[0]!==r,"Cannot specify relative path with root prefix"),n.ancestor="root",t||(t=null)),r&&r===t)t=null,n.ancestor=0;else if(n.ancestor!==void 0)Ln(!r||!t||t[0]!==r,"Cannot combine prefix with ancestor option");else{let[s,o]=Nn.ancestor(t,r);o&&(t=t.slice(o),t===""&&(t=null)),n.ancestor=s}return n.path=r?t===null?[]:t.split(r):[t],new Nn.Ref(n)};qn.in=function(t,e={}){return qn.create(t,{...e,in:!0})};qn.isRef=function(t){return t?!!t[Sa.symbols.ref]:!1};Nn.Ref=class{constructor(t){Ln(typeof t=="object","Invalid reference construction"),Sa.assertOptions(t,["adjust","ancestor","in","iterables","map","path","render","separator","type","depth","key","root","display"]),Ln([!1,void 0].includes(t.separator)||typeof t.separator=="string"&&t.separator.length===1,"Invalid separator"),Ln(!t.adjust||typeof t.adjust=="function","options.adjust must be a function"),Ln(!t.map||Array.isArray(t.map),"options.map must be an array"),Ln(!t.map||!t.adjust,"Cannot set both map and adjust options"),Object.assign(this,Nn.defaults,t),Ln(this.type==="value"||this.ancestor===void 0,"Non-value references cannot reference ancestors"),Array.isArray(this.map)&&(this.map=new Map(this.map)),this.depth=this.path.length,this.key=this.path.length?this.path.join(this.separator):null,this.root=this.path[0],this.updateDisplay()}resolve(t,e,n,r,i={}){return Ln(!this.in||i.in,"Invalid in() reference usage"),this.type==="global"?this._resolve(n.context,e,i):this.type==="local"?this._resolve(r,e,i):this.ancestor?this.ancestor==="root"?this._resolve(e.ancestors[e.ancestors.length-1],e,i):(Ln(this.ancestor<=e.ancestors.length,"Invalid reference exceeds the schema root:",this.display),this._resolve(e.ancestors[this.ancestor-1],e,i)):this._resolve(t,e,i)}_resolve(t,e,n){let r;if(this.type==="value"&&e.mainstay.shadow&&n.shadow!==!1&&(r=e.mainstay.shadow.get(this.absolute(e))),r===void 0&&(r=yP(t,this.path,{iterables:this.iterables,functions:!0})),this.adjust&&(r=this.adjust(r)),this.map){let i=this.map.get(r);i!==void 0&&(r=i)}return e.mainstay&&e.mainstay.tracer.resolve(e,this,r),r}toString(){return this.display}absolute(t){return[...t.path.slice(0,-this.ancestor),...this.path]}clone(){return new Nn.Ref(this)}describe(){let t={path:this.path};this.type!=="value"&&(t.type=this.type),this.separator!=="."&&(t.separator=this.separator),this.type==="value"&&this.ancestor!==1&&(t.ancestor=this.ancestor),this.map&&(t.map=[...this.map]);for(let e of["adjust","iterables","render"])this[e]!==null&&this[e]!==void 0&&(t[e]=this[e]);return this.in!==!1&&(t.in=!0),{ref:t}}updateDisplay(){let t=this.key!==null?this.key:"";if(this.type!=="value"){this.display=`ref:${this.type}:${t}`;return}if(!this.separator){this.display=`ref:${t}`;return}if(!this.ancestor){this.display=`ref:${this.separator}${t}`;return}if(this.ancestor==="root"){this.display=`ref:root:${t}`;return}if(this.ancestor===1){this.display=`ref:${t||".."}`;return}let e=new Array(this.ancestor+1).fill(this.separator).join("");this.display=`ref:${e}${t||""}`}};Nn.Ref.prototype[Sa.symbols.ref]=!0;qn.build=function(t){return t=Object.assign({},Nn.defaults,t),t.type==="value"&&t.ancestor===void 0&&(t.ancestor=1),new Nn.Ref(t)};Nn.context=function(t,e,n={}){if(t=t.trim(),n){let r=n.global===void 0?"$":n.global;if(r!==e&&t.startsWith(r))return{key:t.slice(r.length),type:"global"};let i=n.local===void 0?"#":n.local;if(i!==e&&t.startsWith(i))return{key:t.slice(i.length),type:"local"};let s=n.root===void 0?"/":n.root;if(s!==e&&t.startsWith(s))return{key:t.slice(s.length),type:"value",root:!0}}return{key:t,type:"value"}};Nn.ancestor=function(t,e){if(!e)return[1,0];if(t[0]!==e)return[1,0];if(t[1]!==e)return[0,1];let n=2;for(;t[n]===e;)++n;return[n-1,n]};qn.toSibling=0;qn.toParent=1;qn.Manager=class{constructor(){this.refs=[]}register(t,e){if(t){if(e=e===void 0?qn.toParent:e,Array.isArray(t)){for(let n of t)this.register(n,e);return}if(Sa.isSchema(t)){for(let n of t._refs.refs)n.ancestor-e>=0&&this.refs.push({ancestor:n.ancestor-e,root:n.root});return}qn.isRef(t)&&t.type==="value"&&t.ancestor-e>=0&&this.refs.push({ancestor:t.ancestor-e,root:t.root}),am=am||gi(),am.isTemplate(t)&&this.register(t.refs(),e)}}get length(){return this.refs.length}clone(){let t=new qn.Manager;return t.refs=mP(this.refs),t}reset(){this.refs=[]}roots(){return this.refs.filter(t=>!t.ancestor).map(t=>t.root)}}});var gi=g((Ux,Hx)=>{"use strict";var bl=Re(),bP=en(),vP=Lx(),_P=Nx(),$x=Je(),Fx=Ir(),Bx=Mr(),je={symbol:Symbol("template"),opens:new Array(1e3).join("\0"),closes:new Array(1e3).join(""),dateFormat:{date:Date.prototype.toDateString,iso:Date.prototype.toISOString,string:Date.prototype.toString,time:Date.prototype.toTimeString,utc:Date.prototype.toUTCString}};Hx.exports=Ux=je.Template=class{constructor(t,e){if(bl(typeof t=="string","Template source must be a string"),bl(!t.includes("\0")&&!t.includes(""),"Template source cannot contain reserved control characters"),this.source=t,this.rendered=t,this._template=null,e){let{functions:n,...r}=e;this._settings=Object.keys(r).length?bP(r):void 0,this._functions=n,this._functions&&(bl(Object.keys(this._functions).every(i=>typeof i=="string"),"Functions keys must be strings"),bl(Object.values(this._functions).every(i=>typeof i=="function"),"Functions values must be functions"))}else this._settings=void 0,this._functions=void 0;this._parse()}_parse(){if(!this.source.includes("{"))return;let t=je.encode(this.source),e=je.split(t),n=!1,r=[],i=e.shift();i&&r.push(i);for(let s of e){let o=s[0]!=="{",a=o?"}":"}}",u=s.indexOf(a);if(u===-1||s[1]==="{"){r.push(`{${je.decode(s)}`);continue}let c=s.slice(o?0:1,u),l=c[0]===":";l&&(c=c.slice(1));let d=this._ref(je.decode(c),{raw:o,wrapped:l});r.push(d),typeof d!="string"&&(n=!0);let p=s.slice(u+a.length);p&&r.push(je.decode(p))}if(!n){this.rendered=r.join("");return}this._template=r}static date(t,e){return je.dateFormat[e.dateFormat].call(t)}describe(t={}){if(!this._settings&&t.compact)return this.source;let e={template:this.source};return this._settings&&(e.options=this._settings),this._functions&&(e.functions=this._functions),e}static build(t){return new je.Template(t.template,t.options||t.functions?{...t.options,functions:t.functions}:void 0)}isDynamic(){return!!this._template}static isTemplate(t){return t?!!t[$x.symbols.template]:!1}refs(){if(!this._template)return;let t=[];for(let e of this._template)typeof e!="string"&&t.push(...e.refs);return t}resolve(t,e,n,r){return this._template&&this._template.length===1?this._part(this._template[0],t,e,n,r,{}):this.render(t,e,n,r)}_part(t,...e){return t.ref?t.ref.resolve(...e):t.formula.evaluate(e)}render(t,e,n,r,i={}){if(!this.isDynamic())return this.rendered;let s=[];for(let o of this._template)if(typeof o=="string")s.push(o);else{let a=this._part(o,t,e,n,r,i),u=je.stringify(a,t,e,n,r,i);if(u!==void 0){let c=o.raw||(i.errors&&i.errors.escapeHtml)===!1?u:vP(u);s.push(je.wrap(c,o.wrapped&&n.errors.wrap.label))}}return s.join("")}_ref(t,{raw:e,wrapped:n}){let r=[],i=o=>{let a=Bx.create(o,this._settings);return r.push(a),u=>{let c=a.resolve(...u);return c!==void 0?c:null}};try{let o=this._functions?{...je.functions,...this._functions}:je.functions;var s=new _P.Parser(t,{reference:i,functions:o,constants:je.constants})}catch(o){throw o.message=`Invalid template variable "${t}" fails due to: ${o.message}`,o}if(s.single){if(s.single.type==="reference"){let o=r[0];return{ref:o,raw:e,refs:r,wrapped:n||o.type==="local"&&o.key==="label"}}return je.stringify(s.single.value)}return{formula:s,raw:e,refs:r}}toString(){return this.source}};je.Template.prototype[$x.symbols.template]=!0;je.Template.prototype.isImmutable=!0;je.encode=function(t){return t.replace(/\\(\{+)/g,(e,n)=>je.opens.slice(0,n.length)).replace(/\\(\}+)/g,(e,n)=>je.closes.slice(0,n.length))};je.decode=function(t){return t.replace(/\u0000/g,"{").replace(/\u0001/g,"}")};je.split=function(t){let e=[],n="";for(let r=0;r<t.length;++r){let i=t[r];if(i==="{"){let s="";for(;r+1<t.length&&t[r+1]==="{";)s+="{",++r;e.push(n),n=s}else n+=i}return e.push(n),e};je.wrap=function(t,e){return e?e.length===1?`${e}${t}${e}`:`${e[0]}${t}${e[1]}`:t};je.stringify=function(t,e,n,r,i,s={}){let o=typeof t,a=r&&r.errors&&r.errors.wrap||{},u=!1;if(Bx.isRef(t)&&t.render&&(u=t.in,t=t.resolve(e,n,r,i,{in:t.in,...s})),t===null)return"null";if(o==="string")return je.wrap(t,s.arrayItems&&a.string);if(o==="number"||o==="function"||o==="symbol")return t.toString();if(o!=="object")return JSON.stringify(t);if(t instanceof Date)return je.Template.date(t,r);if(t instanceof Map){let l=[];for(let[d,p]of t.entries())l.push(`${d.toString()} -> ${p.toString()}`);t=l}if(!Array.isArray(t))return t.toString();let c=[];for(let l of t)c.push(je.stringify(l,e,n,r,i,{arrayItems:!0,...s}));return je.wrap(c.join(", "),!u&&a.array)};je.constants={true:!0,false:!1,null:null,second:1e3,minute:60*1e3,hour:60*60*1e3,day:24*60*60*1e3};je.functions={if(t,e,n){return t?e:n},length(t){return typeof t=="string"?t.length:!t||typeof t!="object"?null:Array.isArray(t)?t.length:Object.keys(t).length},msg(t){let[e,n,r,i,s]=this,o=s.messages;if(!o)return"";let a=Fx.template(e,o[0],t,n,r)||Fx.template(e,o[1],t,n,r);return a?a.render(e,n,r,i,s):""},number(t){return typeof t=="number"?t:typeof t=="string"?parseFloat(t):typeof t=="boolean"?t?1:0:t instanceof Date?t.getTime():null}}});var Js=g(ka=>{"use strict";var Ki=Re(),Wx=en(),Sn=gi();ka.compile=function(t,e){if(typeof t=="string")return Ki(!e,"Cannot set single message string"),new Sn(t);if(Sn.isTemplate(t))return Ki(!e,"Cannot set single message template"),t;Ki(typeof t=="object"&&!Array.isArray(t),"Invalid message options"),e=e?Wx(e):{};for(let n in t){let r=t[n];if(n==="root"||Sn.isTemplate(r)){e[n]=r;continue}if(typeof r=="string"){e[n]=new Sn(r);continue}Ki(typeof r=="object"&&!Array.isArray(r),"Invalid message for",n);let i=n;e[i]=e[i]||{};for(n in r){let s=r[n];if(n==="root"||Sn.isTemplate(s)){e[i][n]=s;continue}Ki(typeof s=="string","Invalid message for",n,"in",i),e[i][n]=new Sn(s)}}return e};ka.decompile=function(t){let e={};for(let n in t){let r=t[n];if(n==="root"){e.root=r;continue}if(Sn.isTemplate(r)){e[n]=r.describe({compact:!0});continue}let i=n;e[i]={};for(n in r){let s=r[n];if(n==="root"){e[i].root=s;continue}e[i][n]=s.describe({compact:!0})}}return e};ka.merge=function(t,e){if(!t)return ka.compile(e);if(!e)return t;if(typeof e=="string")return new Sn(e);if(Sn.isTemplate(e))return e;let n=Wx(t);for(let r in e){let i=e[r];if(r==="root"||Sn.isTemplate(i)){n[r]=i;continue}if(typeof i=="string"){n[r]=new Sn(i);continue}Ki(typeof i=="object"&&!Array.isArray(i),"Invalid message for",r);let s=r;n[s]=n[s]||{};for(r in i){let o=i[r];if(r==="root"||Sn.isTemplate(o)){n[s][r]=o;continue}Ki(typeof o=="string","Invalid message for",r,"in",s),n[s][r]=new Sn(o)}}return n}});var Je=g(Qe=>{"use strict";var vl=Re(),TP=rm(),SP=Ix(),um,cm,kP={isoDate:/^(?:[-+]\d{2})?(?:\d{4}(?!\d{2}\b))(?:(-?)(?:(?:0[1-9]|1[0-2])(?:\1(?:[12]\d|0[1-9]|3[01]))?|W(?:[0-4]\d|5[0-2])(?:-?[1-7])?|(?:00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[1-6])))(?![T]$|[T][\d]+Z$)(?:[T\s](?:(?:(?:[01]\d|2[0-3])(?:(:?)[0-5]\d)?|24\:?00)(?:[.,]\d+(?!:))?)(?:\2[0-5]\d(?:[.,]\d+)?)?(?:[Z]|(?:[+-])(?:[01]\d|2[0-3])(?::?[0-5]\d)?)?)?)?$/};Qe.version=SP.version;Qe.defaults={abortEarly:!0,allowUnknown:!1,artifacts:!1,cache:!0,context:null,convert:!0,dateFormat:"iso",errors:{escapeHtml:!1,label:"path",language:null,render:!0,stack:!1,wrap:{label:'"',array:"[]"}},externals:!0,messages:{},nonEnumerables:!1,noDefaults:!1,presence:"optional",skipFunctions:!1,stripUnknown:!1,warnings:!1};Qe.symbols={any:Symbol.for("@hapi/joi/schema"),arraySingle:Symbol("arraySingle"),deepDefault:Symbol("deepDefault"),errors:Symbol("errors"),literal:Symbol("literal"),override:Symbol("override"),parent:Symbol("parent"),prefs:Symbol("prefs"),ref:Symbol("ref"),template:Symbol("template"),values:Symbol("values")};Qe.assertOptions=function(t,e,n="Options"){vl(t&&typeof t=="object"&&!Array.isArray(t),"Options must be of type object");let r=Object.keys(t).filter(i=>!e.includes(i));vl(r.length===0,`${n} contain unknown keys: ${r}`)};Qe.checkPreferences=function(t){cm=cm||ml();let e=cm.preferences.validate(t);if(e.error)throw new TP([e.error.details[0].message])};Qe.compare=function(t,e,n){switch(n){case"=":return t===e;case">":return t>e;case"<":return t<e;case">=":return t>=e;case"<=":return t<=e}};Qe.default=function(t,e){return t===void 0?e:t};Qe.isIsoDate=function(t){return kP.isoDate.test(t)};Qe.isNumber=function(t){return typeof t=="number"&&!isNaN(t)};Qe.isResolvable=function(t){return t?t[Qe.symbols.ref]||t[Qe.symbols.template]:!1};Qe.isSchema=function(t,e={}){let n=t&&t[Qe.symbols.any];return n?(vl(e.legacy||n.version===Qe.version,"Cannot mix different versions of joi schemas"),!0):!1};Qe.isValues=function(t){return t[Qe.symbols.values]};Qe.limit=function(t){return Number.isSafeInteger(t)&&t>=0};Qe.preferences=function(t,e){um=um||Js(),t=t||{},e=e||{};let n=Object.assign({},t,e);return e.errors&&t.errors&&(n.errors=Object.assign({},t.errors,e.errors),n.errors.wrap=Object.assign({},t.errors.wrap,e.errors.wrap)),e.messages&&(n.messages=um.compile(e.messages,t.messages)),delete n[Qe.symbols.prefs],n};Qe.tryWithPath=function(t,e,n={}){try{return t()}catch(r){throw r.path!==void 0?r.path=e+"."+r.path:r.path=e,n.append&&(r.message=`${r.message} (${r.path})`),r}};Qe.validateArg=function(t,e,{assert:n,message:r}){if(Qe.isSchema(n)){let i=n.validate(t);return i.error?i.error.message:void 0}else if(!n(t))return e?`${e} ${r}`:r};Qe.verifyFlat=function(t,e){for(let n of t)vl(!Array.isArray(n),"Method no longer accepts array arguments:",e)}});var lm=g(Gx=>{"use strict";var xP=Re(),wP=en(),EP=Je(),Qs={max:1e3,supported:new Set(["undefined","boolean","number","string"])};Gx.provider={provision(t){return new Qs.Cache(t)}};Qs.Cache=class{constructor(t={}){EP.assertOptions(t,["max"]),xP(t.max===void 0||t.max&&t.max>0&&isFinite(t.max),"Invalid max cache size"),this._max=t.max||Qs.max,this._map=new Map,this._list=new Qs.List}get length(){return this._map.size}set(t,e){if(t!==null&&!Qs.supported.has(typeof t))return;let n=this._map.get(t);if(n){n.value=e,this._list.first(n);return}n=this._list.unshift({key:t,value:e}),this._map.set(t,n),this._compact()}get(t){let e=this._map.get(t);if(e)return this._list.first(e),wP(e.value)}_compact(){if(this._map.size>this._max){let t=this._list.pop();this._map.delete(t.key)}}};Qs.List=class{constructor(){this.tail=null,this.head=null}unshift(t){return t.next=null,t.prev=this.head,this.head&&(this.head.next=t),this.head=t,this.tail||(this.tail=t),t}first(t){t!==this.head&&(this._remove(t),this.unshift(t))}pop(){return this._remove(this.tail)}_remove(t){let{next:e,prev:n}=t;return e.prev=n,n&&(n.next=e),t===this.tail&&(this.tail=e),t.prev=null,t.next=null,t}}});var Xi=g(Lr=>{"use strict";var dt=Re(),kn=Je(),Zs=Mr(),jn={};Lr.schema=function(t,e,n={}){kn.assertOptions(n,["appendPath","override"]);try{return jn.schema(t,e,n)}catch(r){throw n.appendPath&&r.path!==void 0&&(r.message=`${r.message} (${r.path})`),r}};jn.schema=function(t,e,n){dt(e!==void 0,"Invalid undefined schema"),Array.isArray(e)&&(dt(e.length,"Invalid empty array schema"),e.length===1&&(e=e[0]));let r=(i,...s)=>n.override!==!1?i.valid(t.override,...s):i.valid(...s);if(jn.simple(e))return r(t,e);if(typeof e=="function")return t.custom(e);if(dt(typeof e=="object","Invalid schema content:",typeof e),kn.isResolvable(e))return r(t,e);if(kn.isSchema(e))return e;if(Array.isArray(e)){for(let i of e)if(!jn.simple(i))return t.alternatives().try(...e);return r(t,...e)}return e instanceof RegExp?t.string().regex(e):e instanceof Date?r(t.date(),e):(dt(Object.getPrototypeOf(e)===Object.getPrototypeOf({}),"Schema can only contain plain objects"),t.object().keys(e))};Lr.ref=function(t,e){return Zs.isRef(t)?t:Zs.create(t,e)};Lr.compile=function(t,e,n={}){kn.assertOptions(n,["legacy"]);let r=e&&e[kn.symbols.any];if(r)return dt(n.legacy||r.version===kn.version,"Cannot mix different versions of joi schemas:",r.version,kn.version),e;if(typeof e!="object"||!n.legacy)return Lr.schema(t,e,{appendPath:!0});let i=jn.walk(e);return i?i.compile(i.root,e):Lr.schema(t,e,{appendPath:!0})};jn.walk=function(t){if(typeof t!="object")return null;if(Array.isArray(t)){for(let n of t){let r=jn.walk(n);if(r)return r}return null}let e=t[kn.symbols.any];if(e)return{root:t[e.root],compile:e.compile};dt(Object.getPrototypeOf(t)===Object.getPrototypeOf({}),"Schema can only contain plain objects");for(let n in t){let r=jn.walk(t[n]);if(r)return r}return null};jn.simple=function(t){return t===null||["boolean","string","number"].includes(typeof t)};Lr.when=function(t,e,n){if(n===void 0&&(dt(e&&typeof e=="object","Missing options"),n=e,e=Zs.create(".")),Array.isArray(n)&&(n={switch:n}),kn.assertOptions(n,["is","not","then","otherwise","switch","break"]),kn.isSchema(e))return dt(n.is===void 0,'"is" can not be used with a schema condition'),dt(n.not===void 0,'"not" can not be used with a schema condition'),dt(n.switch===void 0,'"switch" can not be used with a schema condition'),jn.condition(t,{is:e,then:n.then,otherwise:n.otherwise,break:n.break});if(dt(Zs.isRef(e)||typeof e=="string","Invalid condition:",e),dt(n.not===void 0||n.is===void 0,'Cannot combine "is" with "not"'),n.switch===void 0){let i=n;n.not!==void 0&&(i={is:n.not,then:n.otherwise,otherwise:n.then,break:n.break});let s=i.is!==void 0?t.$_compile(i.is):t.$_root.invalid(null,!1,0,"").required();return dt(i.then!==void 0||i.otherwise!==void 0,'options must have at least one of "then", "otherwise", or "switch"'),dt(i.break===void 0||i.then===void 0||i.otherwise===void 0,"Cannot specify then, otherwise, and break all together"),n.is!==void 0&&!Zs.isRef(n.is)&&!kn.isSchema(n.is)&&(s=s.required()),jn.condition(t,{ref:Lr.ref(e),is:s,then:i.then,otherwise:i.otherwise,break:i.break})}dt(Array.isArray(n.switch),'"switch" must be an array'),dt(n.is===void 0,'Cannot combine "switch" with "is"'),dt(n.not===void 0,'Cannot combine "switch" with "not"'),dt(n.then===void 0,'Cannot combine "switch" with "then"');let r={ref:Lr.ref(e),switch:[],break:n.break};for(let i=0;i<n.switch.length;++i){let s=n.switch[i],o=i===n.switch.length-1;kn.assertOptions(s,o?["is","then","otherwise"]:["is","then"]),dt(s.is!==void 0,'Switch statement missing "is"'),dt(s.then!==void 0,'Switch statement missing "then"');let a={is:t.$_compile(s.is),then:t.$_compile(s.then)};if(!Zs.isRef(s.is)&&!kn.isSchema(s.is)&&(a.is=a.is.required()),o){dt(n.otherwise===void 0||s.otherwise===void 0,'Cannot specify "otherwise" inside and outside a "switch"');let u=n.otherwise!==void 0?n.otherwise:s.otherwise;u!==void 0&&(dt(r.break===void 0,"Cannot specify both otherwise and break"),a.otherwise=t.$_compile(u))}r.switch.push(a)}return r};jn.condition=function(t,e){for(let n of["then","otherwise"])e[n]===void 0?delete e[n]:e[n]=t.$_compile(e[n]);return e}});var dm=g(zx=>{"use strict";var mi=Re(),AP=en(),Vx=Je(),OP=Js(),gr={};zx.type=function(t,e){let n=Object.getPrototypeOf(t),r=AP(n),i=t._assign(Object.create(r)),s=Object.assign({},e);delete s.base,r._definition=s;let o=n._definition||{};s.messages=OP.merge(o.messages,s.messages),s.properties=Object.assign({},o.properties,s.properties),i.type=s.type,s.flags=Object.assign({},o.flags,s.flags);let a=Object.assign({},o.terms);if(s.terms)for(let d in s.terms){let p=s.terms[d];mi(i.$_terms[d]===void 0,"Invalid term override for",s.type,d),i.$_terms[d]=p.init,a[d]=p}s.terms=a,s.args||(s.args=o.args),s.prepare=gr.prepare(s.prepare,o.prepare),s.coerce&&(typeof s.coerce=="function"&&(s.coerce={method:s.coerce}),s.coerce.from&&!Array.isArray(s.coerce.from)&&(s.coerce={method:s.coerce.method,from:[].concat(s.coerce.from)})),s.coerce=gr.coerce(s.coerce,o.coerce),s.validate=gr.validate(s.validate,o.validate);let u=Object.assign({},o.rules);if(s.rules)for(let d in s.rules){let p=s.rules[d];mi(typeof p=="object","Invalid rule definition for",s.type,d);let b=p.method;if(b===void 0&&(b=function(){return this.$_addRule(d)}),b&&(mi(!r[d],"Rule conflict in",s.type,d),r[d]=b),mi(!u[d],"Rule conflict in",s.type,d),u[d]=p,p.alias){let T=[].concat(p.alias);for(let E of T)r[E]=p.method}p.args&&(p.argsByName=new Map,p.args=p.args.map(T=>(typeof T=="string"&&(T={name:T}),mi(!p.argsByName.has(T.name),"Duplicated argument name",T.name),Vx.isSchema(T.assert)&&(T.assert=T.assert.strict().label(T.name)),p.argsByName.set(T.name,T),T)))}s.rules=u;let c=Object.assign({},o.modifiers);if(s.modifiers)for(let d in s.modifiers){mi(!r[d],"Rule conflict in",s.type,d);let p=s.modifiers[d];mi(typeof p=="function","Invalid modifier definition for",s.type,d);let b=function(T){return this.rule({[d]:T})};r[d]=b,c[d]=p}if(s.modifiers=c,s.overrides){r._super=n,i.$_super={};for(let d in s.overrides)mi(n[d],"Cannot override missing",d),s.overrides[d][Vx.symbols.parent]=n[d],i.$_super[d]=n[d].bind(i);Object.assign(r,s.overrides)}s.cast=Object.assign({},o.cast,s.cast);let l=Object.assign({},o.manifest,s.manifest);return l.build=gr.build(s.manifest&&s.manifest.build,o.manifest&&o.manifest.build),s.manifest=l,s.rebuild=gr.rebuild(s.rebuild,o.rebuild),i};gr.build=function(t,e){return!t||!e?t||e:function(n,r){return e(t(n,r),r)}};gr.coerce=function(t,e){return!t||!e?t||e:{from:t.from&&e.from?[...new Set([...t.from,...e.from])]:null,method(n,r){let i;if((!e.from||e.from.includes(typeof n))&&(i=e.method(n,r),i)){if(i.errors||i.value===void 0)return i;n=i.value}if(!t.from||t.from.includes(typeof n)){let s=t.method(n,r);if(s)return s}return i}}};gr.prepare=function(t,e){return!t||!e?t||e:function(n,r){let i=t(n,r);if(i){if(i.errors||i.value===void 0)return i;n=i.value}return e(n,r)||i}};gr.rebuild=function(t,e){return!t||!e?t||e:function(n){e(n),t(n)}};gr.validate=function(t,e){return!t||!e?t||e:function(n,r){let i=e(n,r);if(i){if(i.errors&&(!Array.isArray(i.errors)||i.errors.length))return i;n=i.value}return t(n,r)||i}}});var hm=g(pm=>{"use strict";var mr=Re(),_l=en(),Yi=Je(),CP=Js(),Kx=Mr(),RP=gi(),fm,tn={};pm.describe=function(t){let e=t._definition,n={type:t.type,flags:{},rules:[]};for(let r in t._flags)r[0]!=="_"&&(n.flags[r]=tn.describe(t._flags[r]));Object.keys(n.flags).length||delete n.flags,t._preferences&&(n.preferences=_l(t._preferences,{shallow:["messages"]}),delete n.preferences[Yi.symbols.prefs],n.preferences.messages&&(n.preferences.messages=CP.decompile(n.preferences.messages))),t._valids&&(n.allow=t._valids.describe()),t._invalids&&(n.invalid=t._invalids.describe());for(let r of t._rules){if(e.rules[r.name].manifest===!1)continue;let s={name:r.name};for(let o in e.modifiers)r[o]!==void 0&&(s[o]=tn.describe(r[o]));if(r.args){s.args={};for(let o in r.args){let a=r.args[o];o==="options"&&!Object.keys(a).length||(s.args[o]=tn.describe(a,{assign:o}))}Object.keys(s.args).length||delete s.args}n.rules.push(s)}n.rules.length||delete n.rules;for(let r in t.$_terms){if(r[0]==="_")continue;mr(!n[r],"Cannot describe schema due to internal name conflict with",r);let i=t.$_terms[r];if(!i)continue;if(i instanceof Map){i.size&&(n[r]=[...i.entries()]);continue}if(Yi.isValues(i)){n[r]=i.describe();continue}mr(e.terms[r],"Term",r,"missing configuration");let s=e.terms[r].manifest,o=typeof s=="object";if(!i.length&&!o)continue;let a=[];for(let u of i)a.push(tn.describe(u));if(o){let{from:u,to:c}=s.mapped;n[r]={};for(let l of a)n[r][l[c]]=l[u];continue}if(s==="single"){mr(a.length===1,"Term",r,"contains more than one item"),n[r]=a[0];continue}n[r]=a}return tn.validate(t.$_root,n),n};tn.describe=function(t,e={}){if(Array.isArray(t))return t.map(tn.describe);if(t===Yi.symbols.deepDefault)return{special:"deep"};if(typeof t!="object"||t===null)return t;if(e.assign==="options")return _l(t);if(Buffer&&Buffer.isBuffer(t))return{buffer:t.toString("binary")};if(t instanceof Date)return t.toISOString();if(t instanceof Error)return t;if(t instanceof RegExp)return e.assign==="regex"?t.toString():{regex:t.toString()};if(t[Yi.symbols.literal])return{function:t.literal};if(typeof t.describe=="function")return e.assign==="ref"?t.describe().ref:t.describe();let n={};for(let r in t){let i=t[r];i!==void 0&&(n[r]=tn.describe(i,{assign:r}))}return n};pm.build=function(t,e){return new tn.Builder(t).parse(e)};tn.Builder=class{constructor(t){this.joi=t}parse(t){tn.validate(this.joi,t);let e=this.joi[t.type]()._bare(),n=e._definition;if(t.flags)for(let i in t.flags){let s=n.flags[i]&&n.flags[i].setter||i;mr(typeof e[s]=="function","Invalid flag",i,"for type",t.type),e=e[s](this.build(t.flags[i]))}if(t.preferences&&(e=e.preferences(this.build(t.preferences))),t.allow&&(e=e.allow(...this.build(t.allow))),t.invalid&&(e=e.invalid(...this.build(t.invalid))),t.rules)for(let i of t.rules){mr(typeof e[i.name]=="function","Invalid rule",i.name,"for type",t.type);let s=[];if(i.args){let a={};for(let l in i.args)a[l]=this.build(i.args[l],{assign:l});let u=Object.keys(a),c=n.rules[i.name].args;if(c){mr(u.length<=c.length,"Invalid number of arguments for",t.type,i.name,"(expected up to",c.length,", found",u.length,")");for(let{name:l}of c)s.push(a[l])}else mr(u.length===1,"Invalid number of arguments for",t.type,i.name,"(expected up to 1, found",u.length,")"),s.push(a[u[0]])}e=e[i.name](...s);let o={};for(let a in n.modifiers)i[a]!==void 0&&(o[a]=this.build(i[a]));Object.keys(o).length&&(e=e.rule(o))}let r={};for(let i in t){if(["allow","flags","invalid","whens","preferences","rules","type"].includes(i))continue;mr(n.terms[i],"Term",i,"missing configuration");let s=n.terms[i].manifest;if(s==="schema"){r[i]=t[i].map(o=>this.parse(o));continue}if(s==="values"){r[i]=t[i].map(o=>this.build(o));continue}if(s==="single"){r[i]=this.build(t[i]);continue}if(typeof s=="object"){r[i]={};for(let o in t[i]){let a=t[i][o];r[i][o]=this.parse(a)}continue}r[i]=this.build(t[i])}return t.whens&&(r.whens=t.whens.map(i=>this.build(i))),e=n.manifest.build(e,r),e.$_temp.ruleset=!1,e}build(t,e={}){if(t===null)return null;if(Array.isArray(t))return t.map(r=>this.build(r));if(t instanceof Error)return t;if(e.assign==="options")return _l(t);if(e.assign==="regex")return tn.regex(t);if(e.assign==="ref")return Kx.build(t);if(typeof t!="object")return t;if(Object.keys(t).length===1){if(t.buffer)return mr(Buffer,"Buffers are not supported"),Buffer&&Buffer.from(t.buffer,"binary");if(t.function)return{[Yi.symbols.literal]:!0,literal:t.function};if(t.override)return Yi.symbols.override;if(t.ref)return Kx.build(t.ref);if(t.regex)return tn.regex(t.regex);if(t.special)return mr(["deep"].includes(t.special),"Unknown special value",t.special),Yi.symbols.deepDefault;if(t.value)return _l(t.value)}if(t.type)return this.parse(t);if(t.template)return RP.build(t);let n={};for(let r in t)n[r]=this.build(t[r],{assign:r});return n}};tn.regex=function(t){let e=t.lastIndexOf("/"),n=t.slice(1,e),r=t.slice(e+1);return new RegExp(n,r)};tn.validate=function(t,e){fm=fm||ml(),t.assert(e,fm.description)}});var xa=g((aB,Xx)=>{"use strict";var yr=sm(),Vt={mismatched:null};Xx.exports=function(t,e,n){return n=Object.assign({prototype:!0},n),!!Vt.isDeepEqual(t,e,n,[])};Vt.isDeepEqual=function(t,e,n,r){if(t===e)return t!==0||1/t===1/e;let i=typeof t;if(i!==typeof e||t===null||e===null)return!1;if(i==="function"){if(!n.deepFunction||t.toString()!==e.toString())return!1}else if(i!=="object")return t!==t&&e!==e;let s=Vt.getSharedType(t,e,!!n.prototype);switch(s){case yr.buffer:return Buffer&&Buffer.prototype.equals.call(t,e);case yr.promise:return t===e;case yr.regex:return t.toString()===e.toString();case Vt.mismatched:return!1}for(let o=r.length-1;o>=0;--o)if(r[o].isSame(t,e))return!0;r.push(new Vt.SeenEntry(t,e));try{return!!Vt.isDeepEqualObj(s,t,e,n,r)}finally{r.pop()}};Vt.getSharedType=function(t,e,n){if(n)return Object.getPrototypeOf(t)!==Object.getPrototypeOf(e)?Vt.mismatched:yr.getInternalProto(t);let r=yr.getInternalProto(t);return r!==yr.getInternalProto(e)?Vt.mismatched:r};Vt.valueOf=function(t){let e=t.valueOf;if(e===void 0)return t;try{return e.call(t)}catch(n){return n}};Vt.hasOwnEnumerableProperty=function(t,e){return Object.prototype.propertyIsEnumerable.call(t,e)};Vt.isSetSimpleEqual=function(t,e){for(let n of Set.prototype.values.call(t))if(!Set.prototype.has.call(e,n))return!1;return!0};Vt.isDeepEqualObj=function(t,e,n,r,i){let{isDeepEqual:s,valueOf:o,hasOwnEnumerableProperty:a}=Vt,{keys:u,getOwnPropertySymbols:c}=Object;if(t===yr.array)if(r.part){for(let T of e)for(let E of n)if(s(T,E,r,i))return!0}else{if(e.length!==n.length)return!1;for(let T=0;T<e.length;++T)if(!s(e[T],n[T],r,i))return!1;return!0}else if(t===yr.set){if(e.size!==n.size)return!1;if(!Vt.isSetSimpleEqual(e,n)){let T=new Set(Set.prototype.values.call(n));for(let E of Set.prototype.values.call(e)){if(T.delete(E))continue;let L=!1;for(let M of T)if(s(E,M,r,i)){T.delete(M),L=!0;break}if(!L)return!1}}}else if(t===yr.map){if(e.size!==n.size)return!1;for(let[T,E]of Map.prototype.entries.call(e))if(E===void 0&&!Map.prototype.has.call(n,T)||!s(E,Map.prototype.get.call(n,T),r,i))return!1}else if(t===yr.error&&(e.name!==n.name||e.message!==n.message))return!1;let l=o(e),d=o(n);if((e!==l||n!==d)&&!s(l,d,r,i))return!1;let p=u(e);if(!r.part&&p.length!==u(n).length&&!r.skip)return!1;let b=0;for(let T of p){if(r.skip&&r.skip.includes(T)){n[T]===void 0&&++b;continue}if(!a(n,T)||!s(e[T],n[T],r,i))return!1}if(!r.part&&p.length-b!==u(n).length)return!1;if(r.symbols!==!1){let T=c(e),E=new Set(c(n));for(let L of T){if(!r.skip||!r.skip.includes(L)){if(a(e,L)){if(!a(n,L)||!s(e[L],n[L],r,i))return!1}else if(a(n,L))return!1}E.delete(L)}for(let L of E)if(a(n,L))return!1}return!0};Vt.SeenEntry=class{constructor(t,e){this.obj=t,this.ref=e}isSame(t,e){return this.obj===t&&this.ref===e}}});var Jx=g(Yx=>{"use strict";Yx.location=function(t=0){let e=Error.prepareStackTrace;Error.prepareStackTrace=(i,s)=>s;let n={};Error.captureStackTrace(n,this);let r=n.stack[t+1];return Error.prepareStackTrace=e,{filename:r.getFileName(),line:r.getLineNumber()}}});var mm=g(gm=>{"use strict";var Qx=xa(),Zx=Jx(),DP=Ir(),zt={codes:{error:1,pass:2,full:3},labels:{0:"never used",1:"always error",2:"always pass"}};gm.setup=function(t){let e=function(){return t._tracer=t._tracer||new zt.Tracer,t._tracer};t.trace=e,t[Symbol.for("@hapi/lab/coverage/initialize")]=e,t.untrace=()=>{t._tracer=null}};gm.location=function(t){return t.$_setFlag("_tracerLocation",Zx.location(2))};zt.Tracer=class{constructor(){this.name="Joi",this._schemas=new Map}_register(t){let e=this._schemas.get(t);if(e)return e.store;let n=new zt.Store(t),{filename:r,line:i}=t._flags._tracerLocation||Zx.location(5);return this._schemas.set(t,{filename:r,line:i,store:n}),n}_combine(t,e){for(let{store:n}of this._schemas.values())n._combine(t,e)}report(t){let e=[];for(let{filename:n,line:r,store:i}of this._schemas.values()){if(t&&t!==n)continue;let s=[],o=[];for(let[a,u]of i._sources.entries()){if(zt.sub(u.paths,o))continue;if(!u.entry){s.push({status:"never reached",paths:[...u.paths]}),o.push(...u.paths);continue}for(let l of["valid","invalid"]){let d=a[`_${l}s`];if(!d)continue;let p=new Set(d._values),b=new Set(d._refs);for(let{value:T,ref:E}of u[l])p.delete(T),b.delete(E);(p.size||b.size)&&s.push({status:[...p,...[...b].map(T=>T.display)],rule:`${l}s`})}let c=a._rules.map(l=>l.name);for(let l of["default","failover"])a._flags[l]!==void 0&&c.push(l);for(let l of c){let d=zt.labels[u.rule[l]||0];if(d){let p={rule:l,status:d};u.paths.size&&(p.paths=[...u.paths]),s.push(p)}}}s.length&&e.push({filename:n,line:r,missing:s,severity:"error",message:`Schema missing tests for ${s.map(zt.message).join(", ")}`})}return e.length?e:null}};zt.Store=class{constructor(t){this.active=!0,this._sources=new Map,this._combos=new Map,this._scan(t)}debug(t,e,n,r){t.mainstay.debug&&t.mainstay.debug.push({type:e,name:n,result:r,path:t.path})}entry(t,e){zt.debug(e,{type:"entry"}),this._record(t,n=>{n.entry=!0})}filter(t,e,n,r){zt.debug(e,{type:n,...r}),this._record(t,i=>{i[n].add(r)})}log(t,e,n,r,i){zt.debug(e,{type:n,name:r,result:i==="full"?"pass":i}),this._record(t,s=>{s[n][r]=s[n][r]||0,s[n][r]|=zt.codes[i]})}resolve(t,e,n){if(!t.mainstay.debug)return;let r={type:"resolve",ref:e.display,to:n,path:t.path};t.mainstay.debug.push(r)}value(t,e,n,r,i){if(!t.mainstay.debug||Qx(n,r))return;let s={type:"value",by:e,from:n,to:r,path:t.path};i&&(s.name=i),t.mainstay.debug.push(s)}_record(t,e){let n=this._sources.get(t);if(n){e(n);return}let r=this._combos.get(t);for(let i of r)this._record(i,e)}_scan(t,e){let n=e||[],r=this._sources.get(t);r||(r={paths:new Set,entry:!1,rule:{},valid:new Set,invalid:new Set},this._sources.set(t,r)),n.length&&r.paths.add(n);let i=(s,o)=>{let a=zt.id(s,o);this._scan(s,n.concat(a))};t.$_modify({each:i,ref:!1})}_combine(t,e){this._combos.set(t,e)}};zt.message=function(t){return`${t.paths?DP.path(t.paths[0])+(t.rule?":":""):""}${t.rule||""} (${t.status})`};zt.id=function(t,{source:e,name:n,path:r,key:i}){return t._flags.id?t._flags.id:i||(n=`@${n}`,e==="terms"?[n,r[Math.min(r.length-1,1)]]:n)};zt.sub=function(t,e){for(let n of t)for(let r of e)if(Qx(n.slice(0,r.length),r))return!0;return!1};zt.debug=function(t,e){t.mainstay.debug&&(e.path=t.debug?[...t.path,t.debug]:t.path,t.mainstay.debug.push(e))}});var Tl=g((pB,nw)=>{"use strict";var ym=Re(),ew=en(),PP=om(),tw={};nw.exports=tw.merge=function(t,e,n){if(ym(t&&typeof t=="object","Invalid target value: must be an object"),ym(e==null||typeof e=="object","Invalid source value: must be null, undefined, or an object"),!e)return t;if(n=Object.assign({nullOverride:!0,mergeArrays:!0},n),Array.isArray(e)){ym(Array.isArray(t),"Cannot merge array onto an object"),n.mergeArrays||(t.length=0);for(let i=0;i<e.length;++i)t.push(ew(e[i],{symbols:n.symbols}));return t}let r=PP.keys(e,n);for(let i=0;i<r.length;++i){let s=r[i];if(s==="__proto__"||!Object.prototype.propertyIsEnumerable.call(e,s))continue;let o=e[s];if(o&&typeof o=="object"){if(t[s]===o)continue;!t[s]||typeof t[s]!="object"||Array.isArray(t[s])!==Array.isArray(o)||o instanceof Date||Buffer&&Buffer.isBuffer(o)||o instanceof RegExp?t[s]=ew(o,{symbols:n.symbols}):tw.merge(t[s],o,n)}else(o!=null||n.nullOverride)&&(t[s]=o)}return t}});var rw=g(Sl=>{"use strict";var Nr=Re(),bm=Je(),IP=Mr(),br={};Sl.Ids=br.Ids=class{constructor(){this._byId=new Map,this._byKey=new Map,this._schemaChain=!1}clone(){let t=new br.Ids;return t._byId=new Map(this._byId),t._byKey=new Map(this._byKey),t._schemaChain=this._schemaChain,t}concat(t){t._schemaChain&&(this._schemaChain=!0);for(let[e,n]of t._byId.entries())Nr(!this._byKey.has(e),"Schema id conflicts with existing key:",e),this._byId.set(e,n);for(let[e,n]of t._byKey.entries())Nr(!this._byId.has(e),"Schema key conflicts with existing id:",e),this._byKey.set(e,n)}fork(t,e,n){let r=this._collect(t);r.push({schema:n});let i=r.shift(),s={id:i.id,schema:e(i.schema)};Nr(bm.isSchema(s.schema),"adjuster function failed to return a joi schema type");for(let o of r)s={id:o.id,schema:br.fork(o.schema,s.id,s.schema)};return s.schema}labels(t,e=[]){let n=t[0],r=this._get(n);if(!r)return[...e,...t].join(".");let i=t.slice(1);return e=[...e,r.schema._flags.label||n],i.length?r.schema._ids.labels(i,e):e.join(".")}reach(t,e=[]){let n=t[0],r=this._get(n);Nr(r,"Schema does not contain path",[...e,...t].join("."));let i=t.slice(1);return i.length?r.schema._ids.reach(i,[...e,n]):r.schema}register(t,{key:e}={}){if(!t||!bm.isSchema(t))return;(t.$_property("schemaChain")||t._ids._schemaChain)&&(this._schemaChain=!0);let n=t._flags.id;if(n){let r=this._byId.get(n);Nr(!r||r.schema===t,"Cannot add different schemas with the same id:",n),Nr(!this._byKey.has(n),"Schema id conflicts with existing key:",n),this._byId.set(n,{schema:t,id:n})}e&&(Nr(!this._byKey.has(e),"Schema already contains key:",e),Nr(!this._byId.has(e),"Schema key conflicts with existing id:",e),this._byKey.set(e,{schema:t,id:e}))}reset(){this._byId=new Map,this._byKey=new Map,this._schemaChain=!1}_collect(t,e=[],n=[]){let r=t[0],i=this._get(r);Nr(i,"Schema does not contain path",[...e,...t].join(".")),n=[i,...n];let s=t.slice(1);return s.length?i.schema._ids._collect(s,[...e,r],n):n}_get(t){return this._byId.get(t)||this._byKey.get(t)}};br.fork=function(t,e,n){let r=(s,{key:o})=>{if(e===(s._flags.id||o))return n},i=Sl.schema(t,{each:r,ref:!1});return i?i.$_mutateRebuild():t};Sl.schema=function(t,e){let n;for(let r in t._flags){if(r[0]==="_")continue;let i=br.scan(t._flags[r],{source:"flags",name:r},e);i!==void 0&&(n=n||t.clone(),n._flags[r]=i)}for(let r=0;r<t._rules.length;++r){let i=t._rules[r],s=br.scan(i.args,{source:"rules",name:i.name},e);if(s!==void 0){n=n||t.clone();let o=Object.assign({},i);o.args=s,n._rules[r]=o,n._singleRules.get(i.name)===i&&n._singleRules.set(i.name,o)}}for(let r in t.$_terms){if(r[0]==="_")continue;let i=br.scan(t.$_terms[r],{source:"terms",name:r},e);i!==void 0&&(n=n||t.clone(),n.$_terms[r]=i)}return n};br.scan=function(t,e,n,r,i){let s=r||[];if(t===null||typeof t!="object")return;let o;if(Array.isArray(t)){for(let a=0;a<t.length;++a){let u=e.source==="terms"&&e.name==="keys"&&t[a].key,c=br.scan(t[a],e,n,[a,...s],u);c!==void 0&&(o=o||t.slice(),o[a]=c)}return o}if(n.schema!==!1&&bm.isSchema(t)||n.ref!==!1&&IP.isRef(t)){let a=n.each(t,{...e,path:s,key:i});return a===t?void 0:a}for(let a in t){if(a[0]==="_")continue;let u=br.scan(t[a],e,n,[a,...s],i);u!==void 0&&(o=o||Object.assign({},t),o[a]=u)}return o}});var sw=g((mB,iw)=>{"use strict";iw.exports=function(){}});var uw=g((yB,aw)=>{"use strict";var MP=en(),ow=Vi(),LP=Je(),vr={value:Symbol("value")};aw.exports=vr.State=class{constructor(t,e,n){this.path=t,this.ancestors=e,this.mainstay=n.mainstay,this.schemas=n.schemas,this.debug=null}localize(t,e=null,n=null){let r=new vr.State(t,e,this);return n&&r.schemas&&(r.schemas=[vr.schemas(n),...r.schemas]),r}nest(t,e){let n=new vr.State(this.path,this.ancestors,this);return n.schemas=n.schemas&&[vr.schemas(t),...n.schemas],n.debug=e,n}shadow(t,e){this.mainstay.shadow=this.mainstay.shadow||new vr.Shadow,this.mainstay.shadow.set(this.path,t,e)}snapshot(){this.mainstay.shadow&&(this._snapshot=MP(this.mainstay.shadow.node(this.path))),this.mainstay.snapshot()}restore(){this.mainstay.shadow&&(this.mainstay.shadow.override(this.path,this._snapshot),this._snapshot=void 0),this.mainstay.restore()}commit(){this.mainstay.shadow&&(this.mainstay.shadow.override(this.path,this._snapshot),this._snapshot=void 0),this.mainstay.commit()}};vr.schemas=function(t){return LP.isSchema(t)?{schema:t}:t};vr.Shadow=class{constructor(){this._values=null}set(t,e,n){if(!t.length||n==="strip"&&typeof t[t.length-1]=="number")return;this._values=this._values||new Map;let r=this._values;for(let i=0;i<t.length;++i){let s=t[i],o=r.get(s);o||(o=new Map,r.set(s,o)),r=o}r[vr.value]=e}get(t){let e=this.node(t);if(e)return e[vr.value]}node(t){if(this._values)return ow(this._values,t,{iterables:!0})}override(t,e){if(!this._values)return;let n=t.slice(0,-1),r=t[t.length-1],i=ow(this._values,n,{iterables:!0});if(e){i.set(r,e);return}i&&i.delete(r)}}});var lw=g(Ea=>{"use strict";var wa=Re(),cw=en(),eo=sw(),NP=Vi(),At=Je(),yi=Ir(),qP=uw(),_e={result:Symbol("result")};Ea.entry=function(t,e,n){let r=At.defaults;n&&(wa(n.warnings===void 0,"Cannot override warnings preference in synchronous validation"),wa(n.artifacts===void 0,"Cannot override artifacts preference in synchronous validation"),r=At.preferences(At.defaults,n));let i=_e.entry(t,e,r);wa(!i.mainstay.externals.length,"Schema with external rules must use validateAsync()");let s={value:i.value};return i.error&&(s.error=i.error),i.mainstay.warnings.length&&(s.warning=yi.details(i.mainstay.warnings)),i.mainstay.debug&&(s.debug=i.mainstay.debug),i.mainstay.artifacts&&(s.artifacts=i.mainstay.artifacts),s};Ea.entryAsync=async function(t,e,n){let r=At.defaults;n&&(r=At.preferences(At.defaults,n));let i=_e.entry(t,e,r),s=i.mainstay;if(i.error)throw s.debug&&(i.error.debug=s.debug),i.error;if(s.externals.length){let a=i.value,u=[];for(let c of s.externals){let l=c.state.path,d=c.schema.type==="link"?s.links.get(c.schema):null,p=a,b,T,E=l.length?[a]:[],L=l.length?NP(t,l):t;if(l.length){b=l[l.length-1];let M=a;for(let x of l.slice(0,-1))M=M[x],E.unshift(M);T=E[0],p=T[b]}try{let M=(k,v)=>(d||c.schema).$_createError(k,p,v,c.state,r),x=await c.method(p,{schema:c.schema,linked:d,state:c.state,prefs:n,original:L,error:M,errorsArray:_e.errorsArray,warn:(k,v)=>s.warnings.push((d||c.schema).$_createError(k,p,v,c.state,r)),message:(k,v)=>(d||c.schema).$_createError("external",p,v,c.state,r,{messages:k})});if(x===void 0||x===p)continue;if(x instanceof yi.Report){if(s.tracer.log(c.schema,c.state,"rule","external","error"),u.push(x),r.abortEarly)break;continue}if(Array.isArray(x)&&x[At.symbols.errors]){if(s.tracer.log(c.schema,c.state,"rule","external","error"),u.push(...x),r.abortEarly)break;continue}T?(s.tracer.value(c.state,"rule",p,x,"external"),T[b]=x):(s.tracer.value(c.state,"rule",a,x,"external"),a=x)}catch(M){throw r.errors.label&&(M.message+=` (${c.label})`),M}}if(i.value=a,u.length)throw i.error=yi.process(u,t,r),s.debug&&(i.error.debug=s.debug),i.error}if(!r.warnings&&!r.debug&&!r.artifacts)return i.value;let o={value:i.value};return s.warnings.length&&(o.warning=yi.details(s.warnings)),s.debug&&(o.debug=s.debug),s.artifacts&&(o.artifacts=s.artifacts),o};_e.Mainstay=class{constructor(t,e,n){this.externals=[],this.warnings=[],this.tracer=t,this.debug=e,this.links=n,this.shadow=null,this.artifacts=null,this._snapshots=[]}snapshot(){this._snapshots.push({externals:this.externals.slice(),warnings:this.warnings.slice()})}restore(){let t=this._snapshots.pop();this.externals=t.externals,this.warnings=t.warnings}commit(){this._snapshots.pop()}};_e.entry=function(t,e,n){let{tracer:r,cleanup:i}=_e.tracer(e,n),s=n.debug?[]:null,o=e._ids._schemaChain?new Map:null,a=new _e.Mainstay(r,s,o),u=e._ids._schemaChain?[{schema:e}]:null,c=new qP([],[],{mainstay:a,schemas:u}),l=Ea.validate(t,e,c,n);i&&e.$_root.untrace();let d=yi.process(l.errors,t,n);return{value:l.value,error:d,mainstay:a}};_e.tracer=function(t,e){return t.$_root._tracer?{tracer:t.$_root._tracer._register(t)}:e.debug?(wa(t.$_root.trace,"Debug mode not supported"),{tracer:t.$_root.trace()._register(t),cleanup:!0}):{tracer:_e.ignore}};Ea.validate=function(t,e,n,r,i={}){if(e.$_terms.whens&&(e=e._generate(t,n,r).schema),e._preferences&&(r=_e.prefs(e,r)),e._cache&&r.cache){let d=e._cache.get(t);if(n.mainstay.tracer.debug(n,"validate","cached",!!d),d)return d}let s=(d,p,b)=>e.$_createError(d,t,p,b||n,r),o={original:t,prefs:r,schema:e,state:n,error:s,errorsArray:_e.errorsArray,warn:(d,p,b)=>n.mainstay.warnings.push(s(d,p,b)),message:(d,p)=>e.$_createError("custom",t,p,n,r,{messages:d})};n.mainstay.tracer.entry(e,n);let a=e._definition;if(a.prepare&&t!==void 0&&r.convert){let d=a.prepare(t,o);if(d){if(n.mainstay.tracer.value(n,"prepare",t,d.value),d.errors)return _e.finalize(d.value,[].concat(d.errors),o);t=d.value}}if(a.coerce&&t!==void 0&&r.convert&&(!a.coerce.from||a.coerce.from.includes(typeof t))){let d=a.coerce.method(t,o);if(d){if(n.mainstay.tracer.value(n,"coerced",t,d.value),d.errors)return _e.finalize(d.value,[].concat(d.errors),o);t=d.value}}let u=e._flags.empty;u&&u.$_match(_e.trim(t,e),n.nest(u),At.defaults)&&(n.mainstay.tracer.value(n,"empty",t,void 0),t=void 0);let c=i.presence||e._flags.presence||(e._flags._endedSwitch?null:r.presence);if(t===void 0){if(c==="forbidden")return _e.finalize(t,null,o);if(c==="required")return _e.finalize(t,[e.$_createError("any.required",t,null,n,r)],o);if(c==="optional"){if(e._flags.default!==At.symbols.deepDefault)return _e.finalize(t,null,o);n.mainstay.tracer.value(n,"default",t,{}),t={}}}else if(c==="forbidden")return _e.finalize(t,[e.$_createError("any.unknown",t,null,n,r)],o);let l=[];if(e._valids){let d=e._valids.get(t,n,r,e._flags.insensitive);if(d)return r.convert&&(n.mainstay.tracer.value(n,"valids",t,d.value),t=d.value),n.mainstay.tracer.filter(e,n,"valid",d),_e.finalize(t,null,o);if(e._flags.only){let p=e.$_createError("any.only",t,{valids:e._valids.values({display:!0})},n,r);if(r.abortEarly)return _e.finalize(t,[p],o);l.push(p)}}if(e._invalids){let d=e._invalids.get(t,n,r,e._flags.insensitive);if(d){n.mainstay.tracer.filter(e,n,"invalid",d);let p=e.$_createError("any.invalid",t,{invalids:e._invalids.values({display:!0})},n,r);if(r.abortEarly)return _e.finalize(t,[p],o);l.push(p)}}if(a.validate){let d=a.validate(t,o);if(d&&(n.mainstay.tracer.value(n,"base",t,d.value),t=d.value,d.errors)){if(!Array.isArray(d.errors))return l.push(d.errors),_e.finalize(t,l,o);if(d.errors.length)return l.push(...d.errors),_e.finalize(t,l,o)}}return e._rules.length?_e.rules(t,l,o):_e.finalize(t,l,o)};_e.rules=function(t,e,n){let{schema:r,state:i,prefs:s}=n;for(let o of r._rules){let a=r._definition.rules[o.method];if(a.convert&&s.convert){i.mainstay.tracer.log(r,i,"rule",o.name,"full");continue}let u,c=o.args;if(o._resolve.length){c=Object.assign({},c);for(let d of o._resolve){let p=a.argsByName.get(d),b=c[d].resolve(t,i,s),T=p.normalize?p.normalize(b):b,E=At.validateArg(T,null,p);if(E){u=r.$_createError("any.ref",b,{arg:d,ref:c[d],reason:E},i,s);break}c[d]=T}}u=u||a.validate(t,n,c,o);let l=_e.rule(u,o);if(l.errors){if(i.mainstay.tracer.log(r,i,"rule",o.name,"error"),o.warn){i.mainstay.warnings.push(...l.errors);continue}if(s.abortEarly)return _e.finalize(t,l.errors,n);e.push(...l.errors)}else i.mainstay.tracer.log(r,i,"rule",o.name,"pass"),i.mainstay.tracer.value(i,"rule",t,l.value,o.name),t=l.value}return _e.finalize(t,e,n)};_e.rule=function(t,e){return t instanceof yi.Report?(_e.error(t,e),{errors:[t],value:null}):Array.isArray(t)&&t[At.symbols.errors]?(t.forEach(n=>_e.error(n,e)),{errors:t,value:null}):{errors:null,value:t}};_e.error=function(t,e){return e.message&&t._setTemplate(e.message),t};_e.finalize=function(t,e,n){e=e||[];let{schema:r,state:i,prefs:s}=n;if(e.length){let a=_e.default("failover",void 0,e,n);a!==void 0&&(i.mainstay.tracer.value(i,"failover",t,a),t=a,e=[])}if(e.length&&r._flags.error)if(typeof r._flags.error=="function"){e=r._flags.error(e),Array.isArray(e)||(e=[e]);for(let a of e)wa(a instanceof Error||a instanceof yi.Report,"error() must return an Error object")}else e=[r._flags.error];if(t===void 0){let a=_e.default("default",t,e,n);i.mainstay.tracer.value(i,"default",t,a),t=a}if(r._flags.cast&&t!==void 0){let a=r._definition.cast[r._flags.cast];if(a.from(t)){let u=a.to(t,n);i.mainstay.tracer.value(i,"cast",t,u,r._flags.cast),t=u}}if(r.$_terms.externals&&s.externals&&s._externals!==!1)for(let{method:a}of r.$_terms.externals)i.mainstay.externals.push({method:a,schema:r,state:i,label:yi.label(r._flags,i,s)});let o={value:t,errors:e.length?e:null};return r._flags.result&&(o.value=r._flags.result==="strip"?void 0:n.original,i.mainstay.tracer.value(i,r._flags.result,t,o.value),i.shadow(t,r._flags.result)),r._cache&&s.cache!==!1&&!r._refs.length&&r._cache.set(n.original,o),t!==void 0&&!o.errors&&r._flags.artifact!==void 0&&(i.mainstay.artifacts=i.mainstay.artifacts||new Map,i.mainstay.artifacts.has(r._flags.artifact)||i.mainstay.artifacts.set(r._flags.artifact,[]),i.mainstay.artifacts.get(r._flags.artifact).push(i.path)),o};_e.prefs=function(t,e){let n=e===At.defaults;return n&&t._preferences[At.symbols.prefs]?t._preferences[At.symbols.prefs]:(e=At.preferences(e,t._preferences),n&&(t._preferences[At.symbols.prefs]=e),e)};_e.default=function(t,e,n,r){let{schema:i,state:s,prefs:o}=r,a=i._flags[t];if(o.noDefaults||a===void 0)return e;if(s.mainstay.tracer.log(i,s,"rule",t,"full"),!a)return a;if(typeof a=="function"){let u=a.length?[cw(s.ancestors[0]),r]:[];try{return a(...u)}catch(c){n.push(i.$_createError(`any.${t}`,null,{error:c},s,o));return}}return typeof a!="object"?a:a[At.symbols.literal]?a.literal:At.isResolvable(a)?a.resolve(e,s,o):cw(a)};_e.trim=function(t,e){if(typeof t!="string")return t;let n=e.$_getRule("trim");return!n||!n.args.enabled?t:t.trim()};_e.ignore={active:!1,debug:eo,entry:eo,filter:eo,log:eo,resolve:eo,value:eo};_e.errorsArray=function(){let t=[];return t[At.symbols.errors]=!0,t}});var _m=g((SB,fw)=>{"use strict";var jP=Re(),dw=xa(),vm=Je(),qr={};fw.exports=qr.Values=class{constructor(t,e){this._values=new Set(t),this._refs=new Set(e),this._lowercase=qr.lowercases(t),this._override=!1}get length(){return this._values.size+this._refs.size}add(t,e){if(vm.isResolvable(t)){this._refs.has(t)||(this._refs.add(t),e&&e.register(t));return}this.has(t,null,null,!1)||(this._values.add(t),typeof t=="string"&&this._lowercase.set(t.toLowerCase(),t))}static merge(t,e,n){if(t=t||new qr.Values,e){if(e._override)return e.clone();for(let r of[...e._values,...e._refs])t.add(r)}if(n)for(let r of[...n._values,...n._refs])t.remove(r);return t.length?t:null}remove(t){if(vm.isResolvable(t)){this._refs.delete(t);return}this._values.delete(t),typeof t=="string"&&this._lowercase.delete(t.toLowerCase())}has(t,e,n,r){return!!this.get(t,e,n,r)}get(t,e,n,r){if(!this.length)return!1;if(this._values.has(t))return{value:t};if(typeof t=="string"&&t&&r){let i=this._lowercase.get(t.toLowerCase());if(i)return{value:i}}if(!this._refs.size&&typeof t!="object")return!1;if(typeof t=="object"){for(let i of this._values)if(dw(i,t))return{value:i}}if(e)for(let i of this._refs){let s=i.resolve(t,e,n,null,{in:!0});if(s===void 0)continue;let o=!i.in||typeof s!="object"?[s]:Array.isArray(s)?s:Object.keys(s);for(let a of o)if(typeof a==typeof t){if(r&&t&&typeof t=="string"){if(a.toLowerCase()===t.toLowerCase())return{value:a,ref:i}}else if(dw(a,t))return{value:a,ref:i}}}return!1}override(){this._override=!0}values(t){if(t&&t.display){let e=[];for(let n of[...this._values,...this._refs])n!==void 0&&e.push(n);return e}return Array.from([...this._values,...this._refs])}clone(){let t=new qr.Values(this._values,this._refs);return t._override=this._override,t}concat(t){jP(!t._override,"Cannot concat override set of values");let e=new qr.Values([...this._values,...t._values],[...this._refs,...t._refs]);return e._override=this._override,e}describe(){let t=[];this._override&&t.push({override:!0});for(let e of this._values.values())t.push(e&&typeof e=="object"?{value:e}:e);for(let e of this._refs.values())t.push(e.describe());return t}};qr.Values.prototype[vm.symbols.values]=!0;qr.Values.prototype.slice=qr.Values.prototype.clone;qr.lowercases=function(t){let e=new Map;if(t)for(let n of t)typeof n=="string"&&e.set(n.toLowerCase(),n);return e}});var _w=g((xB,vw)=>{"use strict";var ee=Re(),pw=en(),hw=xa(),Tm=Tl(),FP=lm(),yt=Je(),Sm=Xi(),$P=Ir(),BP=dm(),gw=hm(),UP=Js(),mw=rw(),yw=Mr(),bw=mm(),kl=lw(),xl=_m(),It={};It.Base=class{constructor(t){this.type=t,this.$_root=null,this._definition={},this._reset()}_reset(){this._ids=new mw.Ids,this._preferences=null,this._refs=new yw.Manager,this._cache=null,this._valids=null,this._invalids=null,this._flags={},this._rules=[],this._singleRules=new Map,this.$_terms={},this.$_temp={ruleset:null,whens:{}}}describe(){return ee(typeof gw.describe=="function","Manifest functionality disabled"),gw.describe(this)}allow(...t){return yt.verifyFlat(t,"allow"),this._values(t,"_valids")}alter(t){ee(t&&typeof t=="object"&&!Array.isArray(t),"Invalid targets argument"),ee(!this._inRuleset(),"Cannot set alterations inside a ruleset");let e=this.clone();e.$_terms.alterations=e.$_terms.alterations||[];for(let n in t){let r=t[n];ee(typeof r=="function","Alteration adjuster for",n,"must be a function"),e.$_terms.alterations.push({target:n,adjuster:r})}return e.$_temp.ruleset=!1,e}artifact(t){return ee(t!==void 0,"Artifact cannot be undefined"),ee(!this._cache,"Cannot set an artifact with a rule cache"),this.$_setFlag("artifact",t)}cast(t){return ee(t===!1||typeof t=="string","Invalid to value"),ee(t===!1||this._definition.cast[t],"Type",this.type,"does not support casting to",t),this.$_setFlag("cast",t===!1?void 0:t)}default(t,e){return this._default("default",t,e)}description(t){return ee(t&&typeof t=="string","Description must be a non-empty string"),this.$_setFlag("description",t)}empty(t){let e=this.clone();return t!==void 0&&(t=e.$_compile(t,{override:!1})),e.$_setFlag("empty",t,{clone:!1})}error(t){return ee(t,"Missing error"),ee(t instanceof Error||typeof t=="function","Must provide a valid Error object or a function"),this.$_setFlag("error",t)}example(t,e={}){return ee(t!==void 0,"Missing example"),yt.assertOptions(e,["override"]),this._inner("examples",t,{single:!0,override:e.override})}external(t,e){return typeof t=="object"&&(ee(!e,"Cannot combine options with description"),e=t.description,t=t.method),ee(typeof t=="function","Method must be a function"),ee(e===void 0||e&&typeof e=="string","Description must be a non-empty string"),this._inner("externals",{method:t,description:e},{single:!0})}failover(t,e){return this._default("failover",t,e)}forbidden(){return this.presence("forbidden")}id(t){return t?(ee(typeof t=="string","id must be a non-empty string"),ee(/^[^\.]+$/.test(t),"id cannot contain period character"),this.$_setFlag("id",t)):this.$_setFlag("id",void 0)}invalid(...t){return this._values(t,"_invalids")}label(t){return ee(t&&typeof t=="string","Label name must be a non-empty string"),this.$_setFlag("label",t)}meta(t){return ee(t!==void 0,"Meta cannot be undefined"),this._inner("metas",t,{single:!0})}note(...t){ee(t.length,"Missing notes");for(let e of t)ee(e&&typeof e=="string","Notes must be non-empty strings");return this._inner("notes",t)}only(t=!0){return ee(typeof t=="boolean","Invalid mode:",t),this.$_setFlag("only",t)}optional(){return this.presence("optional")}prefs(t){ee(t,"Missing preferences"),ee(t.context===void 0,"Cannot override context"),ee(t.externals===void 0,"Cannot override externals"),ee(t.warnings===void 0,"Cannot override warnings"),ee(t.debug===void 0,"Cannot override debug"),yt.checkPreferences(t);let e=this.clone();return e._preferences=yt.preferences(e._preferences,t),e}presence(t){return ee(["optional","required","forbidden"].includes(t),"Unknown presence mode",t),this.$_setFlag("presence",t)}raw(t=!0){return this.$_setFlag("result",t?"raw":void 0)}result(t){return ee(["raw","strip"].includes(t),"Unknown result mode",t),this.$_setFlag("result",t)}required(){return this.presence("required")}strict(t){let e=this.clone(),n=t===void 0?!1:!t;return e._preferences=yt.preferences(e._preferences,{convert:n}),e}strip(t=!0){return this.$_setFlag("result",t?"strip":void 0)}tag(...t){ee(t.length,"Missing tags");for(let e of t)ee(e&&typeof e=="string","Tags must be non-empty strings");return this._inner("tags",t)}unit(t){return ee(t&&typeof t=="string","Unit name must be a non-empty string"),this.$_setFlag("unit",t)}valid(...t){yt.verifyFlat(t,"valid");let e=this.allow(...t);return e.$_setFlag("only",!!e._valids,{clone:!1}),e}when(t,e){let n=this.clone();n.$_terms.whens||(n.$_terms.whens=[]);let r=Sm.when(n,t,e);if(!["any","link"].includes(n.type)){let i=r.is?[r]:r.switch;for(let s of i)ee(!s.then||s.then.type==="any"||s.then.type===n.type,"Cannot combine",n.type,"with",s.then&&s.then.type),ee(!s.otherwise||s.otherwise.type==="any"||s.otherwise.type===n.type,"Cannot combine",n.type,"with",s.otherwise&&s.otherwise.type)}return n.$_terms.whens.push(r),n.$_mutateRebuild()}cache(t){ee(!this._inRuleset(),"Cannot set caching inside a ruleset"),ee(!this._cache,"Cannot override schema cache"),ee(this._flags.artifact===void 0,"Cannot cache a rule with an artifact");let e=this.clone();return e._cache=t||FP.provider.provision(),e.$_temp.ruleset=!1,e}clone(){let t=Object.create(Object.getPrototypeOf(this));return this._assign(t)}concat(t){ee(yt.isSchema(t),"Invalid schema object"),ee(this.type==="any"||t.type==="any"||t.type===this.type,"Cannot merge type",this.type,"with another type:",t.type),ee(!this._inRuleset(),"Cannot concatenate onto a schema with open ruleset"),ee(!t._inRuleset(),"Cannot concatenate a schema with open ruleset");let e=this.clone();if(this.type==="any"&&t.type!=="any"){let n=t.clone();for(let r of Object.keys(e))r!=="type"&&(n[r]=e[r]);e=n}e._ids.concat(t._ids),e._refs.register(t,yw.toSibling),e._preferences=e._preferences?yt.preferences(e._preferences,t._preferences):t._preferences,e._valids=xl.merge(e._valids,t._valids,t._invalids),e._invalids=xl.merge(e._invalids,t._invalids,t._valids);for(let n of t._singleRules.keys())e._singleRules.has(n)&&(e._rules=e._rules.filter(r=>r.keep||r.name!==n),e._singleRules.delete(n));for(let n of t._rules)t._definition.rules[n.method].multi||e._singleRules.set(n.name,n),e._rules.push(n);if(e._flags.empty&&t._flags.empty){e._flags.empty=e._flags.empty.concat(t._flags.empty);let n=Object.assign({},t._flags);delete n.empty,Tm(e._flags,n)}else if(t._flags.empty){e._flags.empty=t._flags.empty;let n=Object.assign({},t._flags);delete n.empty,Tm(e._flags,n)}else Tm(e._flags,t._flags);for(let n in t.$_terms){let r=t.$_terms[n];if(!r){e.$_terms[n]||(e.$_terms[n]=r);continue}if(!e.$_terms[n]){e.$_terms[n]=r.slice();continue}e.$_terms[n]=e.$_terms[n].concat(r)}return this.$_root._tracer&&this.$_root._tracer._combine(e,[this,t]),e.$_mutateRebuild()}extend(t){return ee(!t.base,"Cannot extend type with another base"),BP.type(this,t)}extract(t){return t=Array.isArray(t)?t:t.split("."),this._ids.reach(t)}fork(t,e){ee(!this._inRuleset(),"Cannot fork inside a ruleset");let n=this;for(let r of[].concat(t))r=Array.isArray(r)?r:r.split("."),n=n._ids.fork(r,e,n);return n.$_temp.ruleset=!1,n}rule(t){let e=this._definition;yt.assertOptions(t,Object.keys(e.modifiers)),ee(this.$_temp.ruleset!==!1,"Cannot apply rules to empty ruleset or the last rule added does not support rule properties");let n=this.$_temp.ruleset===null?this._rules.length-1:this.$_temp.ruleset;ee(n>=0&&n<this._rules.length,"Cannot apply rules to empty ruleset");let r=this.clone();for(let i=n;i<r._rules.length;++i){let s=r._rules[i],o=pw(s);for(let a in t)e.modifiers[a](o,t[a]),ee(o.name===s.name,"Cannot change rule name");r._rules[i]=o,r._singleRules.get(o.name)===s&&r._singleRules.set(o.name,o)}return r.$_temp.ruleset=!1,r.$_mutateRebuild()}get ruleset(){ee(!this._inRuleset(),"Cannot start a new ruleset without closing the previous one");let t=this.clone();return t.$_temp.ruleset=t._rules.length,t}get $(){return this.ruleset}tailor(t){t=[].concat(t),ee(!this._inRuleset(),"Cannot tailor inside a ruleset");let e=this;if(this.$_terms.alterations)for(let{target:n,adjuster:r}of this.$_terms.alterations)t.includes(n)&&(e=r(e),ee(yt.isSchema(e),"Alteration adjuster for",n,"failed to return a schema object"));return e=e.$_modify({each:n=>n.tailor(t),ref:!1}),e.$_temp.ruleset=!1,e.$_mutateRebuild()}tracer(){return bw.location?bw.location(this):this}validate(t,e){return kl.entry(t,this,e)}validateAsync(t,e){return kl.entryAsync(t,this,e)}$_addRule(t){typeof t=="string"&&(t={name:t}),ee(t&&typeof t=="object","Invalid options"),ee(t.name&&typeof t.name=="string","Invalid rule name");for(let s in t)ee(s[0]!=="_","Cannot set private rule properties");let e=Object.assign({},t);e._resolve=[],e.method=e.method||e.name;let n=this._definition.rules[e.method],r=e.args;ee(n,"Unknown rule",e.method);let i=this.clone();if(r){ee(Object.keys(r).length===1||Object.keys(r).length===this._definition.rules[e.name].args.length,"Invalid rule definition for",this.type,e.name);for(let s in r){let o=r[s];if(n.argsByName){let a=n.argsByName.get(s);if(a.ref&&yt.isResolvable(o))e._resolve.push(s),i.$_mutateRegister(o);else if(a.normalize&&(o=a.normalize(o),r[s]=o),a.assert){let u=yt.validateArg(o,s,a);ee(!u,u,"or reference")}}if(o===void 0){delete r[s];continue}r[s]=o}}return n.multi||(i._ruleRemove(e.name,{clone:!1}),i._singleRules.set(e.name,e)),i.$_temp.ruleset===!1&&(i.$_temp.ruleset=null),n.priority?i._rules.unshift(e):i._rules.push(e),i}$_compile(t,e){return Sm.schema(this.$_root,t,e)}$_createError(t,e,n,r,i,s={}){let o=s.flags!==!1?this._flags:{},a=s.messages?UP.merge(this._definition.messages,s.messages):this._definition.messages;return new $P.Report(t,e,n,o,a,r,i)}$_getFlag(t){return this._flags[t]}$_getRule(t){return this._singleRules.get(t)}$_mapLabels(t){return t=Array.isArray(t)?t:t.split("."),this._ids.labels(t)}$_match(t,e,n,r){n=Object.assign({},n),n.abortEarly=!0,n._externals=!1,e.snapshot();let i=!kl.validate(t,this,e,n,r).errors;return e.restore(),i}$_modify(t){return yt.assertOptions(t,["each","once","ref","schema"]),mw.schema(this,t)||this}$_mutateRebuild(){ee(!this._inRuleset(),"Cannot add this rule inside a ruleset"),this._refs.reset(),this._ids.reset();let t=(e,{source:n,name:r,path:i,key:s})=>{let o=this._definition[n][r]&&this._definition[n][r].register;o!==!1&&this.$_mutateRegister(e,{family:o,key:s})};return this.$_modify({each:t}),this._definition.rebuild&&this._definition.rebuild(this),this.$_temp.ruleset=!1,this}$_mutateRegister(t,{family:e,key:n}={}){this._refs.register(t,e),this._ids.register(t,{key:n})}$_property(t){return this._definition.properties[t]}$_reach(t){return this._ids.reach(t)}$_rootReferences(){return this._refs.roots()}$_setFlag(t,e,n={}){ee(t[0]==="_"||!this._inRuleset(),"Cannot set flag inside a ruleset");let r=this._definition.flags[t]||{};if(hw(e,r.default)&&(e=void 0),hw(e,this._flags[t]))return this;let i=n.clone!==!1?this.clone():this;return e!==void 0?(i._flags[t]=e,i.$_mutateRegister(e)):delete i._flags[t],t[0]!=="_"&&(i.$_temp.ruleset=!1),i}$_parent(t,...e){return this[t][yt.symbols.parent].call(this,...e)}$_validate(t,e,n){return kl.validate(t,this,e,n)}_assign(t){t.type=this.type,t.$_root=this.$_root,t.$_temp=Object.assign({},this.$_temp),t.$_temp.whens={},t._ids=this._ids.clone(),t._preferences=this._preferences,t._valids=this._valids&&this._valids.clone(),t._invalids=this._invalids&&this._invalids.clone(),t._rules=this._rules.slice(),t._singleRules=pw(this._singleRules,{shallow:!0}),t._refs=this._refs.clone(),t._flags=Object.assign({},this._flags),t._cache=null,t.$_terms={};for(let e in this.$_terms)t.$_terms[e]=this.$_terms[e]?this.$_terms[e].slice():null;t.$_super={};for(let e in this.$_super)t.$_super[e]=this._super[e].bind(t);return t}_bare(){let t=this.clone();t._reset();let e=t._definition.terms;for(let n in e){let r=e[n];t.$_terms[n]=r.init}return t.$_mutateRebuild()}_default(t,e,n={}){return yt.assertOptions(n,"literal"),ee(e!==void 0,"Missing",t,"value"),ee(typeof e=="function"||!n.literal,"Only function value supports literal option"),typeof e=="function"&&n.literal&&(e={[yt.symbols.literal]:!0,literal:e}),this.$_setFlag(t,e)}_generate(t,e,n){if(!this.$_terms.whens)return{schema:this};let r=[],i=[];for(let a=0;a<this.$_terms.whens.length;++a){let u=this.$_terms.whens[a];if(u.concat){r.push(u.concat),i.push(`${a}.concat`);continue}let c=u.ref?u.ref.resolve(t,e,n):t,l=u.is?[u]:u.switch,d=i.length;for(let p=0;p<l.length;++p){let{is:b,then:T,otherwise:E}=l[p],L=`${a}${u.switch?"."+p:""}`;if(b.$_match(c,e.nest(b,`${L}.is`),n)){if(T){let M=e.localize([...e.path,`${L}.then`],e.ancestors,e.schemas),{schema:x,id:k}=T._generate(t,M,n);r.push(x),i.push(`${L}.then${k?`(${k})`:""}`);break}}else if(E){let M=e.localize([...e.path,`${L}.otherwise`],e.ancestors,e.schemas),{schema:x,id:k}=E._generate(t,M,n);r.push(x),i.push(`${L}.otherwise${k?`(${k})`:""}`);break}}if(u.break&&i.length>d)break}let s=i.join(", ");if(e.mainstay.tracer.debug(e,"rule","when",s),!s)return{schema:this};if(!e.mainstay.tracer.active&&this.$_temp.whens[s])return{schema:this.$_temp.whens[s],id:s};let o=this;this._definition.generate&&(o=this._definition.generate(this,t,e,n));for(let a of r)o=o.concat(a);return this.$_root._tracer&&this.$_root._tracer._combine(o,[this,...r]),this.$_temp.whens[s]=o,{schema:o,id:s}}_inner(t,e,n={}){ee(!this._inRuleset(),`Cannot set ${t} inside a ruleset`);let r=this.clone();return(!r.$_terms[t]||n.override)&&(r.$_terms[t]=[]),n.single?r.$_terms[t].push(e):r.$_terms[t].push(...e),r.$_temp.ruleset=!1,r}_inRuleset(){return this.$_temp.ruleset!==null&&this.$_temp.ruleset!==!1}_ruleRemove(t,e={}){if(!this._singleRules.has(t))return this;let n=e.clone!==!1?this.clone():this;n._singleRules.delete(t);let r=[];for(let i=0;i<n._rules.length;++i){let s=n._rules[i];if(s.name===t&&!s.keep){n._inRuleset()&&i<n.$_temp.ruleset&&--n.$_temp.ruleset;continue}r.push(s)}return n._rules=r,n}_values(t,e){yt.verifyFlat(t,e.slice(1,-1));let n=this.clone(),r=t[0]===yt.symbols.override;if(r&&(t=t.slice(1)),!n[e]&&t.length?n[e]=new xl:r&&(n[e]=t.length?new xl:null,n.$_mutateRebuild()),!n[e])return n;r&&n[e].override();for(let i of t){ee(i!==void 0,"Cannot call allow/valid/invalid with undefined"),ee(i!==yt.symbols.override,"Override must be the first value");let s=e==="_invalids"?"_valids":"_invalids";n[s]&&(n[s].remove(i),n[s].length||(ee(e==="_valids"||!n._flags.only,"Setting invalid value",i,"leaves schema rejecting all values due to previous valid rule"),n[s]=null)),n[e].add(i,n._refs)}return n}};It.Base.prototype[yt.symbols.any]={version:yt.version,compile:Sm.compile,root:"$_root"};It.Base.prototype.isImmutable=!0;It.Base.prototype.deny=It.Base.prototype.invalid;It.Base.prototype.disallow=It.Base.prototype.invalid;It.Base.prototype.equal=It.Base.prototype.valid;It.Base.prototype.exist=It.Base.prototype.required;It.Base.prototype.not=It.Base.prototype.invalid;It.Base.prototype.options=It.Base.prototype.prefs;It.Base.prototype.preferences=It.Base.prototype.prefs;vw.exports=new It.Base});var Fn=g((EB,Tw)=>{"use strict";var wl=Re(),HP=_w(),WP=Je(),GP=Js();Tw.exports=HP.extend({type:"any",flags:{only:{default:!1}},terms:{alterations:{init:null},examples:{init:null},externals:{init:null},metas:{init:[]},notes:{init:[]},shared:{init:null},tags:{init:[]},whens:{init:null}},rules:{custom:{method(t,e){return wl(typeof t=="function","Method must be a function"),wl(e===void 0||e&&typeof e=="string","Description must be a non-empty string"),this.$_addRule({name:"custom",args:{method:t,description:e}})},validate(t,e,{method:n}){try{return n(t,e)}catch(r){return e.error("any.custom",{error:r})}},args:["method","description"],multi:!0},messages:{method(t){return this.prefs({messages:t})}},shared:{method(t){wl(WP.isSchema(t)&&t._flags.id,"Schema must be a schema with an id");let e=this.clone();return e.$_terms.shared=e.$_terms.shared||[],e.$_terms.shared.push(t),e.$_mutateRegister(t),e}},warning:{method(t,e){return wl(t&&typeof t=="string","Invalid warning code"),this.$_addRule({name:"warning",args:{code:t,local:e},warn:!0})},validate(t,e,{code:n,local:r}){return e.error(n,r)},args:["code","local"],multi:!0}},modifiers:{keep(t,e=!0){t.keep=e},message(t,e){t.message=GP.compile(e)},warn(t,e=!0){t.warn=e}},manifest:{build(t,e){for(let n in e){let r=e[n];if(["examples","externals","metas","notes","tags"].includes(n)){for(let i of r)t=t[n.slice(0,-1)](i);continue}if(n==="alterations"){let i={};for(let{target:s,adjuster:o}of r)i[s]=o;t=t.alter(i);continue}if(n==="whens"){for(let i of r){let{ref:s,is:o,not:a,then:u,otherwise:c,concat:l}=i;l?t=t.concat(l):s?t=t.when(s,{is:o,not:a,then:u,otherwise:c,switch:i.switch,break:i.break}):t=t.when(o,{then:u,otherwise:c,break:i.break})}continue}if(n==="shared")for(let i of r)t=t.shared(i)}return t}},messages:{"any.custom":"{{#label}} failed custom validation because {{#error.message}}","any.default":"{{#label}} threw an error when running default method","any.failover":"{{#label}} threw an error when running failover method","any.invalid":"{{#label}} contains an invalid value","any.only":'{{#label}} must be {if(#valids.length == 1, "", "one of ")}{{#valids}}',"any.ref":"{{#label}} {{#arg}} references {{:#ref}} which {{#reason}}","any.required":"{{#label}} is required","any.unknown":"{{#label}} is not allowed"}})});var xw=g((AB,kw)=>{"use strict";var Ji=Re(),VP=Tl(),zP=Fn(),Sw=Je(),KP=Xi(),El=Ir(),XP=Mr(),to={};kw.exports=zP.extend({type:"alternatives",flags:{match:{default:"any"}},terms:{matches:{init:[],register:XP.toSibling}},args(t,...e){return e.length===1&&Array.isArray(e[0])?t.try(...e[0]):t.try(...e)},validate(t,e){let{schema:n,error:r,state:i,prefs:s}=e;if(n._flags.match){let a=[],u=[];for(let l=0;l<n.$_terms.matches.length;++l){let d=n.$_terms.matches[l],p=i.nest(d.schema,`match.${l}`);p.snapshot();let b=d.schema.$_validate(t,p,s);b.errors?(u.push(b.errors),p.restore()):(a.push(b.value),p.commit())}if(a.length===0){let l={details:u.map(d=>El.details(d,{override:!1}))};return{errors:r("alternatives.any",l)}}if(n._flags.match==="one")return a.length===1?{value:a[0]}:{errors:r("alternatives.one")};if(a.length!==n.$_terms.matches.length){let l={details:u.map(d=>El.details(d,{override:!1}))};return{errors:r("alternatives.all",l)}}let c=l=>l.$_terms.matches.some(d=>d.schema.type==="object"||d.schema.type==="alternatives"&&c(d.schema));return c(n)?{value:a.reduce((l,d)=>VP(l,d,{mergeArrays:!1}))}:{value:a[a.length-1]}}let o=[];for(let a=0;a<n.$_terms.matches.length;++a){let u=n.$_terms.matches[a];if(u.schema){let d=i.nest(u.schema,`match.${a}`);d.snapshot();let p=u.schema.$_validate(t,d,s);if(!p.errors)return d.commit(),p;d.restore(),o.push({schema:u.schema,reports:p.errors});continue}let c=u.ref?u.ref.resolve(t,i,s):t,l=u.is?[u]:u.switch;for(let d=0;d<l.length;++d){let p=l[d],{is:b,then:T,otherwise:E}=p,L=`match.${a}${u.switch?"."+d:""}`;if(b.$_match(c,i.nest(b,`${L}.is`),s)){if(T)return T.$_validate(t,i.nest(T,`${L}.then`),s)}else if(E)return E.$_validate(t,i.nest(E,`${L}.otherwise`),s)}}return to.errors(o,e)},rules:{conditional:{method(t,e){Ji(!this._flags._endedSwitch,"Unreachable condition"),Ji(!this._flags.match,"Cannot combine match mode",this._flags.match,"with conditional rule"),Ji(e.break===void 0,"Cannot use break option with alternatives conditional");let n=this.clone(),r=KP.when(n,t,e),i=r.is?[r]:r.switch;for(let s of i)if(s.then&&s.otherwise){n.$_setFlag("_endedSwitch",!0,{clone:!1});break}return n.$_terms.matches.push(r),n.$_mutateRebuild()}},match:{method(t){if(Ji(["any","one","all"].includes(t),"Invalid alternatives match mode",t),t!=="any")for(let e of this.$_terms.matches)Ji(e.schema,"Cannot combine match mode",t,"with conditional rules");return this.$_setFlag("match",t)}},try:{method(...t){Ji(t.length,"Missing alternative schemas"),Sw.verifyFlat(t,"try"),Ji(!this._flags._endedSwitch,"Unreachable condition");let e=this.clone();for(let n of t)e.$_terms.matches.push({schema:e.$_compile(n)});return e.$_mutateRebuild()}}},overrides:{label(t){let e=this.$_parent("label",t),n=(r,i)=>i.path[0]!=="is"&&typeof r._flags.label!="string"?r.label(t):void 0;return e.$_modify({each:n,ref:!1})}},rebuild(t){let e=n=>{Sw.isSchema(n)&&n.type==="array"&&t.$_setFlag("_arrayItems",!0,{clone:!1})};t.$_modify({each:e})},manifest:{build(t,e){if(e.matches)for(let n of e.matches){let{schema:r,ref:i,is:s,not:o,then:a,otherwise:u}=n;r?t=t.try(r):i?t=t.conditional(i,{is:s,then:a,not:o,otherwise:u,switch:n.switch}):t=t.conditional(s,{then:a,otherwise:u})}return t}},messages:{"alternatives.all":"{{#label}} does not match all of the required types","alternatives.any":"{{#label}} does not match any of the allowed types","alternatives.match":"{{#label}} does not match any of the allowed types","alternatives.one":"{{#label}} matches more than one allowed type","alternatives.types":"{{#label}} must be one of {{#types}}"}});to.errors=function(t,{error:e,state:n}){if(!t.length)return{errors:e("alternatives.any")};if(t.length===1)return{errors:t[0].reports};let r=new Set,i=[];for(let{reports:s,schema:o}of t){if(s.length>1)return to.unmatched(t,e);let a=s[0];if(!(a instanceof El.Report))return to.unmatched(t,e);if(a.state.path.length!==n.path.length){i.push({type:o.type,report:a});continue}if(a.code==="any.only"){for(let l of a.local.valids)r.add(l);continue}let[u,c]=a.code.split(".");c!=="base"?i.push({type:o.type,report:a}):a.code==="object.base"?r.add(a.local.type):r.add(u)}return i.length?i.length===1?{errors:i[0].report}:to.unmatched(t,e):{errors:e("alternatives.types",{types:[...r]})}};to.unmatched=function(t,e){let n=[];for(let r of t)n.push(...r.reports);return{errors:e("alternatives.match",El.details(n,{override:!1}))}}});var Ew=g((OB,ww)=>{"use strict";var Aa=Re(),YP=xa(),JP=Vi(),QP=Fn(),$n=Je(),ZP=Xi(),st={};ww.exports=QP.extend({type:"array",flags:{single:{default:!1},sparse:{default:!1}},terms:{items:{init:[],manifest:"schema"},ordered:{init:[],manifest:"schema"},_exclusions:{init:[]},_inclusions:{init:[]},_requireds:{init:[]}},coerce:{from:"object",method(t,{schema:e,state:n,prefs:r}){if(!Array.isArray(t))return;let i=e.$_getRule("sort");if(i)return st.sort(e,t,i.args.options,n,r)}},validate(t,{schema:e,error:n}){if(!Array.isArray(t)){if(e._flags.single){let r=[t];return r[$n.symbols.arraySingle]=!0,{value:r}}return{errors:n("array.base")}}if(!(!e.$_getRule("items")&&!e.$_terms.externals))return{value:t.slice()}},rules:{has:{method(t){t=this.$_compile(t,{appendPath:!0});let e=this.$_addRule({name:"has",args:{schema:t}});return e.$_mutateRegister(t),e},validate(t,{state:e,prefs:n,error:r},{schema:i}){let s=[t,...e.ancestors];for(let a=0;a<t.length;++a){let u=e.localize([...e.path,a],s,i);if(i.$_match(t[a],u,n))return t}let o=i._flags.label;return o?r("array.hasKnown",{patternLabel:o}):r("array.hasUnknown",null)},multi:!0},items:{method(...t){$n.verifyFlat(t,"items");let e=this.$_addRule("items");for(let n=0;n<t.length;++n){let r=$n.tryWithPath(()=>this.$_compile(t[n]),n,{append:!0});e.$_terms.items.push(r)}return e.$_mutateRebuild()},validate(t,{schema:e,error:n,state:r,prefs:i,errorsArray:s}){let o=e.$_terms._requireds.slice(),a=e.$_terms.ordered.slice(),u=[...e.$_terms._inclusions,...o],c=!t[$n.symbols.arraySingle];delete t[$n.symbols.arraySingle];let l=s(),d=t.length;for(let p=0;p<d;++p){let b=t[p],T=!1,E=!1,L=c?p:new Number(p),M=[...r.path,L];if(!e._flags.sparse&&b===void 0){if(l.push(n("array.sparse",{key:L,path:M,pos:p,value:void 0},r.localize(M))),i.abortEarly)return l;a.shift();continue}let x=[t,...r.ancestors];for(let C of e.$_terms._exclusions)if(C.$_match(b,r.localize(M,x,C),i,{presence:"ignore"})){if(l.push(n("array.excludes",{pos:p,value:b},r.localize(M))),i.abortEarly)return l;T=!0,a.shift();break}if(T)continue;if(e.$_terms.ordered.length){if(a.length){let C=a.shift(),V=C.$_validate(b,r.localize(M,x,C),i);if(V.errors){if(l.push(...V.errors),i.abortEarly)return l}else if(C._flags.result==="strip")st.fastSplice(t,p),--p,--d;else if(!e._flags.sparse&&V.value===void 0){if(l.push(n("array.sparse",{key:L,path:M,pos:p,value:void 0},r.localize(M))),i.abortEarly)return l;continue}else t[p]=V.value;continue}else if(!e.$_terms.items.length){if(l.push(n("array.orderedLength",{pos:p,limit:e.$_terms.ordered.length})),i.abortEarly)return l;break}}let k=[],v=o.length;for(let C=0;C<v;++C){let V=r.localize(M,x,o[C]);V.snapshot();let ae=o[C].$_validate(b,V,i);if(k[C]=ae,!ae.errors){if(V.commit(),t[p]=ae.value,E=!0,st.fastSplice(o,C),--C,--v,!e._flags.sparse&&ae.value===void 0&&(l.push(n("array.sparse",{key:L,path:M,pos:p,value:void 0},r.localize(M))),i.abortEarly))return l;break}V.restore()}if(E)continue;let F=i.stripUnknown&&!!i.stripUnknown.arrays||!1;v=u.length;for(let C of u){let V,ae=o.indexOf(C);if(ae!==-1)V=k[ae];else{let ge=r.localize(M,x,C);if(ge.snapshot(),V=C.$_validate(b,ge,i),!V.errors){ge.commit(),C._flags.result==="strip"?(st.fastSplice(t,p),--p,--d):!e._flags.sparse&&V.value===void 0?(l.push(n("array.sparse",{key:L,path:M,pos:p,value:void 0},r.localize(M))),T=!0):t[p]=V.value,E=!0;break}ge.restore()}if(v===1){if(F){st.fastSplice(t,p),--p,--d,E=!0;break}if(l.push(...V.errors),i.abortEarly)return l;T=!0;break}}if(!T&&(e.$_terms._inclusions.length||e.$_terms._requireds.length)&&!E){if(F){st.fastSplice(t,p),--p,--d;continue}if(l.push(n("array.includes",{pos:p,value:b},r.localize(M))),i.abortEarly)return l}}return o.length&&st.fillMissedErrors(e,l,o,t,r,i),a.length&&(st.fillOrderedErrors(e,l,a,t,r,i),l.length||st.fillDefault(a,t,r,i)),l.length?l:t},priority:!0,manifest:!1},length:{method(t){return this.$_addRule({name:"length",args:{limit:t},operator:"="})},validate(t,e,{limit:n},{name:r,operator:i,args:s}){return $n.compare(t.length,n,i)?t:e.error("array."+r,{limit:s.limit,value:t})},args:[{name:"limit",ref:!0,assert:$n.limit,message:"must be a positive integer"}]},max:{method(t){return this.$_addRule({name:"max",method:"length",args:{limit:t},operator:"<="})}},min:{method(t){return this.$_addRule({name:"min",method:"length",args:{limit:t},operator:">="})}},ordered:{method(...t){$n.verifyFlat(t,"ordered");let e=this.$_addRule("items");for(let n=0;n<t.length;++n){let r=$n.tryWithPath(()=>this.$_compile(t[n]),n,{append:!0});st.validateSingle(r,e),e.$_mutateRegister(r),e.$_terms.ordered.push(r)}return e.$_mutateRebuild()}},single:{method(t){let e=t===void 0?!0:!!t;return Aa(!e||!this._flags._arrayItems,"Cannot specify single rule when array has array items"),this.$_setFlag("single",e)}},sort:{method(t={}){$n.assertOptions(t,["by","order"]);let e={order:t.order||"ascending"};return t.by&&(e.by=ZP.ref(t.by,{ancestor:0}),Aa(!e.by.ancestor,"Cannot sort by ancestor")),this.$_addRule({name:"sort",args:{options:e}})},validate(t,{error:e,state:n,prefs:r,schema:i},{options:s}){let{value:o,errors:a}=st.sort(i,t,s,n,r);if(a)return a;for(let u=0;u<t.length;++u)if(t[u]!==o[u])return e("array.sort",{order:s.order,by:s.by?s.by.key:"value"});return t},convert:!0},sparse:{method(t){let e=t===void 0?!0:!!t;return this._flags.sparse===e?this:(e?this.clone():this.$_addRule("items")).$_setFlag("sparse",e,{clone:!1})}},unique:{method(t,e={}){Aa(!t||typeof t=="function"||typeof t=="string","comparator must be a function or a string"),$n.assertOptions(e,["ignoreUndefined","separator"]);let n={name:"unique",args:{options:e,comparator:t}};if(t)if(typeof t=="string"){let r=$n.default(e.separator,".");n.path=r?t.split(r):[t]}else n.comparator=t;return this.$_addRule(n)},validate(t,{state:e,error:n,schema:r},{comparator:i,options:s},{comparator:o,path:a}){let u={string:Object.create(null),number:Object.create(null),undefined:Object.create(null),boolean:Object.create(null),bigint:Object.create(null),object:new Map,function:new Map,custom:new Map},c=o||YP,l=s.ignoreUndefined;for(let d=0;d<t.length;++d){let p=a?JP(t[d],a):t[d],b=o?u.custom:u[typeof p];if(Aa(b,"Failed to find unique map container for type",typeof p),b instanceof Map){let T=b.entries(),E;for(;!(E=T.next()).done;)if(c(E.value[0],p)){let L=e.localize([...e.path,d],[t,...e.ancestors]),M={pos:d,value:t[d],dupePos:E.value[1],dupeValue:t[E.value[1]]};return a&&(M.path=i),n("array.unique",M,L)}b.set(p,d)}else{if((!l||p!==void 0)&&b[p]!==void 0){let T={pos:d,value:t[d],dupePos:b[p],dupeValue:t[b[p]]};a&&(T.path=i);let E=e.localize([...e.path,d],[t,...e.ancestors]);return n("array.unique",T,E)}b[p]=d}}return t},args:["comparator","options"],multi:!0}},cast:{set:{from:Array.isArray,to(t,e){return new Set(t)}}},rebuild(t){t.$_terms._inclusions=[],t.$_terms._exclusions=[],t.$_terms._requireds=[];for(let e of t.$_terms.items)st.validateSingle(e,t),e._flags.presence==="required"?t.$_terms._requireds.push(e):e._flags.presence==="forbidden"?t.$_terms._exclusions.push(e):t.$_terms._inclusions.push(e);for(let e of t.$_terms.ordered)st.validateSingle(e,t)},manifest:{build(t,e){return e.items&&(t=t.items(...e.items)),e.ordered&&(t=t.ordered(...e.ordered)),t}},messages:{"array.base":"{{#label}} must be an array","array.excludes":"{{#label}} contains an excluded value","array.hasKnown":"{{#label}} does not contain at least one required match for type {:#patternLabel}","array.hasUnknown":"{{#label}} does not contain at least one required match","array.includes":"{{#label}} does not match any of the allowed types","array.includesRequiredBoth":"{{#label}} does not contain {{#knownMisses}} and {{#unknownMisses}} other required value(s)","array.includesRequiredKnowns":"{{#label}} does not contain {{#knownMisses}}","array.includesRequiredUnknowns":"{{#label}} does not contain {{#unknownMisses}} required value(s)","array.length":"{{#label}} must contain {{#limit}} items","array.max":"{{#label}} must contain less than or equal to {{#limit}} items","array.min":"{{#label}} must contain at least {{#limit}} items","array.orderedLength":"{{#label}} must contain at most {{#limit}} items","array.sort":"{{#label}} must be sorted in {#order} order by {{#by}}","array.sort.mismatching":"{{#label}} cannot be sorted due to mismatching types","array.sort.unsupported":"{{#label}} cannot be sorted due to unsupported type {#type}","array.sparse":"{{#label}} must not be a sparse array item","array.unique":"{{#label}} contains a duplicate value"}});st.fillMissedErrors=function(t,e,n,r,i,s){let o=[],a=0;for(let u of n){let c=u._flags.label;c?o.push(c):++a}o.length?a?e.push(t.$_createError("array.includesRequiredBoth",r,{knownMisses:o,unknownMisses:a},i,s)):e.push(t.$_createError("array.includesRequiredKnowns",r,{knownMisses:o},i,s)):e.push(t.$_createError("array.includesRequiredUnknowns",r,{unknownMisses:a},i,s))};st.fillOrderedErrors=function(t,e,n,r,i,s){let o=[];for(let a of n)a._flags.presence==="required"&&o.push(a);o.length&&st.fillMissedErrors(t,e,o,r,i,s)};st.fillDefault=function(t,e,n,r){let i=[],s=!0;for(let o=t.length-1;o>=0;--o){let a=t[o],u=[e,...n.ancestors],c=a.$_validate(void 0,n.localize(n.path,u,a),r).value;if(s){if(c===void 0)continue;s=!1}i.unshift(c)}i.length&&e.push(...i)};st.fastSplice=function(t,e){let n=e;for(;n<t.length;)t[n++]=t[n];--t.length};st.validateSingle=function(t,e){(t.type==="array"||t._flags._arrayItems)&&(Aa(!e._flags.single,"Cannot specify array item with single rule enabled"),e.$_setFlag("_arrayItems",!0,{clone:!1}))};st.sort=function(t,e,n,r,i){let s=n.order==="ascending"?1:-1,o=-1*s,a=s,u=(c,l)=>{let d=st.compare(c,l,o,a);if(d!==null||(n.by&&(c=n.by.resolve(c,r,i),l=n.by.resolve(l,r,i)),d=st.compare(c,l,o,a),d!==null))return d;let p=typeof c;if(p!==typeof l)throw t.$_createError("array.sort.mismatching",e,null,r,i);if(p!=="number"&&p!=="string")throw t.$_createError("array.sort.unsupported",e,{type:p},r,i);return p==="number"?(c-l)*s:c<l?o:a};try{return{value:e.slice().sort(u)}}catch(c){return{errors:c}}};st.compare=function(t,e,n,r){return t===e?0:t===void 0?1:e===void 0?-1:t===null?r:e===null?n:null}});var Dw=g((CB,Rw)=>{"use strict";var Aw=Re(),eI=Fn(),Ow=Je(),Cw=_m(),km={};km.isBool=function(t){return typeof t=="boolean"};Rw.exports=eI.extend({type:"boolean",flags:{sensitive:{default:!1}},terms:{falsy:{init:null,manifest:"values"},truthy:{init:null,manifest:"values"}},coerce(t,{schema:e}){if(typeof t!="boolean"){if(typeof t=="string"){let n=e._flags.sensitive?t:t.toLowerCase();t=n==="true"?!0:n==="false"?!1:t}return typeof t!="boolean"&&(t=e.$_terms.truthy&&e.$_terms.truthy.has(t,null,null,!e._flags.sensitive)||(e.$_terms.falsy&&e.$_terms.falsy.has(t,null,null,!e._flags.sensitive)?!1:t)),{value:t}}},validate(t,{error:e}){if(typeof t!="boolean")return{value:t,errors:e("boolean.base")}},rules:{truthy:{method(...t){Ow.verifyFlat(t,"truthy");let e=this.clone();e.$_terms.truthy=e.$_terms.truthy||new Cw;for(let n=0;n<t.length;++n){let r=t[n];Aw(r!==void 0,"Cannot call truthy with undefined"),e.$_terms.truthy.add(r)}return e}},falsy:{method(...t){Ow.verifyFlat(t,"falsy");let e=this.clone();e.$_terms.falsy=e.$_terms.falsy||new Cw;for(let n=0;n<t.length;++n){let r=t[n];Aw(r!==void 0,"Cannot call falsy with undefined"),e.$_terms.falsy.add(r)}return e}},sensitive:{method(t=!0){return this.$_setFlag("sensitive",t)}}},cast:{number:{from:km.isBool,to(t,e){return t?1:0}},string:{from:km.isBool,to(t,e){return t?"true":"false"}}},manifest:{build(t,e){return e.truthy&&(t=t.truthy(...e.truthy)),e.falsy&&(t=t.falsy(...e.falsy)),t}},messages:{"boolean.base":"{{#label}} must be a boolean"}})});var Lw=g((RB,Mw)=>{"use strict";var Pw=Re(),tI=Fn(),Iw=Je(),nI=gi(),tr={};tr.isDate=function(t){return t instanceof Date};Mw.exports=tI.extend({type:"date",coerce:{from:["number","string"],method(t,{schema:e}){return{value:tr.parse(t,e._flags.format)||t}}},validate(t,{schema:e,error:n,prefs:r}){if(t instanceof Date&&!isNaN(t.getTime()))return;let i=e._flags.format;return!r.convert||!i||typeof t!="string"?{value:t,errors:n("date.base")}:{value:t,errors:n("date.format",{format:i})}},rules:{compare:{method:!1,validate(t,e,{date:n},{name:r,operator:i,args:s}){let o=n==="now"?Date.now():n.getTime();return Iw.compare(t.getTime(),o,i)?t:e.error("date."+r,{limit:s.date,value:t})},args:[{name:"date",ref:!0,normalize:t=>t==="now"?t:tr.parse(t),assert:t=>t!==null,message:"must have a valid date format"}]},format:{method(t){return Pw(["iso","javascript","unix"].includes(t),"Unknown date format",t),this.$_setFlag("format",t)}},greater:{method(t){return this.$_addRule({name:"greater",method:"compare",args:{date:t},operator:">"})}},iso:{method(){return this.format("iso")}},less:{method(t){return this.$_addRule({name:"less",method:"compare",args:{date:t},operator:"<"})}},max:{method(t){return this.$_addRule({name:"max",method:"compare",args:{date:t},operator:"<="})}},min:{method(t){return this.$_addRule({name:"min",method:"compare",args:{date:t},operator:">="})}},timestamp:{method(t="javascript"){return Pw(["javascript","unix"].includes(t),'"type" must be one of "javascript, unix"'),this.format(t)}}},cast:{number:{from:tr.isDate,to(t,e){return t.getTime()}},string:{from:tr.isDate,to(t,{prefs:e}){return nI.date(t,e)}}},messages:{"date.base":"{{#label}} must be a valid date","date.format":'{{#label}} must be in {msg("date.format." + #format) || #format} format',"date.greater":"{{#label}} must be greater than {{:#limit}}","date.less":"{{#label}} must be less than {{:#limit}}","date.max":"{{#label}} must be less than or equal to {{:#limit}}","date.min":"{{#label}} must be greater than or equal to {{:#limit}}","date.format.iso":"ISO 8601 date","date.format.javascript":"timestamp or number of milliseconds","date.format.unix":"timestamp or number of seconds"}});tr.parse=function(t,e){if(t instanceof Date)return t;if(typeof t!="string"&&(isNaN(t)||!isFinite(t))||/^\s*$/.test(t))return null;if(e==="iso")return Iw.isIsoDate(t)?tr.date(t.toString()):null;let n=t;if(typeof t=="string"&&/^[+-]?\d+(\.\d+)?$/.test(t)&&(t=parseFloat(t)),e){if(e==="javascript")return tr.date(1*t);if(e==="unix")return tr.date(1e3*t);if(typeof n=="string")return null}return tr.date(t)};tr.date=function(t){let e=new Date(t);return isNaN(e.getTime())?null:e}});var $w=g((DB,Fw)=>{"use strict";var Al=Re(),qw=en(),jw=Tl(),Nw=Vi(),Ol={};Fw.exports=function(t,e,n={}){if(Al(t&&typeof t=="object","Invalid defaults value: must be an object"),Al(!e||e===!0||typeof e=="object","Invalid source value: must be true, falsy or an object"),Al(typeof n=="object","Invalid options: must be an object"),!e)return null;if(n.shallow)return Ol.applyToDefaultsWithShallow(t,e,n);let r=qw(t);if(e===!0)return r;let i=n.nullOverride!==void 0?n.nullOverride:!1;return jw(r,e,{nullOverride:i,mergeArrays:!1})};Ol.applyToDefaultsWithShallow=function(t,e,n){let r=n.shallow;Al(Array.isArray(r),"Invalid keys");let i=new Map,s=e===!0?null:new Set;for(let u of r){u=Array.isArray(u)?u:u.split(".");let c=Nw(t,u);c&&typeof c=="object"?i.set(c,s&&Nw(e,u)||c):s&&s.add(u)}let o=qw(t,{},i);if(!s)return o;for(let u of s)Ol.reachCopy(o,e,u);let a=n.nullOverride!==void 0?n.nullOverride:!1;return jw(o,e,{nullOverride:a,mergeArrays:!1})};Ol.reachCopy=function(t,e,n){for(let s of n){if(!(s in e))return;let o=e[s];if(typeof o!="object"||o===null)return;e=o}let r=e,i=t;for(let s=0;s<n.length-1;++s){let o=n[s];typeof i[o]!="object"&&(i[o]={}),i=i[o]}i[n[n.length-1]]=r}});var Hw=g(Uw=>{"use strict";var Qi=Re(),Bw={};Uw.Sorter=class{constructor(){this._items=[],this.nodes=[]}add(t,e){e=e||{};let n=[].concat(e.before||[]),r=[].concat(e.after||[]),i=e.group||"?",s=e.sort||0;Qi(!n.includes(i),`Item cannot come before itself: ${i}`),Qi(!n.includes("?"),"Item cannot come before unassociated items"),Qi(!r.includes(i),`Item cannot come after itself: ${i}`),Qi(!r.includes("?"),"Item cannot come after unassociated items"),Array.isArray(t)||(t=[t]);for(let o of t){let a={seq:this._items.length,sort:s,before:n,after:r,group:i,node:o};this._items.push(a)}if(!e.manual){let o=this._sort();Qi(o,"item",i!=="?"?`added into group ${i}`:"","created a dependencies error")}return this.nodes}merge(t){Array.isArray(t)||(t=[t]);for(let n of t)if(n)for(let r of n._items)this._items.push(Object.assign({},r));this._items.sort(Bw.mergeSort);for(let n=0;n<this._items.length;++n)this._items[n].seq=n;let e=this._sort();return Qi(e,"merge created a dependencies error"),this.nodes}sort(){let t=this._sort();return Qi(t,"sort created a dependencies error"),this.nodes}_sort(){let t={},e=Object.create(null),n=Object.create(null);for(let a of this._items){let u=a.seq,c=a.group;n[c]=n[c]||[],n[c].push(u),t[u]=a.before;for(let l of a.after)e[l]=e[l]||[],e[l].push(u)}for(let a in t){let u=[];for(let c in t[a]){let l=t[a][c];n[l]=n[l]||[],u.push(...n[l])}t[a]=u}for(let a in e)if(n[a])for(let u of n[a])t[u].push(...e[a]);let r={};for(let a in t){let u=t[a];for(let c of u)r[c]=r[c]||[],r[c].push(a)}let i={},s=[];for(let a=0;a<this._items.length;++a){let u=a;if(r[a]){u=null;for(let c=0;c<this._items.length;++c){if(i[c]===!0)continue;r[c]||(r[c]=[]);let l=r[c].length,d=0;for(let p=0;p<l;++p)i[r[c][p]]&&++d;if(d===l){u=c;break}}}u!==null&&(i[u]=!0,s.push(u))}if(s.length!==this._items.length)return!1;let o={};for(let a of this._items)o[a.seq]=a;this._items=[],this.nodes=[];for(let a of s){let u=o[a];this.nodes.push(u.node),this._items.push(u)}return!0}};Bw.mergeSort=(t,e)=>t.sort===e.sort?0:t.sort<e.sort?-1:1});var wm=g((MB,Vw)=>{"use strict";var rI=$w(),Bn=Re(),Ww=en(),iI=Hw(),sI=Fn(),Kt=Je(),xm=Xi(),oI=Ir(),Gw=Mr(),Cl=gi(),de={renameDefaults:{alias:!1,multiple:!1,override:!1}};Vw.exports=sI.extend({type:"_keys",properties:{typeof:"object"},flags:{unknown:{default:void 0}},terms:{dependencies:{init:null},keys:{init:null,manifest:{mapped:{from:"schema",to:"key"}}},patterns:{init:null},renames:{init:null}},args(t,e){return t.keys(e)},validate(t,{schema:e,error:n,state:r,prefs:i}){if(!t||typeof t!==e.$_property("typeof")||Array.isArray(t))return{value:t,errors:n("object.base",{type:e.$_property("typeof")})};if(!e.$_terms.renames&&!e.$_terms.dependencies&&!e.$_terms.keys&&!e.$_terms.patterns&&!e.$_terms.externals)return;t=de.clone(t,i);let s=[];if(e.$_terms.renames&&!de.rename(e,t,r,i,s))return{value:t,errors:s};if(!e.$_terms.keys&&!e.$_terms.patterns&&!e.$_terms.dependencies)return{value:t,errors:s};let o=new Set(Object.keys(t));if(e.$_terms.keys){let a=[t,...r.ancestors];for(let u of e.$_terms.keys){let c=u.key,l=t[c];o.delete(c);let d=r.localize([...r.path,c],a,u),p=u.schema.$_validate(l,d,i);if(p.errors){if(i.abortEarly)return{value:t,errors:p.errors};p.value!==void 0&&(t[c]=p.value),s.push(...p.errors)}else u.schema._flags.result==="strip"||p.value===void 0&&l!==void 0?delete t[c]:p.value!==void 0&&(t[c]=p.value)}}if(o.size||e._flags._hasPatternMatch){let a=de.unknown(e,t,o,s,r,i);if(a)return a}if(e.$_terms.dependencies)for(let a of e.$_terms.dependencies){if(a.key!==null&&de.isPresent(a.options)(a.key.resolve(t,r,i,null,{shadow:!1}))===!1)continue;let u=de.dependencies[a.rel](e,a,t,r,i);if(u){let c=e.$_createError(u.code,t,u.context,r,i);if(i.abortEarly)return{value:t,errors:c};s.push(c)}}return{value:t,errors:s}},rules:{and:{method(...t){return Kt.verifyFlat(t,"and"),de.dependency(this,"and",null,t)}},append:{method(t){return t==null||Object.keys(t).length===0?this:this.keys(t)}},assert:{method(t,e,n){Cl.isTemplate(t)||(t=xm.ref(t)),Bn(n===void 0||typeof n=="string","Message must be a string"),e=this.$_compile(e,{appendPath:!0});let r=this.$_addRule({name:"assert",args:{subject:t,schema:e,message:n}});return r.$_mutateRegister(t),r.$_mutateRegister(e),r},validate(t,{error:e,prefs:n,state:r},{subject:i,schema:s,message:o}){let a=i.resolve(t,r,n),u=Gw.isRef(i)?i.absolute(r):[];return s.$_match(a,r.localize(u,[t,...r.ancestors],s),n)?t:e("object.assert",{subject:i,message:o})},args:["subject","schema","message"],multi:!0},instance:{method(t,e){return Bn(typeof t=="function","constructor must be a function"),e=e||t.name,this.$_addRule({name:"instance",args:{constructor:t,name:e}})},validate(t,e,{constructor:n,name:r}){return t instanceof n?t:e.error("object.instance",{type:r,value:t})},args:["constructor","name"]},keys:{method(t){Bn(t===void 0||typeof t=="object","Object schema must be a valid object"),Bn(!Kt.isSchema(t),"Object schema cannot be a joi schema");let e=this.clone();if(!t)e.$_terms.keys=null;else if(!Object.keys(t).length)e.$_terms.keys=new de.Keys;else{e.$_terms.keys=e.$_terms.keys?e.$_terms.keys.filter(n=>!t.hasOwnProperty(n.key)):new de.Keys;for(let n in t)Kt.tryWithPath(()=>e.$_terms.keys.push({key:n,schema:this.$_compile(t[n])}),n)}return e.$_mutateRebuild()}},length:{method(t){return this.$_addRule({name:"length",args:{limit:t},operator:"="})},validate(t,e,{limit:n},{name:r,operator:i,args:s}){return Kt.compare(Object.keys(t).length,n,i)?t:e.error("object."+r,{limit:s.limit,value:t})},args:[{name:"limit",ref:!0,assert:Kt.limit,message:"must be a positive integer"}]},max:{method(t){return this.$_addRule({name:"max",method:"length",args:{limit:t},operator:"<="})}},min:{method(t){return this.$_addRule({name:"min",method:"length",args:{limit:t},operator:">="})}},nand:{method(...t){return Kt.verifyFlat(t,"nand"),de.dependency(this,"nand",null,t)}},or:{method(...t){return Kt.verifyFlat(t,"or"),de.dependency(this,"or",null,t)}},oxor:{method(...t){return de.dependency(this,"oxor",null,t)}},pattern:{method(t,e,n={}){let r=t instanceof RegExp;r||(t=this.$_compile(t,{appendPath:!0})),Bn(e!==void 0,"Invalid rule"),Kt.assertOptions(n,["fallthrough","matches"]),r&&Bn(!t.flags.includes("g")&&!t.flags.includes("y"),"pattern should not use global or sticky mode"),e=this.$_compile(e,{appendPath:!0});let i=this.clone();i.$_terms.patterns=i.$_terms.patterns||[];let s={[r?"regex":"schema"]:t,rule:e};return n.matches&&(s.matches=this.$_compile(n.matches),s.matches.type!=="array"&&(s.matches=s.matches.$_root.array().items(s.matches)),i.$_mutateRegister(s.matches),i.$_setFlag("_hasPatternMatch",!0,{clone:!1})),n.fallthrough&&(s.fallthrough=!0),i.$_terms.patterns.push(s),i.$_mutateRegister(e),i}},ref:{method(){return this.$_addRule("ref")},validate(t,e){return Gw.isRef(t)?t:e.error("object.refType",{value:t})}},regex:{method(){return this.$_addRule("regex")},validate(t,e){return t instanceof RegExp?t:e.error("object.regex",{value:t})}},rename:{method(t,e,n={}){Bn(typeof t=="string"||t instanceof RegExp,"Rename missing the from argument"),Bn(typeof e=="string"||e instanceof Cl,"Invalid rename to argument"),Bn(e!==t,"Cannot rename key to same name:",t),Kt.assertOptions(n,["alias","ignoreUndefined","override","multiple"]);let r=this.clone();r.$_terms.renames=r.$_terms.renames||[];for(let i of r.$_terms.renames)Bn(i.from!==t,"Cannot rename the same key multiple times");return e instanceof Cl&&r.$_mutateRegister(e),r.$_terms.renames.push({from:t,to:e,options:rI(de.renameDefaults,n)}),r}},schema:{method(t="any"){return this.$_addRule({name:"schema",args:{type:t}})},validate(t,e,{type:n}){return Kt.isSchema(t)&&(n==="any"||t.type===n)?t:e.error("object.schema",{type:n})}},unknown:{method(t){return this.$_setFlag("unknown",t!==!1)}},with:{method(t,e,n={}){return de.dependency(this,"with",t,e,n)}},without:{method(t,e,n={}){return de.dependency(this,"without",t,e,n)}},xor:{method(...t){return Kt.verifyFlat(t,"xor"),de.dependency(this,"xor",null,t)}}},overrides:{default(t,e){return t===void 0&&(t=Kt.symbols.deepDefault),this.$_parent("default",t,e)}},rebuild(t){if(t.$_terms.keys){let e=new iI.Sorter;for(let n of t.$_terms.keys)Kt.tryWithPath(()=>e.add(n,{after:n.schema.$_rootReferences(),group:n.key}),n.key);t.$_terms.keys=new de.Keys(...e.nodes)}},manifest:{build(t,e){if(e.keys&&(t=t.keys(e.keys)),e.dependencies)for(let{rel:n,key:r=null,peers:i,options:s}of e.dependencies)t=de.dependency(t,n,r,i,s);if(e.patterns)for(let{regex:n,schema:r,rule:i,fallthrough:s,matches:o}of e.patterns)t=t.pattern(n||r,i,{fallthrough:s,matches:o});if(e.renames)for(let{from:n,to:r,options:i}of e.renames)t=t.rename(n,r,i);return t}},messages:{"object.and":"{{#label}} contains {{#presentWithLabels}} without its required peers {{#missingWithLabels}}","object.assert":'{{#label}} is invalid because {if(#subject.key, `"` + #subject.key + `" failed to ` + (#message || "pass the assertion test"), #message || "the assertion failed")}',"object.base":"{{#label}} must be of type {{#type}}","object.instance":"{{#label}} must be an instance of {{:#type}}","object.length":'{{#label}} must have {{#limit}} key{if(#limit == 1, "", "s")}',"object.max":'{{#label}} must have less than or equal to {{#limit}} key{if(#limit == 1, "", "s")}',"object.min":'{{#label}} must have at least {{#limit}} key{if(#limit == 1, "", "s")}',"object.missing":"{{#label}} must contain at least one of {{#peersWithLabels}}","object.nand":"{{:#mainWithLabel}} must not exist simultaneously with {{#peersWithLabels}}","object.oxor":"{{#label}} contains a conflict between optional exclusive peers {{#peersWithLabels}}","object.pattern.match":"{{#label}} keys failed to match pattern requirements","object.refType":"{{#label}} must be a Joi reference","object.regex":"{{#label}} must be a RegExp object","object.rename.multiple":"{{#label}} cannot rename {{:#from}} because multiple renames are disabled and another key was already renamed to {{:#to}}","object.rename.override":"{{#label}} cannot rename {{:#from}} because override is disabled and target {{:#to}} exists","object.schema":"{{#label}} must be a Joi schema of {{#type}} type","object.unknown":"{{#label}} is not allowed","object.with":"{{:#mainWithLabel}} missing required peer {{:#peerWithLabel}}","object.without":"{{:#mainWithLabel}} conflict with forbidden peer {{:#peerWithLabel}}","object.xor":"{{#label}} contains a conflict between exclusive peers {{#peersWithLabels}}"}});de.clone=function(t,e){if(typeof t=="object"){if(e.nonEnumerables)return Ww(t,{shallow:!0});let r=Object.create(Object.getPrototypeOf(t));return Object.assign(r,t),r}let n=function(...r){return t.apply(this,r)};return n.prototype=Ww(t.prototype),Object.defineProperty(n,"name",{value:t.name,writable:!1}),Object.defineProperty(n,"length",{value:t.length,writable:!1}),Object.assign(n,t),n};de.dependency=function(t,e,n,r,i){Bn(n===null||typeof n=="string",e,"key must be a strings"),i||(i=r.length>1&&typeof r[r.length-1]=="object"?r.pop():{}),Kt.assertOptions(i,["separator","isPresent"]),r=[].concat(r);let s=Kt.default(i.separator,"."),o=[];for(let u of r)Bn(typeof u=="string",e,"peers must be strings"),o.push(xm.ref(u,{separator:s,ancestor:0,prefix:!1}));n!==null&&(n=xm.ref(n,{separator:s,ancestor:0,prefix:!1}));let a=t.clone();return a.$_terms.dependencies=a.$_terms.dependencies||[],a.$_terms.dependencies.push(new de.Dependency(e,n,o,r,i)),a};de.dependencies={and(t,e,n,r,i){let s=[],o=[],a=e.peers.length,u=de.isPresent(e.options);for(let c of e.peers)u(c.resolve(n,r,i,null,{shadow:!1}))===!1?s.push(c.key):o.push(c.key);if(s.length!==a&&o.length!==a)return{code:"object.and",context:{present:o,presentWithLabels:de.keysToLabels(t,o),missing:s,missingWithLabels:de.keysToLabels(t,s)}}},nand(t,e,n,r,i){let s=[],o=de.isPresent(e.options);for(let c of e.peers)o(c.resolve(n,r,i,null,{shadow:!1}))&&s.push(c.key);if(s.length!==e.peers.length)return;let a=e.paths[0],u=e.paths.slice(1);return{code:"object.nand",context:{main:a,mainWithLabel:de.keysToLabels(t,a),peers:u,peersWithLabels:de.keysToLabels(t,u)}}},or(t,e,n,r,i){let s=de.isPresent(e.options);for(let o of e.peers)if(s(o.resolve(n,r,i,null,{shadow:!1})))return;return{code:"object.missing",context:{peers:e.paths,peersWithLabels:de.keysToLabels(t,e.paths)}}},oxor(t,e,n,r,i){let s=[],o=de.isPresent(e.options);for(let u of e.peers)o(u.resolve(n,r,i,null,{shadow:!1}))&&s.push(u.key);if(!s.length||s.length===1)return;let a={peers:e.paths,peersWithLabels:de.keysToLabels(t,e.paths)};return a.present=s,a.presentWithLabels=de.keysToLabels(t,s),{code:"object.oxor",context:a}},with(t,e,n,r,i){let s=de.isPresent(e.options);for(let o of e.peers)if(s(o.resolve(n,r,i,null,{shadow:!1}))===!1)return{code:"object.with",context:{main:e.key.key,mainWithLabel:de.keysToLabels(t,e.key.key),peer:o.key,peerWithLabel:de.keysToLabels(t,o.key)}}},without(t,e,n,r,i){let s=de.isPresent(e.options);for(let o of e.peers)if(s(o.resolve(n,r,i,null,{shadow:!1})))return{code:"object.without",context:{main:e.key.key,mainWithLabel:de.keysToLabels(t,e.key.key),peer:o.key,peerWithLabel:de.keysToLabels(t,o.key)}}},xor(t,e,n,r,i){let s=[],o=de.isPresent(e.options);for(let u of e.peers)o(u.resolve(n,r,i,null,{shadow:!1}))&&s.push(u.key);if(s.length===1)return;let a={peers:e.paths,peersWithLabels:de.keysToLabels(t,e.paths)};return s.length===0?{code:"object.missing",context:a}:(a.present=s,a.presentWithLabels=de.keysToLabels(t,s),{code:"object.xor",context:a})}};de.keysToLabels=function(t,e){return Array.isArray(e)?e.map(n=>t.$_mapLabels(n)):t.$_mapLabels(e)};de.isPresent=function(t){return typeof t.isPresent=="function"?t.isPresent:e=>e!==void 0};de.rename=function(t,e,n,r,i){let s={};for(let o of t.$_terms.renames){let a=[],u=typeof o.from!="string";if(!u)Object.prototype.hasOwnProperty.call(e,o.from)&&(e[o.from]!==void 0||!o.options.ignoreUndefined)&&a.push(o);else for(let c in e){if(e[c]===void 0&&o.options.ignoreUndefined||c===o.to)continue;let l=o.from.exec(c);l&&a.push({from:c,to:o.to,match:l})}for(let c of a){let l=c.from,d=c.to;if(d instanceof Cl&&(d=d.render(e,n,r,c.match)),l!==d){if(!o.options.multiple&&s[d]&&(i.push(t.$_createError("object.rename.multiple",e,{from:l,to:d,pattern:u},n,r)),r.abortEarly)||Object.prototype.hasOwnProperty.call(e,d)&&!o.options.override&&!s[d]&&(i.push(t.$_createError("object.rename.override",e,{from:l,to:d,pattern:u},n,r)),r.abortEarly))return!1;e[l]===void 0?delete e[d]:e[d]=e[l],s[d]=!0,o.options.alias||delete e[l]}}}return!0};de.unknown=function(t,e,n,r,i,s){if(t.$_terms.patterns){let a=!1,u=t.$_terms.patterns.map(l=>{if(l.matches)return a=!0,[]}),c=[e,...i.ancestors];for(let l of n){let d=e[l],p=[...i.path,l];for(let b=0;b<t.$_terms.patterns.length;++b){let T=t.$_terms.patterns[b];if(T.regex){let M=T.regex.test(l);if(i.mainstay.tracer.debug(i,"rule",`pattern.${b}`,M?"pass":"error"),!M)continue}else if(!T.schema.$_match(l,i.nest(T.schema,`pattern.${b}`),s))continue;n.delete(l);let E=i.localize(p,c,{schema:T.rule,key:l}),L=T.rule.$_validate(d,E,s);if(L.errors){if(s.abortEarly)return{value:e,errors:L.errors};r.push(...L.errors)}if(T.matches&&u[b].push(l),e[l]=L.value,!T.fallthrough)break}}if(a)for(let l=0;l<u.length;++l){let d=u[l];if(!d)continue;let p=t.$_terms.patterns[l].matches,b=i.localize(i.path,c,p),T=p.$_validate(d,b,s);if(T.errors){let E=oI.details(T.errors,{override:!1});E.matches=d;let L=t.$_createError("object.pattern.match",e,E,i,s);if(s.abortEarly)return{value:e,errors:L};r.push(L)}}}if(!n.size||!t.$_terms.keys&&!t.$_terms.patterns)return;if(s.stripUnknown&&typeof t._flags.unknown>"u"||s.skipFunctions){let a=s.stripUnknown?s.stripUnknown===!0?!0:!!s.stripUnknown.objects:!1;for(let u of n)a?(delete e[u],n.delete(u)):typeof e[u]=="function"&&n.delete(u)}if(!Kt.default(t._flags.unknown,s.allowUnknown))for(let a of n){let u=i.localize([...i.path,a],[]),c=t.$_createError("object.unknown",e[a],{child:a},u,s,{flags:!1});if(s.abortEarly)return{value:e,errors:c};r.push(c)}};de.Dependency=class{constructor(t,e,n,r,i){this.rel=t,this.key=e,this.peers=n,this.paths=r,this.options=i}describe(){let t={rel:this.rel,peers:this.paths};return this.key!==null&&(t.key=this.key.key),this.peers[0].separator!=="."&&(t.options={...t.options,separator:this.peers[0].separator}),this.options.isPresent&&(t.options={...t.options,isPresent:this.options.isPresent}),t}};de.Keys=class extends Array{concat(t){let e=this.slice(),n=new Map;for(let r=0;r<e.length;++r)n.set(e[r].key,r);for(let r of t){let i=r.key,s=n.get(i);s!==void 0?e[s]={key:i,schema:e[s].schema.concat(r.schema)}:e.push(r)}return e}}});var Kw=g((qB,zw)=>{"use strict";var Em=Re(),aI=wm();zw.exports=aI.extend({type:"function",properties:{typeof:"function"},rules:{arity:{method(t){return Em(Number.isSafeInteger(t)&&t>=0,"n must be a positive integer"),this.$_addRule({name:"arity",args:{n:t}})},validate(t,e,{n}){return t.length===n?t:e.error("function.arity",{n})}},class:{method(){return this.$_addRule("class")},validate(t,e){return/^\s*class\s/.test(t.toString())?t:e.error("function.class",{value:t})}},minArity:{method(t){return Em(Number.isSafeInteger(t)&&t>0,"n must be a strict positive integer"),this.$_addRule({name:"minArity",args:{n:t}})},validate(t,e,{n}){return t.length>=n?t:e.error("function.minArity",{n})}},maxArity:{method(t){return Em(Number.isSafeInteger(t)&&t>=0,"n must be a positive integer"),this.$_addRule({name:"maxArity",args:{n:t}})},validate(t,e,{n}){return t.length<=n?t:e.error("function.maxArity",{n})}}},messages:{"function.arity":"{{#label}} must have an arity of {{#n}}","function.class":"{{#label}} must be a class","function.maxArity":"{{#label}} must have an arity lesser or equal to {{#n}}","function.minArity":"{{#label}} must have an arity greater or equal to {{#n}}"}})});var Yw=g((jB,Xw)=>{"use strict";var jr=Re(),uI=Fn(),cI=Je(),lI=Xi(),dI=Ir(),Fr={};Xw.exports=uI.extend({type:"link",properties:{schemaChain:!0},terms:{link:{init:null,manifest:"single",register:!1}},args(t,e){return t.ref(e)},validate(t,{schema:e,state:n,prefs:r}){jr(e.$_terms.link,"Uninitialized link schema");let i=Fr.generate(e,t,n,r),s=e.$_terms.link[0].ref;return i.$_validate(t,n.nest(i,`link:${s.display}:${i.type}`),r)},generate(t,e,n,r){return Fr.generate(t,e,n,r)},rules:{ref:{method(t){jr(!this.$_terms.link,"Cannot reinitialize schema"),t=lI.ref(t),jr(t.type==="value"||t.type==="local","Invalid reference type:",t.type),jr(t.type==="local"||t.ancestor==="root"||t.ancestor>0,"Link cannot reference itself");let e=this.clone();return e.$_terms.link=[{ref:t}],e}},relative:{method(t=!0){return this.$_setFlag("relative",t)}}},overrides:{concat(t){jr(this.$_terms.link,"Uninitialized link schema"),jr(cI.isSchema(t),"Invalid schema object"),jr(t.type!=="link","Cannot merge type link with another link");let e=this.clone();return e.$_terms.whens||(e.$_terms.whens=[]),e.$_terms.whens.push({concat:t}),e.$_mutateRebuild()}},manifest:{build(t,e){return jr(e.link,"Invalid link description missing link"),t.ref(e.link)}}});Fr.generate=function(t,e,n,r){let i=n.mainstay.links.get(t);if(i)return i._generate(e,n,r).schema;let s=t.$_terms.link[0].ref,{perspective:o,path:a}=Fr.perspective(s,n);Fr.assert(o,"which is outside of schema boundaries",s,t,n,r);try{i=a.length?o.$_reach(a):o}catch{Fr.assert(!1,"to non-existing schema",s,t,n,r)}return Fr.assert(i.type!=="link","which is another link",s,t,n,r),t._flags.relative||n.mainstay.links.set(t,i),i._generate(e,n,r).schema};Fr.perspective=function(t,e){if(t.type==="local"){for(let{schema:n,key:r}of e.schemas){if((n._flags.id||r)===t.path[0])return{perspective:n,path:t.path.slice(1)};if(n.$_terms.shared){for(let s of n.$_terms.shared)if(s._flags.id===t.path[0])return{perspective:s,path:t.path.slice(1)}}}return{perspective:null,path:null}}return t.ancestor==="root"?{perspective:e.schemas[e.schemas.length-1].schema,path:t.path}:{perspective:e.schemas[t.ancestor]&&e.schemas[t.ancestor].schema,path:t.path}};Fr.assert=function(t,e,n,r,i,s){t||jr(!1,`"${dI.label(r._flags,i,s)}" contains link reference "${n.display}" ${e}`)}});var Qw=g((FB,Jw)=>{"use strict";var Am=Re(),fI=Fn(),Om=Je(),xn={numberRx:/^\s*[+-]?(?:(?:\d+(?:\.\d*)?)|(?:\.\d+))(?:e([+-]?\d+))?\s*$/i,precisionRx:/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/,exponentialPartRegex:/[eE][+-]?\d+$/,leadingSignAndZerosRegex:/^[+-]?(0*)?/,dotRegex:/\./,trailingZerosRegex:/0+$/,decimalPlaces(t){let e=t.toString(),n=e.indexOf("."),r=e.indexOf("e");return(n<0?0:(r<0?e.length:r)-n-1)+(r<0?0:Math.max(0,-parseInt(e.slice(r+1))))}};Jw.exports=fI.extend({type:"number",flags:{unsafe:{default:!1}},coerce:{from:"string",method(t,{schema:e,error:n}){if(!t.match(xn.numberRx))return;t=t.trim();let i={value:parseFloat(t)};if(i.value===0&&(i.value=0),!e._flags.unsafe)if(t.match(/e/i)){if(xn.extractSignificantDigits(t)!==xn.extractSignificantDigits(String(i.value)))return i.errors=n("number.unsafe"),i}else{let s=i.value.toString();if(s.match(/e/i))return i;if(s!==xn.normalizeDecimal(t))return i.errors=n("number.unsafe"),i}return i}},validate(t,{schema:e,error:n,prefs:r}){if(t===1/0||t===-1/0)return{value:t,errors:n("number.infinity")};if(!Om.isNumber(t))return{value:t,errors:n("number.base")};let i={value:t};if(r.convert){let s=e.$_getRule("precision");if(s){let o=Math.pow(10,s.args.limit);i.value=Math.round(i.value*o)/o}}return i.value===0&&(i.value=0),!e._flags.unsafe&&(t>Number.MAX_SAFE_INTEGER||t<Number.MIN_SAFE_INTEGER)&&(i.errors=n("number.unsafe")),i},rules:{compare:{method:!1,validate(t,e,{limit:n},{name:r,operator:i,args:s}){return Om.compare(t,n,i)?t:e.error("number."+r,{limit:s.limit,value:t})},args:[{name:"limit",ref:!0,assert:Om.isNumber,message:"must be a number"}]},greater:{method(t){return this.$_addRule({name:"greater",method:"compare",args:{limit:t},operator:">"})}},integer:{method(){return this.$_addRule("integer")},validate(t,e){return Math.trunc(t)-t===0?t:e.error("number.integer")}},less:{method(t){return this.$_addRule({name:"less",method:"compare",args:{limit:t},operator:"<"})}},max:{method(t){return this.$_addRule({name:"max",method:"compare",args:{limit:t},operator:"<="})}},min:{method(t){return this.$_addRule({name:"min",method:"compare",args:{limit:t},operator:">="})}},multiple:{method(t){let e=typeof t=="number"?xn.decimalPlaces(t):null,n=Math.pow(10,e);return this.$_addRule({name:"multiple",args:{base:t,baseDecimalPlace:e,pfactor:n}})},validate(t,e,{base:n,baseDecimalPlace:r,pfactor:i},s){return xn.decimalPlaces(t)>r?e.error("number.multiple",{multiple:s.args.base,value:t}):Math.round(i*t)%Math.round(i*n)===0?t:e.error("number.multiple",{multiple:s.args.base,value:t})},args:[{name:"base",ref:!0,assert:t=>typeof t=="number"&&isFinite(t)&&t>0,message:"must be a positive number"},"baseDecimalPlace","pfactor"],multi:!0},negative:{method(){return this.sign("negative")}},port:{method(){return this.$_addRule("port")},validate(t,e){return Number.isSafeInteger(t)&&t>=0&&t<=65535?t:e.error("number.port")}},positive:{method(){return this.sign("positive")}},precision:{method(t){return Am(Number.isSafeInteger(t),"limit must be an integer"),this.$_addRule({name:"precision",args:{limit:t}})},validate(t,e,{limit:n}){let r=t.toString().match(xn.precisionRx);return Math.max((r[1]?r[1].length:0)-(r[2]?parseInt(r[2],10):0),0)<=n?t:e.error("number.precision",{limit:n,value:t})},convert:!0},sign:{method(t){return Am(["negative","positive"].includes(t),"Invalid sign",t),this.$_addRule({name:"sign",args:{sign:t}})},validate(t,e,{sign:n}){return n==="negative"&&t<0||n==="positive"&&t>0?t:e.error(`number.${n}`)}},unsafe:{method(t=!0){return Am(typeof t=="boolean","enabled must be a boolean"),this.$_setFlag("unsafe",t)}}},cast:{string:{from:t=>typeof t=="number",to(t,e){return t.toString()}}},messages:{"number.base":"{{#label}} must be a number","number.greater":"{{#label}} must be greater than {{#limit}}","number.infinity":"{{#label}} cannot be infinity","number.integer":"{{#label}} must be an integer","number.less":"{{#label}} must be less than {{#limit}}","number.max":"{{#label}} must be less than or equal to {{#limit}}","number.min":"{{#label}} must be greater than or equal to {{#limit}}","number.multiple":"{{#label}} must be a multiple of {{#multiple}}","number.negative":"{{#label}} must be a negative number","number.port":"{{#label}} must be a valid port","number.positive":"{{#label}} must be a positive number","number.precision":"{{#label}} must have no more than {{#limit}} decimal places","number.unsafe":"{{#label}} must be a safe number"}});xn.extractSignificantDigits=function(t){return t.replace(xn.exponentialPartRegex,"").replace(xn.dotRegex,"").replace(xn.trailingZerosRegex,"").replace(xn.leadingSignAndZerosRegex,"")};xn.normalizeDecimal=function(t){return t=t.replace(/^\+/,"").replace(/\.0*$/,"").replace(/^(-?)\.([^\.]*)$/,"$10.$2").replace(/^(-?)0+([0-9])/,"$1$2"),t.includes(".")&&t.endsWith("0")&&(t=t.replace(/0+$/,"")),t==="-0"?"0":t}});var e0=g(($B,Zw)=>{"use strict";var pI=wm();Zw.exports=pI.extend({type:"object",cast:{map:{from:t=>t&&typeof t=="object",to(t,e){return new Map(Object.entries(t))}}}})});var Cm=g(Rl=>{"use strict";Rl.codes={EMPTY_STRING:"Address must be a non-empty string",FORBIDDEN_UNICODE:"Address contains forbidden Unicode characters",MULTIPLE_AT_CHAR:"Address cannot contain more than one @ character",MISSING_AT_CHAR:"Address must contain one @ character",EMPTY_LOCAL:"Address local part cannot be empty",ADDRESS_TOO_LONG:"Address too long",LOCAL_TOO_LONG:"Address local part too long",EMPTY_LOCAL_SEGMENT:"Address local part contains empty dot-separated segment",INVALID_LOCAL_CHARS:"Address local part contains invalid character",DOMAIN_NON_EMPTY_STRING:"Domain must be a non-empty string",DOMAIN_TOO_LONG:"Domain too long",DOMAIN_INVALID_UNICODE_CHARS:"Domain contains forbidden Unicode characters",DOMAIN_INVALID_CHARS:"Domain contains invalid character",DOMAIN_INVALID_TLDS_CHARS:"Domain contains invalid tld character",DOMAIN_SEGMENTS_COUNT:"Domain lacks the minimum required number of segments",DOMAIN_SEGMENTS_COUNT_MAX:"Domain contains too many segments",DOMAIN_FORBIDDEN_TLDS:"Domain uses forbidden TLD",DOMAIN_EMPTY_SEGMENT:"Domain contains empty dot-separated segment",DOMAIN_LONG_SEGMENT:"Domain contains dot-separated segment that is too long"};Rl.code=function(t){return{code:t,error:Rl.codes[t]}}});var Rm=g(Dl=>{"use strict";var hI=require("url"),nr=Cm(),bi={minDomainSegments:2,nonAsciiRx:/[^\x00-\x7f]/,domainControlRx:/[\x00-\x20@\:\/\\#!\$&\'\(\)\*\+,;=\?]/,tldSegmentRx:/^[a-zA-Z](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?$/,domainSegmentRx:/^[a-zA-Z0-9](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?$/,URL:hI.URL||URL};Dl.analyze=function(t,e={}){if(!t)return nr.code("DOMAIN_NON_EMPTY_STRING");if(typeof t!="string")throw new Error("Invalid input: domain must be a string");if(t.length>256)return nr.code("DOMAIN_TOO_LONG");if(!!bi.nonAsciiRx.test(t)){if(e.allowUnicode===!1)return nr.code("DOMAIN_INVALID_UNICODE_CHARS");t=t.normalize("NFC")}if(bi.domainControlRx.test(t))return nr.code("DOMAIN_INVALID_CHARS");t=bi.punycode(t),e.allowFullyQualified&&t[t.length-1]==="."&&(t=t.slice(0,-1));let r=e.minDomainSegments||bi.minDomainSegments,i=t.split(".");if(i.length<r)return nr.code("DOMAIN_SEGMENTS_COUNT");if(e.maxDomainSegments&&i.length>e.maxDomainSegments)return nr.code("DOMAIN_SEGMENTS_COUNT_MAX");let s=e.tlds;if(s){let o=i[i.length-1].toLowerCase();if(s.deny&&s.deny.has(o)||s.allow&&!s.allow.has(o))return nr.code("DOMAIN_FORBIDDEN_TLDS")}for(let o=0;o<i.length;++o){let a=i[o];if(!a.length)return nr.code("DOMAIN_EMPTY_SEGMENT");if(a.length>63)return nr.code("DOMAIN_LONG_SEGMENT");if(o<i.length-1){if(!bi.domainSegmentRx.test(a))return nr.code("DOMAIN_INVALID_CHARS")}else if(!bi.tldSegmentRx.test(a))return nr.code("DOMAIN_INVALID_TLDS_CHARS")}return null};Dl.isValid=function(t,e){return!Dl.analyze(t,e)};bi.punycode=function(t){t.includes("%")&&(t=t.replace(/%/g,"%25"));try{return new bi.URL(`http://${t}`).host}catch{return t}}});var t0=g(Dm=>{"use strict";var gI=require("util"),mI=Rm(),_r=Cm(),nn={nonAsciiRx:/[^\x00-\x7f]/,encoder:new(gI.TextEncoder||TextEncoder)};Dm.analyze=function(t,e){return nn.email(t,e)};Dm.isValid=function(t,e){return!nn.email(t,e)};nn.email=function(t,e={}){if(typeof t!="string")throw new Error("Invalid input: email must be a string");if(!t)return _r.code("EMPTY_STRING");let n=!nn.nonAsciiRx.test(t);if(!n){if(e.allowUnicode===!1)return _r.code("FORBIDDEN_UNICODE");t=t.normalize("NFC")}let r=t.split("@");if(r.length!==2)return r.length>2?_r.code("MULTIPLE_AT_CHAR"):_r.code("MISSING_AT_CHAR");let[i,s]=r;if(!i)return _r.code("EMPTY_LOCAL");if(!e.ignoreLength){if(t.length>254)return _r.code("ADDRESS_TOO_LONG");if(nn.encoder.encode(i).length>64)return _r.code("LOCAL_TOO_LONG")}return nn.local(i,n)||mI.analyze(s,e)};nn.local=function(t,e){let n=t.split(".");for(let r of n){if(!r.length)return _r.code("EMPTY_LOCAL_SEGMENT");if(e){if(!nn.atextRx.test(r))return _r.code("INVALID_LOCAL_CHARS");continue}for(let i of r){if(nn.atextRx.test(i))continue;let s=nn.binary(i);if(!nn.atomRx.test(s))return _r.code("INVALID_LOCAL_CHARS")}}};nn.binary=function(t){return Array.from(nn.encoder.encode(t)).map(e=>String.fromCharCode(e)).join("")};nn.atextRx=/^[\w!#\$%&'\*\+\-/=\?\^`\{\|\}~]+$/;nn.atomRx=new RegExp(["(?:[\\xc2-\\xdf][\\x80-\\xbf])","(?:\\xe0[\\xa0-\\xbf][\\x80-\\xbf])|(?:[\\xe1-\\xec][\\x80-\\xbf]{2})|(?:\\xed[\\x80-\\x9f][\\x80-\\xbf])|(?:[\\xee-\\xef][\\x80-\\xbf]{2})","(?:\\xf0[\\x90-\\xbf][\\x80-\\xbf]{2})|(?:[\\xf1-\\xf3][\\x80-\\xbf]{3})|(?:\\xf4[\\x80-\\x8f][\\x80-\\xbf]{2})"].join("|"))});var Pm=g((WB,n0)=>{"use strict";n0.exports=function(t){return t.replace(/[\^\$\.\*\+\-\?\=\!\:\|\\\/\(\)\[\]\{\}\,]/g,"\\$&")}});var Mm=g(Im=>{"use strict";var Pl=Re(),yI=Pm(),$t={};$t.generate=function(){let t={},e="\\dA-Fa-f",n="["+e+"]",r="\\w-\\.~",i="!\\$&'\\(\\)\\*\\+,;=",s="%"+e,o=r+s+i+":@",a="["+o+"]",u="(?:0{0,2}\\d|0?[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])";t.ipv4address="(?:"+u+"\\.){3}"+u;let c=n+"{1,4}",l="(?:"+c+":"+c+"|"+t.ipv4address+")",d="(?:"+c+":){6}"+l,p="::(?:"+c+":){5}"+l,b="(?:"+c+")?::(?:"+c+":){4}"+l,T="(?:(?:"+c+":){0,1}"+c+")?::(?:"+c+":){3}"+l,E="(?:(?:"+c+":){0,2}"+c+")?::(?:"+c+":){2}"+l,L="(?:(?:"+c+":){0,3}"+c+")?::"+c+":"+l,M="(?:(?:"+c+":){0,4}"+c+")?::"+l,x="(?:(?:"+c+":){0,5}"+c+")?::"+c,k="(?:(?:"+c+":){0,6}"+c+")?::";t.ipv4Cidr="(?:\\d|[1-2]\\d|3[0-2])",t.ipv6Cidr="(?:0{0,2}\\d|0?[1-9]\\d|1[01]\\d|12[0-8])",t.ipv6address="(?:"+d+"|"+p+"|"+b+"|"+T+"|"+E+"|"+L+"|"+M+"|"+x+"|"+k+")",t.ipvFuture="v"+n+"+\\.["+r+i+":]+",t.scheme="[a-zA-Z][a-zA-Z\\d+-\\.]*",t.schemeRegex=new RegExp(t.scheme);let v="["+r+s+i+":]*",F="\\[(?:"+t.ipv6address+"|"+t.ipvFuture+")\\]",C="["+r+s+i+"]{1,255}",V="(?:"+F+"|"+t.ipv4address+"|"+C+")",ae="\\d*",ge="(?:"+v+"@)?"+V+"(?::"+ae+")?",G="(?:"+v+"@)?("+V+")(?::"+ae+")?",A=a+"*",P=a+"+",I="["+r+s+i+"@]+",j="",fe="(?:\\/"+A+")*",le="\\/(?:"+P+fe+")?",Rt=P+fe,ht=I+fe,qe="(?:\\/\\/\\/"+A+fe+")";return t.hierPart="(?:(?:\\/\\/"+ge+fe+")|"+le+"|"+Rt+"|"+qe+")",t.hierPartCapture="(?:(?:\\/\\/"+G+fe+")|"+le+"|"+Rt+")",t.relativeRef="(?:(?:\\/\\/"+ge+fe+")|"+le+"|"+ht+"|"+j+")",t.relativeRefCapture="(?:(?:\\/\\/"+G+fe+")|"+le+"|"+ht+"|"+j+")",t.query="["+o+"\\/\\?]*(?=#|$)",t.queryWithSquareBrackets="["+o+"\\[\\]\\/\\?]*(?=#|$)",t.fragment="["+o+"\\/\\?]*",t};$t.rfc3986=$t.generate();Im.ip={v4Cidr:$t.rfc3986.ipv4Cidr,v6Cidr:$t.rfc3986.ipv6Cidr,ipv4:$t.rfc3986.ipv4address,ipv6:$t.rfc3986.ipv6address,ipvfuture:$t.rfc3986.ipvFuture};$t.createRegex=function(t){let e=$t.rfc3986,r="(?:\\?"+(t.allowQuerySquareBrackets?e.queryWithSquareBrackets:e.query)+")?(?:#"+e.fragment+")?",i=t.domain?e.relativeRefCapture:e.relativeRef;if(t.relativeOnly)return $t.wrap(i+r);let s="";if(t.scheme){Pl(t.scheme instanceof RegExp||typeof t.scheme=="string"||Array.isArray(t.scheme),"scheme must be a RegExp, String, or Array");let c=[].concat(t.scheme);Pl(c.length>=1,"scheme must have at least 1 scheme specified");let l=[];for(let d=0;d<c.length;++d){let p=c[d];Pl(p instanceof RegExp||typeof p=="string","scheme at position "+d+" must be a RegExp or String"),p instanceof RegExp?l.push(p.source.toString()):(Pl(e.schemeRegex.test(p),"scheme at position "+d+" must be a valid scheme"),l.push(yI(p)))}s=l.join("|")}let a="(?:"+(s?"(?:"+s+")":e.scheme)+":"+(t.domain?e.hierPartCapture:e.hierPart)+")",u=t.allowRelative?"(?:"+a+"|"+i+")":a;return $t.wrap(u+r,s)};$t.wrap=function(t,e){return t=`(?=.)(?!https?:/(?:$|[^/]))(?!https?:///)(?!https?:[^/])${t}`,{raw:t,regex:new RegExp(`^${t}$`),scheme:e}};$t.uriRegex=$t.createRegex({});Im.regex=function(t={}){return t.scheme||t.allowRelative||t.relativeOnly||t.allowQuerySquareBrackets||t.domain?$t.createRegex(t):$t.uriRegex}});var i0=g(r0=>{"use strict";var no=Re(),Oa=Mm();r0.regex=function(t={}){no(t.cidr===void 0||typeof t.cidr=="string","options.cidr must be a string");let e=t.cidr?t.cidr.toLowerCase():"optional";no(["required","optional","forbidden"].includes(e),"options.cidr must be one of required, optional, forbidden"),no(t.version===void 0||typeof t.version=="string"||Array.isArray(t.version),"options.version must be a string or an array of string");let n=t.version||["ipv4","ipv6","ipvfuture"];Array.isArray(n)||(n=[n]),no(n.length>=1,"options.version must have at least 1 version specified");for(let o=0;o<n.length;++o)no(typeof n[o]=="string","options.version must only contain strings"),n[o]=n[o].toLowerCase(),no(["ipv4","ipv6","ipvfuture"].includes(n[o]),"options.version contains unknown version "+n[o]+" - must be one of ipv4, ipv6, ipvfuture");n=Array.from(new Set(n));let i=`(?:${n.map(o=>{if(e==="forbidden")return Oa.ip[o];let a=`\\/${o==="ipv4"?Oa.ip.v4Cidr:Oa.ip.v6Cidr}`;return e==="required"?`${Oa.ip[o]}${a}`:`${Oa.ip[o]}(?:${a})?`}).join("|")})`,s=new RegExp(`^${i}$`);return{cidr:e,versions:n,regex:s,raw:i}}});var a0=g((zB,o0)=>{"use strict";var s0={};s0.tlds=["AAA","AARP","ABB","ABBOTT","ABBVIE","ABC","ABLE","ABOGADO","ABUDHABI","AC","ACADEMY","ACCENTURE","ACCOUNTANT","ACCOUNTANTS","ACO","ACTOR","AD","ADS","ADULT","AE","AEG","AERO","AETNA","AF","AFL","AFRICA","AG","AGAKHAN","AGENCY","AI","AIG","AIRBUS","AIRFORCE","AIRTEL","AKDN","AL","ALIBABA","ALIPAY","ALLFINANZ","ALLSTATE","ALLY","ALSACE","ALSTOM","AM","AMAZON","AMERICANEXPRESS","AMERICANFAMILY","AMEX","AMFAM","AMICA","AMSTERDAM","ANALYTICS","ANDROID","ANQUAN","ANZ","AO","AOL","APARTMENTS","APP","APPLE","AQ","AQUARELLE","AR","ARAB","ARAMCO","ARCHI","ARMY","ARPA","ART","ARTE","AS","ASDA","ASIA","ASSOCIATES","AT","ATHLETA","ATTORNEY","AU","AUCTION","AUDI","AUDIBLE","AUDIO","AUSPOST","AUTHOR","AUTO","AUTOS","AVIANCA","AW","AWS","AX","AXA","AZ","AZURE","BA","BABY","BAIDU","BANAMEX","BAND","BANK","BAR","BARCELONA","BARCLAYCARD","BARCLAYS","BAREFOOT","BARGAINS","BASEBALL","BASKETBALL","BAUHAUS","BAYERN","BB","BBC","BBT","BBVA","BCG","BCN","BD","BE","BEATS","BEAUTY","BEER","BENTLEY","BERLIN","BEST","BESTBUY","BET","BF","BG","BH","BHARTI","BI","BIBLE","BID","BIKE","BING","BINGO","BIO","BIZ","BJ","BLACK","BLACKFRIDAY","BLOCKBUSTER","BLOG","BLOOMBERG","BLUE","BM","BMS","BMW","BN","BNPPARIBAS","BO","BOATS","BOEHRINGER","BOFA","BOM","BOND","BOO","BOOK","BOOKING","BOSCH","BOSTIK","BOSTON","BOT","BOUTIQUE","BOX","BR","BRADESCO","BRIDGESTONE","BROADWAY","BROKER","BROTHER","BRUSSELS","BS","BT","BUILD","BUILDERS","BUSINESS","BUY","BUZZ","BV","BW","BY","BZ","BZH","CA","CAB","CAFE","CAL","CALL","CALVINKLEIN","CAM","CAMERA","CAMP","CANON","CAPETOWN","CAPITAL","CAPITALONE","CAR","CARAVAN","CARDS","CARE","CAREER","CAREERS","CARS","CASA","CASE","CASH","CASINO","CAT","CATERING","CATHOLIC","CBA","CBN","CBRE","CC","CD","CENTER","CEO","CERN","CF","CFA","CFD","CG","CH","CHANEL","CHANNEL","CHARITY","CHASE","CHAT","CHEAP","CHINTAI","CHRISTMAS","CHROME","CHURCH","CI","CIPRIANI","CIRCLE","CISCO","CITADEL","CITI","CITIC","CITY","CK","CL","CLAIMS","CLEANING","CLICK","CLINIC","CLINIQUE","CLOTHING","CLOUD","CLUB","CLUBMED","CM","CN","CO","COACH","CODES","COFFEE","COLLEGE","COLOGNE","COM","COMCAST","COMMBANK","COMMUNITY","COMPANY","COMPARE","COMPUTER","COMSEC","CONDOS","CONSTRUCTION","CONSULTING","CONTACT","CONTRACTORS","COOKING","COOL","COOP","CORSICA","COUNTRY","COUPON","COUPONS","COURSES","CPA","CR","CREDIT","CREDITCARD","CREDITUNION","CRICKET","CROWN","CRS","CRUISE","CRUISES","CU","CUISINELLA","CV","CW","CX","CY","CYMRU","CYOU","CZ","DABUR","DAD","DANCE","DATA","DATE","DATING","DATSUN","DAY","DCLK","DDS","DE","DEAL","DEALER","DEALS","DEGREE","DELIVERY","DELL","DELOITTE","DELTA","DEMOCRAT","DENTAL","DENTIST","DESI","DESIGN","DEV","DHL","DIAMONDS","DIET","DIGITAL","DIRECT","DIRECTORY","DISCOUNT","DISCOVER","DISH","DIY","DJ","DK","DM","DNP","DO","DOCS","DOCTOR","DOG","DOMAINS","DOT","DOWNLOAD","DRIVE","DTV","DUBAI","DUNLOP","DUPONT","DURBAN","DVAG","DVR","DZ","EARTH","EAT","EC","ECO","EDEKA","EDU","EDUCATION","EE","EG","EMAIL","EMERCK","ENERGY","ENGINEER","ENGINEERING","ENTERPRISES","EPSON","EQUIPMENT","ER","ERICSSON","ERNI","ES","ESQ","ESTATE","ET","EU","EUROVISION","EUS","EVENTS","EXCHANGE","EXPERT","EXPOSED","EXPRESS","EXTRASPACE","FAGE","FAIL","FAIRWINDS","FAITH","FAMILY","FAN","FANS","FARM","FARMERS","FASHION","FAST","FEDEX","FEEDBACK","FERRARI","FERRERO","FI","FIDELITY","FIDO","FILM","FINAL","FINANCE","FINANCIAL","FIRE","FIRESTONE","FIRMDALE","FISH","FISHING","FIT","FITNESS","FJ","FK","FLICKR","FLIGHTS","FLIR","FLORIST","FLOWERS","FLY","FM","FO","FOO","FOOD","FOOTBALL","FORD","FOREX","FORSALE","FORUM","FOUNDATION","FOX","FR","FREE","FRESENIUS","FRL","FROGANS","FRONTIER","FTR","FUJITSU","FUN","FUND","FURNITURE","FUTBOL","FYI","GA","GAL","GALLERY","GALLO","GALLUP","GAME","GAMES","GAP","GARDEN","GAY","GB","GBIZ","GD","GDN","GE","GEA","GENT","GENTING","GEORGE","GF","GG","GGEE","GH","GI","GIFT","GIFTS","GIVES","GIVING","GL","GLASS","GLE","GLOBAL","GLOBO","GM","GMAIL","GMBH","GMO","GMX","GN","GODADDY","GOLD","GOLDPOINT","GOLF","GOO","GOODYEAR","GOOG","GOOGLE","GOP","GOT","GOV","GP","GQ","GR","GRAINGER","GRAPHICS","GRATIS","GREEN","GRIPE","GROCERY","GROUP","GS","GT","GU","GUARDIAN","GUCCI","GUGE","GUIDE","GUITARS","GURU","GW","GY","HAIR","HAMBURG","HANGOUT","HAUS","HBO","HDFC","HDFCBANK","HEALTH","HEALTHCARE","HELP","HELSINKI","HERE","HERMES","HIPHOP","HISAMITSU","HITACHI","HIV","HK","HKT","HM","HN","HOCKEY","HOLDINGS","HOLIDAY","HOMEDEPOT","HOMEGOODS","HOMES","HOMESENSE","HONDA","HORSE","HOSPITAL","HOST","HOSTING","HOT","HOTELS","HOTMAIL","HOUSE","HOW","HR","HSBC","HT","HU","HUGHES","HYATT","HYUNDAI","IBM","ICBC","ICE","ICU","ID","IE","IEEE","IFM","IKANO","IL","IM","IMAMAT","IMDB","IMMO","IMMOBILIEN","IN","INC","INDUSTRIES","INFINITI","INFO","ING","INK","INSTITUTE","INSURANCE","INSURE","INT","INTERNATIONAL","INTUIT","INVESTMENTS","IO","IPIRANGA","IQ","IR","IRISH","IS","ISMAILI","IST","ISTANBUL","IT","ITAU","ITV","JAGUAR","JAVA","JCB","JE","JEEP","JETZT","JEWELRY","JIO","JLL","JM","JMP","JNJ","JO","JOBS","JOBURG","JOT","JOY","JP","JPMORGAN","JPRS","JUEGOS","JUNIPER","KAUFEN","KDDI","KE","KERRYHOTELS","KERRYLOGISTICS","KERRYPROPERTIES","KFH","KG","KH","KI","KIA","KIDS","KIM","KINDLE","KITCHEN","KIWI","KM","KN","KOELN","KOMATSU","KOSHER","KP","KPMG","KPN","KR","KRD","KRED","KUOKGROUP","KW","KY","KYOTO","KZ","LA","LACAIXA","LAMBORGHINI","LAMER","LANCASTER","LAND","LANDROVER","LANXESS","LASALLE","LAT","LATINO","LATROBE","LAW","LAWYER","LB","LC","LDS","LEASE","LECLERC","LEFRAK","LEGAL","LEGO","LEXUS","LGBT","LI","LIDL","LIFE","LIFEINSURANCE","LIFESTYLE","LIGHTING","LIKE","LILLY","LIMITED","LIMO","LINCOLN","LINK","LIPSY","LIVE","LIVING","LK","LLC","LLP","LOAN","LOANS","LOCKER","LOCUS","LOL","LONDON","LOTTE","LOTTO","LOVE","LPL","LPLFINANCIAL","LR","LS","LT","LTD","LTDA","LU","LUNDBECK","LUXE","LUXURY","LV","LY","MA","MADRID","MAIF","MAISON","MAKEUP","MAN","MANAGEMENT","MANGO","MAP","MARKET","MARKETING","MARKETS","MARRIOTT","MARSHALLS","MATTEL","MBA","MC","MCKINSEY","MD","ME","MED","MEDIA","MEET","MELBOURNE","MEME","MEMORIAL","MEN","MENU","MERCKMSD","MG","MH","MIAMI","MICROSOFT","MIL","MINI","MINT","MIT","MITSUBISHI","MK","ML","MLB","MLS","MM","MMA","MN","MO","MOBI","MOBILE","MODA","MOE","MOI","MOM","MONASH","MONEY","MONSTER","MORMON","MORTGAGE","MOSCOW","MOTO","MOTORCYCLES","MOV","MOVIE","MP","MQ","MR","MS","MSD","MT","MTN","MTR","MU","MUSEUM","MUSIC","MV","MW","MX","MY","MZ","NA","NAB","NAGOYA","NAME","NATURA","NAVY","NBA","NC","NE","NEC","NET","NETBANK","NETFLIX","NETWORK","NEUSTAR","NEW","NEWS","NEXT","NEXTDIRECT","NEXUS","NF","NFL","NG","NGO","NHK","NI","NICO","NIKE","NIKON","NINJA","NISSAN","NISSAY","NL","NO","NOKIA","NORTON","NOW","NOWRUZ","NOWTV","NP","NR","NRA","NRW","NTT","NU","NYC","NZ","OBI","OBSERVER","OFFICE","OKINAWA","OLAYAN","OLAYANGROUP","OLLO","OM","OMEGA","ONE","ONG","ONL","ONLINE","OOO","OPEN","ORACLE","ORANGE","ORG","ORGANIC","ORIGINS","OSAKA","OTSUKA","OTT","OVH","PA","PAGE","PANASONIC","PARIS","PARS","PARTNERS","PARTS","PARTY","PAY","PCCW","PE","PET","PF","PFIZER","PG","PH","PHARMACY","PHD","PHILIPS","PHONE","PHOTO","PHOTOGRAPHY","PHOTOS","PHYSIO","PICS","PICTET","PICTURES","PID","PIN","PING","PINK","PIONEER","PIZZA","PK","PL","PLACE","PLAY","PLAYSTATION","PLUMBING","PLUS","PM","PN","PNC","POHL","POKER","POLITIE","PORN","POST","PR","PRAMERICA","PRAXI","PRESS","PRIME","PRO","PROD","PRODUCTIONS","PROF","PROGRESSIVE","PROMO","PROPERTIES","PROPERTY","PROTECTION","PRU","PRUDENTIAL","PS","PT","PUB","PW","PWC","PY","QA","QPON","QUEBEC","QUEST","RACING","RADIO","RE","READ","REALESTATE","REALTOR","REALTY","RECIPES","RED","REDSTONE","REDUMBRELLA","REHAB","REISE","REISEN","REIT","RELIANCE","REN","RENT","RENTALS","REPAIR","REPORT","REPUBLICAN","REST","RESTAURANT","REVIEW","REVIEWS","REXROTH","RICH","RICHARDLI","RICOH","RIL","RIO","RIP","RO","ROCKS","RODEO","ROGERS","ROOM","RS","RSVP","RU","RUGBY","RUHR","RUN","RW","RWE","RYUKYU","SA","SAARLAND","SAFE","SAFETY","SAKURA","SALE","SALON","SAMSCLUB","SAMSUNG","SANDVIK","SANDVIKCOROMANT","SANOFI","SAP","SARL","SAS","SAVE","SAXO","SB","SBI","SBS","SC","SCB","SCHAEFFLER","SCHMIDT","SCHOLARSHIPS","SCHOOL","SCHULE","SCHWARZ","SCIENCE","SCOT","SD","SE","SEARCH","SEAT","SECURE","SECURITY","SEEK","SELECT","SENER","SERVICES","SEVEN","SEW","SEX","SEXY","SFR","SG","SH","SHANGRILA","SHARP","SHAW","SHELL","SHIA","SHIKSHA","SHOES","SHOP","SHOPPING","SHOUJI","SHOW","SI","SILK","SINA","SINGLES","SITE","SJ","SK","SKI","SKIN","SKY","SKYPE","SL","SLING","SM","SMART","SMILE","SN","SNCF","SO","SOCCER","SOCIAL","SOFTBANK","SOFTWARE","SOHU","SOLAR","SOLUTIONS","SONG","SONY","SOY","SPA","SPACE","SPORT","SPOT","SR","SRL","SS","ST","STADA","STAPLES","STAR","STATEBANK","STATEFARM","STC","STCGROUP","STOCKHOLM","STORAGE","STORE","STREAM","STUDIO","STUDY","STYLE","SU","SUCKS","SUPPLIES","SUPPLY","SUPPORT","SURF","SURGERY","SUZUKI","SV","SWATCH","SWISS","SX","SY","SYDNEY","SYSTEMS","SZ","TAB","TAIPEI","TALK","TAOBAO","TARGET","TATAMOTORS","TATAR","TATTOO","TAX","TAXI","TC","TCI","TD","TDK","TEAM","TECH","TECHNOLOGY","TEL","TEMASEK","TENNIS","TEVA","TF","TG","TH","THD","THEATER","THEATRE","TIAA","TICKETS","TIENDA","TIPS","TIRES","TIROL","TJ","TJMAXX","TJX","TK","TKMAXX","TL","TM","TMALL","TN","TO","TODAY","TOKYO","TOOLS","TOP","TORAY","TOSHIBA","TOTAL","TOURS","TOWN","TOYOTA","TOYS","TR","TRADE","TRADING","TRAINING","TRAVEL","TRAVELERS","TRAVELERSINSURANCE","TRUST","TRV","TT","TUBE","TUI","TUNES","TUSHU","TV","TVS","TW","TZ","UA","UBANK","UBS","UG","UK","UNICOM","UNIVERSITY","UNO","UOL","UPS","US","UY","UZ","VA","VACATIONS","VANA","VANGUARD","VC","VE","VEGAS","VENTURES","VERISIGN","VERSICHERUNG","VET","VG","VI","VIAJES","VIDEO","VIG","VIKING","VILLAS","VIN","VIP","VIRGIN","VISA","VISION","VIVA","VIVO","VLAANDEREN","VN","VODKA","VOLVO","VOTE","VOTING","VOTO","VOYAGE","VU","WALES","WALMART","WALTER","WANG","WANGGOU","WATCH","WATCHES","WEATHER","WEATHERCHANNEL","WEBCAM","WEBER","WEBSITE","WED","WEDDING","WEIBO","WEIR","WF","WHOSWHO","WIEN","WIKI","WILLIAMHILL","WIN","WINDOWS","WINE","WINNERS","WME","WOLTERSKLUWER","WOODSIDE","WORK","WORKS","WORLD","WOW","WS","WTC","WTF","XBOX","XEROX","XFINITY","XIHUAN","XIN","XN--11B4C3D","XN--1CK2E1B","XN--1QQW23A","XN--2SCRJ9C","XN--30RR7Y","XN--3BST00M","XN--3DS443G","XN--3E0B707E","XN--3HCRJ9C","XN--3PXU8K","XN--42C2D9A","XN--45BR5CYL","XN--45BRJ9C","XN--45Q11C","XN--4DBRK0CE","XN--4GBRIM","XN--54B7FTA0CC","XN--55QW42G","XN--55QX5D","XN--5SU34J936BGSG","XN--5TZM5G","XN--6FRZ82G","XN--6QQ986B3XL","XN--80ADXHKS","XN--80AO21A","XN--80AQECDR1A","XN--80ASEHDB","XN--80ASWG","XN--8Y0A063A","XN--90A3AC","XN--90AE","XN--90AIS","XN--9DBQ2A","XN--9ET52U","XN--9KRT00A","XN--B4W605FERD","XN--BCK1B9A5DRE4C","XN--C1AVG","XN--C2BR7G","XN--CCK2B3B","XN--CCKWCXETD","XN--CG4BKI","XN--CLCHC0EA0B2G2A9GCD","XN--CZR694B","XN--CZRS0T","XN--CZRU2D","XN--D1ACJ3B","XN--D1ALF","XN--E1A4C","XN--ECKVDTC9D","XN--EFVY88H","XN--FCT429K","XN--FHBEI","XN--FIQ228C5HS","XN--FIQ64B","XN--FIQS8S","XN--FIQZ9S","XN--FJQ720A","XN--FLW351E","XN--FPCRJ9C3D","XN--FZC2C9E2C","XN--FZYS8D69UVGM","XN--G2XX48C","XN--GCKR3F0F","XN--GECRJ9C","XN--GK3AT1E","XN--H2BREG3EVE","XN--H2BRJ9C","XN--H2BRJ9C8C","XN--HXT814E","XN--I1B6B1A6A2E","XN--IMR513N","XN--IO0A7I","XN--J1AEF","XN--J1AMH","XN--J6W193G","XN--JLQ480N2RG","XN--JVR189M","XN--KCRX77D1X4A","XN--KPRW13D","XN--KPRY57D","XN--KPUT3I","XN--L1ACC","XN--LGBBAT1AD8J","XN--MGB9AWBF","XN--MGBA3A3EJT","XN--MGBA3A4F16A","XN--MGBA7C0BBN0A","XN--MGBAAM7A8H","XN--MGBAB2BD","XN--MGBAH1A3HJKRD","XN--MGBAI9AZGQP6J","XN--MGBAYH7GPA","XN--MGBBH1A","XN--MGBBH1A71E","XN--MGBC0A9AZCG","XN--MGBCA7DZDO","XN--MGBCPQ6GPA1A","XN--MGBERP4A5D4AR","XN--MGBGU82A","XN--MGBI4ECEXP","XN--MGBPL2FH","XN--MGBT3DHD","XN--MGBTX2B","XN--MGBX4CD0AB","XN--MIX891F","XN--MK1BU44C","XN--MXTQ1M","XN--NGBC5AZD","XN--NGBE9E0A","XN--NGBRX","XN--NODE","XN--NQV7F","XN--NQV7FS00EMA","XN--NYQY26A","XN--O3CW4H","XN--OGBPF8FL","XN--OTU796D","XN--P1ACF","XN--P1AI","XN--PGBS0DH","XN--PSSY2U","XN--Q7CE6A","XN--Q9JYB4C","XN--QCKA1PMC","XN--QXA6A","XN--QXAM","XN--RHQV96G","XN--ROVU88B","XN--RVC1E0AM3E","XN--S9BRJ9C","XN--SES554G","XN--T60B56A","XN--TCKWE","XN--TIQ49XQYJ","XN--UNUP4Y","XN--VERMGENSBERATER-CTB","XN--VERMGENSBERATUNG-PWB","XN--VHQUV","XN--VUQ861B","XN--W4R85EL8FHU5DNRA","XN--W4RS40L","XN--WGBH1C","XN--WGBL6A","XN--XHQ521B","XN--XKC2AL3HYE2A","XN--XKC2DL3A5EE0H","XN--Y9A3AQ","XN--YFRO4I67O","XN--YGBI2AMMX","XN--ZFR164B","XXX","XYZ","YACHTS","YAHOO","YAMAXUN","YANDEX","YE","YODOBASHI","YOGA","YOKOHAMA","YOU","YOUTUBE","YT","YUN","ZA","ZAPPOS","ZARA","ZERO","ZIP","ZM","ZONE","ZUERICH","ZW"];o0.exports=new Set(s0.tlds.map(t=>t.toLowerCase()))});var f0=g((KB,d0)=>{"use strict";var Fe=Re(),Il=Rm(),bI=t0(),l0=i0(),u0=Pm(),c0=a0(),vI=Mm(),_I=Fn(),rn=Je(),Ae={tlds:c0 instanceof Set?{tlds:{allow:c0,deny:null}}:!1,base64Regex:{true:{true:/^(?:[\w\-]{2}[\w\-]{2})*(?:[\w\-]{2}==|[\w\-]{3}=)?$/,false:/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/},false:{true:/^(?:[\w\-]{2}[\w\-]{2})*(?:[\w\-]{2}(==)?|[\w\-]{3}=?)?$/,false:/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}(==)?|[A-Za-z0-9+\/]{3}=?)?$/}},dataUriRegex:/^data:[\w+.-]+\/[\w+.-]+;((charset=[\w-]+|base64),)?(.*)$/,hexRegex:{withPrefix:/^0x[0-9a-f]+$/i,withOptionalPrefix:/^(?:0x)?[0-9a-f]+$/i,withoutPrefix:/^[0-9a-f]+$/i},ipRegex:l0.regex({cidr:"forbidden"}).regex,isoDurationRegex:/^P(?!$)(\d+Y)?(\d+M)?(\d+W)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?$/,guidBrackets:{"{":"}","[":"]","(":")","":""},guidVersions:{uuidv1:"1",uuidv2:"2",uuidv3:"3",uuidv4:"4",uuidv5:"5",uuidv6:"6",uuidv7:"7",uuidv8:"8"},guidSeparators:new Set([void 0,!0,!1,"-",":"]),normalizationForms:["NFC","NFD","NFKC","NFKD"]};d0.exports=_I.extend({type:"string",flags:{insensitive:{default:!1},truncate:{default:!1}},terms:{replacements:{init:null}},coerce:{from:"string",method(t,{schema:e,state:n,prefs:r}){let i=e.$_getRule("normalize");i&&(t=t.normalize(i.args.form));let s=e.$_getRule("case");s&&(t=s.args.direction==="upper"?t.toLocaleUpperCase():t.toLocaleLowerCase());let o=e.$_getRule("trim");if(o&&o.args.enabled&&(t=t.trim()),e.$_terms.replacements)for(let u of e.$_terms.replacements)t=t.replace(u.pattern,u.replacement);let a=e.$_getRule("hex");if(a&&a.args.options.byteAligned&&t.length%2!==0&&(t=`0${t}`),e.$_getRule("isoDate")){let u=Ae.isoDate(t);u&&(t=u)}if(e._flags.truncate){let u=e.$_getRule("max");if(u){let c=u.args.limit;if(rn.isResolvable(c)&&(c=c.resolve(t,n,r),!rn.limit(c)))return{value:t,errors:e.$_createError("any.ref",c,{ref:u.args.limit,arg:"limit",reason:"must be a positive integer"},n,r)};t=t.slice(0,c)}}return{value:t}}},validate(t,{schema:e,error:n}){if(typeof t!="string")return{value:t,errors:n("string.base")};if(t===""){let r=e.$_getRule("min");return r&&r.args.limit===0?void 0:{value:t,errors:n("string.empty")}}},rules:{alphanum:{method(){return this.$_addRule("alphanum")},validate(t,e){return/^[a-zA-Z0-9]+$/.test(t)?t:e.error("string.alphanum")}},base64:{method(t={}){return rn.assertOptions(t,["paddingRequired","urlSafe"]),t={urlSafe:!1,paddingRequired:!0,...t},Fe(typeof t.paddingRequired=="boolean","paddingRequired must be boolean"),Fe(typeof t.urlSafe=="boolean","urlSafe must be boolean"),this.$_addRule({name:"base64",args:{options:t}})},validate(t,e,{options:n}){return Ae.base64Regex[n.paddingRequired][n.urlSafe].test(t)?t:e.error("string.base64")}},case:{method(t){return Fe(["lower","upper"].includes(t),"Invalid case:",t),this.$_addRule({name:"case",args:{direction:t}})},validate(t,e,{direction:n}){return n==="lower"&&t===t.toLocaleLowerCase()||n==="upper"&&t===t.toLocaleUpperCase()?t:e.error(`string.${n}case`)},convert:!0},creditCard:{method(){return this.$_addRule("creditCard")},validate(t,e){let n=t.length,r=0,i=1;for(;n--;){let s=t.charAt(n)*i;r=r+(s-(s>9)*9),i=i^3}return r>0&&r%10===0?t:e.error("string.creditCard")}},dataUri:{method(t={}){return rn.assertOptions(t,["paddingRequired"]),t={paddingRequired:!0,...t},Fe(typeof t.paddingRequired=="boolean","paddingRequired must be boolean"),this.$_addRule({name:"dataUri",args:{options:t}})},validate(t,e,{options:n}){let r=t.match(Ae.dataUriRegex);return r&&(!r[2]||r[2]!=="base64"||Ae.base64Regex[n.paddingRequired].false.test(r[3]))?t:e.error("string.dataUri")}},domain:{method(t){t&&rn.assertOptions(t,["allowFullyQualified","allowUnicode","maxDomainSegments","minDomainSegments","tlds"]);let e=Ae.addressOptions(t);return this.$_addRule({name:"domain",args:{options:t},address:e})},validate(t,e,n,{address:r}){return Il.isValid(t,r)?t:e.error("string.domain")}},email:{method(t={}){rn.assertOptions(t,["allowFullyQualified","allowUnicode","ignoreLength","maxDomainSegments","minDomainSegments","multiple","separator","tlds"]),Fe(t.multiple===void 0||typeof t.multiple=="boolean","multiple option must be an boolean");let e=Ae.addressOptions(t),n=new RegExp(`\\s*[${t.separator?u0(t.separator):","}]\\s*`);return this.$_addRule({name:"email",args:{options:t},regex:n,address:e})},validate(t,e,{options:n},{regex:r,address:i}){let s=n.multiple?t.split(r):[t],o=[];for(let a of s)bI.isValid(a,i)||o.push(a);return o.length?e.error("string.email",{value:t,invalids:o}):t}},guid:{alias:"uuid",method(t={}){rn.assertOptions(t,["version","separator"]);let e="";if(t.version){let i=[].concat(t.version);Fe(i.length>=1,"version must have at least 1 valid version specified");let s=new Set;for(let o=0;o<i.length;++o){let a=i[o];Fe(typeof a=="string","version at position "+o+" must be a string");let u=Ae.guidVersions[a.toLowerCase()];Fe(u,"version at position "+o+" must be one of "+Object.keys(Ae.guidVersions).join(", ")),Fe(!s.has(u),"version at position "+o+" must not be a duplicate"),e+=u,s.add(u)}}Fe(Ae.guidSeparators.has(t.separator),'separator must be one of true, false, "-", or ":"');let n=t.separator===void 0?"[:-]?":t.separator===!0?"[:-]":t.separator===!1?"[]?":`\\${t.separator}`,r=new RegExp(`^([\\[{\\(]?)[0-9A-F]{8}(${n})[0-9A-F]{4}\\2?[${e||"0-9A-F"}][0-9A-F]{3}\\2?[${e?"89AB":"0-9A-F"}][0-9A-F]{3}\\2?[0-9A-F]{12}([\\]}\\)]?)$`,"i");return this.$_addRule({name:"guid",args:{options:t},regex:r})},validate(t,e,n,{regex:r}){let i=r.exec(t);return!i||Ae.guidBrackets[i[1]]!==i[i.length-1]?e.error("string.guid"):t}},hex:{method(t={}){return rn.assertOptions(t,["byteAligned","prefix"]),t={byteAligned:!1,prefix:!1,...t},Fe(typeof t.byteAligned=="boolean","byteAligned must be boolean"),Fe(typeof t.prefix=="boolean"||t.prefix==="optional",'prefix must be boolean or "optional"'),this.$_addRule({name:"hex",args:{options:t}})},validate(t,e,{options:n}){return(n.prefix==="optional"?Ae.hexRegex.withOptionalPrefix:n.prefix===!0?Ae.hexRegex.withPrefix:Ae.hexRegex.withoutPrefix).test(t)?n.byteAligned&&t.length%2!==0?e.error("string.hexAlign"):t:e.error("string.hex")}},hostname:{method(){return this.$_addRule("hostname")},validate(t,e){return Il.isValid(t,{minDomainSegments:1})||Ae.ipRegex.test(t)?t:e.error("string.hostname")}},insensitive:{method(){return this.$_setFlag("insensitive",!0)}},ip:{method(t={}){rn.assertOptions(t,["cidr","version"]);let{cidr:e,versions:n,regex:r}=l0.regex(t),i=t.version?n:void 0;return this.$_addRule({name:"ip",args:{options:{cidr:e,version:i}},regex:r})},validate(t,e,{options:n},{regex:r}){return r.test(t)?t:n.version?e.error("string.ipVersion",{value:t,cidr:n.cidr,version:n.version}):e.error("string.ip",{value:t,cidr:n.cidr})}},isoDate:{method(){return this.$_addRule("isoDate")},validate(t,{error:e}){return Ae.isoDate(t)?t:e("string.isoDate")}},isoDuration:{method(){return this.$_addRule("isoDuration")},validate(t,e){return Ae.isoDurationRegex.test(t)?t:e.error("string.isoDuration")}},length:{method(t,e){return Ae.length(this,"length",t,"=",e)},validate(t,e,{limit:n,encoding:r},{name:i,operator:s,args:o}){let a=r?Buffer&&Buffer.byteLength(t,r):t.length;return rn.compare(a,n,s)?t:e.error("string."+i,{limit:o.limit,value:t,encoding:r})},args:[{name:"limit",ref:!0,assert:rn.limit,message:"must be a positive integer"},"encoding"]},lowercase:{method(){return this.case("lower")}},max:{method(t,e){return Ae.length(this,"max",t,"<=",e)},args:["limit","encoding"]},min:{method(t,e){return Ae.length(this,"min",t,">=",e)},args:["limit","encoding"]},normalize:{method(t="NFC"){return Fe(Ae.normalizationForms.includes(t),"normalization form must be one of "+Ae.normalizationForms.join(", ")),this.$_addRule({name:"normalize",args:{form:t}})},validate(t,{error:e},{form:n}){return t===t.normalize(n)?t:e("string.normalize",{value:t,form:n})},convert:!0},pattern:{alias:"regex",method(t,e={}){Fe(t instanceof RegExp,"regex must be a RegExp"),Fe(!t.flags.includes("g")&&!t.flags.includes("y"),"regex should not use global or sticky mode"),typeof e=="string"&&(e={name:e}),rn.assertOptions(e,["invert","name"]);let n=["string.pattern",e.invert?".invert":"",e.name?".name":".base"].join("");return this.$_addRule({name:"pattern",args:{regex:t,options:e},errorCode:n})},validate(t,e,{regex:n,options:r},{errorCode:i}){return n.test(t)^r.invert?t:e.error(i,{name:r.name,regex:n,value:t})},args:["regex","options"],multi:!0},replace:{method(t,e){typeof t=="string"&&(t=new RegExp(u0(t),"g")),Fe(t instanceof RegExp,"pattern must be a RegExp"),Fe(typeof e=="string","replacement must be a String");let n=this.clone();return n.$_terms.replacements||(n.$_terms.replacements=[]),n.$_terms.replacements.push({pattern:t,replacement:e}),n}},token:{method(){return this.$_addRule("token")},validate(t,e){return/^\w+$/.test(t)?t:e.error("string.token")}},trim:{method(t=!0){return Fe(typeof t=="boolean","enabled must be a boolean"),this.$_addRule({name:"trim",args:{enabled:t}})},validate(t,e,{enabled:n}){return!n||t===t.trim()?t:e.error("string.trim")},convert:!0},truncate:{method(t=!0){return Fe(typeof t=="boolean","enabled must be a boolean"),this.$_setFlag("truncate",t)}},uppercase:{method(){return this.case("upper")}},uri:{method(t={}){rn.assertOptions(t,["allowRelative","allowQuerySquareBrackets","domain","relativeOnly","scheme","encodeUri"]),t.domain&&rn.assertOptions(t.domain,["allowFullyQualified","allowUnicode","maxDomainSegments","minDomainSegments","tlds"]);let{regex:e,scheme:n}=vI.regex(t),r=t.domain?Ae.addressOptions(t.domain):null;return this.$_addRule({name:"uri",args:{options:t},regex:e,domain:r,scheme:n})},validate(t,e,{options:n},{regex:r,domain:i,scheme:s}){if(["http:/","https:/"].includes(t))return e.error("string.uri");let o=r.exec(t);if(!o&&e.prefs.convert&&n.encodeUri){let a=encodeURI(t);o=r.exec(a),o&&(t=a)}if(o){let a=o[1]||o[2];return i&&(!n.allowRelative||a)&&!Il.isValid(a,i)?e.error("string.domain",{value:a}):t}return n.relativeOnly?e.error("string.uriRelativeOnly"):n.scheme?e.error("string.uriCustomScheme",{scheme:s,value:t}):e.error("string.uri")}}},manifest:{build(t,e){if(e.replacements)for(let{pattern:n,replacement:r}of e.replacements)t=t.replace(n,r);return t}},messages:{"string.alphanum":"{{#label}} must only contain alpha-numeric characters","string.base":"{{#label}} must be a string","string.base64":"{{#label}} must be a valid base64 string","string.creditCard":"{{#label}} must be a credit card","string.dataUri":"{{#label}} must be a valid dataUri string","string.domain":"{{#label}} must contain a valid domain name","string.email":"{{#label}} must be a valid email","string.empty":"{{#label}} is not allowed to be empty","string.guid":"{{#label}} must be a valid GUID","string.hex":"{{#label}} must only contain hexadecimal characters","string.hexAlign":"{{#label}} hex decoded representation must be byte aligned","string.hostname":"{{#label}} must be a valid hostname","string.ip":"{{#label}} must be a valid ip address with a {{#cidr}} CIDR","string.ipVersion":"{{#label}} must be a valid ip address of one of the following versions {{#version}} with a {{#cidr}} CIDR","string.isoDate":"{{#label}} must be in iso format","string.isoDuration":"{{#label}} must be a valid ISO 8601 duration","string.length":"{{#label}} length must be {{#limit}} characters long","string.lowercase":"{{#label}} must only contain lowercase characters","string.max":"{{#label}} length must be less than or equal to {{#limit}} characters long","string.min":"{{#label}} length must be at least {{#limit}} characters long","string.normalize":"{{#label}} must be unicode normalized in the {{#form}} form","string.token":"{{#label}} must only contain alpha-numeric and underscore characters","string.pattern.base":"{{#label}} with value {:[.]} fails to match the required pattern: {{#regex}}","string.pattern.name":"{{#label}} with value {:[.]} fails to match the {{#name}} pattern","string.pattern.invert.base":"{{#label}} with value {:[.]} matches the inverted pattern: {{#regex}}","string.pattern.invert.name":"{{#label}} with value {:[.]} matches the inverted {{#name}} pattern","string.trim":"{{#label}} must not have leading or trailing whitespace","string.uri":"{{#label}} must be a valid uri","string.uriCustomScheme":"{{#label}} must be a valid uri with a scheme matching the {{#scheme}} pattern","string.uriRelativeOnly":"{{#label}} must be a valid relative uri","string.uppercase":"{{#label}} must only contain uppercase characters"}});Ae.addressOptions=function(t){if(!t)return Ae.tlds||t;if(Fe(t.minDomainSegments===void 0||Number.isSafeInteger(t.minDomainSegments)&&t.minDomainSegments>0,"minDomainSegments must be a positive integer"),Fe(t.maxDomainSegments===void 0||Number.isSafeInteger(t.maxDomainSegments)&&t.maxDomainSegments>0,"maxDomainSegments must be a positive integer"),t.tlds===!1)return t;if(t.tlds===!0||t.tlds===void 0)return Fe(Ae.tlds,"Built-in TLD list disabled"),Object.assign({},t,Ae.tlds);Fe(typeof t.tlds=="object","tlds must be true, false, or an object");let e=t.tlds.deny;if(e)return Array.isArray(e)&&(t=Object.assign({},t,{tlds:{deny:new Set(e)}})),Fe(t.tlds.deny instanceof Set,"tlds.deny must be an array, Set, or boolean"),Fe(!t.tlds.allow,"Cannot specify both tlds.allow and tlds.deny lists"),Ae.validateTlds(t.tlds.deny,"tlds.deny"),t;let n=t.tlds.allow;return n?n===!0?(Fe(Ae.tlds,"Built-in TLD list disabled"),Object.assign({},t,Ae.tlds)):(Array.isArray(n)&&(t=Object.assign({},t,{tlds:{allow:new Set(n)}})),Fe(t.tlds.allow instanceof Set,"tlds.allow must be an array, Set, or boolean"),Ae.validateTlds(t.tlds.allow,"tlds.allow"),t):t};Ae.validateTlds=function(t,e){for(let n of t)Fe(Il.isValid(n,{minDomainSegments:1,maxDomainSegments:1}),`${e} must contain valid top level domain names`)};Ae.isoDate=function(t){if(!rn.isIsoDate(t))return null;/.*T.*[+-]\d\d$/.test(t)&&(t+="00");let e=new Date(t);return isNaN(e.getTime())?null:e.toISOString()};Ae.length=function(t,e,n,r,i){return Fe(!i||Buffer&&Buffer.isEncoding(i),"Invalid encoding:",i),t.$_addRule({name:e,method:"length",args:{limit:n,encoding:i},operator:r})}});var h0=g((XB,p0)=>{"use strict";var Ml=Re(),TI=Fn(),Lm={};Lm.Map=class extends Map{slice(){return new Lm.Map(this)}};p0.exports=TI.extend({type:"symbol",terms:{map:{init:new Lm.Map}},coerce:{method(t,{schema:e,error:n}){let r=e.$_terms.map.get(t);return r&&(t=r),!e._flags.only||typeof t=="symbol"?{value:t}:{value:t,errors:n("symbol.map",{map:e.$_terms.map})}}},validate(t,{error:e}){if(typeof t!="symbol")return{value:t,errors:e("symbol.base")}},rules:{map:{method(t){t&&!t[Symbol.iterator]&&typeof t=="object"&&(t=Object.entries(t)),Ml(t&&t[Symbol.iterator],"Iterable must be an iterable or object");let e=this.clone(),n=[];for(let r of t){Ml(r&&r[Symbol.iterator],"Entry must be an iterable");let[i,s]=r;Ml(typeof i!="object"&&typeof i!="function"&&typeof i!="symbol","Key must not be of type object, function, or Symbol"),Ml(typeof s=="symbol","Value must be a Symbol"),e.$_terms.map.set(i,s),n.push(s)}return e.valid(...n)}}},manifest:{build(t,e){return e.map&&(t=t.map(e.map)),t}},messages:{"symbol.base":"{{#label}} must be a symbol","symbol.map":"{{#label}} must be one of {{#map}}"}})});var y0=g((JB,m0)=>{"use strict";var SI=Re(),kI=Fn(),g0=Je();m0.exports=kI.extend({type:"binary",coerce:{from:["string","object"],method(t,{schema:e}){if(typeof t=="string"||t!==null&&t.type==="Buffer")try{return{value:Buffer.from(t,e._flags.encoding)}}catch{}}},validate(t,{error:e}){if(!Buffer.isBuffer(t))return{value:t,errors:e("binary.base")}},rules:{encoding:{method(t){return SI(Buffer.isEncoding(t),"Invalid encoding:",t),this.$_setFlag("encoding",t)}},length:{method(t){return this.$_addRule({name:"length",method:"length",args:{limit:t},operator:"="})},validate(t,e,{limit:n},{name:r,operator:i,args:s}){return g0.compare(t.length,n,i)?t:e.error("binary."+r,{limit:s.limit,value:t})},args:[{name:"limit",ref:!0,assert:g0.limit,message:"must be a positive integer"}]},max:{method(t){return this.$_addRule({name:"max",method:"length",args:{limit:t},operator:"<="})}},min:{method(t){return this.$_addRule({name:"min",method:"length",args:{limit:t},operator:">="})}}},cast:{string:{from:t=>Buffer.isBuffer(t),to(t,e){return t.toString()}}},messages:{"binary.base":"{{#label}} must be a buffer or a string","binary.length":"{{#label}} must be {{#limit}} bytes","binary.max":"{{#label}} must be less than or equal to {{#limit}} bytes","binary.min":"{{#label}} must be at least {{#limit}} bytes"}})});var yl=g((QB,T0)=>{"use strict";var es=Re(),xI=en(),wI=lm(),Zi=Je(),EI=Xi(),qm=Ir(),AI=dm(),b0=hm(),Nm=Mr(),v0=gi(),_0=mm(),Ll,Ot={types:{alternatives:xw(),any:Fn(),array:Ew(),boolean:Dw(),date:Lw(),function:Kw(),link:Yw(),number:Qw(),object:e0(),string:f0(),symbol:h0()},aliases:{alt:"alternatives",bool:"boolean",func:"function"}};Buffer&&(Ot.types.binary=y0());Ot.root=function(){let t={_types:new Set(Object.keys(Ot.types))};for(let e of t._types)t[e]=function(...n){return es(!n.length||["alternatives","link","object"].includes(e),"The",e,"type does not allow arguments"),Ot.generate(this,Ot.types[e],n)};for(let e of["allow","custom","disallow","equal","exist","forbidden","invalid","not","only","optional","options","prefs","preferences","required","strip","valid","when"])t[e]=function(...n){return this.any()[e](...n)};Object.assign(t,Ot.methods);for(let e in Ot.aliases){let n=Ot.aliases[e];t[e]=t[n]}return t.x=t.expression,_0.setup&&_0.setup(t),t};Ot.methods={ValidationError:qm.ValidationError,version:Zi.version,cache:wI.provider,assert(t,e,...n){Ot.assert(t,e,!0,n)},attempt(t,e,...n){return Ot.assert(t,e,!1,n)},build(t){return es(typeof b0.build=="function","Manifest functionality disabled"),b0.build(this,t)},checkPreferences(t){Zi.checkPreferences(t)},compile(t,e){return EI.compile(this,t,e)},defaults(t){es(typeof t=="function","modifier must be a function");let e=Object.assign({},this);for(let n of e._types){let r=t(e[n]());es(Zi.isSchema(r),"modifier must return a valid schema object"),e[n]=function(...i){return Ot.generate(this,r,i)}}return e},expression(...t){return new v0(...t)},extend(...t){Zi.verifyFlat(t,"extend"),Ll=Ll||ml(),es(t.length,"You need to provide at least one extension"),this.assert(t,Ll.extensions);let e=Object.assign({},this);e._types=new Set(e._types);for(let n of t){typeof n=="function"&&(n=n(e)),this.assert(n,Ll.extension);let r=Ot.expandExtension(n,e);for(let i of r){es(e[i.type]===void 0||e._types.has(i.type),"Cannot override name",i.type);let s=i.base||this.any(),o=AI.type(s,i);e._types.add(i.type),e[i.type]=function(...a){return Ot.generate(this,o,a)}}}return e},isError:qm.ValidationError.isError,isExpression:v0.isTemplate,isRef:Nm.isRef,isSchema:Zi.isSchema,in(...t){return Nm.in(...t)},override:Zi.symbols.override,ref(...t){return Nm.create(...t)},types(){let t={};for(let e of this._types)t[e]=this[e]();for(let e in Ot.aliases)t[e]=this[e]();return t}};Ot.assert=function(t,e,n,r){let i=r[0]instanceof Error||typeof r[0]=="string"?r[0]:null,s=i!==null?r[1]:r[0],o=e.validate(t,Zi.preferences({errors:{stack:!0}},s||{})),a=o.error;if(!a)return o.value;if(i instanceof Error)throw i;let u=n&&typeof a.annotate=="function"?a.annotate():a.message;throw a instanceof qm.ValidationError||(a=xI(a)),a.message=i?`${i} ${u}`:u,a};Ot.generate=function(t,e,n){return es(t,"Must be invoked on a Joi instance."),e.$_root=t,!e._definition.args||!n.length?e:e._definition.args(e,...n)};Ot.expandExtension=function(t,e){if(typeof t.type=="string")return[t];let n=[];for(let r of e._types)if(t.type.test(r)){let i=Object.assign({},t);i.type=r,i.base=e[r](),n.push(i)}return n};T0.exports=Ot.root()});var S0=g(Te=>{"use strict";var OI=Te&&Te.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Te,"__esModule",{value:!0});Te.descriptionContainerSchema=Te.signatureSchema=Te.signatureDefinitionContainerSchema=Te.signatureDefinitionSchema=Te.signatureDefinitionFunctionSchema=Te.signatureDefinitionFunctionSchemaArg=Te.signatureDefinitionFunctionSchemaArgMultiTypes=Te.signatureDefinitionFunctionSchemaArgDefaultNumber=Te.signatureDefinitionFunctionSchemaArgDefaultString=Te.signatureDefinitionTypeSchema=Te.variationsSchema=void 0;var re=OI(yl()),Nl=Hi();Te.variationsSchema=re.default.array().items(re.default.alternatives(re.default.string(),re.default.number()));Te.signatureDefinitionTypeSchema=re.default.alternatives(re.default.string(),re.default.object({type:re.default.string().required(),keyType:re.default.string().optional(),valueType:re.default.string().optional()}));Te.signatureDefinitionFunctionSchemaArgDefaultString=re.default.object({type:re.default.string().valid(Nl.SignatureDefinitionBaseType.String).required(),value:re.default.string().allow("").required()});Te.signatureDefinitionFunctionSchemaArgDefaultNumber=re.default.object({type:re.default.string().valid(Nl.SignatureDefinitionBaseType.Number).required(),value:re.default.number().required()});Te.signatureDefinitionFunctionSchemaArgMultiTypes=re.default.object({label:re.default.string().required(),types:re.default.array().items(Te.signatureDefinitionTypeSchema).required(),opt:re.default.boolean().optional(),default:re.default.alternatives(Te.signatureDefinitionFunctionSchemaArgDefaultString,Te.signatureDefinitionFunctionSchemaArgDefaultNumber).optional()});Te.signatureDefinitionFunctionSchemaArg=re.default.object({label:re.default.string().required(),type:Te.signatureDefinitionTypeSchema.required(),opt:re.default.boolean().optional(),default:re.default.alternatives(Te.signatureDefinitionFunctionSchemaArgDefaultString,Te.signatureDefinitionFunctionSchemaArgDefaultNumber).optional()});Te.signatureDefinitionFunctionSchema=re.default.object({type:re.default.string().valid(Nl.SignatureDefinitionBaseType.Function).required(),description:re.default.string().optional(),example:re.default.string().optional(),isProtected:re.default.boolean().optional(),arguments:re.default.array().items(re.default.alternatives(Te.signatureDefinitionFunctionSchemaArg,Te.signatureDefinitionFunctionSchemaArgMultiTypes)).optional(),returns:re.default.array().items(Te.signatureDefinitionTypeSchema).required(),variations:Te.variationsSchema.optional(),returnVariations:Te.variationsSchema.optional()});Te.signatureDefinitionSchema=re.default.object({type:Te.signatureDefinitionTypeSchema.invalid(Nl.SignatureDefinitionBaseType.Function).required(),description:re.default.string().optional(),example:re.default.string().optional(),isProtected:re.default.boolean().optional(),variations:Te.variationsSchema.optional()});Te.signatureDefinitionContainerSchema=re.default.object().pattern(re.default.string(),re.default.alternatives(Te.signatureDefinitionFunctionSchema,Te.signatureDefinitionSchema));Te.signatureSchema=re.default.object({type:re.default.string().required(),hidden:re.default.boolean().optional(),extends:re.default.string().optional(),definitions:re.default.object().required()});Te.descriptionContainerSchema=re.default.object({$meta:re.default.object({description:re.default.string().required(),example:re.default.array().items(re.default.string().allow("")).optional()}).optional()}).pattern(re.default.string(),re.default.object({description:re.default.string().required(),example:re.default.array().items(re.default.string().allow("")).optional()}))});var Bm=g(fn=>{"use strict";var ro=fn&&fn.__assign||function(){return ro=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++){e=arguments[n];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])}return t},ro.apply(this,arguments)},CI=fn&&fn.__rest||function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n},vi=fn&&fn.__values||function(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},jm=fn&&fn.__read||function(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s},RI=fn&&fn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(fn,"__esModule",{value:!0});fn.Signature=void 0;var Fm=RI(yl()),$m=S0(),DI=Hi(),PI=hl(),II=nm(),MI=function(){function t(e){var n,r,i;this._type=e.type,this._extends=(n=e.extends)!==null&&n!==void 0?n:null,this._descriptions={},this._definitions=(r=e.definitions)!==null&&r!==void 0?r:{},this._hidden=(i=e.hidden)!==null&&i!==void 0?i:!1}return t.parseDefinitions=function(e){var n,r;Fm.default.assert(e,$m.signatureDefinitionContainerSchema);var i={};try{for(var s=vi(Object.entries(e)),o=s.next();!o.done;o=s.next()){var a=jm(o.value,2),u=a[0],c=a[1],l=c.type===DI.SignatureDefinitionBaseType.Function?II.SignatureDefinitionFunction.parse(c):PI.SignatureDefinition.parse(c);i[u]=l}}catch(d){n={error:d}}finally{try{o&&!o.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}return i},t.parseDescriptions=function(e){var n,r,i,s,o;Fm.default.assert(e,$m.descriptionContainerSchema);var a=e,u=null;if(a.$meta){var c=e.$meta,l=CI(e,["$meta"]);u=c,a=l}var d={};try{for(var p=vi(Object.entries(a)),b=p.next();!b.done;b=p.next()){var T=jm(b.value,2),E=T[0],L=T[1];d[E]={description:L.description,example:(i=L.example)!==null&&i!==void 0?i:null}}}catch(M){n={error:M}}finally{try{b&&!b.done&&(r=p.return)&&r.call(p)}finally{if(n)throw n.error}}return ro({$meta:{description:(s=u?.description)!==null&&s!==void 0?s:"unknown",example:(o=u?.example)!==null&&o!==void 0?o:null}},d)},t.parse=function(e,n){var r,i;Fm.default.assert(e,$m.signatureSchema);var s=new t({type:e.type,hidden:e.hidden,extends:e.extends}),o=t.parseDefinitions(e.definitions);if(s.setDefinition(o),n!=null)try{for(var a=vi(Object.entries(n)),u=a.next();!u.done;u=a.next()){var c=jm(u.value,2),l=c[0],d=c[1],p=t.parseDescriptions(d);s.addDescriptions(l,p)}}catch(b){r={error:b}}finally{try{u&&!u.done&&(i=a.return)&&i.call(a)}finally{if(r)throw r.error}}return s},t.prototype.getType=function(){return this._type},t.prototype.getExtendedType=function(){return this._extends},t.prototype.getDefinitions=function(){return this._definitions},t.prototype.getAllDescriptions=function(){return this._descriptions},t.prototype.isHidden=function(){return this._hidden},t.prototype.setExtend=function(e){return this._extends=e,this},t.prototype.setDefinition=function(e){return this._definitions=e,this},t.prototype.mergeDefinitions=function(e){var n,r,i=Object.keys(e);try{for(var s=vi(i),o=s.next();!o.done;o=s.next()){var a=o.value;this._definitions[a]=e[a]}}catch(u){n={error:u}}finally{try{o&&!o.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}return this},t.prototype.getDefinition=function(e,n){if(!Object.prototype.hasOwnProperty.call(this._definitions,e))return null;var r=this._definitions[e],i=this.getDescriptions(n),s=i[e];return r.withDescription(s)},t.prototype.setDescriptions=function(e,n){return this._descriptions[e]=n,this},t.prototype.addDescriptions=function(e,n){var r,i,s=this._descriptions[e];s==null&&(s={},this._descriptions[e]=s);var o=Object.keys(n);try{for(var a=vi(o),u=a.next();!u.done;u=a.next()){var c=u.value;s[c]=ro(ro({},s[c]),n[c])}}catch(l){r={error:l}}finally{try{u&&!u.done&&(i=a.return)&&i.call(a)}finally{if(r)throw r.error}}return this},t.prototype.getDescriptions=function(e){e===void 0&&(e="en");var n=this._descriptions[e];return n??{}},t.prototype.toJSON=function(){var e,n,r={},i=Object.keys(this._definitions);try{for(var s=vi(i),o=s.next();!o.done;o=s.next()){var a=o.value;r[a]=this._definitions[a].toJSON()}}catch(u){e={error:u}}finally{try{o&&!o.done&&(n=s.return)&&n.call(s)}finally{if(e)throw e.error}}return{type:this._type,extend:this._extends,hidden:this._hidden,definitions:r}},t.prototype.copy=function(){var e,n,r,i,s=new t({type:this._type,hidden:this._hidden,extends:this._extends}),o={},a=Object.keys(this._definitions);try{for(var u=vi(a),c=u.next();!c.done;c=u.next()){var l=c.value;o[l]=this._definitions[l].copy()}}catch(E){e={error:E}}finally{try{c&&!c.done&&(n=u.return)&&n.call(u)}finally{if(e)throw e.error}}var d={},p=Object.keys(this._descriptions);try{for(var b=vi(p),T=b.next();!T.done;T=b.next()){var l=T.value;d[l]=ro({},d[l])}}catch(E){r={error:E}}finally{try{T&&!T.done&&(i=b.return)&&i.call(b)}finally{if(r)throw r.error}}return s._descriptions=d,s._definitions=o,s},t}();fn.Signature=MI});var k0=g(Sr=>{"use strict";var _i=Sr&&Sr.__read||function(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s},io=Sr&&Sr.__spreadArray||function(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,s;r<i;r++)(s||!(r in e))&&(s||(s=Array.prototype.slice.call(e,0,r)),s[r]=e[r]);return t.concat(s||Array.prototype.slice.call(e))},Ca=Sr&&Sr.__values||function(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Sr,"__esModule",{value:!0});Sr.Container=void 0;var Tr=Bm(),bt=Hi(),LI=function(){function t(){this._primitives=new Map([[bt.SignatureDefinitionBaseType.Any,new Tr.Signature({type:bt.SignatureDefinitionBaseType.Any})],[bt.SignatureDefinitionBaseType.General,new Tr.Signature({type:bt.SignatureDefinitionBaseType.General})],[bt.SignatureDefinitionBaseType.String,new Tr.Signature({type:bt.SignatureDefinitionBaseType.String})],[bt.SignatureDefinitionBaseType.Function,new Tr.Signature({type:bt.SignatureDefinitionBaseType.Function})],[bt.SignatureDefinitionBaseType.Number,new Tr.Signature({type:bt.SignatureDefinitionBaseType.Number})],[bt.SignatureDefinitionBaseType.List,new Tr.Signature({type:bt.SignatureDefinitionBaseType.List})],[bt.SignatureDefinitionBaseType.Map,new Tr.Signature({type:bt.SignatureDefinitionBaseType.Map})]]),this._types=new Map,this._excludeFromSearch=new Set}return t.prototype.getOrCreateTypeSignature=function(e){var n=this.getTypeSignature(e);return n==null&&(n=new Tr.Signature({type:e}),this._types.set(e,n)),n},t.prototype.getPrimitives=function(){return this._primitives},t.prototype.getTypes=function(){return this._types},t.prototype.getAllVisibleTypes=function(){var e=this;return io(io([],_i(this._primitives.keys()),!1),_i(this._types.keys()),!1).filter(function(n){return!e.getTypeSignature(n).isHidden()&&n!==bt.SignatureDefinitionBaseType.Any&&n!==bt.SignatureDefinitionBaseType.General})},t.prototype.excludeFromSearch=function(e){return this._excludeFromSearch.add(e),this},t.prototype.includeToSearch=function(e){return this._excludeFromSearch.delete(e),this},t.prototype.getTypeSignature=function(e){var n,r;return(r=(n=this._primitives.get(e))!==null&&n!==void 0?n:this._types.get(e))!==null&&r!==void 0?r:null},t.prototype.getAllPrimitiveSignatures=function(){return Array.from(this._primitives.values())},t.prototype.getAllTypeSignatures=function(){return Array.from(this._types.values())},t.prototype.getAllSignatures=function(){return io(io([],_i(this.getAllPrimitiveSignatures()),!1),_i(this.getAllTypeSignatures()),!1)},t.prototype.getAllVisibleSignatures=function(){return io(io([],_i(this.getAllPrimitiveSignatures()),!1),_i(this.getAllTypeSignatures()),!1).filter(function(e){return e.isHidden()})},t.prototype.addTypeSignatureFromPayload=function(e){var n=Tr.Signature.parse(e);return this.addTypeSignature({type:n.getType(),extends:n.getExtendedType(),hidden:n.isHidden(),definitions:n.getDefinitions()}),this},t.prototype.addTypeSignature=function(e){var n=this.getOrCreateTypeSignature(e.type);return e.extends!==void 0&&n.setExtend(e.extends),n.mergeDefinitions(e.definitions),this},t.prototype.addMetaFromPayload=function(e,n){var r,i,s={},o=Object.keys(n);try{for(var a=Ca(o),u=a.next();!u.done;u=a.next()){var c=u.value,l=Tr.Signature.parseDescriptions(n[c]);s[c]=l}}catch(d){r={error:d}}finally{try{u&&!u.done&&(i=a.return)&&i.call(a)}finally{if(r)throw r.error}}return this.addMeta(e,s),this},t.prototype.addMeta=function(e,n){var r,i,s=Object.keys(n);try{for(var o=Ca(s),a=o.next();!a.done;a=o.next()){var u=a.value,c=this.getOrCreateTypeSignature(u);c.addDescriptions(e,n[u])}}catch(l){r={error:l}}finally{try{a&&!a.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return this},t.prototype.searchDefinitionMatches=function(e,n,r){var i,s;if(r===void 0&&(r="en"),typeof e=="string")return this.searchDefinitionMatches([e],n,r);var o=e.includes(bt.SignatureDefinitionBaseType.Any)?new Set(this.getAllVisibleTypes()):new Set(e),a=new Set,u=new Map;try{for(var c=Ca(o),l=c.next();!l.done;l=c.next()){var d=l.value;if(!this._excludeFromSearch.has(d)){for(var p=d,b=this.getTypeSignature(d),T=null;b!==null&&!a.has(b.getType())&&(a.add(b.getType()),b.isHidden()||(T=b.getDefinition(n,r)),T===null);)p=b.getExtendedType(),b=this.getTypeSignature(p);T!==null&&u.set(p,T)}}}catch(E){i={error:E}}finally{try{l&&!l.done&&(s=c.return)&&s.call(c)}finally{if(i)throw i.error}}return u},t.prototype.getDefinition=function(e,n,r){if(r===void 0&&(r="en"),typeof e=="string")return this.getDefinition([e],n,r);var i=this._primitives.get(bt.SignatureDefinitionBaseType.Any).getDefinition(n,r);if(e.includes(bt.SignatureDefinitionBaseType.Any)&&i)return i;var s=this.searchDefinitionMatches(e,n,r);return s.size===0?null:s.size===1?s.values().next().value:s.has(bt.SignatureDefinitionBaseType.Any)?s.get(bt.SignatureDefinitionBaseType.Any):i!==null?i:s.values().next().value},t.prototype.fork=function(){var e,n,r,i,s=new t;try{for(var o=Ca(this._primitives),a=o.next();!a.done;a=o.next()){var u=_i(a.value,2),c=u[0],l=u[1];s._primitives.set(c,l.copy())}}catch(T){e={error:T}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(e)throw e.error}}try{for(var d=Ca(this._types),p=d.next();!p.done;p=d.next()){var b=_i(p.value,2),c=b[0],l=b[1];s._types.set(c,l.copy())}}catch(T){r={error:T}}finally{try{p&&!p.done&&(i=d.return)&&i.call(d)}finally{if(r)throw r.error}}return s._excludeFromSearch=new Set(this._excludeFromSearch),s},t}();Sr.Container=LI});var w0=g(x0=>{"use strict";Object.defineProperty(x0,"__esModule",{value:!0})});var Un=g(ft=>{"use strict";var NI=ft&&ft.__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]}),E0=ft&&ft.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&NI(e,t,n)};Object.defineProperty(ft,"__esModule",{value:!0});ft.VariationRegistry=ft.Container=ft.Signature=ft.SignatureDefinition=ft.SignatureDefinitionTypeMeta=ft.SignatureDefinitionFunction=ft.SignatureDefinitionFunctionArg=void 0;var qI=tm();Object.defineProperty(ft,"SignatureDefinitionFunctionArg",{enumerable:!0,get:function(){return qI.SignatureDefinitionFunctionArg}});var jI=nm();Object.defineProperty(ft,"SignatureDefinitionFunction",{enumerable:!0,get:function(){return jI.SignatureDefinitionFunction}});var FI=va();Object.defineProperty(ft,"SignatureDefinitionTypeMeta",{enumerable:!0,get:function(){return FI.SignatureDefinitionTypeMeta}});var $I=hl();Object.defineProperty(ft,"SignatureDefinition",{enumerable:!0,get:function(){return $I.SignatureDefinition}});var BI=Bm();Object.defineProperty(ft,"Signature",{enumerable:!0,get:function(){return BI.Signature}});var UI=k0();Object.defineProperty(ft,"Container",{enumerable:!0,get:function(){return UI.Container}});var HI=pl();Object.defineProperty(ft,"VariationRegistry",{enumerable:!0,get:function(){return HI.VariationRegistry}});E0(w0(),ft);E0(Hi(),ft)});var Um=g(ql=>{"use strict";Object.defineProperty(ql,"__esModule",{value:!0});ql.enrichWithMetaInformation=void 0;var WI=mx(),A0=Un();function O0(t){return[t.name,t.description].filter(e=>e!==void 0).join(" ")}function GI(t){let e=(0,WI.parse)(`/**
|
103
|
+
[${u}] ${this.details[a].message}`}return o=o+r,o};zi.safeStringify=function(t,e){return JSON.stringify(t,zi.serializer(),e)};zi.serializer=function(){let t=[],e=[],n=(r,i)=>e[0]===i?"[Circular ~]":"[Circular ~."+t.slice(0,e.indexOf(i)).join(".")+"]";return function(r,i){if(e.length>0){let s=e.indexOf(this);~s?(e.length=s+1,t.length=s+1,t[s]=r):(e.push(this),t.push(r)),~e.indexOf(i)&&(i=n.call(this,r,i))}else e.push(i);if(i){let s=i[zi.annotations];if(s){if(Array.isArray(i)){let o=[];for(let a=0;a<i.length;++a)s.errors[a]&&o.push(`_$idx$_${s.errors[a].sort().join(", ")}_$end$_`),o.push(i[a]);i=o}else{for(let o in s.errors)i[`${o}_$key$_${s.errors[o].sort().join(", ")}_$end$_`]=i[o],i[o]=void 0;for(let o in s.missing)i[`_$miss$_${o}|${s.missing[o]}_$end$_`]="__missing__"}return i}}return i===1/0||i===-1/0||Number.isNaN(i)||typeof i=="function"||typeof i=="symbol"?"["+i.toString()+"]":i}}});var Ir=g(kt=>{"use strict";var pP=jx(),hP=Je(),gP=gi();kt.Report=class{constructor(t,e,n,r,i,s,o){if(this.code=t,this.flags=r,this.messages=i,this.path=s.path,this.prefs=o,this.state=s,this.value=e,this.message=null,this.template=null,this.local=n||{},this.local.label=kt.label(this.flags,this.state,this.prefs,this.messages),this.value!==void 0&&!this.local.hasOwnProperty("value")&&(this.local.value=this.value),this.path.length){let a=this.path[this.path.length-1];typeof a!="object"&&(this.local.key=a)}}_setTemplate(t){if(this.template=t,!this.flags.label&&this.path.length===0){let e=this._template(this.template,"root");e&&(this.local.label=e)}}toString(){if(this.message)return this.message;let t=this.code;if(!this.prefs.errors.render)return this.code;let e=this._template(this.template)||this._template(this.prefs.messages)||this._template(this.messages);return e===void 0?`Error code "${t}" is not defined, your custom type is missing the correct messages definition`:(this.message=e.render(this.value,this.state,this.prefs,this.local,{errors:this.prefs.errors,messages:[this.prefs.messages,this.messages]}),this.prefs.errors.label||(this.message=this.message.replace(/^"" /,"").trim()),this.message)}_template(t,e){return kt.template(this.value,t,e||this.code,this.state,this.prefs)}};kt.path=function(t){let e="";for(let n of t)typeof n!="object"&&(typeof n=="string"?(e&&(e+="."),e+=n):e+=`[${n}]`);return e};kt.template=function(t,e,n,r,i){if(!e)return;if(gP.isTemplate(e))return n!=="root"?e:null;let s=i.errors.language;if(hP.isResolvable(s)&&(s=s.resolve(t,r,i)),s&&e[s]){if(e[s][n]!==void 0)return e[s][n];if(e[s]["*"]!==void 0)return e[s]["*"]}return e[n]?e[n]:e["*"]};kt.label=function(t,e,n,r){if(!n.errors.label)return"";if(t.label)return t.label;let i=e.path;n.errors.label==="key"&&e.path.length>1&&(i=e.path.slice(-1));let s=kt.path(i);return s||kt.template(null,n.messages,"root",e,n)||r&&kt.template(null,r,"root",e,n)||"value"};kt.process=function(t,e,n){if(!t)return null;let{override:r,message:i,details:s}=kt.details(t);if(r)return r;if(n.errors.stack)return new kt.ValidationError(i,s,e);let o=Error.stackTraceLimit;Error.stackTraceLimit=0;let a=new kt.ValidationError(i,s,e);return Error.stackTraceLimit=o,a};kt.details=function(t,e={}){let n=[],r=[];for(let i of t){if(i instanceof Error){if(e.override!==!1)return{override:i};let o=i.toString();n.push(o),r.push({message:o,type:"override",context:{error:i}});continue}let s=i.toString();n.push(s),r.push({message:s,path:i.path.filter(o=>typeof o!="object"),type:i.code,context:i.local})}return n.length>1&&(n=[...new Set(n)]),{message:n.join(". "),details:r}};kt.ValidationError=class extends Error{constructor(t,e,n){super(t),this._original=n,this.details=e}static isError(t){return t instanceof kt.ValidationError}};kt.ValidationError.prototype.isJoi=!0;kt.ValidationError.prototype.name="ValidationError";kt.ValidationError.prototype.annotate=pP.error});var Mr=g(qn=>{"use strict";var Ln=Re(),mP=en(),yP=Vi(),Sa=Je(),am,Nn={symbol:Symbol("ref"),defaults:{adjust:null,in:!1,iterables:null,map:null,separator:".",type:"value"}};qn.create=function(t,e={}){Ln(typeof t=="string","Invalid reference key:",t),Sa.assertOptions(e,["adjust","ancestor","in","iterables","map","prefix","render","separator"]),Ln(!e.prefix||typeof e.prefix=="object","options.prefix must be of type object");let n=Object.assign({},Nn.defaults,e);delete n.prefix;let r=n.separator,i=Nn.context(t,r,e.prefix);if(n.type=i.type,t=i.key,n.type==="value")if(i.root&&(Ln(!r||t[0]!==r,"Cannot specify relative path with root prefix"),n.ancestor="root",t||(t=null)),r&&r===t)t=null,n.ancestor=0;else if(n.ancestor!==void 0)Ln(!r||!t||t[0]!==r,"Cannot combine prefix with ancestor option");else{let[s,o]=Nn.ancestor(t,r);o&&(t=t.slice(o),t===""&&(t=null)),n.ancestor=s}return n.path=r?t===null?[]:t.split(r):[t],new Nn.Ref(n)};qn.in=function(t,e={}){return qn.create(t,{...e,in:!0})};qn.isRef=function(t){return t?!!t[Sa.symbols.ref]:!1};Nn.Ref=class{constructor(t){Ln(typeof t=="object","Invalid reference construction"),Sa.assertOptions(t,["adjust","ancestor","in","iterables","map","path","render","separator","type","depth","key","root","display"]),Ln([!1,void 0].includes(t.separator)||typeof t.separator=="string"&&t.separator.length===1,"Invalid separator"),Ln(!t.adjust||typeof t.adjust=="function","options.adjust must be a function"),Ln(!t.map||Array.isArray(t.map),"options.map must be an array"),Ln(!t.map||!t.adjust,"Cannot set both map and adjust options"),Object.assign(this,Nn.defaults,t),Ln(this.type==="value"||this.ancestor===void 0,"Non-value references cannot reference ancestors"),Array.isArray(this.map)&&(this.map=new Map(this.map)),this.depth=this.path.length,this.key=this.path.length?this.path.join(this.separator):null,this.root=this.path[0],this.updateDisplay()}resolve(t,e,n,r,i={}){return Ln(!this.in||i.in,"Invalid in() reference usage"),this.type==="global"?this._resolve(n.context,e,i):this.type==="local"?this._resolve(r,e,i):this.ancestor?this.ancestor==="root"?this._resolve(e.ancestors[e.ancestors.length-1],e,i):(Ln(this.ancestor<=e.ancestors.length,"Invalid reference exceeds the schema root:",this.display),this._resolve(e.ancestors[this.ancestor-1],e,i)):this._resolve(t,e,i)}_resolve(t,e,n){let r;if(this.type==="value"&&e.mainstay.shadow&&n.shadow!==!1&&(r=e.mainstay.shadow.get(this.absolute(e))),r===void 0&&(r=yP(t,this.path,{iterables:this.iterables,functions:!0})),this.adjust&&(r=this.adjust(r)),this.map){let i=this.map.get(r);i!==void 0&&(r=i)}return e.mainstay&&e.mainstay.tracer.resolve(e,this,r),r}toString(){return this.display}absolute(t){return[...t.path.slice(0,-this.ancestor),...this.path]}clone(){return new Nn.Ref(this)}describe(){let t={path:this.path};this.type!=="value"&&(t.type=this.type),this.separator!=="."&&(t.separator=this.separator),this.type==="value"&&this.ancestor!==1&&(t.ancestor=this.ancestor),this.map&&(t.map=[...this.map]);for(let e of["adjust","iterables","render"])this[e]!==null&&this[e]!==void 0&&(t[e]=this[e]);return this.in!==!1&&(t.in=!0),{ref:t}}updateDisplay(){let t=this.key!==null?this.key:"";if(this.type!=="value"){this.display=`ref:${this.type}:${t}`;return}if(!this.separator){this.display=`ref:${t}`;return}if(!this.ancestor){this.display=`ref:${this.separator}${t}`;return}if(this.ancestor==="root"){this.display=`ref:root:${t}`;return}if(this.ancestor===1){this.display=`ref:${t||".."}`;return}let e=new Array(this.ancestor+1).fill(this.separator).join("");this.display=`ref:${e}${t||""}`}};Nn.Ref.prototype[Sa.symbols.ref]=!0;qn.build=function(t){return t=Object.assign({},Nn.defaults,t),t.type==="value"&&t.ancestor===void 0&&(t.ancestor=1),new Nn.Ref(t)};Nn.context=function(t,e,n={}){if(t=t.trim(),n){let r=n.global===void 0?"$":n.global;if(r!==e&&t.startsWith(r))return{key:t.slice(r.length),type:"global"};let i=n.local===void 0?"#":n.local;if(i!==e&&t.startsWith(i))return{key:t.slice(i.length),type:"local"};let s=n.root===void 0?"/":n.root;if(s!==e&&t.startsWith(s))return{key:t.slice(s.length),type:"value",root:!0}}return{key:t,type:"value"}};Nn.ancestor=function(t,e){if(!e)return[1,0];if(t[0]!==e)return[1,0];if(t[1]!==e)return[0,1];let n=2;for(;t[n]===e;)++n;return[n-1,n]};qn.toSibling=0;qn.toParent=1;qn.Manager=class{constructor(){this.refs=[]}register(t,e){if(t){if(e=e===void 0?qn.toParent:e,Array.isArray(t)){for(let n of t)this.register(n,e);return}if(Sa.isSchema(t)){for(let n of t._refs.refs)n.ancestor-e>=0&&this.refs.push({ancestor:n.ancestor-e,root:n.root});return}qn.isRef(t)&&t.type==="value"&&t.ancestor-e>=0&&this.refs.push({ancestor:t.ancestor-e,root:t.root}),am=am||gi(),am.isTemplate(t)&&this.register(t.refs(),e)}}get length(){return this.refs.length}clone(){let t=new qn.Manager;return t.refs=mP(this.refs),t}reset(){this.refs=[]}roots(){return this.refs.filter(t=>!t.ancestor).map(t=>t.root)}}});var gi=g((Ux,Hx)=>{"use strict";var bl=Re(),bP=en(),vP=Lx(),_P=Nx(),$x=Je(),Fx=Ir(),Bx=Mr(),Fe={symbol:Symbol("template"),opens:new Array(1e3).join("\0"),closes:new Array(1e3).join(""),dateFormat:{date:Date.prototype.toDateString,iso:Date.prototype.toISOString,string:Date.prototype.toString,time:Date.prototype.toTimeString,utc:Date.prototype.toUTCString}};Hx.exports=Ux=Fe.Template=class{constructor(t,e){if(bl(typeof t=="string","Template source must be a string"),bl(!t.includes("\0")&&!t.includes(""),"Template source cannot contain reserved control characters"),this.source=t,this.rendered=t,this._template=null,e){let{functions:n,...r}=e;this._settings=Object.keys(r).length?bP(r):void 0,this._functions=n,this._functions&&(bl(Object.keys(this._functions).every(i=>typeof i=="string"),"Functions keys must be strings"),bl(Object.values(this._functions).every(i=>typeof i=="function"),"Functions values must be functions"))}else this._settings=void 0,this._functions=void 0;this._parse()}_parse(){if(!this.source.includes("{"))return;let t=Fe.encode(this.source),e=Fe.split(t),n=!1,r=[],i=e.shift();i&&r.push(i);for(let s of e){let o=s[0]!=="{",a=o?"}":"}}",u=s.indexOf(a);if(u===-1||s[1]==="{"){r.push(`{${Fe.decode(s)}`);continue}let c=s.slice(o?0:1,u),l=c[0]===":";l&&(c=c.slice(1));let d=this._ref(Fe.decode(c),{raw:o,wrapped:l});r.push(d),typeof d!="string"&&(n=!0);let p=s.slice(u+a.length);p&&r.push(Fe.decode(p))}if(!n){this.rendered=r.join("");return}this._template=r}static date(t,e){return Fe.dateFormat[e.dateFormat].call(t)}describe(t={}){if(!this._settings&&t.compact)return this.source;let e={template:this.source};return this._settings&&(e.options=this._settings),this._functions&&(e.functions=this._functions),e}static build(t){return new Fe.Template(t.template,t.options||t.functions?{...t.options,functions:t.functions}:void 0)}isDynamic(){return!!this._template}static isTemplate(t){return t?!!t[$x.symbols.template]:!1}refs(){if(!this._template)return;let t=[];for(let e of this._template)typeof e!="string"&&t.push(...e.refs);return t}resolve(t,e,n,r){return this._template&&this._template.length===1?this._part(this._template[0],t,e,n,r,{}):this.render(t,e,n,r)}_part(t,...e){return t.ref?t.ref.resolve(...e):t.formula.evaluate(e)}render(t,e,n,r,i={}){if(!this.isDynamic())return this.rendered;let s=[];for(let o of this._template)if(typeof o=="string")s.push(o);else{let a=this._part(o,t,e,n,r,i),u=Fe.stringify(a,t,e,n,r,i);if(u!==void 0){let c=o.raw||(i.errors&&i.errors.escapeHtml)===!1?u:vP(u);s.push(Fe.wrap(c,o.wrapped&&n.errors.wrap.label))}}return s.join("")}_ref(t,{raw:e,wrapped:n}){let r=[],i=o=>{let a=Bx.create(o,this._settings);return r.push(a),u=>{let c=a.resolve(...u);return c!==void 0?c:null}};try{let o=this._functions?{...Fe.functions,...this._functions}:Fe.functions;var s=new _P.Parser(t,{reference:i,functions:o,constants:Fe.constants})}catch(o){throw o.message=`Invalid template variable "${t}" fails due to: ${o.message}`,o}if(s.single){if(s.single.type==="reference"){let o=r[0];return{ref:o,raw:e,refs:r,wrapped:n||o.type==="local"&&o.key==="label"}}return Fe.stringify(s.single.value)}return{formula:s,raw:e,refs:r}}toString(){return this.source}};Fe.Template.prototype[$x.symbols.template]=!0;Fe.Template.prototype.isImmutable=!0;Fe.encode=function(t){return t.replace(/\\(\{+)/g,(e,n)=>Fe.opens.slice(0,n.length)).replace(/\\(\}+)/g,(e,n)=>Fe.closes.slice(0,n.length))};Fe.decode=function(t){return t.replace(/\u0000/g,"{").replace(/\u0001/g,"}")};Fe.split=function(t){let e=[],n="";for(let r=0;r<t.length;++r){let i=t[r];if(i==="{"){let s="";for(;r+1<t.length&&t[r+1]==="{";)s+="{",++r;e.push(n),n=s}else n+=i}return e.push(n),e};Fe.wrap=function(t,e){return e?e.length===1?`${e}${t}${e}`:`${e[0]}${t}${e[1]}`:t};Fe.stringify=function(t,e,n,r,i,s={}){let o=typeof t,a=r&&r.errors&&r.errors.wrap||{},u=!1;if(Bx.isRef(t)&&t.render&&(u=t.in,t=t.resolve(e,n,r,i,{in:t.in,...s})),t===null)return"null";if(o==="string")return Fe.wrap(t,s.arrayItems&&a.string);if(o==="number"||o==="function"||o==="symbol")return t.toString();if(o!=="object")return JSON.stringify(t);if(t instanceof Date)return Fe.Template.date(t,r);if(t instanceof Map){let l=[];for(let[d,p]of t.entries())l.push(`${d.toString()} -> ${p.toString()}`);t=l}if(!Array.isArray(t))return t.toString();let c=[];for(let l of t)c.push(Fe.stringify(l,e,n,r,i,{arrayItems:!0,...s}));return Fe.wrap(c.join(", "),!u&&a.array)};Fe.constants={true:!0,false:!1,null:null,second:1e3,minute:60*1e3,hour:60*60*1e3,day:24*60*60*1e3};Fe.functions={if(t,e,n){return t?e:n},length(t){return typeof t=="string"?t.length:!t||typeof t!="object"?null:Array.isArray(t)?t.length:Object.keys(t).length},msg(t){let[e,n,r,i,s]=this,o=s.messages;if(!o)return"";let a=Fx.template(e,o[0],t,n,r)||Fx.template(e,o[1],t,n,r);return a?a.render(e,n,r,i,s):""},number(t){return typeof t=="number"?t:typeof t=="string"?parseFloat(t):typeof t=="boolean"?t?1:0:t instanceof Date?t.getTime():null}}});var Js=g(ka=>{"use strict";var Ki=Re(),Wx=en(),Sn=gi();ka.compile=function(t,e){if(typeof t=="string")return Ki(!e,"Cannot set single message string"),new Sn(t);if(Sn.isTemplate(t))return Ki(!e,"Cannot set single message template"),t;Ki(typeof t=="object"&&!Array.isArray(t),"Invalid message options"),e=e?Wx(e):{};for(let n in t){let r=t[n];if(n==="root"||Sn.isTemplate(r)){e[n]=r;continue}if(typeof r=="string"){e[n]=new Sn(r);continue}Ki(typeof r=="object"&&!Array.isArray(r),"Invalid message for",n);let i=n;e[i]=e[i]||{};for(n in r){let s=r[n];if(n==="root"||Sn.isTemplate(s)){e[i][n]=s;continue}Ki(typeof s=="string","Invalid message for",n,"in",i),e[i][n]=new Sn(s)}}return e};ka.decompile=function(t){let e={};for(let n in t){let r=t[n];if(n==="root"){e.root=r;continue}if(Sn.isTemplate(r)){e[n]=r.describe({compact:!0});continue}let i=n;e[i]={};for(n in r){let s=r[n];if(n==="root"){e[i].root=s;continue}e[i][n]=s.describe({compact:!0})}}return e};ka.merge=function(t,e){if(!t)return ka.compile(e);if(!e)return t;if(typeof e=="string")return new Sn(e);if(Sn.isTemplate(e))return e;let n=Wx(t);for(let r in e){let i=e[r];if(r==="root"||Sn.isTemplate(i)){n[r]=i;continue}if(typeof i=="string"){n[r]=new Sn(i);continue}Ki(typeof i=="object"&&!Array.isArray(i),"Invalid message for",r);let s=r;n[s]=n[s]||{};for(r in i){let o=i[r];if(r==="root"||Sn.isTemplate(o)){n[s][r]=o;continue}Ki(typeof o=="string","Invalid message for",r,"in",s),n[s][r]=new Sn(o)}}return n}});var Je=g(Qe=>{"use strict";var vl=Re(),TP=rm(),SP=Ix(),um,cm,kP={isoDate:/^(?:[-+]\d{2})?(?:\d{4}(?!\d{2}\b))(?:(-?)(?:(?:0[1-9]|1[0-2])(?:\1(?:[12]\d|0[1-9]|3[01]))?|W(?:[0-4]\d|5[0-2])(?:-?[1-7])?|(?:00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[1-6])))(?![T]$|[T][\d]+Z$)(?:[T\s](?:(?:(?:[01]\d|2[0-3])(?:(:?)[0-5]\d)?|24\:?00)(?:[.,]\d+(?!:))?)(?:\2[0-5]\d(?:[.,]\d+)?)?(?:[Z]|(?:[+-])(?:[01]\d|2[0-3])(?::?[0-5]\d)?)?)?)?$/};Qe.version=SP.version;Qe.defaults={abortEarly:!0,allowUnknown:!1,artifacts:!1,cache:!0,context:null,convert:!0,dateFormat:"iso",errors:{escapeHtml:!1,label:"path",language:null,render:!0,stack:!1,wrap:{label:'"',array:"[]"}},externals:!0,messages:{},nonEnumerables:!1,noDefaults:!1,presence:"optional",skipFunctions:!1,stripUnknown:!1,warnings:!1};Qe.symbols={any:Symbol.for("@hapi/joi/schema"),arraySingle:Symbol("arraySingle"),deepDefault:Symbol("deepDefault"),errors:Symbol("errors"),literal:Symbol("literal"),override:Symbol("override"),parent:Symbol("parent"),prefs:Symbol("prefs"),ref:Symbol("ref"),template:Symbol("template"),values:Symbol("values")};Qe.assertOptions=function(t,e,n="Options"){vl(t&&typeof t=="object"&&!Array.isArray(t),"Options must be of type object");let r=Object.keys(t).filter(i=>!e.includes(i));vl(r.length===0,`${n} contain unknown keys: ${r}`)};Qe.checkPreferences=function(t){cm=cm||ml();let e=cm.preferences.validate(t);if(e.error)throw new TP([e.error.details[0].message])};Qe.compare=function(t,e,n){switch(n){case"=":return t===e;case">":return t>e;case"<":return t<e;case">=":return t>=e;case"<=":return t<=e}};Qe.default=function(t,e){return t===void 0?e:t};Qe.isIsoDate=function(t){return kP.isoDate.test(t)};Qe.isNumber=function(t){return typeof t=="number"&&!isNaN(t)};Qe.isResolvable=function(t){return t?t[Qe.symbols.ref]||t[Qe.symbols.template]:!1};Qe.isSchema=function(t,e={}){let n=t&&t[Qe.symbols.any];return n?(vl(e.legacy||n.version===Qe.version,"Cannot mix different versions of joi schemas"),!0):!1};Qe.isValues=function(t){return t[Qe.symbols.values]};Qe.limit=function(t){return Number.isSafeInteger(t)&&t>=0};Qe.preferences=function(t,e){um=um||Js(),t=t||{},e=e||{};let n=Object.assign({},t,e);return e.errors&&t.errors&&(n.errors=Object.assign({},t.errors,e.errors),n.errors.wrap=Object.assign({},t.errors.wrap,e.errors.wrap)),e.messages&&(n.messages=um.compile(e.messages,t.messages)),delete n[Qe.symbols.prefs],n};Qe.tryWithPath=function(t,e,n={}){try{return t()}catch(r){throw r.path!==void 0?r.path=e+"."+r.path:r.path=e,n.append&&(r.message=`${r.message} (${r.path})`),r}};Qe.validateArg=function(t,e,{assert:n,message:r}){if(Qe.isSchema(n)){let i=n.validate(t);return i.error?i.error.message:void 0}else if(!n(t))return e?`${e} ${r}`:r};Qe.verifyFlat=function(t,e){for(let n of t)vl(!Array.isArray(n),"Method no longer accepts array arguments:",e)}});var lm=g(Gx=>{"use strict";var xP=Re(),wP=en(),EP=Je(),Qs={max:1e3,supported:new Set(["undefined","boolean","number","string"])};Gx.provider={provision(t){return new Qs.Cache(t)}};Qs.Cache=class{constructor(t={}){EP.assertOptions(t,["max"]),xP(t.max===void 0||t.max&&t.max>0&&isFinite(t.max),"Invalid max cache size"),this._max=t.max||Qs.max,this._map=new Map,this._list=new Qs.List}get length(){return this._map.size}set(t,e){if(t!==null&&!Qs.supported.has(typeof t))return;let n=this._map.get(t);if(n){n.value=e,this._list.first(n);return}n=this._list.unshift({key:t,value:e}),this._map.set(t,n),this._compact()}get(t){let e=this._map.get(t);if(e)return this._list.first(e),wP(e.value)}_compact(){if(this._map.size>this._max){let t=this._list.pop();this._map.delete(t.key)}}};Qs.List=class{constructor(){this.tail=null,this.head=null}unshift(t){return t.next=null,t.prev=this.head,this.head&&(this.head.next=t),this.head=t,this.tail||(this.tail=t),t}first(t){t!==this.head&&(this._remove(t),this.unshift(t))}pop(){return this._remove(this.tail)}_remove(t){let{next:e,prev:n}=t;return e.prev=n,n&&(n.next=e),t===this.tail&&(this.tail=e),t.prev=null,t.next=null,t}}});var Xi=g(Lr=>{"use strict";var dt=Re(),kn=Je(),Zs=Mr(),jn={};Lr.schema=function(t,e,n={}){kn.assertOptions(n,["appendPath","override"]);try{return jn.schema(t,e,n)}catch(r){throw n.appendPath&&r.path!==void 0&&(r.message=`${r.message} (${r.path})`),r}};jn.schema=function(t,e,n){dt(e!==void 0,"Invalid undefined schema"),Array.isArray(e)&&(dt(e.length,"Invalid empty array schema"),e.length===1&&(e=e[0]));let r=(i,...s)=>n.override!==!1?i.valid(t.override,...s):i.valid(...s);if(jn.simple(e))return r(t,e);if(typeof e=="function")return t.custom(e);if(dt(typeof e=="object","Invalid schema content:",typeof e),kn.isResolvable(e))return r(t,e);if(kn.isSchema(e))return e;if(Array.isArray(e)){for(let i of e)if(!jn.simple(i))return t.alternatives().try(...e);return r(t,...e)}return e instanceof RegExp?t.string().regex(e):e instanceof Date?r(t.date(),e):(dt(Object.getPrototypeOf(e)===Object.getPrototypeOf({}),"Schema can only contain plain objects"),t.object().keys(e))};Lr.ref=function(t,e){return Zs.isRef(t)?t:Zs.create(t,e)};Lr.compile=function(t,e,n={}){kn.assertOptions(n,["legacy"]);let r=e&&e[kn.symbols.any];if(r)return dt(n.legacy||r.version===kn.version,"Cannot mix different versions of joi schemas:",r.version,kn.version),e;if(typeof e!="object"||!n.legacy)return Lr.schema(t,e,{appendPath:!0});let i=jn.walk(e);return i?i.compile(i.root,e):Lr.schema(t,e,{appendPath:!0})};jn.walk=function(t){if(typeof t!="object")return null;if(Array.isArray(t)){for(let n of t){let r=jn.walk(n);if(r)return r}return null}let e=t[kn.symbols.any];if(e)return{root:t[e.root],compile:e.compile};dt(Object.getPrototypeOf(t)===Object.getPrototypeOf({}),"Schema can only contain plain objects");for(let n in t){let r=jn.walk(t[n]);if(r)return r}return null};jn.simple=function(t){return t===null||["boolean","string","number"].includes(typeof t)};Lr.when=function(t,e,n){if(n===void 0&&(dt(e&&typeof e=="object","Missing options"),n=e,e=Zs.create(".")),Array.isArray(n)&&(n={switch:n}),kn.assertOptions(n,["is","not","then","otherwise","switch","break"]),kn.isSchema(e))return dt(n.is===void 0,'"is" can not be used with a schema condition'),dt(n.not===void 0,'"not" can not be used with a schema condition'),dt(n.switch===void 0,'"switch" can not be used with a schema condition'),jn.condition(t,{is:e,then:n.then,otherwise:n.otherwise,break:n.break});if(dt(Zs.isRef(e)||typeof e=="string","Invalid condition:",e),dt(n.not===void 0||n.is===void 0,'Cannot combine "is" with "not"'),n.switch===void 0){let i=n;n.not!==void 0&&(i={is:n.not,then:n.otherwise,otherwise:n.then,break:n.break});let s=i.is!==void 0?t.$_compile(i.is):t.$_root.invalid(null,!1,0,"").required();return dt(i.then!==void 0||i.otherwise!==void 0,'options must have at least one of "then", "otherwise", or "switch"'),dt(i.break===void 0||i.then===void 0||i.otherwise===void 0,"Cannot specify then, otherwise, and break all together"),n.is!==void 0&&!Zs.isRef(n.is)&&!kn.isSchema(n.is)&&(s=s.required()),jn.condition(t,{ref:Lr.ref(e),is:s,then:i.then,otherwise:i.otherwise,break:i.break})}dt(Array.isArray(n.switch),'"switch" must be an array'),dt(n.is===void 0,'Cannot combine "switch" with "is"'),dt(n.not===void 0,'Cannot combine "switch" with "not"'),dt(n.then===void 0,'Cannot combine "switch" with "then"');let r={ref:Lr.ref(e),switch:[],break:n.break};for(let i=0;i<n.switch.length;++i){let s=n.switch[i],o=i===n.switch.length-1;kn.assertOptions(s,o?["is","then","otherwise"]:["is","then"]),dt(s.is!==void 0,'Switch statement missing "is"'),dt(s.then!==void 0,'Switch statement missing "then"');let a={is:t.$_compile(s.is),then:t.$_compile(s.then)};if(!Zs.isRef(s.is)&&!kn.isSchema(s.is)&&(a.is=a.is.required()),o){dt(n.otherwise===void 0||s.otherwise===void 0,'Cannot specify "otherwise" inside and outside a "switch"');let u=n.otherwise!==void 0?n.otherwise:s.otherwise;u!==void 0&&(dt(r.break===void 0,"Cannot specify both otherwise and break"),a.otherwise=t.$_compile(u))}r.switch.push(a)}return r};jn.condition=function(t,e){for(let n of["then","otherwise"])e[n]===void 0?delete e[n]:e[n]=t.$_compile(e[n]);return e}});var dm=g(zx=>{"use strict";var mi=Re(),AP=en(),Vx=Je(),OP=Js(),gr={};zx.type=function(t,e){let n=Object.getPrototypeOf(t),r=AP(n),i=t._assign(Object.create(r)),s=Object.assign({},e);delete s.base,r._definition=s;let o=n._definition||{};s.messages=OP.merge(o.messages,s.messages),s.properties=Object.assign({},o.properties,s.properties),i.type=s.type,s.flags=Object.assign({},o.flags,s.flags);let a=Object.assign({},o.terms);if(s.terms)for(let d in s.terms){let p=s.terms[d];mi(i.$_terms[d]===void 0,"Invalid term override for",s.type,d),i.$_terms[d]=p.init,a[d]=p}s.terms=a,s.args||(s.args=o.args),s.prepare=gr.prepare(s.prepare,o.prepare),s.coerce&&(typeof s.coerce=="function"&&(s.coerce={method:s.coerce}),s.coerce.from&&!Array.isArray(s.coerce.from)&&(s.coerce={method:s.coerce.method,from:[].concat(s.coerce.from)})),s.coerce=gr.coerce(s.coerce,o.coerce),s.validate=gr.validate(s.validate,o.validate);let u=Object.assign({},o.rules);if(s.rules)for(let d in s.rules){let p=s.rules[d];mi(typeof p=="object","Invalid rule definition for",s.type,d);let b=p.method;if(b===void 0&&(b=function(){return this.$_addRule(d)}),b&&(mi(!r[d],"Rule conflict in",s.type,d),r[d]=b),mi(!u[d],"Rule conflict in",s.type,d),u[d]=p,p.alias){let T=[].concat(p.alias);for(let E of T)r[E]=p.method}p.args&&(p.argsByName=new Map,p.args=p.args.map(T=>(typeof T=="string"&&(T={name:T}),mi(!p.argsByName.has(T.name),"Duplicated argument name",T.name),Vx.isSchema(T.assert)&&(T.assert=T.assert.strict().label(T.name)),p.argsByName.set(T.name,T),T)))}s.rules=u;let c=Object.assign({},o.modifiers);if(s.modifiers)for(let d in s.modifiers){mi(!r[d],"Rule conflict in",s.type,d);let p=s.modifiers[d];mi(typeof p=="function","Invalid modifier definition for",s.type,d);let b=function(T){return this.rule({[d]:T})};r[d]=b,c[d]=p}if(s.modifiers=c,s.overrides){r._super=n,i.$_super={};for(let d in s.overrides)mi(n[d],"Cannot override missing",d),s.overrides[d][Vx.symbols.parent]=n[d],i.$_super[d]=n[d].bind(i);Object.assign(r,s.overrides)}s.cast=Object.assign({},o.cast,s.cast);let l=Object.assign({},o.manifest,s.manifest);return l.build=gr.build(s.manifest&&s.manifest.build,o.manifest&&o.manifest.build),s.manifest=l,s.rebuild=gr.rebuild(s.rebuild,o.rebuild),i};gr.build=function(t,e){return!t||!e?t||e:function(n,r){return e(t(n,r),r)}};gr.coerce=function(t,e){return!t||!e?t||e:{from:t.from&&e.from?[...new Set([...t.from,...e.from])]:null,method(n,r){let i;if((!e.from||e.from.includes(typeof n))&&(i=e.method(n,r),i)){if(i.errors||i.value===void 0)return i;n=i.value}if(!t.from||t.from.includes(typeof n)){let s=t.method(n,r);if(s)return s}return i}}};gr.prepare=function(t,e){return!t||!e?t||e:function(n,r){let i=t(n,r);if(i){if(i.errors||i.value===void 0)return i;n=i.value}return e(n,r)||i}};gr.rebuild=function(t,e){return!t||!e?t||e:function(n){e(n),t(n)}};gr.validate=function(t,e){return!t||!e?t||e:function(n,r){let i=e(n,r);if(i){if(i.errors&&(!Array.isArray(i.errors)||i.errors.length))return i;n=i.value}return t(n,r)||i}}});var hm=g(pm=>{"use strict";var mr=Re(),_l=en(),Yi=Je(),CP=Js(),Kx=Mr(),RP=gi(),fm,tn={};pm.describe=function(t){let e=t._definition,n={type:t.type,flags:{},rules:[]};for(let r in t._flags)r[0]!=="_"&&(n.flags[r]=tn.describe(t._flags[r]));Object.keys(n.flags).length||delete n.flags,t._preferences&&(n.preferences=_l(t._preferences,{shallow:["messages"]}),delete n.preferences[Yi.symbols.prefs],n.preferences.messages&&(n.preferences.messages=CP.decompile(n.preferences.messages))),t._valids&&(n.allow=t._valids.describe()),t._invalids&&(n.invalid=t._invalids.describe());for(let r of t._rules){if(e.rules[r.name].manifest===!1)continue;let s={name:r.name};for(let o in e.modifiers)r[o]!==void 0&&(s[o]=tn.describe(r[o]));if(r.args){s.args={};for(let o in r.args){let a=r.args[o];o==="options"&&!Object.keys(a).length||(s.args[o]=tn.describe(a,{assign:o}))}Object.keys(s.args).length||delete s.args}n.rules.push(s)}n.rules.length||delete n.rules;for(let r in t.$_terms){if(r[0]==="_")continue;mr(!n[r],"Cannot describe schema due to internal name conflict with",r);let i=t.$_terms[r];if(!i)continue;if(i instanceof Map){i.size&&(n[r]=[...i.entries()]);continue}if(Yi.isValues(i)){n[r]=i.describe();continue}mr(e.terms[r],"Term",r,"missing configuration");let s=e.terms[r].manifest,o=typeof s=="object";if(!i.length&&!o)continue;let a=[];for(let u of i)a.push(tn.describe(u));if(o){let{from:u,to:c}=s.mapped;n[r]={};for(let l of a)n[r][l[c]]=l[u];continue}if(s==="single"){mr(a.length===1,"Term",r,"contains more than one item"),n[r]=a[0];continue}n[r]=a}return tn.validate(t.$_root,n),n};tn.describe=function(t,e={}){if(Array.isArray(t))return t.map(tn.describe);if(t===Yi.symbols.deepDefault)return{special:"deep"};if(typeof t!="object"||t===null)return t;if(e.assign==="options")return _l(t);if(Buffer&&Buffer.isBuffer(t))return{buffer:t.toString("binary")};if(t instanceof Date)return t.toISOString();if(t instanceof Error)return t;if(t instanceof RegExp)return e.assign==="regex"?t.toString():{regex:t.toString()};if(t[Yi.symbols.literal])return{function:t.literal};if(typeof t.describe=="function")return e.assign==="ref"?t.describe().ref:t.describe();let n={};for(let r in t){let i=t[r];i!==void 0&&(n[r]=tn.describe(i,{assign:r}))}return n};pm.build=function(t,e){return new tn.Builder(t).parse(e)};tn.Builder=class{constructor(t){this.joi=t}parse(t){tn.validate(this.joi,t);let e=this.joi[t.type]()._bare(),n=e._definition;if(t.flags)for(let i in t.flags){let s=n.flags[i]&&n.flags[i].setter||i;mr(typeof e[s]=="function","Invalid flag",i,"for type",t.type),e=e[s](this.build(t.flags[i]))}if(t.preferences&&(e=e.preferences(this.build(t.preferences))),t.allow&&(e=e.allow(...this.build(t.allow))),t.invalid&&(e=e.invalid(...this.build(t.invalid))),t.rules)for(let i of t.rules){mr(typeof e[i.name]=="function","Invalid rule",i.name,"for type",t.type);let s=[];if(i.args){let a={};for(let l in i.args)a[l]=this.build(i.args[l],{assign:l});let u=Object.keys(a),c=n.rules[i.name].args;if(c){mr(u.length<=c.length,"Invalid number of arguments for",t.type,i.name,"(expected up to",c.length,", found",u.length,")");for(let{name:l}of c)s.push(a[l])}else mr(u.length===1,"Invalid number of arguments for",t.type,i.name,"(expected up to 1, found",u.length,")"),s.push(a[u[0]])}e=e[i.name](...s);let o={};for(let a in n.modifiers)i[a]!==void 0&&(o[a]=this.build(i[a]));Object.keys(o).length&&(e=e.rule(o))}let r={};for(let i in t){if(["allow","flags","invalid","whens","preferences","rules","type"].includes(i))continue;mr(n.terms[i],"Term",i,"missing configuration");let s=n.terms[i].manifest;if(s==="schema"){r[i]=t[i].map(o=>this.parse(o));continue}if(s==="values"){r[i]=t[i].map(o=>this.build(o));continue}if(s==="single"){r[i]=this.build(t[i]);continue}if(typeof s=="object"){r[i]={};for(let o in t[i]){let a=t[i][o];r[i][o]=this.parse(a)}continue}r[i]=this.build(t[i])}return t.whens&&(r.whens=t.whens.map(i=>this.build(i))),e=n.manifest.build(e,r),e.$_temp.ruleset=!1,e}build(t,e={}){if(t===null)return null;if(Array.isArray(t))return t.map(r=>this.build(r));if(t instanceof Error)return t;if(e.assign==="options")return _l(t);if(e.assign==="regex")return tn.regex(t);if(e.assign==="ref")return Kx.build(t);if(typeof t!="object")return t;if(Object.keys(t).length===1){if(t.buffer)return mr(Buffer,"Buffers are not supported"),Buffer&&Buffer.from(t.buffer,"binary");if(t.function)return{[Yi.symbols.literal]:!0,literal:t.function};if(t.override)return Yi.symbols.override;if(t.ref)return Kx.build(t.ref);if(t.regex)return tn.regex(t.regex);if(t.special)return mr(["deep"].includes(t.special),"Unknown special value",t.special),Yi.symbols.deepDefault;if(t.value)return _l(t.value)}if(t.type)return this.parse(t);if(t.template)return RP.build(t);let n={};for(let r in t)n[r]=this.build(t[r],{assign:r});return n}};tn.regex=function(t){let e=t.lastIndexOf("/"),n=t.slice(1,e),r=t.slice(e+1);return new RegExp(n,r)};tn.validate=function(t,e){fm=fm||ml(),t.assert(e,fm.description)}});var xa=g((aB,Xx)=>{"use strict";var yr=sm(),Vt={mismatched:null};Xx.exports=function(t,e,n){return n=Object.assign({prototype:!0},n),!!Vt.isDeepEqual(t,e,n,[])};Vt.isDeepEqual=function(t,e,n,r){if(t===e)return t!==0||1/t===1/e;let i=typeof t;if(i!==typeof e||t===null||e===null)return!1;if(i==="function"){if(!n.deepFunction||t.toString()!==e.toString())return!1}else if(i!=="object")return t!==t&&e!==e;let s=Vt.getSharedType(t,e,!!n.prototype);switch(s){case yr.buffer:return Buffer&&Buffer.prototype.equals.call(t,e);case yr.promise:return t===e;case yr.regex:return t.toString()===e.toString();case Vt.mismatched:return!1}for(let o=r.length-1;o>=0;--o)if(r[o].isSame(t,e))return!0;r.push(new Vt.SeenEntry(t,e));try{return!!Vt.isDeepEqualObj(s,t,e,n,r)}finally{r.pop()}};Vt.getSharedType=function(t,e,n){if(n)return Object.getPrototypeOf(t)!==Object.getPrototypeOf(e)?Vt.mismatched:yr.getInternalProto(t);let r=yr.getInternalProto(t);return r!==yr.getInternalProto(e)?Vt.mismatched:r};Vt.valueOf=function(t){let e=t.valueOf;if(e===void 0)return t;try{return e.call(t)}catch(n){return n}};Vt.hasOwnEnumerableProperty=function(t,e){return Object.prototype.propertyIsEnumerable.call(t,e)};Vt.isSetSimpleEqual=function(t,e){for(let n of Set.prototype.values.call(t))if(!Set.prototype.has.call(e,n))return!1;return!0};Vt.isDeepEqualObj=function(t,e,n,r,i){let{isDeepEqual:s,valueOf:o,hasOwnEnumerableProperty:a}=Vt,{keys:u,getOwnPropertySymbols:c}=Object;if(t===yr.array)if(r.part){for(let T of e)for(let E of n)if(s(T,E,r,i))return!0}else{if(e.length!==n.length)return!1;for(let T=0;T<e.length;++T)if(!s(e[T],n[T],r,i))return!1;return!0}else if(t===yr.set){if(e.size!==n.size)return!1;if(!Vt.isSetSimpleEqual(e,n)){let T=new Set(Set.prototype.values.call(n));for(let E of Set.prototype.values.call(e)){if(T.delete(E))continue;let L=!1;for(let M of T)if(s(E,M,r,i)){T.delete(M),L=!0;break}if(!L)return!1}}}else if(t===yr.map){if(e.size!==n.size)return!1;for(let[T,E]of Map.prototype.entries.call(e))if(E===void 0&&!Map.prototype.has.call(n,T)||!s(E,Map.prototype.get.call(n,T),r,i))return!1}else if(t===yr.error&&(e.name!==n.name||e.message!==n.message))return!1;let l=o(e),d=o(n);if((e!==l||n!==d)&&!s(l,d,r,i))return!1;let p=u(e);if(!r.part&&p.length!==u(n).length&&!r.skip)return!1;let b=0;for(let T of p){if(r.skip&&r.skip.includes(T)){n[T]===void 0&&++b;continue}if(!a(n,T)||!s(e[T],n[T],r,i))return!1}if(!r.part&&p.length-b!==u(n).length)return!1;if(r.symbols!==!1){let T=c(e),E=new Set(c(n));for(let L of T){if(!r.skip||!r.skip.includes(L)){if(a(e,L)){if(!a(n,L)||!s(e[L],n[L],r,i))return!1}else if(a(n,L))return!1}E.delete(L)}for(let L of E)if(a(n,L))return!1}return!0};Vt.SeenEntry=class{constructor(t,e){this.obj=t,this.ref=e}isSame(t,e){return this.obj===t&&this.ref===e}}});var Jx=g(Yx=>{"use strict";Yx.location=function(t=0){let e=Error.prepareStackTrace;Error.prepareStackTrace=(i,s)=>s;let n={};Error.captureStackTrace(n,this);let r=n.stack[t+1];return Error.prepareStackTrace=e,{filename:r.getFileName(),line:r.getLineNumber()}}});var mm=g(gm=>{"use strict";var Qx=xa(),Zx=Jx(),DP=Ir(),zt={codes:{error:1,pass:2,full:3},labels:{0:"never used",1:"always error",2:"always pass"}};gm.setup=function(t){let e=function(){return t._tracer=t._tracer||new zt.Tracer,t._tracer};t.trace=e,t[Symbol.for("@hapi/lab/coverage/initialize")]=e,t.untrace=()=>{t._tracer=null}};gm.location=function(t){return t.$_setFlag("_tracerLocation",Zx.location(2))};zt.Tracer=class{constructor(){this.name="Joi",this._schemas=new Map}_register(t){let e=this._schemas.get(t);if(e)return e.store;let n=new zt.Store(t),{filename:r,line:i}=t._flags._tracerLocation||Zx.location(5);return this._schemas.set(t,{filename:r,line:i,store:n}),n}_combine(t,e){for(let{store:n}of this._schemas.values())n._combine(t,e)}report(t){let e=[];for(let{filename:n,line:r,store:i}of this._schemas.values()){if(t&&t!==n)continue;let s=[],o=[];for(let[a,u]of i._sources.entries()){if(zt.sub(u.paths,o))continue;if(!u.entry){s.push({status:"never reached",paths:[...u.paths]}),o.push(...u.paths);continue}for(let l of["valid","invalid"]){let d=a[`_${l}s`];if(!d)continue;let p=new Set(d._values),b=new Set(d._refs);for(let{value:T,ref:E}of u[l])p.delete(T),b.delete(E);(p.size||b.size)&&s.push({status:[...p,...[...b].map(T=>T.display)],rule:`${l}s`})}let c=a._rules.map(l=>l.name);for(let l of["default","failover"])a._flags[l]!==void 0&&c.push(l);for(let l of c){let d=zt.labels[u.rule[l]||0];if(d){let p={rule:l,status:d};u.paths.size&&(p.paths=[...u.paths]),s.push(p)}}}s.length&&e.push({filename:n,line:r,missing:s,severity:"error",message:`Schema missing tests for ${s.map(zt.message).join(", ")}`})}return e.length?e:null}};zt.Store=class{constructor(t){this.active=!0,this._sources=new Map,this._combos=new Map,this._scan(t)}debug(t,e,n,r){t.mainstay.debug&&t.mainstay.debug.push({type:e,name:n,result:r,path:t.path})}entry(t,e){zt.debug(e,{type:"entry"}),this._record(t,n=>{n.entry=!0})}filter(t,e,n,r){zt.debug(e,{type:n,...r}),this._record(t,i=>{i[n].add(r)})}log(t,e,n,r,i){zt.debug(e,{type:n,name:r,result:i==="full"?"pass":i}),this._record(t,s=>{s[n][r]=s[n][r]||0,s[n][r]|=zt.codes[i]})}resolve(t,e,n){if(!t.mainstay.debug)return;let r={type:"resolve",ref:e.display,to:n,path:t.path};t.mainstay.debug.push(r)}value(t,e,n,r,i){if(!t.mainstay.debug||Qx(n,r))return;let s={type:"value",by:e,from:n,to:r,path:t.path};i&&(s.name=i),t.mainstay.debug.push(s)}_record(t,e){let n=this._sources.get(t);if(n){e(n);return}let r=this._combos.get(t);for(let i of r)this._record(i,e)}_scan(t,e){let n=e||[],r=this._sources.get(t);r||(r={paths:new Set,entry:!1,rule:{},valid:new Set,invalid:new Set},this._sources.set(t,r)),n.length&&r.paths.add(n);let i=(s,o)=>{let a=zt.id(s,o);this._scan(s,n.concat(a))};t.$_modify({each:i,ref:!1})}_combine(t,e){this._combos.set(t,e)}};zt.message=function(t){return`${t.paths?DP.path(t.paths[0])+(t.rule?":":""):""}${t.rule||""} (${t.status})`};zt.id=function(t,{source:e,name:n,path:r,key:i}){return t._flags.id?t._flags.id:i||(n=`@${n}`,e==="terms"?[n,r[Math.min(r.length-1,1)]]:n)};zt.sub=function(t,e){for(let n of t)for(let r of e)if(Qx(n.slice(0,r.length),r))return!0;return!1};zt.debug=function(t,e){t.mainstay.debug&&(e.path=t.debug?[...t.path,t.debug]:t.path,t.mainstay.debug.push(e))}});var Tl=g((pB,nw)=>{"use strict";var ym=Re(),ew=en(),PP=om(),tw={};nw.exports=tw.merge=function(t,e,n){if(ym(t&&typeof t=="object","Invalid target value: must be an object"),ym(e==null||typeof e=="object","Invalid source value: must be null, undefined, or an object"),!e)return t;if(n=Object.assign({nullOverride:!0,mergeArrays:!0},n),Array.isArray(e)){ym(Array.isArray(t),"Cannot merge array onto an object"),n.mergeArrays||(t.length=0);for(let i=0;i<e.length;++i)t.push(ew(e[i],{symbols:n.symbols}));return t}let r=PP.keys(e,n);for(let i=0;i<r.length;++i){let s=r[i];if(s==="__proto__"||!Object.prototype.propertyIsEnumerable.call(e,s))continue;let o=e[s];if(o&&typeof o=="object"){if(t[s]===o)continue;!t[s]||typeof t[s]!="object"||Array.isArray(t[s])!==Array.isArray(o)||o instanceof Date||Buffer&&Buffer.isBuffer(o)||o instanceof RegExp?t[s]=ew(o,{symbols:n.symbols}):tw.merge(t[s],o,n)}else(o!=null||n.nullOverride)&&(t[s]=o)}return t}});var rw=g(Sl=>{"use strict";var Nr=Re(),bm=Je(),IP=Mr(),br={};Sl.Ids=br.Ids=class{constructor(){this._byId=new Map,this._byKey=new Map,this._schemaChain=!1}clone(){let t=new br.Ids;return t._byId=new Map(this._byId),t._byKey=new Map(this._byKey),t._schemaChain=this._schemaChain,t}concat(t){t._schemaChain&&(this._schemaChain=!0);for(let[e,n]of t._byId.entries())Nr(!this._byKey.has(e),"Schema id conflicts with existing key:",e),this._byId.set(e,n);for(let[e,n]of t._byKey.entries())Nr(!this._byId.has(e),"Schema key conflicts with existing id:",e),this._byKey.set(e,n)}fork(t,e,n){let r=this._collect(t);r.push({schema:n});let i=r.shift(),s={id:i.id,schema:e(i.schema)};Nr(bm.isSchema(s.schema),"adjuster function failed to return a joi schema type");for(let o of r)s={id:o.id,schema:br.fork(o.schema,s.id,s.schema)};return s.schema}labels(t,e=[]){let n=t[0],r=this._get(n);if(!r)return[...e,...t].join(".");let i=t.slice(1);return e=[...e,r.schema._flags.label||n],i.length?r.schema._ids.labels(i,e):e.join(".")}reach(t,e=[]){let n=t[0],r=this._get(n);Nr(r,"Schema does not contain path",[...e,...t].join("."));let i=t.slice(1);return i.length?r.schema._ids.reach(i,[...e,n]):r.schema}register(t,{key:e}={}){if(!t||!bm.isSchema(t))return;(t.$_property("schemaChain")||t._ids._schemaChain)&&(this._schemaChain=!0);let n=t._flags.id;if(n){let r=this._byId.get(n);Nr(!r||r.schema===t,"Cannot add different schemas with the same id:",n),Nr(!this._byKey.has(n),"Schema id conflicts with existing key:",n),this._byId.set(n,{schema:t,id:n})}e&&(Nr(!this._byKey.has(e),"Schema already contains key:",e),Nr(!this._byId.has(e),"Schema key conflicts with existing id:",e),this._byKey.set(e,{schema:t,id:e}))}reset(){this._byId=new Map,this._byKey=new Map,this._schemaChain=!1}_collect(t,e=[],n=[]){let r=t[0],i=this._get(r);Nr(i,"Schema does not contain path",[...e,...t].join(".")),n=[i,...n];let s=t.slice(1);return s.length?i.schema._ids._collect(s,[...e,r],n):n}_get(t){return this._byId.get(t)||this._byKey.get(t)}};br.fork=function(t,e,n){let r=(s,{key:o})=>{if(e===(s._flags.id||o))return n},i=Sl.schema(t,{each:r,ref:!1});return i?i.$_mutateRebuild():t};Sl.schema=function(t,e){let n;for(let r in t._flags){if(r[0]==="_")continue;let i=br.scan(t._flags[r],{source:"flags",name:r},e);i!==void 0&&(n=n||t.clone(),n._flags[r]=i)}for(let r=0;r<t._rules.length;++r){let i=t._rules[r],s=br.scan(i.args,{source:"rules",name:i.name},e);if(s!==void 0){n=n||t.clone();let o=Object.assign({},i);o.args=s,n._rules[r]=o,n._singleRules.get(i.name)===i&&n._singleRules.set(i.name,o)}}for(let r in t.$_terms){if(r[0]==="_")continue;let i=br.scan(t.$_terms[r],{source:"terms",name:r},e);i!==void 0&&(n=n||t.clone(),n.$_terms[r]=i)}return n};br.scan=function(t,e,n,r,i){let s=r||[];if(t===null||typeof t!="object")return;let o;if(Array.isArray(t)){for(let a=0;a<t.length;++a){let u=e.source==="terms"&&e.name==="keys"&&t[a].key,c=br.scan(t[a],e,n,[a,...s],u);c!==void 0&&(o=o||t.slice(),o[a]=c)}return o}if(n.schema!==!1&&bm.isSchema(t)||n.ref!==!1&&IP.isRef(t)){let a=n.each(t,{...e,path:s,key:i});return a===t?void 0:a}for(let a in t){if(a[0]==="_")continue;let u=br.scan(t[a],e,n,[a,...s],i);u!==void 0&&(o=o||Object.assign({},t),o[a]=u)}return o}});var sw=g((mB,iw)=>{"use strict";iw.exports=function(){}});var uw=g((yB,aw)=>{"use strict";var MP=en(),ow=Vi(),LP=Je(),vr={value:Symbol("value")};aw.exports=vr.State=class{constructor(t,e,n){this.path=t,this.ancestors=e,this.mainstay=n.mainstay,this.schemas=n.schemas,this.debug=null}localize(t,e=null,n=null){let r=new vr.State(t,e,this);return n&&r.schemas&&(r.schemas=[vr.schemas(n),...r.schemas]),r}nest(t,e){let n=new vr.State(this.path,this.ancestors,this);return n.schemas=n.schemas&&[vr.schemas(t),...n.schemas],n.debug=e,n}shadow(t,e){this.mainstay.shadow=this.mainstay.shadow||new vr.Shadow,this.mainstay.shadow.set(this.path,t,e)}snapshot(){this.mainstay.shadow&&(this._snapshot=MP(this.mainstay.shadow.node(this.path))),this.mainstay.snapshot()}restore(){this.mainstay.shadow&&(this.mainstay.shadow.override(this.path,this._snapshot),this._snapshot=void 0),this.mainstay.restore()}commit(){this.mainstay.shadow&&(this.mainstay.shadow.override(this.path,this._snapshot),this._snapshot=void 0),this.mainstay.commit()}};vr.schemas=function(t){return LP.isSchema(t)?{schema:t}:t};vr.Shadow=class{constructor(){this._values=null}set(t,e,n){if(!t.length||n==="strip"&&typeof t[t.length-1]=="number")return;this._values=this._values||new Map;let r=this._values;for(let i=0;i<t.length;++i){let s=t[i],o=r.get(s);o||(o=new Map,r.set(s,o)),r=o}r[vr.value]=e}get(t){let e=this.node(t);if(e)return e[vr.value]}node(t){if(this._values)return ow(this._values,t,{iterables:!0})}override(t,e){if(!this._values)return;let n=t.slice(0,-1),r=t[t.length-1],i=ow(this._values,n,{iterables:!0});if(e){i.set(r,e);return}i&&i.delete(r)}}});var lw=g(Ea=>{"use strict";var wa=Re(),cw=en(),eo=sw(),NP=Vi(),At=Je(),yi=Ir(),qP=uw(),_e={result:Symbol("result")};Ea.entry=function(t,e,n){let r=At.defaults;n&&(wa(n.warnings===void 0,"Cannot override warnings preference in synchronous validation"),wa(n.artifacts===void 0,"Cannot override artifacts preference in synchronous validation"),r=At.preferences(At.defaults,n));let i=_e.entry(t,e,r);wa(!i.mainstay.externals.length,"Schema with external rules must use validateAsync()");let s={value:i.value};return i.error&&(s.error=i.error),i.mainstay.warnings.length&&(s.warning=yi.details(i.mainstay.warnings)),i.mainstay.debug&&(s.debug=i.mainstay.debug),i.mainstay.artifacts&&(s.artifacts=i.mainstay.artifacts),s};Ea.entryAsync=async function(t,e,n){let r=At.defaults;n&&(r=At.preferences(At.defaults,n));let i=_e.entry(t,e,r),s=i.mainstay;if(i.error)throw s.debug&&(i.error.debug=s.debug),i.error;if(s.externals.length){let a=i.value,u=[];for(let c of s.externals){let l=c.state.path,d=c.schema.type==="link"?s.links.get(c.schema):null,p=a,b,T,E=l.length?[a]:[],L=l.length?NP(t,l):t;if(l.length){b=l[l.length-1];let M=a;for(let x of l.slice(0,-1))M=M[x],E.unshift(M);T=E[0],p=T[b]}try{let M=(k,v)=>(d||c.schema).$_createError(k,p,v,c.state,r),x=await c.method(p,{schema:c.schema,linked:d,state:c.state,prefs:n,original:L,error:M,errorsArray:_e.errorsArray,warn:(k,v)=>s.warnings.push((d||c.schema).$_createError(k,p,v,c.state,r)),message:(k,v)=>(d||c.schema).$_createError("external",p,v,c.state,r,{messages:k})});if(x===void 0||x===p)continue;if(x instanceof yi.Report){if(s.tracer.log(c.schema,c.state,"rule","external","error"),u.push(x),r.abortEarly)break;continue}if(Array.isArray(x)&&x[At.symbols.errors]){if(s.tracer.log(c.schema,c.state,"rule","external","error"),u.push(...x),r.abortEarly)break;continue}T?(s.tracer.value(c.state,"rule",p,x,"external"),T[b]=x):(s.tracer.value(c.state,"rule",a,x,"external"),a=x)}catch(M){throw r.errors.label&&(M.message+=` (${c.label})`),M}}if(i.value=a,u.length)throw i.error=yi.process(u,t,r),s.debug&&(i.error.debug=s.debug),i.error}if(!r.warnings&&!r.debug&&!r.artifacts)return i.value;let o={value:i.value};return s.warnings.length&&(o.warning=yi.details(s.warnings)),s.debug&&(o.debug=s.debug),s.artifacts&&(o.artifacts=s.artifacts),o};_e.Mainstay=class{constructor(t,e,n){this.externals=[],this.warnings=[],this.tracer=t,this.debug=e,this.links=n,this.shadow=null,this.artifacts=null,this._snapshots=[]}snapshot(){this._snapshots.push({externals:this.externals.slice(),warnings:this.warnings.slice()})}restore(){let t=this._snapshots.pop();this.externals=t.externals,this.warnings=t.warnings}commit(){this._snapshots.pop()}};_e.entry=function(t,e,n){let{tracer:r,cleanup:i}=_e.tracer(e,n),s=n.debug?[]:null,o=e._ids._schemaChain?new Map:null,a=new _e.Mainstay(r,s,o),u=e._ids._schemaChain?[{schema:e}]:null,c=new qP([],[],{mainstay:a,schemas:u}),l=Ea.validate(t,e,c,n);i&&e.$_root.untrace();let d=yi.process(l.errors,t,n);return{value:l.value,error:d,mainstay:a}};_e.tracer=function(t,e){return t.$_root._tracer?{tracer:t.$_root._tracer._register(t)}:e.debug?(wa(t.$_root.trace,"Debug mode not supported"),{tracer:t.$_root.trace()._register(t),cleanup:!0}):{tracer:_e.ignore}};Ea.validate=function(t,e,n,r,i={}){if(e.$_terms.whens&&(e=e._generate(t,n,r).schema),e._preferences&&(r=_e.prefs(e,r)),e._cache&&r.cache){let d=e._cache.get(t);if(n.mainstay.tracer.debug(n,"validate","cached",!!d),d)return d}let s=(d,p,b)=>e.$_createError(d,t,p,b||n,r),o={original:t,prefs:r,schema:e,state:n,error:s,errorsArray:_e.errorsArray,warn:(d,p,b)=>n.mainstay.warnings.push(s(d,p,b)),message:(d,p)=>e.$_createError("custom",t,p,n,r,{messages:d})};n.mainstay.tracer.entry(e,n);let a=e._definition;if(a.prepare&&t!==void 0&&r.convert){let d=a.prepare(t,o);if(d){if(n.mainstay.tracer.value(n,"prepare",t,d.value),d.errors)return _e.finalize(d.value,[].concat(d.errors),o);t=d.value}}if(a.coerce&&t!==void 0&&r.convert&&(!a.coerce.from||a.coerce.from.includes(typeof t))){let d=a.coerce.method(t,o);if(d){if(n.mainstay.tracer.value(n,"coerced",t,d.value),d.errors)return _e.finalize(d.value,[].concat(d.errors),o);t=d.value}}let u=e._flags.empty;u&&u.$_match(_e.trim(t,e),n.nest(u),At.defaults)&&(n.mainstay.tracer.value(n,"empty",t,void 0),t=void 0);let c=i.presence||e._flags.presence||(e._flags._endedSwitch?null:r.presence);if(t===void 0){if(c==="forbidden")return _e.finalize(t,null,o);if(c==="required")return _e.finalize(t,[e.$_createError("any.required",t,null,n,r)],o);if(c==="optional"){if(e._flags.default!==At.symbols.deepDefault)return _e.finalize(t,null,o);n.mainstay.tracer.value(n,"default",t,{}),t={}}}else if(c==="forbidden")return _e.finalize(t,[e.$_createError("any.unknown",t,null,n,r)],o);let l=[];if(e._valids){let d=e._valids.get(t,n,r,e._flags.insensitive);if(d)return r.convert&&(n.mainstay.tracer.value(n,"valids",t,d.value),t=d.value),n.mainstay.tracer.filter(e,n,"valid",d),_e.finalize(t,null,o);if(e._flags.only){let p=e.$_createError("any.only",t,{valids:e._valids.values({display:!0})},n,r);if(r.abortEarly)return _e.finalize(t,[p],o);l.push(p)}}if(e._invalids){let d=e._invalids.get(t,n,r,e._flags.insensitive);if(d){n.mainstay.tracer.filter(e,n,"invalid",d);let p=e.$_createError("any.invalid",t,{invalids:e._invalids.values({display:!0})},n,r);if(r.abortEarly)return _e.finalize(t,[p],o);l.push(p)}}if(a.validate){let d=a.validate(t,o);if(d&&(n.mainstay.tracer.value(n,"base",t,d.value),t=d.value,d.errors)){if(!Array.isArray(d.errors))return l.push(d.errors),_e.finalize(t,l,o);if(d.errors.length)return l.push(...d.errors),_e.finalize(t,l,o)}}return e._rules.length?_e.rules(t,l,o):_e.finalize(t,l,o)};_e.rules=function(t,e,n){let{schema:r,state:i,prefs:s}=n;for(let o of r._rules){let a=r._definition.rules[o.method];if(a.convert&&s.convert){i.mainstay.tracer.log(r,i,"rule",o.name,"full");continue}let u,c=o.args;if(o._resolve.length){c=Object.assign({},c);for(let d of o._resolve){let p=a.argsByName.get(d),b=c[d].resolve(t,i,s),T=p.normalize?p.normalize(b):b,E=At.validateArg(T,null,p);if(E){u=r.$_createError("any.ref",b,{arg:d,ref:c[d],reason:E},i,s);break}c[d]=T}}u=u||a.validate(t,n,c,o);let l=_e.rule(u,o);if(l.errors){if(i.mainstay.tracer.log(r,i,"rule",o.name,"error"),o.warn){i.mainstay.warnings.push(...l.errors);continue}if(s.abortEarly)return _e.finalize(t,l.errors,n);e.push(...l.errors)}else i.mainstay.tracer.log(r,i,"rule",o.name,"pass"),i.mainstay.tracer.value(i,"rule",t,l.value,o.name),t=l.value}return _e.finalize(t,e,n)};_e.rule=function(t,e){return t instanceof yi.Report?(_e.error(t,e),{errors:[t],value:null}):Array.isArray(t)&&t[At.symbols.errors]?(t.forEach(n=>_e.error(n,e)),{errors:t,value:null}):{errors:null,value:t}};_e.error=function(t,e){return e.message&&t._setTemplate(e.message),t};_e.finalize=function(t,e,n){e=e||[];let{schema:r,state:i,prefs:s}=n;if(e.length){let a=_e.default("failover",void 0,e,n);a!==void 0&&(i.mainstay.tracer.value(i,"failover",t,a),t=a,e=[])}if(e.length&&r._flags.error)if(typeof r._flags.error=="function"){e=r._flags.error(e),Array.isArray(e)||(e=[e]);for(let a of e)wa(a instanceof Error||a instanceof yi.Report,"error() must return an Error object")}else e=[r._flags.error];if(t===void 0){let a=_e.default("default",t,e,n);i.mainstay.tracer.value(i,"default",t,a),t=a}if(r._flags.cast&&t!==void 0){let a=r._definition.cast[r._flags.cast];if(a.from(t)){let u=a.to(t,n);i.mainstay.tracer.value(i,"cast",t,u,r._flags.cast),t=u}}if(r.$_terms.externals&&s.externals&&s._externals!==!1)for(let{method:a}of r.$_terms.externals)i.mainstay.externals.push({method:a,schema:r,state:i,label:yi.label(r._flags,i,s)});let o={value:t,errors:e.length?e:null};return r._flags.result&&(o.value=r._flags.result==="strip"?void 0:n.original,i.mainstay.tracer.value(i,r._flags.result,t,o.value),i.shadow(t,r._flags.result)),r._cache&&s.cache!==!1&&!r._refs.length&&r._cache.set(n.original,o),t!==void 0&&!o.errors&&r._flags.artifact!==void 0&&(i.mainstay.artifacts=i.mainstay.artifacts||new Map,i.mainstay.artifacts.has(r._flags.artifact)||i.mainstay.artifacts.set(r._flags.artifact,[]),i.mainstay.artifacts.get(r._flags.artifact).push(i.path)),o};_e.prefs=function(t,e){let n=e===At.defaults;return n&&t._preferences[At.symbols.prefs]?t._preferences[At.symbols.prefs]:(e=At.preferences(e,t._preferences),n&&(t._preferences[At.symbols.prefs]=e),e)};_e.default=function(t,e,n,r){let{schema:i,state:s,prefs:o}=r,a=i._flags[t];if(o.noDefaults||a===void 0)return e;if(s.mainstay.tracer.log(i,s,"rule",t,"full"),!a)return a;if(typeof a=="function"){let u=a.length?[cw(s.ancestors[0]),r]:[];try{return a(...u)}catch(c){n.push(i.$_createError(`any.${t}`,null,{error:c},s,o));return}}return typeof a!="object"?a:a[At.symbols.literal]?a.literal:At.isResolvable(a)?a.resolve(e,s,o):cw(a)};_e.trim=function(t,e){if(typeof t!="string")return t;let n=e.$_getRule("trim");return!n||!n.args.enabled?t:t.trim()};_e.ignore={active:!1,debug:eo,entry:eo,filter:eo,log:eo,resolve:eo,value:eo};_e.errorsArray=function(){let t=[];return t[At.symbols.errors]=!0,t}});var _m=g((SB,fw)=>{"use strict";var jP=Re(),dw=xa(),vm=Je(),qr={};fw.exports=qr.Values=class{constructor(t,e){this._values=new Set(t),this._refs=new Set(e),this._lowercase=qr.lowercases(t),this._override=!1}get length(){return this._values.size+this._refs.size}add(t,e){if(vm.isResolvable(t)){this._refs.has(t)||(this._refs.add(t),e&&e.register(t));return}this.has(t,null,null,!1)||(this._values.add(t),typeof t=="string"&&this._lowercase.set(t.toLowerCase(),t))}static merge(t,e,n){if(t=t||new qr.Values,e){if(e._override)return e.clone();for(let r of[...e._values,...e._refs])t.add(r)}if(n)for(let r of[...n._values,...n._refs])t.remove(r);return t.length?t:null}remove(t){if(vm.isResolvable(t)){this._refs.delete(t);return}this._values.delete(t),typeof t=="string"&&this._lowercase.delete(t.toLowerCase())}has(t,e,n,r){return!!this.get(t,e,n,r)}get(t,e,n,r){if(!this.length)return!1;if(this._values.has(t))return{value:t};if(typeof t=="string"&&t&&r){let i=this._lowercase.get(t.toLowerCase());if(i)return{value:i}}if(!this._refs.size&&typeof t!="object")return!1;if(typeof t=="object"){for(let i of this._values)if(dw(i,t))return{value:i}}if(e)for(let i of this._refs){let s=i.resolve(t,e,n,null,{in:!0});if(s===void 0)continue;let o=!i.in||typeof s!="object"?[s]:Array.isArray(s)?s:Object.keys(s);for(let a of o)if(typeof a==typeof t){if(r&&t&&typeof t=="string"){if(a.toLowerCase()===t.toLowerCase())return{value:a,ref:i}}else if(dw(a,t))return{value:a,ref:i}}}return!1}override(){this._override=!0}values(t){if(t&&t.display){let e=[];for(let n of[...this._values,...this._refs])n!==void 0&&e.push(n);return e}return Array.from([...this._values,...this._refs])}clone(){let t=new qr.Values(this._values,this._refs);return t._override=this._override,t}concat(t){jP(!t._override,"Cannot concat override set of values");let e=new qr.Values([...this._values,...t._values],[...this._refs,...t._refs]);return e._override=this._override,e}describe(){let t=[];this._override&&t.push({override:!0});for(let e of this._values.values())t.push(e&&typeof e=="object"?{value:e}:e);for(let e of this._refs.values())t.push(e.describe());return t}};qr.Values.prototype[vm.symbols.values]=!0;qr.Values.prototype.slice=qr.Values.prototype.clone;qr.lowercases=function(t){let e=new Map;if(t)for(let n of t)typeof n=="string"&&e.set(n.toLowerCase(),n);return e}});var _w=g((xB,vw)=>{"use strict";var ee=Re(),pw=en(),hw=xa(),Tm=Tl(),FP=lm(),yt=Je(),Sm=Xi(),$P=Ir(),BP=dm(),gw=hm(),UP=Js(),mw=rw(),yw=Mr(),bw=mm(),kl=lw(),xl=_m(),It={};It.Base=class{constructor(t){this.type=t,this.$_root=null,this._definition={},this._reset()}_reset(){this._ids=new mw.Ids,this._preferences=null,this._refs=new yw.Manager,this._cache=null,this._valids=null,this._invalids=null,this._flags={},this._rules=[],this._singleRules=new Map,this.$_terms={},this.$_temp={ruleset:null,whens:{}}}describe(){return ee(typeof gw.describe=="function","Manifest functionality disabled"),gw.describe(this)}allow(...t){return yt.verifyFlat(t,"allow"),this._values(t,"_valids")}alter(t){ee(t&&typeof t=="object"&&!Array.isArray(t),"Invalid targets argument"),ee(!this._inRuleset(),"Cannot set alterations inside a ruleset");let e=this.clone();e.$_terms.alterations=e.$_terms.alterations||[];for(let n in t){let r=t[n];ee(typeof r=="function","Alteration adjuster for",n,"must be a function"),e.$_terms.alterations.push({target:n,adjuster:r})}return e.$_temp.ruleset=!1,e}artifact(t){return ee(t!==void 0,"Artifact cannot be undefined"),ee(!this._cache,"Cannot set an artifact with a rule cache"),this.$_setFlag("artifact",t)}cast(t){return ee(t===!1||typeof t=="string","Invalid to value"),ee(t===!1||this._definition.cast[t],"Type",this.type,"does not support casting to",t),this.$_setFlag("cast",t===!1?void 0:t)}default(t,e){return this._default("default",t,e)}description(t){return ee(t&&typeof t=="string","Description must be a non-empty string"),this.$_setFlag("description",t)}empty(t){let e=this.clone();return t!==void 0&&(t=e.$_compile(t,{override:!1})),e.$_setFlag("empty",t,{clone:!1})}error(t){return ee(t,"Missing error"),ee(t instanceof Error||typeof t=="function","Must provide a valid Error object or a function"),this.$_setFlag("error",t)}example(t,e={}){return ee(t!==void 0,"Missing example"),yt.assertOptions(e,["override"]),this._inner("examples",t,{single:!0,override:e.override})}external(t,e){return typeof t=="object"&&(ee(!e,"Cannot combine options with description"),e=t.description,t=t.method),ee(typeof t=="function","Method must be a function"),ee(e===void 0||e&&typeof e=="string","Description must be a non-empty string"),this._inner("externals",{method:t,description:e},{single:!0})}failover(t,e){return this._default("failover",t,e)}forbidden(){return this.presence("forbidden")}id(t){return t?(ee(typeof t=="string","id must be a non-empty string"),ee(/^[^\.]+$/.test(t),"id cannot contain period character"),this.$_setFlag("id",t)):this.$_setFlag("id",void 0)}invalid(...t){return this._values(t,"_invalids")}label(t){return ee(t&&typeof t=="string","Label name must be a non-empty string"),this.$_setFlag("label",t)}meta(t){return ee(t!==void 0,"Meta cannot be undefined"),this._inner("metas",t,{single:!0})}note(...t){ee(t.length,"Missing notes");for(let e of t)ee(e&&typeof e=="string","Notes must be non-empty strings");return this._inner("notes",t)}only(t=!0){return ee(typeof t=="boolean","Invalid mode:",t),this.$_setFlag("only",t)}optional(){return this.presence("optional")}prefs(t){ee(t,"Missing preferences"),ee(t.context===void 0,"Cannot override context"),ee(t.externals===void 0,"Cannot override externals"),ee(t.warnings===void 0,"Cannot override warnings"),ee(t.debug===void 0,"Cannot override debug"),yt.checkPreferences(t);let e=this.clone();return e._preferences=yt.preferences(e._preferences,t),e}presence(t){return ee(["optional","required","forbidden"].includes(t),"Unknown presence mode",t),this.$_setFlag("presence",t)}raw(t=!0){return this.$_setFlag("result",t?"raw":void 0)}result(t){return ee(["raw","strip"].includes(t),"Unknown result mode",t),this.$_setFlag("result",t)}required(){return this.presence("required")}strict(t){let e=this.clone(),n=t===void 0?!1:!t;return e._preferences=yt.preferences(e._preferences,{convert:n}),e}strip(t=!0){return this.$_setFlag("result",t?"strip":void 0)}tag(...t){ee(t.length,"Missing tags");for(let e of t)ee(e&&typeof e=="string","Tags must be non-empty strings");return this._inner("tags",t)}unit(t){return ee(t&&typeof t=="string","Unit name must be a non-empty string"),this.$_setFlag("unit",t)}valid(...t){yt.verifyFlat(t,"valid");let e=this.allow(...t);return e.$_setFlag("only",!!e._valids,{clone:!1}),e}when(t,e){let n=this.clone();n.$_terms.whens||(n.$_terms.whens=[]);let r=Sm.when(n,t,e);if(!["any","link"].includes(n.type)){let i=r.is?[r]:r.switch;for(let s of i)ee(!s.then||s.then.type==="any"||s.then.type===n.type,"Cannot combine",n.type,"with",s.then&&s.then.type),ee(!s.otherwise||s.otherwise.type==="any"||s.otherwise.type===n.type,"Cannot combine",n.type,"with",s.otherwise&&s.otherwise.type)}return n.$_terms.whens.push(r),n.$_mutateRebuild()}cache(t){ee(!this._inRuleset(),"Cannot set caching inside a ruleset"),ee(!this._cache,"Cannot override schema cache"),ee(this._flags.artifact===void 0,"Cannot cache a rule with an artifact");let e=this.clone();return e._cache=t||FP.provider.provision(),e.$_temp.ruleset=!1,e}clone(){let t=Object.create(Object.getPrototypeOf(this));return this._assign(t)}concat(t){ee(yt.isSchema(t),"Invalid schema object"),ee(this.type==="any"||t.type==="any"||t.type===this.type,"Cannot merge type",this.type,"with another type:",t.type),ee(!this._inRuleset(),"Cannot concatenate onto a schema with open ruleset"),ee(!t._inRuleset(),"Cannot concatenate a schema with open ruleset");let e=this.clone();if(this.type==="any"&&t.type!=="any"){let n=t.clone();for(let r of Object.keys(e))r!=="type"&&(n[r]=e[r]);e=n}e._ids.concat(t._ids),e._refs.register(t,yw.toSibling),e._preferences=e._preferences?yt.preferences(e._preferences,t._preferences):t._preferences,e._valids=xl.merge(e._valids,t._valids,t._invalids),e._invalids=xl.merge(e._invalids,t._invalids,t._valids);for(let n of t._singleRules.keys())e._singleRules.has(n)&&(e._rules=e._rules.filter(r=>r.keep||r.name!==n),e._singleRules.delete(n));for(let n of t._rules)t._definition.rules[n.method].multi||e._singleRules.set(n.name,n),e._rules.push(n);if(e._flags.empty&&t._flags.empty){e._flags.empty=e._flags.empty.concat(t._flags.empty);let n=Object.assign({},t._flags);delete n.empty,Tm(e._flags,n)}else if(t._flags.empty){e._flags.empty=t._flags.empty;let n=Object.assign({},t._flags);delete n.empty,Tm(e._flags,n)}else Tm(e._flags,t._flags);for(let n in t.$_terms){let r=t.$_terms[n];if(!r){e.$_terms[n]||(e.$_terms[n]=r);continue}if(!e.$_terms[n]){e.$_terms[n]=r.slice();continue}e.$_terms[n]=e.$_terms[n].concat(r)}return this.$_root._tracer&&this.$_root._tracer._combine(e,[this,t]),e.$_mutateRebuild()}extend(t){return ee(!t.base,"Cannot extend type with another base"),BP.type(this,t)}extract(t){return t=Array.isArray(t)?t:t.split("."),this._ids.reach(t)}fork(t,e){ee(!this._inRuleset(),"Cannot fork inside a ruleset");let n=this;for(let r of[].concat(t))r=Array.isArray(r)?r:r.split("."),n=n._ids.fork(r,e,n);return n.$_temp.ruleset=!1,n}rule(t){let e=this._definition;yt.assertOptions(t,Object.keys(e.modifiers)),ee(this.$_temp.ruleset!==!1,"Cannot apply rules to empty ruleset or the last rule added does not support rule properties");let n=this.$_temp.ruleset===null?this._rules.length-1:this.$_temp.ruleset;ee(n>=0&&n<this._rules.length,"Cannot apply rules to empty ruleset");let r=this.clone();for(let i=n;i<r._rules.length;++i){let s=r._rules[i],o=pw(s);for(let a in t)e.modifiers[a](o,t[a]),ee(o.name===s.name,"Cannot change rule name");r._rules[i]=o,r._singleRules.get(o.name)===s&&r._singleRules.set(o.name,o)}return r.$_temp.ruleset=!1,r.$_mutateRebuild()}get ruleset(){ee(!this._inRuleset(),"Cannot start a new ruleset without closing the previous one");let t=this.clone();return t.$_temp.ruleset=t._rules.length,t}get $(){return this.ruleset}tailor(t){t=[].concat(t),ee(!this._inRuleset(),"Cannot tailor inside a ruleset");let e=this;if(this.$_terms.alterations)for(let{target:n,adjuster:r}of this.$_terms.alterations)t.includes(n)&&(e=r(e),ee(yt.isSchema(e),"Alteration adjuster for",n,"failed to return a schema object"));return e=e.$_modify({each:n=>n.tailor(t),ref:!1}),e.$_temp.ruleset=!1,e.$_mutateRebuild()}tracer(){return bw.location?bw.location(this):this}validate(t,e){return kl.entry(t,this,e)}validateAsync(t,e){return kl.entryAsync(t,this,e)}$_addRule(t){typeof t=="string"&&(t={name:t}),ee(t&&typeof t=="object","Invalid options"),ee(t.name&&typeof t.name=="string","Invalid rule name");for(let s in t)ee(s[0]!=="_","Cannot set private rule properties");let e=Object.assign({},t);e._resolve=[],e.method=e.method||e.name;let n=this._definition.rules[e.method],r=e.args;ee(n,"Unknown rule",e.method);let i=this.clone();if(r){ee(Object.keys(r).length===1||Object.keys(r).length===this._definition.rules[e.name].args.length,"Invalid rule definition for",this.type,e.name);for(let s in r){let o=r[s];if(n.argsByName){let a=n.argsByName.get(s);if(a.ref&&yt.isResolvable(o))e._resolve.push(s),i.$_mutateRegister(o);else if(a.normalize&&(o=a.normalize(o),r[s]=o),a.assert){let u=yt.validateArg(o,s,a);ee(!u,u,"or reference")}}if(o===void 0){delete r[s];continue}r[s]=o}}return n.multi||(i._ruleRemove(e.name,{clone:!1}),i._singleRules.set(e.name,e)),i.$_temp.ruleset===!1&&(i.$_temp.ruleset=null),n.priority?i._rules.unshift(e):i._rules.push(e),i}$_compile(t,e){return Sm.schema(this.$_root,t,e)}$_createError(t,e,n,r,i,s={}){let o=s.flags!==!1?this._flags:{},a=s.messages?UP.merge(this._definition.messages,s.messages):this._definition.messages;return new $P.Report(t,e,n,o,a,r,i)}$_getFlag(t){return this._flags[t]}$_getRule(t){return this._singleRules.get(t)}$_mapLabels(t){return t=Array.isArray(t)?t:t.split("."),this._ids.labels(t)}$_match(t,e,n,r){n=Object.assign({},n),n.abortEarly=!0,n._externals=!1,e.snapshot();let i=!kl.validate(t,this,e,n,r).errors;return e.restore(),i}$_modify(t){return yt.assertOptions(t,["each","once","ref","schema"]),mw.schema(this,t)||this}$_mutateRebuild(){ee(!this._inRuleset(),"Cannot add this rule inside a ruleset"),this._refs.reset(),this._ids.reset();let t=(e,{source:n,name:r,path:i,key:s})=>{let o=this._definition[n][r]&&this._definition[n][r].register;o!==!1&&this.$_mutateRegister(e,{family:o,key:s})};return this.$_modify({each:t}),this._definition.rebuild&&this._definition.rebuild(this),this.$_temp.ruleset=!1,this}$_mutateRegister(t,{family:e,key:n}={}){this._refs.register(t,e),this._ids.register(t,{key:n})}$_property(t){return this._definition.properties[t]}$_reach(t){return this._ids.reach(t)}$_rootReferences(){return this._refs.roots()}$_setFlag(t,e,n={}){ee(t[0]==="_"||!this._inRuleset(),"Cannot set flag inside a ruleset");let r=this._definition.flags[t]||{};if(hw(e,r.default)&&(e=void 0),hw(e,this._flags[t]))return this;let i=n.clone!==!1?this.clone():this;return e!==void 0?(i._flags[t]=e,i.$_mutateRegister(e)):delete i._flags[t],t[0]!=="_"&&(i.$_temp.ruleset=!1),i}$_parent(t,...e){return this[t][yt.symbols.parent].call(this,...e)}$_validate(t,e,n){return kl.validate(t,this,e,n)}_assign(t){t.type=this.type,t.$_root=this.$_root,t.$_temp=Object.assign({},this.$_temp),t.$_temp.whens={},t._ids=this._ids.clone(),t._preferences=this._preferences,t._valids=this._valids&&this._valids.clone(),t._invalids=this._invalids&&this._invalids.clone(),t._rules=this._rules.slice(),t._singleRules=pw(this._singleRules,{shallow:!0}),t._refs=this._refs.clone(),t._flags=Object.assign({},this._flags),t._cache=null,t.$_terms={};for(let e in this.$_terms)t.$_terms[e]=this.$_terms[e]?this.$_terms[e].slice():null;t.$_super={};for(let e in this.$_super)t.$_super[e]=this._super[e].bind(t);return t}_bare(){let t=this.clone();t._reset();let e=t._definition.terms;for(let n in e){let r=e[n];t.$_terms[n]=r.init}return t.$_mutateRebuild()}_default(t,e,n={}){return yt.assertOptions(n,"literal"),ee(e!==void 0,"Missing",t,"value"),ee(typeof e=="function"||!n.literal,"Only function value supports literal option"),typeof e=="function"&&n.literal&&(e={[yt.symbols.literal]:!0,literal:e}),this.$_setFlag(t,e)}_generate(t,e,n){if(!this.$_terms.whens)return{schema:this};let r=[],i=[];for(let a=0;a<this.$_terms.whens.length;++a){let u=this.$_terms.whens[a];if(u.concat){r.push(u.concat),i.push(`${a}.concat`);continue}let c=u.ref?u.ref.resolve(t,e,n):t,l=u.is?[u]:u.switch,d=i.length;for(let p=0;p<l.length;++p){let{is:b,then:T,otherwise:E}=l[p],L=`${a}${u.switch?"."+p:""}`;if(b.$_match(c,e.nest(b,`${L}.is`),n)){if(T){let M=e.localize([...e.path,`${L}.then`],e.ancestors,e.schemas),{schema:x,id:k}=T._generate(t,M,n);r.push(x),i.push(`${L}.then${k?`(${k})`:""}`);break}}else if(E){let M=e.localize([...e.path,`${L}.otherwise`],e.ancestors,e.schemas),{schema:x,id:k}=E._generate(t,M,n);r.push(x),i.push(`${L}.otherwise${k?`(${k})`:""}`);break}}if(u.break&&i.length>d)break}let s=i.join(", ");if(e.mainstay.tracer.debug(e,"rule","when",s),!s)return{schema:this};if(!e.mainstay.tracer.active&&this.$_temp.whens[s])return{schema:this.$_temp.whens[s],id:s};let o=this;this._definition.generate&&(o=this._definition.generate(this,t,e,n));for(let a of r)o=o.concat(a);return this.$_root._tracer&&this.$_root._tracer._combine(o,[this,...r]),this.$_temp.whens[s]=o,{schema:o,id:s}}_inner(t,e,n={}){ee(!this._inRuleset(),`Cannot set ${t} inside a ruleset`);let r=this.clone();return(!r.$_terms[t]||n.override)&&(r.$_terms[t]=[]),n.single?r.$_terms[t].push(e):r.$_terms[t].push(...e),r.$_temp.ruleset=!1,r}_inRuleset(){return this.$_temp.ruleset!==null&&this.$_temp.ruleset!==!1}_ruleRemove(t,e={}){if(!this._singleRules.has(t))return this;let n=e.clone!==!1?this.clone():this;n._singleRules.delete(t);let r=[];for(let i=0;i<n._rules.length;++i){let s=n._rules[i];if(s.name===t&&!s.keep){n._inRuleset()&&i<n.$_temp.ruleset&&--n.$_temp.ruleset;continue}r.push(s)}return n._rules=r,n}_values(t,e){yt.verifyFlat(t,e.slice(1,-1));let n=this.clone(),r=t[0]===yt.symbols.override;if(r&&(t=t.slice(1)),!n[e]&&t.length?n[e]=new xl:r&&(n[e]=t.length?new xl:null,n.$_mutateRebuild()),!n[e])return n;r&&n[e].override();for(let i of t){ee(i!==void 0,"Cannot call allow/valid/invalid with undefined"),ee(i!==yt.symbols.override,"Override must be the first value");let s=e==="_invalids"?"_valids":"_invalids";n[s]&&(n[s].remove(i),n[s].length||(ee(e==="_valids"||!n._flags.only,"Setting invalid value",i,"leaves schema rejecting all values due to previous valid rule"),n[s]=null)),n[e].add(i,n._refs)}return n}};It.Base.prototype[yt.symbols.any]={version:yt.version,compile:Sm.compile,root:"$_root"};It.Base.prototype.isImmutable=!0;It.Base.prototype.deny=It.Base.prototype.invalid;It.Base.prototype.disallow=It.Base.prototype.invalid;It.Base.prototype.equal=It.Base.prototype.valid;It.Base.prototype.exist=It.Base.prototype.required;It.Base.prototype.not=It.Base.prototype.invalid;It.Base.prototype.options=It.Base.prototype.prefs;It.Base.prototype.preferences=It.Base.prototype.prefs;vw.exports=new It.Base});var Fn=g((EB,Tw)=>{"use strict";var wl=Re(),HP=_w(),WP=Je(),GP=Js();Tw.exports=HP.extend({type:"any",flags:{only:{default:!1}},terms:{alterations:{init:null},examples:{init:null},externals:{init:null},metas:{init:[]},notes:{init:[]},shared:{init:null},tags:{init:[]},whens:{init:null}},rules:{custom:{method(t,e){return wl(typeof t=="function","Method must be a function"),wl(e===void 0||e&&typeof e=="string","Description must be a non-empty string"),this.$_addRule({name:"custom",args:{method:t,description:e}})},validate(t,e,{method:n}){try{return n(t,e)}catch(r){return e.error("any.custom",{error:r})}},args:["method","description"],multi:!0},messages:{method(t){return this.prefs({messages:t})}},shared:{method(t){wl(WP.isSchema(t)&&t._flags.id,"Schema must be a schema with an id");let e=this.clone();return e.$_terms.shared=e.$_terms.shared||[],e.$_terms.shared.push(t),e.$_mutateRegister(t),e}},warning:{method(t,e){return wl(t&&typeof t=="string","Invalid warning code"),this.$_addRule({name:"warning",args:{code:t,local:e},warn:!0})},validate(t,e,{code:n,local:r}){return e.error(n,r)},args:["code","local"],multi:!0}},modifiers:{keep(t,e=!0){t.keep=e},message(t,e){t.message=GP.compile(e)},warn(t,e=!0){t.warn=e}},manifest:{build(t,e){for(let n in e){let r=e[n];if(["examples","externals","metas","notes","tags"].includes(n)){for(let i of r)t=t[n.slice(0,-1)](i);continue}if(n==="alterations"){let i={};for(let{target:s,adjuster:o}of r)i[s]=o;t=t.alter(i);continue}if(n==="whens"){for(let i of r){let{ref:s,is:o,not:a,then:u,otherwise:c,concat:l}=i;l?t=t.concat(l):s?t=t.when(s,{is:o,not:a,then:u,otherwise:c,switch:i.switch,break:i.break}):t=t.when(o,{then:u,otherwise:c,break:i.break})}continue}if(n==="shared")for(let i of r)t=t.shared(i)}return t}},messages:{"any.custom":"{{#label}} failed custom validation because {{#error.message}}","any.default":"{{#label}} threw an error when running default method","any.failover":"{{#label}} threw an error when running failover method","any.invalid":"{{#label}} contains an invalid value","any.only":'{{#label}} must be {if(#valids.length == 1, "", "one of ")}{{#valids}}',"any.ref":"{{#label}} {{#arg}} references {{:#ref}} which {{#reason}}","any.required":"{{#label}} is required","any.unknown":"{{#label}} is not allowed"}})});var xw=g((AB,kw)=>{"use strict";var Ji=Re(),VP=Tl(),zP=Fn(),Sw=Je(),KP=Xi(),El=Ir(),XP=Mr(),to={};kw.exports=zP.extend({type:"alternatives",flags:{match:{default:"any"}},terms:{matches:{init:[],register:XP.toSibling}},args(t,...e){return e.length===1&&Array.isArray(e[0])?t.try(...e[0]):t.try(...e)},validate(t,e){let{schema:n,error:r,state:i,prefs:s}=e;if(n._flags.match){let a=[],u=[];for(let l=0;l<n.$_terms.matches.length;++l){let d=n.$_terms.matches[l],p=i.nest(d.schema,`match.${l}`);p.snapshot();let b=d.schema.$_validate(t,p,s);b.errors?(u.push(b.errors),p.restore()):(a.push(b.value),p.commit())}if(a.length===0){let l={details:u.map(d=>El.details(d,{override:!1}))};return{errors:r("alternatives.any",l)}}if(n._flags.match==="one")return a.length===1?{value:a[0]}:{errors:r("alternatives.one")};if(a.length!==n.$_terms.matches.length){let l={details:u.map(d=>El.details(d,{override:!1}))};return{errors:r("alternatives.all",l)}}let c=l=>l.$_terms.matches.some(d=>d.schema.type==="object"||d.schema.type==="alternatives"&&c(d.schema));return c(n)?{value:a.reduce((l,d)=>VP(l,d,{mergeArrays:!1}))}:{value:a[a.length-1]}}let o=[];for(let a=0;a<n.$_terms.matches.length;++a){let u=n.$_terms.matches[a];if(u.schema){let d=i.nest(u.schema,`match.${a}`);d.snapshot();let p=u.schema.$_validate(t,d,s);if(!p.errors)return d.commit(),p;d.restore(),o.push({schema:u.schema,reports:p.errors});continue}let c=u.ref?u.ref.resolve(t,i,s):t,l=u.is?[u]:u.switch;for(let d=0;d<l.length;++d){let p=l[d],{is:b,then:T,otherwise:E}=p,L=`match.${a}${u.switch?"."+d:""}`;if(b.$_match(c,i.nest(b,`${L}.is`),s)){if(T)return T.$_validate(t,i.nest(T,`${L}.then`),s)}else if(E)return E.$_validate(t,i.nest(E,`${L}.otherwise`),s)}}return to.errors(o,e)},rules:{conditional:{method(t,e){Ji(!this._flags._endedSwitch,"Unreachable condition"),Ji(!this._flags.match,"Cannot combine match mode",this._flags.match,"with conditional rule"),Ji(e.break===void 0,"Cannot use break option with alternatives conditional");let n=this.clone(),r=KP.when(n,t,e),i=r.is?[r]:r.switch;for(let s of i)if(s.then&&s.otherwise){n.$_setFlag("_endedSwitch",!0,{clone:!1});break}return n.$_terms.matches.push(r),n.$_mutateRebuild()}},match:{method(t){if(Ji(["any","one","all"].includes(t),"Invalid alternatives match mode",t),t!=="any")for(let e of this.$_terms.matches)Ji(e.schema,"Cannot combine match mode",t,"with conditional rules");return this.$_setFlag("match",t)}},try:{method(...t){Ji(t.length,"Missing alternative schemas"),Sw.verifyFlat(t,"try"),Ji(!this._flags._endedSwitch,"Unreachable condition");let e=this.clone();for(let n of t)e.$_terms.matches.push({schema:e.$_compile(n)});return e.$_mutateRebuild()}}},overrides:{label(t){let e=this.$_parent("label",t),n=(r,i)=>i.path[0]!=="is"&&typeof r._flags.label!="string"?r.label(t):void 0;return e.$_modify({each:n,ref:!1})}},rebuild(t){let e=n=>{Sw.isSchema(n)&&n.type==="array"&&t.$_setFlag("_arrayItems",!0,{clone:!1})};t.$_modify({each:e})},manifest:{build(t,e){if(e.matches)for(let n of e.matches){let{schema:r,ref:i,is:s,not:o,then:a,otherwise:u}=n;r?t=t.try(r):i?t=t.conditional(i,{is:s,then:a,not:o,otherwise:u,switch:n.switch}):t=t.conditional(s,{then:a,otherwise:u})}return t}},messages:{"alternatives.all":"{{#label}} does not match all of the required types","alternatives.any":"{{#label}} does not match any of the allowed types","alternatives.match":"{{#label}} does not match any of the allowed types","alternatives.one":"{{#label}} matches more than one allowed type","alternatives.types":"{{#label}} must be one of {{#types}}"}});to.errors=function(t,{error:e,state:n}){if(!t.length)return{errors:e("alternatives.any")};if(t.length===1)return{errors:t[0].reports};let r=new Set,i=[];for(let{reports:s,schema:o}of t){if(s.length>1)return to.unmatched(t,e);let a=s[0];if(!(a instanceof El.Report))return to.unmatched(t,e);if(a.state.path.length!==n.path.length){i.push({type:o.type,report:a});continue}if(a.code==="any.only"){for(let l of a.local.valids)r.add(l);continue}let[u,c]=a.code.split(".");c!=="base"?i.push({type:o.type,report:a}):a.code==="object.base"?r.add(a.local.type):r.add(u)}return i.length?i.length===1?{errors:i[0].report}:to.unmatched(t,e):{errors:e("alternatives.types",{types:[...r]})}};to.unmatched=function(t,e){let n=[];for(let r of t)n.push(...r.reports);return{errors:e("alternatives.match",El.details(n,{override:!1}))}}});var Ew=g((OB,ww)=>{"use strict";var Aa=Re(),YP=xa(),JP=Vi(),QP=Fn(),$n=Je(),ZP=Xi(),st={};ww.exports=QP.extend({type:"array",flags:{single:{default:!1},sparse:{default:!1}},terms:{items:{init:[],manifest:"schema"},ordered:{init:[],manifest:"schema"},_exclusions:{init:[]},_inclusions:{init:[]},_requireds:{init:[]}},coerce:{from:"object",method(t,{schema:e,state:n,prefs:r}){if(!Array.isArray(t))return;let i=e.$_getRule("sort");if(i)return st.sort(e,t,i.args.options,n,r)}},validate(t,{schema:e,error:n}){if(!Array.isArray(t)){if(e._flags.single){let r=[t];return r[$n.symbols.arraySingle]=!0,{value:r}}return{errors:n("array.base")}}if(!(!e.$_getRule("items")&&!e.$_terms.externals))return{value:t.slice()}},rules:{has:{method(t){t=this.$_compile(t,{appendPath:!0});let e=this.$_addRule({name:"has",args:{schema:t}});return e.$_mutateRegister(t),e},validate(t,{state:e,prefs:n,error:r},{schema:i}){let s=[t,...e.ancestors];for(let a=0;a<t.length;++a){let u=e.localize([...e.path,a],s,i);if(i.$_match(t[a],u,n))return t}let o=i._flags.label;return o?r("array.hasKnown",{patternLabel:o}):r("array.hasUnknown",null)},multi:!0},items:{method(...t){$n.verifyFlat(t,"items");let e=this.$_addRule("items");for(let n=0;n<t.length;++n){let r=$n.tryWithPath(()=>this.$_compile(t[n]),n,{append:!0});e.$_terms.items.push(r)}return e.$_mutateRebuild()},validate(t,{schema:e,error:n,state:r,prefs:i,errorsArray:s}){let o=e.$_terms._requireds.slice(),a=e.$_terms.ordered.slice(),u=[...e.$_terms._inclusions,...o],c=!t[$n.symbols.arraySingle];delete t[$n.symbols.arraySingle];let l=s(),d=t.length;for(let p=0;p<d;++p){let b=t[p],T=!1,E=!1,L=c?p:new Number(p),M=[...r.path,L];if(!e._flags.sparse&&b===void 0){if(l.push(n("array.sparse",{key:L,path:M,pos:p,value:void 0},r.localize(M))),i.abortEarly)return l;a.shift();continue}let x=[t,...r.ancestors];for(let C of e.$_terms._exclusions)if(C.$_match(b,r.localize(M,x,C),i,{presence:"ignore"})){if(l.push(n("array.excludes",{pos:p,value:b},r.localize(M))),i.abortEarly)return l;T=!0,a.shift();break}if(T)continue;if(e.$_terms.ordered.length){if(a.length){let C=a.shift(),V=C.$_validate(b,r.localize(M,x,C),i);if(V.errors){if(l.push(...V.errors),i.abortEarly)return l}else if(C._flags.result==="strip")st.fastSplice(t,p),--p,--d;else if(!e._flags.sparse&&V.value===void 0){if(l.push(n("array.sparse",{key:L,path:M,pos:p,value:void 0},r.localize(M))),i.abortEarly)return l;continue}else t[p]=V.value;continue}else if(!e.$_terms.items.length){if(l.push(n("array.orderedLength",{pos:p,limit:e.$_terms.ordered.length})),i.abortEarly)return l;break}}let k=[],v=o.length;for(let C=0;C<v;++C){let V=r.localize(M,x,o[C]);V.snapshot();let ae=o[C].$_validate(b,V,i);if(k[C]=ae,!ae.errors){if(V.commit(),t[p]=ae.value,E=!0,st.fastSplice(o,C),--C,--v,!e._flags.sparse&&ae.value===void 0&&(l.push(n("array.sparse",{key:L,path:M,pos:p,value:void 0},r.localize(M))),i.abortEarly))return l;break}V.restore()}if(E)continue;let F=i.stripUnknown&&!!i.stripUnknown.arrays||!1;v=u.length;for(let C of u){let V,ae=o.indexOf(C);if(ae!==-1)V=k[ae];else{let ge=r.localize(M,x,C);if(ge.snapshot(),V=C.$_validate(b,ge,i),!V.errors){ge.commit(),C._flags.result==="strip"?(st.fastSplice(t,p),--p,--d):!e._flags.sparse&&V.value===void 0?(l.push(n("array.sparse",{key:L,path:M,pos:p,value:void 0},r.localize(M))),T=!0):t[p]=V.value,E=!0;break}ge.restore()}if(v===1){if(F){st.fastSplice(t,p),--p,--d,E=!0;break}if(l.push(...V.errors),i.abortEarly)return l;T=!0;break}}if(!T&&(e.$_terms._inclusions.length||e.$_terms._requireds.length)&&!E){if(F){st.fastSplice(t,p),--p,--d;continue}if(l.push(n("array.includes",{pos:p,value:b},r.localize(M))),i.abortEarly)return l}}return o.length&&st.fillMissedErrors(e,l,o,t,r,i),a.length&&(st.fillOrderedErrors(e,l,a,t,r,i),l.length||st.fillDefault(a,t,r,i)),l.length?l:t},priority:!0,manifest:!1},length:{method(t){return this.$_addRule({name:"length",args:{limit:t},operator:"="})},validate(t,e,{limit:n},{name:r,operator:i,args:s}){return $n.compare(t.length,n,i)?t:e.error("array."+r,{limit:s.limit,value:t})},args:[{name:"limit",ref:!0,assert:$n.limit,message:"must be a positive integer"}]},max:{method(t){return this.$_addRule({name:"max",method:"length",args:{limit:t},operator:"<="})}},min:{method(t){return this.$_addRule({name:"min",method:"length",args:{limit:t},operator:">="})}},ordered:{method(...t){$n.verifyFlat(t,"ordered");let e=this.$_addRule("items");for(let n=0;n<t.length;++n){let r=$n.tryWithPath(()=>this.$_compile(t[n]),n,{append:!0});st.validateSingle(r,e),e.$_mutateRegister(r),e.$_terms.ordered.push(r)}return e.$_mutateRebuild()}},single:{method(t){let e=t===void 0?!0:!!t;return Aa(!e||!this._flags._arrayItems,"Cannot specify single rule when array has array items"),this.$_setFlag("single",e)}},sort:{method(t={}){$n.assertOptions(t,["by","order"]);let e={order:t.order||"ascending"};return t.by&&(e.by=ZP.ref(t.by,{ancestor:0}),Aa(!e.by.ancestor,"Cannot sort by ancestor")),this.$_addRule({name:"sort",args:{options:e}})},validate(t,{error:e,state:n,prefs:r,schema:i},{options:s}){let{value:o,errors:a}=st.sort(i,t,s,n,r);if(a)return a;for(let u=0;u<t.length;++u)if(t[u]!==o[u])return e("array.sort",{order:s.order,by:s.by?s.by.key:"value"});return t},convert:!0},sparse:{method(t){let e=t===void 0?!0:!!t;return this._flags.sparse===e?this:(e?this.clone():this.$_addRule("items")).$_setFlag("sparse",e,{clone:!1})}},unique:{method(t,e={}){Aa(!t||typeof t=="function"||typeof t=="string","comparator must be a function or a string"),$n.assertOptions(e,["ignoreUndefined","separator"]);let n={name:"unique",args:{options:e,comparator:t}};if(t)if(typeof t=="string"){let r=$n.default(e.separator,".");n.path=r?t.split(r):[t]}else n.comparator=t;return this.$_addRule(n)},validate(t,{state:e,error:n,schema:r},{comparator:i,options:s},{comparator:o,path:a}){let u={string:Object.create(null),number:Object.create(null),undefined:Object.create(null),boolean:Object.create(null),bigint:Object.create(null),object:new Map,function:new Map,custom:new Map},c=o||YP,l=s.ignoreUndefined;for(let d=0;d<t.length;++d){let p=a?JP(t[d],a):t[d],b=o?u.custom:u[typeof p];if(Aa(b,"Failed to find unique map container for type",typeof p),b instanceof Map){let T=b.entries(),E;for(;!(E=T.next()).done;)if(c(E.value[0],p)){let L=e.localize([...e.path,d],[t,...e.ancestors]),M={pos:d,value:t[d],dupePos:E.value[1],dupeValue:t[E.value[1]]};return a&&(M.path=i),n("array.unique",M,L)}b.set(p,d)}else{if((!l||p!==void 0)&&b[p]!==void 0){let T={pos:d,value:t[d],dupePos:b[p],dupeValue:t[b[p]]};a&&(T.path=i);let E=e.localize([...e.path,d],[t,...e.ancestors]);return n("array.unique",T,E)}b[p]=d}}return t},args:["comparator","options"],multi:!0}},cast:{set:{from:Array.isArray,to(t,e){return new Set(t)}}},rebuild(t){t.$_terms._inclusions=[],t.$_terms._exclusions=[],t.$_terms._requireds=[];for(let e of t.$_terms.items)st.validateSingle(e,t),e._flags.presence==="required"?t.$_terms._requireds.push(e):e._flags.presence==="forbidden"?t.$_terms._exclusions.push(e):t.$_terms._inclusions.push(e);for(let e of t.$_terms.ordered)st.validateSingle(e,t)},manifest:{build(t,e){return e.items&&(t=t.items(...e.items)),e.ordered&&(t=t.ordered(...e.ordered)),t}},messages:{"array.base":"{{#label}} must be an array","array.excludes":"{{#label}} contains an excluded value","array.hasKnown":"{{#label}} does not contain at least one required match for type {:#patternLabel}","array.hasUnknown":"{{#label}} does not contain at least one required match","array.includes":"{{#label}} does not match any of the allowed types","array.includesRequiredBoth":"{{#label}} does not contain {{#knownMisses}} and {{#unknownMisses}} other required value(s)","array.includesRequiredKnowns":"{{#label}} does not contain {{#knownMisses}}","array.includesRequiredUnknowns":"{{#label}} does not contain {{#unknownMisses}} required value(s)","array.length":"{{#label}} must contain {{#limit}} items","array.max":"{{#label}} must contain less than or equal to {{#limit}} items","array.min":"{{#label}} must contain at least {{#limit}} items","array.orderedLength":"{{#label}} must contain at most {{#limit}} items","array.sort":"{{#label}} must be sorted in {#order} order by {{#by}}","array.sort.mismatching":"{{#label}} cannot be sorted due to mismatching types","array.sort.unsupported":"{{#label}} cannot be sorted due to unsupported type {#type}","array.sparse":"{{#label}} must not be a sparse array item","array.unique":"{{#label}} contains a duplicate value"}});st.fillMissedErrors=function(t,e,n,r,i,s){let o=[],a=0;for(let u of n){let c=u._flags.label;c?o.push(c):++a}o.length?a?e.push(t.$_createError("array.includesRequiredBoth",r,{knownMisses:o,unknownMisses:a},i,s)):e.push(t.$_createError("array.includesRequiredKnowns",r,{knownMisses:o},i,s)):e.push(t.$_createError("array.includesRequiredUnknowns",r,{unknownMisses:a},i,s))};st.fillOrderedErrors=function(t,e,n,r,i,s){let o=[];for(let a of n)a._flags.presence==="required"&&o.push(a);o.length&&st.fillMissedErrors(t,e,o,r,i,s)};st.fillDefault=function(t,e,n,r){let i=[],s=!0;for(let o=t.length-1;o>=0;--o){let a=t[o],u=[e,...n.ancestors],c=a.$_validate(void 0,n.localize(n.path,u,a),r).value;if(s){if(c===void 0)continue;s=!1}i.unshift(c)}i.length&&e.push(...i)};st.fastSplice=function(t,e){let n=e;for(;n<t.length;)t[n++]=t[n];--t.length};st.validateSingle=function(t,e){(t.type==="array"||t._flags._arrayItems)&&(Aa(!e._flags.single,"Cannot specify array item with single rule enabled"),e.$_setFlag("_arrayItems",!0,{clone:!1}))};st.sort=function(t,e,n,r,i){let s=n.order==="ascending"?1:-1,o=-1*s,a=s,u=(c,l)=>{let d=st.compare(c,l,o,a);if(d!==null||(n.by&&(c=n.by.resolve(c,r,i),l=n.by.resolve(l,r,i)),d=st.compare(c,l,o,a),d!==null))return d;let p=typeof c;if(p!==typeof l)throw t.$_createError("array.sort.mismatching",e,null,r,i);if(p!=="number"&&p!=="string")throw t.$_createError("array.sort.unsupported",e,{type:p},r,i);return p==="number"?(c-l)*s:c<l?o:a};try{return{value:e.slice().sort(u)}}catch(c){return{errors:c}}};st.compare=function(t,e,n,r){return t===e?0:t===void 0?1:e===void 0?-1:t===null?r:e===null?n:null}});var Dw=g((CB,Rw)=>{"use strict";var Aw=Re(),eI=Fn(),Ow=Je(),Cw=_m(),km={};km.isBool=function(t){return typeof t=="boolean"};Rw.exports=eI.extend({type:"boolean",flags:{sensitive:{default:!1}},terms:{falsy:{init:null,manifest:"values"},truthy:{init:null,manifest:"values"}},coerce(t,{schema:e}){if(typeof t!="boolean"){if(typeof t=="string"){let n=e._flags.sensitive?t:t.toLowerCase();t=n==="true"?!0:n==="false"?!1:t}return typeof t!="boolean"&&(t=e.$_terms.truthy&&e.$_terms.truthy.has(t,null,null,!e._flags.sensitive)||(e.$_terms.falsy&&e.$_terms.falsy.has(t,null,null,!e._flags.sensitive)?!1:t)),{value:t}}},validate(t,{error:e}){if(typeof t!="boolean")return{value:t,errors:e("boolean.base")}},rules:{truthy:{method(...t){Ow.verifyFlat(t,"truthy");let e=this.clone();e.$_terms.truthy=e.$_terms.truthy||new Cw;for(let n=0;n<t.length;++n){let r=t[n];Aw(r!==void 0,"Cannot call truthy with undefined"),e.$_terms.truthy.add(r)}return e}},falsy:{method(...t){Ow.verifyFlat(t,"falsy");let e=this.clone();e.$_terms.falsy=e.$_terms.falsy||new Cw;for(let n=0;n<t.length;++n){let r=t[n];Aw(r!==void 0,"Cannot call falsy with undefined"),e.$_terms.falsy.add(r)}return e}},sensitive:{method(t=!0){return this.$_setFlag("sensitive",t)}}},cast:{number:{from:km.isBool,to(t,e){return t?1:0}},string:{from:km.isBool,to(t,e){return t?"true":"false"}}},manifest:{build(t,e){return e.truthy&&(t=t.truthy(...e.truthy)),e.falsy&&(t=t.falsy(...e.falsy)),t}},messages:{"boolean.base":"{{#label}} must be a boolean"}})});var Lw=g((RB,Mw)=>{"use strict";var Pw=Re(),tI=Fn(),Iw=Je(),nI=gi(),tr={};tr.isDate=function(t){return t instanceof Date};Mw.exports=tI.extend({type:"date",coerce:{from:["number","string"],method(t,{schema:e}){return{value:tr.parse(t,e._flags.format)||t}}},validate(t,{schema:e,error:n,prefs:r}){if(t instanceof Date&&!isNaN(t.getTime()))return;let i=e._flags.format;return!r.convert||!i||typeof t!="string"?{value:t,errors:n("date.base")}:{value:t,errors:n("date.format",{format:i})}},rules:{compare:{method:!1,validate(t,e,{date:n},{name:r,operator:i,args:s}){let o=n==="now"?Date.now():n.getTime();return Iw.compare(t.getTime(),o,i)?t:e.error("date."+r,{limit:s.date,value:t})},args:[{name:"date",ref:!0,normalize:t=>t==="now"?t:tr.parse(t),assert:t=>t!==null,message:"must have a valid date format"}]},format:{method(t){return Pw(["iso","javascript","unix"].includes(t),"Unknown date format",t),this.$_setFlag("format",t)}},greater:{method(t){return this.$_addRule({name:"greater",method:"compare",args:{date:t},operator:">"})}},iso:{method(){return this.format("iso")}},less:{method(t){return this.$_addRule({name:"less",method:"compare",args:{date:t},operator:"<"})}},max:{method(t){return this.$_addRule({name:"max",method:"compare",args:{date:t},operator:"<="})}},min:{method(t){return this.$_addRule({name:"min",method:"compare",args:{date:t},operator:">="})}},timestamp:{method(t="javascript"){return Pw(["javascript","unix"].includes(t),'"type" must be one of "javascript, unix"'),this.format(t)}}},cast:{number:{from:tr.isDate,to(t,e){return t.getTime()}},string:{from:tr.isDate,to(t,{prefs:e}){return nI.date(t,e)}}},messages:{"date.base":"{{#label}} must be a valid date","date.format":'{{#label}} must be in {msg("date.format." + #format) || #format} format',"date.greater":"{{#label}} must be greater than {{:#limit}}","date.less":"{{#label}} must be less than {{:#limit}}","date.max":"{{#label}} must be less than or equal to {{:#limit}}","date.min":"{{#label}} must be greater than or equal to {{:#limit}}","date.format.iso":"ISO 8601 date","date.format.javascript":"timestamp or number of milliseconds","date.format.unix":"timestamp or number of seconds"}});tr.parse=function(t,e){if(t instanceof Date)return t;if(typeof t!="string"&&(isNaN(t)||!isFinite(t))||/^\s*$/.test(t))return null;if(e==="iso")return Iw.isIsoDate(t)?tr.date(t.toString()):null;let n=t;if(typeof t=="string"&&/^[+-]?\d+(\.\d+)?$/.test(t)&&(t=parseFloat(t)),e){if(e==="javascript")return tr.date(1*t);if(e==="unix")return tr.date(1e3*t);if(typeof n=="string")return null}return tr.date(t)};tr.date=function(t){let e=new Date(t);return isNaN(e.getTime())?null:e}});var $w=g((DB,Fw)=>{"use strict";var Al=Re(),qw=en(),jw=Tl(),Nw=Vi(),Ol={};Fw.exports=function(t,e,n={}){if(Al(t&&typeof t=="object","Invalid defaults value: must be an object"),Al(!e||e===!0||typeof e=="object","Invalid source value: must be true, falsy or an object"),Al(typeof n=="object","Invalid options: must be an object"),!e)return null;if(n.shallow)return Ol.applyToDefaultsWithShallow(t,e,n);let r=qw(t);if(e===!0)return r;let i=n.nullOverride!==void 0?n.nullOverride:!1;return jw(r,e,{nullOverride:i,mergeArrays:!1})};Ol.applyToDefaultsWithShallow=function(t,e,n){let r=n.shallow;Al(Array.isArray(r),"Invalid keys");let i=new Map,s=e===!0?null:new Set;for(let u of r){u=Array.isArray(u)?u:u.split(".");let c=Nw(t,u);c&&typeof c=="object"?i.set(c,s&&Nw(e,u)||c):s&&s.add(u)}let o=qw(t,{},i);if(!s)return o;for(let u of s)Ol.reachCopy(o,e,u);let a=n.nullOverride!==void 0?n.nullOverride:!1;return jw(o,e,{nullOverride:a,mergeArrays:!1})};Ol.reachCopy=function(t,e,n){for(let s of n){if(!(s in e))return;let o=e[s];if(typeof o!="object"||o===null)return;e=o}let r=e,i=t;for(let s=0;s<n.length-1;++s){let o=n[s];typeof i[o]!="object"&&(i[o]={}),i=i[o]}i[n[n.length-1]]=r}});var Hw=g(Uw=>{"use strict";var Qi=Re(),Bw={};Uw.Sorter=class{constructor(){this._items=[],this.nodes=[]}add(t,e){e=e||{};let n=[].concat(e.before||[]),r=[].concat(e.after||[]),i=e.group||"?",s=e.sort||0;Qi(!n.includes(i),`Item cannot come before itself: ${i}`),Qi(!n.includes("?"),"Item cannot come before unassociated items"),Qi(!r.includes(i),`Item cannot come after itself: ${i}`),Qi(!r.includes("?"),"Item cannot come after unassociated items"),Array.isArray(t)||(t=[t]);for(let o of t){let a={seq:this._items.length,sort:s,before:n,after:r,group:i,node:o};this._items.push(a)}if(!e.manual){let o=this._sort();Qi(o,"item",i!=="?"?`added into group ${i}`:"","created a dependencies error")}return this.nodes}merge(t){Array.isArray(t)||(t=[t]);for(let n of t)if(n)for(let r of n._items)this._items.push(Object.assign({},r));this._items.sort(Bw.mergeSort);for(let n=0;n<this._items.length;++n)this._items[n].seq=n;let e=this._sort();return Qi(e,"merge created a dependencies error"),this.nodes}sort(){let t=this._sort();return Qi(t,"sort created a dependencies error"),this.nodes}_sort(){let t={},e=Object.create(null),n=Object.create(null);for(let a of this._items){let u=a.seq,c=a.group;n[c]=n[c]||[],n[c].push(u),t[u]=a.before;for(let l of a.after)e[l]=e[l]||[],e[l].push(u)}for(let a in t){let u=[];for(let c in t[a]){let l=t[a][c];n[l]=n[l]||[],u.push(...n[l])}t[a]=u}for(let a in e)if(n[a])for(let u of n[a])t[u].push(...e[a]);let r={};for(let a in t){let u=t[a];for(let c of u)r[c]=r[c]||[],r[c].push(a)}let i={},s=[];for(let a=0;a<this._items.length;++a){let u=a;if(r[a]){u=null;for(let c=0;c<this._items.length;++c){if(i[c]===!0)continue;r[c]||(r[c]=[]);let l=r[c].length,d=0;for(let p=0;p<l;++p)i[r[c][p]]&&++d;if(d===l){u=c;break}}}u!==null&&(i[u]=!0,s.push(u))}if(s.length!==this._items.length)return!1;let o={};for(let a of this._items)o[a.seq]=a;this._items=[],this.nodes=[];for(let a of s){let u=o[a];this.nodes.push(u.node),this._items.push(u)}return!0}};Bw.mergeSort=(t,e)=>t.sort===e.sort?0:t.sort<e.sort?-1:1});var wm=g((MB,Vw)=>{"use strict";var rI=$w(),Bn=Re(),Ww=en(),iI=Hw(),sI=Fn(),Kt=Je(),xm=Xi(),oI=Ir(),Gw=Mr(),Cl=gi(),de={renameDefaults:{alias:!1,multiple:!1,override:!1}};Vw.exports=sI.extend({type:"_keys",properties:{typeof:"object"},flags:{unknown:{default:void 0}},terms:{dependencies:{init:null},keys:{init:null,manifest:{mapped:{from:"schema",to:"key"}}},patterns:{init:null},renames:{init:null}},args(t,e){return t.keys(e)},validate(t,{schema:e,error:n,state:r,prefs:i}){if(!t||typeof t!==e.$_property("typeof")||Array.isArray(t))return{value:t,errors:n("object.base",{type:e.$_property("typeof")})};if(!e.$_terms.renames&&!e.$_terms.dependencies&&!e.$_terms.keys&&!e.$_terms.patterns&&!e.$_terms.externals)return;t=de.clone(t,i);let s=[];if(e.$_terms.renames&&!de.rename(e,t,r,i,s))return{value:t,errors:s};if(!e.$_terms.keys&&!e.$_terms.patterns&&!e.$_terms.dependencies)return{value:t,errors:s};let o=new Set(Object.keys(t));if(e.$_terms.keys){let a=[t,...r.ancestors];for(let u of e.$_terms.keys){let c=u.key,l=t[c];o.delete(c);let d=r.localize([...r.path,c],a,u),p=u.schema.$_validate(l,d,i);if(p.errors){if(i.abortEarly)return{value:t,errors:p.errors};p.value!==void 0&&(t[c]=p.value),s.push(...p.errors)}else u.schema._flags.result==="strip"||p.value===void 0&&l!==void 0?delete t[c]:p.value!==void 0&&(t[c]=p.value)}}if(o.size||e._flags._hasPatternMatch){let a=de.unknown(e,t,o,s,r,i);if(a)return a}if(e.$_terms.dependencies)for(let a of e.$_terms.dependencies){if(a.key!==null&&de.isPresent(a.options)(a.key.resolve(t,r,i,null,{shadow:!1}))===!1)continue;let u=de.dependencies[a.rel](e,a,t,r,i);if(u){let c=e.$_createError(u.code,t,u.context,r,i);if(i.abortEarly)return{value:t,errors:c};s.push(c)}}return{value:t,errors:s}},rules:{and:{method(...t){return Kt.verifyFlat(t,"and"),de.dependency(this,"and",null,t)}},append:{method(t){return t==null||Object.keys(t).length===0?this:this.keys(t)}},assert:{method(t,e,n){Cl.isTemplate(t)||(t=xm.ref(t)),Bn(n===void 0||typeof n=="string","Message must be a string"),e=this.$_compile(e,{appendPath:!0});let r=this.$_addRule({name:"assert",args:{subject:t,schema:e,message:n}});return r.$_mutateRegister(t),r.$_mutateRegister(e),r},validate(t,{error:e,prefs:n,state:r},{subject:i,schema:s,message:o}){let a=i.resolve(t,r,n),u=Gw.isRef(i)?i.absolute(r):[];return s.$_match(a,r.localize(u,[t,...r.ancestors],s),n)?t:e("object.assert",{subject:i,message:o})},args:["subject","schema","message"],multi:!0},instance:{method(t,e){return Bn(typeof t=="function","constructor must be a function"),e=e||t.name,this.$_addRule({name:"instance",args:{constructor:t,name:e}})},validate(t,e,{constructor:n,name:r}){return t instanceof n?t:e.error("object.instance",{type:r,value:t})},args:["constructor","name"]},keys:{method(t){Bn(t===void 0||typeof t=="object","Object schema must be a valid object"),Bn(!Kt.isSchema(t),"Object schema cannot be a joi schema");let e=this.clone();if(!t)e.$_terms.keys=null;else if(!Object.keys(t).length)e.$_terms.keys=new de.Keys;else{e.$_terms.keys=e.$_terms.keys?e.$_terms.keys.filter(n=>!t.hasOwnProperty(n.key)):new de.Keys;for(let n in t)Kt.tryWithPath(()=>e.$_terms.keys.push({key:n,schema:this.$_compile(t[n])}),n)}return e.$_mutateRebuild()}},length:{method(t){return this.$_addRule({name:"length",args:{limit:t},operator:"="})},validate(t,e,{limit:n},{name:r,operator:i,args:s}){return Kt.compare(Object.keys(t).length,n,i)?t:e.error("object."+r,{limit:s.limit,value:t})},args:[{name:"limit",ref:!0,assert:Kt.limit,message:"must be a positive integer"}]},max:{method(t){return this.$_addRule({name:"max",method:"length",args:{limit:t},operator:"<="})}},min:{method(t){return this.$_addRule({name:"min",method:"length",args:{limit:t},operator:">="})}},nand:{method(...t){return Kt.verifyFlat(t,"nand"),de.dependency(this,"nand",null,t)}},or:{method(...t){return Kt.verifyFlat(t,"or"),de.dependency(this,"or",null,t)}},oxor:{method(...t){return de.dependency(this,"oxor",null,t)}},pattern:{method(t,e,n={}){let r=t instanceof RegExp;r||(t=this.$_compile(t,{appendPath:!0})),Bn(e!==void 0,"Invalid rule"),Kt.assertOptions(n,["fallthrough","matches"]),r&&Bn(!t.flags.includes("g")&&!t.flags.includes("y"),"pattern should not use global or sticky mode"),e=this.$_compile(e,{appendPath:!0});let i=this.clone();i.$_terms.patterns=i.$_terms.patterns||[];let s={[r?"regex":"schema"]:t,rule:e};return n.matches&&(s.matches=this.$_compile(n.matches),s.matches.type!=="array"&&(s.matches=s.matches.$_root.array().items(s.matches)),i.$_mutateRegister(s.matches),i.$_setFlag("_hasPatternMatch",!0,{clone:!1})),n.fallthrough&&(s.fallthrough=!0),i.$_terms.patterns.push(s),i.$_mutateRegister(e),i}},ref:{method(){return this.$_addRule("ref")},validate(t,e){return Gw.isRef(t)?t:e.error("object.refType",{value:t})}},regex:{method(){return this.$_addRule("regex")},validate(t,e){return t instanceof RegExp?t:e.error("object.regex",{value:t})}},rename:{method(t,e,n={}){Bn(typeof t=="string"||t instanceof RegExp,"Rename missing the from argument"),Bn(typeof e=="string"||e instanceof Cl,"Invalid rename to argument"),Bn(e!==t,"Cannot rename key to same name:",t),Kt.assertOptions(n,["alias","ignoreUndefined","override","multiple"]);let r=this.clone();r.$_terms.renames=r.$_terms.renames||[];for(let i of r.$_terms.renames)Bn(i.from!==t,"Cannot rename the same key multiple times");return e instanceof Cl&&r.$_mutateRegister(e),r.$_terms.renames.push({from:t,to:e,options:rI(de.renameDefaults,n)}),r}},schema:{method(t="any"){return this.$_addRule({name:"schema",args:{type:t}})},validate(t,e,{type:n}){return Kt.isSchema(t)&&(n==="any"||t.type===n)?t:e.error("object.schema",{type:n})}},unknown:{method(t){return this.$_setFlag("unknown",t!==!1)}},with:{method(t,e,n={}){return de.dependency(this,"with",t,e,n)}},without:{method(t,e,n={}){return de.dependency(this,"without",t,e,n)}},xor:{method(...t){return Kt.verifyFlat(t,"xor"),de.dependency(this,"xor",null,t)}}},overrides:{default(t,e){return t===void 0&&(t=Kt.symbols.deepDefault),this.$_parent("default",t,e)}},rebuild(t){if(t.$_terms.keys){let e=new iI.Sorter;for(let n of t.$_terms.keys)Kt.tryWithPath(()=>e.add(n,{after:n.schema.$_rootReferences(),group:n.key}),n.key);t.$_terms.keys=new de.Keys(...e.nodes)}},manifest:{build(t,e){if(e.keys&&(t=t.keys(e.keys)),e.dependencies)for(let{rel:n,key:r=null,peers:i,options:s}of e.dependencies)t=de.dependency(t,n,r,i,s);if(e.patterns)for(let{regex:n,schema:r,rule:i,fallthrough:s,matches:o}of e.patterns)t=t.pattern(n||r,i,{fallthrough:s,matches:o});if(e.renames)for(let{from:n,to:r,options:i}of e.renames)t=t.rename(n,r,i);return t}},messages:{"object.and":"{{#label}} contains {{#presentWithLabels}} without its required peers {{#missingWithLabels}}","object.assert":'{{#label}} is invalid because {if(#subject.key, `"` + #subject.key + `" failed to ` + (#message || "pass the assertion test"), #message || "the assertion failed")}',"object.base":"{{#label}} must be of type {{#type}}","object.instance":"{{#label}} must be an instance of {{:#type}}","object.length":'{{#label}} must have {{#limit}} key{if(#limit == 1, "", "s")}',"object.max":'{{#label}} must have less than or equal to {{#limit}} key{if(#limit == 1, "", "s")}',"object.min":'{{#label}} must have at least {{#limit}} key{if(#limit == 1, "", "s")}',"object.missing":"{{#label}} must contain at least one of {{#peersWithLabels}}","object.nand":"{{:#mainWithLabel}} must not exist simultaneously with {{#peersWithLabels}}","object.oxor":"{{#label}} contains a conflict between optional exclusive peers {{#peersWithLabels}}","object.pattern.match":"{{#label}} keys failed to match pattern requirements","object.refType":"{{#label}} must be a Joi reference","object.regex":"{{#label}} must be a RegExp object","object.rename.multiple":"{{#label}} cannot rename {{:#from}} because multiple renames are disabled and another key was already renamed to {{:#to}}","object.rename.override":"{{#label}} cannot rename {{:#from}} because override is disabled and target {{:#to}} exists","object.schema":"{{#label}} must be a Joi schema of {{#type}} type","object.unknown":"{{#label}} is not allowed","object.with":"{{:#mainWithLabel}} missing required peer {{:#peerWithLabel}}","object.without":"{{:#mainWithLabel}} conflict with forbidden peer {{:#peerWithLabel}}","object.xor":"{{#label}} contains a conflict between exclusive peers {{#peersWithLabels}}"}});de.clone=function(t,e){if(typeof t=="object"){if(e.nonEnumerables)return Ww(t,{shallow:!0});let r=Object.create(Object.getPrototypeOf(t));return Object.assign(r,t),r}let n=function(...r){return t.apply(this,r)};return n.prototype=Ww(t.prototype),Object.defineProperty(n,"name",{value:t.name,writable:!1}),Object.defineProperty(n,"length",{value:t.length,writable:!1}),Object.assign(n,t),n};de.dependency=function(t,e,n,r,i){Bn(n===null||typeof n=="string",e,"key must be a strings"),i||(i=r.length>1&&typeof r[r.length-1]=="object"?r.pop():{}),Kt.assertOptions(i,["separator","isPresent"]),r=[].concat(r);let s=Kt.default(i.separator,"."),o=[];for(let u of r)Bn(typeof u=="string",e,"peers must be strings"),o.push(xm.ref(u,{separator:s,ancestor:0,prefix:!1}));n!==null&&(n=xm.ref(n,{separator:s,ancestor:0,prefix:!1}));let a=t.clone();return a.$_terms.dependencies=a.$_terms.dependencies||[],a.$_terms.dependencies.push(new de.Dependency(e,n,o,r,i)),a};de.dependencies={and(t,e,n,r,i){let s=[],o=[],a=e.peers.length,u=de.isPresent(e.options);for(let c of e.peers)u(c.resolve(n,r,i,null,{shadow:!1}))===!1?s.push(c.key):o.push(c.key);if(s.length!==a&&o.length!==a)return{code:"object.and",context:{present:o,presentWithLabels:de.keysToLabels(t,o),missing:s,missingWithLabels:de.keysToLabels(t,s)}}},nand(t,e,n,r,i){let s=[],o=de.isPresent(e.options);for(let c of e.peers)o(c.resolve(n,r,i,null,{shadow:!1}))&&s.push(c.key);if(s.length!==e.peers.length)return;let a=e.paths[0],u=e.paths.slice(1);return{code:"object.nand",context:{main:a,mainWithLabel:de.keysToLabels(t,a),peers:u,peersWithLabels:de.keysToLabels(t,u)}}},or(t,e,n,r,i){let s=de.isPresent(e.options);for(let o of e.peers)if(s(o.resolve(n,r,i,null,{shadow:!1})))return;return{code:"object.missing",context:{peers:e.paths,peersWithLabels:de.keysToLabels(t,e.paths)}}},oxor(t,e,n,r,i){let s=[],o=de.isPresent(e.options);for(let u of e.peers)o(u.resolve(n,r,i,null,{shadow:!1}))&&s.push(u.key);if(!s.length||s.length===1)return;let a={peers:e.paths,peersWithLabels:de.keysToLabels(t,e.paths)};return a.present=s,a.presentWithLabels=de.keysToLabels(t,s),{code:"object.oxor",context:a}},with(t,e,n,r,i){let s=de.isPresent(e.options);for(let o of e.peers)if(s(o.resolve(n,r,i,null,{shadow:!1}))===!1)return{code:"object.with",context:{main:e.key.key,mainWithLabel:de.keysToLabels(t,e.key.key),peer:o.key,peerWithLabel:de.keysToLabels(t,o.key)}}},without(t,e,n,r,i){let s=de.isPresent(e.options);for(let o of e.peers)if(s(o.resolve(n,r,i,null,{shadow:!1})))return{code:"object.without",context:{main:e.key.key,mainWithLabel:de.keysToLabels(t,e.key.key),peer:o.key,peerWithLabel:de.keysToLabels(t,o.key)}}},xor(t,e,n,r,i){let s=[],o=de.isPresent(e.options);for(let u of e.peers)o(u.resolve(n,r,i,null,{shadow:!1}))&&s.push(u.key);if(s.length===1)return;let a={peers:e.paths,peersWithLabels:de.keysToLabels(t,e.paths)};return s.length===0?{code:"object.missing",context:a}:(a.present=s,a.presentWithLabels=de.keysToLabels(t,s),{code:"object.xor",context:a})}};de.keysToLabels=function(t,e){return Array.isArray(e)?e.map(n=>t.$_mapLabels(n)):t.$_mapLabels(e)};de.isPresent=function(t){return typeof t.isPresent=="function"?t.isPresent:e=>e!==void 0};de.rename=function(t,e,n,r,i){let s={};for(let o of t.$_terms.renames){let a=[],u=typeof o.from!="string";if(!u)Object.prototype.hasOwnProperty.call(e,o.from)&&(e[o.from]!==void 0||!o.options.ignoreUndefined)&&a.push(o);else for(let c in e){if(e[c]===void 0&&o.options.ignoreUndefined||c===o.to)continue;let l=o.from.exec(c);l&&a.push({from:c,to:o.to,match:l})}for(let c of a){let l=c.from,d=c.to;if(d instanceof Cl&&(d=d.render(e,n,r,c.match)),l!==d){if(!o.options.multiple&&s[d]&&(i.push(t.$_createError("object.rename.multiple",e,{from:l,to:d,pattern:u},n,r)),r.abortEarly)||Object.prototype.hasOwnProperty.call(e,d)&&!o.options.override&&!s[d]&&(i.push(t.$_createError("object.rename.override",e,{from:l,to:d,pattern:u},n,r)),r.abortEarly))return!1;e[l]===void 0?delete e[d]:e[d]=e[l],s[d]=!0,o.options.alias||delete e[l]}}}return!0};de.unknown=function(t,e,n,r,i,s){if(t.$_terms.patterns){let a=!1,u=t.$_terms.patterns.map(l=>{if(l.matches)return a=!0,[]}),c=[e,...i.ancestors];for(let l of n){let d=e[l],p=[...i.path,l];for(let b=0;b<t.$_terms.patterns.length;++b){let T=t.$_terms.patterns[b];if(T.regex){let M=T.regex.test(l);if(i.mainstay.tracer.debug(i,"rule",`pattern.${b}`,M?"pass":"error"),!M)continue}else if(!T.schema.$_match(l,i.nest(T.schema,`pattern.${b}`),s))continue;n.delete(l);let E=i.localize(p,c,{schema:T.rule,key:l}),L=T.rule.$_validate(d,E,s);if(L.errors){if(s.abortEarly)return{value:e,errors:L.errors};r.push(...L.errors)}if(T.matches&&u[b].push(l),e[l]=L.value,!T.fallthrough)break}}if(a)for(let l=0;l<u.length;++l){let d=u[l];if(!d)continue;let p=t.$_terms.patterns[l].matches,b=i.localize(i.path,c,p),T=p.$_validate(d,b,s);if(T.errors){let E=oI.details(T.errors,{override:!1});E.matches=d;let L=t.$_createError("object.pattern.match",e,E,i,s);if(s.abortEarly)return{value:e,errors:L};r.push(L)}}}if(!n.size||!t.$_terms.keys&&!t.$_terms.patterns)return;if(s.stripUnknown&&typeof t._flags.unknown>"u"||s.skipFunctions){let a=s.stripUnknown?s.stripUnknown===!0?!0:!!s.stripUnknown.objects:!1;for(let u of n)a?(delete e[u],n.delete(u)):typeof e[u]=="function"&&n.delete(u)}if(!Kt.default(t._flags.unknown,s.allowUnknown))for(let a of n){let u=i.localize([...i.path,a],[]),c=t.$_createError("object.unknown",e[a],{child:a},u,s,{flags:!1});if(s.abortEarly)return{value:e,errors:c};r.push(c)}};de.Dependency=class{constructor(t,e,n,r,i){this.rel=t,this.key=e,this.peers=n,this.paths=r,this.options=i}describe(){let t={rel:this.rel,peers:this.paths};return this.key!==null&&(t.key=this.key.key),this.peers[0].separator!=="."&&(t.options={...t.options,separator:this.peers[0].separator}),this.options.isPresent&&(t.options={...t.options,isPresent:this.options.isPresent}),t}};de.Keys=class extends Array{concat(t){let e=this.slice(),n=new Map;for(let r=0;r<e.length;++r)n.set(e[r].key,r);for(let r of t){let i=r.key,s=n.get(i);s!==void 0?e[s]={key:i,schema:e[s].schema.concat(r.schema)}:e.push(r)}return e}}});var Kw=g((qB,zw)=>{"use strict";var Em=Re(),aI=wm();zw.exports=aI.extend({type:"function",properties:{typeof:"function"},rules:{arity:{method(t){return Em(Number.isSafeInteger(t)&&t>=0,"n must be a positive integer"),this.$_addRule({name:"arity",args:{n:t}})},validate(t,e,{n}){return t.length===n?t:e.error("function.arity",{n})}},class:{method(){return this.$_addRule("class")},validate(t,e){return/^\s*class\s/.test(t.toString())?t:e.error("function.class",{value:t})}},minArity:{method(t){return Em(Number.isSafeInteger(t)&&t>0,"n must be a strict positive integer"),this.$_addRule({name:"minArity",args:{n:t}})},validate(t,e,{n}){return t.length>=n?t:e.error("function.minArity",{n})}},maxArity:{method(t){return Em(Number.isSafeInteger(t)&&t>=0,"n must be a positive integer"),this.$_addRule({name:"maxArity",args:{n:t}})},validate(t,e,{n}){return t.length<=n?t:e.error("function.maxArity",{n})}}},messages:{"function.arity":"{{#label}} must have an arity of {{#n}}","function.class":"{{#label}} must be a class","function.maxArity":"{{#label}} must have an arity lesser or equal to {{#n}}","function.minArity":"{{#label}} must have an arity greater or equal to {{#n}}"}})});var Yw=g((jB,Xw)=>{"use strict";var jr=Re(),uI=Fn(),cI=Je(),lI=Xi(),dI=Ir(),Fr={};Xw.exports=uI.extend({type:"link",properties:{schemaChain:!0},terms:{link:{init:null,manifest:"single",register:!1}},args(t,e){return t.ref(e)},validate(t,{schema:e,state:n,prefs:r}){jr(e.$_terms.link,"Uninitialized link schema");let i=Fr.generate(e,t,n,r),s=e.$_terms.link[0].ref;return i.$_validate(t,n.nest(i,`link:${s.display}:${i.type}`),r)},generate(t,e,n,r){return Fr.generate(t,e,n,r)},rules:{ref:{method(t){jr(!this.$_terms.link,"Cannot reinitialize schema"),t=lI.ref(t),jr(t.type==="value"||t.type==="local","Invalid reference type:",t.type),jr(t.type==="local"||t.ancestor==="root"||t.ancestor>0,"Link cannot reference itself");let e=this.clone();return e.$_terms.link=[{ref:t}],e}},relative:{method(t=!0){return this.$_setFlag("relative",t)}}},overrides:{concat(t){jr(this.$_terms.link,"Uninitialized link schema"),jr(cI.isSchema(t),"Invalid schema object"),jr(t.type!=="link","Cannot merge type link with another link");let e=this.clone();return e.$_terms.whens||(e.$_terms.whens=[]),e.$_terms.whens.push({concat:t}),e.$_mutateRebuild()}},manifest:{build(t,e){return jr(e.link,"Invalid link description missing link"),t.ref(e.link)}}});Fr.generate=function(t,e,n,r){let i=n.mainstay.links.get(t);if(i)return i._generate(e,n,r).schema;let s=t.$_terms.link[0].ref,{perspective:o,path:a}=Fr.perspective(s,n);Fr.assert(o,"which is outside of schema boundaries",s,t,n,r);try{i=a.length?o.$_reach(a):o}catch{Fr.assert(!1,"to non-existing schema",s,t,n,r)}return Fr.assert(i.type!=="link","which is another link",s,t,n,r),t._flags.relative||n.mainstay.links.set(t,i),i._generate(e,n,r).schema};Fr.perspective=function(t,e){if(t.type==="local"){for(let{schema:n,key:r}of e.schemas){if((n._flags.id||r)===t.path[0])return{perspective:n,path:t.path.slice(1)};if(n.$_terms.shared){for(let s of n.$_terms.shared)if(s._flags.id===t.path[0])return{perspective:s,path:t.path.slice(1)}}}return{perspective:null,path:null}}return t.ancestor==="root"?{perspective:e.schemas[e.schemas.length-1].schema,path:t.path}:{perspective:e.schemas[t.ancestor]&&e.schemas[t.ancestor].schema,path:t.path}};Fr.assert=function(t,e,n,r,i,s){t||jr(!1,`"${dI.label(r._flags,i,s)}" contains link reference "${n.display}" ${e}`)}});var Qw=g((FB,Jw)=>{"use strict";var Am=Re(),fI=Fn(),Om=Je(),xn={numberRx:/^\s*[+-]?(?:(?:\d+(?:\.\d*)?)|(?:\.\d+))(?:e([+-]?\d+))?\s*$/i,precisionRx:/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/,exponentialPartRegex:/[eE][+-]?\d+$/,leadingSignAndZerosRegex:/^[+-]?(0*)?/,dotRegex:/\./,trailingZerosRegex:/0+$/,decimalPlaces(t){let e=t.toString(),n=e.indexOf("."),r=e.indexOf("e");return(n<0?0:(r<0?e.length:r)-n-1)+(r<0?0:Math.max(0,-parseInt(e.slice(r+1))))}};Jw.exports=fI.extend({type:"number",flags:{unsafe:{default:!1}},coerce:{from:"string",method(t,{schema:e,error:n}){if(!t.match(xn.numberRx))return;t=t.trim();let i={value:parseFloat(t)};if(i.value===0&&(i.value=0),!e._flags.unsafe)if(t.match(/e/i)){if(xn.extractSignificantDigits(t)!==xn.extractSignificantDigits(String(i.value)))return i.errors=n("number.unsafe"),i}else{let s=i.value.toString();if(s.match(/e/i))return i;if(s!==xn.normalizeDecimal(t))return i.errors=n("number.unsafe"),i}return i}},validate(t,{schema:e,error:n,prefs:r}){if(t===1/0||t===-1/0)return{value:t,errors:n("number.infinity")};if(!Om.isNumber(t))return{value:t,errors:n("number.base")};let i={value:t};if(r.convert){let s=e.$_getRule("precision");if(s){let o=Math.pow(10,s.args.limit);i.value=Math.round(i.value*o)/o}}return i.value===0&&(i.value=0),!e._flags.unsafe&&(t>Number.MAX_SAFE_INTEGER||t<Number.MIN_SAFE_INTEGER)&&(i.errors=n("number.unsafe")),i},rules:{compare:{method:!1,validate(t,e,{limit:n},{name:r,operator:i,args:s}){return Om.compare(t,n,i)?t:e.error("number."+r,{limit:s.limit,value:t})},args:[{name:"limit",ref:!0,assert:Om.isNumber,message:"must be a number"}]},greater:{method(t){return this.$_addRule({name:"greater",method:"compare",args:{limit:t},operator:">"})}},integer:{method(){return this.$_addRule("integer")},validate(t,e){return Math.trunc(t)-t===0?t:e.error("number.integer")}},less:{method(t){return this.$_addRule({name:"less",method:"compare",args:{limit:t},operator:"<"})}},max:{method(t){return this.$_addRule({name:"max",method:"compare",args:{limit:t},operator:"<="})}},min:{method(t){return this.$_addRule({name:"min",method:"compare",args:{limit:t},operator:">="})}},multiple:{method(t){let e=typeof t=="number"?xn.decimalPlaces(t):null,n=Math.pow(10,e);return this.$_addRule({name:"multiple",args:{base:t,baseDecimalPlace:e,pfactor:n}})},validate(t,e,{base:n,baseDecimalPlace:r,pfactor:i},s){return xn.decimalPlaces(t)>r?e.error("number.multiple",{multiple:s.args.base,value:t}):Math.round(i*t)%Math.round(i*n)===0?t:e.error("number.multiple",{multiple:s.args.base,value:t})},args:[{name:"base",ref:!0,assert:t=>typeof t=="number"&&isFinite(t)&&t>0,message:"must be a positive number"},"baseDecimalPlace","pfactor"],multi:!0},negative:{method(){return this.sign("negative")}},port:{method(){return this.$_addRule("port")},validate(t,e){return Number.isSafeInteger(t)&&t>=0&&t<=65535?t:e.error("number.port")}},positive:{method(){return this.sign("positive")}},precision:{method(t){return Am(Number.isSafeInteger(t),"limit must be an integer"),this.$_addRule({name:"precision",args:{limit:t}})},validate(t,e,{limit:n}){let r=t.toString().match(xn.precisionRx);return Math.max((r[1]?r[1].length:0)-(r[2]?parseInt(r[2],10):0),0)<=n?t:e.error("number.precision",{limit:n,value:t})},convert:!0},sign:{method(t){return Am(["negative","positive"].includes(t),"Invalid sign",t),this.$_addRule({name:"sign",args:{sign:t}})},validate(t,e,{sign:n}){return n==="negative"&&t<0||n==="positive"&&t>0?t:e.error(`number.${n}`)}},unsafe:{method(t=!0){return Am(typeof t=="boolean","enabled must be a boolean"),this.$_setFlag("unsafe",t)}}},cast:{string:{from:t=>typeof t=="number",to(t,e){return t.toString()}}},messages:{"number.base":"{{#label}} must be a number","number.greater":"{{#label}} must be greater than {{#limit}}","number.infinity":"{{#label}} cannot be infinity","number.integer":"{{#label}} must be an integer","number.less":"{{#label}} must be less than {{#limit}}","number.max":"{{#label}} must be less than or equal to {{#limit}}","number.min":"{{#label}} must be greater than or equal to {{#limit}}","number.multiple":"{{#label}} must be a multiple of {{#multiple}}","number.negative":"{{#label}} must be a negative number","number.port":"{{#label}} must be a valid port","number.positive":"{{#label}} must be a positive number","number.precision":"{{#label}} must have no more than {{#limit}} decimal places","number.unsafe":"{{#label}} must be a safe number"}});xn.extractSignificantDigits=function(t){return t.replace(xn.exponentialPartRegex,"").replace(xn.dotRegex,"").replace(xn.trailingZerosRegex,"").replace(xn.leadingSignAndZerosRegex,"")};xn.normalizeDecimal=function(t){return t=t.replace(/^\+/,"").replace(/\.0*$/,"").replace(/^(-?)\.([^\.]*)$/,"$10.$2").replace(/^(-?)0+([0-9])/,"$1$2"),t.includes(".")&&t.endsWith("0")&&(t=t.replace(/0+$/,"")),t==="-0"?"0":t}});var e0=g(($B,Zw)=>{"use strict";var pI=wm();Zw.exports=pI.extend({type:"object",cast:{map:{from:t=>t&&typeof t=="object",to(t,e){return new Map(Object.entries(t))}}}})});var Cm=g(Rl=>{"use strict";Rl.codes={EMPTY_STRING:"Address must be a non-empty string",FORBIDDEN_UNICODE:"Address contains forbidden Unicode characters",MULTIPLE_AT_CHAR:"Address cannot contain more than one @ character",MISSING_AT_CHAR:"Address must contain one @ character",EMPTY_LOCAL:"Address local part cannot be empty",ADDRESS_TOO_LONG:"Address too long",LOCAL_TOO_LONG:"Address local part too long",EMPTY_LOCAL_SEGMENT:"Address local part contains empty dot-separated segment",INVALID_LOCAL_CHARS:"Address local part contains invalid character",DOMAIN_NON_EMPTY_STRING:"Domain must be a non-empty string",DOMAIN_TOO_LONG:"Domain too long",DOMAIN_INVALID_UNICODE_CHARS:"Domain contains forbidden Unicode characters",DOMAIN_INVALID_CHARS:"Domain contains invalid character",DOMAIN_INVALID_TLDS_CHARS:"Domain contains invalid tld character",DOMAIN_SEGMENTS_COUNT:"Domain lacks the minimum required number of segments",DOMAIN_SEGMENTS_COUNT_MAX:"Domain contains too many segments",DOMAIN_FORBIDDEN_TLDS:"Domain uses forbidden TLD",DOMAIN_EMPTY_SEGMENT:"Domain contains empty dot-separated segment",DOMAIN_LONG_SEGMENT:"Domain contains dot-separated segment that is too long"};Rl.code=function(t){return{code:t,error:Rl.codes[t]}}});var Rm=g(Dl=>{"use strict";var hI=require("url"),nr=Cm(),bi={minDomainSegments:2,nonAsciiRx:/[^\x00-\x7f]/,domainControlRx:/[\x00-\x20@\:\/\\#!\$&\'\(\)\*\+,;=\?]/,tldSegmentRx:/^[a-zA-Z](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?$/,domainSegmentRx:/^[a-zA-Z0-9](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?$/,URL:hI.URL||URL};Dl.analyze=function(t,e={}){if(!t)return nr.code("DOMAIN_NON_EMPTY_STRING");if(typeof t!="string")throw new Error("Invalid input: domain must be a string");if(t.length>256)return nr.code("DOMAIN_TOO_LONG");if(!!bi.nonAsciiRx.test(t)){if(e.allowUnicode===!1)return nr.code("DOMAIN_INVALID_UNICODE_CHARS");t=t.normalize("NFC")}if(bi.domainControlRx.test(t))return nr.code("DOMAIN_INVALID_CHARS");t=bi.punycode(t),e.allowFullyQualified&&t[t.length-1]==="."&&(t=t.slice(0,-1));let r=e.minDomainSegments||bi.minDomainSegments,i=t.split(".");if(i.length<r)return nr.code("DOMAIN_SEGMENTS_COUNT");if(e.maxDomainSegments&&i.length>e.maxDomainSegments)return nr.code("DOMAIN_SEGMENTS_COUNT_MAX");let s=e.tlds;if(s){let o=i[i.length-1].toLowerCase();if(s.deny&&s.deny.has(o)||s.allow&&!s.allow.has(o))return nr.code("DOMAIN_FORBIDDEN_TLDS")}for(let o=0;o<i.length;++o){let a=i[o];if(!a.length)return nr.code("DOMAIN_EMPTY_SEGMENT");if(a.length>63)return nr.code("DOMAIN_LONG_SEGMENT");if(o<i.length-1){if(!bi.domainSegmentRx.test(a))return nr.code("DOMAIN_INVALID_CHARS")}else if(!bi.tldSegmentRx.test(a))return nr.code("DOMAIN_INVALID_TLDS_CHARS")}return null};Dl.isValid=function(t,e){return!Dl.analyze(t,e)};bi.punycode=function(t){t.includes("%")&&(t=t.replace(/%/g,"%25"));try{return new bi.URL(`http://${t}`).host}catch{return t}}});var t0=g(Dm=>{"use strict";var gI=require("util"),mI=Rm(),_r=Cm(),nn={nonAsciiRx:/[^\x00-\x7f]/,encoder:new(gI.TextEncoder||TextEncoder)};Dm.analyze=function(t,e){return nn.email(t,e)};Dm.isValid=function(t,e){return!nn.email(t,e)};nn.email=function(t,e={}){if(typeof t!="string")throw new Error("Invalid input: email must be a string");if(!t)return _r.code("EMPTY_STRING");let n=!nn.nonAsciiRx.test(t);if(!n){if(e.allowUnicode===!1)return _r.code("FORBIDDEN_UNICODE");t=t.normalize("NFC")}let r=t.split("@");if(r.length!==2)return r.length>2?_r.code("MULTIPLE_AT_CHAR"):_r.code("MISSING_AT_CHAR");let[i,s]=r;if(!i)return _r.code("EMPTY_LOCAL");if(!e.ignoreLength){if(t.length>254)return _r.code("ADDRESS_TOO_LONG");if(nn.encoder.encode(i).length>64)return _r.code("LOCAL_TOO_LONG")}return nn.local(i,n)||mI.analyze(s,e)};nn.local=function(t,e){let n=t.split(".");for(let r of n){if(!r.length)return _r.code("EMPTY_LOCAL_SEGMENT");if(e){if(!nn.atextRx.test(r))return _r.code("INVALID_LOCAL_CHARS");continue}for(let i of r){if(nn.atextRx.test(i))continue;let s=nn.binary(i);if(!nn.atomRx.test(s))return _r.code("INVALID_LOCAL_CHARS")}}};nn.binary=function(t){return Array.from(nn.encoder.encode(t)).map(e=>String.fromCharCode(e)).join("")};nn.atextRx=/^[\w!#\$%&'\*\+\-/=\?\^`\{\|\}~]+$/;nn.atomRx=new RegExp(["(?:[\\xc2-\\xdf][\\x80-\\xbf])","(?:\\xe0[\\xa0-\\xbf][\\x80-\\xbf])|(?:[\\xe1-\\xec][\\x80-\\xbf]{2})|(?:\\xed[\\x80-\\x9f][\\x80-\\xbf])|(?:[\\xee-\\xef][\\x80-\\xbf]{2})","(?:\\xf0[\\x90-\\xbf][\\x80-\\xbf]{2})|(?:[\\xf1-\\xf3][\\x80-\\xbf]{3})|(?:\\xf4[\\x80-\\x8f][\\x80-\\xbf]{2})"].join("|"))});var Pm=g((WB,n0)=>{"use strict";n0.exports=function(t){return t.replace(/[\^\$\.\*\+\-\?\=\!\:\|\\\/\(\)\[\]\{\}\,]/g,"\\$&")}});var Mm=g(Im=>{"use strict";var Pl=Re(),yI=Pm(),$t={};$t.generate=function(){let t={},e="\\dA-Fa-f",n="["+e+"]",r="\\w-\\.~",i="!\\$&'\\(\\)\\*\\+,;=",s="%"+e,o=r+s+i+":@",a="["+o+"]",u="(?:0{0,2}\\d|0?[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])";t.ipv4address="(?:"+u+"\\.){3}"+u;let c=n+"{1,4}",l="(?:"+c+":"+c+"|"+t.ipv4address+")",d="(?:"+c+":){6}"+l,p="::(?:"+c+":){5}"+l,b="(?:"+c+")?::(?:"+c+":){4}"+l,T="(?:(?:"+c+":){0,1}"+c+")?::(?:"+c+":){3}"+l,E="(?:(?:"+c+":){0,2}"+c+")?::(?:"+c+":){2}"+l,L="(?:(?:"+c+":){0,3}"+c+")?::"+c+":"+l,M="(?:(?:"+c+":){0,4}"+c+")?::"+l,x="(?:(?:"+c+":){0,5}"+c+")?::"+c,k="(?:(?:"+c+":){0,6}"+c+")?::";t.ipv4Cidr="(?:\\d|[1-2]\\d|3[0-2])",t.ipv6Cidr="(?:0{0,2}\\d|0?[1-9]\\d|1[01]\\d|12[0-8])",t.ipv6address="(?:"+d+"|"+p+"|"+b+"|"+T+"|"+E+"|"+L+"|"+M+"|"+x+"|"+k+")",t.ipvFuture="v"+n+"+\\.["+r+i+":]+",t.scheme="[a-zA-Z][a-zA-Z\\d+-\\.]*",t.schemeRegex=new RegExp(t.scheme);let v="["+r+s+i+":]*",F="\\[(?:"+t.ipv6address+"|"+t.ipvFuture+")\\]",C="["+r+s+i+"]{1,255}",V="(?:"+F+"|"+t.ipv4address+"|"+C+")",ae="\\d*",ge="(?:"+v+"@)?"+V+"(?::"+ae+")?",G="(?:"+v+"@)?("+V+")(?::"+ae+")?",A=a+"*",P=a+"+",I="["+r+s+i+"@]+",j="",fe="(?:\\/"+A+")*",le="\\/(?:"+P+fe+")?",Rt=P+fe,ht=I+fe,je="(?:\\/\\/\\/"+A+fe+")";return t.hierPart="(?:(?:\\/\\/"+ge+fe+")|"+le+"|"+Rt+"|"+je+")",t.hierPartCapture="(?:(?:\\/\\/"+G+fe+")|"+le+"|"+Rt+")",t.relativeRef="(?:(?:\\/\\/"+ge+fe+")|"+le+"|"+ht+"|"+j+")",t.relativeRefCapture="(?:(?:\\/\\/"+G+fe+")|"+le+"|"+ht+"|"+j+")",t.query="["+o+"\\/\\?]*(?=#|$)",t.queryWithSquareBrackets="["+o+"\\[\\]\\/\\?]*(?=#|$)",t.fragment="["+o+"\\/\\?]*",t};$t.rfc3986=$t.generate();Im.ip={v4Cidr:$t.rfc3986.ipv4Cidr,v6Cidr:$t.rfc3986.ipv6Cidr,ipv4:$t.rfc3986.ipv4address,ipv6:$t.rfc3986.ipv6address,ipvfuture:$t.rfc3986.ipvFuture};$t.createRegex=function(t){let e=$t.rfc3986,r="(?:\\?"+(t.allowQuerySquareBrackets?e.queryWithSquareBrackets:e.query)+")?(?:#"+e.fragment+")?",i=t.domain?e.relativeRefCapture:e.relativeRef;if(t.relativeOnly)return $t.wrap(i+r);let s="";if(t.scheme){Pl(t.scheme instanceof RegExp||typeof t.scheme=="string"||Array.isArray(t.scheme),"scheme must be a RegExp, String, or Array");let c=[].concat(t.scheme);Pl(c.length>=1,"scheme must have at least 1 scheme specified");let l=[];for(let d=0;d<c.length;++d){let p=c[d];Pl(p instanceof RegExp||typeof p=="string","scheme at position "+d+" must be a RegExp or String"),p instanceof RegExp?l.push(p.source.toString()):(Pl(e.schemeRegex.test(p),"scheme at position "+d+" must be a valid scheme"),l.push(yI(p)))}s=l.join("|")}let a="(?:"+(s?"(?:"+s+")":e.scheme)+":"+(t.domain?e.hierPartCapture:e.hierPart)+")",u=t.allowRelative?"(?:"+a+"|"+i+")":a;return $t.wrap(u+r,s)};$t.wrap=function(t,e){return t=`(?=.)(?!https?:/(?:$|[^/]))(?!https?:///)(?!https?:[^/])${t}`,{raw:t,regex:new RegExp(`^${t}$`),scheme:e}};$t.uriRegex=$t.createRegex({});Im.regex=function(t={}){return t.scheme||t.allowRelative||t.relativeOnly||t.allowQuerySquareBrackets||t.domain?$t.createRegex(t):$t.uriRegex}});var i0=g(r0=>{"use strict";var no=Re(),Oa=Mm();r0.regex=function(t={}){no(t.cidr===void 0||typeof t.cidr=="string","options.cidr must be a string");let e=t.cidr?t.cidr.toLowerCase():"optional";no(["required","optional","forbidden"].includes(e),"options.cidr must be one of required, optional, forbidden"),no(t.version===void 0||typeof t.version=="string"||Array.isArray(t.version),"options.version must be a string or an array of string");let n=t.version||["ipv4","ipv6","ipvfuture"];Array.isArray(n)||(n=[n]),no(n.length>=1,"options.version must have at least 1 version specified");for(let o=0;o<n.length;++o)no(typeof n[o]=="string","options.version must only contain strings"),n[o]=n[o].toLowerCase(),no(["ipv4","ipv6","ipvfuture"].includes(n[o]),"options.version contains unknown version "+n[o]+" - must be one of ipv4, ipv6, ipvfuture");n=Array.from(new Set(n));let i=`(?:${n.map(o=>{if(e==="forbidden")return Oa.ip[o];let a=`\\/${o==="ipv4"?Oa.ip.v4Cidr:Oa.ip.v6Cidr}`;return e==="required"?`${Oa.ip[o]}${a}`:`${Oa.ip[o]}(?:${a})?`}).join("|")})`,s=new RegExp(`^${i}$`);return{cidr:e,versions:n,regex:s,raw:i}}});var a0=g((zB,o0)=>{"use strict";var s0={};s0.tlds=["AAA","AARP","ABB","ABBOTT","ABBVIE","ABC","ABLE","ABOGADO","ABUDHABI","AC","ACADEMY","ACCENTURE","ACCOUNTANT","ACCOUNTANTS","ACO","ACTOR","AD","ADS","ADULT","AE","AEG","AERO","AETNA","AF","AFL","AFRICA","AG","AGAKHAN","AGENCY","AI","AIG","AIRBUS","AIRFORCE","AIRTEL","AKDN","AL","ALIBABA","ALIPAY","ALLFINANZ","ALLSTATE","ALLY","ALSACE","ALSTOM","AM","AMAZON","AMERICANEXPRESS","AMERICANFAMILY","AMEX","AMFAM","AMICA","AMSTERDAM","ANALYTICS","ANDROID","ANQUAN","ANZ","AO","AOL","APARTMENTS","APP","APPLE","AQ","AQUARELLE","AR","ARAB","ARAMCO","ARCHI","ARMY","ARPA","ART","ARTE","AS","ASDA","ASIA","ASSOCIATES","AT","ATHLETA","ATTORNEY","AU","AUCTION","AUDI","AUDIBLE","AUDIO","AUSPOST","AUTHOR","AUTO","AUTOS","AVIANCA","AW","AWS","AX","AXA","AZ","AZURE","BA","BABY","BAIDU","BANAMEX","BAND","BANK","BAR","BARCELONA","BARCLAYCARD","BARCLAYS","BAREFOOT","BARGAINS","BASEBALL","BASKETBALL","BAUHAUS","BAYERN","BB","BBC","BBT","BBVA","BCG","BCN","BD","BE","BEATS","BEAUTY","BEER","BENTLEY","BERLIN","BEST","BESTBUY","BET","BF","BG","BH","BHARTI","BI","BIBLE","BID","BIKE","BING","BINGO","BIO","BIZ","BJ","BLACK","BLACKFRIDAY","BLOCKBUSTER","BLOG","BLOOMBERG","BLUE","BM","BMS","BMW","BN","BNPPARIBAS","BO","BOATS","BOEHRINGER","BOFA","BOM","BOND","BOO","BOOK","BOOKING","BOSCH","BOSTIK","BOSTON","BOT","BOUTIQUE","BOX","BR","BRADESCO","BRIDGESTONE","BROADWAY","BROKER","BROTHER","BRUSSELS","BS","BT","BUILD","BUILDERS","BUSINESS","BUY","BUZZ","BV","BW","BY","BZ","BZH","CA","CAB","CAFE","CAL","CALL","CALVINKLEIN","CAM","CAMERA","CAMP","CANON","CAPETOWN","CAPITAL","CAPITALONE","CAR","CARAVAN","CARDS","CARE","CAREER","CAREERS","CARS","CASA","CASE","CASH","CASINO","CAT","CATERING","CATHOLIC","CBA","CBN","CBRE","CC","CD","CENTER","CEO","CERN","CF","CFA","CFD","CG","CH","CHANEL","CHANNEL","CHARITY","CHASE","CHAT","CHEAP","CHINTAI","CHRISTMAS","CHROME","CHURCH","CI","CIPRIANI","CIRCLE","CISCO","CITADEL","CITI","CITIC","CITY","CK","CL","CLAIMS","CLEANING","CLICK","CLINIC","CLINIQUE","CLOTHING","CLOUD","CLUB","CLUBMED","CM","CN","CO","COACH","CODES","COFFEE","COLLEGE","COLOGNE","COM","COMCAST","COMMBANK","COMMUNITY","COMPANY","COMPARE","COMPUTER","COMSEC","CONDOS","CONSTRUCTION","CONSULTING","CONTACT","CONTRACTORS","COOKING","COOL","COOP","CORSICA","COUNTRY","COUPON","COUPONS","COURSES","CPA","CR","CREDIT","CREDITCARD","CREDITUNION","CRICKET","CROWN","CRS","CRUISE","CRUISES","CU","CUISINELLA","CV","CW","CX","CY","CYMRU","CYOU","CZ","DABUR","DAD","DANCE","DATA","DATE","DATING","DATSUN","DAY","DCLK","DDS","DE","DEAL","DEALER","DEALS","DEGREE","DELIVERY","DELL","DELOITTE","DELTA","DEMOCRAT","DENTAL","DENTIST","DESI","DESIGN","DEV","DHL","DIAMONDS","DIET","DIGITAL","DIRECT","DIRECTORY","DISCOUNT","DISCOVER","DISH","DIY","DJ","DK","DM","DNP","DO","DOCS","DOCTOR","DOG","DOMAINS","DOT","DOWNLOAD","DRIVE","DTV","DUBAI","DUNLOP","DUPONT","DURBAN","DVAG","DVR","DZ","EARTH","EAT","EC","ECO","EDEKA","EDU","EDUCATION","EE","EG","EMAIL","EMERCK","ENERGY","ENGINEER","ENGINEERING","ENTERPRISES","EPSON","EQUIPMENT","ER","ERICSSON","ERNI","ES","ESQ","ESTATE","ET","EU","EUROVISION","EUS","EVENTS","EXCHANGE","EXPERT","EXPOSED","EXPRESS","EXTRASPACE","FAGE","FAIL","FAIRWINDS","FAITH","FAMILY","FAN","FANS","FARM","FARMERS","FASHION","FAST","FEDEX","FEEDBACK","FERRARI","FERRERO","FI","FIDELITY","FIDO","FILM","FINAL","FINANCE","FINANCIAL","FIRE","FIRESTONE","FIRMDALE","FISH","FISHING","FIT","FITNESS","FJ","FK","FLICKR","FLIGHTS","FLIR","FLORIST","FLOWERS","FLY","FM","FO","FOO","FOOD","FOOTBALL","FORD","FOREX","FORSALE","FORUM","FOUNDATION","FOX","FR","FREE","FRESENIUS","FRL","FROGANS","FRONTIER","FTR","FUJITSU","FUN","FUND","FURNITURE","FUTBOL","FYI","GA","GAL","GALLERY","GALLO","GALLUP","GAME","GAMES","GAP","GARDEN","GAY","GB","GBIZ","GD","GDN","GE","GEA","GENT","GENTING","GEORGE","GF","GG","GGEE","GH","GI","GIFT","GIFTS","GIVES","GIVING","GL","GLASS","GLE","GLOBAL","GLOBO","GM","GMAIL","GMBH","GMO","GMX","GN","GODADDY","GOLD","GOLDPOINT","GOLF","GOO","GOODYEAR","GOOG","GOOGLE","GOP","GOT","GOV","GP","GQ","GR","GRAINGER","GRAPHICS","GRATIS","GREEN","GRIPE","GROCERY","GROUP","GS","GT","GU","GUARDIAN","GUCCI","GUGE","GUIDE","GUITARS","GURU","GW","GY","HAIR","HAMBURG","HANGOUT","HAUS","HBO","HDFC","HDFCBANK","HEALTH","HEALTHCARE","HELP","HELSINKI","HERE","HERMES","HIPHOP","HISAMITSU","HITACHI","HIV","HK","HKT","HM","HN","HOCKEY","HOLDINGS","HOLIDAY","HOMEDEPOT","HOMEGOODS","HOMES","HOMESENSE","HONDA","HORSE","HOSPITAL","HOST","HOSTING","HOT","HOTELS","HOTMAIL","HOUSE","HOW","HR","HSBC","HT","HU","HUGHES","HYATT","HYUNDAI","IBM","ICBC","ICE","ICU","ID","IE","IEEE","IFM","IKANO","IL","IM","IMAMAT","IMDB","IMMO","IMMOBILIEN","IN","INC","INDUSTRIES","INFINITI","INFO","ING","INK","INSTITUTE","INSURANCE","INSURE","INT","INTERNATIONAL","INTUIT","INVESTMENTS","IO","IPIRANGA","IQ","IR","IRISH","IS","ISMAILI","IST","ISTANBUL","IT","ITAU","ITV","JAGUAR","JAVA","JCB","JE","JEEP","JETZT","JEWELRY","JIO","JLL","JM","JMP","JNJ","JO","JOBS","JOBURG","JOT","JOY","JP","JPMORGAN","JPRS","JUEGOS","JUNIPER","KAUFEN","KDDI","KE","KERRYHOTELS","KERRYLOGISTICS","KERRYPROPERTIES","KFH","KG","KH","KI","KIA","KIDS","KIM","KINDLE","KITCHEN","KIWI","KM","KN","KOELN","KOMATSU","KOSHER","KP","KPMG","KPN","KR","KRD","KRED","KUOKGROUP","KW","KY","KYOTO","KZ","LA","LACAIXA","LAMBORGHINI","LAMER","LANCASTER","LAND","LANDROVER","LANXESS","LASALLE","LAT","LATINO","LATROBE","LAW","LAWYER","LB","LC","LDS","LEASE","LECLERC","LEFRAK","LEGAL","LEGO","LEXUS","LGBT","LI","LIDL","LIFE","LIFEINSURANCE","LIFESTYLE","LIGHTING","LIKE","LILLY","LIMITED","LIMO","LINCOLN","LINK","LIPSY","LIVE","LIVING","LK","LLC","LLP","LOAN","LOANS","LOCKER","LOCUS","LOL","LONDON","LOTTE","LOTTO","LOVE","LPL","LPLFINANCIAL","LR","LS","LT","LTD","LTDA","LU","LUNDBECK","LUXE","LUXURY","LV","LY","MA","MADRID","MAIF","MAISON","MAKEUP","MAN","MANAGEMENT","MANGO","MAP","MARKET","MARKETING","MARKETS","MARRIOTT","MARSHALLS","MATTEL","MBA","MC","MCKINSEY","MD","ME","MED","MEDIA","MEET","MELBOURNE","MEME","MEMORIAL","MEN","MENU","MERCKMSD","MG","MH","MIAMI","MICROSOFT","MIL","MINI","MINT","MIT","MITSUBISHI","MK","ML","MLB","MLS","MM","MMA","MN","MO","MOBI","MOBILE","MODA","MOE","MOI","MOM","MONASH","MONEY","MONSTER","MORMON","MORTGAGE","MOSCOW","MOTO","MOTORCYCLES","MOV","MOVIE","MP","MQ","MR","MS","MSD","MT","MTN","MTR","MU","MUSEUM","MUSIC","MV","MW","MX","MY","MZ","NA","NAB","NAGOYA","NAME","NATURA","NAVY","NBA","NC","NE","NEC","NET","NETBANK","NETFLIX","NETWORK","NEUSTAR","NEW","NEWS","NEXT","NEXTDIRECT","NEXUS","NF","NFL","NG","NGO","NHK","NI","NICO","NIKE","NIKON","NINJA","NISSAN","NISSAY","NL","NO","NOKIA","NORTON","NOW","NOWRUZ","NOWTV","NP","NR","NRA","NRW","NTT","NU","NYC","NZ","OBI","OBSERVER","OFFICE","OKINAWA","OLAYAN","OLAYANGROUP","OLLO","OM","OMEGA","ONE","ONG","ONL","ONLINE","OOO","OPEN","ORACLE","ORANGE","ORG","ORGANIC","ORIGINS","OSAKA","OTSUKA","OTT","OVH","PA","PAGE","PANASONIC","PARIS","PARS","PARTNERS","PARTS","PARTY","PAY","PCCW","PE","PET","PF","PFIZER","PG","PH","PHARMACY","PHD","PHILIPS","PHONE","PHOTO","PHOTOGRAPHY","PHOTOS","PHYSIO","PICS","PICTET","PICTURES","PID","PIN","PING","PINK","PIONEER","PIZZA","PK","PL","PLACE","PLAY","PLAYSTATION","PLUMBING","PLUS","PM","PN","PNC","POHL","POKER","POLITIE","PORN","POST","PR","PRAMERICA","PRAXI","PRESS","PRIME","PRO","PROD","PRODUCTIONS","PROF","PROGRESSIVE","PROMO","PROPERTIES","PROPERTY","PROTECTION","PRU","PRUDENTIAL","PS","PT","PUB","PW","PWC","PY","QA","QPON","QUEBEC","QUEST","RACING","RADIO","RE","READ","REALESTATE","REALTOR","REALTY","RECIPES","RED","REDSTONE","REDUMBRELLA","REHAB","REISE","REISEN","REIT","RELIANCE","REN","RENT","RENTALS","REPAIR","REPORT","REPUBLICAN","REST","RESTAURANT","REVIEW","REVIEWS","REXROTH","RICH","RICHARDLI","RICOH","RIL","RIO","RIP","RO","ROCKS","RODEO","ROGERS","ROOM","RS","RSVP","RU","RUGBY","RUHR","RUN","RW","RWE","RYUKYU","SA","SAARLAND","SAFE","SAFETY","SAKURA","SALE","SALON","SAMSCLUB","SAMSUNG","SANDVIK","SANDVIKCOROMANT","SANOFI","SAP","SARL","SAS","SAVE","SAXO","SB","SBI","SBS","SC","SCB","SCHAEFFLER","SCHMIDT","SCHOLARSHIPS","SCHOOL","SCHULE","SCHWARZ","SCIENCE","SCOT","SD","SE","SEARCH","SEAT","SECURE","SECURITY","SEEK","SELECT","SENER","SERVICES","SEVEN","SEW","SEX","SEXY","SFR","SG","SH","SHANGRILA","SHARP","SHAW","SHELL","SHIA","SHIKSHA","SHOES","SHOP","SHOPPING","SHOUJI","SHOW","SI","SILK","SINA","SINGLES","SITE","SJ","SK","SKI","SKIN","SKY","SKYPE","SL","SLING","SM","SMART","SMILE","SN","SNCF","SO","SOCCER","SOCIAL","SOFTBANK","SOFTWARE","SOHU","SOLAR","SOLUTIONS","SONG","SONY","SOY","SPA","SPACE","SPORT","SPOT","SR","SRL","SS","ST","STADA","STAPLES","STAR","STATEBANK","STATEFARM","STC","STCGROUP","STOCKHOLM","STORAGE","STORE","STREAM","STUDIO","STUDY","STYLE","SU","SUCKS","SUPPLIES","SUPPLY","SUPPORT","SURF","SURGERY","SUZUKI","SV","SWATCH","SWISS","SX","SY","SYDNEY","SYSTEMS","SZ","TAB","TAIPEI","TALK","TAOBAO","TARGET","TATAMOTORS","TATAR","TATTOO","TAX","TAXI","TC","TCI","TD","TDK","TEAM","TECH","TECHNOLOGY","TEL","TEMASEK","TENNIS","TEVA","TF","TG","TH","THD","THEATER","THEATRE","TIAA","TICKETS","TIENDA","TIPS","TIRES","TIROL","TJ","TJMAXX","TJX","TK","TKMAXX","TL","TM","TMALL","TN","TO","TODAY","TOKYO","TOOLS","TOP","TORAY","TOSHIBA","TOTAL","TOURS","TOWN","TOYOTA","TOYS","TR","TRADE","TRADING","TRAINING","TRAVEL","TRAVELERS","TRAVELERSINSURANCE","TRUST","TRV","TT","TUBE","TUI","TUNES","TUSHU","TV","TVS","TW","TZ","UA","UBANK","UBS","UG","UK","UNICOM","UNIVERSITY","UNO","UOL","UPS","US","UY","UZ","VA","VACATIONS","VANA","VANGUARD","VC","VE","VEGAS","VENTURES","VERISIGN","VERSICHERUNG","VET","VG","VI","VIAJES","VIDEO","VIG","VIKING","VILLAS","VIN","VIP","VIRGIN","VISA","VISION","VIVA","VIVO","VLAANDEREN","VN","VODKA","VOLVO","VOTE","VOTING","VOTO","VOYAGE","VU","WALES","WALMART","WALTER","WANG","WANGGOU","WATCH","WATCHES","WEATHER","WEATHERCHANNEL","WEBCAM","WEBER","WEBSITE","WED","WEDDING","WEIBO","WEIR","WF","WHOSWHO","WIEN","WIKI","WILLIAMHILL","WIN","WINDOWS","WINE","WINNERS","WME","WOLTERSKLUWER","WOODSIDE","WORK","WORKS","WORLD","WOW","WS","WTC","WTF","XBOX","XEROX","XFINITY","XIHUAN","XIN","XN--11B4C3D","XN--1CK2E1B","XN--1QQW23A","XN--2SCRJ9C","XN--30RR7Y","XN--3BST00M","XN--3DS443G","XN--3E0B707E","XN--3HCRJ9C","XN--3PXU8K","XN--42C2D9A","XN--45BR5CYL","XN--45BRJ9C","XN--45Q11C","XN--4DBRK0CE","XN--4GBRIM","XN--54B7FTA0CC","XN--55QW42G","XN--55QX5D","XN--5SU34J936BGSG","XN--5TZM5G","XN--6FRZ82G","XN--6QQ986B3XL","XN--80ADXHKS","XN--80AO21A","XN--80AQECDR1A","XN--80ASEHDB","XN--80ASWG","XN--8Y0A063A","XN--90A3AC","XN--90AE","XN--90AIS","XN--9DBQ2A","XN--9ET52U","XN--9KRT00A","XN--B4W605FERD","XN--BCK1B9A5DRE4C","XN--C1AVG","XN--C2BR7G","XN--CCK2B3B","XN--CCKWCXETD","XN--CG4BKI","XN--CLCHC0EA0B2G2A9GCD","XN--CZR694B","XN--CZRS0T","XN--CZRU2D","XN--D1ACJ3B","XN--D1ALF","XN--E1A4C","XN--ECKVDTC9D","XN--EFVY88H","XN--FCT429K","XN--FHBEI","XN--FIQ228C5HS","XN--FIQ64B","XN--FIQS8S","XN--FIQZ9S","XN--FJQ720A","XN--FLW351E","XN--FPCRJ9C3D","XN--FZC2C9E2C","XN--FZYS8D69UVGM","XN--G2XX48C","XN--GCKR3F0F","XN--GECRJ9C","XN--GK3AT1E","XN--H2BREG3EVE","XN--H2BRJ9C","XN--H2BRJ9C8C","XN--HXT814E","XN--I1B6B1A6A2E","XN--IMR513N","XN--IO0A7I","XN--J1AEF","XN--J1AMH","XN--J6W193G","XN--JLQ480N2RG","XN--JVR189M","XN--KCRX77D1X4A","XN--KPRW13D","XN--KPRY57D","XN--KPUT3I","XN--L1ACC","XN--LGBBAT1AD8J","XN--MGB9AWBF","XN--MGBA3A3EJT","XN--MGBA3A4F16A","XN--MGBA7C0BBN0A","XN--MGBAAM7A8H","XN--MGBAB2BD","XN--MGBAH1A3HJKRD","XN--MGBAI9AZGQP6J","XN--MGBAYH7GPA","XN--MGBBH1A","XN--MGBBH1A71E","XN--MGBC0A9AZCG","XN--MGBCA7DZDO","XN--MGBCPQ6GPA1A","XN--MGBERP4A5D4AR","XN--MGBGU82A","XN--MGBI4ECEXP","XN--MGBPL2FH","XN--MGBT3DHD","XN--MGBTX2B","XN--MGBX4CD0AB","XN--MIX891F","XN--MK1BU44C","XN--MXTQ1M","XN--NGBC5AZD","XN--NGBE9E0A","XN--NGBRX","XN--NODE","XN--NQV7F","XN--NQV7FS00EMA","XN--NYQY26A","XN--O3CW4H","XN--OGBPF8FL","XN--OTU796D","XN--P1ACF","XN--P1AI","XN--PGBS0DH","XN--PSSY2U","XN--Q7CE6A","XN--Q9JYB4C","XN--QCKA1PMC","XN--QXA6A","XN--QXAM","XN--RHQV96G","XN--ROVU88B","XN--RVC1E0AM3E","XN--S9BRJ9C","XN--SES554G","XN--T60B56A","XN--TCKWE","XN--TIQ49XQYJ","XN--UNUP4Y","XN--VERMGENSBERATER-CTB","XN--VERMGENSBERATUNG-PWB","XN--VHQUV","XN--VUQ861B","XN--W4R85EL8FHU5DNRA","XN--W4RS40L","XN--WGBH1C","XN--WGBL6A","XN--XHQ521B","XN--XKC2AL3HYE2A","XN--XKC2DL3A5EE0H","XN--Y9A3AQ","XN--YFRO4I67O","XN--YGBI2AMMX","XN--ZFR164B","XXX","XYZ","YACHTS","YAHOO","YAMAXUN","YANDEX","YE","YODOBASHI","YOGA","YOKOHAMA","YOU","YOUTUBE","YT","YUN","ZA","ZAPPOS","ZARA","ZERO","ZIP","ZM","ZONE","ZUERICH","ZW"];o0.exports=new Set(s0.tlds.map(t=>t.toLowerCase()))});var f0=g((KB,d0)=>{"use strict";var $e=Re(),Il=Rm(),bI=t0(),l0=i0(),u0=Pm(),c0=a0(),vI=Mm(),_I=Fn(),rn=Je(),Ae={tlds:c0 instanceof Set?{tlds:{allow:c0,deny:null}}:!1,base64Regex:{true:{true:/^(?:[\w\-]{2}[\w\-]{2})*(?:[\w\-]{2}==|[\w\-]{3}=)?$/,false:/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/},false:{true:/^(?:[\w\-]{2}[\w\-]{2})*(?:[\w\-]{2}(==)?|[\w\-]{3}=?)?$/,false:/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}(==)?|[A-Za-z0-9+\/]{3}=?)?$/}},dataUriRegex:/^data:[\w+.-]+\/[\w+.-]+;((charset=[\w-]+|base64),)?(.*)$/,hexRegex:{withPrefix:/^0x[0-9a-f]+$/i,withOptionalPrefix:/^(?:0x)?[0-9a-f]+$/i,withoutPrefix:/^[0-9a-f]+$/i},ipRegex:l0.regex({cidr:"forbidden"}).regex,isoDurationRegex:/^P(?!$)(\d+Y)?(\d+M)?(\d+W)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?$/,guidBrackets:{"{":"}","[":"]","(":")","":""},guidVersions:{uuidv1:"1",uuidv2:"2",uuidv3:"3",uuidv4:"4",uuidv5:"5",uuidv6:"6",uuidv7:"7",uuidv8:"8"},guidSeparators:new Set([void 0,!0,!1,"-",":"]),normalizationForms:["NFC","NFD","NFKC","NFKD"]};d0.exports=_I.extend({type:"string",flags:{insensitive:{default:!1},truncate:{default:!1}},terms:{replacements:{init:null}},coerce:{from:"string",method(t,{schema:e,state:n,prefs:r}){let i=e.$_getRule("normalize");i&&(t=t.normalize(i.args.form));let s=e.$_getRule("case");s&&(t=s.args.direction==="upper"?t.toLocaleUpperCase():t.toLocaleLowerCase());let o=e.$_getRule("trim");if(o&&o.args.enabled&&(t=t.trim()),e.$_terms.replacements)for(let u of e.$_terms.replacements)t=t.replace(u.pattern,u.replacement);let a=e.$_getRule("hex");if(a&&a.args.options.byteAligned&&t.length%2!==0&&(t=`0${t}`),e.$_getRule("isoDate")){let u=Ae.isoDate(t);u&&(t=u)}if(e._flags.truncate){let u=e.$_getRule("max");if(u){let c=u.args.limit;if(rn.isResolvable(c)&&(c=c.resolve(t,n,r),!rn.limit(c)))return{value:t,errors:e.$_createError("any.ref",c,{ref:u.args.limit,arg:"limit",reason:"must be a positive integer"},n,r)};t=t.slice(0,c)}}return{value:t}}},validate(t,{schema:e,error:n}){if(typeof t!="string")return{value:t,errors:n("string.base")};if(t===""){let r=e.$_getRule("min");return r&&r.args.limit===0?void 0:{value:t,errors:n("string.empty")}}},rules:{alphanum:{method(){return this.$_addRule("alphanum")},validate(t,e){return/^[a-zA-Z0-9]+$/.test(t)?t:e.error("string.alphanum")}},base64:{method(t={}){return rn.assertOptions(t,["paddingRequired","urlSafe"]),t={urlSafe:!1,paddingRequired:!0,...t},$e(typeof t.paddingRequired=="boolean","paddingRequired must be boolean"),$e(typeof t.urlSafe=="boolean","urlSafe must be boolean"),this.$_addRule({name:"base64",args:{options:t}})},validate(t,e,{options:n}){return Ae.base64Regex[n.paddingRequired][n.urlSafe].test(t)?t:e.error("string.base64")}},case:{method(t){return $e(["lower","upper"].includes(t),"Invalid case:",t),this.$_addRule({name:"case",args:{direction:t}})},validate(t,e,{direction:n}){return n==="lower"&&t===t.toLocaleLowerCase()||n==="upper"&&t===t.toLocaleUpperCase()?t:e.error(`string.${n}case`)},convert:!0},creditCard:{method(){return this.$_addRule("creditCard")},validate(t,e){let n=t.length,r=0,i=1;for(;n--;){let s=t.charAt(n)*i;r=r+(s-(s>9)*9),i=i^3}return r>0&&r%10===0?t:e.error("string.creditCard")}},dataUri:{method(t={}){return rn.assertOptions(t,["paddingRequired"]),t={paddingRequired:!0,...t},$e(typeof t.paddingRequired=="boolean","paddingRequired must be boolean"),this.$_addRule({name:"dataUri",args:{options:t}})},validate(t,e,{options:n}){let r=t.match(Ae.dataUriRegex);return r&&(!r[2]||r[2]!=="base64"||Ae.base64Regex[n.paddingRequired].false.test(r[3]))?t:e.error("string.dataUri")}},domain:{method(t){t&&rn.assertOptions(t,["allowFullyQualified","allowUnicode","maxDomainSegments","minDomainSegments","tlds"]);let e=Ae.addressOptions(t);return this.$_addRule({name:"domain",args:{options:t},address:e})},validate(t,e,n,{address:r}){return Il.isValid(t,r)?t:e.error("string.domain")}},email:{method(t={}){rn.assertOptions(t,["allowFullyQualified","allowUnicode","ignoreLength","maxDomainSegments","minDomainSegments","multiple","separator","tlds"]),$e(t.multiple===void 0||typeof t.multiple=="boolean","multiple option must be an boolean");let e=Ae.addressOptions(t),n=new RegExp(`\\s*[${t.separator?u0(t.separator):","}]\\s*`);return this.$_addRule({name:"email",args:{options:t},regex:n,address:e})},validate(t,e,{options:n},{regex:r,address:i}){let s=n.multiple?t.split(r):[t],o=[];for(let a of s)bI.isValid(a,i)||o.push(a);return o.length?e.error("string.email",{value:t,invalids:o}):t}},guid:{alias:"uuid",method(t={}){rn.assertOptions(t,["version","separator"]);let e="";if(t.version){let i=[].concat(t.version);$e(i.length>=1,"version must have at least 1 valid version specified");let s=new Set;for(let o=0;o<i.length;++o){let a=i[o];$e(typeof a=="string","version at position "+o+" must be a string");let u=Ae.guidVersions[a.toLowerCase()];$e(u,"version at position "+o+" must be one of "+Object.keys(Ae.guidVersions).join(", ")),$e(!s.has(u),"version at position "+o+" must not be a duplicate"),e+=u,s.add(u)}}$e(Ae.guidSeparators.has(t.separator),'separator must be one of true, false, "-", or ":"');let n=t.separator===void 0?"[:-]?":t.separator===!0?"[:-]":t.separator===!1?"[]?":`\\${t.separator}`,r=new RegExp(`^([\\[{\\(]?)[0-9A-F]{8}(${n})[0-9A-F]{4}\\2?[${e||"0-9A-F"}][0-9A-F]{3}\\2?[${e?"89AB":"0-9A-F"}][0-9A-F]{3}\\2?[0-9A-F]{12}([\\]}\\)]?)$`,"i");return this.$_addRule({name:"guid",args:{options:t},regex:r})},validate(t,e,n,{regex:r}){let i=r.exec(t);return!i||Ae.guidBrackets[i[1]]!==i[i.length-1]?e.error("string.guid"):t}},hex:{method(t={}){return rn.assertOptions(t,["byteAligned","prefix"]),t={byteAligned:!1,prefix:!1,...t},$e(typeof t.byteAligned=="boolean","byteAligned must be boolean"),$e(typeof t.prefix=="boolean"||t.prefix==="optional",'prefix must be boolean or "optional"'),this.$_addRule({name:"hex",args:{options:t}})},validate(t,e,{options:n}){return(n.prefix==="optional"?Ae.hexRegex.withOptionalPrefix:n.prefix===!0?Ae.hexRegex.withPrefix:Ae.hexRegex.withoutPrefix).test(t)?n.byteAligned&&t.length%2!==0?e.error("string.hexAlign"):t:e.error("string.hex")}},hostname:{method(){return this.$_addRule("hostname")},validate(t,e){return Il.isValid(t,{minDomainSegments:1})||Ae.ipRegex.test(t)?t:e.error("string.hostname")}},insensitive:{method(){return this.$_setFlag("insensitive",!0)}},ip:{method(t={}){rn.assertOptions(t,["cidr","version"]);let{cidr:e,versions:n,regex:r}=l0.regex(t),i=t.version?n:void 0;return this.$_addRule({name:"ip",args:{options:{cidr:e,version:i}},regex:r})},validate(t,e,{options:n},{regex:r}){return r.test(t)?t:n.version?e.error("string.ipVersion",{value:t,cidr:n.cidr,version:n.version}):e.error("string.ip",{value:t,cidr:n.cidr})}},isoDate:{method(){return this.$_addRule("isoDate")},validate(t,{error:e}){return Ae.isoDate(t)?t:e("string.isoDate")}},isoDuration:{method(){return this.$_addRule("isoDuration")},validate(t,e){return Ae.isoDurationRegex.test(t)?t:e.error("string.isoDuration")}},length:{method(t,e){return Ae.length(this,"length",t,"=",e)},validate(t,e,{limit:n,encoding:r},{name:i,operator:s,args:o}){let a=r?Buffer&&Buffer.byteLength(t,r):t.length;return rn.compare(a,n,s)?t:e.error("string."+i,{limit:o.limit,value:t,encoding:r})},args:[{name:"limit",ref:!0,assert:rn.limit,message:"must be a positive integer"},"encoding"]},lowercase:{method(){return this.case("lower")}},max:{method(t,e){return Ae.length(this,"max",t,"<=",e)},args:["limit","encoding"]},min:{method(t,e){return Ae.length(this,"min",t,">=",e)},args:["limit","encoding"]},normalize:{method(t="NFC"){return $e(Ae.normalizationForms.includes(t),"normalization form must be one of "+Ae.normalizationForms.join(", ")),this.$_addRule({name:"normalize",args:{form:t}})},validate(t,{error:e},{form:n}){return t===t.normalize(n)?t:e("string.normalize",{value:t,form:n})},convert:!0},pattern:{alias:"regex",method(t,e={}){$e(t instanceof RegExp,"regex must be a RegExp"),$e(!t.flags.includes("g")&&!t.flags.includes("y"),"regex should not use global or sticky mode"),typeof e=="string"&&(e={name:e}),rn.assertOptions(e,["invert","name"]);let n=["string.pattern",e.invert?".invert":"",e.name?".name":".base"].join("");return this.$_addRule({name:"pattern",args:{regex:t,options:e},errorCode:n})},validate(t,e,{regex:n,options:r},{errorCode:i}){return n.test(t)^r.invert?t:e.error(i,{name:r.name,regex:n,value:t})},args:["regex","options"],multi:!0},replace:{method(t,e){typeof t=="string"&&(t=new RegExp(u0(t),"g")),$e(t instanceof RegExp,"pattern must be a RegExp"),$e(typeof e=="string","replacement must be a String");let n=this.clone();return n.$_terms.replacements||(n.$_terms.replacements=[]),n.$_terms.replacements.push({pattern:t,replacement:e}),n}},token:{method(){return this.$_addRule("token")},validate(t,e){return/^\w+$/.test(t)?t:e.error("string.token")}},trim:{method(t=!0){return $e(typeof t=="boolean","enabled must be a boolean"),this.$_addRule({name:"trim",args:{enabled:t}})},validate(t,e,{enabled:n}){return!n||t===t.trim()?t:e.error("string.trim")},convert:!0},truncate:{method(t=!0){return $e(typeof t=="boolean","enabled must be a boolean"),this.$_setFlag("truncate",t)}},uppercase:{method(){return this.case("upper")}},uri:{method(t={}){rn.assertOptions(t,["allowRelative","allowQuerySquareBrackets","domain","relativeOnly","scheme","encodeUri"]),t.domain&&rn.assertOptions(t.domain,["allowFullyQualified","allowUnicode","maxDomainSegments","minDomainSegments","tlds"]);let{regex:e,scheme:n}=vI.regex(t),r=t.domain?Ae.addressOptions(t.domain):null;return this.$_addRule({name:"uri",args:{options:t},regex:e,domain:r,scheme:n})},validate(t,e,{options:n},{regex:r,domain:i,scheme:s}){if(["http:/","https:/"].includes(t))return e.error("string.uri");let o=r.exec(t);if(!o&&e.prefs.convert&&n.encodeUri){let a=encodeURI(t);o=r.exec(a),o&&(t=a)}if(o){let a=o[1]||o[2];return i&&(!n.allowRelative||a)&&!Il.isValid(a,i)?e.error("string.domain",{value:a}):t}return n.relativeOnly?e.error("string.uriRelativeOnly"):n.scheme?e.error("string.uriCustomScheme",{scheme:s,value:t}):e.error("string.uri")}}},manifest:{build(t,e){if(e.replacements)for(let{pattern:n,replacement:r}of e.replacements)t=t.replace(n,r);return t}},messages:{"string.alphanum":"{{#label}} must only contain alpha-numeric characters","string.base":"{{#label}} must be a string","string.base64":"{{#label}} must be a valid base64 string","string.creditCard":"{{#label}} must be a credit card","string.dataUri":"{{#label}} must be a valid dataUri string","string.domain":"{{#label}} must contain a valid domain name","string.email":"{{#label}} must be a valid email","string.empty":"{{#label}} is not allowed to be empty","string.guid":"{{#label}} must be a valid GUID","string.hex":"{{#label}} must only contain hexadecimal characters","string.hexAlign":"{{#label}} hex decoded representation must be byte aligned","string.hostname":"{{#label}} must be a valid hostname","string.ip":"{{#label}} must be a valid ip address with a {{#cidr}} CIDR","string.ipVersion":"{{#label}} must be a valid ip address of one of the following versions {{#version}} with a {{#cidr}} CIDR","string.isoDate":"{{#label}} must be in iso format","string.isoDuration":"{{#label}} must be a valid ISO 8601 duration","string.length":"{{#label}} length must be {{#limit}} characters long","string.lowercase":"{{#label}} must only contain lowercase characters","string.max":"{{#label}} length must be less than or equal to {{#limit}} characters long","string.min":"{{#label}} length must be at least {{#limit}} characters long","string.normalize":"{{#label}} must be unicode normalized in the {{#form}} form","string.token":"{{#label}} must only contain alpha-numeric and underscore characters","string.pattern.base":"{{#label}} with value {:[.]} fails to match the required pattern: {{#regex}}","string.pattern.name":"{{#label}} with value {:[.]} fails to match the {{#name}} pattern","string.pattern.invert.base":"{{#label}} with value {:[.]} matches the inverted pattern: {{#regex}}","string.pattern.invert.name":"{{#label}} with value {:[.]} matches the inverted {{#name}} pattern","string.trim":"{{#label}} must not have leading or trailing whitespace","string.uri":"{{#label}} must be a valid uri","string.uriCustomScheme":"{{#label}} must be a valid uri with a scheme matching the {{#scheme}} pattern","string.uriRelativeOnly":"{{#label}} must be a valid relative uri","string.uppercase":"{{#label}} must only contain uppercase characters"}});Ae.addressOptions=function(t){if(!t)return Ae.tlds||t;if($e(t.minDomainSegments===void 0||Number.isSafeInteger(t.minDomainSegments)&&t.minDomainSegments>0,"minDomainSegments must be a positive integer"),$e(t.maxDomainSegments===void 0||Number.isSafeInteger(t.maxDomainSegments)&&t.maxDomainSegments>0,"maxDomainSegments must be a positive integer"),t.tlds===!1)return t;if(t.tlds===!0||t.tlds===void 0)return $e(Ae.tlds,"Built-in TLD list disabled"),Object.assign({},t,Ae.tlds);$e(typeof t.tlds=="object","tlds must be true, false, or an object");let e=t.tlds.deny;if(e)return Array.isArray(e)&&(t=Object.assign({},t,{tlds:{deny:new Set(e)}})),$e(t.tlds.deny instanceof Set,"tlds.deny must be an array, Set, or boolean"),$e(!t.tlds.allow,"Cannot specify both tlds.allow and tlds.deny lists"),Ae.validateTlds(t.tlds.deny,"tlds.deny"),t;let n=t.tlds.allow;return n?n===!0?($e(Ae.tlds,"Built-in TLD list disabled"),Object.assign({},t,Ae.tlds)):(Array.isArray(n)&&(t=Object.assign({},t,{tlds:{allow:new Set(n)}})),$e(t.tlds.allow instanceof Set,"tlds.allow must be an array, Set, or boolean"),Ae.validateTlds(t.tlds.allow,"tlds.allow"),t):t};Ae.validateTlds=function(t,e){for(let n of t)$e(Il.isValid(n,{minDomainSegments:1,maxDomainSegments:1}),`${e} must contain valid top level domain names`)};Ae.isoDate=function(t){if(!rn.isIsoDate(t))return null;/.*T.*[+-]\d\d$/.test(t)&&(t+="00");let e=new Date(t);return isNaN(e.getTime())?null:e.toISOString()};Ae.length=function(t,e,n,r,i){return $e(!i||Buffer&&Buffer.isEncoding(i),"Invalid encoding:",i),t.$_addRule({name:e,method:"length",args:{limit:n,encoding:i},operator:r})}});var h0=g((XB,p0)=>{"use strict";var Ml=Re(),TI=Fn(),Lm={};Lm.Map=class extends Map{slice(){return new Lm.Map(this)}};p0.exports=TI.extend({type:"symbol",terms:{map:{init:new Lm.Map}},coerce:{method(t,{schema:e,error:n}){let r=e.$_terms.map.get(t);return r&&(t=r),!e._flags.only||typeof t=="symbol"?{value:t}:{value:t,errors:n("symbol.map",{map:e.$_terms.map})}}},validate(t,{error:e}){if(typeof t!="symbol")return{value:t,errors:e("symbol.base")}},rules:{map:{method(t){t&&!t[Symbol.iterator]&&typeof t=="object"&&(t=Object.entries(t)),Ml(t&&t[Symbol.iterator],"Iterable must be an iterable or object");let e=this.clone(),n=[];for(let r of t){Ml(r&&r[Symbol.iterator],"Entry must be an iterable");let[i,s]=r;Ml(typeof i!="object"&&typeof i!="function"&&typeof i!="symbol","Key must not be of type object, function, or Symbol"),Ml(typeof s=="symbol","Value must be a Symbol"),e.$_terms.map.set(i,s),n.push(s)}return e.valid(...n)}}},manifest:{build(t,e){return e.map&&(t=t.map(e.map)),t}},messages:{"symbol.base":"{{#label}} must be a symbol","symbol.map":"{{#label}} must be one of {{#map}}"}})});var y0=g((JB,m0)=>{"use strict";var SI=Re(),kI=Fn(),g0=Je();m0.exports=kI.extend({type:"binary",coerce:{from:["string","object"],method(t,{schema:e}){if(typeof t=="string"||t!==null&&t.type==="Buffer")try{return{value:Buffer.from(t,e._flags.encoding)}}catch{}}},validate(t,{error:e}){if(!Buffer.isBuffer(t))return{value:t,errors:e("binary.base")}},rules:{encoding:{method(t){return SI(Buffer.isEncoding(t),"Invalid encoding:",t),this.$_setFlag("encoding",t)}},length:{method(t){return this.$_addRule({name:"length",method:"length",args:{limit:t},operator:"="})},validate(t,e,{limit:n},{name:r,operator:i,args:s}){return g0.compare(t.length,n,i)?t:e.error("binary."+r,{limit:s.limit,value:t})},args:[{name:"limit",ref:!0,assert:g0.limit,message:"must be a positive integer"}]},max:{method(t){return this.$_addRule({name:"max",method:"length",args:{limit:t},operator:"<="})}},min:{method(t){return this.$_addRule({name:"min",method:"length",args:{limit:t},operator:">="})}}},cast:{string:{from:t=>Buffer.isBuffer(t),to(t,e){return t.toString()}}},messages:{"binary.base":"{{#label}} must be a buffer or a string","binary.length":"{{#label}} must be {{#limit}} bytes","binary.max":"{{#label}} must be less than or equal to {{#limit}} bytes","binary.min":"{{#label}} must be at least {{#limit}} bytes"}})});var yl=g((QB,T0)=>{"use strict";var es=Re(),xI=en(),wI=lm(),Zi=Je(),EI=Xi(),qm=Ir(),AI=dm(),b0=hm(),Nm=Mr(),v0=gi(),_0=mm(),Ll,Ot={types:{alternatives:xw(),any:Fn(),array:Ew(),boolean:Dw(),date:Lw(),function:Kw(),link:Yw(),number:Qw(),object:e0(),string:f0(),symbol:h0()},aliases:{alt:"alternatives",bool:"boolean",func:"function"}};Buffer&&(Ot.types.binary=y0());Ot.root=function(){let t={_types:new Set(Object.keys(Ot.types))};for(let e of t._types)t[e]=function(...n){return es(!n.length||["alternatives","link","object"].includes(e),"The",e,"type does not allow arguments"),Ot.generate(this,Ot.types[e],n)};for(let e of["allow","custom","disallow","equal","exist","forbidden","invalid","not","only","optional","options","prefs","preferences","required","strip","valid","when"])t[e]=function(...n){return this.any()[e](...n)};Object.assign(t,Ot.methods);for(let e in Ot.aliases){let n=Ot.aliases[e];t[e]=t[n]}return t.x=t.expression,_0.setup&&_0.setup(t),t};Ot.methods={ValidationError:qm.ValidationError,version:Zi.version,cache:wI.provider,assert(t,e,...n){Ot.assert(t,e,!0,n)},attempt(t,e,...n){return Ot.assert(t,e,!1,n)},build(t){return es(typeof b0.build=="function","Manifest functionality disabled"),b0.build(this,t)},checkPreferences(t){Zi.checkPreferences(t)},compile(t,e){return EI.compile(this,t,e)},defaults(t){es(typeof t=="function","modifier must be a function");let e=Object.assign({},this);for(let n of e._types){let r=t(e[n]());es(Zi.isSchema(r),"modifier must return a valid schema object"),e[n]=function(...i){return Ot.generate(this,r,i)}}return e},expression(...t){return new v0(...t)},extend(...t){Zi.verifyFlat(t,"extend"),Ll=Ll||ml(),es(t.length,"You need to provide at least one extension"),this.assert(t,Ll.extensions);let e=Object.assign({},this);e._types=new Set(e._types);for(let n of t){typeof n=="function"&&(n=n(e)),this.assert(n,Ll.extension);let r=Ot.expandExtension(n,e);for(let i of r){es(e[i.type]===void 0||e._types.has(i.type),"Cannot override name",i.type);let s=i.base||this.any(),o=AI.type(s,i);e._types.add(i.type),e[i.type]=function(...a){return Ot.generate(this,o,a)}}}return e},isError:qm.ValidationError.isError,isExpression:v0.isTemplate,isRef:Nm.isRef,isSchema:Zi.isSchema,in(...t){return Nm.in(...t)},override:Zi.symbols.override,ref(...t){return Nm.create(...t)},types(){let t={};for(let e of this._types)t[e]=this[e]();for(let e in Ot.aliases)t[e]=this[e]();return t}};Ot.assert=function(t,e,n,r){let i=r[0]instanceof Error||typeof r[0]=="string"?r[0]:null,s=i!==null?r[1]:r[0],o=e.validate(t,Zi.preferences({errors:{stack:!0}},s||{})),a=o.error;if(!a)return o.value;if(i instanceof Error)throw i;let u=n&&typeof a.annotate=="function"?a.annotate():a.message;throw a instanceof qm.ValidationError||(a=xI(a)),a.message=i?`${i} ${u}`:u,a};Ot.generate=function(t,e,n){return es(t,"Must be invoked on a Joi instance."),e.$_root=t,!e._definition.args||!n.length?e:e._definition.args(e,...n)};Ot.expandExtension=function(t,e){if(typeof t.type=="string")return[t];let n=[];for(let r of e._types)if(t.type.test(r)){let i=Object.assign({},t);i.type=r,i.base=e[r](),n.push(i)}return n};T0.exports=Ot.root()});var S0=g(Te=>{"use strict";var OI=Te&&Te.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Te,"__esModule",{value:!0});Te.descriptionContainerSchema=Te.signatureSchema=Te.signatureDefinitionContainerSchema=Te.signatureDefinitionSchema=Te.signatureDefinitionFunctionSchema=Te.signatureDefinitionFunctionSchemaArg=Te.signatureDefinitionFunctionSchemaArgMultiTypes=Te.signatureDefinitionFunctionSchemaArgDefaultNumber=Te.signatureDefinitionFunctionSchemaArgDefaultString=Te.signatureDefinitionTypeSchema=Te.variationsSchema=void 0;var re=OI(yl()),Nl=Hi();Te.variationsSchema=re.default.array().items(re.default.alternatives(re.default.string(),re.default.number()));Te.signatureDefinitionTypeSchema=re.default.alternatives(re.default.string(),re.default.object({type:re.default.string().required(),keyType:re.default.string().optional(),valueType:re.default.string().optional()}));Te.signatureDefinitionFunctionSchemaArgDefaultString=re.default.object({type:re.default.string().valid(Nl.SignatureDefinitionBaseType.String).required(),value:re.default.string().allow("").required()});Te.signatureDefinitionFunctionSchemaArgDefaultNumber=re.default.object({type:re.default.string().valid(Nl.SignatureDefinitionBaseType.Number).required(),value:re.default.number().required()});Te.signatureDefinitionFunctionSchemaArgMultiTypes=re.default.object({label:re.default.string().required(),types:re.default.array().items(Te.signatureDefinitionTypeSchema).required(),opt:re.default.boolean().optional(),default:re.default.alternatives(Te.signatureDefinitionFunctionSchemaArgDefaultString,Te.signatureDefinitionFunctionSchemaArgDefaultNumber).optional()});Te.signatureDefinitionFunctionSchemaArg=re.default.object({label:re.default.string().required(),type:Te.signatureDefinitionTypeSchema.required(),opt:re.default.boolean().optional(),default:re.default.alternatives(Te.signatureDefinitionFunctionSchemaArgDefaultString,Te.signatureDefinitionFunctionSchemaArgDefaultNumber).optional()});Te.signatureDefinitionFunctionSchema=re.default.object({type:re.default.string().valid(Nl.SignatureDefinitionBaseType.Function).required(),description:re.default.string().optional(),example:re.default.string().optional(),isProtected:re.default.boolean().optional(),arguments:re.default.array().items(re.default.alternatives(Te.signatureDefinitionFunctionSchemaArg,Te.signatureDefinitionFunctionSchemaArgMultiTypes)).optional(),returns:re.default.array().items(Te.signatureDefinitionTypeSchema).required(),variations:Te.variationsSchema.optional(),returnVariations:Te.variationsSchema.optional()});Te.signatureDefinitionSchema=re.default.object({type:Te.signatureDefinitionTypeSchema.invalid(Nl.SignatureDefinitionBaseType.Function).required(),description:re.default.string().optional(),example:re.default.string().optional(),isProtected:re.default.boolean().optional(),variations:Te.variationsSchema.optional()});Te.signatureDefinitionContainerSchema=re.default.object().pattern(re.default.string(),re.default.alternatives(Te.signatureDefinitionFunctionSchema,Te.signatureDefinitionSchema));Te.signatureSchema=re.default.object({type:re.default.string().required(),hidden:re.default.boolean().optional(),extends:re.default.string().optional(),definitions:re.default.object().required()});Te.descriptionContainerSchema=re.default.object({$meta:re.default.object({description:re.default.string().required(),example:re.default.array().items(re.default.string().allow("")).optional()}).optional()}).pattern(re.default.string(),re.default.object({description:re.default.string().required(),example:re.default.array().items(re.default.string().allow("")).optional()}))});var Bm=g(fn=>{"use strict";var ro=fn&&fn.__assign||function(){return ro=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++){e=arguments[n];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])}return t},ro.apply(this,arguments)},CI=fn&&fn.__rest||function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n},vi=fn&&fn.__values||function(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},jm=fn&&fn.__read||function(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s},RI=fn&&fn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(fn,"__esModule",{value:!0});fn.Signature=void 0;var Fm=RI(yl()),$m=S0(),DI=Hi(),PI=hl(),II=nm(),MI=function(){function t(e){var n,r,i;this._type=e.type,this._extends=(n=e.extends)!==null&&n!==void 0?n:null,this._descriptions={},this._definitions=(r=e.definitions)!==null&&r!==void 0?r:{},this._hidden=(i=e.hidden)!==null&&i!==void 0?i:!1}return t.parseDefinitions=function(e){var n,r;Fm.default.assert(e,$m.signatureDefinitionContainerSchema);var i={};try{for(var s=vi(Object.entries(e)),o=s.next();!o.done;o=s.next()){var a=jm(o.value,2),u=a[0],c=a[1],l=c.type===DI.SignatureDefinitionBaseType.Function?II.SignatureDefinitionFunction.parse(c):PI.SignatureDefinition.parse(c);i[u]=l}}catch(d){n={error:d}}finally{try{o&&!o.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}return i},t.parseDescriptions=function(e){var n,r,i,s,o;Fm.default.assert(e,$m.descriptionContainerSchema);var a=e,u=null;if(a.$meta){var c=e.$meta,l=CI(e,["$meta"]);u=c,a=l}var d={};try{for(var p=vi(Object.entries(a)),b=p.next();!b.done;b=p.next()){var T=jm(b.value,2),E=T[0],L=T[1];d[E]={description:L.description,example:(i=L.example)!==null&&i!==void 0?i:null}}}catch(M){n={error:M}}finally{try{b&&!b.done&&(r=p.return)&&r.call(p)}finally{if(n)throw n.error}}return ro({$meta:{description:(s=u?.description)!==null&&s!==void 0?s:"unknown",example:(o=u?.example)!==null&&o!==void 0?o:null}},d)},t.parse=function(e,n){var r,i;Fm.default.assert(e,$m.signatureSchema);var s=new t({type:e.type,hidden:e.hidden,extends:e.extends}),o=t.parseDefinitions(e.definitions);if(s.setDefinition(o),n!=null)try{for(var a=vi(Object.entries(n)),u=a.next();!u.done;u=a.next()){var c=jm(u.value,2),l=c[0],d=c[1],p=t.parseDescriptions(d);s.addDescriptions(l,p)}}catch(b){r={error:b}}finally{try{u&&!u.done&&(i=a.return)&&i.call(a)}finally{if(r)throw r.error}}return s},t.prototype.getType=function(){return this._type},t.prototype.getExtendedType=function(){return this._extends},t.prototype.getDefinitions=function(){return this._definitions},t.prototype.getAllDescriptions=function(){return this._descriptions},t.prototype.isHidden=function(){return this._hidden},t.prototype.setExtend=function(e){return this._extends=e,this},t.prototype.setDefinition=function(e){return this._definitions=e,this},t.prototype.mergeDefinitions=function(e){var n,r,i=Object.keys(e);try{for(var s=vi(i),o=s.next();!o.done;o=s.next()){var a=o.value;this._definitions[a]=e[a]}}catch(u){n={error:u}}finally{try{o&&!o.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}return this},t.prototype.getDefinition=function(e,n){if(!Object.prototype.hasOwnProperty.call(this._definitions,e))return null;var r=this._definitions[e],i=this.getDescriptions(n),s=i[e];return r.withDescription(s)},t.prototype.setDescriptions=function(e,n){return this._descriptions[e]=n,this},t.prototype.addDescriptions=function(e,n){var r,i,s=this._descriptions[e];s==null&&(s={},this._descriptions[e]=s);var o=Object.keys(n);try{for(var a=vi(o),u=a.next();!u.done;u=a.next()){var c=u.value;s[c]=ro(ro({},s[c]),n[c])}}catch(l){r={error:l}}finally{try{u&&!u.done&&(i=a.return)&&i.call(a)}finally{if(r)throw r.error}}return this},t.prototype.getDescriptions=function(e){e===void 0&&(e="en");var n=this._descriptions[e];return n??{}},t.prototype.toJSON=function(){var e,n,r={},i=Object.keys(this._definitions);try{for(var s=vi(i),o=s.next();!o.done;o=s.next()){var a=o.value;r[a]=this._definitions[a].toJSON()}}catch(u){e={error:u}}finally{try{o&&!o.done&&(n=s.return)&&n.call(s)}finally{if(e)throw e.error}}return{type:this._type,extend:this._extends,hidden:this._hidden,definitions:r}},t.prototype.copy=function(){var e,n,r,i,s=new t({type:this._type,hidden:this._hidden,extends:this._extends}),o={},a=Object.keys(this._definitions);try{for(var u=vi(a),c=u.next();!c.done;c=u.next()){var l=c.value;o[l]=this._definitions[l].copy()}}catch(E){e={error:E}}finally{try{c&&!c.done&&(n=u.return)&&n.call(u)}finally{if(e)throw e.error}}var d={},p=Object.keys(this._descriptions);try{for(var b=vi(p),T=b.next();!T.done;T=b.next()){var l=T.value;d[l]=ro({},d[l])}}catch(E){r={error:E}}finally{try{T&&!T.done&&(i=b.return)&&i.call(b)}finally{if(r)throw r.error}}return s._descriptions=d,s._definitions=o,s},t}();fn.Signature=MI});var k0=g(Sr=>{"use strict";var _i=Sr&&Sr.__read||function(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=r.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return s},io=Sr&&Sr.__spreadArray||function(t,e,n){if(n||arguments.length===2)for(var r=0,i=e.length,s;r<i;r++)(s||!(r in e))&&(s||(s=Array.prototype.slice.call(e,0,r)),s[r]=e[r]);return t.concat(s||Array.prototype.slice.call(e))},Ca=Sr&&Sr.__values||function(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Sr,"__esModule",{value:!0});Sr.Container=void 0;var Tr=Bm(),bt=Hi(),LI=function(){function t(){this._primitives=new Map([[bt.SignatureDefinitionBaseType.Any,new Tr.Signature({type:bt.SignatureDefinitionBaseType.Any})],[bt.SignatureDefinitionBaseType.General,new Tr.Signature({type:bt.SignatureDefinitionBaseType.General})],[bt.SignatureDefinitionBaseType.String,new Tr.Signature({type:bt.SignatureDefinitionBaseType.String})],[bt.SignatureDefinitionBaseType.Function,new Tr.Signature({type:bt.SignatureDefinitionBaseType.Function})],[bt.SignatureDefinitionBaseType.Number,new Tr.Signature({type:bt.SignatureDefinitionBaseType.Number})],[bt.SignatureDefinitionBaseType.List,new Tr.Signature({type:bt.SignatureDefinitionBaseType.List})],[bt.SignatureDefinitionBaseType.Map,new Tr.Signature({type:bt.SignatureDefinitionBaseType.Map})]]),this._types=new Map,this._excludeFromSearch=new Set}return t.prototype.getOrCreateTypeSignature=function(e){var n=this.getTypeSignature(e);return n==null&&(n=new Tr.Signature({type:e}),this._types.set(e,n)),n},t.prototype.getPrimitives=function(){return this._primitives},t.prototype.getTypes=function(){return this._types},t.prototype.getAllVisibleTypes=function(){var e=this;return io(io([],_i(this._primitives.keys()),!1),_i(this._types.keys()),!1).filter(function(n){return!e.getTypeSignature(n).isHidden()&&n!==bt.SignatureDefinitionBaseType.Any&&n!==bt.SignatureDefinitionBaseType.General})},t.prototype.excludeFromSearch=function(e){return this._excludeFromSearch.add(e),this},t.prototype.includeToSearch=function(e){return this._excludeFromSearch.delete(e),this},t.prototype.getTypeSignature=function(e){var n,r;return(r=(n=this._primitives.get(e))!==null&&n!==void 0?n:this._types.get(e))!==null&&r!==void 0?r:null},t.prototype.getAllPrimitiveSignatures=function(){return Array.from(this._primitives.values())},t.prototype.getAllTypeSignatures=function(){return Array.from(this._types.values())},t.prototype.getAllSignatures=function(){return io(io([],_i(this.getAllPrimitiveSignatures()),!1),_i(this.getAllTypeSignatures()),!1)},t.prototype.getAllVisibleSignatures=function(){return io(io([],_i(this.getAllPrimitiveSignatures()),!1),_i(this.getAllTypeSignatures()),!1).filter(function(e){return e.isHidden()})},t.prototype.addTypeSignatureFromPayload=function(e){var n=Tr.Signature.parse(e);return this.addTypeSignature({type:n.getType(),extends:n.getExtendedType(),hidden:n.isHidden(),definitions:n.getDefinitions()}),this},t.prototype.addTypeSignature=function(e){var n=this.getOrCreateTypeSignature(e.type);return e.extends!==void 0&&n.setExtend(e.extends),n.mergeDefinitions(e.definitions),this},t.prototype.addMetaFromPayload=function(e,n){var r,i,s={},o=Object.keys(n);try{for(var a=Ca(o),u=a.next();!u.done;u=a.next()){var c=u.value,l=Tr.Signature.parseDescriptions(n[c]);s[c]=l}}catch(d){r={error:d}}finally{try{u&&!u.done&&(i=a.return)&&i.call(a)}finally{if(r)throw r.error}}return this.addMeta(e,s),this},t.prototype.addMeta=function(e,n){var r,i,s=Object.keys(n);try{for(var o=Ca(s),a=o.next();!a.done;a=o.next()){var u=a.value,c=this.getOrCreateTypeSignature(u);c.addDescriptions(e,n[u])}}catch(l){r={error:l}}finally{try{a&&!a.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return this},t.prototype.searchDefinitionMatches=function(e,n,r){var i,s;if(r===void 0&&(r="en"),typeof e=="string")return this.searchDefinitionMatches([e],n,r);var o=e.includes(bt.SignatureDefinitionBaseType.Any)?new Set(this.getAllVisibleTypes()):new Set(e),a=new Set,u=new Map;try{for(var c=Ca(o),l=c.next();!l.done;l=c.next()){var d=l.value;if(!this._excludeFromSearch.has(d)){for(var p=d,b=this.getTypeSignature(d),T=null;b!==null&&!a.has(b.getType())&&(a.add(b.getType()),b.isHidden()||(T=b.getDefinition(n,r)),T===null);)p=b.getExtendedType(),b=this.getTypeSignature(p);T!==null&&u.set(p,T)}}}catch(E){i={error:E}}finally{try{l&&!l.done&&(s=c.return)&&s.call(c)}finally{if(i)throw i.error}}return u},t.prototype.getDefinition=function(e,n,r){if(r===void 0&&(r="en"),typeof e=="string")return this.getDefinition([e],n,r);var i=this._primitives.get(bt.SignatureDefinitionBaseType.Any).getDefinition(n,r);if(e.includes(bt.SignatureDefinitionBaseType.Any)&&i)return i;var s=this.searchDefinitionMatches(e,n,r);return s.size===0?null:s.size===1?s.values().next().value:s.has(bt.SignatureDefinitionBaseType.Any)?s.get(bt.SignatureDefinitionBaseType.Any):i!==null?i:s.values().next().value},t.prototype.fork=function(){var e,n,r,i,s=new t;try{for(var o=Ca(this._primitives),a=o.next();!a.done;a=o.next()){var u=_i(a.value,2),c=u[0],l=u[1];s._primitives.set(c,l.copy())}}catch(T){e={error:T}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(e)throw e.error}}try{for(var d=Ca(this._types),p=d.next();!p.done;p=d.next()){var b=_i(p.value,2),c=b[0],l=b[1];s._types.set(c,l.copy())}}catch(T){r={error:T}}finally{try{p&&!p.done&&(i=d.return)&&i.call(d)}finally{if(r)throw r.error}}return s._excludeFromSearch=new Set(this._excludeFromSearch),s},t}();Sr.Container=LI});var w0=g(x0=>{"use strict";Object.defineProperty(x0,"__esModule",{value:!0})});var Un=g(ft=>{"use strict";var NI=ft&&ft.__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]}),E0=ft&&ft.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&NI(e,t,n)};Object.defineProperty(ft,"__esModule",{value:!0});ft.VariationRegistry=ft.Container=ft.Signature=ft.SignatureDefinition=ft.SignatureDefinitionTypeMeta=ft.SignatureDefinitionFunction=ft.SignatureDefinitionFunctionArg=void 0;var qI=tm();Object.defineProperty(ft,"SignatureDefinitionFunctionArg",{enumerable:!0,get:function(){return qI.SignatureDefinitionFunctionArg}});var jI=nm();Object.defineProperty(ft,"SignatureDefinitionFunction",{enumerable:!0,get:function(){return jI.SignatureDefinitionFunction}});var FI=va();Object.defineProperty(ft,"SignatureDefinitionTypeMeta",{enumerable:!0,get:function(){return FI.SignatureDefinitionTypeMeta}});var $I=hl();Object.defineProperty(ft,"SignatureDefinition",{enumerable:!0,get:function(){return $I.SignatureDefinition}});var BI=Bm();Object.defineProperty(ft,"Signature",{enumerable:!0,get:function(){return BI.Signature}});var UI=k0();Object.defineProperty(ft,"Container",{enumerable:!0,get:function(){return UI.Container}});var HI=pl();Object.defineProperty(ft,"VariationRegistry",{enumerable:!0,get:function(){return HI.VariationRegistry}});E0(w0(),ft);E0(Hi(),ft)});var Um=g(ql=>{"use strict";Object.defineProperty(ql,"__esModule",{value:!0});ql.enrichWithMetaInformation=void 0;var WI=mx(),A0=Un();function O0(t){return[t.name,t.description].filter(e=>e!==void 0).join(" ")}function GI(t){let e=(0,WI.parse)(`/**
|
104
104
|
${t.getDescription()}
|
105
105
|
*/`),[n]=e;if(n.tags.length>0){let r=[n.description??"",...n.tags.filter(a=>a.tag==="description").map(O0)].join(`
|
106
106
|
|
107
|
-
`),i=n.tags.filter(a=>a.tag==="param").map(a=>({label:a.name,types:a.type.split("|"),opt:a.optional})),s=n.tags.find(a=>a.tag==="return")??{type:"any"},o=n.tags.filter(a=>a.tag==="example").map(O0);return A0.SignatureDefinitionFunction.parse({type:A0.SignatureDefinitionBaseType.Function,arguments:t.getArguments().map((a,u)=>{let c=a.getLabel(),l=a.getTypes().map(p=>p.toString()),d=a.isOptional();return{types:l,opt:d,...i[u],label:c}}),returns:s.type.split("|"),description:r,example:o})}return t}ql.enrichWithMetaInformation=GI});var Hm=g(jl=>{"use strict";Object.defineProperty(jl,"__esModule",{value:!0});jl.createResolveChain=void 0;var sn=Le();function Ti(t,e,n=null,r=!1){switch(t.type){case sn.ASTType.ParenthesisExpression:{Ti(t.expression,e,n);return}case sn.ASTType.MemberExpression:{let i=t;Ti(i.base,e),e.push({ref:t,getter:i.identifier,unary:n,isInCallExpression:r});return}case sn.ASTType.IndexExpression:{let i=t;Ti(i.base,e),e.push({ref:t,getter:i.index,unary:n,isInCallExpression:r});return}case sn.ASTType.CallStatement:{Ti(t.expression,e,n,!0);return}case sn.ASTType.CallExpression:{Ti(t.base,e,n,!0);return}case sn.ASTType.NegationExpression:case sn.ASTType.BinaryNegatedExpression:case sn.ASTType.UnaryExpression:{let i=t;Ti(i.argument,e,i);return}case sn.ASTType.Identifier:{e.push({ref:t,getter:t,unary:n,isInCallExpression:r});return}case sn.ASTType.NumericLiteral:case sn.ASTType.StringLiteral:case sn.ASTType.NilLiteral:case sn.ASTType.MapConstructorExpression:case sn.ASTType.ListConstructorExpression:{e.push({ref:t,value:t,unary:n,isInCallExpression:r});return}case sn.ASTType.SliceExpression:Ti(t.base,e),e.push({ref:t,unary:n,isInCallExpression:r})}}function VI(t){let e=[];return Ti(t,e),e}jl.createResolveChain=VI});var R0=g(Wm=>{function C0(t,e){return t>e?1:-1}Wm.hash=function t(e,n){var r=5381;if(typeof e=="object"&&e!==null&&(e.toString===Object.prototype.toString||e.toString===Array.prototype.toString)){n||(n=new WeakSet);for(var i=Object.keys(e).sort(C0),s=0;s<i.length;s++){var o=i[s],a=e[o];if(r=33*r^t(o,n),typeof a=="object"&&a!==null&&(e.toString===Object.prototype.toString||e.toString===Array.prototype.toString)){if(n.has(a))continue;n.add(a)}r=33*r^t(a,n)}return 33*r^t(e.constructor,n)}var u=typeof e;try{e instanceof Date?u+=e.getTime():u+=String(e)}catch{u+=String(Object.assign({},e))}for(var c=0;c<u.length;c++)r=33*r^u.charCodeAt(c);return r},Wm.sortNumbers=C0});var zm=g(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.ObjectSet=so.ObjectSetIterator=void 0;var Gm=R0(),Fl=class{constructor(e){let n=this;n.value=e,n.index=0}next(){let e=this;return e.index>=e.value.length?{value:null,done:!0}:{value:e.value[e.index++],done:!1}}};so.ObjectSetIterator=Fl;var Vm=class{constructor(e){let r=(e?Array.from(e):[]).map(i=>[(0,Gm.hash)(i),i]);this._map=new Map(r),this._first=null,this._last=null,r.length>0&&(this._first=r[0][0],this._last=r[r.length-1][0])}[Symbol.iterator](){return new Fl(Array.from(this._map.values()))}first(){return this._first!=null?this._map.get(this._first)??null:null}last(){return this._last!=null?this._map.get(this._last)??null:null}toArray(){return Array.from(this._map.values())}add(e){let n=(0,Gm.hash)(e);return this._map.set(n,e),this._first??(this._first=n),this._last=n,this}delete(e){let n=(0,Gm.hash)(e);return this._map.delete(n)}extend(e){for(let[n,r]of e._map)this._map.set(n,r),this._first??(this._first=n),this._last=n;return this}toJSON(){return Array.from(this._map.values())}clear(){this._map.clear()}};so.ObjectSet=Vm});var Km=g($l=>{"use strict";Object.defineProperty($l,"__esModule",{value:!0});$l.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION=void 0;$l.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION="This is a custom method. You can add a description for this method by adding a comment above or after the function.\n```\nmyFunction = function(a, b, c) // This function does xyz\n```\nor\n```\n/*\n This function does xyz\n*/\nmyFunction = function(a, b, c)\n```"});var ts=g(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.CompletionItemKind=void 0;var zI;(function(t){t.Variable="var",t.Property="var",t.Function="function",t.Literal="literal",t.Constant="constant",t.ListConstructor="list",t.MapConstructor="map",t.Expression="expr",t.Unknown="unknown"})(zI=Ra.CompletionItemKind||(Ra.CompletionItemKind={}))});var Xm=g(kr=>{"use strict";Object.defineProperty(kr,"__esModule",{value:!0});kr.isResolveChainItemWithValue=kr.isResolveChainItemWithIdentifier=kr.isResolveChainItemWithMember=kr.isResolveChainItemWithIndex=void 0;var Si=Le(),KI=t=>t!=null&&t.ref.type===Si.ASTType.IndexExpression;kr.isResolveChainItemWithIndex=KI;var XI=t=>t!=null&&t.ref.type===Si.ASTType.MemberExpression;kr.isResolveChainItemWithMember=XI;var YI=t=>t!=null&&t.ref.type===Si.ASTType.Identifier;kr.isResolveChainItemWithIdentifier=YI;var JI=t=>t!=null&&(t.ref.type===Si.ASTType.NumericLiteral||t.ref.type===Si.ASTType.StringLiteral||t.ref.type===Si.ASTType.NilLiteral||t.ref.type===Si.ASTType.MapConstructorExpression||t.ref.type===Si.ASTType.ListConstructorExpression);kr.isResolveChainItemWithValue=JI});var Ym=g(Bl=>{"use strict";Object.defineProperty(Bl,"__esModule",{value:!0});Bl.isSignatureDefinitionFunction=void 0;var QI=Un(),ZI=t=>t.getType().type===QI.SignatureDefinitionBaseType.Function;Bl.isSignatureDefinitionFunction=ZI});var Da=g(Ul=>{"use strict";Object.defineProperty(Ul,"__esModule",{value:!0});Ul.injectIdentifers=void 0;var eM=(t,e)=>{for(let[n,r]of e.values)n.startsWith("i:")&&t.set(n.slice(2),{kind:r.kind,line:r.line})};Ul.injectIdentifers=eM});var Wl=g(Hl=>{"use strict";Object.defineProperty(Hl,"__esModule",{value:!0});Hl.isEligibleForProperties=void 0;var Jm=Un(),tM=t=>t.types.has(Jm.SignatureDefinitionBaseType.Map)||t.types.has(Jm.SignatureDefinitionBaseType.List)||t.types.has(Jm.SignatureDefinitionBaseType.Any);Hl.isEligibleForProperties=tM});var Vl=g(Gl=>{"use strict";Object.defineProperty(Gl,"__esModule",{value:!0});Gl.lookupProperty=void 0;var nM=Wl(),rM=(t,e)=>{let n=t;for(;(0,nM.isEligibleForProperties)(n);){let r=n.values.get(`i:${e}`);if(r!=null)return r;let i=n.values.get("i:__isa");if(i==null)break;n=i}return null};Gl.lookupProperty=rM});var uo=g(ki=>{"use strict";Object.defineProperty(ki,"__esModule",{value:!0});ki.Entity=ki.resolveEntity=void 0;var oo=Un(),ao=ts(),iM=Ym(),sM=Da(),zl=Wl(),D0=Vl(),P0=zm(),oM=(t,e,n=!1)=>{if(e.isCallable()&&!n){let r=e.getReturnEntity();if(r!==null)return r;let i=e.getCallableReturnTypes();return i?new ns({kind:ao.CompletionItemKind.Variable,container:t,label:e.label,context:e.context}).addType(...i):new ns({kind:ao.CompletionItemKind.Variable,container:t,label:e.label,context:e.context}).addType(oo.SignatureDefinitionBaseType.Any)}return e};ki.resolveEntity=oM;var Qm={hasProperty(t,e,n){return!!(0,D0.lookupProperty)(t,n)||!t.isAPI()&&!!e.getDefinition(Array.from(t.types),n,!0)},resolveProperty(t,e,n,r=!1){let i=(0,D0.lookupProperty)(t,n)??null;return i==null?t.isAPI()?null:e.getDefinition(Array.from(t.types),n,r):(0,ki.resolveEntity)(e,i,r)},setProperty(t,e,n,r){if(!(0,zl.isEligibleForProperties)(t))return!1;let i=`i:${n}`,s=t.values.get(i);return s?s.extend(r):t.values.set(i,r.copy({container:e,label:n,context:t})),!0}},Zm={hasProperty(t,e,n){if(!(0,zl.isEligibleForProperties)(t))return!1;for(let r of n.types)if(t.values.has(`t:${r}`))return!0;return!1},resolveProperty(t,e,n,r=!1){if(!(0,zl.isEligibleForProperties)(t))return new ns({kind:ao.CompletionItemKind.Variable,container:e,label:n.label,context:t}).addType(oo.SignatureDefinitionBaseType.Any);let i=new ns({kind:ao.CompletionItemKind.Variable,container:e,label:n.label,context:t});for(let s of n.types){let o=t.values.get(`t:${s}`);o&&i.extend(o)}return i.types.size===0&&i.addType(oo.SignatureDefinitionBaseType.Any),(0,ki.resolveEntity)(e,i,r)},setProperty(t,e,n,r){if(!(0,zl.isEligibleForProperties)(t))return!1;for(let i of n.types){let s=`t:${i}`,o=t.values.get(s);o?o.extend(r):t.values.set(s,r.copy({container:e,label:i,context:t}))}return!0}},ns=class t{get kind(){return this._kind}get line(){return this._line}get signatureDefinitions(){return this._signatureDefinitions}get context(){return this._context}get label(){return this._label}get types(){return this._types}get values(){return this._values}constructor(e){this._isAPI=e.isAPI??!1,this._isFromSignature=e.isFromSignature??!1,this._kind=e.kind,this._line=e.line??-1,this._label=e.label??"anonymous",this._signatureDefinitions=e.signatureDefinitions??new P0.ObjectSet,this._types=e.types??new Set,this._values=e.values??new Map,this._context=e.context??null,this._container=e.container,this._returnEntity=e.returnEntity??null}isFromSignature(){return this._isFromSignature}hasContext(){return this._context!=null&&!this._context.isAPI}isAPI(){return this._isAPI}isCallable(){return this._types.has(oo.SignatureDefinitionBaseType.Function)}getCallableReturnTypes(){if(!this.isCallable())return null;let e=Array.from(this._signatureDefinitions).filter(n=>(0,iM.isSignatureDefinitionFunction)(n));return e.length===0?null:e.flatMap(n=>n.getReturns()).map(n=>n.type)}addSignatureType(e){return this._signatureDefinitions.add(e),this.addType(e.getType().type),this}setReturnEntity(e){return this._returnEntity=e,this}getReturnEntity(){return this._returnEntity}setKind(e){return this._kind=e,this}setLine(e){return this._line=e,this}setLabel(e){return this._label=e,this}setContext(e){return this._context=e,this}addType(...e){for(let n of e)this._types.add(n);return this}hasProperty(e){switch(typeof e){case"object":return Zm.hasProperty(this,this._container,e);default:return Qm.hasProperty(this,this._container,e)}}resolveProperty(e,n=!1){switch(typeof e){case"object":return Zm.resolveProperty(this,this._container,e,n);default:return Qm.resolveProperty(this,this._container,e,n)}}setProperty(e,n){switch(typeof e){case"object":return Zm.setProperty(this,this._container,e,n);default:return Qm.setProperty(this,this._container,e,n)}}extend(e){if(e===this)return this;this._isFromSignature=!1,this._signatureDefinitions.extend(e.signatureDefinitions),this.addType(...e.types);for(let[n,r]of e.values){let i=this.values.get(n);i==null?this.values.set(n,r.copy({container:this._container,context:this})):i.extend(r)}return this}insertSignature(e){let n=Object.keys(e.getDefinitions());this.addType(oo.SignatureDefinitionBaseType.Map);for(let r=0;r<n.length;r++){let i=n[r],s=e.getDefinition(i),o=new t({label:i,kind:s.getType().type===oo.SignatureDefinitionBaseType.Function?ao.CompletionItemKind.Function:ao.CompletionItemKind.Property,container:this._container,isFromSignature:!0});o.addSignatureType(s),this.setProperty(i,o)}return this}getAllIdentifier(){let e=new Map,n=this._values.get("i:__isa");if(n!=null)for(let r of n.getAllIdentifier())e.set(...r);for(let r of this._types){let i=this._container.getAllIdentifier(r);for(let s of i)e.set(...s)}return(0,sM.injectIdentifers)(e,this),e}toJSONInternal(e=new WeakMap){if(e.has(this))return e.get(this);let n={};return e.set(this,n),n.kind=this.kind,n.signatureDefinitions=this._signatureDefinitions.toJSON(),n.types=Array.from(this._types),n.values=Array.from(this._values).reduce((r,[i,s])=>(r[i]=s?.toJSONInternal(e),r),{}),n}toJSON(){return this.toJSONInternal()}copy(e={}){let n=new t({kind:e.kind??this._kind,line:e.line??this._line,isFromSignature:e.isFromSignature??this._isFromSignature,isAPI:e.isAPI??this._isAPI,container:e.container??this._container,label:e.label??this._label,context:e.context??this._context,signatureDefinitions:new P0.ObjectSet(Array.from(this._signatureDefinitions,r=>r.copy())),types:new Set(this._types),returnEntity:this._returnEntity});return e.values?n._values=e.values:n._values=new Map(Array.from(this._values,([r,i])=>[r,i.copy({container:e.container,line:e.line,context:n,values:i.values})])),n}};ki.Entity=ns});var ny=g(Yl=>{"use strict";Object.defineProperty(Yl,"__esModule",{value:!0});Yl.Scope=void 0;var Kl=Un(),rs=ts(),ey=Da(),Xl=uo(),ty=class t{get signatureDefinitions(){return null}get kind(){return rs.CompletionItemKind.Constant}get line(){return this._locals.line}get label(){return this._locals.label}get context(){return this._locals.context}get types(){return new Set(Kl.SignatureDefinitionBaseType.Map)}get values(){return this._locals.values}get globals(){return this._globals}get outer(){return this._parent?.locals??null}get locals(){return this._locals}constructor(e){this._container=e.container,this._parent=e.parent??null,this._globals=e.globals,this._locals=e.locals??new Xl.Entity({kind:rs.CompletionItemKind.Constant,container:this._container,label:"locals"}).addType(Kl.SignatureDefinitionBaseType.Map)}addSignatureType(){throw new Error("Cannot add signature type to scope!")}hasProperty(e){return this._locals.hasProperty(e)}resolveProperty(e,n){return this._locals.resolveProperty(e,n)}resolveNamespace(e,n=!1){if(typeof e!="string")throw new Error("Invalid property type for scope!");if(e==="locals")return this._locals;if(e==="outer")return this._parent?.locals??this._globals;if(e==="globals")return this._globals;if(this._locals.values.has(`i:${e}`)){let r=this._locals.values.get(`i:${e}`);return(0,Xl.resolveEntity)(this._container,r,n)}else if(this._parent?.locals.values.has(`i:${e}`)){let r=this._parent.locals.values.get(`i:${e}`);return(0,Xl.resolveEntity)(this._container,r,n)}else if(this._globals.values.has(`i:${e}`)){let r=this._globals.values.get(`i:${e}`);return(0,Xl.resolveEntity)(this._container,r,n)}return this._container.getGeneralDefinition(e,n)}setProperty(e,n){return this._locals.setProperty(e,n)}extend(e){return this._locals.extend(e),this}addType(){throw new Error("Scope cannot get type assigned!")}setReturnEntity(){throw new Error("Scope cannot set return entity!")}getReturnEntity(){throw new Error("Scope cannot get return entity!")}setKind(e){return this._locals.setKind(e),this}setLine(e){return this._locals.setLine(e),this}setLabel(e){return this._locals.setLabel(e),this}setContext(e){return this._locals.setContext(e),this}insertSignature(e){return this._locals.insertSignature(e),this}isAPI(){return!1}hasContext(){return!1}isFromSignature(){return!1}isCallable(){return!1}getCallableReturnTypes(){return null}getAllIdentifier(){let e=new Map([["globals",{kind:rs.CompletionItemKind.Constant,line:-1}],["locals",{kind:rs.CompletionItemKind.Constant,line:-1}],["outer",{kind:rs.CompletionItemKind.Constant,line:-1}],...this._container.getAllIdentifier(Kl.SignatureDefinitionBaseType.General)]);return this._locals!==this._globals&&(0,ey.injectIdentifers)(e,this._globals),this._parent&&(0,ey.injectIdentifers)(e,this._parent.locals),(0,ey.injectIdentifers)(e,this._locals),this.isSelfAvailable()&&e.set("self",{kind:rs.CompletionItemKind.Constant,line:-1}),this.isSuperAvailable()&&e.set("super",{kind:rs.CompletionItemKind.Constant,line:-1}),e}isSelfAvailable(){return this._locals.context!=null&&this._locals.context.types.has(Kl.SignatureDefinitionBaseType.Map)}isSuperAvailable(){return this.isSelfAvailable()&&this._locals.context.hasProperty("__isa")}toJSON(){return this._locals.toJSON()}copy(e={}){return new t({container:e.container??this._container,parent:this._parent.copy({container:e.container}),globals:this._globals.copy({container:e.container}),locals:this._locals.copy(e)})}};Yl.Scope=ty});var co=g(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.GreybelKeyword=void 0;var aM;(function(t){t.Envar="#envar",t.Import="#import",t.Include="#include",t.ImportWithComment="//import",t.IncludeWithComment="//include",t.Debugger="debugger",t.Line="#line",t.File="#filename",t.Inject="#inject"})(aM=Pa.GreybelKeyword||(Pa.GreybelKeyword={}))});var sy=g(iy=>{"use strict";Object.defineProperty(iy,"__esModule",{value:!0});var is=Le(),uM=co(),ry=class extends is.LexerValidator{constructor(){super(...arguments),this.isKeyword=Set.prototype.has.bind(new Set([...Object.values(is.Keyword),...Object.values(uM.GreybelKeyword)]))}isIdentifierStart(e){return super.isIdentifierStart(e)||e===is.CharacterCode.HASH}isMultilineComment(e,n){return is.CharacterCode.SLASH===e&&is.CharacterCode.ASTERISK===n}isMultilineCommentEnd(e,n){return is.CharacterCode.ASTERISK===e&&is.CharacterCode.SLASH===n}isComment(e,n){return super.isComment(e,n)||this.isMultilineComment(e,n)}};iy.default=ry});var oy=g(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.CharacterCode=void 0;var cM;(function(t){t[t.VERTICAL_LINE=124]="VERTICAL_LINE",t[t.AMPERSAND=38]="AMPERSAND"})(cM=Ia.CharacterCode||(Ia.CharacterCode={}))});var lo=g(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.Operator=void 0;var lM;(function(t){t.BitwiseAnd="&",t.BitwiseOr="|",t.LeftShift="<<",t.RightShift=">>",t.UnsignedRightShift=">>>"})(lM=Ma.Operator||(Ma.Operator={}))});var uy=g(La=>{"use strict";var dM=La&&La.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(La,"__esModule",{value:!0});var rr=Le(),fM=dM(sy()),I0=oy(),M0=co(),ay=lo();function L0(t){let e=this.content[this.index];return this.index+=e.length,this.createPunctuator(e,t)}var Jl=class t extends rr.Lexer{constructor(e,n={}){n.validator=n.validator||new fM.default,super(e,n)}scan(e,n){let r=t.greybelScanHandlers[e];return r?r.call(this,n)||super.scan(e,n):super.scan(e,n)}scanMultilineComment(e){let n=this,r=n.line,i=n.lineStart,s=n.index,o=n.offset,a=n.offset,u=!1;for(;n.index<n.length;){let d=n.codeAt();if(n.validator.isEndOfLine(d))n.validator.isWinNewline(d,n.codeAt(1))&&n.index++,n.line++,a=n.index+1;else if(n.validator.isMultilineCommentEnd(n.codeAt(),n.codeAt(1))){u=!0;break}n.index++}if(!u)return n.raise("Unexpected end of file in multiline comment.",new rr.ASTRange(new rr.ASTPosition(r,s-o+1),new rr.ASTPosition(n.line,n.index-a+3)));let c=n.content.slice(s+2,n.index);n.index+=2;let l=new rr.Token({type:rr.TokenType.Comment,value:c,line:r,lineStart:i,range:[n.tokenStart,n.index],offsetRange:[o,a],afterSpace:e,lastLine:n.line,lastLineStart:n.lineStart});return n.offset=a,n.snapshot.enqueue(l),l}scanComment(e){let n=this,r=n.validator;return n.content.startsWith(M0.GreybelKeyword.ImportWithComment,n.index)||n.content.startsWith(M0.GreybelKeyword.IncludeWithComment,n.index)?(n.index++,n.scanIdentifierOrKeyword(e)):r.isMultilineComment(n.codeAt(),n.codeAt(1))?n.scanMultilineComment(e):super.scanComment(e)}};La.default=Jl;Jl.greybelScanHandlers={[rr.CharacterCode.ARROW_LEFT]:function(e){if(rr.CharacterCode.ARROW_LEFT===this.codeAt(1))return this.scanPunctuator(ay.Operator.LeftShift,e)},[rr.CharacterCode.ARROW_RIGHT]:function(e){if(rr.CharacterCode.ARROW_RIGHT===this.codeAt(1))return rr.CharacterCode.ARROW_RIGHT===this.codeAt(2)?this.scanPunctuator(ay.Operator.UnsignedRightShift,e):this.scanPunctuator(ay.Operator.RightShift,e)},[I0.CharacterCode.AMPERSAND]:L0,[I0.CharacterCode.VERTICAL_LINE]:L0}});var Ql=g(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.ASTType=void 0;var pM;(function(t){t.FeatureImportExpression="FeatureImportExpression",t.FeatureIncludeExpression="FeatureIncludeExpression",t.FeatureEnvarExpression="FeatureEnvarExpression",t.FeatureInjectExpression="FeatureInjectExpression",t.FeatureDebuggerExpression="FeatureDebuggerExpression",t.FeatureLineExpression="FeatureLineExpression",t.FeatureFileExpression="FeatureFileExpression"})(pM=Na.ASTType||(Na.ASTType={}))});var ly=g(Zl=>{"use strict";Object.defineProperty(Zl,"__esModule",{value:!0});Zl.ASTChunkAdvanced=void 0;var hM=Le(),cy=class t extends hM.ASTChunk{constructor(e){super(e),this.imports=e.imports||[],this.includes=e.includes||[],this.injects=e.injects||[]}clone(){return new t({literals:this.literals.map(e=>e.clone()),scopes:this.scopes.map(e=>e.clone()),imports:this.imports.map(e=>e.clone()),includes:this.includes.map(e=>e.clone()),injects:this.injects.map(e=>e.clone()),lines:this.lines,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Zl.ASTChunkAdvanced=cy});var my=g(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.ASTFeatureFileExpression=Hn.ASTFeatureInjectExpression=Hn.ASTFeatureEnvarExpression=Hn.ASTFeatureIncludeExpression=Hn.ASTFeatureImportExpression=void 0;var qa=Le(),ja=Ql(),dy=class t extends qa.ASTBase{constructor(e){super(ja.ASTType.FeatureImportExpression,e),this.name=e.name,this.path=e.path,this.chunk=e.chunk,this.namespace=e.namespace}toString(){return`FeatureImportExpression[${this.start}-${this.end}][name = ${this.name}, path = ${this.path}]`}clone(){return new t({name:this.name.clone(),path:this.path,chunk:this.chunk.clone(),namespace:this.namespace,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Hn.ASTFeatureImportExpression=dy;var fy=class t extends qa.ASTBase{constructor(e){super(ja.ASTType.FeatureIncludeExpression,e),this.path=e.path,this.chunk=e.chunk,this.namespace=e.namespace}toString(){return`FeatureIncludeExpression[${this.start}-${this.end}][path = ${this.path}]`}clone(){return new t({path:this.path,chunk:this.chunk.clone(),namespace:this.namespace,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Hn.ASTFeatureIncludeExpression=fy;var py=class t extends qa.ASTBase{constructor(e){super(ja.ASTType.FeatureEnvarExpression,e),this.name=e.name}toString(){return`FeatureEnvarExpression[${this.start}-${this.end}][name = ${this.name}]`}clone(){return new t({name:this.name,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Hn.ASTFeatureEnvarExpression=py;var hy=class t extends qa.ASTBase{constructor(e){super(ja.ASTType.FeatureInjectExpression,e),this.path=e.path}toString(){return`FeatureInjectExpression[${this.start}-${this.end}][path = ${this.path}]`}clone(){return new t({path:this.path,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Hn.ASTFeatureInjectExpression=hy;var gy=class t extends qa.ASTBase{constructor(e){super(ja.ASTType.FeatureFileExpression,e),this.filename=e.filename}toString(){return`FeatureFileExpression[${this.start}-${this.end}][path = ${this.filename}]`}clone(){return new t({filename:this.filename,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Hn.ASTFeatureFileExpression=gy});var vy=g(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.ASTFeatureInjectExpression=Mt.ASTFeatureIncludeExpression=Mt.ASTFeatureImportExpression=Mt.ASTFeatureFileExpression=Mt.ASTFeatureEnvarExpression=Mt.ASTChunkAdvanced=Mt.ASTType=Mt.ASTProvider=void 0;var yy=Le(),N0=Ql(),gM=ly(),Fa=my(),by=class extends yy.ASTProvider{featureImportExpression(e){return new Fa.ASTFeatureImportExpression(e)}featureIncludeExpression(e){return new Fa.ASTFeatureIncludeExpression(e)}featureEnvarExpression(e){return new Fa.ASTFeatureEnvarExpression(e)}featureInjectExpression(e){return new Fa.ASTFeatureInjectExpression(e)}featureDebuggerExpression(e){return new yy.ASTBase(N0.ASTType.FeatureDebuggerExpression,e)}featureLineExpression(e){return new yy.ASTBase(N0.ASTType.FeatureLineExpression,e)}featureFileExpression(e){return new Fa.ASTFeatureFileExpression(e)}chunkAdvanced(e){return new gM.ASTChunkAdvanced(e)}};Mt.ASTProvider=by;var mM=Ql();Object.defineProperty(Mt,"ASTType",{enumerable:!0,get:function(){return mM.ASTType}});var yM=ly();Object.defineProperty(Mt,"ASTChunkAdvanced",{enumerable:!0,get:function(){return yM.ASTChunkAdvanced}});var $a=my();Object.defineProperty(Mt,"ASTFeatureEnvarExpression",{enumerable:!0,get:function(){return $a.ASTFeatureEnvarExpression}});Object.defineProperty(Mt,"ASTFeatureFileExpression",{enumerable:!0,get:function(){return $a.ASTFeatureFileExpression}});Object.defineProperty(Mt,"ASTFeatureImportExpression",{enumerable:!0,get:function(){return $a.ASTFeatureImportExpression}});Object.defineProperty(Mt,"ASTFeatureIncludeExpression",{enumerable:!0,get:function(){return $a.ASTFeatureIncludeExpression}});Object.defineProperty(Mt,"ASTFeatureInjectExpression",{enumerable:!0,get:function(){return $a.ASTFeatureInjectExpression}})});var _y=g(pt=>{"use strict";Object.defineProperty(pt,"__esModule",{value:!0});pt.SelectorGroups=pt.SelectorGroupType=pt.Selectors=pt.SelectorTypes=void 0;var $e=Le(),ed=co(),Ba=lo(),bM;(function(t){t.From="From",t.Envar="Envar",t.Inject="Inject",t.Line="Line",t.File="File",t.LeftShift="LeftShift",t.RightShift="RightShift",t.UnsignedRightShift="UnsignedRightShift",t.BitwiseOr="BitwiseOr",t.BitwiseAnd="BitwiseAnd",t.Escape="Escape"})(bM=pt.SelectorTypes||(pt.SelectorTypes={}));pt.Selectors=Object.assign(Object.assign({},$e.Selectors),{From:(0,$e.createSelector)({type:$e.TokenType.Identifier,value:"from"}),Envar:(0,$e.createSelector)({type:$e.TokenType.Keyword,value:ed.GreybelKeyword.Envar}),Inject:(0,$e.createSelector)({type:$e.TokenType.Keyword,value:ed.GreybelKeyword.Inject}),Line:(0,$e.createSelector)({type:$e.TokenType.Keyword,value:ed.GreybelKeyword.Line}),File:(0,$e.createSelector)({type:$e.TokenType.Keyword,value:ed.GreybelKeyword.File}),LeftShift:(0,$e.createSelector)({type:$e.TokenType.Punctuator,value:Ba.Operator.LeftShift}),RightShift:(0,$e.createSelector)({type:$e.TokenType.Punctuator,value:Ba.Operator.RightShift}),UnsignedRightShift:(0,$e.createSelector)({type:$e.TokenType.Punctuator,value:Ba.Operator.UnsignedRightShift}),BitwiseOr:(0,$e.createSelector)({type:$e.TokenType.Punctuator,value:Ba.Operator.BitwiseOr}),BitwiseAnd:(0,$e.createSelector)({type:$e.TokenType.Punctuator,value:Ba.Operator.BitwiseAnd}),Escape:(0,$e.createSelector)({type:$e.TokenType.Punctuator,value:$e.Operator.Escape})});var $r;(function(t){t.MapSeparator="MapSeparator",t.ListSeparator="ListSeparator",t.PathSegmentEnd="PathSegmentEnd",t.BitwiseOperators="BitwiseOperators"})($r=pt.SelectorGroupType||(pt.SelectorGroupType={}));pt.SelectorGroups=Object.assign(Object.assign({},$e.SelectorGroups),{[$r.MapSeparator]:(0,$e.createSelectorGroup)($r.MapSeparator,[pt.Selectors.MapSeperator,pt.Selectors.CRBracket]),[$r.ListSeparator]:(0,$e.createSelectorGroup)($r.ListSeparator,[pt.Selectors.MapSeperator,pt.Selectors.SRBracket]),[$r.PathSegmentEnd]:(0,$e.createSelectorGroup)($r.PathSegmentEnd,[pt.Selectors.EndOfLine,pt.Selectors.Comment,pt.Selectors.EndOfFile]),[$r.BitwiseOperators]:(0,$e.createSelectorGroup)($r.BitwiseOperators,[pt.Selectors.LeftShift,pt.Selectors.RightShift,pt.Selectors.UnsignedRightShift])})});var F0=g(Ua=>{"use strict";var vM=Ua&&Ua.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ua,"__esModule",{value:!0});var pn=Le(),_M=Jo(),q0=ra(),TM=vM(uy()),SM=vy(),ss=co(),j0=lo(),Ne=_y(),Ty=class extends pn.Parser{constructor(e,n={}){var r;n.lexer=n.lexer||new TM.default(e,{unsafe:n.unsafe,tabWidth:n.tabWidth}),n.astProvider=n.astProvider||new SM.ASTProvider,super(e,n);let i=this;i.filename=(r=n.filename)!==null&&r!==void 0?r:"unknown",i.imports=[],i.includes=[],i.injects=[]}skipNewlines(){let e=this,n=0;for(;;){if(Ne.Selectors.Comment(e.token)){let r=e.astProvider.comment({value:e.token.value,isMultiline:e.token.value.indexOf(`
|
108
|
-
`)!==-1,start:e.token.start,end:e.token.end,range:e.token.range,scope:e.currentScope});e.addItemToLines(r),e.backpatches.peek().body.push(r)}else if(Ne.Selectors.EndOfLine(e.token))n++;else break;e.next()}return n}parseMap(e=!1,n=!1){let r=this;if(!Ne.Selectors.CLBracket(r.token))return r.parseList(e,n);let i=r.currentScope,s=r.token,o=[],a=r.astProvider.mapConstructorExpression({fields:o,start:s.start,end:null,range:[s.range[0],null],scope:i});if(r.next(),Ne.Selectors.CRBracket(r.token))r.next();else for(;!Ne.Selectors.EndOfFile(r.token);){if(r.skipNewlines(),Ne.Selectors.CRBracket(r.token)){r.next();break}let u=r.astProvider.mapKeyString({key:null,value:null,start:r.token.start,end:null,range:[r.token.range[0],null],scope:i});if(u.key=r.parseExpr(null),r.requireToken(Ne.Selectors.MapKeyValueSeperator),r.skipNewlines(),r.currentAssignment){let l=r.astProvider.assignmentStatement({variable:r.astProvider.indexExpression({index:u.key,base:r.currentAssignment.variable,start:u.start,end:r.token.end,range:[u.range[0],r.token.range[1]],scope:i}),init:null,start:u.start,end:null,range:[u.range[0],null]}),d=r.currentAssignment;r.currentAssignment=l,u.value=r.parseExpr(u),r.currentAssignment=d,l.init=u.value,l.end=r.previousToken.end,l.range[1]=r.previousToken.range[1],i.assignments.push(l)}else u.value=r.parseExpr(u);u.end=r.previousToken.end,u.range[1]=r.previousToken.range[1],o.push(u),r.skipNewlines();let c=r.requireTokenOfAny(Ne.SelectorGroups.MapSeparator,s.start);if(Ne.Selectors.CRBracket(c))break}return a.end=r.token.start,a.range[1]=r.token.range[1],a}parseList(e=!1,n=!1){let r=this;if(!Ne.Selectors.SLBracket(r.token))return r.parseQuantity(e,n);let i=r.currentScope,s=r.token,o=[],a=r.astProvider.listConstructorExpression({fields:o,start:s.start,end:null,range:[s.range[0],null],scope:i});if(r.next(),Ne.Selectors.SRBracket(r.token))r.next();else for(;!Ne.Selectors.EndOfFile(r.token);){if(r.skipNewlines(),Ne.Selectors.SRBracket(r.token)){r.next();break}let u=r.astProvider.listValue({value:null,start:r.token.start,end:null,range:[r.token.range[0],null],scope:i});if(r.currentAssignment){let l=r.astProvider.assignmentStatement({variable:r.astProvider.indexExpression({index:r.astProvider.literal(pn.TokenType.NumericLiteral,{value:o.length,raw:`${o.length}`,start:s.start,end:r.token.end,range:[s.range[0],r.token.range[1]],scope:i}),base:r.currentAssignment.variable,start:null,end:null,range:[null,null],scope:i}),init:null,start:null,end:null,range:[null,null]}),d=r.currentAssignment,p=r.token;r.currentAssignment=d,u.value=r.parseExpr(u),r.currentAssignment=d,l.variable.start=p.start,l.variable.end=r.previousToken.end,l.variable.range=[p.range[0],r.previousToken.range[1]],l.init=u.value,l.start=u.start,l.end=r.previousToken.end,l.range=[u.range[0],r.previousToken.range[1]],i.assignments.push(l)}else u.value=r.parseExpr(u);u.end=r.previousToken.end,u.range[1]=r.previousToken.range[1],o.push(u),r.skipNewlines();let c=r.requireTokenOfAny(Ne.SelectorGroups.ListSeparator,s.start);if(Ne.Selectors.SRBracket(c))break}return a.end=r.token.start,a.range[1]=r.token.range[1],a}parsePathSegment(){let e=this;if(this.token.type===pn.ASTType.StringLiteral){let r=this.token.value;return this.next(),r}let n="";for(;!Ne.SelectorGroups.PathSegmentEnd(e.token);)n=n+e.token.value,e.next();return e.consumeMany(Ne.SelectorGroups.PathSegmentEnd),n}parseFeatureIncludeStatement(){let e=this,n=e.previousToken,r=e.parsePathSegment(),i=e.astProvider.featureIncludeExpression({path:r,start:n.start,end:e.previousToken.end,range:[n.range[0],e.previousToken.range[1]],scope:e.currentScope});return e.includes.push(i),i}parseFeatureImportStatement(){var e;let n=this,r=n.previousToken,i=n.parseIdentifier();if(!n.consume(Ne.Selectors.From))return n.raise("expected from keyword",new q0.Range(r.start,new _M.Position((e=n.token.lastLine)!==null&&e!==void 0?e:n.token.line,n.token.end.character))),n.parseInvalidCode();let s=n.parsePathSegment(),o=n.astProvider.featureImportExpression({name:i,path:s,start:r.start,end:n.previousToken.end,range:[r.range[0],n.previousToken.range[1]],scope:n.currentScope});n.imports.push(o);let a=n.astProvider.assignmentStatement({variable:i,init:n.astProvider.literal(pn.TokenType.NilLiteral,{value:null,raw:"null",start:i.start,end:i.end,range:i.range,scope:n.currentScope}),start:i.start,end:i.end,range:i.range,scope:n.currentScope});return n.currentScope.assignments.push(a),o}parseFeatureEnvarExpression(){let e=this,n=e.previousToken,r=e.token.value;return e.next(),e.astProvider.featureEnvarExpression({name:r,start:n.start,end:e.previousToken.end,range:[n.range[0],e.previousToken.range[1]],scope:e.currentScope})}parseFeatureInjectExpression(){let e=this,n=e.previousToken,r=this.parsePathSegment();e.next();let i=e.astProvider.featureInjectExpression({path:r,start:n.start,end:e.previousToken.end,range:[n.range[0],e.previousToken.range[1]],scope:e.currentScope});return e.injects.push(i),i}parseIsa(e=!1,n=!1){let r=this,i=r.token,s=r.parseBitwiseOr(e,n);if(Ne.Selectors.Isa(r.token)){r.next(),r.skipNewlines();let o=r.parseBitwiseOr();return r.astProvider.isaExpression({operator:pn.Operator.Isa,left:s,right:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return s}parseBitwiseOr(e=!1,n=!1){let r=this,i=r.token,o=r.parseBitwiseAnd(e,n);for(;Ne.Selectors.BitwiseOr(r.token);){r.next();let a=r.parseBitwiseAnd();o=r.astProvider.binaryExpression({operator:j0.Operator.BitwiseOr,left:o,right:a,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseBitwiseAnd(e=!1,n=!1){let r=this,i=r.token,o=r.parseComparisons(e,n);for(;Ne.Selectors.BitwiseAnd(r.token);){r.next();let a=r.parseComparisons();o=r.astProvider.binaryExpression({operator:j0.Operator.BitwiseAnd,left:o,right:a,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseAddSub(e=!1,n=!1){let r=this,i=r.token,o=r.parseBitwise(e,n);for(;Ne.Selectors.Plus(r.token)||Ne.Selectors.Minus(r.token)&&(!n||!r.token.afterSpace||r.lexer.isAtWhitespace());){let a=r.token;r.next(),r.skipNewlines();let u=r.parseBitwise();o=r.astProvider.binaryExpression({operator:a.value,left:o,right:u,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseBitwise(e=!1,n=!1){let r=this,i=r.token,o=r.parseMultDiv(e,n);for(;Ne.SelectorGroups.BitwiseOperators(r.token);){let a=r.token;r.next(),r.skipNewlines();let u=r.parseMultDiv();o=r.astProvider.binaryExpression({operator:a.value,left:o,right:u,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseAtom(){let e=this;return Ne.Selectors.Envar(e.token)?(e.next(),e.parseFeatureEnvarExpression()):Ne.Selectors.Inject(e.token)?(e.next(),e.parseFeatureInjectExpression()):Ne.Selectors.Line(e.token)?(e.next(),e.astProvider.featureLineExpression({start:new pn.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new pn.ASTPosition(e.previousToken.line,e.previousToken.end.character),range:e.previousToken.range,scope:e.currentScope})):Ne.Selectors.File(e.token)?(e.next(),e.astProvider.featureFileExpression({filename:e.filename,start:new pn.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new pn.ASTPosition(e.previousToken.line,e.previousToken.end.character),range:e.previousToken.range,scope:e.currentScope})):super.parseAtom()}parseStatement(){let e=this,n=e.backpatches.peek();if(e.isType(pn.TokenType.Keyword))switch(e.token.value){case ss.GreybelKeyword.Include:case ss.GreybelKeyword.IncludeWithComment:{e.next();let i=e.parseFeatureIncludeStatement();e.addItemToLines(i),n.body.push(i);return}case ss.GreybelKeyword.Import:case ss.GreybelKeyword.ImportWithComment:{e.next();let i=e.parseFeatureImportStatement();e.addItemToLines(i),n.body.push(i);return}case ss.GreybelKeyword.Envar:{e.next();let i=e.parseFeatureEnvarExpression();e.addItemToLines(i),n.body.push(i);return}case ss.GreybelKeyword.Inject:{e.next();let i=e.parseFeatureInjectExpression();e.addItemToLines(i),n.body.push(i);return}case ss.GreybelKeyword.Debugger:{e.next();let i=e.astProvider.featureDebuggerExpression({start:new pn.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new pn.ASTPosition(e.previousToken.line,e.previousToken.end.character),range:e.previousToken.range,scope:e.currentScope});e.addItemToLines(i),n.body.push(i);return}default:break}super.parseStatement()}parseChunk(){let e=this;e.next();let n=e.token,r=e.astProvider.chunkAdvanced({start:n.start,end:null,range:[n.range[0],null]}),i=new pn.PendingChunk(r);for(e.backpatches.setDefault(i),e.pushScope(r);!Ne.Selectors.EndOfFile(e.token)&&(e.skipNewlines(),!Ne.Selectors.EndOfFile(e.token));)e.lexer.recordSnapshot(),e.statementErrors=[],e.parseStatement(),e.statementErrors.length>0&&e.tryToRecover();let s=e.backpatches.pop();for(;!(0,pn.isPendingChunk)(s);){let o=e.raise(`found open block ${s.block.type}`,new q0.Range(s.block.start,s.block.start));if(s.complete(e.previousToken),e.errors.push(o),!e.unsafe)throw o;s=e.backpatches.pop()}return e.finishRemaingScopes(),e.popScope(),i.complete(e.token),r.literals=e.literals,r.scopes=e.scopes,r.lines=e.lines,r.imports=e.imports,r.includes=e.includes,r.injects=e.injects,r}};Ua.default=Ty});var Br=g(Ct=>{"use strict";var kM=Ct&&Ct.__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]}),Ha=Ct&&Ct.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&kM(e,t,n)},Sy=Ct&&Ct.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ct,"__esModule",{value:!0});Ct.Parser=Ct.LexerValidator=Ct.Lexer=void 0;var xM=uy();Object.defineProperty(Ct,"Lexer",{enumerable:!0,get:function(){return Sy(xM).default}});var wM=sy();Object.defineProperty(Ct,"LexerValidator",{enumerable:!0,get:function(){return Sy(wM).default}});var EM=F0();Object.defineProperty(Ct,"Parser",{enumerable:!0,get:function(){return Sy(EM).default}});Ha(vy(),Ct);Ha(oy(),Ct);Ha(co(),Ct);Ha(lo(),Ct);Ha(_y(),Ct)});var xy=g(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});nd.Aggregator=void 0;var td=Br(),Ie=Un(),Ue=Le(),AM=Km(),we=ts(),os=Xm(),$0=jg(),OM=Um(),B0=Hm(),U0=da(),CM=uo(),ky=class{get definitions(){return this._definitions}get parent(){return this._parent}constructor(e){this._root=e.root,this._scope=e.scope,this._document=e.document,this._parent=e.parent??null,this._definitions=new Map}factory(e){return new CM.Entity({kind:e,container:this._document.container})}createFunctionDescription(e,n=AM.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION){let r=this._document.getLastASTItemOfLine(e.start.line-1),i=this._document.findASTItemInLine(e.start.line,Ue.ASTType.Comment);if(r instanceof Ue.ASTComment){let s=new Set,o=[],a=e.start.line-1;for(;a>=0;){let u=this._document.getLastASTItemOfLine(a--);if(!s.has(u))if(u instanceof Ue.ASTComment)s.add(u),o.unshift(u.value);else break}return o.join(`
|
107
|
+
`),i=n.tags.filter(a=>a.tag==="param").map(a=>({label:a.name,types:a.type.split("|"),opt:a.optional})),s=n.tags.find(a=>a.tag==="return")??{type:"any"},o=n.tags.filter(a=>a.tag==="example").map(O0);return A0.SignatureDefinitionFunction.parse({type:A0.SignatureDefinitionBaseType.Function,arguments:t.getArguments().map((a,u)=>{let c=a.getLabel(),l=a.getTypes().map(p=>p.toString()),d=a.isOptional();return{types:l,opt:d,...i[u],label:c}}),returns:s.type.split("|"),description:r,example:o})}return t}ql.enrichWithMetaInformation=GI});var Hm=g(jl=>{"use strict";Object.defineProperty(jl,"__esModule",{value:!0});jl.createResolveChain=void 0;var sn=Ne();function Ti(t,e,n=null,r=!1){switch(t.type){case sn.ASTType.ParenthesisExpression:{Ti(t.expression,e,n);return}case sn.ASTType.MemberExpression:{let i=t;Ti(i.base,e),e.push({ref:t,getter:i.identifier,unary:n,isInCallExpression:r});return}case sn.ASTType.IndexExpression:{let i=t;Ti(i.base,e),e.push({ref:t,getter:i.index,unary:n,isInCallExpression:r});return}case sn.ASTType.CallStatement:{Ti(t.expression,e,n,!0);return}case sn.ASTType.CallExpression:{Ti(t.base,e,n,!0);return}case sn.ASTType.NegationExpression:case sn.ASTType.BinaryNegatedExpression:case sn.ASTType.UnaryExpression:{let i=t;Ti(i.argument,e,i);return}case sn.ASTType.Identifier:{e.push({ref:t,getter:t,unary:n,isInCallExpression:r});return}case sn.ASTType.NumericLiteral:case sn.ASTType.StringLiteral:case sn.ASTType.NilLiteral:case sn.ASTType.MapConstructorExpression:case sn.ASTType.ListConstructorExpression:{e.push({ref:t,value:t,unary:n,isInCallExpression:r});return}case sn.ASTType.SliceExpression:Ti(t.base,e),e.push({ref:t,unary:n,isInCallExpression:r})}}function VI(t){let e=[];return Ti(t,e),e}jl.createResolveChain=VI});var R0=g(Wm=>{function C0(t,e){return t>e?1:-1}Wm.hash=function t(e,n){var r=5381;if(typeof e=="object"&&e!==null&&(e.toString===Object.prototype.toString||e.toString===Array.prototype.toString)){n||(n=new WeakSet);for(var i=Object.keys(e).sort(C0),s=0;s<i.length;s++){var o=i[s],a=e[o];if(r=33*r^t(o,n),typeof a=="object"&&a!==null&&(e.toString===Object.prototype.toString||e.toString===Array.prototype.toString)){if(n.has(a))continue;n.add(a)}r=33*r^t(a,n)}return 33*r^t(e.constructor,n)}var u=typeof e;try{e instanceof Date?u+=e.getTime():u+=String(e)}catch{u+=String(Object.assign({},e))}for(var c=0;c<u.length;c++)r=33*r^u.charCodeAt(c);return r},Wm.sortNumbers=C0});var zm=g(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.ObjectSet=so.ObjectSetIterator=void 0;var Gm=R0(),Fl=class{constructor(e){let n=this;n.value=e,n.index=0}next(){let e=this;return e.index>=e.value.length?{value:null,done:!0}:{value:e.value[e.index++],done:!1}}};so.ObjectSetIterator=Fl;var Vm=class{constructor(e){let r=(e?Array.from(e):[]).map(i=>[(0,Gm.hash)(i),i]);this._map=new Map(r),this._first=null,this._last=null,r.length>0&&(this._first=r[0][0],this._last=r[r.length-1][0])}[Symbol.iterator](){return new Fl(Array.from(this._map.values()))}first(){return this._first!=null?this._map.get(this._first)??null:null}last(){return this._last!=null?this._map.get(this._last)??null:null}toArray(){return Array.from(this._map.values())}add(e){let n=(0,Gm.hash)(e);return this._map.set(n,e),this._first??(this._first=n),this._last=n,this}delete(e){let n=(0,Gm.hash)(e);return this._map.delete(n)}extend(e){for(let[n,r]of e._map)this._map.set(n,r),this._first??(this._first=n),this._last=n;return this}toJSON(){return Array.from(this._map.values())}clear(){this._map.clear()}};so.ObjectSet=Vm});var Km=g($l=>{"use strict";Object.defineProperty($l,"__esModule",{value:!0});$l.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION=void 0;$l.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION="This is a custom method. You can add a description for this method by adding a comment above or after the function.\n```\nmyFunction = function(a, b, c) // This function does xyz\n```\nor\n```\n/*\n This function does xyz\n*/\nmyFunction = function(a, b, c)\n```"});var ts=g(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.CompletionItemKind=void 0;var zI;(function(t){t.Variable="var",t.Property="var",t.Function="function",t.Literal="literal",t.Constant="constant",t.ListConstructor="list",t.MapConstructor="map",t.Expression="expr",t.Unknown="unknown"})(zI=Ra.CompletionItemKind||(Ra.CompletionItemKind={}))});var Xm=g(kr=>{"use strict";Object.defineProperty(kr,"__esModule",{value:!0});kr.isResolveChainItemWithValue=kr.isResolveChainItemWithIdentifier=kr.isResolveChainItemWithMember=kr.isResolveChainItemWithIndex=void 0;var Si=Ne(),KI=t=>t!=null&&t.ref.type===Si.ASTType.IndexExpression;kr.isResolveChainItemWithIndex=KI;var XI=t=>t!=null&&t.ref.type===Si.ASTType.MemberExpression;kr.isResolveChainItemWithMember=XI;var YI=t=>t!=null&&t.ref.type===Si.ASTType.Identifier;kr.isResolveChainItemWithIdentifier=YI;var JI=t=>t!=null&&(t.ref.type===Si.ASTType.NumericLiteral||t.ref.type===Si.ASTType.StringLiteral||t.ref.type===Si.ASTType.NilLiteral||t.ref.type===Si.ASTType.MapConstructorExpression||t.ref.type===Si.ASTType.ListConstructorExpression);kr.isResolveChainItemWithValue=JI});var Ym=g(Bl=>{"use strict";Object.defineProperty(Bl,"__esModule",{value:!0});Bl.isSignatureDefinitionFunction=void 0;var QI=Un(),ZI=t=>t.getType().type===QI.SignatureDefinitionBaseType.Function;Bl.isSignatureDefinitionFunction=ZI});var Da=g(Ul=>{"use strict";Object.defineProperty(Ul,"__esModule",{value:!0});Ul.injectIdentifers=void 0;var eM=(t,e)=>{for(let[n,r]of e.values)n.startsWith("i:")&&t.set(n.slice(2),{kind:r.kind,line:r.line})};Ul.injectIdentifers=eM});var Wl=g(Hl=>{"use strict";Object.defineProperty(Hl,"__esModule",{value:!0});Hl.isEligibleForProperties=void 0;var Jm=Un(),tM=t=>t.types.has(Jm.SignatureDefinitionBaseType.Map)||t.types.has(Jm.SignatureDefinitionBaseType.List)||t.types.has(Jm.SignatureDefinitionBaseType.Any);Hl.isEligibleForProperties=tM});var Vl=g(Gl=>{"use strict";Object.defineProperty(Gl,"__esModule",{value:!0});Gl.lookupProperty=void 0;var nM=Wl(),rM=(t,e)=>{let n=t;for(;(0,nM.isEligibleForProperties)(n);){let r=n.values.get(`i:${e}`);if(r!=null)return r;let i=n.values.get("i:__isa");if(i==null)break;n=i}return null};Gl.lookupProperty=rM});var uo=g(ki=>{"use strict";Object.defineProperty(ki,"__esModule",{value:!0});ki.Entity=ki.resolveEntity=void 0;var oo=Un(),ao=ts(),iM=Ym(),sM=Da(),zl=Wl(),D0=Vl(),P0=zm(),oM=(t,e,n=!1)=>{if(e.isCallable()&&!n){let r=e.getReturnEntity();if(r!==null)return r;let i=e.getCallableReturnTypes();return i?new ns({kind:ao.CompletionItemKind.Variable,container:t,label:e.label,context:e.context}).addType(...i):new ns({kind:ao.CompletionItemKind.Variable,container:t,label:e.label,context:e.context}).addType(oo.SignatureDefinitionBaseType.Any)}return e};ki.resolveEntity=oM;var Qm={hasProperty(t,e,n){return!!(0,D0.lookupProperty)(t,n)||!t.isAPI()&&!!e.getDefinition(Array.from(t.types),n,!0)},resolveProperty(t,e,n,r=!1){let i=(0,D0.lookupProperty)(t,n)??null;return i==null?t.isAPI()?null:e.getDefinition(Array.from(t.types),n,r):(0,ki.resolveEntity)(e,i,r)},setProperty(t,e,n,r){if(!(0,zl.isEligibleForProperties)(t))return!1;let i=`i:${n}`,s=t.values.get(i);return s?s.extend(r):t.values.set(i,r.copy({container:e,label:n,context:t})),!0}},Zm={hasProperty(t,e,n){if(!(0,zl.isEligibleForProperties)(t))return!1;for(let r of n.types)if(t.values.has(`t:${r}`))return!0;return!1},resolveProperty(t,e,n,r=!1){if(!(0,zl.isEligibleForProperties)(t))return new ns({kind:ao.CompletionItemKind.Variable,container:e,label:n.label,context:t}).addType(oo.SignatureDefinitionBaseType.Any);let i=new ns({kind:ao.CompletionItemKind.Variable,container:e,label:n.label,context:t});for(let s of n.types){let o=t.values.get(`t:${s}`);o&&i.extend(o)}return i.types.size===0&&i.addType(oo.SignatureDefinitionBaseType.Any),(0,ki.resolveEntity)(e,i,r)},setProperty(t,e,n,r){if(!(0,zl.isEligibleForProperties)(t))return!1;for(let i of n.types){let s=`t:${i}`,o=t.values.get(s);o?o.extend(r):t.values.set(s,r.copy({container:e,label:i,context:t}))}return!0}},ns=class t{get kind(){return this._kind}get line(){return this._line}get signatureDefinitions(){return this._signatureDefinitions}get context(){return this._context}get label(){return this._label}get types(){return this._types}get values(){return this._values}constructor(e){this._isAPI=e.isAPI??!1,this._isFromSignature=e.isFromSignature??!1,this._kind=e.kind,this._line=e.line??-1,this._label=e.label??"anonymous",this._signatureDefinitions=e.signatureDefinitions??new P0.ObjectSet,this._types=e.types??new Set,this._values=e.values??new Map,this._context=e.context??null,this._container=e.container,this._returnEntity=e.returnEntity??null}isFromSignature(){return this._isFromSignature}hasContext(){return this._context!=null&&!this._context.isAPI}isAPI(){return this._isAPI}isCallable(){return this._types.has(oo.SignatureDefinitionBaseType.Function)}getCallableReturnTypes(){if(!this.isCallable())return null;let e=Array.from(this._signatureDefinitions).filter(n=>(0,iM.isSignatureDefinitionFunction)(n));return e.length===0?null:e.flatMap(n=>n.getReturns()).map(n=>n.type)}addSignatureType(e){return this._signatureDefinitions.add(e),this.addType(e.getType().type),this}setReturnEntity(e){return this._returnEntity=e,this}getReturnEntity(){return this._returnEntity}setKind(e){return this._kind=e,this}setLine(e){return this._line=e,this}setLabel(e){return this._label=e,this}setContext(e){return this._context=e,this}addType(...e){for(let n of e)this._types.add(n);return this}hasProperty(e){switch(typeof e){case"object":return Zm.hasProperty(this,this._container,e);default:return Qm.hasProperty(this,this._container,e)}}resolveProperty(e,n=!1){switch(typeof e){case"object":return Zm.resolveProperty(this,this._container,e,n);default:return Qm.resolveProperty(this,this._container,e,n)}}setProperty(e,n){switch(typeof e){case"object":return Zm.setProperty(this,this._container,e,n);default:return Qm.setProperty(this,this._container,e,n)}}extend(e){if(e===this)return this;this._isFromSignature=!1,this._signatureDefinitions.extend(e.signatureDefinitions),this.addType(...e.types);for(let[n,r]of e.values){let i=this.values.get(n);i==null?this.values.set(n,r.copy({container:this._container,context:this})):i.extend(r)}return this}insertSignature(e){let n=Object.keys(e.getDefinitions());this.addType(oo.SignatureDefinitionBaseType.Map);for(let r=0;r<n.length;r++){let i=n[r],s=e.getDefinition(i),o=new t({label:i,kind:s.getType().type===oo.SignatureDefinitionBaseType.Function?ao.CompletionItemKind.Function:ao.CompletionItemKind.Property,container:this._container,isFromSignature:!0});o.addSignatureType(s),this.setProperty(i,o)}return this}getAllIdentifier(){let e=new Map,n=this._values.get("i:__isa");if(n!=null)for(let r of n.getAllIdentifier())e.set(...r);for(let r of this._types){let i=this._container.getAllIdentifier(r);for(let s of i)e.set(...s)}return(0,sM.injectIdentifers)(e,this),e}toJSONInternal(e=new WeakMap){if(e.has(this))return e.get(this);let n={};return e.set(this,n),n.kind=this.kind,n.signatureDefinitions=this._signatureDefinitions.toJSON(),n.types=Array.from(this._types),n.values=Array.from(this._values).reduce((r,[i,s])=>(r[i]=s?.toJSONInternal(e),r),{}),n}toJSON(){return this.toJSONInternal()}copy(e={}){let n=new t({kind:e.kind??this._kind,line:e.line??this._line,isFromSignature:e.isFromSignature??this._isFromSignature,isAPI:e.isAPI??this._isAPI,container:e.container??this._container,label:e.label??this._label,context:e.context??this._context,signatureDefinitions:new P0.ObjectSet(Array.from(this._signatureDefinitions,r=>r.copy())),types:new Set(this._types),returnEntity:this._returnEntity,values:e.values??this.values});return e.disableCascade&&(n._values=new Map(Array.from(this._values,([r,i])=>[r,i.copy({container:e.container,line:e.line,context:n,values:i.values})]))),n}};ki.Entity=ns});var ny=g(Yl=>{"use strict";Object.defineProperty(Yl,"__esModule",{value:!0});Yl.Scope=void 0;var Kl=Un(),rs=ts(),ey=Da(),Xl=uo(),ty=class t{get signatureDefinitions(){return null}get kind(){return rs.CompletionItemKind.Constant}get line(){return this._locals.line}get label(){return this._locals.label}get context(){return this._locals.context}get types(){return new Set(Kl.SignatureDefinitionBaseType.Map)}get values(){return this._locals.values}get globals(){return this._globals}get outer(){return this._parent?.locals??null}get locals(){return this._locals}constructor(e){this._container=e.container,this._parent=e.parent??null,this._globals=e.globals,this._locals=e.locals??new Xl.Entity({kind:rs.CompletionItemKind.Constant,container:this._container,label:"locals"}).addType(Kl.SignatureDefinitionBaseType.Map)}setCustomType(e,n){this._container.setCustomType(e,n)}addSignatureType(){throw new Error("Cannot add signature type to scope!")}hasProperty(e){return this._locals.hasProperty(e)}resolveProperty(e,n){return this._locals.resolveProperty(e,n)}resolveNamespace(e,n=!1){if(typeof e!="string")throw new Error("Invalid property type for scope!");if(e==="locals")return this._locals;if(e==="outer")return this._parent?.locals??this._globals;if(e==="globals")return this._globals;if(this._locals.values.has(`i:${e}`)){let r=this._locals.values.get(`i:${e}`);return(0,Xl.resolveEntity)(this._container,r,n)}else if(this._parent?.locals.values.has(`i:${e}`)){let r=this._parent.locals.values.get(`i:${e}`);return(0,Xl.resolveEntity)(this._container,r,n)}else if(this._globals.values.has(`i:${e}`)){let r=this._globals.values.get(`i:${e}`);return(0,Xl.resolveEntity)(this._container,r,n)}return this._container.getGeneralDefinition(e,n)}setProperty(e,n){return this._locals.setProperty(e,n)}extend(e){return this._locals.extend(e),this}addType(){throw new Error("Scope cannot get type assigned!")}setReturnEntity(){throw new Error("Scope cannot set return entity!")}getReturnEntity(){throw new Error("Scope cannot get return entity!")}setKind(e){return this._locals.setKind(e),this}setLine(e){return this._locals.setLine(e),this}setLabel(e){return this._locals.setLabel(e),this}setContext(e){return this._locals.setContext(e),this}insertSignature(e){return this._locals.insertSignature(e),this}isAPI(){return!1}hasContext(){return!1}isFromSignature(){return!1}isCallable(){return!1}getCallableReturnTypes(){return null}getAllIdentifier(){let e=new Map([["globals",{kind:rs.CompletionItemKind.Constant,line:-1}],["locals",{kind:rs.CompletionItemKind.Constant,line:-1}],["outer",{kind:rs.CompletionItemKind.Constant,line:-1}],...this._container.getAllIdentifier(Kl.SignatureDefinitionBaseType.General)]);return this._locals!==this._globals&&(0,ey.injectIdentifers)(e,this._globals),this._parent&&(0,ey.injectIdentifers)(e,this._parent.locals),(0,ey.injectIdentifers)(e,this._locals),this.isSelfAvailable()&&e.set("self",{kind:rs.CompletionItemKind.Constant,line:-1}),this.isSuperAvailable()&&e.set("super",{kind:rs.CompletionItemKind.Constant,line:-1}),e}isSelfAvailable(){return this._locals.context!=null&&this._locals.context.types.has(Kl.SignatureDefinitionBaseType.Map)}isSuperAvailable(){return this.isSelfAvailable()&&this._locals.context.hasProperty("__isa")}toJSON(){return this._locals.toJSON()}copy(e={}){return new t({container:e.container??this._container,parent:this._parent.copy({container:e.container,disableCascade:!0}),globals:this._globals.copy({container:e.container,disableCascade:!0}),locals:this._locals.copy({...e,disableCascade:!0})})}};Yl.Scope=ty});var co=g(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.GreybelKeyword=void 0;var aM;(function(t){t.Envar="#envar",t.Import="#import",t.Include="#include",t.ImportWithComment="//import",t.IncludeWithComment="//include",t.Debugger="debugger",t.Line="#line",t.File="#filename",t.Inject="#inject"})(aM=Pa.GreybelKeyword||(Pa.GreybelKeyword={}))});var sy=g(iy=>{"use strict";Object.defineProperty(iy,"__esModule",{value:!0});var is=Ne(),uM=co(),ry=class extends is.LexerValidator{constructor(){super(...arguments),this.isKeyword=Set.prototype.has.bind(new Set([...Object.values(is.Keyword),...Object.values(uM.GreybelKeyword)]))}isIdentifierStart(e){return super.isIdentifierStart(e)||e===is.CharacterCode.HASH}isMultilineComment(e,n){return is.CharacterCode.SLASH===e&&is.CharacterCode.ASTERISK===n}isMultilineCommentEnd(e,n){return is.CharacterCode.ASTERISK===e&&is.CharacterCode.SLASH===n}isComment(e,n){return super.isComment(e,n)||this.isMultilineComment(e,n)}};iy.default=ry});var oy=g(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.CharacterCode=void 0;var cM;(function(t){t[t.VERTICAL_LINE=124]="VERTICAL_LINE",t[t.AMPERSAND=38]="AMPERSAND"})(cM=Ia.CharacterCode||(Ia.CharacterCode={}))});var lo=g(Ma=>{"use strict";Object.defineProperty(Ma,"__esModule",{value:!0});Ma.Operator=void 0;var lM;(function(t){t.BitwiseAnd="&",t.BitwiseOr="|",t.LeftShift="<<",t.RightShift=">>",t.UnsignedRightShift=">>>"})(lM=Ma.Operator||(Ma.Operator={}))});var uy=g(La=>{"use strict";var dM=La&&La.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(La,"__esModule",{value:!0});var rr=Ne(),fM=dM(sy()),I0=oy(),M0=co(),ay=lo();function L0(t){let e=this.content[this.index];return this.index+=e.length,this.createPunctuator(e,t)}var Jl=class t extends rr.Lexer{constructor(e,n={}){n.validator=n.validator||new fM.default,super(e,n)}scan(e,n){let r=t.greybelScanHandlers[e];return r?r.call(this,n)||super.scan(e,n):super.scan(e,n)}scanMultilineComment(e){let n=this,r=n.line,i=n.lineStart,s=n.index,o=n.offset,a=n.offset,u=!1;for(;n.index<n.length;){let d=n.codeAt();if(n.validator.isEndOfLine(d))n.validator.isWinNewline(d,n.codeAt(1))&&n.index++,n.line++,a=n.index+1;else if(n.validator.isMultilineCommentEnd(n.codeAt(),n.codeAt(1))){u=!0;break}n.index++}if(!u)return n.raise("Unexpected end of file in multiline comment.",new rr.ASTRange(new rr.ASTPosition(r,s-o+1),new rr.ASTPosition(n.line,n.index-a+3)));let c=n.content.slice(s+2,n.index);n.index+=2;let l=new rr.Token({type:rr.TokenType.Comment,value:c,line:r,lineStart:i,range:[n.tokenStart,n.index],offsetRange:[o,a],afterSpace:e,lastLine:n.line,lastLineStart:n.lineStart});return n.offset=a,n.snapshot.enqueue(l),l}scanComment(e){let n=this,r=n.validator;return n.content.startsWith(M0.GreybelKeyword.ImportWithComment,n.index)||n.content.startsWith(M0.GreybelKeyword.IncludeWithComment,n.index)?(n.index++,n.scanIdentifierOrKeyword(e)):r.isMultilineComment(n.codeAt(),n.codeAt(1))?n.scanMultilineComment(e):super.scanComment(e)}};La.default=Jl;Jl.greybelScanHandlers={[rr.CharacterCode.ARROW_LEFT]:function(e){if(rr.CharacterCode.ARROW_LEFT===this.codeAt(1))return this.scanPunctuator(ay.Operator.LeftShift,e)},[rr.CharacterCode.ARROW_RIGHT]:function(e){if(rr.CharacterCode.ARROW_RIGHT===this.codeAt(1))return rr.CharacterCode.ARROW_RIGHT===this.codeAt(2)?this.scanPunctuator(ay.Operator.UnsignedRightShift,e):this.scanPunctuator(ay.Operator.RightShift,e)},[I0.CharacterCode.AMPERSAND]:L0,[I0.CharacterCode.VERTICAL_LINE]:L0}});var Ql=g(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.ASTType=void 0;var pM;(function(t){t.FeatureImportExpression="FeatureImportExpression",t.FeatureIncludeExpression="FeatureIncludeExpression",t.FeatureEnvarExpression="FeatureEnvarExpression",t.FeatureInjectExpression="FeatureInjectExpression",t.FeatureDebuggerExpression="FeatureDebuggerExpression",t.FeatureLineExpression="FeatureLineExpression",t.FeatureFileExpression="FeatureFileExpression"})(pM=Na.ASTType||(Na.ASTType={}))});var ly=g(Zl=>{"use strict";Object.defineProperty(Zl,"__esModule",{value:!0});Zl.ASTChunkAdvanced=void 0;var hM=Ne(),cy=class t extends hM.ASTChunk{constructor(e){super(e),this.imports=e.imports||[],this.includes=e.includes||[],this.injects=e.injects||[]}clone(){return new t({literals:this.literals.map(e=>e.clone()),scopes:this.scopes.map(e=>e.clone()),imports:this.imports.map(e=>e.clone()),includes:this.includes.map(e=>e.clone()),injects:this.injects.map(e=>e.clone()),lines:this.lines,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Zl.ASTChunkAdvanced=cy});var my=g(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.ASTFeatureFileExpression=Hn.ASTFeatureInjectExpression=Hn.ASTFeatureEnvarExpression=Hn.ASTFeatureIncludeExpression=Hn.ASTFeatureImportExpression=void 0;var qa=Ne(),ja=Ql(),dy=class t extends qa.ASTBase{constructor(e){super(ja.ASTType.FeatureImportExpression,e),this.name=e.name,this.path=e.path,this.chunk=e.chunk,this.namespace=e.namespace}toString(){return`FeatureImportExpression[${this.start}-${this.end}][name = ${this.name}, path = ${this.path}]`}clone(){return new t({name:this.name.clone(),path:this.path,chunk:this.chunk.clone(),namespace:this.namespace,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Hn.ASTFeatureImportExpression=dy;var fy=class t extends qa.ASTBase{constructor(e){super(ja.ASTType.FeatureIncludeExpression,e),this.path=e.path,this.chunk=e.chunk,this.namespace=e.namespace}toString(){return`FeatureIncludeExpression[${this.start}-${this.end}][path = ${this.path}]`}clone(){return new t({path:this.path,chunk:this.chunk.clone(),namespace:this.namespace,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Hn.ASTFeatureIncludeExpression=fy;var py=class t extends qa.ASTBase{constructor(e){super(ja.ASTType.FeatureEnvarExpression,e),this.name=e.name}toString(){return`FeatureEnvarExpression[${this.start}-${this.end}][name = ${this.name}]`}clone(){return new t({name:this.name,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Hn.ASTFeatureEnvarExpression=py;var hy=class t extends qa.ASTBase{constructor(e){super(ja.ASTType.FeatureInjectExpression,e),this.path=e.path}toString(){return`FeatureInjectExpression[${this.start}-${this.end}][path = ${this.path}]`}clone(){return new t({path:this.path,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Hn.ASTFeatureInjectExpression=hy;var gy=class t extends qa.ASTBase{constructor(e){super(ja.ASTType.FeatureFileExpression,e),this.filename=e.filename}toString(){return`FeatureFileExpression[${this.start}-${this.end}][path = ${this.filename}]`}clone(){return new t({filename:this.filename,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Hn.ASTFeatureFileExpression=gy});var vy=g(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.ASTFeatureInjectExpression=Mt.ASTFeatureIncludeExpression=Mt.ASTFeatureImportExpression=Mt.ASTFeatureFileExpression=Mt.ASTFeatureEnvarExpression=Mt.ASTChunkAdvanced=Mt.ASTType=Mt.ASTProvider=void 0;var yy=Ne(),N0=Ql(),gM=ly(),Fa=my(),by=class extends yy.ASTProvider{featureImportExpression(e){return new Fa.ASTFeatureImportExpression(e)}featureIncludeExpression(e){return new Fa.ASTFeatureIncludeExpression(e)}featureEnvarExpression(e){return new Fa.ASTFeatureEnvarExpression(e)}featureInjectExpression(e){return new Fa.ASTFeatureInjectExpression(e)}featureDebuggerExpression(e){return new yy.ASTBase(N0.ASTType.FeatureDebuggerExpression,e)}featureLineExpression(e){return new yy.ASTBase(N0.ASTType.FeatureLineExpression,e)}featureFileExpression(e){return new Fa.ASTFeatureFileExpression(e)}chunkAdvanced(e){return new gM.ASTChunkAdvanced(e)}};Mt.ASTProvider=by;var mM=Ql();Object.defineProperty(Mt,"ASTType",{enumerable:!0,get:function(){return mM.ASTType}});var yM=ly();Object.defineProperty(Mt,"ASTChunkAdvanced",{enumerable:!0,get:function(){return yM.ASTChunkAdvanced}});var $a=my();Object.defineProperty(Mt,"ASTFeatureEnvarExpression",{enumerable:!0,get:function(){return $a.ASTFeatureEnvarExpression}});Object.defineProperty(Mt,"ASTFeatureFileExpression",{enumerable:!0,get:function(){return $a.ASTFeatureFileExpression}});Object.defineProperty(Mt,"ASTFeatureImportExpression",{enumerable:!0,get:function(){return $a.ASTFeatureImportExpression}});Object.defineProperty(Mt,"ASTFeatureIncludeExpression",{enumerable:!0,get:function(){return $a.ASTFeatureIncludeExpression}});Object.defineProperty(Mt,"ASTFeatureInjectExpression",{enumerable:!0,get:function(){return $a.ASTFeatureInjectExpression}})});var _y=g(pt=>{"use strict";Object.defineProperty(pt,"__esModule",{value:!0});pt.SelectorGroups=pt.SelectorGroupType=pt.Selectors=pt.SelectorTypes=void 0;var Be=Ne(),ed=co(),Ba=lo(),bM;(function(t){t.From="From",t.Envar="Envar",t.Inject="Inject",t.Line="Line",t.File="File",t.LeftShift="LeftShift",t.RightShift="RightShift",t.UnsignedRightShift="UnsignedRightShift",t.BitwiseOr="BitwiseOr",t.BitwiseAnd="BitwiseAnd",t.Escape="Escape"})(bM=pt.SelectorTypes||(pt.SelectorTypes={}));pt.Selectors=Object.assign(Object.assign({},Be.Selectors),{From:(0,Be.createSelector)({type:Be.TokenType.Identifier,value:"from"}),Envar:(0,Be.createSelector)({type:Be.TokenType.Keyword,value:ed.GreybelKeyword.Envar}),Inject:(0,Be.createSelector)({type:Be.TokenType.Keyword,value:ed.GreybelKeyword.Inject}),Line:(0,Be.createSelector)({type:Be.TokenType.Keyword,value:ed.GreybelKeyword.Line}),File:(0,Be.createSelector)({type:Be.TokenType.Keyword,value:ed.GreybelKeyword.File}),LeftShift:(0,Be.createSelector)({type:Be.TokenType.Punctuator,value:Ba.Operator.LeftShift}),RightShift:(0,Be.createSelector)({type:Be.TokenType.Punctuator,value:Ba.Operator.RightShift}),UnsignedRightShift:(0,Be.createSelector)({type:Be.TokenType.Punctuator,value:Ba.Operator.UnsignedRightShift}),BitwiseOr:(0,Be.createSelector)({type:Be.TokenType.Punctuator,value:Ba.Operator.BitwiseOr}),BitwiseAnd:(0,Be.createSelector)({type:Be.TokenType.Punctuator,value:Ba.Operator.BitwiseAnd}),Escape:(0,Be.createSelector)({type:Be.TokenType.Punctuator,value:Be.Operator.Escape})});var $r;(function(t){t.MapSeparator="MapSeparator",t.ListSeparator="ListSeparator",t.PathSegmentEnd="PathSegmentEnd",t.BitwiseOperators="BitwiseOperators"})($r=pt.SelectorGroupType||(pt.SelectorGroupType={}));pt.SelectorGroups=Object.assign(Object.assign({},Be.SelectorGroups),{[$r.MapSeparator]:(0,Be.createSelectorGroup)($r.MapSeparator,[pt.Selectors.MapSeperator,pt.Selectors.CRBracket]),[$r.ListSeparator]:(0,Be.createSelectorGroup)($r.ListSeparator,[pt.Selectors.MapSeperator,pt.Selectors.SRBracket]),[$r.PathSegmentEnd]:(0,Be.createSelectorGroup)($r.PathSegmentEnd,[pt.Selectors.EndOfLine,pt.Selectors.Comment,pt.Selectors.EndOfFile]),[$r.BitwiseOperators]:(0,Be.createSelectorGroup)($r.BitwiseOperators,[pt.Selectors.LeftShift,pt.Selectors.RightShift,pt.Selectors.UnsignedRightShift])})});var F0=g(Ua=>{"use strict";var vM=Ua&&Ua.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ua,"__esModule",{value:!0});var pn=Ne(),_M=Jo(),q0=ra(),TM=vM(uy()),SM=vy(),ss=co(),j0=lo(),qe=_y(),Ty=class extends pn.Parser{constructor(e,n={}){var r;n.lexer=n.lexer||new TM.default(e,{unsafe:n.unsafe,tabWidth:n.tabWidth}),n.astProvider=n.astProvider||new SM.ASTProvider,super(e,n);let i=this;i.filename=(r=n.filename)!==null&&r!==void 0?r:"unknown",i.imports=[],i.includes=[],i.injects=[]}skipNewlines(){let e=this,n=0;for(;;){if(qe.Selectors.Comment(e.token)){let r=e.astProvider.comment({value:e.token.value,isMultiline:e.token.value.indexOf(`
|
108
|
+
`)!==-1,start:e.token.start,end:e.token.end,range:e.token.range,scope:e.currentScope});e.addItemToLines(r),e.backpatches.peek().body.push(r)}else if(qe.Selectors.EndOfLine(e.token))n++;else break;e.next()}return n}parseMap(e=!1,n=!1){let r=this;if(!qe.Selectors.CLBracket(r.token))return r.parseList(e,n);let i=r.currentScope,s=r.token,o=[],a=r.astProvider.mapConstructorExpression({fields:o,start:s.start,end:null,range:[s.range[0],null],scope:i});if(r.next(),qe.Selectors.CRBracket(r.token))r.next();else for(;!qe.Selectors.EndOfFile(r.token);){if(r.skipNewlines(),qe.Selectors.CRBracket(r.token)){r.next();break}let u=r.astProvider.mapKeyString({key:null,value:null,start:r.token.start,end:null,range:[r.token.range[0],null],scope:i});if(u.key=r.parseExpr(null),r.requireToken(qe.Selectors.MapKeyValueSeperator),r.skipNewlines(),r.currentAssignment){let l=r.astProvider.assignmentStatement({variable:r.astProvider.indexExpression({index:u.key,base:r.currentAssignment.variable,start:u.start,end:r.token.end,range:[u.range[0],r.token.range[1]],scope:i}),init:null,start:u.start,end:null,range:[u.range[0],null]}),d=r.currentAssignment;r.currentAssignment=l,u.value=r.parseExpr(u),r.currentAssignment=d,l.init=u.value,l.end=r.previousToken.end,l.range[1]=r.previousToken.range[1],i.assignments.push(l)}else u.value=r.parseExpr(u);u.end=r.previousToken.end,u.range[1]=r.previousToken.range[1],o.push(u),r.skipNewlines();let c=r.requireTokenOfAny(qe.SelectorGroups.MapSeparator,s.start);if(qe.Selectors.CRBracket(c))break}return a.end=r.token.start,a.range[1]=r.token.range[1],a}parseList(e=!1,n=!1){let r=this;if(!qe.Selectors.SLBracket(r.token))return r.parseQuantity(e,n);let i=r.currentScope,s=r.token,o=[],a=r.astProvider.listConstructorExpression({fields:o,start:s.start,end:null,range:[s.range[0],null],scope:i});if(r.next(),qe.Selectors.SRBracket(r.token))r.next();else for(;!qe.Selectors.EndOfFile(r.token);){if(r.skipNewlines(),qe.Selectors.SRBracket(r.token)){r.next();break}let u=r.astProvider.listValue({value:null,start:r.token.start,end:null,range:[r.token.range[0],null],scope:i});if(r.currentAssignment){let l=r.astProvider.assignmentStatement({variable:r.astProvider.indexExpression({index:r.astProvider.literal(pn.TokenType.NumericLiteral,{value:o.length,raw:`${o.length}`,start:s.start,end:r.token.end,range:[s.range[0],r.token.range[1]],scope:i}),base:r.currentAssignment.variable,start:null,end:null,range:[null,null],scope:i}),init:null,start:null,end:null,range:[null,null]}),d=r.currentAssignment,p=r.token;r.currentAssignment=d,u.value=r.parseExpr(u),r.currentAssignment=d,l.variable.start=p.start,l.variable.end=r.previousToken.end,l.variable.range=[p.range[0],r.previousToken.range[1]],l.init=u.value,l.start=u.start,l.end=r.previousToken.end,l.range=[u.range[0],r.previousToken.range[1]],i.assignments.push(l)}else u.value=r.parseExpr(u);u.end=r.previousToken.end,u.range[1]=r.previousToken.range[1],o.push(u),r.skipNewlines();let c=r.requireTokenOfAny(qe.SelectorGroups.ListSeparator,s.start);if(qe.Selectors.SRBracket(c))break}return a.end=r.token.start,a.range[1]=r.token.range[1],a}parsePathSegment(){let e=this;if(this.token.type===pn.ASTType.StringLiteral){let r=this.token.value;return this.next(),r}let n="";for(;!qe.SelectorGroups.PathSegmentEnd(e.token);)n=n+e.token.value,e.next();return e.consumeMany(qe.SelectorGroups.PathSegmentEnd),n}parseFeatureIncludeStatement(){let e=this,n=e.previousToken,r=e.parsePathSegment(),i=e.astProvider.featureIncludeExpression({path:r,start:n.start,end:e.previousToken.end,range:[n.range[0],e.previousToken.range[1]],scope:e.currentScope});return e.includes.push(i),i}parseFeatureImportStatement(){var e;let n=this,r=n.previousToken,i=n.parseIdentifier();if(!n.consume(qe.Selectors.From))return n.raise("expected from keyword",new q0.Range(r.start,new _M.Position((e=n.token.lastLine)!==null&&e!==void 0?e:n.token.line,n.token.end.character))),n.parseInvalidCode();let s=n.parsePathSegment(),o=n.astProvider.featureImportExpression({name:i,path:s,start:r.start,end:n.previousToken.end,range:[r.range[0],n.previousToken.range[1]],scope:n.currentScope});n.imports.push(o);let a=n.astProvider.assignmentStatement({variable:i,init:n.astProvider.literal(pn.TokenType.NilLiteral,{value:null,raw:"null",start:i.start,end:i.end,range:i.range,scope:n.currentScope}),start:i.start,end:i.end,range:i.range,scope:n.currentScope});return n.currentScope.assignments.push(a),o}parseFeatureEnvarExpression(){let e=this,n=e.previousToken,r=e.token.value;return e.next(),e.astProvider.featureEnvarExpression({name:r,start:n.start,end:e.previousToken.end,range:[n.range[0],e.previousToken.range[1]],scope:e.currentScope})}parseFeatureInjectExpression(){let e=this,n=e.previousToken,r=this.parsePathSegment();e.next();let i=e.astProvider.featureInjectExpression({path:r,start:n.start,end:e.previousToken.end,range:[n.range[0],e.previousToken.range[1]],scope:e.currentScope});return e.injects.push(i),i}parseIsa(e=!1,n=!1){let r=this,i=r.token,s=r.parseBitwiseOr(e,n);if(qe.Selectors.Isa(r.token)){r.next(),r.skipNewlines();let o=r.parseBitwiseOr();return r.astProvider.isaExpression({operator:pn.Operator.Isa,left:s,right:o,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return s}parseBitwiseOr(e=!1,n=!1){let r=this,i=r.token,o=r.parseBitwiseAnd(e,n);for(;qe.Selectors.BitwiseOr(r.token);){r.next();let a=r.parseBitwiseAnd();o=r.astProvider.binaryExpression({operator:j0.Operator.BitwiseOr,left:o,right:a,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseBitwiseAnd(e=!1,n=!1){let r=this,i=r.token,o=r.parseComparisons(e,n);for(;qe.Selectors.BitwiseAnd(r.token);){r.next();let a=r.parseComparisons();o=r.astProvider.binaryExpression({operator:j0.Operator.BitwiseAnd,left:o,right:a,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseAddSub(e=!1,n=!1){let r=this,i=r.token,o=r.parseBitwise(e,n);for(;qe.Selectors.Plus(r.token)||qe.Selectors.Minus(r.token)&&(!n||!r.token.afterSpace||r.lexer.isAtWhitespace());){let a=r.token;r.next(),r.skipNewlines();let u=r.parseBitwise();o=r.astProvider.binaryExpression({operator:a.value,left:o,right:u,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseBitwise(e=!1,n=!1){let r=this,i=r.token,o=r.parseMultDiv(e,n);for(;qe.SelectorGroups.BitwiseOperators(r.token);){let a=r.token;r.next(),r.skipNewlines();let u=r.parseMultDiv();o=r.astProvider.binaryExpression({operator:a.value,left:o,right:u,start:i.start,end:r.previousToken.end,range:[i.range[0],r.previousToken.range[1]],scope:r.currentScope})}return o}parseAtom(){let e=this;return qe.Selectors.Envar(e.token)?(e.next(),e.parseFeatureEnvarExpression()):qe.Selectors.Inject(e.token)?(e.next(),e.parseFeatureInjectExpression()):qe.Selectors.Line(e.token)?(e.next(),e.astProvider.featureLineExpression({start:new pn.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new pn.ASTPosition(e.previousToken.line,e.previousToken.end.character),range:e.previousToken.range,scope:e.currentScope})):qe.Selectors.File(e.token)?(e.next(),e.astProvider.featureFileExpression({filename:e.filename,start:new pn.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new pn.ASTPosition(e.previousToken.line,e.previousToken.end.character),range:e.previousToken.range,scope:e.currentScope})):super.parseAtom()}parseStatement(){let e=this,n=e.backpatches.peek();if(e.isType(pn.TokenType.Keyword))switch(e.token.value){case ss.GreybelKeyword.Include:case ss.GreybelKeyword.IncludeWithComment:{e.next();let i=e.parseFeatureIncludeStatement();e.addItemToLines(i),n.body.push(i);return}case ss.GreybelKeyword.Import:case ss.GreybelKeyword.ImportWithComment:{e.next();let i=e.parseFeatureImportStatement();e.addItemToLines(i),n.body.push(i);return}case ss.GreybelKeyword.Envar:{e.next();let i=e.parseFeatureEnvarExpression();e.addItemToLines(i),n.body.push(i);return}case ss.GreybelKeyword.Inject:{e.next();let i=e.parseFeatureInjectExpression();e.addItemToLines(i),n.body.push(i);return}case ss.GreybelKeyword.Debugger:{e.next();let i=e.astProvider.featureDebuggerExpression({start:new pn.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new pn.ASTPosition(e.previousToken.line,e.previousToken.end.character),range:e.previousToken.range,scope:e.currentScope});e.addItemToLines(i),n.body.push(i);return}default:break}super.parseStatement()}parseChunk(){let e=this;e.next();let n=e.token,r=e.astProvider.chunkAdvanced({start:n.start,end:null,range:[n.range[0],null]}),i=new pn.PendingChunk(r);for(e.backpatches.setDefault(i),e.pushScope(r);!qe.Selectors.EndOfFile(e.token)&&(e.skipNewlines(),!qe.Selectors.EndOfFile(e.token));)e.lexer.recordSnapshot(),e.statementErrors=[],e.parseStatement(),e.statementErrors.length>0&&e.tryToRecover();let s=e.backpatches.pop();for(;!(0,pn.isPendingChunk)(s);){let o=e.raise(`found open block ${s.block.type}`,new q0.Range(s.block.start,s.block.start));if(s.complete(e.previousToken),e.errors.push(o),!e.unsafe)throw o;s=e.backpatches.pop()}return e.finishRemaingScopes(),e.popScope(),i.complete(e.token),r.literals=e.literals,r.scopes=e.scopes,r.lines=e.lines,r.imports=e.imports,r.includes=e.includes,r.injects=e.injects,r}};Ua.default=Ty});var Br=g(Ct=>{"use strict";var kM=Ct&&Ct.__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]}),Ha=Ct&&Ct.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&kM(e,t,n)},Sy=Ct&&Ct.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ct,"__esModule",{value:!0});Ct.Parser=Ct.LexerValidator=Ct.Lexer=void 0;var xM=uy();Object.defineProperty(Ct,"Lexer",{enumerable:!0,get:function(){return Sy(xM).default}});var wM=sy();Object.defineProperty(Ct,"LexerValidator",{enumerable:!0,get:function(){return Sy(wM).default}});var EM=F0();Object.defineProperty(Ct,"Parser",{enumerable:!0,get:function(){return Sy(EM).default}});Ha(vy(),Ct);Ha(oy(),Ct);Ha(co(),Ct);Ha(lo(),Ct);Ha(_y(),Ct)});var xy=g(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});nd.Aggregator=void 0;var td=Br(),Me=Un(),De=Ne(),AM=Km(),we=ts(),os=Xm(),$0=jg(),OM=Um(),B0=Hm(),U0=da(),CM=uo(),ky=class{get definitions(){return this._definitions}get parent(){return this._parent}constructor(e){this._root=e.root,this._scope=e.scope,this._document=e.document,this._parent=e.parent??null,this._definitions=new Map}factory(e){return new CM.Entity({kind:e,container:this._document.container})}getCommentRelatedToMap(e){let n=this._document.getLastASTItemOfLine(e.start.line-1),r=this._document.findASTItemInLine(e.start.line,De.ASTType.Comment);if(n instanceof De.ASTComment){let i=new Set,s=[],o=e.start.line-1;for(;o>=0;){let a=this._document.getLastASTItemOfLine(o--);if(!i.has(a))if(a instanceof De.ASTComment)i.add(a),s.unshift(a.value);else break}return s.join(`
|
109
|
+
`)}else if(r instanceof De.ASTComment)return r.value;return null}createCustomTypeFromMap(e,n){let r=this.getCommentRelatedToMap(e);if(r==null)return;let i=r.match(/@type\s+([a-zA-Z0-9_]+)/);if(i==null)return;let[s,o]=i;this._scope.setCustomType(o,n)}createFunctionDescription(e,n=AM.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION){let r=this._document.getLastASTItemOfLine(e.start.line-1),i=this._document.findASTItemInLine(e.start.line,De.ASTType.Comment);if(r instanceof De.ASTComment){let s=new Set,o=[],a=e.start.line-1;for(;a>=0;){let u=this._document.getLastASTItemOfLine(a--);if(!s.has(u))if(u instanceof De.ASTComment)s.add(u),o.unshift(u.value);else break}return o.join(`
|
109
110
|
|
110
|
-
`)}else if(i instanceof Ue.ASTComment)return i.value;return n}resolveFunctionStatement(e){let n=Ie.SignatureDefinitionFunction.parse({type:Ie.SignatureDefinitionBaseType.Function,description:this.createFunctionDescription(e),arguments:e.parameters.map(r=>{if(r.type===Ue.ASTType.Identifier)return{label:r.name??"unknown",type:Ie.SignatureDefinitionBaseType.Any};let i=r;return{label:i.variable?.name??"unknown",types:Array.from(this.resolveTypeWithDefault(i.init).types)}}),returns:["any"]});return this.factory(we.CompletionItemKind.Function).addType(Ie.SignatureDefinitionBaseType.Function).addSignatureType((0,OM.enrichWithMetaInformation)(n)).setLine(e.start.line)}resolveParenthesisExpression(e){return this.resolveTypeWithDefault(e.expression)}resolveBinaryExpression(e){let n=this.factory(we.CompletionItemKind.Expression).setLabel("Binary Expr").setLine(e.start.line),r=this.resolveTypeWithDefault(e.left),i=this.resolveTypeWithDefault(e.right);return n.extend(r),n.extend(i),n}resolveLogicalExpression(e){return this.factory(we.CompletionItemKind.Expression).setLabel("Logical Expr").addType(Ie.SignatureDefinitionBaseType.Number).setLine(e.start.line)}resolveComparisonGroupExpression(e){return this.factory(we.CompletionItemKind.Expression).setLabel("Comparison Group Expr").addType(Ie.SignatureDefinitionBaseType.Number).setLine(e.start.line)}resolveIsaExpression(e){return this.factory(we.CompletionItemKind.Expression).setLabel("Isa Expr").addType(Ie.SignatureDefinitionBaseType.Number).setLine(e.start.line)}resolveCallStatement(e){let n=this.resolveNamespace(e);return n===null?this.factory(we.CompletionItemKind.Variable).addType(Ie.SignatureDefinitionBaseType.Any).setLine(e.start.line):n}resolveCallExpression(e){let n=this.resolveNamespace(e);return n===null?this.factory(we.CompletionItemKind.Variable).addType(Ie.SignatureDefinitionBaseType.Any).setLine(e.start.line):n}resolveUnaryExpression(e){let n=this.resolveNamespace(e);return n===null?this.factory(we.CompletionItemKind.Variable).addType(Ie.SignatureDefinitionBaseType.Any).setLine(e.start.line):n}resolveMapConstructorExpression(e){let n=this.factory(we.CompletionItemKind.MapConstructor).addType(Ie.SignatureDefinitionBaseType.Map);for(let r=0;r<e.fields.length;r++){let i=e.fields[r],s=this.resolveTypeWithDefault(i.value).setLine(i.start.line);if(i.key.type===Ue.ASTType.StringLiteral)n.setProperty(i.key.value.toString(),s);else{let o=this.resolveTypeWithDefault(i.key).setLine(i.start.line);n.setProperty(o,s)}}return n.setLabel("{}").setLine(e.start.line)}resolveListConstructorExpression(e){let n=this.factory(we.CompletionItemKind.ListConstructor).addType(Ie.SignatureDefinitionBaseType.List);for(let r=0;r<e.fields.length;r++){let i=e.fields[r],s=this.factory(we.CompletionItemKind.Variable).addType(Ie.SignatureDefinitionBaseType.Number).setLine(i.start.line),o=this.resolveTypeWithDefault(i.value).setLine(i.start.line);n.setProperty(s,o)}return n.setLabel("[]").setLine(e.start.line)}resolveSliceExpression(e){let n=this.resolveNamespace(e);return n===null?this.factory(we.CompletionItemKind.Variable).addType(Ie.SignatureDefinitionBaseType.Any).setLine(e.start.line):n.setLine(e.start.line)}resolveIndexExpression(e,n=!1){let r=this.resolveNamespace(e,n);return r===null?this.factory(we.CompletionItemKind.Variable).addType(Ie.SignatureDefinitionBaseType.Any).setLine(e.start.line):r}resolveMemberExpression(e,n=!1){let r=this.resolveNamespace(e,n);return r===null?this.factory(we.CompletionItemKind.Property).addType(Ie.SignatureDefinitionBaseType.Any).setLabel(e.identifier.name).setLine(e.start.line):r}resolveIdentifier(e,n=!1){let r=this.resolveNamespace(e,n);return r===null?this.factory(we.CompletionItemKind.Property).addType(Ie.SignatureDefinitionBaseType.Any).setLabel(e.name).setLine(e.start.line):r}resolveType(e,n=!1){if(e==null)return null;switch(e.type){case Ue.ASTType.ParenthesisExpression:return this.resolveParenthesisExpression(e);case Ue.ASTType.CallStatement:return this.resolveCallStatement(e);case Ue.ASTType.CallExpression:return this.resolveCallExpression(e);case Ue.ASTType.BinaryExpression:return this.resolveBinaryExpression(e);case Ue.ASTType.LogicalExpression:return this.resolveLogicalExpression(e);case Ue.ASTType.IsaExpression:return this.resolveIsaExpression(e);case Ue.ASTType.ComparisonGroupExpression:return this.resolveComparisonGroupExpression(e);case Ue.ASTType.FunctionDeclaration:return this.resolveFunctionStatement(e);case Ue.ASTType.SliceExpression:return this.resolveSliceExpression(e);case Ue.ASTType.IndexExpression:return this.resolveIndexExpression(e,n);case Ue.ASTType.MemberExpression:return this.resolveMemberExpression(e,n);case Ue.ASTType.Identifier:return this.resolveIdentifier(e,n);case Ue.ASTType.MapConstructorExpression:return this.resolveMapConstructorExpression(e);case Ue.ASTType.ListConstructorExpression:return this.resolveListConstructorExpression(e);case Ue.ASTType.NegationExpression:case Ue.ASTType.BinaryNegatedExpression:case Ue.ASTType.UnaryExpression:return this.resolveUnaryExpression(e);case Ue.ASTType.NilLiteral:return this.factory(we.CompletionItemKind.Literal).addType("null").setLabel("null").setLine(e.start.line);case Ue.ASTType.StringLiteral:{let r=e.value.toString();return this.factory(we.CompletionItemKind.Literal).addType(Ie.SignatureDefinitionBaseType.String).setLabel(`"${r.length>20?r.substr(0,20)+"...":r}"`).setLine(e.start.line)}case Ue.ASTType.NumericLiteral:case Ue.ASTType.BooleanLiteral:{let r=e.value.toString();return this.factory(we.CompletionItemKind.Literal).addType(Ie.SignatureDefinitionBaseType.Number).setLabel(r).setLine(e.start.line)}case td.ASTType.FeatureFileExpression:return this.factory(we.CompletionItemKind.Expression).addType(Ie.SignatureDefinitionBaseType.String).setLabel("File Expr").setLine(e.start.line);case td.ASTType.FeatureLineExpression:return this.factory(we.CompletionItemKind.Expression).addType(Ie.SignatureDefinitionBaseType.Number).setLabel("Line Expr").setLine(e.start.line);case td.ASTType.FeatureEnvarExpression:return this.factory(we.CompletionItemKind.Expression).addType(Ie.SignatureDefinitionBaseType.String).setLabel("Envar Expr").setLine(e.start.line);case td.ASTType.FeatureInjectExpression:return this.factory(we.CompletionItemKind.Expression).addType(Ie.SignatureDefinitionBaseType.String).setLabel("Inject Expr").setLine(e.start.line);default:return null}}resolveTypeWithDefault(e=null,n=!1){let r=this.resolveType(e,n);if(r==null){let i=this.factory(we.CompletionItemKind.Variable).addType(Ie.SignatureDefinitionBaseType.Any);return e!=null&&i.setLine(e.start.line),i}return r}resolveChain(e,n=!1){if(e.length===0)return null;let r=null,i=e[0],s=i.unary?.operator==="@"&&!i.isInCallExpression||n&&e.length===1;if((0,os.isResolveChainItemWithIdentifier)(i))if(i.getter.name==="globals")r=this._scope.globals;else if(i.getter.name==="outer")r=this._scope.outer;else if(i.getter.name==="locals")r=this._scope.locals;else if(i.getter.name==="super"){let a=this._document.getScopeContext(i.ref.scope)?.scope.context?.values.get("i:__isa");a==null?r=this.factory(we.CompletionItemKind.Constant).addType("null").setLabel("super"):r=a.copy({kind:we.CompletionItemKind.Constant,label:"super",values:a.values})}else if(i.getter.name==="self"){let a=this._document.getScopeContext(i.ref.scope)?.scope.context;a==null?r=this.factory(we.CompletionItemKind.Constant).addType("null").setLabel("self"):r=a.copy({kind:we.CompletionItemKind.Constant,label:"self",values:a.values})}else r=this._scope.resolveNamespace(i.getter.name,s)??this.factory(we.CompletionItemKind.Variable).addType(Ie.SignatureDefinitionBaseType.Any).setLabel(i.getter.name);else if((0,os.isResolveChainItemWithValue)(i))r=this.resolveTypeWithDefault(i.value,s);else return null;if(i.unary?.operator==="new"&&r!==null){let a=this.factory(we.CompletionItemKind.Variable).addType(Ie.SignatureDefinitionBaseType.Map).setLabel(r.label);a.setProperty("__isa",r),r=a}let o=e.length;for(let a=1;a<o&&r!==null;a++){let u=e[a],c=u.unary?.operator==="@"&&!u.isInCallExpression||n&&e.length-1===a;if((0,os.isResolveChainItemWithMember)(u))r=r.resolveProperty(u.getter.name,c)??this.factory(we.CompletionItemKind.Variable).addType(Ie.SignatureDefinitionBaseType.Any).setLabel(u.getter.name);else if((0,os.isResolveChainItemWithIndex)(u))if((0,U0.isValidIdentifierLiteral)(u.getter)){let l=u.getter.value.toString();r=r.resolveProperty(l,u.isInCallExpression)??this.factory(we.CompletionItemKind.Variable).addType(Ie.SignatureDefinitionBaseType.Any).setLabel(l)}else{let l=this.resolveTypeWithDefault(u.getter);r=r.resolveProperty(l,u.isInCallExpression)??this.factory(we.CompletionItemKind.Variable).addType(Ie.SignatureDefinitionBaseType.Any)}else if(u.ref.type===Ue.ASTType.SliceExpression)r=r.copy();else return null;if(u.unary?.operator==="new"&&r!==null){let l=this.factory(we.CompletionItemKind.Property).addType(Ie.SignatureDefinitionBaseType.Map).setLabel(r.label);l.setProperty("__isa",r),r=l}}return r}resolveNamespace(e,n=!1){let r=(0,B0.createResolveChain)(e);return this.resolveChain(r,n)}defineNamespace(e,n){let r=(0,B0.createResolveChain)(e),i=r.pop();if(r.length>0){let o=this.resolveChain(r);if(o===null)return!1;if((0,os.isResolveChainItemWithMember)(i))return o.setProperty(i.getter.name,n);if((0,os.isResolveChainItemWithIndex)(i)){if((0,U0.isValidIdentifierLiteral)(i.getter))return o.setProperty(i.getter.value.toString(),n);{let a=this.resolveTypeWithDefault(i.getter);return o.setProperty(a,n)}}return!1}let s=this._scope;return(0,os.isResolveChainItemWithIdentifier)(i)?s.setProperty(i.getter.name,n):!1}resolveAvailableAssignmentsWithQuery(e){let n=[],r=new Set([this,this._parent,this._document.getRootScopeContext().aggregator]);for(let i of r){let s=i.definitions;for(let o of s.keys())if(o.includes(e)){let a=s.get(o);n.push(...a)}}return n}resolveAvailableAssignments(e){let n=(0,$0.createExpressionId)(e),r=this;n.startsWith("globals.")?(r=this._document.getRootScopeContext().aggregator,n=n.slice(8)):n.startsWith("locals.")?(r=this,n=n.slice(7)):n.startsWith("outer.")&&(r=this.parent,n=n.slice(6));let i=[],s=new Set([r,r._parent,r._document.getRootScopeContext().aggregator]);for(let o of s){if(o==null)continue;let a=o._definitions.get(n);a!=null&&i.push(...a)}return i}analyze(){for(let e=0;e<this._root.assignments.length;e++){let n=this._root.assignments[e],r=this.resolveType(n.init)?.copy().setLine(n.start.line)??this.factory(we.CompletionItemKind.Variable).addType(Ie.SignatureDefinitionBaseType.Any).setLine(n.start.line);this.defineNamespace(n.variable,r);let i=(0,$0.createExpressionId)(n.variable),s=this._definitions;i.startsWith("globals.")?(s=this._document.getRootScopeContext().aggregator.definitions,i=i.slice(8)):i.startsWith("locals.")?(s=this._definitions,i=i.slice(7)):i.startsWith("outer.")&&(s=this.parent.definitions,i=i.slice(6));let o=s.get(i);o?o.push(n):s.set(i,[n])}}};nd.Aggregator=ky});var Ey=g(rd=>{"use strict";Object.defineProperty(rd,"__esModule",{value:!0});rd.Document=void 0;var Ur=Un(),RM=Le(),H0=ts(),W0=xy(),G0=uo(),V0=ny(),wy=class t{get root(){return this._root}get container(){return this._container}get intrinsics(){return this._intrinscis}get globals(){return this._globals}get api(){return this._api}constructor(e){this._root=e.root,this._container=e.container,this._scopeMapping=e.scopeMapping??new WeakMap,this._intrinscis=e.intrinsics??this.createIntrinscis(),this._api=e.api??this.initApi(),this._globals=e.globals??this.initGlobals()}createIntrinscis(){return{map:this._container.primitives.get(Ur.SignatureDefinitionBaseType.Map),funcRef:this._container.primitives.get(Ur.SignatureDefinitionBaseType.Function),number:this._container.primitives.get(Ur.SignatureDefinitionBaseType.Number),string:this._container.primitives.get(Ur.SignatureDefinitionBaseType.String),list:this._container.primitives.get(Ur.SignatureDefinitionBaseType.List)}}initApi(){let e=this._container.primitives.get(Ur.SignatureDefinitionBaseType.General);return e.resolveProperty("map",!0).setReturnEntity(this._intrinscis.map),e.resolveProperty("funcRef",!0).setReturnEntity(this._intrinscis.funcRef),e.resolveProperty("number",!0).setReturnEntity(this._intrinscis.number),e.resolveProperty("string",!0).setReturnEntity(this._intrinscis.string),e.resolveProperty("list",!0).setReturnEntity(this._intrinscis.list),e}initGlobals(){return new G0.Entity({kind:H0.CompletionItemKind.Constant,container:this._container,label:"globals"}).addType(Ur.SignatureDefinitionBaseType.Map)}analyzeScope(e){let n=this._scopeMapping.get(e.scope),r=new V0.Scope({container:this._container,parent:n?.scope,globals:this._globals}),i=new W0.Aggregator({scope:r,root:e,document:this,parent:n?.aggregator});this._scopeMapping.set(e,{scope:r,aggregator:i});let s=e.assignment instanceof RM.ASTAssignmentStatement?this.resolveNamespace(e.assignment.variable,!0):null;if(s!==null){let o=s?.context;o!=null&&o.types.has(Ur.SignatureDefinitionBaseType.Map)&&o!==this._globals&&r.setContext(o)}if(i.analyze(),s!==null){let o=s.signatureDefinitions.last();if(o!=null){let a=o.getArguments();for(let u=0;u<a.length;u++){let c=a[u],l=r.resolveProperty(c.getLabel(),!0),d=c.getTypes().map(p=>p.type);l===null?r.setProperty(c.getLabel(),new G0.Entity({kind:H0.CompletionItemKind.Variable,container:this._container}).addType(...d)):(l.types.delete(Ur.SignatureDefinitionBaseType.Any),l.addType(...d))}}}}analyze(){let e=new V0.Scope({container:this._container,globals:this._globals,locals:this._globals}),n=new W0.Aggregator({scope:e,root:this._root,document:this});this._scopeMapping.set(this._root,{scope:e,aggregator:n}),n.analyze();for(let r=0;r<this._root.scopes.length;r++){let i=this._root.scopes[r];this.analyzeScope(i)}}getRootScopeContext(){return this._scopeMapping.get(this._root)}getAllScopeContexts(){return[this._root,...this._root.scopes].map(e=>this._scopeMapping.get(e))}getScopeContext(e){return this._scopeMapping.get(e)??null}getLastASTItemOfLine(e){let n=this._root.lines[e];return n&&n.length>0?n[n.length-1]:null}findASTItemInLine(e,n){let r=this._root.lines[e];if(r&&r.length>0){let i=r.find(s=>s.type===n);if(i)return i}return null}resolveAllAssignmentsWithQuery(e){let n=[],r=[this._root,...this._root.scopes];for(let i=0;i<r.length;i++){let o=this._scopeMapping.get(r[i]).aggregator.definitions;for(let a of o.keys())if(a.includes(e)){let u=o.get(a);n.push(...u)}}return n}resolveAvailableAssignments(e){return this._scopeMapping.get(e.scope)?.aggregator.resolveAvailableAssignments(e)??[]}resolveType(e,n){return this._scopeMapping.get(e.scope)?.aggregator.resolveType(e,n)??null}resolveTypeWithDefault(e,n){return this._scopeMapping.get(e.scope)?.aggregator.resolveTypeWithDefault(e,n)}resolveNamespace(e,n=!1){return this._scopeMapping.get(e.scope)?.aggregator.resolveNamespace(e,n)??null}merge(...e){let n=new t({root:this._root,container:this._container.copy()});for(let r of e)n._globals.extend(r._globals.copy({line:-1})),n._intrinscis.map.extend(r._intrinscis.map.copy({line:-1})),n._intrinscis.funcRef.extend(r._intrinscis.funcRef.copy({line:-1})),n._intrinscis.number.extend(r._intrinscis.number.copy({line:-1})),n._intrinscis.string.extend(r._intrinscis.string.copy({line:-1})),n._intrinscis.list.extend(r._intrinscis.list.copy({line:-1}));return n.analyze(),n}};rd.Document=wy});var Cy=g(id=>{"use strict";Object.defineProperty(id,"__esModule",{value:!0});id.ContainerProxy=void 0;var xr=Un(),xi=uo(),z0=ts(),K0=Da(),Ay=Vl(),Oy=class t{get primitives(){return this._primitives}get types(){return this._types}constructor(e){this._container=e.container,this._primitives=e.primitives??this.createPrimitives(),this._types=e.types??this.createTypes()}createPrimitives(){let e=new Map;for(let[n,r]of this._container.getPrimitives()){let i=new xi.Entity({kind:z0.CompletionItemKind.Constant,container:this,isAPI:n===xr.SignatureDefinitionBaseType.General}).addType(xr.SignatureDefinitionBaseType.Map).insertSignature(r);e.set(n,i)}return e}createTypes(){let e=new Map;for(let[n,r]of this._container.getTypes()){let i=new xi.Entity({kind:z0.CompletionItemKind.Constant,container:this}).addType(xr.SignatureDefinitionBaseType.Map).insertSignature(r);e.set(n,i)}return e}getTypeSignature(e){return this._primitives.get(e)??this._types.get(e)??null}searchDefinitionMatches(e,n){if(typeof e=="string")return this.searchDefinitionMatches([e],n);let r=e.includes(xr.SignatureDefinitionBaseType.Any)?new Set(this._container.getAllVisibleTypes()):new Set(e),i=new Map;for(let s of r){let o=this.getTypeSignature(s);if(o===null)continue;let a=(0,Ay.lookupProperty)(o,n);a!==null&&i.set(s,a)}return i}getDefinition(e,n,r=!1){if(typeof e=="string")return this.getDefinition([e],n);let i=(0,Ay.lookupProperty)(this._primitives.get(xr.SignatureDefinitionBaseType.Any),n);if(e.includes(xr.SignatureDefinitionBaseType.Any)&&i)return(0,xi.resolveEntity)(this,i,r);let s=this.searchDefinitionMatches(e,n);return s.size===0?null:s.size===1?(0,xi.resolveEntity)(this,s.values().next().value,r):s.has(xr.SignatureDefinitionBaseType.Any)?(0,xi.resolveEntity)(this,s.get(xr.SignatureDefinitionBaseType.Any),r):i!==null?(0,xi.resolveEntity)(this,i,r):(0,xi.resolveEntity)(this,s.values().next().value,r)}getGeneralDefinition(e,n=!1){let r=(0,Ay.lookupProperty)(this._primitives.get(xr.SignatureDefinitionBaseType.General),e);return r==null?null:(0,xi.resolveEntity)(this,r,n)}getAllIdentifier(e){let n=new Map;if(e===xr.SignatureDefinitionBaseType.Any){for(let i of this._container.getAllVisibleTypes()){let s=this.getTypeSignature(i);s!=null&&(0,K0.injectIdentifers)(n,s)}return n}let r=this.getTypeSignature(e);return r!=null&&(0,K0.injectIdentifers)(n,r),n}copy(){return new t({container:this._container})}};id.ContainerProxy=Oy});var X0=g(sd=>{"use strict";Object.defineProperty(sd,"__esModule",{value:!0});sd.TypeManager=void 0;var DM=Ey(),PM=Cy(),Ry=class{constructor(e){this._container=new PM.ContainerProxy({container:e.container}),this._types=new Map}analyze(e,n){let r=new DM.Document({container:this._container.copy(),root:n});try{r.analyze()}catch(i){console.error(i)}return this._types.set(e,r),r}get(e){return this._types.get(e)??null}};sd.TypeManager=Ry});var Wa=g(oe=>{"use strict";Object.defineProperty(oe,"__esModule",{value:!0});oe.TypeManager=oe.ContainerProxy=oe.Document=oe.Aggregator=oe.Scope=oe.Entity=oe.lookupProperty=oe.isEligibleForProperties=oe.injectIdentifers=oe.isSignatureDefinitionFunction=oe.isResolveChainItemWithValue=oe.isResolveChainItemWithMember=oe.isResolveChainItemWithIndex=oe.isResolveChainItemWithIdentifier=oe.CompletionItemKind=oe.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION=oe.ObjectSetIterator=oe.ObjectSet=oe.rotateBits=oe.getStringHashCode=oe.getHashCode=oe.createResolveChain=oe.enrichWithMetaInformation=oe.createExpressionId=oe.createExpressionHash=oe.isValidIdentifierLiteral=void 0;var IM=da();Object.defineProperty(oe,"isValidIdentifierLiteral",{enumerable:!0,get:function(){return IM.isValidIdentifierLiteral}});var MM=Zk();Object.defineProperty(oe,"createExpressionHash",{enumerable:!0,get:function(){return MM.createExpressionHash}});var LM=jg();Object.defineProperty(oe,"createExpressionId",{enumerable:!0,get:function(){return LM.createExpressionId}});var NM=Um();Object.defineProperty(oe,"enrichWithMetaInformation",{enumerable:!0,get:function(){return NM.enrichWithMetaInformation}});var qM=Hm();Object.defineProperty(oe,"createResolveChain",{enumerable:!0,get:function(){return qM.createResolveChain}});var Dy=qg();Object.defineProperty(oe,"getHashCode",{enumerable:!0,get:function(){return Dy.getHashCode}});Object.defineProperty(oe,"getStringHashCode",{enumerable:!0,get:function(){return Dy.getStringHashCode}});Object.defineProperty(oe,"rotateBits",{enumerable:!0,get:function(){return Dy.rotateBits}});var Y0=zm();Object.defineProperty(oe,"ObjectSet",{enumerable:!0,get:function(){return Y0.ObjectSet}});Object.defineProperty(oe,"ObjectSetIterator",{enumerable:!0,get:function(){return Y0.ObjectSetIterator}});var jM=Km();Object.defineProperty(oe,"DEFAULT_CUSTOM_FUNCTION_DESCRIPTION",{enumerable:!0,get:function(){return jM.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION}});var FM=ts();Object.defineProperty(oe,"CompletionItemKind",{enumerable:!0,get:function(){return FM.CompletionItemKind}});var od=Xm();Object.defineProperty(oe,"isResolveChainItemWithIdentifier",{enumerable:!0,get:function(){return od.isResolveChainItemWithIdentifier}});Object.defineProperty(oe,"isResolveChainItemWithIndex",{enumerable:!0,get:function(){return od.isResolveChainItemWithIndex}});Object.defineProperty(oe,"isResolveChainItemWithMember",{enumerable:!0,get:function(){return od.isResolveChainItemWithMember}});Object.defineProperty(oe,"isResolveChainItemWithValue",{enumerable:!0,get:function(){return od.isResolveChainItemWithValue}});var $M=Ym();Object.defineProperty(oe,"isSignatureDefinitionFunction",{enumerable:!0,get:function(){return $M.isSignatureDefinitionFunction}});var BM=Da();Object.defineProperty(oe,"injectIdentifers",{enumerable:!0,get:function(){return BM.injectIdentifers}});var UM=Wl();Object.defineProperty(oe,"isEligibleForProperties",{enumerable:!0,get:function(){return UM.isEligibleForProperties}});var HM=Vl();Object.defineProperty(oe,"lookupProperty",{enumerable:!0,get:function(){return HM.lookupProperty}});var WM=uo();Object.defineProperty(oe,"Entity",{enumerable:!0,get:function(){return WM.Entity}});var GM=ny();Object.defineProperty(oe,"Scope",{enumerable:!0,get:function(){return GM.Scope}});var VM=xy();Object.defineProperty(oe,"Aggregator",{enumerable:!0,get:function(){return VM.Aggregator}});var zM=Ey();Object.defineProperty(oe,"Document",{enumerable:!0,get:function(){return zM.Document}});var KM=Cy();Object.defineProperty(oe,"ContainerProxy",{enumerable:!0,get:function(){return KM.ContainerProxy}});var XM=X0();Object.defineProperty(oe,"TypeManager",{enumerable:!0,get:function(){return XM.TypeManager}})});var Py=g(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.getSymbolItemKind=fo.getCompletionItemKind=void 0;var Xt=Wa(),YM=t=>{switch(t){case Xt.CompletionItemKind.Constant:return 21;case Xt.CompletionItemKind.Variable:return 6;case Xt.CompletionItemKind.Expression:return 6;case Xt.CompletionItemKind.Function:return 3;case Xt.CompletionItemKind.ListConstructor:case Xt.CompletionItemKind.MapConstructor:case Xt.CompletionItemKind.Literal:case Xt.CompletionItemKind.Unknown:return 12}};fo.getCompletionItemKind=YM;var JM=t=>{switch(t){case Xt.CompletionItemKind.Constant:return 14;case Xt.CompletionItemKind.Variable:return 13;case Xt.CompletionItemKind.Expression:return 13;case Xt.CompletionItemKind.Function:return 12;case Xt.CompletionItemKind.ListConstructor:return 18;case Xt.CompletionItemKind.MapConstructor:return 19;case Xt.CompletionItemKind.Literal:case Xt.CompletionItemKind.Unknown:return 13}};fo.getSymbolItemKind=JM});var My=g(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});ad.findEx=void 0;var QM=Le(),ZM=function(t){return{ParenthesisExpression:(e,n)=>{t(e.expression,n)},AssignmentStatement:function(e,n){t(e.init,n),t(e.variable,n)},MemberExpression:function(e,n){t(e.base,n),t(e.identifier,n)},FunctionDeclaration:function(e,n){for(let r=0;r<e.parameters.length;r++)t(e.parameters[r],n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},MapConstructorExpression:function(e,n){for(let r=0;r<e.fields.length;r++)t(e.fields[r],n)},ReturnStatement:function(e,n){e.argument&&t(e.argument,n)},WhileStatement:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},IndexExpression:function(e,n){t(e.base,n),t(e.index,n)},SliceExpression:function(e,n){t(e.base,n),t(e.left,n),t(e.right,n)},ListValue:function(e,n){t(e.value,n)},MapKeyString:function(e,n){t(e.key,n),t(e.value,n)},IfShortcutStatement:function(e,n){for(let r=0;r<e.clauses.length;r++)t(e.clauses[r],n)},IfShortcutClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseifShortcutClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseShortcutClause:function(e,n){for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ForGenericStatement:function(e,n){t(e.variable,n),t(e.iterator,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},IfStatement:function(e,n){for(let r=0;r<e.clauses.length;r++)t(e.clauses[r],n)},IfClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseifClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseClause:function(e,n){for(let r=0;r<e.body.length;r++)t(e.body[r],n)},NegationExpression:function(e,n){t(e.argument,n)},CallExpression:function(e,n){t(e.base,n);for(let r=0;r<e.arguments.length;r++)t(e.arguments[r],n)},CallStatement:function(e,n){t(e.expression,n)},ListConstructorExpression:function(e,n){for(let r=0;r<e.fields.length;r++)t(e.fields[r],n)},BinaryExpression:function(e,n){t(e.left,n),t(e.right,n)},BinaryNegatedExpression:function(e,n){t(e.argument,n)},IsaExpression:function(e,n){t(e.left,n),t(e.right,n)},LogicalExpression:function(e,n){t(e.left,n),t(e.right,n)},ComparisonGroupExpression:function(e,n){for(let r=0;r<e.expressions.length;r++)t(e.expressions[r],n)},UnaryExpression:function(e,n){t(e.argument,n)},Chunk:function(e,n){for(let r=0;r<e.body.length;r++)t(e.body[r],n)},InvalidCodeExpression:()=>{}}},Iy=class{constructor(e){this.map=ZM(this.visit.bind(this)),this.callback=e,this.state={exit:!1}}visit(e,n=0){let r=this;if(e==null)return;if(e.type==null)throw console.error("Error ast type:",e),new Error("Unexpected as type");if(r.state=r.callback(e,n),r.state.exit||r.state.skip)return;let i=r.map[e.type];i?.call(r,e,n+1)}};function eL(t,e){let n=[];return new Iy((i,s)=>{let o=t(i,s)||{};return o.valid&&i.type!==QM.ASTType.InvalidCodeExpression&&n.push(i),{exit:!!o.exit,skip:!!o.skip}}).visit(e),n}ad.findEx=eL});var J0=g((N5,tL)=>{tL.exports={insert:{description:"Depending on the data type this method will insert a value to the provided index. Due to the insertion, the object will be mutated. To get a better idea about the behaviour look into the `insert` method related to `list` or `string`.",example:["list = [2, 3, 4]","list.insert(2, 42)",'print("List with inserted item: " + list.join(", "))']},indexOf:{description:"Depending on the data type this function searches for the index of the provided value. To get a better idea about the behaviour look into the `indexOf` methods related to `string`, `list` and `map`.",example:['index = "test".indexOf("e")','print("e is at: " + index)']},hasIndex:{description:"Depending on data type this function checks if the provided index is available inside the value. To get a better idea about the behaviour look into the `hasIndex` methods related to `string`, `list` and `map`.",example:['print("List has index: " + [1, 2, 3].hasIndex(2)']},remove:{description:"Depending on the data type this function will remove a value in the provided object. As a result, the object will get mutated. To get a better idea about the behaviour look into the `remove` methods related to `list` and `map`.",example:["list = [9, 3, 5, 7]","list.remove(5)",'print("List after removal: " + list.join(", "))']},push:{description:"Depending on data type this function will append a value to the provided object. As a result, the object will get mutated. To get a better idea about the behaviour look into the `push` methods related to `list` and `map`.",example:["list = [0, 1, 2, 3, 4, 5]","list.push(42)",'print("The answer to everything is: " + list.pop)']},pull:{description:"Depending on data type this function will return the first item in the provided value. Additionally, this function removes the last item and therefore mutates the object. To get a better idea about the behaviour look into the `pop` methods related to `list` and `map`.",example:["myList = [42, 1, 3]","answer = myList.pull",'print("Answer to everything: " + answer)']},pop:{description:"Depending on data type this function will return the last item in the provided value. Additionally, this function removes the last item and therefore mutates the object. To get a better idea about the behaviour look into the `pop` methods related to `list` and `map`.",example:["list = [0, 1, 2, 3, 4, 5]",'print("The last item is: " + list.pop)']},shuffle:{description:"Depending on data type this function will shuffle data. Instead of returning the newly shuffled data, this function will mutate the data. To get a better idea about the behaviour look into the `shuffle` methods related to `list` and `map`.",example:["list = [0, 1, 2, 3, 4, 5]","list.shuffle",'print("And the winner is: " + list[0])']},sum:{description:"Depending on data type this function returns the sum of all items. To get a better idea about the behaviour look into the `sum` methods related to `list` and `map`.",example:["list = [0, 1, 2, 3, 4, 5]",'print("Sum of all items is: " + list.sum)']},indexes:{description:"Depending on data type this function returns a `list` with all available indexes. To get a better idea about the behaviour look into the `indexes` methods related to `string`, `list` and `map`.",example:['indexesOfStr = "test".indexes','print("Following indexes are available: " + indexesOfStr.join(", "))']},len:{description:"Depending on data type this function returns the length of the provided value. To get a better idea about the behaviour look into the `len` methods related to `string`, `list` and `map`.",example:['length = "test".len','print("Length of string is: " + length)']},values:{description:"Depending on data type this function returns a `list` with all available values. To get a better idea about the behaviour look into the `values` methods related to `string`, `list` and `map`.",example:['indexesOfStr = "test".values','print("Following values are available: " + indexesOfStr.join(", "))']}}});var Q0=g((q5,nL)=>{nL.exports={hasIndex:{description:"Depending on data type this function checks if the provided index is available inside the value. To get a better idea about the behaviour look into the `hasIndex` methods related to `string`, `list` and `map`.",example:['print("List has index: " + hasIndex([1, 2, 3], 2)']},print:{description:"Print a message on the Terminal.",example:['print("hello world")']},indexes:{description:"Depending on data type this function returns a `list` with all available indexes. To get a better idea about the behaviour look into the `indexes` methods related to `string`, `list` and `map`.",example:['indexesOfStr = indexes("test")','print("Following indexes are available: " + indexesOfStr.join(", "))']},values:{description:"Depending on data type this function returns a `list` with all available values. To get a better idea about the behaviour look into the `values` methods related to `string`, `list` and `map`.",example:['indexesOfStr = values("test")','print("Following values are available: " + indexesOfStr.join(", "))']},indexOf:{description:"Depending on the data type this function searches for the index of the provided value. To get a better idea about the behaviour look into the `indexOf` methods related to `string`, `list` and `map`.",example:['index = indexOf("test", "e")','print("e is at: " + index)']},len:{description:"Depending on data type this function returns the length of the provided value. To get a better idea about the behaviour look into the `len` methods related to `string`, `list` and `map`.",example:['length = len("test")','print("Length of string is: " + length)']},shuffle:{description:"Depending on data type this function will shuffle data. Instead of returning the newly shuffled data, this function will mutate the data. To get a better idea about the behaviour look into the `shuffle` methods related to `list` and `map`.",example:["list = [0, 1, 2, 3, 4, 5]","shuffle(list)",'print("And the winner is: " + list[0])']},val:{description:"Casts a `string` to a `number`. In case the provided `string` does not represent a valid `number` the `number` zero will get returned.",example:['num = val("1.25")','print("Number in string is: " + num)']},lower:{description:"Returns a `string` which is the lowercase transformed version of the provided `string`.",example:['myString = lower("HELLO WORLD")',"print(myString)"]},upper:{description:"Returns a `string` which is the uppercase transformed version of the provided `string`.",example:['myString = upper("hello world")',"print(myString)"]},sum:{description:"Depending on data type this function returns the sum of all items. To get a better idea about the behaviour look into the `sum` methods related to `list` and `map`.",example:["list = [0, 1, 2, 3, 4, 5]",'print("Sum of all items is: " + sum(list))']},pop:{description:"Depending on data type this function will return the last item in the provided value. Additionally, this function removes the last item and therefore mutates the object. To get a better idea about the behaviour look into the `pop` methods related to `list` and `map`.",example:["list = [0, 1, 2, 3, 4, 5]",'print("The last item is: " + pop(list))']},pull:{description:"Depending on data type this function will return the first item in the provided value. Additionally, this function removes the first item and therefore mutates the object. To get a better idea about the behaviour look into the `pull` methods related to `list` and `map`.",example:["list = [0, 1, 2, 3, 4, 5]",'print("The first item is: " + pull(list))']},push:{description:"Depending on data type this function will append a value to the provided object. As a result, the object will get mutated. To get a better idea about the behaviour look into the `push` methods related to `list` and `map`.",example:["list = [0, 1, 2, 3, 4, 5]","push(list, 42)",'print("The answer to everything is: " + pop(list))']},sort:{description:"Depending on the data type this function will sort the values in the provided object. As a result, the object will get mutated. To get a better idea about the behaviour look into the `sort` methods related to `list` and `map`.",example:["list = [9, 3, 5, 7]","sort(list)",'print("Sorted list: " + list.join(", "))']},remove:{description:"Depending on the data type this function will remove a value in the provided object. As a result, the object will get mutated. To get a better idea about the behaviour look into the `remove` methods related to `list` and `map`.",example:["list = [9, 3, 5, 7]","remove(list, 5)",'print("List after removal: " + list.join(", "))']},wait:{description:"Puts script execution on hold. Optionally the duration can be provided via the time argument. By default, the duration will be 1 second. The duration cannot be below 0.01 or above 300.",example:["start = time","wait(5)","elapsed = time - start",'print("Waited: " + elapsed)']},bitwise:{description:'Enables to perform bitwise operations. Supported operators are: `"&"`, `"|"`, `"^"`, `"<<"`, `">>"`, `">>>"`. Returns a `number`.',example:["num = params[0].to_int",'isOdd = bitwise("&", num, 1) == 1',"if isOdd then",' print("Number is odd.")',"else",' print("Number is even.")',"end if"]},abs:{description:"Returns the absolute value of `number`.",example:["a = 1","b = 5","difference = abs(a - b)",'print("Difference between a and b is: " + difference)']},acos:{description:"Returns the inverse cosine (in radians) of a `number`.",example:["adjacent = 8","hypotenuse = 10","calcAngle = acos(adjacent / hypotenuse)",'print("Angle: " + calcAngle)']},asin:{description:"Returns the inverse sine (in radians) of a `number`.",example:["opposite = 6","hypotenuse = 10","calcAngle = acos(opposite / hypotenuse)",'print("Angle: " + calcAngle)']},atan:{description:"Returns the inverse tangent (in radians) of a `number`.",example:["opposite = 8","hypotenuse = 10","calcAngle = atan(opposite / hypotenuse)",'print("Angle: " + calcAngle)']},tan:{description:"Returns the tangent of a `number` in radians.",example:["degrees = 90","tanFromDegrees = tan(degress * pi / 180)",'print("Tan from degrees: " + tanFromDegrees)']},cos:{description:"Returns the cosine of a `number` in radians.",example:["radians = 1","radius = 10","circleX = cos(radians) * radius","print(circleX)"]},code:{description:"Returns the Unicode `number` of the first character of the string. In case an empty `string` is provided the script execution will crash.",example:['key = user_input("Press a key!", false, true)',"isA = key.code == 97","if isA then",' print("You pressed A.")',"else",' print("You did not press A.")',"end if"]},char:{description:"Returns the Unicode character `string` related to the provided unicode `number`. The provided `number` needs to be between 0 and 65535. Any `number` which is outside this range will cause the script to throw a runtime error.",example:['key = user_input("Press a key!", false, true)',"isA = key == char(97)","if isA then",' print("You pressed A.")',"else",' print("You did not press A.")',"end if"]},sin:{description:"Returns the sine of a `number` in radians.",example:["radians = 1","radius = 10","circleY = sin(radians) * radius","print(circleY)"]},floor:{description:"Returns `number` rounded down to the integer value of the provided `number`.",example:["price = 25.43467","floored = floor(price * 100) / 100",'print("Floored price: " + floored)']},range:{description:"Returns a `list` where each item is a `number`. By default, the `list` starts with the `number` zero and increments by one for each item. Optionally start and end can be defined. Additionally, the incremental value can be changed as well. In case the incremental value is zero this function will throw a runtime error.",example:['print("Countdown:")',"for num in range(10)"," print(num)","end for",'print("Done!")']},round:{description:"Returns `number` rounded to the integer value of the provided `number`.",example:["price = 25.43467","rounded = round(price * 100) / 100",'print("Price: " + rounded)']},rnd:{description:"Returns a random `number` between 0 and 1. Optionally a seed `number` can be provided.",example:["min = 10","max = 20","output = floor(rnd * (max - min + 1) + min)",'input = user_input("Guess a number between 10 and 20!").to_int',"if (input == output) then",' print("You guessed right!")',"else",' print("You failed! The number was " + output)',"end if"]},sign:{description:"Returns a one or minus one, indicating the sign of the number passed as argument. If the input is zero, it will be returned as-is.",example:["print(sign(40))","print(sign(-40))","print(sign(0))"]},sqrt:{description:"Returns the square root of a `number`.",example:["a = 3","b = 4","calcHypotenuse = sqrt((a * a) + (b * b))",'print("Hypotenuse: " + calcHypotenuse)']},str:{description:"Returns the `string` value of provided data. Can be used to turn a `number` into a `string` or to get the signature of a `function`.",example:["signature = str(@user_input)","argSegment = signature[9:signature.len - 1]",'args = argSegment.split(",")','print("Function has " + args.len + " arguments.")']},ceil:{description:"Returns `number` rounded up to the integer value of the provided `number`.",example:["price = 25.43467","upperPrice = ceil(price * 100) / 100",'print("Upper price: " + upperPrice)']},pi:{description:"Returns the `number` PI to the precision of six.",example:["radius = 10","circumference = 2 * pi * radius",'print("Circumference: " + circumference)']},slice:{description:"Returns a sliced `list`. Valid data types for slicing are `string` and `list`. The returned `list` will contain all elements related to the provided start and end index.",example:['myString = "not your text"','print("my " + slice(myString, 9))']},hash:{description:"Returns numeric hash for the provided data.",example:['hashA = hash({ "a": 2, "b": 1 })','hashB = hash({ "b": 1, "a": 2 })',"if (hashA == hashB) then",' print("Objects are alike!")',"else",' print("Objects are different!")',"end if"]},time:{description:"Returns a `number` of seconds representing the elapsed time since the script got started.",example:["start = time","for i in range(10000)"," var = i * 100","end for","endTime = time - start",'print("Script execution done within: " + endTime)']},bitAnd:{description:"Performs a bitwise AND for the provided values. Returns a `number`.",example:['print("Result of bitwise AND: " + bitAnd(1, 2))']},bitOr:{description:"Performs a bitwise OR for the provided values. Returns a `number`.",example:['print("Result of bitwise OR: " + bitOr(1, 2))']},bitXor:{description:"Permorms a bitwise XOR for the provided values. Returns a `number`.",example:['print("Result of bitwise XOR: " + bitXor(1, 2))']},log:{description:"Returns the natural logarithm of a `number`. By default, the base is 10. Optionally the base can be changed.",example:["a = 2","b = 8","baseLog = log(a) / log(b)",'print("Base log is: " + baseLog)']},yield:{description:"Waits for the next tick.",example:["while (true)"," yield",' print("tick")',"end while"]},get_custom_object:{description:"Returns `map` which is shared throughout all script executions. Can be helpful in case forwarding an entity is desired.",example:["get_custom_object.shouldEndScript = false","while (get_custom_object.shouldEndScript)",' print("Waiting...")'," wait(2)","end while"]},insert:{description:"Depending on the data type this function will insert a value to the provided index. Due to the insertion, the object will be mutated. To get a better idea about the behaviour look into the `insert` method related to `list` or `string`.",example:["list = [2, 3, 4]","insert(list, 2, 42)",'print("List with inserted item: " + list.join(", "))']},join:{description:"Returns a concatenated `string` containing all stringified values inside the `list`. These values will be separated via the provided separator.",example:["myList = [42, 1, 3]",`print(join(myList, " .-*'*-. "))`]},split:{description:"Returns a `list` where each item is a segment of the `string`. The separation depends on the provided separator `string`. Keep in mind that for some odd reason, this method is using regular expressions for matching.",example:['myString = "42 as an answer is wrong"','segments = split(myString, " ")','if segments[0] != "42" then',' print("Invalid information spotted!")',"else",' print("Information seems valid!")',"end if"]},replace:{description:"Depending on the data type this function will replace a value in the provided object. Due to the replacement, the object might get mutated. To get a better idea about the behaviour look into the `replace` method related to `map`, `list` or `string`.",example:['myString = "42 as an answer is wrong"','newString = replace(myString, "wrong", "right")',"print(newString)"]},refEquals:{description:"Tests whether two values refer to the very same object (rather than merely representing the same value). For numbers, this is the same as ==, but for strings, lists, and maps, it is reference equality."},version:{description:`Get a map with information about the version of MiniScript and the host environment that you're currently running. This will include at least the following keys:
|
111
|
+
`)}else if(i instanceof De.ASTComment)return i.value;return n}resolveFunctionStatement(e){let n=Me.SignatureDefinitionFunction.parse({type:Me.SignatureDefinitionBaseType.Function,description:this.createFunctionDescription(e),arguments:e.parameters.map(r=>{if(r.type===De.ASTType.Identifier)return{label:r.name??"unknown",type:Me.SignatureDefinitionBaseType.Any};let i=r;return{label:i.variable?.name??"unknown",types:Array.from(this.resolveTypeWithDefault(i.init).types)}}),returns:["any"]});return this.factory(we.CompletionItemKind.Function).addType(Me.SignatureDefinitionBaseType.Function).addSignatureType((0,OM.enrichWithMetaInformation)(n)).setLine(e.start.line)}resolveParenthesisExpression(e){return this.resolveTypeWithDefault(e.expression)}resolveBinaryExpression(e){let n=this.factory(we.CompletionItemKind.Expression).setLabel("Binary Expr").setLine(e.start.line),r=this.resolveTypeWithDefault(e.left),i=this.resolveTypeWithDefault(e.right);return n.extend(r),n.extend(i),n}resolveLogicalExpression(e){return this.factory(we.CompletionItemKind.Expression).setLabel("Logical Expr").addType(Me.SignatureDefinitionBaseType.Number).setLine(e.start.line)}resolveComparisonGroupExpression(e){return this.factory(we.CompletionItemKind.Expression).setLabel("Comparison Group Expr").addType(Me.SignatureDefinitionBaseType.Number).setLine(e.start.line)}resolveIsaExpression(e){return this.factory(we.CompletionItemKind.Expression).setLabel("Isa Expr").addType(Me.SignatureDefinitionBaseType.Number).setLine(e.start.line)}resolveCallStatement(e){let n=this.resolveNamespace(e);return n===null?this.factory(we.CompletionItemKind.Variable).addType(Me.SignatureDefinitionBaseType.Any).setLine(e.start.line):n}resolveCallExpression(e){let n=this.resolveNamespace(e);return n===null?this.factory(we.CompletionItemKind.Variable).addType(Me.SignatureDefinitionBaseType.Any).setLine(e.start.line):n}resolveUnaryExpression(e){let n=this.resolveNamespace(e);return n===null?this.factory(we.CompletionItemKind.Variable).addType(Me.SignatureDefinitionBaseType.Any).setLine(e.start.line):n}resolveMapConstructorExpression(e){let n=this.factory(we.CompletionItemKind.MapConstructor).addType(Me.SignatureDefinitionBaseType.Map);for(let r=0;r<e.fields.length;r++){let i=e.fields[r],s=this.resolveTypeWithDefault(i.value).setLine(i.start.line);if(i.key.type===De.ASTType.StringLiteral)n.setProperty(i.key.value.toString(),s);else{let o=this.resolveTypeWithDefault(i.key).setLine(i.start.line);n.setProperty(o,s)}}return this.createCustomTypeFromMap(e,n),n.setLabel("{}").setLine(e.start.line)}resolveListConstructorExpression(e){let n=this.factory(we.CompletionItemKind.ListConstructor).addType(Me.SignatureDefinitionBaseType.List);for(let r=0;r<e.fields.length;r++){let i=e.fields[r],s=this.factory(we.CompletionItemKind.Variable).addType(Me.SignatureDefinitionBaseType.Number).setLine(i.start.line),o=this.resolveTypeWithDefault(i.value).setLine(i.start.line);n.setProperty(s,o)}return n.setLabel("[]").setLine(e.start.line)}resolveSliceExpression(e){let n=this.resolveNamespace(e);return n===null?this.factory(we.CompletionItemKind.Variable).addType(Me.SignatureDefinitionBaseType.Any).setLine(e.start.line):n.setLine(e.start.line)}resolveIndexExpression(e,n=!1){let r=this.resolveNamespace(e,n);return r===null?this.factory(we.CompletionItemKind.Variable).addType(Me.SignatureDefinitionBaseType.Any).setLine(e.start.line):r}resolveMemberExpression(e,n=!1){let r=this.resolveNamespace(e,n);return r===null?this.factory(we.CompletionItemKind.Property).addType(Me.SignatureDefinitionBaseType.Any).setLabel(e.identifier.name).setLine(e.start.line):r}resolveIdentifier(e,n=!1){let r=this.resolveNamespace(e,n);return r===null?this.factory(we.CompletionItemKind.Property).addType(Me.SignatureDefinitionBaseType.Any).setLabel(e.name).setLine(e.start.line):r}resolveType(e,n=!1){if(e==null)return null;switch(e.type){case De.ASTType.ParenthesisExpression:return this.resolveParenthesisExpression(e);case De.ASTType.CallStatement:return this.resolveCallStatement(e);case De.ASTType.CallExpression:return this.resolveCallExpression(e);case De.ASTType.BinaryExpression:return this.resolveBinaryExpression(e);case De.ASTType.LogicalExpression:return this.resolveLogicalExpression(e);case De.ASTType.IsaExpression:return this.resolveIsaExpression(e);case De.ASTType.ComparisonGroupExpression:return this.resolveComparisonGroupExpression(e);case De.ASTType.FunctionDeclaration:return this.resolveFunctionStatement(e);case De.ASTType.SliceExpression:return this.resolveSliceExpression(e);case De.ASTType.IndexExpression:return this.resolveIndexExpression(e,n);case De.ASTType.MemberExpression:return this.resolveMemberExpression(e,n);case De.ASTType.Identifier:return this.resolveIdentifier(e,n);case De.ASTType.MapConstructorExpression:return this.resolveMapConstructorExpression(e);case De.ASTType.ListConstructorExpression:return this.resolveListConstructorExpression(e);case De.ASTType.NegationExpression:case De.ASTType.BinaryNegatedExpression:case De.ASTType.UnaryExpression:return this.resolveUnaryExpression(e);case De.ASTType.NilLiteral:return this.factory(we.CompletionItemKind.Literal).addType("null").setLabel("null").setLine(e.start.line);case De.ASTType.StringLiteral:{let r=e.value.toString();return this.factory(we.CompletionItemKind.Literal).addType(Me.SignatureDefinitionBaseType.String).setLabel(`"${r.length>20?r.substr(0,20)+"...":r}"`).setLine(e.start.line)}case De.ASTType.NumericLiteral:case De.ASTType.BooleanLiteral:{let r=e.value.toString();return this.factory(we.CompletionItemKind.Literal).addType(Me.SignatureDefinitionBaseType.Number).setLabel(r).setLine(e.start.line)}case td.ASTType.FeatureFileExpression:return this.factory(we.CompletionItemKind.Expression).addType(Me.SignatureDefinitionBaseType.String).setLabel("File Expr").setLine(e.start.line);case td.ASTType.FeatureLineExpression:return this.factory(we.CompletionItemKind.Expression).addType(Me.SignatureDefinitionBaseType.Number).setLabel("Line Expr").setLine(e.start.line);case td.ASTType.FeatureEnvarExpression:return this.factory(we.CompletionItemKind.Expression).addType(Me.SignatureDefinitionBaseType.String).setLabel("Envar Expr").setLine(e.start.line);case td.ASTType.FeatureInjectExpression:return this.factory(we.CompletionItemKind.Expression).addType(Me.SignatureDefinitionBaseType.String).setLabel("Inject Expr").setLine(e.start.line);default:return null}}resolveTypeWithDefault(e=null,n=!1){let r=this.resolveType(e,n);if(r==null){let i=this.factory(we.CompletionItemKind.Variable).addType(Me.SignatureDefinitionBaseType.Any);return e!=null&&i.setLine(e.start.line),i}return r}resolveChain(e,n=!1){if(e.length===0)return null;let r=null,i=e[0],s=i.unary?.operator==="@"&&!i.isInCallExpression||n&&e.length===1;if((0,os.isResolveChainItemWithIdentifier)(i))if(i.getter.name==="globals")r=this._scope.globals;else if(i.getter.name==="outer")r=this._scope.outer;else if(i.getter.name==="locals")r=this._scope.locals;else if(i.getter.name==="super"){let a=this._document.getScopeContext(i.ref.scope)?.scope.context?.values.get("i:__isa");a==null?r=this.factory(we.CompletionItemKind.Constant).addType("null").setLabel("super"):r=a.copy({kind:we.CompletionItemKind.Constant,label:"super",values:a.values})}else if(i.getter.name==="self"){let a=this._document.getScopeContext(i.ref.scope)?.scope.context;a==null?r=this.factory(we.CompletionItemKind.Constant).addType("null").setLabel("self"):r=a.copy({kind:we.CompletionItemKind.Constant,label:"self",values:a.values})}else r=this._scope.resolveNamespace(i.getter.name,s)??this.factory(we.CompletionItemKind.Variable).addType(Me.SignatureDefinitionBaseType.Any).setLabel(i.getter.name);else if((0,os.isResolveChainItemWithValue)(i))r=this.resolveTypeWithDefault(i.value,s);else return null;if(i.unary?.operator==="new"&&r!==null){let a=this.factory(we.CompletionItemKind.Variable).addType(Me.SignatureDefinitionBaseType.Map).setLabel(r.label);a.setProperty("__isa",r),r=a}let o=e.length;for(let a=1;a<o&&r!==null;a++){let u=e[a],c=u.unary?.operator==="@"&&!u.isInCallExpression||n&&e.length-1===a;if((0,os.isResolveChainItemWithMember)(u))r=r.resolveProperty(u.getter.name,c)??this.factory(we.CompletionItemKind.Variable).addType(Me.SignatureDefinitionBaseType.Any).setLabel(u.getter.name);else if((0,os.isResolveChainItemWithIndex)(u))if((0,U0.isValidIdentifierLiteral)(u.getter)){let l=u.getter.value.toString();r=r.resolveProperty(l,u.isInCallExpression)??this.factory(we.CompletionItemKind.Variable).addType(Me.SignatureDefinitionBaseType.Any).setLabel(l)}else{let l=this.resolveTypeWithDefault(u.getter);r=r.resolveProperty(l,u.isInCallExpression)??this.factory(we.CompletionItemKind.Variable).addType(Me.SignatureDefinitionBaseType.Any)}else if(u.ref.type===De.ASTType.SliceExpression)r=r.copy();else return null;if(u.unary?.operator==="new"&&r!==null){let l=this.factory(we.CompletionItemKind.Property).addType(Me.SignatureDefinitionBaseType.Map).setLabel(r.label);l.setProperty("__isa",r),r=l}}return r}resolveNamespace(e,n=!1){let r=(0,B0.createResolveChain)(e);return this.resolveChain(r,n)}defineNamespace(e,n){let r=(0,B0.createResolveChain)(e),i=r.pop();if(r.length>0){let o=this.resolveChain(r);if(o===null)return!1;if((0,os.isResolveChainItemWithMember)(i))return o.setProperty(i.getter.name,n);if((0,os.isResolveChainItemWithIndex)(i)){if((0,U0.isValidIdentifierLiteral)(i.getter))return o.setProperty(i.getter.value.toString(),n);{let a=this.resolveTypeWithDefault(i.getter);return o.setProperty(a,n)}}return!1}let s=this._scope;return(0,os.isResolveChainItemWithIdentifier)(i)?s.setProperty(i.getter.name,n):!1}resolveAvailableAssignmentsWithQuery(e){let n=[],r=new Set([this,this._parent,this._document.getRootScopeContext().aggregator]);for(let i of r){let s=i.definitions;for(let o of s.keys())if(o.includes(e)){let a=s.get(o);n.push(...a)}}return n}resolveAvailableAssignments(e){let n=(0,$0.createExpressionId)(e),r=this;n.startsWith("globals.")?(r=this._document.getRootScopeContext().aggregator,n=n.slice(8)):n.startsWith("locals.")?(r=this,n=n.slice(7)):n.startsWith("outer.")&&(r=this.parent,n=n.slice(6));let i=[],s=new Set([r,r._parent,r._document.getRootScopeContext().aggregator]);for(let o of s){if(o==null)continue;let a=o._definitions.get(n);a!=null&&i.push(...a)}return i}analyze(){for(let e=0;e<this._root.assignments.length;e++){let n=this._root.assignments[e],r=this.resolveType(n.init)?.copy().setLine(n.start.line)??this.factory(we.CompletionItemKind.Variable).addType(Me.SignatureDefinitionBaseType.Any).setLine(n.start.line);this.defineNamespace(n.variable,r);let i=(0,$0.createExpressionId)(n.variable),s=this._definitions;i.startsWith("globals.")?(s=this._document.getRootScopeContext().aggregator.definitions,i=i.slice(8)):i.startsWith("locals.")?(s=this._definitions,i=i.slice(7)):i.startsWith("outer.")&&(s=this.parent.definitions,i=i.slice(6));let o=s.get(i);o?o.push(n):s.set(i,[n])}}};nd.Aggregator=ky});var Ey=g(rd=>{"use strict";Object.defineProperty(rd,"__esModule",{value:!0});rd.Document=void 0;var Ur=Un(),RM=Ne(),H0=ts(),W0=xy(),G0=uo(),V0=ny(),wy=class t{get root(){return this._root}get container(){return this._container}get intrinsics(){return this._intrinscis}get globals(){return this._globals}get api(){return this._api}constructor(e){this._root=e.root,this._container=e.container,this._scopeMapping=e.scopeMapping??new WeakMap,this._intrinscis=e.intrinsics??this.createIntrinscis(),this._api=e.api??this.initApi(),this._globals=e.globals??this.initGlobals()}createIntrinscis(){return{map:this._container.primitives.get(Ur.SignatureDefinitionBaseType.Map),funcRef:this._container.primitives.get(Ur.SignatureDefinitionBaseType.Function),number:this._container.primitives.get(Ur.SignatureDefinitionBaseType.Number),string:this._container.primitives.get(Ur.SignatureDefinitionBaseType.String),list:this._container.primitives.get(Ur.SignatureDefinitionBaseType.List)}}initApi(){let e=this._container.primitives.get(Ur.SignatureDefinitionBaseType.General);return e.resolveProperty("map",!0).setReturnEntity(this._intrinscis.map),e.resolveProperty("funcRef",!0).setReturnEntity(this._intrinscis.funcRef),e.resolveProperty("number",!0).setReturnEntity(this._intrinscis.number),e.resolveProperty("string",!0).setReturnEntity(this._intrinscis.string),e.resolveProperty("list",!0).setReturnEntity(this._intrinscis.list),e}initGlobals(){return new G0.Entity({kind:H0.CompletionItemKind.Constant,container:this._container,label:"globals"}).addType(Ur.SignatureDefinitionBaseType.Map)}analyzeScope(e){let n=this._scopeMapping.get(e.scope),r=new V0.Scope({container:this._container,parent:n?.scope,globals:this._globals}),i=new W0.Aggregator({scope:r,root:e,document:this,parent:n?.aggregator});this._scopeMapping.set(e,{scope:r,aggregator:i});let s=e.assignment instanceof RM.ASTAssignmentStatement?this.resolveNamespace(e.assignment.variable,!0):null;if(s!==null){let o=s?.context;o!=null&&o.types.has(Ur.SignatureDefinitionBaseType.Map)&&o!==this._globals&&r.setContext(o)}if(i.analyze(),s!==null){let o=s.signatureDefinitions.last();if(o!=null){let a=o.getArguments();for(let u=0;u<a.length;u++){let c=a[u],l=r.resolveProperty(c.getLabel(),!0),d=c.getTypes().map(p=>p.type);l===null?r.setProperty(c.getLabel(),new G0.Entity({kind:H0.CompletionItemKind.Variable,container:this._container}).addType(...d)):(l.types.delete(Ur.SignatureDefinitionBaseType.Any),l.addType(...d))}}}}analyze(){let e=new V0.Scope({container:this._container,globals:this._globals,locals:this._globals}),n=new W0.Aggregator({scope:e,root:this._root,document:this});this._scopeMapping.set(this._root,{scope:e,aggregator:n}),n.analyze();for(let r=0;r<this._root.scopes.length;r++){let i=this._root.scopes[r];this.analyzeScope(i)}}getRootScopeContext(){return this._scopeMapping.get(this._root)}getAllScopeContexts(){return[this._root,...this._root.scopes].map(e=>this._scopeMapping.get(e))}getScopeContext(e){return this._scopeMapping.get(e)??null}getLastASTItemOfLine(e){let n=this._root.lines[e];return n&&n.length>0?n[n.length-1]:null}findASTItemInLine(e,n){let r=this._root.lines[e];if(r&&r.length>0){let i=r.find(s=>s.type===n);if(i)return i}return null}resolveAllAssignmentsWithQuery(e){let n=[],r=[this._root,...this._root.scopes];for(let i=0;i<r.length;i++){let o=this._scopeMapping.get(r[i]).aggregator.definitions;for(let a of o.keys())if(a.includes(e)){let u=o.get(a);n.push(...u)}}return n}resolveAvailableAssignments(e){return this._scopeMapping.get(e.scope)?.aggregator.resolveAvailableAssignments(e)??[]}resolveType(e,n){return this._scopeMapping.get(e.scope)?.aggregator.resolveType(e,n)??null}resolveTypeWithDefault(e,n){return this._scopeMapping.get(e.scope)?.aggregator.resolveTypeWithDefault(e,n)}resolveNamespace(e,n=!1){return this._scopeMapping.get(e.scope)?.aggregator.resolveNamespace(e,n)??null}merge(...e){let n=new t({root:this._root,container:this._container.copy()});for(let r of e)n._globals.extend(r._globals.copy({line:-1})),n._intrinscis.map.extend(r._intrinscis.map.copy({line:-1})),n._intrinscis.funcRef.extend(r._intrinscis.funcRef.copy({line:-1})),n._intrinscis.number.extend(r._intrinscis.number.copy({line:-1})),n._intrinscis.string.extend(r._intrinscis.string.copy({line:-1})),n._intrinscis.list.extend(r._intrinscis.list.copy({line:-1})),n._container.mergeCustomTypes(r._container);return n.analyze(),n}};rd.Document=wy});var Cy=g(id=>{"use strict";Object.defineProperty(id,"__esModule",{value:!0});id.ContainerProxy=void 0;var xr=Un(),xi=uo(),z0=ts(),K0=Da(),Ay=Vl(),Oy=class t{get primitives(){return this._primitives}get types(){return this._types}constructor(e){this._container=e.container,this._primitives=e.primitives??this.createPrimitives(),this._types=e.types??this.createTypes(),this._customTypes=[]}createPrimitives(){let e=new Map;for(let[n,r]of this._container.getPrimitives()){let i=new xi.Entity({kind:z0.CompletionItemKind.Constant,container:this,isAPI:n===xr.SignatureDefinitionBaseType.General}).addType(xr.SignatureDefinitionBaseType.Map).insertSignature(r);e.set(n,i)}return e}createTypes(){let e=new Map;for(let[n,r]of this._container.getTypes()){let i=new xi.Entity({kind:z0.CompletionItemKind.Constant,container:this}).addType(xr.SignatureDefinitionBaseType.Map).insertSignature(r);e.set(n,i)}return e}setCustomType(e,n){this._types.has(e)||(this._types.set(e,n),this._customTypes.push(e))}mergeCustomTypes(e){for(let n of e._customTypes){let r=e._types.get(n);r!=null&&this.setCustomType(n,r.copy({disableCascade:!0}))}}getTypeSignature(e){return this._primitives.get(e)??this._types.get(e)??null}searchDefinitionMatches(e,n){if(typeof e=="string")return this.searchDefinitionMatches([e],n);let r=e.includes(xr.SignatureDefinitionBaseType.Any)?new Set(this._container.getAllVisibleTypes()):new Set(e),i=new Map;for(let s of r){let o=this.getTypeSignature(s);if(o===null)continue;let a=(0,Ay.lookupProperty)(o,n);a!==null&&i.set(s,a)}return i}getDefinition(e,n,r=!1){if(typeof e=="string")return this.getDefinition([e],n);let i=(0,Ay.lookupProperty)(this._primitives.get(xr.SignatureDefinitionBaseType.Any),n);if(e.includes(xr.SignatureDefinitionBaseType.Any)&&i)return(0,xi.resolveEntity)(this,i,r);let s=this.searchDefinitionMatches(e,n);return s.size===0?null:s.size===1?(0,xi.resolveEntity)(this,s.values().next().value,r):s.has(xr.SignatureDefinitionBaseType.Any)?(0,xi.resolveEntity)(this,s.get(xr.SignatureDefinitionBaseType.Any),r):i!==null?(0,xi.resolveEntity)(this,i,r):(0,xi.resolveEntity)(this,s.values().next().value,r)}getGeneralDefinition(e,n=!1){let r=(0,Ay.lookupProperty)(this._primitives.get(xr.SignatureDefinitionBaseType.General),e);return r==null?null:(0,xi.resolveEntity)(this,r,n)}getAllIdentifier(e){let n=new Map;if(e===xr.SignatureDefinitionBaseType.Any){for(let i of this._container.getAllVisibleTypes()){let s=this.getTypeSignature(i);s!=null&&(0,K0.injectIdentifers)(n,s)}return n}let r=this.getTypeSignature(e);return r!=null&&(0,K0.injectIdentifers)(n,r),n}copy(){return new t({container:this._container})}};id.ContainerProxy=Oy});var X0=g(sd=>{"use strict";Object.defineProperty(sd,"__esModule",{value:!0});sd.TypeManager=void 0;var DM=Ey(),PM=Cy(),Ry=class{constructor(e){this._container=new PM.ContainerProxy({container:e.container}),this._types=new Map}analyze(e,n){let r=new DM.Document({container:this._container.copy(),root:n});try{r.analyze()}catch(i){console.error(i)}return this._types.set(e,r),r}get(e){return this._types.get(e)??null}};sd.TypeManager=Ry});var Wa=g(oe=>{"use strict";Object.defineProperty(oe,"__esModule",{value:!0});oe.TypeManager=oe.ContainerProxy=oe.Document=oe.Aggregator=oe.Scope=oe.Entity=oe.lookupProperty=oe.isEligibleForProperties=oe.injectIdentifers=oe.isSignatureDefinitionFunction=oe.isResolveChainItemWithValue=oe.isResolveChainItemWithMember=oe.isResolveChainItemWithIndex=oe.isResolveChainItemWithIdentifier=oe.CompletionItemKind=oe.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION=oe.ObjectSetIterator=oe.ObjectSet=oe.rotateBits=oe.getStringHashCode=oe.getHashCode=oe.createResolveChain=oe.enrichWithMetaInformation=oe.createExpressionId=oe.createExpressionHash=oe.isValidIdentifierLiteral=void 0;var IM=da();Object.defineProperty(oe,"isValidIdentifierLiteral",{enumerable:!0,get:function(){return IM.isValidIdentifierLiteral}});var MM=Zk();Object.defineProperty(oe,"createExpressionHash",{enumerable:!0,get:function(){return MM.createExpressionHash}});var LM=jg();Object.defineProperty(oe,"createExpressionId",{enumerable:!0,get:function(){return LM.createExpressionId}});var NM=Um();Object.defineProperty(oe,"enrichWithMetaInformation",{enumerable:!0,get:function(){return NM.enrichWithMetaInformation}});var qM=Hm();Object.defineProperty(oe,"createResolveChain",{enumerable:!0,get:function(){return qM.createResolveChain}});var Dy=qg();Object.defineProperty(oe,"getHashCode",{enumerable:!0,get:function(){return Dy.getHashCode}});Object.defineProperty(oe,"getStringHashCode",{enumerable:!0,get:function(){return Dy.getStringHashCode}});Object.defineProperty(oe,"rotateBits",{enumerable:!0,get:function(){return Dy.rotateBits}});var Y0=zm();Object.defineProperty(oe,"ObjectSet",{enumerable:!0,get:function(){return Y0.ObjectSet}});Object.defineProperty(oe,"ObjectSetIterator",{enumerable:!0,get:function(){return Y0.ObjectSetIterator}});var jM=Km();Object.defineProperty(oe,"DEFAULT_CUSTOM_FUNCTION_DESCRIPTION",{enumerable:!0,get:function(){return jM.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION}});var FM=ts();Object.defineProperty(oe,"CompletionItemKind",{enumerable:!0,get:function(){return FM.CompletionItemKind}});var od=Xm();Object.defineProperty(oe,"isResolveChainItemWithIdentifier",{enumerable:!0,get:function(){return od.isResolveChainItemWithIdentifier}});Object.defineProperty(oe,"isResolveChainItemWithIndex",{enumerable:!0,get:function(){return od.isResolveChainItemWithIndex}});Object.defineProperty(oe,"isResolveChainItemWithMember",{enumerable:!0,get:function(){return od.isResolveChainItemWithMember}});Object.defineProperty(oe,"isResolveChainItemWithValue",{enumerable:!0,get:function(){return od.isResolveChainItemWithValue}});var $M=Ym();Object.defineProperty(oe,"isSignatureDefinitionFunction",{enumerable:!0,get:function(){return $M.isSignatureDefinitionFunction}});var BM=Da();Object.defineProperty(oe,"injectIdentifers",{enumerable:!0,get:function(){return BM.injectIdentifers}});var UM=Wl();Object.defineProperty(oe,"isEligibleForProperties",{enumerable:!0,get:function(){return UM.isEligibleForProperties}});var HM=Vl();Object.defineProperty(oe,"lookupProperty",{enumerable:!0,get:function(){return HM.lookupProperty}});var WM=uo();Object.defineProperty(oe,"Entity",{enumerable:!0,get:function(){return WM.Entity}});var GM=ny();Object.defineProperty(oe,"Scope",{enumerable:!0,get:function(){return GM.Scope}});var VM=xy();Object.defineProperty(oe,"Aggregator",{enumerable:!0,get:function(){return VM.Aggregator}});var zM=Ey();Object.defineProperty(oe,"Document",{enumerable:!0,get:function(){return zM.Document}});var KM=Cy();Object.defineProperty(oe,"ContainerProxy",{enumerable:!0,get:function(){return KM.ContainerProxy}});var XM=X0();Object.defineProperty(oe,"TypeManager",{enumerable:!0,get:function(){return XM.TypeManager}})});var Py=g(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.getSymbolItemKind=fo.getCompletionItemKind=void 0;var Xt=Wa(),YM=t=>{switch(t){case Xt.CompletionItemKind.Constant:return 21;case Xt.CompletionItemKind.Variable:return 6;case Xt.CompletionItemKind.Expression:return 6;case Xt.CompletionItemKind.Function:return 3;case Xt.CompletionItemKind.ListConstructor:case Xt.CompletionItemKind.MapConstructor:case Xt.CompletionItemKind.Literal:case Xt.CompletionItemKind.Unknown:return 12}};fo.getCompletionItemKind=YM;var JM=t=>{switch(t){case Xt.CompletionItemKind.Constant:return 14;case Xt.CompletionItemKind.Variable:return 13;case Xt.CompletionItemKind.Expression:return 13;case Xt.CompletionItemKind.Function:return 12;case Xt.CompletionItemKind.ListConstructor:return 18;case Xt.CompletionItemKind.MapConstructor:return 19;case Xt.CompletionItemKind.Literal:case Xt.CompletionItemKind.Unknown:return 13}};fo.getSymbolItemKind=JM});var My=g(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});ad.findEx=void 0;var QM=Ne(),ZM=function(t){return{ParenthesisExpression:(e,n)=>{t(e.expression,n)},AssignmentStatement:function(e,n){t(e.init,n),t(e.variable,n)},MemberExpression:function(e,n){t(e.base,n),t(e.identifier,n)},FunctionDeclaration:function(e,n){for(let r=0;r<e.parameters.length;r++)t(e.parameters[r],n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},MapConstructorExpression:function(e,n){for(let r=0;r<e.fields.length;r++)t(e.fields[r],n)},ReturnStatement:function(e,n){e.argument&&t(e.argument,n)},WhileStatement:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},IndexExpression:function(e,n){t(e.base,n),t(e.index,n)},SliceExpression:function(e,n){t(e.base,n),t(e.left,n),t(e.right,n)},ListValue:function(e,n){t(e.value,n)},MapKeyString:function(e,n){t(e.key,n),t(e.value,n)},IfShortcutStatement:function(e,n){for(let r=0;r<e.clauses.length;r++)t(e.clauses[r],n)},IfShortcutClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseifShortcutClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseShortcutClause:function(e,n){for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ForGenericStatement:function(e,n){t(e.variable,n),t(e.iterator,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},IfStatement:function(e,n){for(let r=0;r<e.clauses.length;r++)t(e.clauses[r],n)},IfClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseifClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseClause:function(e,n){for(let r=0;r<e.body.length;r++)t(e.body[r],n)},NegationExpression:function(e,n){t(e.argument,n)},CallExpression:function(e,n){t(e.base,n);for(let r=0;r<e.arguments.length;r++)t(e.arguments[r],n)},CallStatement:function(e,n){t(e.expression,n)},ListConstructorExpression:function(e,n){for(let r=0;r<e.fields.length;r++)t(e.fields[r],n)},BinaryExpression:function(e,n){t(e.left,n),t(e.right,n)},BinaryNegatedExpression:function(e,n){t(e.argument,n)},IsaExpression:function(e,n){t(e.left,n),t(e.right,n)},LogicalExpression:function(e,n){t(e.left,n),t(e.right,n)},ComparisonGroupExpression:function(e,n){for(let r=0;r<e.expressions.length;r++)t(e.expressions[r],n)},UnaryExpression:function(e,n){t(e.argument,n)},Chunk:function(e,n){for(let r=0;r<e.body.length;r++)t(e.body[r],n)},InvalidCodeExpression:()=>{}}},Iy=class{constructor(e){this.map=ZM(this.visit.bind(this)),this.callback=e,this.state={exit:!1}}visit(e,n=0){let r=this;if(e==null)return;if(e.type==null)throw console.error("Error ast type:",e),new Error("Unexpected as type");if(r.state=r.callback(e,n),r.state.exit||r.state.skip)return;let i=r.map[e.type];i?.call(r,e,n+1)}};function eL(t,e){let n=[];return new Iy((i,s)=>{let o=t(i,s)||{};return o.valid&&i.type!==QM.ASTType.InvalidCodeExpression&&n.push(i),{exit:!!o.exit,skip:!!o.skip}}).visit(e),n}ad.findEx=eL});var J0=g((N5,tL)=>{tL.exports={insert:{description:"Depending on the data type this method will insert a value to the provided index. Due to the insertion, the object will be mutated. To get a better idea about the behaviour look into the `insert` method related to `list` or `string`.",example:["list = [2, 3, 4]","list.insert(2, 42)",'print("List with inserted item: " + list.join(", "))']},indexOf:{description:"Depending on the data type this function searches for the index of the provided value. To get a better idea about the behaviour look into the `indexOf` methods related to `string`, `list` and `map`.",example:['index = "test".indexOf("e")','print("e is at: " + index)']},hasIndex:{description:"Depending on data type this function checks if the provided index is available inside the value. To get a better idea about the behaviour look into the `hasIndex` methods related to `string`, `list` and `map`.",example:['print("List has index: " + [1, 2, 3].hasIndex(2)']},remove:{description:"Depending on the data type this function will remove a value in the provided object. As a result, the object will get mutated. To get a better idea about the behaviour look into the `remove` methods related to `list` and `map`.",example:["list = [9, 3, 5, 7]","list.remove(5)",'print("List after removal: " + list.join(", "))']},push:{description:"Depending on data type this function will append a value to the provided object. As a result, the object will get mutated. To get a better idea about the behaviour look into the `push` methods related to `list` and `map`.",example:["list = [0, 1, 2, 3, 4, 5]","list.push(42)",'print("The answer to everything is: " + list.pop)']},pull:{description:"Depending on data type this function will return the first item in the provided value. Additionally, this function removes the last item and therefore mutates the object. To get a better idea about the behaviour look into the `pop` methods related to `list` and `map`.",example:["myList = [42, 1, 3]","answer = myList.pull",'print("Answer to everything: " + answer)']},pop:{description:"Depending on data type this function will return the last item in the provided value. Additionally, this function removes the last item and therefore mutates the object. To get a better idea about the behaviour look into the `pop` methods related to `list` and `map`.",example:["list = [0, 1, 2, 3, 4, 5]",'print("The last item is: " + list.pop)']},shuffle:{description:"Depending on data type this function will shuffle data. Instead of returning the newly shuffled data, this function will mutate the data. To get a better idea about the behaviour look into the `shuffle` methods related to `list` and `map`.",example:["list = [0, 1, 2, 3, 4, 5]","list.shuffle",'print("And the winner is: " + list[0])']},sum:{description:"Depending on data type this function returns the sum of all items. To get a better idea about the behaviour look into the `sum` methods related to `list` and `map`.",example:["list = [0, 1, 2, 3, 4, 5]",'print("Sum of all items is: " + list.sum)']},indexes:{description:"Depending on data type this function returns a `list` with all available indexes. To get a better idea about the behaviour look into the `indexes` methods related to `string`, `list` and `map`.",example:['indexesOfStr = "test".indexes','print("Following indexes are available: " + indexesOfStr.join(", "))']},len:{description:"Depending on data type this function returns the length of the provided value. To get a better idea about the behaviour look into the `len` methods related to `string`, `list` and `map`.",example:['length = "test".len','print("Length of string is: " + length)']},values:{description:"Depending on data type this function returns a `list` with all available values. To get a better idea about the behaviour look into the `values` methods related to `string`, `list` and `map`.",example:['indexesOfStr = "test".values','print("Following values are available: " + indexesOfStr.join(", "))']}}});var Q0=g((q5,nL)=>{nL.exports={hasIndex:{description:"Depending on data type this function checks if the provided index is available inside the value. To get a better idea about the behaviour look into the `hasIndex` methods related to `string`, `list` and `map`.",example:['print("List has index: " + hasIndex([1, 2, 3], 2)']},print:{description:"Print a message on the Terminal.",example:['print("hello world")']},indexes:{description:"Depending on data type this function returns a `list` with all available indexes. To get a better idea about the behaviour look into the `indexes` methods related to `string`, `list` and `map`.",example:['indexesOfStr = indexes("test")','print("Following indexes are available: " + indexesOfStr.join(", "))']},values:{description:"Depending on data type this function returns a `list` with all available values. To get a better idea about the behaviour look into the `values` methods related to `string`, `list` and `map`.",example:['indexesOfStr = values("test")','print("Following values are available: " + indexesOfStr.join(", "))']},indexOf:{description:"Depending on the data type this function searches for the index of the provided value. To get a better idea about the behaviour look into the `indexOf` methods related to `string`, `list` and `map`.",example:['index = indexOf("test", "e")','print("e is at: " + index)']},len:{description:"Depending on data type this function returns the length of the provided value. To get a better idea about the behaviour look into the `len` methods related to `string`, `list` and `map`.",example:['length = len("test")','print("Length of string is: " + length)']},shuffle:{description:"Depending on data type this function will shuffle data. Instead of returning the newly shuffled data, this function will mutate the data. To get a better idea about the behaviour look into the `shuffle` methods related to `list` and `map`.",example:["list = [0, 1, 2, 3, 4, 5]","shuffle(list)",'print("And the winner is: " + list[0])']},val:{description:"Casts a `string` to a `number`. In case the provided `string` does not represent a valid `number` the `number` zero will get returned.",example:['num = val("1.25")','print("Number in string is: " + num)']},lower:{description:"Returns a `string` which is the lowercase transformed version of the provided `string`.",example:['myString = lower("HELLO WORLD")',"print(myString)"]},upper:{description:"Returns a `string` which is the uppercase transformed version of the provided `string`.",example:['myString = upper("hello world")',"print(myString)"]},sum:{description:"Depending on data type this function returns the sum of all items. To get a better idea about the behaviour look into the `sum` methods related to `list` and `map`.",example:["list = [0, 1, 2, 3, 4, 5]",'print("Sum of all items is: " + sum(list))']},pop:{description:"Depending on data type this function will return the last item in the provided value. Additionally, this function removes the last item and therefore mutates the object. To get a better idea about the behaviour look into the `pop` methods related to `list` and `map`.",example:["list = [0, 1, 2, 3, 4, 5]",'print("The last item is: " + pop(list))']},pull:{description:"Depending on data type this function will return the first item in the provided value. Additionally, this function removes the first item and therefore mutates the object. To get a better idea about the behaviour look into the `pull` methods related to `list` and `map`.",example:["list = [0, 1, 2, 3, 4, 5]",'print("The first item is: " + pull(list))']},push:{description:"Depending on data type this function will append a value to the provided object. As a result, the object will get mutated. To get a better idea about the behaviour look into the `push` methods related to `list` and `map`.",example:["list = [0, 1, 2, 3, 4, 5]","push(list, 42)",'print("The answer to everything is: " + pop(list))']},sort:{description:"Depending on the data type this function will sort the values in the provided object. As a result, the object will get mutated. To get a better idea about the behaviour look into the `sort` methods related to `list` and `map`.",example:["list = [9, 3, 5, 7]","sort(list)",'print("Sorted list: " + list.join(", "))']},remove:{description:"Depending on the data type this function will remove a value in the provided object. As a result, the object will get mutated. To get a better idea about the behaviour look into the `remove` methods related to `list` and `map`.",example:["list = [9, 3, 5, 7]","remove(list, 5)",'print("List after removal: " + list.join(", "))']},wait:{description:"Puts script execution on hold. Optionally the duration can be provided via the time argument. By default, the duration will be 1 second. The duration cannot be below 0.01 or above 300.",example:["start = time","wait(5)","elapsed = time - start",'print("Waited: " + elapsed)']},bitwise:{description:'Enables to perform bitwise operations. Supported operators are: `"&"`, `"|"`, `"^"`, `"<<"`, `">>"`, `">>>"`. Returns a `number`.',example:["num = params[0].to_int",'isOdd = bitwise("&", num, 1) == 1',"if isOdd then",' print("Number is odd.")',"else",' print("Number is even.")',"end if"]},abs:{description:"Returns the absolute value of `number`.",example:["a = 1","b = 5","difference = abs(a - b)",'print("Difference between a and b is: " + difference)']},acos:{description:"Returns the inverse cosine (in radians) of a `number`.",example:["adjacent = 8","hypotenuse = 10","calcAngle = acos(adjacent / hypotenuse)",'print("Angle: " + calcAngle)']},asin:{description:"Returns the inverse sine (in radians) of a `number`.",example:["opposite = 6","hypotenuse = 10","calcAngle = acos(opposite / hypotenuse)",'print("Angle: " + calcAngle)']},atan:{description:"Returns the inverse tangent (in radians) of a `number`.",example:["opposite = 8","hypotenuse = 10","calcAngle = atan(opposite / hypotenuse)",'print("Angle: " + calcAngle)']},tan:{description:"Returns the tangent of a `number` in radians.",example:["degrees = 90","tanFromDegrees = tan(degress * pi / 180)",'print("Tan from degrees: " + tanFromDegrees)']},cos:{description:"Returns the cosine of a `number` in radians.",example:["radians = 1","radius = 10","circleX = cos(radians) * radius","print(circleX)"]},code:{description:"Returns the Unicode `number` of the first character of the string. In case an empty `string` is provided the script execution will crash.",example:['key = user_input("Press a key!", false, true)',"isA = key.code == 97","if isA then",' print("You pressed A.")',"else",' print("You did not press A.")',"end if"]},char:{description:"Returns the Unicode character `string` related to the provided unicode `number`. The provided `number` needs to be between 0 and 65535. Any `number` which is outside this range will cause the script to throw a runtime error.",example:['key = user_input("Press a key!", false, true)',"isA = key == char(97)","if isA then",' print("You pressed A.")',"else",' print("You did not press A.")',"end if"]},sin:{description:"Returns the sine of a `number` in radians.",example:["radians = 1","radius = 10","circleY = sin(radians) * radius","print(circleY)"]},floor:{description:"Returns `number` rounded down to the integer value of the provided `number`.",example:["price = 25.43467","floored = floor(price * 100) / 100",'print("Floored price: " + floored)']},range:{description:"Returns a `list` where each item is a `number`. By default, the `list` starts with the `number` zero and increments by one for each item. Optionally start and end can be defined. Additionally, the incremental value can be changed as well. In case the incremental value is zero this function will throw a runtime error.",example:['print("Countdown:")',"for num in range(10)"," print(num)","end for",'print("Done!")']},round:{description:"Returns `number` rounded to the integer value of the provided `number`.",example:["price = 25.43467","rounded = round(price * 100) / 100",'print("Price: " + rounded)']},rnd:{description:"Returns a random `number` between 0 and 1. Optionally a seed `number` can be provided.",example:["min = 10","max = 20","output = floor(rnd * (max - min + 1) + min)",'input = user_input("Guess a number between 10 and 20!").to_int',"if (input == output) then",' print("You guessed right!")',"else",' print("You failed! The number was " + output)',"end if"]},sign:{description:"Returns a one or minus one, indicating the sign of the number passed as argument. If the input is zero, it will be returned as-is.",example:["print(sign(40))","print(sign(-40))","print(sign(0))"]},sqrt:{description:"Returns the square root of a `number`.",example:["a = 3","b = 4","calcHypotenuse = sqrt((a * a) + (b * b))",'print("Hypotenuse: " + calcHypotenuse)']},str:{description:"Returns the `string` value of provided data. Can be used to turn a `number` into a `string` or to get the signature of a `function`.",example:["signature = str(@user_input)","argSegment = signature[9:signature.len - 1]",'args = argSegment.split(",")','print("Function has " + args.len + " arguments.")']},ceil:{description:"Returns `number` rounded up to the integer value of the provided `number`.",example:["price = 25.43467","upperPrice = ceil(price * 100) / 100",'print("Upper price: " + upperPrice)']},pi:{description:"Returns the `number` PI to the precision of six.",example:["radius = 10","circumference = 2 * pi * radius",'print("Circumference: " + circumference)']},slice:{description:"Returns a sliced `list`. Valid data types for slicing are `string` and `list`. The returned `list` will contain all elements related to the provided start and end index.",example:['myString = "not your text"','print("my " + slice(myString, 9))']},hash:{description:"Returns numeric hash for the provided data.",example:['hashA = hash({ "a": 2, "b": 1 })','hashB = hash({ "b": 1, "a": 2 })',"if (hashA == hashB) then",' print("Objects are alike!")',"else",' print("Objects are different!")',"end if"]},time:{description:"Returns a `number` of seconds representing the elapsed time since the script got started.",example:["start = time","for i in range(10000)"," var = i * 100","end for","endTime = time - start",'print("Script execution done within: " + endTime)']},bitAnd:{description:"Performs a bitwise AND for the provided values. Returns a `number`.",example:['print("Result of bitwise AND: " + bitAnd(1, 2))']},bitOr:{description:"Performs a bitwise OR for the provided values. Returns a `number`.",example:['print("Result of bitwise OR: " + bitOr(1, 2))']},bitXor:{description:"Permorms a bitwise XOR for the provided values. Returns a `number`.",example:['print("Result of bitwise XOR: " + bitXor(1, 2))']},log:{description:"Returns the natural logarithm of a `number`. By default, the base is 10. Optionally the base can be changed.",example:["a = 2","b = 8","baseLog = log(a) / log(b)",'print("Base log is: " + baseLog)']},yield:{description:"Waits for the next tick.",example:["while (true)"," yield",' print("tick")',"end while"]},get_custom_object:{description:"Returns `map` which is shared throughout all script executions. Can be helpful in case forwarding an entity is desired.",example:["get_custom_object.shouldEndScript = false","while (get_custom_object.shouldEndScript)",' print("Waiting...")'," wait(2)","end while"]},insert:{description:"Depending on the data type this function will insert a value to the provided index. Due to the insertion, the object will be mutated. To get a better idea about the behaviour look into the `insert` method related to `list` or `string`.",example:["list = [2, 3, 4]","insert(list, 2, 42)",'print("List with inserted item: " + list.join(", "))']},join:{description:"Returns a concatenated `string` containing all stringified values inside the `list`. These values will be separated via the provided separator.",example:["myList = [42, 1, 3]",`print(join(myList, " .-*'*-. "))`]},split:{description:"Returns a `list` where each item is a segment of the `string`. The separation depends on the provided separator `string`. Keep in mind that for some odd reason, this method is using regular expressions for matching.",example:['myString = "42 as an answer is wrong"','segments = split(myString, " ")','if segments[0] != "42" then',' print("Invalid information spotted!")',"else",' print("Information seems valid!")',"end if"]},replace:{description:"Depending on the data type this function will replace a value in the provided object. Due to the replacement, the object might get mutated. To get a better idea about the behaviour look into the `replace` method related to `map`, `list` or `string`.",example:['myString = "42 as an answer is wrong"','newString = replace(myString, "wrong", "right")',"print(newString)"]},refEquals:{description:"Tests whether two values refer to the very same object (rather than merely representing the same value). For numbers, this is the same as ==, but for strings, lists, and maps, it is reference equality."},version:{description:`Get a map with information about the version of MiniScript and the host environment that you're currently running. This will include at least the following keys:
|
111
112
|
miniscript: a string such as "1.5"
|
112
113
|
buildDate: a date in yyyy-mm-dd format, like "2020-05-28"
|
113
114
|
host: a number for the host major and minor version, like 0.9
|
114
115
|
hostName: name of the host application, e.g. "Mini Micro"
|
115
|
-
hostInfo: URL or other short info about the host app`},stackTrace:{description:"Get a list describing the call stack."}}});var Z0=g((j5,rL)=>{rL.exports={$meta:{description:"Create a `list` with square brackets. Then iterate over the `list` with for, or pull out individual items with a 0-based index in square brackets. A negative index counts from the end. Get a slice (subset) of a `list` with two indices, separated by a colon.",example:["x = [2, 4, 6, 8]","print(x[0]) // get first item from list","print(x[-1]) // get last item from list","print(x[1:3]) // slice items from index 1 to 3","x[2] = 5 // set item at index 2 to 5","print(x)","print(x + [42]) // concatenate two lists"]},remove:{description:"Removes an item from the `list` with the provided index. Due to the removal the `list` will get mutated.",example:["myList = [1, 42, 3]","myList.remove(1)",'print("This list does not contain the answer to everything: " + myList.split(", "))']},insert:{description:"Inserts a value into the `list` at the index provided. Due to the insertion the `list` will get mutated. Returns the mutated `list`.",example:["myList = [1, 3]","myList.insert(1, 42)",'print("This list does contain the answer to everything: " + myList.split(", "))']},push:{description:"Appends a value to the end of the `list`. This operation will mutate the `list`. Additionally, this method will return the updated `list`.",example:["myList = [1, 3]","myList.push(42)",'print("This list does contain the answer to everything: " + myList.split(", "))']},pop:{description:"Returns and removes the last item in the `list`. This operation will mutate the `list`.",example:["myList = [1, 3, 42]","answer = myList.pop",'print("Answer to everything: " + answer)']},pull:{description:"Returns and removes the first item in the `list`. This operation will mutate the `list`.",example:["myList = [42, 1, 3]","answer = myList.pull",'print("Answer to everything: " + answer)']},shuffle:{description:"Shuffles all values in the `list`. This operation will mutate the `list`.",example:["myList = [42, 1, 3]","myList.shuffle",'print("New list order: " + myList.split(", "))']},sum:{description:"Returns sum of all values inside the `list`. Any non-numeric values will be considered a zero.",example:["myList = [42, 1, 3]","sum = myList.sum",'print("Sum of all items in list: " + sum)']},hasIndex:{description:"Returns `true` if the provided index is available in the `list`. Otherwise, this method will return `false`.",example:["myList = [42, 1, 3]","containsIndex = myList.hasIndex(1)","if containsIndex then",' print("List contains index of 1.")',"else",' print("List does not contain index of 1.")',"end if"]},indexOf:{description:"Returns a `number` which indicates the first matching index of the provided value inside the `list`. Optionally a start index can be provided. In case the value does not exist inside the `list` a `null` gets returned.",example:["myList = [42, 1, 3]","index = myList.indexOf(42)","if index != null then",' print("The answer for everything is at the following index: " + index)',"else",' print("No answer for everything found.")',"end if"]},sort:{description:"Sort `list` values alphanumerically. This operation will mutate the `list`. Optionally a key can be provided which which is used in case the items are maps. Additionally, this method will return the updated `list`.",example:['myList = [{ "key": 42 }, { "key": 2 }, { "key": 1 }]','myList.sort("key")',"print(myList)"]},join:{description:"Returns a concatenated `string` containing all stringified values inside the `list`. These values will be separated via the provided separator.",example:["myList = [42, 1, 3]",`print(myList.join(" .-*'*-. "))`]},indexes:{description:"Returns a `list` containing all available indexes.",example:["myList = [42, 1, 3]","for i in myList.indexes"," print(myList[i])","end for"]},len:{description:"Returns a `number` representing the count of values inside the `list`.",example:["myList = [42, 1, 3]",'print("myList contains " + myList.len + " items")']},values:{description:"Returns a `list` containing all available values.",example:["myList = [42, 1, 3]","for v in myList.values"," print(v)","end for"]},replace:{description:"Returns updated `list` where each value matching with the provided replace argument gets replaced. This operation will mutate the `list`.",example:["myList = [1, 2, 2, 7]","myList.replace(2, 3)",'print(myList.join(""))']}}});var eE=g((F5,iL)=>{iL.exports={$meta:{description:"A `map` is a set of values associated with unique keys. Create a `map` with curly braces; get or set a single value with square brackets. Keys and values may be any type.",example:['x = { "test": 123 }',"x.foo = 42 // set property foo to 42","print(x.foo) // get value of property foo",'print(x + { "bar": 2 }) // concatenate two maps']},remove:{description:"Removes an item from the `map` with the provided key. Due to the removal the `map` will get mutated.",example:['myMap = { "answer": 42, "bar": 23, "foo": "moo" }','myMap.remove("answer")',"print(myMap)"]},push:{description:"Adds the value 1 to the provided key. This operation will mutate the `map`. Additionally, this method will return the updated `map`.",example:['myMap = { "answer": 42, "bar": 23, "foo": "moo" }','myMap.push("answer")',"print(myMap.answer)"]},pull:{description:"Returns and removes the first item in the `map`. This operation will mutate the `map`.",example:['myMap = { "answer": 42, "bar": 23, "foo": "moo" }',"print(myMap.pull)"]},pop:{description:"Returns and removes the last item in the `map`. This operation will mutate the `map`.",example:['myMap = { "answer": 42, "bar": 23, "foo": "moo" }',"print(myMap.pop)"]},shuffle:{description:"Shuffles all values in the `map`. This operation will mutate the `map`.",example:['myMap = { "answer": 42, "bar": 23, "foo": "moo" }',"myMap.shuffle","print(myMap)"]},sum:{description:"Returns sum of all values inside the `map`. Any non-numeric values will be considered a zero.",example:['myMap = { "answer": 42, "bar": 23, "foo": "moo" }',"sum = myMap.sum",'print("Sum of all items in map: " + sum)']},hasIndex:{description:"Returns `true` if the provided key is available in the `map`. Otherwise, this method will return `false`.",example:['myMap = { "answer": 42, "bar": 23, "foo": "moo" }','containsIndex = myList.hasIndex("answer")',"if containsIndex then",' print("Map contains the answer.")',"else",' print("Map does not contain the answer.")',"end if"]},indexOf:{description:"Returns `string` which indicates the key of the provided value inside the `map`. In case the value does not exist inside the `map` a `null` gets returned.",example:['myMap = { "answer": 42, "bar": 23, "foo": "moo" }',"key = myList.indexOf(42)","if key != null then",' print("Map contains the answer.")',"else",' print("Map does not contain the answer.")',"end if"]},indexes:{description:"Returns a `list` containing all available keys.",example:['myMap = { "answer": 42, "bar": 23, "foo": "moo" }',"for key in myMap.indexes"," print(myMap[key])","end for"]},len:{description:"Returns a `number` representing the count of items inside the `map`.",example:['myMap = { "answer": 42, "bar": 23, "foo": "moo" }','print("myMap contains " + myMap.len + " items")']},values:{description:"Returns a `list` containing all available values.",example:['myMap = { "answer": 42, "bar": 23, "foo": "moo" }',"for value in myMap.values"," print(value)","end for"]},replace:{description:"Returns updated `map` where each value matching with the provided replace argument gets replaced. This operation will mutate the `map`.",example:['myObject = { "answer": 45 }',"myObject.replace(45, 42)","print(myObject.answer)"]}}});var tE=g(($5,sL)=>{sL.exports={$meta:{description:"All numbers are stored in full-precision format. Numbers also represent `true == 1` and `false == 0`.",example:["a = 20","b = 22","print(a + b) // addition","print(a - b) // substraction","print(a / b) // division","print(a * b) // multiply","print(a % b) // modulo","print(a - b) // substraction","print(a ^ b) // power","print(a and b) // logical and","print(a or b) // logical or","print(not a) // logical not","print(a == b) // comparison equal","print(a != b) // comparison unequal","print(a > b) // comparison greater than","print(a < b) // comparison lower than","print(a >= b) // comparison greater equal than","print(a <= b) // comparison lower equal than"]}}});var nE=g((B5,oL)=>{oL.exports={$meta:{description:"Text is stored in strings of Unicode characters. Write strings by surrounding them with quotes. If you need to include a quotation mark in the string, write it twice.",example:['a = "hello"','b = "world"',"print(a + b) // concatinate a and b","print(a * 10) // repeat hello ten times","print(a[0]) // prints h","print(a[1:3]) // prints ell"]},remove:{description:"Returns a new `string` where the provided `string` got removed.",example:['myString = "42 as an answer is wrong"','newString = myString.remove("wrong")','print(newString + "right")']},hasIndex:{description:"Returns `true` if the provided index is available in the `string`. Otherwise, this method will return `false`.",example:['myString = "42 as an answer is wrong"',"containsIndex = myString.hasIndex(1)","if containsIndex then",' print("String contains index of 1.")',"else",' print("String does not contain index of 1.")',"end if"]},insert:{description:"Returns a `string` with the newly inserted `string` at the provided index.",example:['myString = "42 as an answer is wrong"','index = myString.lastIndexOf("w") - 1','newString = myString.insert(index, "not ")',"print(newString)"]},indexOf:{description:"Returns a `number` which indicates the first matching index of the provided value inside the `list`. Optionally a start index can be provided. In case the value does not exist inside the `string` a `null` gets returned.",example:['myString = "42 as an answer is wrong"','index = myString.indexOf("wrong")',"if index != null then",' print("Invalid information spotted at: " + index)',"else",' print("Information seems valid.")',"end if"]},split:{description:"Returns a `list` where each item is a segment of the `string`. The separation depends on the provided separator `string`. Keep in mind that for some odd reason, this method is using regular expressions for matching.",example:['myString = "42 as an answer is wrong"','segments = myString.split(" ")','if segments[0] != "42" then',' print("Invalid information spotted!")',"else",' print("Information seems valid!")',"end if"]},replace:{description:"Returns a new `string` where the provided `string` got replaced by the second provided `string`.",example:['myString = "42 as an answer is wrong"','newString = myString.replace("wrong", "right")',"print(newString)"]},indexes:{description:"Returns a `list` where each item is a `number` representing all available indexes in the `string`.",example:['myString = "42"',"print(myString.indexes)"]},code:{description:"Returns a `number` representing the Unicode code of the first character of the `string`.",example:['myString = "HELLO WORLD"',"print(myString.code)"]},len:{description:"Returns a `number` representing the length of the `string`.",example:['myString = "HELLO WORLD"','print("Size of string is: " + myString.len)']},lower:{description:"Returns a new `string` in which all characters are transformed into lowercase.",example:['myString = "HELLO WORLD"',"print(myString.lower)"]},upper:{description:"Returns a new `string` in which all characters are transformed into uppercase.",example:['myString = "hello world"',"print(myString.upper)"]},val:{description:"Returns a `number` which is parsed from the `string`. In case the `string` is not numeric it will return a zero.",example:['myString = "1.25"',"print(myString.val + 40.75)"]},values:{description:"Returns a `list` where each item is a `string` representing all available characters in the `string`. Could be compared to using `split` but without any separator.",example:['myString = "hello world"',"print(myString.values)"]}}});var rE=g(Ga=>{"use strict";var po=Ga&&Ga.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ga,"__esModule",{value:!0});var aL=po(J0()),uL=po(Q0()),cL=po(Z0()),lL=po(eE()),dL=po(tE()),fL=po(nE()),pL={any:aL.default,general:uL.default,list:cL.default,map:lL.default,string:fL.default,number:dL.default};Ga.default=pL});var iE=g((H5,hL)=>{hL.exports={type:"any",definitions:{insert:{type:"function",arguments:[{label:"index",type:"number"},{label:"value",type:"any"}],returns:["list","string"]},indexOf:{type:"function",arguments:[{label:"value",type:"any"},{label:"offset",type:"number",opt:!0}],returns:["any"]},hasIndex:{type:"function",arguments:[{label:"value",type:"any"}],returns:["number"]},remove:{type:"function",arguments:[{label:"value",type:"any"}],returns:["null"]},push:{type:"function",arguments:[{label:"value",type:"any"}],returns:["map","list","null"]},pull:{type:"function",returns:["any"]},pop:{type:"function",returns:["any"]},shuffle:{type:"function",returns:["null"]},sum:{type:"function",returns:["number"]},indexes:{type:"function",returns:["list"]},len:{type:"function",returns:["number"]},values:{type:"function",returns:["list"]}}}});var sE=g((W5,gL)=>{gL.exports={type:"general",definitions:{hasIndex:{type:"function",arguments:[{label:"self",types:["list","map","string"]},{label:"index",type:"any"}],returns:["number","null"]},print:{type:"function",arguments:[{label:"value",type:"any",default:{type:"string",value:""}},{label:"delimiter",type:"string",opt:!0}],returns:["null"]},indexes:{type:"function",arguments:[{label:"self",types:["map","list","string"]}],returns:["list","null"]},values:{type:"function",arguments:[{label:"self",types:["map","list","string"]}],returns:["list"]},indexOf:{type:"function",arguments:[{label:"self",types:["list","map","string"]},{label:"value",type:"any"},{label:"after",type:"any",opt:!0}],returns:["any","null"]},len:{type:"function",arguments:[{label:"self",types:["list","string","map"]}],returns:["number","null"]},shuffle:{type:"function",arguments:[{label:"self",types:["list","map"]}],returns:["null"]},val:{type:"function",arguments:[{label:"self",type:"any"}],returns:["number","null"]},lower:{type:"function",arguments:[{label:"self",type:"string"}],returns:["string"]},upper:{type:"function",arguments:[{label:"self",type:"string"}],returns:["string"]},sum:{type:"function",arguments:[{label:"self",types:["list","map"]}],returns:["number"]},pop:{type:"function",arguments:[{label:"self",types:["list","map"]}],returns:["any","null"]},pull:{type:"function",arguments:[{label:"self",types:["list","map"]}],returns:["any","null"]},push:{type:"function",arguments:[{label:"self",types:["list","map"]},{label:"value",type:"any"}],returns:["map","list","null"]},sort:{type:"function",arguments:[{label:"self",type:"list"},{label:"byKey",type:"any"},{label:"ascending",type:"number",default:{type:"number",value:1}}],returns:["list","null"]},remove:{type:"function",arguments:[{label:"self",types:["list","map","string"]},{label:"key",type:"any"}],returns:["list","map","string"]},wait:{type:"function",arguments:[{label:"seconds",type:"number",default:{type:"number",value:1}}],returns:["null"]},abs:{type:"function",arguments:[{label:"value",type:"number",default:{type:"number",value:0}}],returns:["number"]},acos:{type:"function",arguments:[{label:"value",type:"number",default:{type:"number",value:0}}],returns:["number"]},asin:{type:"function",arguments:[{label:"value",type:"number",default:{type:"number",value:0}}],returns:["number"]},atan:{type:"function",arguments:[{label:"y",type:"number",default:{type:"number",value:0}},{label:"x",type:"number",default:{type:"number",value:1}}],returns:["number"]},tan:{type:"function",arguments:[{label:"radians",type:"number",default:{type:"number",value:0}}],returns:["number"]},cos:{type:"function",arguments:[{label:"radians",type:"number",default:{type:"number",value:0}}],returns:["number"]},code:{type:"function",arguments:[{label:"value",type:"string"}],returns:["number"]},char:{type:"function",arguments:[{label:"codePoint",type:"number",default:{type:"number",value:65}}],returns:["string"]},sin:{type:"function",arguments:[{label:"radians",type:"number",default:{type:"number",value:0}}],returns:["number"]},floor:{type:"function",arguments:[{label:"x",type:"number",default:{type:"number",value:0}}],returns:["number"]},range:{type:"function",arguments:[{label:"start",type:"number",default:{type:"number",value:0}},{label:"end",type:"number",default:{type:"number",value:0}},{label:"inc",type:"number",opt:!0}],returns:[{type:"list",valueType:"number"}]},round:{type:"function",arguments:[{label:"x",type:"number",default:{type:"number",value:0}},{label:"decimalPlaces",type:"number",default:{type:"number",value:0}}],returns:["number"]},rnd:{type:"function",arguments:[{label:"seed",type:"number",opt:!0}],returns:["number"]},sign:{type:"function",arguments:[{label:"x",type:"number",default:{type:"number",value:0}}],returns:["number"]},sqrt:{type:"function",arguments:[{label:"x",type:"number",default:{type:"number",value:0}}],returns:["number"]},str:{type:"function",arguments:[{label:"value",type:"any"}],returns:["string"]},ceil:{type:"function",arguments:[{label:"x",type:"number",default:{type:"number",value:0}}],returns:["number"]},pi:{type:"function",returns:["number"]},slice:{type:"function",arguments:[{label:"seq",types:["list","string"]},{label:"from",type:"number",default:{type:"number",value:0}},{label:"to",type:"number",opt:!0}],returns:["list","string"]},hash:{type:"function",arguments:[{label:"value",type:"any"}],returns:["number"]},time:{type:"function",returns:["number"]},bitAnd:{type:"function",arguments:[{label:"a",type:"number",default:{type:"number",value:0}},{label:"b",type:"number",default:{type:"number",value:0}}],returns:["number"]},bitOr:{type:"function",arguments:[{label:"a",type:"number",default:{type:"number",value:0}},{label:"b",type:"number",default:{type:"number",value:0}}],returns:["number"]},bitXor:{type:"function",arguments:[{label:"a",type:"number",default:{type:"number",value:0}},{label:"b",type:"number",default:{type:"number",value:0}}],returns:["number"]},log:{type:"function",arguments:[{label:"value",type:"number",default:{type:"number",value:0}},{label:"base",type:"number",default:{type:"number",value:10}}],returns:["number"]},yield:{type:"function",returns:["null"]},insert:{type:"function",arguments:[{label:"self",types:["list","string"]},{label:"index",type:"number"},{label:"value",type:"any"}],returns:["list","string"]},join:{type:"function",arguments:[{label:"self",type:"list"},{label:"delimiter",type:"string",default:{type:"string",value:" "}}],returns:["string"]},split:{type:"function",arguments:[{label:"self",type:"string"},{label:"delimiter",type:"string",default:{type:"string",value:" "}},{label:"maxCount",type:"number",default:{type:"number",value:-1}}],returns:[{type:"list",valueType:"string"}]},replace:{type:"function",arguments:[{label:"self",types:["list","map","string"]},{label:"oldval",type:"any"},{label:"newval",type:"any"},{label:"maxCount",type:"number",opt:!0}],returns:["list","map","string"]},funcRef:{type:"function",returns:[{type:"map",keyType:"string"}]},list:{type:"function",returns:[{type:"map",keyType:"string"}]},map:{type:"function",returns:[{type:"map",keyType:"string"}]},number:{type:"function",returns:[{type:"map",keyType:"string"}]},string:{type:"function",returns:[{type:"map",keyType:"string"}]},refEquals:{type:"function",arguments:[{label:"a",type:"any"},{label:"b",type:"any"}],returns:["number"]},stackTrace:{type:"function",returns:[{type:"list",valueType:"string"}]},version:{type:"function",returns:["version"]}}}});var oE=g((G5,mL)=>{mL.exports={type:"list",definitions:{remove:{type:"function",arguments:[{label:"index",type:"number"}],returns:["null"]},insert:{type:"function",arguments:[{label:"index",type:"number"},{label:"value",type:"any"}],returns:["list"]},push:{type:"function",arguments:[{label:"value",type:"any"}],returns:["list"]},pop:{type:"function",returns:["any"]},pull:{type:"function",returns:["any"]},shuffle:{type:"function",returns:["null"]},sum:{type:"function",returns:["number"]},hasIndex:{type:"function",arguments:[{label:"index",type:"number"}],returns:["number"]},indexOf:{type:"function",arguments:[{label:"value",type:"any"},{label:"offset",type:"number",opt:!0}],returns:["number","null"]},sort:{type:"function",arguments:[{label:"byKey",type:"string"},{label:"ascending",type:"number",default:{type:"number",value:1}}],returns:["list"]},join:{type:"function",arguments:[{label:"delimiter",type:"string",default:{type:"string",value:" "}}],returns:["string"]},indexes:{type:"function",returns:[{type:"list",valueType:"number"}]},len:{type:"function",returns:["number"]},values:{type:"function",returns:["list"]},replace:{type:"function",arguments:[{label:"oldVal",type:"any"},{label:"newVal",type:"any"},{label:"maxCount",type:"number",opt:!0}],returns:["list"]}}}});var aE=g((V5,yL)=>{yL.exports={type:"map",definitions:{remove:{type:"function",arguments:[{label:"key",type:"string"}],returns:["number"]},push:{type:"function",arguments:[{label:"key",type:"string"}],returns:["map"]},pull:{type:"function",returns:["any"]},pop:{type:"function",returns:["any"]},shuffle:{type:"function",returns:["null"]},sum:{type:"function",returns:["number"]},hasIndex:{type:"function",arguments:[{label:"key",type:"string"}],returns:["number"]},indexOf:{type:"function",arguments:[{label:"value",type:"any"},{label:"offset",type:"number",opt:!0}],returns:["any","null"]},indexes:{type:"function",returns:["list"]},len:{type:"function",returns:["number"]},values:{type:"function",returns:["list"]},replace:{type:"function",arguments:[{label:"oldVal",type:"any"},{label:"newVal",type:"any"},{label:"maxCount",type:"number",opt:!0}],returns:["map"]}}}});var uE=g((z5,bL)=>{bL.exports={type:"number",definitions:{}}});var cE=g((K5,vL)=>{vL.exports={type:"string",definitions:{remove:{type:"function",arguments:[{label:"toDelete",type:"string"}],returns:["string"]},hasIndex:{type:"function",arguments:[{label:"index",type:"number"}],returns:["number"]},insert:{type:"function",arguments:[{label:"index",type:"number"},{label:"value",type:"string"}],returns:["string"]},indexOf:{type:"function",arguments:[{label:"value",type:"string"},{label:"offset",type:"number",opt:!0}],returns:["number","null"]},split:{type:"function",arguments:[{label:"delimiter",type:"string",default:{type:"string",value:" "}},{label:"maxCount",type:"number",default:{type:"number",value:-1}}],returns:[{type:"list",valueType:"string"}]},replace:{type:"function",arguments:[{label:"oldVal",type:"string"},{label:"newVal",type:"string"},{label:"maxCount",type:"number",opt:!0}],returns:["string"]},indexes:{type:"function",returns:[{type:"list",valueType:"number"}]},code:{type:"function",returns:["number"]},len:{type:"function",returns:["number"]},lower:{type:"function",returns:["string"]},upper:{type:"function",returns:["string"]},val:{type:"function",returns:["number"]},values:{type:"function",returns:[{type:"list",valueType:"string"}]}}}});var lE=g((X5,_L)=>{_L.exports={type:"version",extends:"map",definitions:{miniscript:{type:"string"},buildDate:{type:"string"},host:{type:"number"},hostName:{type:"string"},hostInfo:{type:"string"}}}});var dE=g(hn=>{"use strict";var wi=hn&&hn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(hn,"__esModule",{value:!0});hn.miniscriptMeta=void 0;var TL=Un(),SL=wi(rE()),kL=wi(iE()),xL=wi(sE()),wL=wi(oE()),EL=wi(aE()),AL=wi(uE()),OL=wi(cE()),CL=wi(lE());hn.miniscriptMeta=new TL.Container;hn.miniscriptMeta.addTypeSignatureFromPayload(kL.default);hn.miniscriptMeta.addTypeSignatureFromPayload(xL.default);hn.miniscriptMeta.addTypeSignatureFromPayload(wL.default);hn.miniscriptMeta.addTypeSignatureFromPayload(EL.default);hn.miniscriptMeta.addTypeSignatureFromPayload(AL.default);hn.miniscriptMeta.addTypeSignatureFromPayload(OL.default);hn.miniscriptMeta.addTypeSignatureFromPayload(CL.default);hn.miniscriptMeta.addMetaFromPayload("en",SL.default)});var Va=g(ir=>{"use strict";Object.defineProperty(ir,"__esModule",{value:!0});ir.lookupBase=ir.lookupIdentifier=void 0;var Hr=Le(),RL=dE(),DL=Wa(),PL=t=>{switch(t.type){case Hr.ASTType.CallStatement:return(0,ir.lookupIdentifier)(t.expression);case Hr.ASTType.CallExpression:return(0,ir.lookupIdentifier)(t.base);case Hr.ASTType.Identifier:return t;case Hr.ASTType.MemberExpression:return(0,ir.lookupIdentifier)(t.identifier);case Hr.ASTType.IndexExpression:return(0,ir.lookupIdentifier)(t.index);default:return null}};ir.lookupIdentifier=PL;var IL=(t=null)=>{switch(t?.type){case Hr.ASTType.MemberExpression:return t.base;case Hr.ASTType.IndexExpression:return t.base;case Hr.ASTType.CallExpression:return t.base;case Hr.ASTType.SliceExpression:return t.base;default:return null}};ir.lookupBase=IL;ir.default=new DL.TypeManager({container:RL.miniscriptMeta})});var go=g(Wn=>{"use strict";var ML=Wn&&Wn.__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]}),LL=Wn&&Wn.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),pE=Wn&&Wn.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&ML(e,t,n);return LL(e,t),e};Object.defineProperty(Wn,"__esModule",{value:!0});Wn.LookupHelper=Wn.buildTypeDocument=void 0;var NL=Un(),fE=Le(),ho=Wa(),qL=pE(My()),as=pE(Va());async function Ny(t,e,n=new Map){let r=t.uri;if(n.has(r))return n.get(r);let i=as.default.get(r);if(n.set(r,null),!i)return null;let s=[],o=await e.documentManager.get(t).getImports();await Promise.all(o.map(async u=>{let{document:c,textDocument:l}=u;if(!c)return;let d=await Ny(l,e,n);d!==null&&s.push(d)}));let a=i.merge(...s);return n.set(r,a),a}Wn.buildTypeDocument=Ny;var Ly=class{constructor(e,n){this.document=e,this.context=n}findAllAssignmentsOfIdentifier(e,n){let r=as.default.get(this.document.uri);if(r==null)return[];let i=r.getScopeContext(n);return i==null?[]:i.aggregator.resolveAvailableAssignmentsWithQuery(e)}findAllAssignmentsOfItem(e,n){let r=as.default.get(this.document.uri);if(r==null)return[];let i=r.getScopeContext(n);return i==null?[]:i.aggregator.resolveAvailableAssignments(e)}findAllAvailableIdentifierInRoot(){let e=as.default.get(this.document.uri);return e==null?new Map:e.getRootScopeContext().scope.getAllIdentifier()}findAllAvailableIdentifier(e){let n=as.default.get(this.document.uri);if(n==null)return new Map;let r=n.getScopeContext(e);return r==null?new Map:r.scope.getAllIdentifier()}findAllAvailableIdentifierRelatedToPosition(e){let n=as.default.get(this.document.uri),r=new Map;for(let a of n.container.getAllIdentifier(NL.SignatureDefinitionBaseType.General))r.set(...a);let i=n.getScopeContext(e.scope);if(i==null)return r;i.scope.isSelfAvailable()&&r.set("self",{kind:ho.CompletionItemKind.Constant,line:-1}),i.scope.isSuperAvailable()&&r.set("super",{kind:ho.CompletionItemKind.Constant,line:-1});let s=new Map;(0,ho.injectIdentifers)(s,i.scope);let o=Array.from(s.entries()).map(([a,u])=>({identifier:a,...u})).sort((a,u)=>a.line-u.line);for(let a=0;a<o.length;a++){let u=o[a];if(u.line>=e.end.line)break;r.set(u.identifier,{kind:u.kind,line:u.line})}return i.scope.locals!==i.scope.globals&&(0,ho.injectIdentifers)(r,i.scope.globals),i.scope.outer&&(0,ho.injectIdentifers)(r,i.scope.outer),r}lookupAST(e){let n=this,i=this.context.documentManager.get(n.document).document.lines[e.line+1];if(!i)return null;for(let s=0;s<i.length;s++){let o=i[s],a=qL.findEx((c,l)=>{let d=c.start.line-1,p=c.start.character-1,b=c.end.line-1,T=c.end.character-1;return d>e.line?{exit:!0}:d<b?{valid:e.line>d&&e.line<b||e.line===d&&p<=e.character||e.line===b&&T>=e.character}:{valid:d<=e.line&&p<=e.character&&b>=e.line&&T>=e.character}},o),u=a.pop();if(u)return{closest:u,outer:a}}return null}async lookupBasePath(e){let n=await this.buildTypeMap();if(n===null)return null;let r=(0,as.lookupBase)(e);return r?n.resolveNamespace(r):null}async buildTypeMap(){return await Ny(this.document,this.context)}async lookupTypeInfo({closest:e,outer:n}){let r=await this.buildTypeMap();if(r===null)return null;let i=n.length>0?n[n.length-1]:void 0;return i?.type===fE.ASTType.MemberExpression&&e===i.identifier||i?.type===fE.ASTType.IndexExpression&&e===i.index&&(0,ho.isValidIdentifierLiteral)(e)?r.resolveType(i,!0):r.resolveType(e,!0)}lookupType(e){let n=this,r=n.lookupAST(e);return r?n.lookupTypeInfo(r):null}};Wn.LookupHelper=Ly});var hE=g(ud=>{"use strict";Object.defineProperty(ud,"__esModule",{value:!0});ud.AVAILABLE_CONSTANTS=void 0;ud.AVAILABLE_CONSTANTS=["true","false","null","params","globals","locals","outer"].map(t=>({label:t,kind:21}))});var gE=g(cd=>{"use strict";Object.defineProperty(cd,"__esModule",{value:!0});cd.AVAILABLE_KEYWORDS=void 0;var mo=Br(),Yt=Le();cd.AVAILABLE_KEYWORDS=[Yt.Keyword.If,Yt.Keyword.In,Yt.Keyword.Or,Yt.Keyword.And,Yt.Keyword.Isa,Yt.Keyword.For,Yt.Keyword.New,Yt.Keyword.Not,Yt.Keyword.End,Yt.Keyword.Then,Yt.Keyword.Else,Yt.Keyword.Break,Yt.Keyword.While,Yt.Keyword.Return,Yt.Keyword.Function,Yt.Keyword.Continue,mo.GreybelKeyword.Envar,mo.GreybelKeyword.Import,mo.GreybelKeyword.Include,mo.GreybelKeyword.Debugger,mo.GreybelKeyword.Line,mo.GreybelKeyword.File].map(t=>({label:t,kind:14}))});var mE=g(ld=>{"use strict";Object.defineProperty(ld,"__esModule",{value:!0});ld.AVAILABLE_OPERATORS=void 0;var za=lo(),Lt=Le();ld.AVAILABLE_OPERATORS=[Lt.Operator.Plus,Lt.Operator.Asterik,Lt.Operator.Minus,Lt.Operator.Slash,Lt.Operator.Power,Lt.Operator.Modulo,Lt.Operator.LessThan,Lt.Operator.GreaterThan,Lt.Operator.LessThanOrEqual,Lt.Operator.GreaterThanOrEqual,Lt.Operator.NotEqual,Lt.Operator.Equal,Lt.Operator.AddShorthand,Lt.Operator.SubtractShorthand,Lt.Operator.MultiplyShorthand,Lt.Operator.DivideShorthand,za.Operator.BitwiseAnd,za.Operator.BitwiseOr,za.Operator.LeftShift,za.Operator.RightShift,za.Operator.UnsignedRightShift,Lt.Operator.Assign,Lt.Operator.Reference].map(t=>({label:t,kind:24}))});var vE=g(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.activate=Nt.getDefaultCompletionList=Nt.getPropertyCompletionList=Nt.transformToCompletionItems=void 0;var yE=Le(),jL=Py(),bE=go(),FL=hE(),$L=gE(),BL=mE(),UL=t=>{let e=[];for(let[n,r]of t)e.push({label:n,kind:(0,jL.getCompletionItemKind)(r.kind)});return e};Nt.transformToCompletionItems=UL;var HL=async(t,e)=>{let n=await t.lookupBasePath(e);return n===null?[]:(0,Nt.transformToCompletionItems)(n.getAllIdentifier())};Nt.getPropertyCompletionList=HL;var WL=()=>[...$L.AVAILABLE_KEYWORDS,...BL.AVAILABLE_OPERATORS,...FL.AVAILABLE_CONSTANTS];Nt.getDefaultCompletionList=WL;function GL(t){t.connection.onCompletion(async e=>{if(!t.getConfiguration().autocomplete)return;let n=await t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let r=await t.documentManager.getLatest(n),i=new bE.LookupHelper(r.textDocument,t),s=i.lookupAST(e.position),o=[],a=!1;if(s){let{closest:l}=s;l instanceof yE.ASTMemberExpression?(o.push(...await(0,Nt.getPropertyCompletionList)(i,l)),a=!0):l instanceof yE.ASTIndexExpression?(o.push(...await(0,Nt.getPropertyCompletionList)(i,l)),a=!0):o.push(...(0,Nt.getDefaultCompletionList)())}else o.push(...(0,Nt.getDefaultCompletionList)()),o.push(...(0,Nt.transformToCompletionItems)(i.findAllAvailableIdentifierInRoot()));if(!s||a)return o;let u=new Set([...o.map(l=>l.label)]),c=await r.getImports();for(let l of c){let{document:d}=l;if(!d)continue;let p=new bE.LookupHelper(l.textDocument,t);o.push(...(0,Nt.transformToCompletionItems)(p.findAllAvailableIdentifier(d)).filter(b=>!u.has(b.label)).map(b=>(u.add(b.label),b)))}return o.push(...(0,Nt.transformToCompletionItems)(i.findAllAvailableIdentifierRelatedToPosition(s.closest)).filter(l=>!u.has(l.label))),o}),t.connection.onCompletionResolve(e=>e)}Nt.activate=GL});var TE=g((rU,_E)=>{"use strict";_E.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var qy=g((iU,kE)=>{var Ka=TE(),SE={};for(let t of Object.keys(Ka))SE[Ka[t]]=t;var te={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};kE.exports=te;for(let t of Object.keys(te)){if(!("channels"in te[t]))throw new Error("missing channels property: "+t);if(!("labels"in te[t]))throw new Error("missing channel labels property: "+t);if(te[t].labels.length!==te[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:n}=te[t];delete te[t].channels,delete te[t].labels,Object.defineProperty(te[t],"channels",{value:e}),Object.defineProperty(te[t],"labels",{value:n})}te.rgb.hsl=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255,i=Math.min(e,n,r),s=Math.max(e,n,r),o=s-i,a,u;s===i?a=0:e===s?a=(n-r)/o:n===s?a=2+(r-e)/o:r===s&&(a=4+(e-n)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(i+s)/2;return s===i?u=0:c<=.5?u=o/(s+i):u=o/(2-s-i),[a,u*100,c*100]};te.rgb.hsv=function(t){let e,n,r,i,s,o=t[0]/255,a=t[1]/255,u=t[2]/255,c=Math.max(o,a,u),l=c-Math.min(o,a,u),d=function(p){return(c-p)/6/l+1/2};return l===0?(i=0,s=0):(s=l/c,e=d(o),n=d(a),r=d(u),o===c?i=r-n:a===c?i=1/3+e-r:u===c&&(i=2/3+n-e),i<0?i+=1:i>1&&(i-=1)),[i*360,s*100,c*100]};te.rgb.hwb=function(t){let e=t[0],n=t[1],r=t[2],i=te.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(n,r));return r=1-1/255*Math.max(e,Math.max(n,r)),[i,s*100,r*100]};te.rgb.cmyk=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255,i=Math.min(1-e,1-n,1-r),s=(1-e-i)/(1-i)||0,o=(1-n-i)/(1-i)||0,a=(1-r-i)/(1-i)||0;return[s*100,o*100,a*100,i*100]};function VL(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}te.rgb.keyword=function(t){let e=SE[t];if(e)return e;let n=1/0,r;for(let i of Object.keys(Ka)){let s=Ka[i],o=VL(t,s);o<n&&(n=o,r=i)}return r};te.keyword.rgb=function(t){return Ka[t]};te.rgb.xyz=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255;e=e>.04045?((e+.055)/1.055)**2.4:e/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92;let i=e*.4124+n*.3576+r*.1805,s=e*.2126+n*.7152+r*.0722,o=e*.0193+n*.1192+r*.9505;return[i*100,s*100,o*100]};te.rgb.lab=function(t){let e=te.rgb.xyz(t),n=e[0],r=e[1],i=e[2];n/=95.047,r/=100,i/=108.883,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let s=116*r-16,o=500*(n-r),a=200*(r-i);return[s,o,a]};te.hsl.rgb=function(t){let e=t[0]/360,n=t[1]/100,r=t[2]/100,i,s,o;if(n===0)return o=r*255,[o,o,o];r<.5?i=r*(1+n):i=r+n-r*n;let a=2*r-i,u=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(i-a)*6*s:2*s<1?o=i:3*s<2?o=a+(i-a)*(2/3-s)*6:o=a,u[c]=o*255;return u};te.hsl.hsv=function(t){let e=t[0],n=t[1]/100,r=t[2]/100,i=n,s=Math.max(r,.01);r*=2,n*=r<=1?r:2-r,i*=s<=1?s:2-s;let o=(r+n)/2,a=r===0?2*i/(s+i):2*n/(r+n);return[e,a*100,o*100]};te.hsv.rgb=function(t){let e=t[0]/60,n=t[1]/100,r=t[2]/100,i=Math.floor(e)%6,s=e-Math.floor(e),o=255*r*(1-n),a=255*r*(1-n*s),u=255*r*(1-n*(1-s));switch(r*=255,i){case 0:return[r,u,o];case 1:return[a,r,o];case 2:return[o,r,u];case 3:return[o,a,r];case 4:return[u,o,r];case 5:return[r,o,a]}};te.hsv.hsl=function(t){let e=t[0],n=t[1]/100,r=t[2]/100,i=Math.max(r,.01),s,o;o=(2-n)*r;let a=(2-n)*i;return s=n*i,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};te.hwb.rgb=function(t){let e=t[0]/360,n=t[1]/100,r=t[2]/100,i=n+r,s;i>1&&(n/=i,r/=i);let o=Math.floor(6*e),a=1-r;s=6*e-o,o&1&&(s=1-s);let u=n+s*(a-n),c,l,d;switch(o){default:case 6:case 0:c=a,l=u,d=n;break;case 1:c=u,l=a,d=n;break;case 2:c=n,l=a,d=u;break;case 3:c=n,l=u,d=a;break;case 4:c=u,l=n,d=a;break;case 5:c=a,l=n,d=u;break}return[c*255,l*255,d*255]};te.cmyk.rgb=function(t){let e=t[0]/100,n=t[1]/100,r=t[2]/100,i=t[3]/100,s=1-Math.min(1,e*(1-i)+i),o=1-Math.min(1,n*(1-i)+i),a=1-Math.min(1,r*(1-i)+i);return[s*255,o*255,a*255]};te.xyz.rgb=function(t){let e=t[0]/100,n=t[1]/100,r=t[2]/100,i,s,o;return i=e*3.2406+n*-1.5372+r*-.4986,s=e*-.9689+n*1.8758+r*.0415,o=e*.0557+n*-.204+r*1.057,i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,i=Math.min(Math.max(0,i),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[i*255,s*255,o*255]};te.xyz.lab=function(t){let e=t[0],n=t[1],r=t[2];e/=95.047,n/=100,r/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116;let i=116*n-16,s=500*(e-n),o=200*(n-r);return[i,s,o]};te.lab.xyz=function(t){let e=t[0],n=t[1],r=t[2],i,s,o;s=(e+16)/116,i=n/500+s,o=s-r/200;let a=s**3,u=i**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,i=u>.008856?u:(i-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,i*=95.047,s*=100,o*=108.883,[i,s,o]};te.lab.lch=function(t){let e=t[0],n=t[1],r=t[2],i;i=Math.atan2(r,n)*360/2/Math.PI,i<0&&(i+=360);let o=Math.sqrt(n*n+r*r);return[e,o,i]};te.lch.lab=function(t){let e=t[0],n=t[1],i=t[2]/360*2*Math.PI,s=n*Math.cos(i),o=n*Math.sin(i);return[e,s,o]};te.rgb.ansi16=function(t,e=null){let[n,r,i]=t,s=e===null?te.rgb.hsv(t)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(i/255)<<2|Math.round(r/255)<<1|Math.round(n/255));return s===2&&(o+=60),o};te.hsv.ansi16=function(t){return te.rgb.ansi16(te.hsv.rgb(t),t[2])};te.rgb.ansi256=function(t){let e=t[0],n=t[1],r=t[2];return e===n&&n===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)};te.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let n=(~~(t>50)+1)*.5,r=(e&1)*n*255,i=(e>>1&1)*n*255,s=(e>>2&1)*n*255;return[r,i,s]};te.ansi256.rgb=function(t){if(t>=232){let s=(t-232)*10+8;return[s,s,s]}t-=16;let e,n=Math.floor(t/36)/5*255,r=Math.floor((e=t%36)/6)/5*255,i=e%6/5*255;return[n,r,i]};te.rgb.hex=function(t){let n=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(n.length)+n};te.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let n=e[0];e[0].length===3&&(n=n.split("").map(a=>a+a).join(""));let r=parseInt(n,16),i=r>>16&255,s=r>>8&255,o=r&255;return[i,s,o]};te.rgb.hcg=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255,i=Math.max(Math.max(e,n),r),s=Math.min(Math.min(e,n),r),o=i-s,a,u;return o<1?a=s/(1-o):a=0,o<=0?u=0:i===e?u=(n-r)/o%6:i===n?u=2+(r-e)/o:u=4+(e-n)/o,u/=6,u%=1,[u*360,o*100,a*100]};te.hsl.hcg=function(t){let e=t[1]/100,n=t[2]/100,r=n<.5?2*e*n:2*e*(1-n),i=0;return r<1&&(i=(n-.5*r)/(1-r)),[t[0],r*100,i*100]};te.hsv.hcg=function(t){let e=t[1]/100,n=t[2]/100,r=e*n,i=0;return r<1&&(i=(n-r)/(1-r)),[t[0],r*100,i*100]};te.hcg.rgb=function(t){let e=t[0]/360,n=t[1]/100,r=t[2]/100;if(n===0)return[r*255,r*255,r*255];let i=[0,0,0],s=e%1*6,o=s%1,a=1-o,u=0;switch(Math.floor(s)){case 0:i[0]=1,i[1]=o,i[2]=0;break;case 1:i[0]=a,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=o;break;case 3:i[0]=0,i[1]=a,i[2]=1;break;case 4:i[0]=o,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=a}return u=(1-n)*r,[(n*i[0]+u)*255,(n*i[1]+u)*255,(n*i[2]+u)*255]};te.hcg.hsv=function(t){let e=t[1]/100,n=t[2]/100,r=e+n*(1-e),i=0;return r>0&&(i=e/r),[t[0],i*100,r*100]};te.hcg.hsl=function(t){let e=t[1]/100,r=t[2]/100*(1-e)+.5*e,i=0;return r>0&&r<.5?i=e/(2*r):r>=.5&&r<1&&(i=e/(2*(1-r))),[t[0],i*100,r*100]};te.hcg.hwb=function(t){let e=t[1]/100,n=t[2]/100,r=e+n*(1-e);return[t[0],(r-e)*100,(1-r)*100]};te.hwb.hcg=function(t){let e=t[1]/100,r=1-t[2]/100,i=r-e,s=0;return i<1&&(s=(r-i)/(1-i)),[t[0],i*100,s*100]};te.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};te.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};te.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};te.gray.hsl=function(t){return[0,0,t[0]]};te.gray.hsv=te.gray.hsl;te.gray.hwb=function(t){return[0,100,t[0]]};te.gray.cmyk=function(t){return[0,0,0,t[0]]};te.gray.lab=function(t){return[t[0],0,0]};te.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,r=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(r.length)+r};te.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var wE=g((sU,xE)=>{var dd=qy();function zL(){let t={},e=Object.keys(dd);for(let n=e.length,r=0;r<n;r++)t[e[r]]={distance:-1,parent:null};return t}function KL(t){let e=zL(),n=[t];for(e[t].distance=0;n.length;){let r=n.pop(),i=Object.keys(dd[r]);for(let s=i.length,o=0;o<s;o++){let a=i[o],u=e[a];u.distance===-1&&(u.distance=e[r].distance+1,u.parent=r,n.unshift(a))}}return e}function XL(t,e){return function(n){return e(t(n))}}function YL(t,e){let n=[e[t].parent,t],r=dd[e[t].parent][t],i=e[t].parent;for(;e[i].parent;)n.unshift(e[i].parent),r=XL(dd[e[i].parent][i],r),i=e[i].parent;return r.conversion=n,r}xE.exports=function(t){let e=KL(t),n={},r=Object.keys(e);for(let i=r.length,s=0;s<i;s++){let o=r[s];e[o].parent!==null&&(n[o]=YL(o,e))}return n}});var AE=g((oU,EE)=>{var jy=qy(),JL=wE(),yo={},QL=Object.keys(jy);function ZL(t){let e=function(...n){let r=n[0];return r==null?r:(r.length>1&&(n=r),t(n))};return"conversion"in t&&(e.conversion=t.conversion),e}function eN(t){let e=function(...n){let r=n[0];if(r==null)return r;r.length>1&&(n=r);let i=t(n);if(typeof i=="object")for(let s=i.length,o=0;o<s;o++)i[o]=Math.round(i[o]);return i};return"conversion"in t&&(e.conversion=t.conversion),e}QL.forEach(t=>{yo[t]={},Object.defineProperty(yo[t],"channels",{value:jy[t].channels}),Object.defineProperty(yo[t],"labels",{value:jy[t].labels});let e=JL(t);Object.keys(e).forEach(r=>{let i=e[r];yo[t][r]=eN(i),yo[t][r].raw=ZL(i)})});EE.exports=yo});var CE=g(bo=>{"use strict";var tN=bo&&bo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(bo,"__esModule",{value:!0});bo.activate=void 0;var Fy=tN(AE()),nN=Le(),OE;(function(t){t.Black="black",t.Blue="blue",t.Green="green",t.Orange="orange",t.Purple="purple",t.Red="red",t.White="white",t.Yellow="yellow"})(OE||(OE={}));var $y={black:"#000000",blue:"#0000FF",green:"#00FF00",orange:"#FF8800",purple:"#CC8899",red:"#FF0000",white:"#FFFFFF",yellow:"#FFFF00"},rN=()=>new RegExp(`(?:mark|color)=(${Object.keys($y).join("|")}|(?:#[0-9a-f]{6}|#[0-9a-f]{3}))`,"ig"),iN=Object.prototype.hasOwnProperty;function sN(t){t.connection.onColorPresentation(e=>[{label:`#${Fy.default.rgb.hex(e.color.red*255,e.color.green*255,e.color.blue*255)}`}]),t.connection.onDocumentColor(async e=>{let n=await t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let s=(await t.documentManager.getLatest(n)).document.literals.filter(u=>u.type===nN.ASTType.StringLiteral),o=[],a=({match:u,markup:c,value:l,astPosition:d,lineIndex:p})=>{let b=u.index+c.indexOf("=")+1,T=b+l.length,E=d.line-1+p,L=b,M=T;return p===0&&(L+=d.character,M+=d.character),{start:{line:E,character:L},end:{line:E,character:M}}};for(let u=0;u<s.length;u++){let c=s[u];if(!c.start)continue;let l=c.start,d=c.value.toString().split(`
|
116
|
-
`);for(let p=0;p<d.length;p++){let b=d[p],T=rN(),E;for(;E=T.exec(b);){let[L,M]=E,x=a({match:E,markup:L,value:M,astPosition:l,lineIndex:p});if(M.startsWith("#")){let[k,v,F]=Fy.default.hex.rgb(M.slice(1));o.push({range:x,color:{red:k/255,green:v/255,blue:F/255,alpha:1}})}else if(iN.call($y,M)){let[k,v,F]=Fy.default.hex.rgb($y[M].slice(1));o.push({range:x,color:{red:k/255,green:v/255,blue:F/255,alpha:1}})}else o.push({range:x,color:{red:0,green:0,blue:0,alpha:1}})}}}return o})}bo.activate=sN});var PE=g(fd=>{"use strict";Object.defineProperty(fd,"__esModule",{value:!0});fd.activate=void 0;var oN=
|
116
|
+
hostInfo: URL or other short info about the host app`},stackTrace:{description:"Get a list describing the call stack."}}});var Z0=g((j5,rL)=>{rL.exports={$meta:{description:"Create a `list` with square brackets. Then iterate over the `list` with for, or pull out individual items with a 0-based index in square brackets. A negative index counts from the end. Get a slice (subset) of a `list` with two indices, separated by a colon.",example:["x = [2, 4, 6, 8]","print(x[0]) // get first item from list","print(x[-1]) // get last item from list","print(x[1:3]) // slice items from index 1 to 3","x[2] = 5 // set item at index 2 to 5","print(x)","print(x + [42]) // concatenate two lists"]},remove:{description:"Removes an item from the `list` with the provided index. Due to the removal the `list` will get mutated.",example:["myList = [1, 42, 3]","myList.remove(1)",'print("This list does not contain the answer to everything: " + myList.split(", "))']},insert:{description:"Inserts a value into the `list` at the index provided. Due to the insertion the `list` will get mutated. Returns the mutated `list`.",example:["myList = [1, 3]","myList.insert(1, 42)",'print("This list does contain the answer to everything: " + myList.split(", "))']},push:{description:"Appends a value to the end of the `list`. This operation will mutate the `list`. Additionally, this method will return the updated `list`.",example:["myList = [1, 3]","myList.push(42)",'print("This list does contain the answer to everything: " + myList.split(", "))']},pop:{description:"Returns and removes the last item in the `list`. This operation will mutate the `list`.",example:["myList = [1, 3, 42]","answer = myList.pop",'print("Answer to everything: " + answer)']},pull:{description:"Returns and removes the first item in the `list`. This operation will mutate the `list`.",example:["myList = [42, 1, 3]","answer = myList.pull",'print("Answer to everything: " + answer)']},shuffle:{description:"Shuffles all values in the `list`. This operation will mutate the `list`.",example:["myList = [42, 1, 3]","myList.shuffle",'print("New list order: " + myList.split(", "))']},sum:{description:"Returns sum of all values inside the `list`. Any non-numeric values will be considered a zero.",example:["myList = [42, 1, 3]","sum = myList.sum",'print("Sum of all items in list: " + sum)']},hasIndex:{description:"Returns `true` if the provided index is available in the `list`. Otherwise, this method will return `false`.",example:["myList = [42, 1, 3]","containsIndex = myList.hasIndex(1)","if containsIndex then",' print("List contains index of 1.")',"else",' print("List does not contain index of 1.")',"end if"]},indexOf:{description:"Returns a `number` which indicates the first matching index of the provided value inside the `list`. Optionally a start index can be provided. In case the value does not exist inside the `list` a `null` gets returned.",example:["myList = [42, 1, 3]","index = myList.indexOf(42)","if index != null then",' print("The answer for everything is at the following index: " + index)',"else",' print("No answer for everything found.")',"end if"]},sort:{description:"Sort `list` values alphanumerically. This operation will mutate the `list`. Optionally a key can be provided which which is used in case the items are maps. Additionally, this method will return the updated `list`.",example:['myList = [{ "key": 42 }, { "key": 2 }, { "key": 1 }]','myList.sort("key")',"print(myList)"]},join:{description:"Returns a concatenated `string` containing all stringified values inside the `list`. These values will be separated via the provided separator.",example:["myList = [42, 1, 3]",`print(myList.join(" .-*'*-. "))`]},indexes:{description:"Returns a `list` containing all available indexes.",example:["myList = [42, 1, 3]","for i in myList.indexes"," print(myList[i])","end for"]},len:{description:"Returns a `number` representing the count of values inside the `list`.",example:["myList = [42, 1, 3]",'print("myList contains " + myList.len + " items")']},values:{description:"Returns a `list` containing all available values.",example:["myList = [42, 1, 3]","for v in myList.values"," print(v)","end for"]},replace:{description:"Returns updated `list` where each value matching with the provided replace argument gets replaced. This operation will mutate the `list`.",example:["myList = [1, 2, 2, 7]","myList.replace(2, 3)",'print(myList.join(""))']}}});var eE=g((F5,iL)=>{iL.exports={$meta:{description:"A `map` is a set of values associated with unique keys. Create a `map` with curly braces; get or set a single value with square brackets. Keys and values may be any type.",example:['x = { "test": 123 }',"x.foo = 42 // set property foo to 42","print(x.foo) // get value of property foo",'print(x + { "bar": 2 }) // concatenate two maps']},remove:{description:"Removes an item from the `map` with the provided key. Due to the removal the `map` will get mutated.",example:['myMap = { "answer": 42, "bar": 23, "foo": "moo" }','myMap.remove("answer")',"print(myMap)"]},push:{description:"Adds the value 1 to the provided key. This operation will mutate the `map`. Additionally, this method will return the updated `map`.",example:['myMap = { "answer": 42, "bar": 23, "foo": "moo" }','myMap.push("answer")',"print(myMap.answer)"]},pull:{description:"Returns and removes the first item in the `map`. This operation will mutate the `map`.",example:['myMap = { "answer": 42, "bar": 23, "foo": "moo" }',"print(myMap.pull)"]},pop:{description:"Returns and removes the last item in the `map`. This operation will mutate the `map`.",example:['myMap = { "answer": 42, "bar": 23, "foo": "moo" }',"print(myMap.pop)"]},shuffle:{description:"Shuffles all values in the `map`. This operation will mutate the `map`.",example:['myMap = { "answer": 42, "bar": 23, "foo": "moo" }',"myMap.shuffle","print(myMap)"]},sum:{description:"Returns sum of all values inside the `map`. Any non-numeric values will be considered a zero.",example:['myMap = { "answer": 42, "bar": 23, "foo": "moo" }',"sum = myMap.sum",'print("Sum of all items in map: " + sum)']},hasIndex:{description:"Returns `true` if the provided key is available in the `map`. Otherwise, this method will return `false`.",example:['myMap = { "answer": 42, "bar": 23, "foo": "moo" }','containsIndex = myList.hasIndex("answer")',"if containsIndex then",' print("Map contains the answer.")',"else",' print("Map does not contain the answer.")',"end if"]},indexOf:{description:"Returns `string` which indicates the key of the provided value inside the `map`. In case the value does not exist inside the `map` a `null` gets returned.",example:['myMap = { "answer": 42, "bar": 23, "foo": "moo" }',"key = myList.indexOf(42)","if key != null then",' print("Map contains the answer.")',"else",' print("Map does not contain the answer.")',"end if"]},indexes:{description:"Returns a `list` containing all available keys.",example:['myMap = { "answer": 42, "bar": 23, "foo": "moo" }',"for key in myMap.indexes"," print(myMap[key])","end for"]},len:{description:"Returns a `number` representing the count of items inside the `map`.",example:['myMap = { "answer": 42, "bar": 23, "foo": "moo" }','print("myMap contains " + myMap.len + " items")']},values:{description:"Returns a `list` containing all available values.",example:['myMap = { "answer": 42, "bar": 23, "foo": "moo" }',"for value in myMap.values"," print(value)","end for"]},replace:{description:"Returns updated `map` where each value matching with the provided replace argument gets replaced. This operation will mutate the `map`.",example:['myObject = { "answer": 45 }',"myObject.replace(45, 42)","print(myObject.answer)"]}}});var tE=g(($5,sL)=>{sL.exports={$meta:{description:"All numbers are stored in full-precision format. Numbers also represent `true == 1` and `false == 0`.",example:["a = 20","b = 22","print(a + b) // addition","print(a - b) // substraction","print(a / b) // division","print(a * b) // multiply","print(a % b) // modulo","print(a - b) // substraction","print(a ^ b) // power","print(a and b) // logical and","print(a or b) // logical or","print(not a) // logical not","print(a == b) // comparison equal","print(a != b) // comparison unequal","print(a > b) // comparison greater than","print(a < b) // comparison lower than","print(a >= b) // comparison greater equal than","print(a <= b) // comparison lower equal than"]}}});var nE=g((B5,oL)=>{oL.exports={$meta:{description:"Text is stored in strings of Unicode characters. Write strings by surrounding them with quotes. If you need to include a quotation mark in the string, write it twice.",example:['a = "hello"','b = "world"',"print(a + b) // concatinate a and b","print(a * 10) // repeat hello ten times","print(a[0]) // prints h","print(a[1:3]) // prints ell"]},remove:{description:"Returns a new `string` where the provided `string` got removed.",example:['myString = "42 as an answer is wrong"','newString = myString.remove("wrong")','print(newString + "right")']},hasIndex:{description:"Returns `true` if the provided index is available in the `string`. Otherwise, this method will return `false`.",example:['myString = "42 as an answer is wrong"',"containsIndex = myString.hasIndex(1)","if containsIndex then",' print("String contains index of 1.")',"else",' print("String does not contain index of 1.")',"end if"]},insert:{description:"Returns a `string` with the newly inserted `string` at the provided index.",example:['myString = "42 as an answer is wrong"','index = myString.lastIndexOf("w") - 1','newString = myString.insert(index, "not ")',"print(newString)"]},indexOf:{description:"Returns a `number` which indicates the first matching index of the provided value inside the `list`. Optionally a start index can be provided. In case the value does not exist inside the `string` a `null` gets returned.",example:['myString = "42 as an answer is wrong"','index = myString.indexOf("wrong")',"if index != null then",' print("Invalid information spotted at: " + index)',"else",' print("Information seems valid.")',"end if"]},split:{description:"Returns a `list` where each item is a segment of the `string`. The separation depends on the provided separator `string`. Keep in mind that for some odd reason, this method is using regular expressions for matching.",example:['myString = "42 as an answer is wrong"','segments = myString.split(" ")','if segments[0] != "42" then',' print("Invalid information spotted!")',"else",' print("Information seems valid!")',"end if"]},replace:{description:"Returns a new `string` where the provided `string` got replaced by the second provided `string`.",example:['myString = "42 as an answer is wrong"','newString = myString.replace("wrong", "right")',"print(newString)"]},indexes:{description:"Returns a `list` where each item is a `number` representing all available indexes in the `string`.",example:['myString = "42"',"print(myString.indexes)"]},code:{description:"Returns a `number` representing the Unicode code of the first character of the `string`.",example:['myString = "HELLO WORLD"',"print(myString.code)"]},len:{description:"Returns a `number` representing the length of the `string`.",example:['myString = "HELLO WORLD"','print("Size of string is: " + myString.len)']},lower:{description:"Returns a new `string` in which all characters are transformed into lowercase.",example:['myString = "HELLO WORLD"',"print(myString.lower)"]},upper:{description:"Returns a new `string` in which all characters are transformed into uppercase.",example:['myString = "hello world"',"print(myString.upper)"]},val:{description:"Returns a `number` which is parsed from the `string`. In case the `string` is not numeric it will return a zero.",example:['myString = "1.25"',"print(myString.val + 40.75)"]},values:{description:"Returns a `list` where each item is a `string` representing all available characters in the `string`. Could be compared to using `split` but without any separator.",example:['myString = "hello world"',"print(myString.values)"]}}});var rE=g(Ga=>{"use strict";var po=Ga&&Ga.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ga,"__esModule",{value:!0});var aL=po(J0()),uL=po(Q0()),cL=po(Z0()),lL=po(eE()),dL=po(tE()),fL=po(nE()),pL={any:aL.default,general:uL.default,list:cL.default,map:lL.default,string:fL.default,number:dL.default};Ga.default=pL});var iE=g((H5,hL)=>{hL.exports={type:"any",definitions:{insert:{type:"function",arguments:[{label:"index",type:"number"},{label:"value",type:"any"}],returns:["list","string"]},indexOf:{type:"function",arguments:[{label:"value",type:"any"},{label:"offset",type:"number",opt:!0}],returns:["any"]},hasIndex:{type:"function",arguments:[{label:"value",type:"any"}],returns:["number"]},remove:{type:"function",arguments:[{label:"value",type:"any"}],returns:["null"]},push:{type:"function",arguments:[{label:"value",type:"any"}],returns:["map","list","null"]},pull:{type:"function",returns:["any"]},pop:{type:"function",returns:["any"]},shuffle:{type:"function",returns:["null"]},sum:{type:"function",returns:["number"]},indexes:{type:"function",returns:["list"]},len:{type:"function",returns:["number"]},values:{type:"function",returns:["list"]}}}});var sE=g((W5,gL)=>{gL.exports={type:"general",definitions:{hasIndex:{type:"function",arguments:[{label:"self",types:["list","map","string"]},{label:"index",type:"any"}],returns:["number","null"]},print:{type:"function",arguments:[{label:"value",type:"any",default:{type:"string",value:""}},{label:"delimiter",type:"string",opt:!0}],returns:["null"]},indexes:{type:"function",arguments:[{label:"self",types:["map","list","string"]}],returns:["list","null"]},values:{type:"function",arguments:[{label:"self",types:["map","list","string"]}],returns:["list"]},indexOf:{type:"function",arguments:[{label:"self",types:["list","map","string"]},{label:"value",type:"any"},{label:"after",type:"any",opt:!0}],returns:["any","null"]},len:{type:"function",arguments:[{label:"self",types:["list","string","map"]}],returns:["number","null"]},shuffle:{type:"function",arguments:[{label:"self",types:["list","map"]}],returns:["null"]},val:{type:"function",arguments:[{label:"self",type:"any"}],returns:["number","null"]},lower:{type:"function",arguments:[{label:"self",type:"string"}],returns:["string"]},upper:{type:"function",arguments:[{label:"self",type:"string"}],returns:["string"]},sum:{type:"function",arguments:[{label:"self",types:["list","map"]}],returns:["number"]},pop:{type:"function",arguments:[{label:"self",types:["list","map"]}],returns:["any","null"]},pull:{type:"function",arguments:[{label:"self",types:["list","map"]}],returns:["any","null"]},push:{type:"function",arguments:[{label:"self",types:["list","map"]},{label:"value",type:"any"}],returns:["map","list","null"]},sort:{type:"function",arguments:[{label:"self",type:"list"},{label:"byKey",type:"any"},{label:"ascending",type:"number",default:{type:"number",value:1}}],returns:["list","null"]},remove:{type:"function",arguments:[{label:"self",types:["list","map","string"]},{label:"key",type:"any"}],returns:["list","map","string"]},wait:{type:"function",arguments:[{label:"seconds",type:"number",default:{type:"number",value:1}}],returns:["null"]},abs:{type:"function",arguments:[{label:"value",type:"number",default:{type:"number",value:0}}],returns:["number"]},acos:{type:"function",arguments:[{label:"value",type:"number",default:{type:"number",value:0}}],returns:["number"]},asin:{type:"function",arguments:[{label:"value",type:"number",default:{type:"number",value:0}}],returns:["number"]},atan:{type:"function",arguments:[{label:"y",type:"number",default:{type:"number",value:0}},{label:"x",type:"number",default:{type:"number",value:1}}],returns:["number"]},tan:{type:"function",arguments:[{label:"radians",type:"number",default:{type:"number",value:0}}],returns:["number"]},cos:{type:"function",arguments:[{label:"radians",type:"number",default:{type:"number",value:0}}],returns:["number"]},code:{type:"function",arguments:[{label:"value",type:"string"}],returns:["number"]},char:{type:"function",arguments:[{label:"codePoint",type:"number",default:{type:"number",value:65}}],returns:["string"]},sin:{type:"function",arguments:[{label:"radians",type:"number",default:{type:"number",value:0}}],returns:["number"]},floor:{type:"function",arguments:[{label:"x",type:"number",default:{type:"number",value:0}}],returns:["number"]},range:{type:"function",arguments:[{label:"start",type:"number",default:{type:"number",value:0}},{label:"end",type:"number",default:{type:"number",value:0}},{label:"inc",type:"number",opt:!0}],returns:[{type:"list",valueType:"number"}]},round:{type:"function",arguments:[{label:"x",type:"number",default:{type:"number",value:0}},{label:"decimalPlaces",type:"number",default:{type:"number",value:0}}],returns:["number"]},rnd:{type:"function",arguments:[{label:"seed",type:"number",opt:!0}],returns:["number"]},sign:{type:"function",arguments:[{label:"x",type:"number",default:{type:"number",value:0}}],returns:["number"]},sqrt:{type:"function",arguments:[{label:"x",type:"number",default:{type:"number",value:0}}],returns:["number"]},str:{type:"function",arguments:[{label:"value",type:"any"}],returns:["string"]},ceil:{type:"function",arguments:[{label:"x",type:"number",default:{type:"number",value:0}}],returns:["number"]},pi:{type:"function",returns:["number"]},slice:{type:"function",arguments:[{label:"seq",types:["list","string"]},{label:"from",type:"number",default:{type:"number",value:0}},{label:"to",type:"number",opt:!0}],returns:["list","string"]},hash:{type:"function",arguments:[{label:"value",type:"any"}],returns:["number"]},time:{type:"function",returns:["number"]},bitAnd:{type:"function",arguments:[{label:"a",type:"number",default:{type:"number",value:0}},{label:"b",type:"number",default:{type:"number",value:0}}],returns:["number"]},bitOr:{type:"function",arguments:[{label:"a",type:"number",default:{type:"number",value:0}},{label:"b",type:"number",default:{type:"number",value:0}}],returns:["number"]},bitXor:{type:"function",arguments:[{label:"a",type:"number",default:{type:"number",value:0}},{label:"b",type:"number",default:{type:"number",value:0}}],returns:["number"]},log:{type:"function",arguments:[{label:"value",type:"number",default:{type:"number",value:0}},{label:"base",type:"number",default:{type:"number",value:10}}],returns:["number"]},yield:{type:"function",returns:["null"]},insert:{type:"function",arguments:[{label:"self",types:["list","string"]},{label:"index",type:"number"},{label:"value",type:"any"}],returns:["list","string"]},join:{type:"function",arguments:[{label:"self",type:"list"},{label:"delimiter",type:"string",default:{type:"string",value:" "}}],returns:["string"]},split:{type:"function",arguments:[{label:"self",type:"string"},{label:"delimiter",type:"string",default:{type:"string",value:" "}},{label:"maxCount",type:"number",default:{type:"number",value:-1}}],returns:[{type:"list",valueType:"string"}]},replace:{type:"function",arguments:[{label:"self",types:["list","map","string"]},{label:"oldval",type:"any"},{label:"newval",type:"any"},{label:"maxCount",type:"number",opt:!0}],returns:["list","map","string"]},funcRef:{type:"function",returns:[{type:"map",keyType:"string"}]},list:{type:"function",returns:[{type:"map",keyType:"string"}]},map:{type:"function",returns:[{type:"map",keyType:"string"}]},number:{type:"function",returns:[{type:"map",keyType:"string"}]},string:{type:"function",returns:[{type:"map",keyType:"string"}]},refEquals:{type:"function",arguments:[{label:"a",type:"any"},{label:"b",type:"any"}],returns:["number"]},stackTrace:{type:"function",returns:[{type:"list",valueType:"string"}]},version:{type:"function",returns:["version"]}}}});var oE=g((G5,mL)=>{mL.exports={type:"list",definitions:{remove:{type:"function",arguments:[{label:"index",type:"number"}],returns:["null"]},insert:{type:"function",arguments:[{label:"index",type:"number"},{label:"value",type:"any"}],returns:["list"]},push:{type:"function",arguments:[{label:"value",type:"any"}],returns:["list"]},pop:{type:"function",returns:["any"]},pull:{type:"function",returns:["any"]},shuffle:{type:"function",returns:["null"]},sum:{type:"function",returns:["number"]},hasIndex:{type:"function",arguments:[{label:"index",type:"number"}],returns:["number"]},indexOf:{type:"function",arguments:[{label:"value",type:"any"},{label:"offset",type:"number",opt:!0}],returns:["number","null"]},sort:{type:"function",arguments:[{label:"byKey",type:"string"},{label:"ascending",type:"number",default:{type:"number",value:1}}],returns:["list"]},join:{type:"function",arguments:[{label:"delimiter",type:"string",default:{type:"string",value:" "}}],returns:["string"]},indexes:{type:"function",returns:[{type:"list",valueType:"number"}]},len:{type:"function",returns:["number"]},values:{type:"function",returns:["list"]},replace:{type:"function",arguments:[{label:"oldVal",type:"any"},{label:"newVal",type:"any"},{label:"maxCount",type:"number",opt:!0}],returns:["list"]}}}});var aE=g((V5,yL)=>{yL.exports={type:"map",definitions:{remove:{type:"function",arguments:[{label:"key",type:"string"}],returns:["number"]},push:{type:"function",arguments:[{label:"key",type:"string"}],returns:["map"]},pull:{type:"function",returns:["any"]},pop:{type:"function",returns:["any"]},shuffle:{type:"function",returns:["null"]},sum:{type:"function",returns:["number"]},hasIndex:{type:"function",arguments:[{label:"key",type:"string"}],returns:["number"]},indexOf:{type:"function",arguments:[{label:"value",type:"any"},{label:"offset",type:"number",opt:!0}],returns:["any","null"]},indexes:{type:"function",returns:["list"]},len:{type:"function",returns:["number"]},values:{type:"function",returns:["list"]},replace:{type:"function",arguments:[{label:"oldVal",type:"any"},{label:"newVal",type:"any"},{label:"maxCount",type:"number",opt:!0}],returns:["map"]}}}});var uE=g((z5,bL)=>{bL.exports={type:"number",definitions:{}}});var cE=g((K5,vL)=>{vL.exports={type:"string",definitions:{remove:{type:"function",arguments:[{label:"toDelete",type:"string"}],returns:["string"]},hasIndex:{type:"function",arguments:[{label:"index",type:"number"}],returns:["number"]},insert:{type:"function",arguments:[{label:"index",type:"number"},{label:"value",type:"string"}],returns:["string"]},indexOf:{type:"function",arguments:[{label:"value",type:"string"},{label:"offset",type:"number",opt:!0}],returns:["number","null"]},split:{type:"function",arguments:[{label:"delimiter",type:"string",default:{type:"string",value:" "}},{label:"maxCount",type:"number",default:{type:"number",value:-1}}],returns:[{type:"list",valueType:"string"}]},replace:{type:"function",arguments:[{label:"oldVal",type:"string"},{label:"newVal",type:"string"},{label:"maxCount",type:"number",opt:!0}],returns:["string"]},indexes:{type:"function",returns:[{type:"list",valueType:"number"}]},code:{type:"function",returns:["number"]},len:{type:"function",returns:["number"]},lower:{type:"function",returns:["string"]},upper:{type:"function",returns:["string"]},val:{type:"function",returns:["number"]},values:{type:"function",returns:[{type:"list",valueType:"string"}]}}}});var lE=g((X5,_L)=>{_L.exports={type:"version",extends:"map",definitions:{miniscript:{type:"string"},buildDate:{type:"string"},host:{type:"number"},hostName:{type:"string"},hostInfo:{type:"string"}}}});var dE=g(hn=>{"use strict";var wi=hn&&hn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(hn,"__esModule",{value:!0});hn.miniscriptMeta=void 0;var TL=Un(),SL=wi(rE()),kL=wi(iE()),xL=wi(sE()),wL=wi(oE()),EL=wi(aE()),AL=wi(uE()),OL=wi(cE()),CL=wi(lE());hn.miniscriptMeta=new TL.Container;hn.miniscriptMeta.addTypeSignatureFromPayload(kL.default);hn.miniscriptMeta.addTypeSignatureFromPayload(xL.default);hn.miniscriptMeta.addTypeSignatureFromPayload(wL.default);hn.miniscriptMeta.addTypeSignatureFromPayload(EL.default);hn.miniscriptMeta.addTypeSignatureFromPayload(AL.default);hn.miniscriptMeta.addTypeSignatureFromPayload(OL.default);hn.miniscriptMeta.addTypeSignatureFromPayload(CL.default);hn.miniscriptMeta.addMetaFromPayload("en",SL.default)});var Va=g(ir=>{"use strict";Object.defineProperty(ir,"__esModule",{value:!0});ir.lookupBase=ir.lookupIdentifier=void 0;var Hr=Ne(),RL=dE(),DL=Wa(),PL=t=>{switch(t.type){case Hr.ASTType.CallStatement:return(0,ir.lookupIdentifier)(t.expression);case Hr.ASTType.CallExpression:return(0,ir.lookupIdentifier)(t.base);case Hr.ASTType.Identifier:return t;case Hr.ASTType.MemberExpression:return(0,ir.lookupIdentifier)(t.identifier);case Hr.ASTType.IndexExpression:return(0,ir.lookupIdentifier)(t.index);default:return null}};ir.lookupIdentifier=PL;var IL=(t=null)=>{switch(t?.type){case Hr.ASTType.MemberExpression:return t.base;case Hr.ASTType.IndexExpression:return t.base;case Hr.ASTType.CallExpression:return t.base;case Hr.ASTType.SliceExpression:return t.base;default:return null}};ir.lookupBase=IL;ir.default=new DL.TypeManager({container:RL.miniscriptMeta})});var go=g(Wn=>{"use strict";var ML=Wn&&Wn.__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]}),LL=Wn&&Wn.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),pE=Wn&&Wn.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&ML(e,t,n);return LL(e,t),e};Object.defineProperty(Wn,"__esModule",{value:!0});Wn.LookupHelper=Wn.buildTypeDocument=void 0;var NL=Un(),fE=Ne(),ho=Wa(),qL=pE(My()),as=pE(Va());async function Ny(t,e,n=new Map){let r=t.uri;if(n.has(r))return n.get(r);let i=as.default.get(r);if(n.set(r,null),!i)return null;let s=[],o=await e.documentManager.get(t).getImports();await Promise.all(o.map(async u=>{let{document:c,textDocument:l}=u;if(!c)return;let d=await Ny(l,e,n);d!==null&&s.push(d)}));let a=i.merge(...s);return n.set(r,a),a}Wn.buildTypeDocument=Ny;var Ly=class{constructor(e,n){this.document=e,this.context=n}findAllAssignmentsOfIdentifier(e,n){let r=as.default.get(this.document.uri);if(r==null)return[];let i=r.getScopeContext(n);return i==null?[]:i.aggregator.resolveAvailableAssignmentsWithQuery(e)}findAllAssignmentsOfItem(e,n){let r=as.default.get(this.document.uri);if(r==null)return[];let i=r.getScopeContext(n);return i==null?[]:i.aggregator.resolveAvailableAssignments(e)}findAllAvailableIdentifierInRoot(){let e=as.default.get(this.document.uri);return e==null?new Map:e.getRootScopeContext().scope.getAllIdentifier()}findAllAvailableIdentifier(e){let n=as.default.get(this.document.uri);if(n==null)return new Map;let r=n.getScopeContext(e);return r==null?new Map:r.scope.getAllIdentifier()}findAllAvailableIdentifierRelatedToPosition(e){let n=as.default.get(this.document.uri),r=new Map;for(let a of n.container.getAllIdentifier(NL.SignatureDefinitionBaseType.General))r.set(...a);let i=n.getScopeContext(e.scope);if(i==null)return r;i.scope.isSelfAvailable()&&r.set("self",{kind:ho.CompletionItemKind.Constant,line:-1}),i.scope.isSuperAvailable()&&r.set("super",{kind:ho.CompletionItemKind.Constant,line:-1});let s=new Map;(0,ho.injectIdentifers)(s,i.scope);let o=Array.from(s.entries()).map(([a,u])=>({identifier:a,...u})).sort((a,u)=>a.line-u.line);for(let a=0;a<o.length;a++){let u=o[a];if(u.line>=e.end.line)break;r.set(u.identifier,{kind:u.kind,line:u.line})}return i.scope.locals!==i.scope.globals&&(0,ho.injectIdentifers)(r,i.scope.globals),i.scope.outer&&(0,ho.injectIdentifers)(r,i.scope.outer),r}lookupAST(e){let n=this,i=this.context.documentManager.get(n.document).document.lines[e.line+1];if(!i)return null;for(let s=0;s<i.length;s++){let o=i[s],a=qL.findEx((c,l)=>{let d=c.start.line-1,p=c.start.character-1,b=c.end.line-1,T=c.end.character-1;return d>e.line?{exit:!0}:d<b?{valid:e.line>d&&e.line<b||e.line===d&&p<=e.character||e.line===b&&T>=e.character}:{valid:d<=e.line&&p<=e.character&&b>=e.line&&T>=e.character}},o),u=a.pop();if(u)return{closest:u,outer:a}}return null}async lookupBasePath(e){let n=await this.buildTypeMap();if(n===null)return null;let r=(0,as.lookupBase)(e);return r?n.resolveNamespace(r):null}async buildTypeMap(){return await Ny(this.document,this.context)}async lookupTypeInfo({closest:e,outer:n}){let r=await this.buildTypeMap();if(r===null)return null;let i=n.length>0?n[n.length-1]:void 0;return i?.type===fE.ASTType.MemberExpression&&e===i.identifier||i?.type===fE.ASTType.IndexExpression&&e===i.index&&(0,ho.isValidIdentifierLiteral)(e)?r.resolveType(i,!0):r.resolveType(e,!0)}lookupType(e){let n=this,r=n.lookupAST(e);return r?n.lookupTypeInfo(r):null}};Wn.LookupHelper=Ly});var hE=g(ud=>{"use strict";Object.defineProperty(ud,"__esModule",{value:!0});ud.AVAILABLE_CONSTANTS=void 0;ud.AVAILABLE_CONSTANTS=["true","false","null","params","globals","locals","outer"].map(t=>({label:t,kind:21}))});var gE=g(cd=>{"use strict";Object.defineProperty(cd,"__esModule",{value:!0});cd.AVAILABLE_KEYWORDS=void 0;var mo=Br(),Yt=Ne();cd.AVAILABLE_KEYWORDS=[Yt.Keyword.If,Yt.Keyword.In,Yt.Keyword.Or,Yt.Keyword.And,Yt.Keyword.Isa,Yt.Keyword.For,Yt.Keyword.New,Yt.Keyword.Not,Yt.Keyword.End,Yt.Keyword.Then,Yt.Keyword.Else,Yt.Keyword.Break,Yt.Keyword.While,Yt.Keyword.Return,Yt.Keyword.Function,Yt.Keyword.Continue,mo.GreybelKeyword.Envar,mo.GreybelKeyword.Import,mo.GreybelKeyword.Include,mo.GreybelKeyword.Debugger,mo.GreybelKeyword.Line,mo.GreybelKeyword.File].map(t=>({label:t,kind:14}))});var mE=g(ld=>{"use strict";Object.defineProperty(ld,"__esModule",{value:!0});ld.AVAILABLE_OPERATORS=void 0;var za=lo(),Lt=Ne();ld.AVAILABLE_OPERATORS=[Lt.Operator.Plus,Lt.Operator.Asterik,Lt.Operator.Minus,Lt.Operator.Slash,Lt.Operator.Power,Lt.Operator.Modulo,Lt.Operator.LessThan,Lt.Operator.GreaterThan,Lt.Operator.LessThanOrEqual,Lt.Operator.GreaterThanOrEqual,Lt.Operator.NotEqual,Lt.Operator.Equal,Lt.Operator.AddShorthand,Lt.Operator.SubtractShorthand,Lt.Operator.MultiplyShorthand,Lt.Operator.DivideShorthand,za.Operator.BitwiseAnd,za.Operator.BitwiseOr,za.Operator.LeftShift,za.Operator.RightShift,za.Operator.UnsignedRightShift,Lt.Operator.Assign,Lt.Operator.Reference].map(t=>({label:t,kind:24}))});var vE=g(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.activate=Nt.getDefaultCompletionList=Nt.getPropertyCompletionList=Nt.transformToCompletionItems=void 0;var yE=Ne(),jL=Py(),bE=go(),FL=hE(),$L=gE(),BL=mE(),UL=t=>{let e=[];for(let[n,r]of t)e.push({label:n,kind:(0,jL.getCompletionItemKind)(r.kind)});return e};Nt.transformToCompletionItems=UL;var HL=async(t,e)=>{let n=await t.lookupBasePath(e);return n===null?[]:(0,Nt.transformToCompletionItems)(n.getAllIdentifier())};Nt.getPropertyCompletionList=HL;var WL=()=>[...$L.AVAILABLE_KEYWORDS,...BL.AVAILABLE_OPERATORS,...FL.AVAILABLE_CONSTANTS];Nt.getDefaultCompletionList=WL;function GL(t){t.connection.onCompletion(async e=>{if(!t.getConfiguration().autocomplete)return;let n=await t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let r=await t.documentManager.getLatest(n),i=new bE.LookupHelper(r.textDocument,t),s=i.lookupAST(e.position),o=[],a=!1;if(s){let{closest:l}=s;l instanceof yE.ASTMemberExpression?(o.push(...await(0,Nt.getPropertyCompletionList)(i,l)),a=!0):l instanceof yE.ASTIndexExpression?(o.push(...await(0,Nt.getPropertyCompletionList)(i,l)),a=!0):o.push(...(0,Nt.getDefaultCompletionList)())}else o.push(...(0,Nt.getDefaultCompletionList)()),o.push(...(0,Nt.transformToCompletionItems)(i.findAllAvailableIdentifierInRoot()));if(!s||a)return o;let u=new Set([...o.map(l=>l.label)]),c=await r.getImports();for(let l of c){let{document:d}=l;if(!d)continue;let p=new bE.LookupHelper(l.textDocument,t);o.push(...(0,Nt.transformToCompletionItems)(p.findAllAvailableIdentifier(d)).filter(b=>!u.has(b.label)).map(b=>(u.add(b.label),b)))}return o.push(...(0,Nt.transformToCompletionItems)(i.findAllAvailableIdentifierRelatedToPosition(s.closest)).filter(l=>!u.has(l.label))),o}),t.connection.onCompletionResolve(e=>e)}Nt.activate=GL});var TE=g((rU,_E)=>{"use strict";_E.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var qy=g((iU,kE)=>{var Ka=TE(),SE={};for(let t of Object.keys(Ka))SE[Ka[t]]=t;var te={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};kE.exports=te;for(let t of Object.keys(te)){if(!("channels"in te[t]))throw new Error("missing channels property: "+t);if(!("labels"in te[t]))throw new Error("missing channel labels property: "+t);if(te[t].labels.length!==te[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:n}=te[t];delete te[t].channels,delete te[t].labels,Object.defineProperty(te[t],"channels",{value:e}),Object.defineProperty(te[t],"labels",{value:n})}te.rgb.hsl=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255,i=Math.min(e,n,r),s=Math.max(e,n,r),o=s-i,a,u;s===i?a=0:e===s?a=(n-r)/o:n===s?a=2+(r-e)/o:r===s&&(a=4+(e-n)/o),a=Math.min(a*60,360),a<0&&(a+=360);let c=(i+s)/2;return s===i?u=0:c<=.5?u=o/(s+i):u=o/(2-s-i),[a,u*100,c*100]};te.rgb.hsv=function(t){let e,n,r,i,s,o=t[0]/255,a=t[1]/255,u=t[2]/255,c=Math.max(o,a,u),l=c-Math.min(o,a,u),d=function(p){return(c-p)/6/l+1/2};return l===0?(i=0,s=0):(s=l/c,e=d(o),n=d(a),r=d(u),o===c?i=r-n:a===c?i=1/3+e-r:u===c&&(i=2/3+n-e),i<0?i+=1:i>1&&(i-=1)),[i*360,s*100,c*100]};te.rgb.hwb=function(t){let e=t[0],n=t[1],r=t[2],i=te.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(n,r));return r=1-1/255*Math.max(e,Math.max(n,r)),[i,s*100,r*100]};te.rgb.cmyk=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255,i=Math.min(1-e,1-n,1-r),s=(1-e-i)/(1-i)||0,o=(1-n-i)/(1-i)||0,a=(1-r-i)/(1-i)||0;return[s*100,o*100,a*100,i*100]};function VL(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}te.rgb.keyword=function(t){let e=SE[t];if(e)return e;let n=1/0,r;for(let i of Object.keys(Ka)){let s=Ka[i],o=VL(t,s);o<n&&(n=o,r=i)}return r};te.keyword.rgb=function(t){return Ka[t]};te.rgb.xyz=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255;e=e>.04045?((e+.055)/1.055)**2.4:e/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92;let i=e*.4124+n*.3576+r*.1805,s=e*.2126+n*.7152+r*.0722,o=e*.0193+n*.1192+r*.9505;return[i*100,s*100,o*100]};te.rgb.lab=function(t){let e=te.rgb.xyz(t),n=e[0],r=e[1],i=e[2];n/=95.047,r/=100,i/=108.883,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let s=116*r-16,o=500*(n-r),a=200*(r-i);return[s,o,a]};te.hsl.rgb=function(t){let e=t[0]/360,n=t[1]/100,r=t[2]/100,i,s,o;if(n===0)return o=r*255,[o,o,o];r<.5?i=r*(1+n):i=r+n-r*n;let a=2*r-i,u=[0,0,0];for(let c=0;c<3;c++)s=e+1/3*-(c-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(i-a)*6*s:2*s<1?o=i:3*s<2?o=a+(i-a)*(2/3-s)*6:o=a,u[c]=o*255;return u};te.hsl.hsv=function(t){let e=t[0],n=t[1]/100,r=t[2]/100,i=n,s=Math.max(r,.01);r*=2,n*=r<=1?r:2-r,i*=s<=1?s:2-s;let o=(r+n)/2,a=r===0?2*i/(s+i):2*n/(r+n);return[e,a*100,o*100]};te.hsv.rgb=function(t){let e=t[0]/60,n=t[1]/100,r=t[2]/100,i=Math.floor(e)%6,s=e-Math.floor(e),o=255*r*(1-n),a=255*r*(1-n*s),u=255*r*(1-n*(1-s));switch(r*=255,i){case 0:return[r,u,o];case 1:return[a,r,o];case 2:return[o,r,u];case 3:return[o,a,r];case 4:return[u,o,r];case 5:return[r,o,a]}};te.hsv.hsl=function(t){let e=t[0],n=t[1]/100,r=t[2]/100,i=Math.max(r,.01),s,o;o=(2-n)*r;let a=(2-n)*i;return s=n*i,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};te.hwb.rgb=function(t){let e=t[0]/360,n=t[1]/100,r=t[2]/100,i=n+r,s;i>1&&(n/=i,r/=i);let o=Math.floor(6*e),a=1-r;s=6*e-o,o&1&&(s=1-s);let u=n+s*(a-n),c,l,d;switch(o){default:case 6:case 0:c=a,l=u,d=n;break;case 1:c=u,l=a,d=n;break;case 2:c=n,l=a,d=u;break;case 3:c=n,l=u,d=a;break;case 4:c=u,l=n,d=a;break;case 5:c=a,l=n,d=u;break}return[c*255,l*255,d*255]};te.cmyk.rgb=function(t){let e=t[0]/100,n=t[1]/100,r=t[2]/100,i=t[3]/100,s=1-Math.min(1,e*(1-i)+i),o=1-Math.min(1,n*(1-i)+i),a=1-Math.min(1,r*(1-i)+i);return[s*255,o*255,a*255]};te.xyz.rgb=function(t){let e=t[0]/100,n=t[1]/100,r=t[2]/100,i,s,o;return i=e*3.2406+n*-1.5372+r*-.4986,s=e*-.9689+n*1.8758+r*.0415,o=e*.0557+n*-.204+r*1.057,i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,i=Math.min(Math.max(0,i),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[i*255,s*255,o*255]};te.xyz.lab=function(t){let e=t[0],n=t[1],r=t[2];e/=95.047,n/=100,r/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116;let i=116*n-16,s=500*(e-n),o=200*(n-r);return[i,s,o]};te.lab.xyz=function(t){let e=t[0],n=t[1],r=t[2],i,s,o;s=(e+16)/116,i=n/500+s,o=s-r/200;let a=s**3,u=i**3,c=o**3;return s=a>.008856?a:(s-16/116)/7.787,i=u>.008856?u:(i-16/116)/7.787,o=c>.008856?c:(o-16/116)/7.787,i*=95.047,s*=100,o*=108.883,[i,s,o]};te.lab.lch=function(t){let e=t[0],n=t[1],r=t[2],i;i=Math.atan2(r,n)*360/2/Math.PI,i<0&&(i+=360);let o=Math.sqrt(n*n+r*r);return[e,o,i]};te.lch.lab=function(t){let e=t[0],n=t[1],i=t[2]/360*2*Math.PI,s=n*Math.cos(i),o=n*Math.sin(i);return[e,s,o]};te.rgb.ansi16=function(t,e=null){let[n,r,i]=t,s=e===null?te.rgb.hsv(t)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(i/255)<<2|Math.round(r/255)<<1|Math.round(n/255));return s===2&&(o+=60),o};te.hsv.ansi16=function(t){return te.rgb.ansi16(te.hsv.rgb(t),t[2])};te.rgb.ansi256=function(t){let e=t[0],n=t[1],r=t[2];return e===n&&n===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)};te.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let n=(~~(t>50)+1)*.5,r=(e&1)*n*255,i=(e>>1&1)*n*255,s=(e>>2&1)*n*255;return[r,i,s]};te.ansi256.rgb=function(t){if(t>=232){let s=(t-232)*10+8;return[s,s,s]}t-=16;let e,n=Math.floor(t/36)/5*255,r=Math.floor((e=t%36)/6)/5*255,i=e%6/5*255;return[n,r,i]};te.rgb.hex=function(t){let n=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(n.length)+n};te.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let n=e[0];e[0].length===3&&(n=n.split("").map(a=>a+a).join(""));let r=parseInt(n,16),i=r>>16&255,s=r>>8&255,o=r&255;return[i,s,o]};te.rgb.hcg=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255,i=Math.max(Math.max(e,n),r),s=Math.min(Math.min(e,n),r),o=i-s,a,u;return o<1?a=s/(1-o):a=0,o<=0?u=0:i===e?u=(n-r)/o%6:i===n?u=2+(r-e)/o:u=4+(e-n)/o,u/=6,u%=1,[u*360,o*100,a*100]};te.hsl.hcg=function(t){let e=t[1]/100,n=t[2]/100,r=n<.5?2*e*n:2*e*(1-n),i=0;return r<1&&(i=(n-.5*r)/(1-r)),[t[0],r*100,i*100]};te.hsv.hcg=function(t){let e=t[1]/100,n=t[2]/100,r=e*n,i=0;return r<1&&(i=(n-r)/(1-r)),[t[0],r*100,i*100]};te.hcg.rgb=function(t){let e=t[0]/360,n=t[1]/100,r=t[2]/100;if(n===0)return[r*255,r*255,r*255];let i=[0,0,0],s=e%1*6,o=s%1,a=1-o,u=0;switch(Math.floor(s)){case 0:i[0]=1,i[1]=o,i[2]=0;break;case 1:i[0]=a,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=o;break;case 3:i[0]=0,i[1]=a,i[2]=1;break;case 4:i[0]=o,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=a}return u=(1-n)*r,[(n*i[0]+u)*255,(n*i[1]+u)*255,(n*i[2]+u)*255]};te.hcg.hsv=function(t){let e=t[1]/100,n=t[2]/100,r=e+n*(1-e),i=0;return r>0&&(i=e/r),[t[0],i*100,r*100]};te.hcg.hsl=function(t){let e=t[1]/100,r=t[2]/100*(1-e)+.5*e,i=0;return r>0&&r<.5?i=e/(2*r):r>=.5&&r<1&&(i=e/(2*(1-r))),[t[0],i*100,r*100]};te.hcg.hwb=function(t){let e=t[1]/100,n=t[2]/100,r=e+n*(1-e);return[t[0],(r-e)*100,(1-r)*100]};te.hwb.hcg=function(t){let e=t[1]/100,r=1-t[2]/100,i=r-e,s=0;return i<1&&(s=(r-i)/(1-i)),[t[0],i*100,s*100]};te.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};te.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};te.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};te.gray.hsl=function(t){return[0,0,t[0]]};te.gray.hsv=te.gray.hsl;te.gray.hwb=function(t){return[0,100,t[0]]};te.gray.cmyk=function(t){return[0,0,0,t[0]]};te.gray.lab=function(t){return[t[0],0,0]};te.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,r=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(r.length)+r};te.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var wE=g((sU,xE)=>{var dd=qy();function zL(){let t={},e=Object.keys(dd);for(let n=e.length,r=0;r<n;r++)t[e[r]]={distance:-1,parent:null};return t}function KL(t){let e=zL(),n=[t];for(e[t].distance=0;n.length;){let r=n.pop(),i=Object.keys(dd[r]);for(let s=i.length,o=0;o<s;o++){let a=i[o],u=e[a];u.distance===-1&&(u.distance=e[r].distance+1,u.parent=r,n.unshift(a))}}return e}function XL(t,e){return function(n){return e(t(n))}}function YL(t,e){let n=[e[t].parent,t],r=dd[e[t].parent][t],i=e[t].parent;for(;e[i].parent;)n.unshift(e[i].parent),r=XL(dd[e[i].parent][i],r),i=e[i].parent;return r.conversion=n,r}xE.exports=function(t){let e=KL(t),n={},r=Object.keys(e);for(let i=r.length,s=0;s<i;s++){let o=r[s];e[o].parent!==null&&(n[o]=YL(o,e))}return n}});var AE=g((oU,EE)=>{var jy=qy(),JL=wE(),yo={},QL=Object.keys(jy);function ZL(t){let e=function(...n){let r=n[0];return r==null?r:(r.length>1&&(n=r),t(n))};return"conversion"in t&&(e.conversion=t.conversion),e}function eN(t){let e=function(...n){let r=n[0];if(r==null)return r;r.length>1&&(n=r);let i=t(n);if(typeof i=="object")for(let s=i.length,o=0;o<s;o++)i[o]=Math.round(i[o]);return i};return"conversion"in t&&(e.conversion=t.conversion),e}QL.forEach(t=>{yo[t]={},Object.defineProperty(yo[t],"channels",{value:jy[t].channels}),Object.defineProperty(yo[t],"labels",{value:jy[t].labels});let e=JL(t);Object.keys(e).forEach(r=>{let i=e[r];yo[t][r]=eN(i),yo[t][r].raw=ZL(i)})});EE.exports=yo});var CE=g(bo=>{"use strict";var tN=bo&&bo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(bo,"__esModule",{value:!0});bo.activate=void 0;var Fy=tN(AE()),nN=Ne(),OE;(function(t){t.Black="black",t.Blue="blue",t.Green="green",t.Orange="orange",t.Purple="purple",t.Red="red",t.White="white",t.Yellow="yellow"})(OE||(OE={}));var $y={black:"#000000",blue:"#0000FF",green:"#00FF00",orange:"#FF8800",purple:"#CC8899",red:"#FF0000",white:"#FFFFFF",yellow:"#FFFF00"},rN=()=>new RegExp(`(?:mark|color)=(${Object.keys($y).join("|")}|(?:#[0-9a-f]{6}|#[0-9a-f]{3}))`,"ig"),iN=Object.prototype.hasOwnProperty;function sN(t){t.connection.onColorPresentation(e=>[{label:`#${Fy.default.rgb.hex(e.color.red*255,e.color.green*255,e.color.blue*255)}`}]),t.connection.onDocumentColor(async e=>{let n=await t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let s=(await t.documentManager.getLatest(n)).document.literals.filter(u=>u.type===nN.ASTType.StringLiteral),o=[],a=({match:u,markup:c,value:l,astPosition:d,lineIndex:p})=>{let b=u.index+c.indexOf("=")+1,T=b+l.length,E=d.line-1+p,L=b,M=T;return p===0&&(L+=d.character,M+=d.character),{start:{line:E,character:L},end:{line:E,character:M}}};for(let u=0;u<s.length;u++){let c=s[u];if(!c.start)continue;let l=c.start,d=c.value.toString().split(`
|
117
|
+
`);for(let p=0;p<d.length;p++){let b=d[p],T=rN(),E;for(;E=T.exec(b);){let[L,M]=E,x=a({match:E,markup:L,value:M,astPosition:l,lineIndex:p});if(M.startsWith("#")){let[k,v,F]=Fy.default.hex.rgb(M.slice(1));o.push({range:x,color:{red:k/255,green:v/255,blue:F/255,alpha:1}})}else if(iN.call($y,M)){let[k,v,F]=Fy.default.hex.rgb($y[M].slice(1));o.push({range:x,color:{red:k/255,green:v/255,blue:F/255,alpha:1}})}else o.push({range:x,color:{red:0,green:0,blue:0,alpha:1}})}}}return o})}bo.activate=sN});var PE=g(fd=>{"use strict";Object.defineProperty(fd,"__esModule",{value:!0});fd.activate=void 0;var oN=Ne(),RE=go(),DE=(t,e,n)=>{let r=t.findAllAssignmentsOfItem(e,n),i=[];for(let s of r){if(!s.start||!s.end)continue;let o={line:s.start.line-1,character:s.start.character-1},a={line:s.end.line-1,character:s.end.character-1},u={targetUri:t.document.uri,targetRange:{start:o,end:a},targetSelectionRange:{start:o,end:a}};i.push(u)}return i};function aN(t){t.connection.onDefinition(async e=>{let n=await t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let r=new RE.LookupHelper(n,t),i=r.lookupAST(e.position);if(!i)return;let{outer:s,closest:o}=i,a=s.length>0?s[s.length-1]:void 0,u=o;a&&a instanceof oN.ASTMemberExpression&&a.identifier===o&&(u=a);let c=DE(r,u,u.scope),l=await t.documentManager.get(n).getImports();for(let d of l){let{document:p,textDocument:b}=d;if(!p)continue;let T=new RE.LookupHelper(b,t),E=DE(T,u,p);c.push(...E)}return c})}fd.activate=aN});var IE=g(pd=>{"use strict";Object.defineProperty(pd,"__esModule",{value:!0});pd.activate=void 0;async function uN(t,e){let n=await e.documentManager.getLatest(t);return n.errors.map(r=>{if(r?.range){let i=r.range;return{range:{start:{line:i.start.line-1,character:i.start.character-1},end:{line:i.end.line-1,character:i.end.character-1}},message:r.message,severity:1}}return{range:{start:n.document.start,end:n.document.end},message:r.message,severity:1}})}function cN(t){t.connection.languages.diagnostics.on(async e=>{if(!t.getConfiguration().diagnostic)return;let n=await t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let r=await uN(n,t);return r.length===0?{kind:"full",items:[]}:{kind:"full",items:r}})}pd.activate=cN});var ME=g(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});hd.getStringHashCode=void 0;hd.getStringHashCode=function(){let t=new Map,e=n=>{let r,i;for(r=0,i=0;r<n.length;r++)i=Math.imul(31,i)+n.charCodeAt(r)|0;return i};return n=>{if(n.length===0)return 0;let r=t.get(n);if(r!==void 0)return r;let i=e(n);return t.set(n,i),i}}()});var By=g(yd=>{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});yd.createExpressionHash=void 0;var gd=Ne(),LE=ME(),md=(t,e)=>t.$$hash=e,lN=t=>{var e;return(e=t.$$hash)!==null&&e!==void 0?e:null};function vo(t){let e=lN(t);if(e!==null)return e;let n=(0,LE.getStringHashCode)(t.type);switch(t.type){case gd.ASTType.ParenthesisExpression:return vo(t.expression);case gd.ASTType.MemberExpression:{let r=t;return n^=vo(r.base),n^=vo(r.identifier),md(t,n)}case gd.ASTType.IndexExpression:{let r=t;return n^=vo(r.base),n^=vo(r.index),md(t,n)}case gd.ASTType.Identifier:{let r=t;return n^=(0,LE.getStringHashCode)(r.name),md(t,n)}}return md(t,n)}function dN(t){return vo(t)}yd.createExpressionHash=dN});var Hy=g(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});bd.Stack=void 0;var Uy=class{constructor(){let e=this;e.currentStack=[]}get(e){let r=this.currentStack;e==null&&(e=0);let i=r.length-e-1;return i<0?null:r[i]}depth(){return this.currentStack.filter(function(e){return Object.prototype.hasOwnProperty.call(e,"body")}).length}lookup(e){let n=this;for(let r=n.currentStack.length-2;r>=0;r--)if(e(n.currentStack[r]))return!0;return!1}push(e){let n=this;return n.currentStack.push(e),n}pop(){let e=this;return e.currentStack.pop(),e}};bd.Stack=Uy});var _o=g(us=>{"use strict";Object.defineProperty(us,"__esModule",{value:!0});us.Factory=us.TokenType=void 0;var fN=Hy(),pN;(function(t){t[t.Text=0]="Text",t[t.EndOfLine=1]="EndOfLine",t[t.Comment=2]="Comment"})(pN=us.TokenType||(us.TokenType={}));var Wy=class{get tokens(){return this._tokens}get currentStack(){return this._currentStack}get currentDependency(){return this._currentDependency}constructor(e){this.transformer=e,this._tokens=[],this._currentDependency=null,this._currentStack=new fN.Stack}process(e,n={}){let r=this,i=r._currentStack;if(e==null)return;if(e.type==null)throw console.error("Error AST type:",e),new Error("Unexpected AST type");let s=r.handlers[e.type];if(s==null)throw console.error("Error AST:",e),new Error("Type does not exist "+e.type);i.push(e),s.call(this,e,n),i.pop()}};us.Factory=Wy});var Vy=g(cs=>{"use strict";Object.defineProperty(cs,"__esModule",{value:!0});cs.BeautifyContext=cs.IndentationType=void 0;var Xa=Ne(),vd=_o(),NE;(function(t){t[t.Tab=0]="Tab",t[t.Whitespace=1]="Whitespace"})(NE=cs.IndentationType||(cs.IndentationType={}));var Gy=class{get indent(){return this._indent}get isMultilineAllowed(){return this._isMultilineAllowed}get usedComments(){return this._usedComments}constructor(e,n){this.factory=e,this.options=n,this._indent=0,this._isMultilineAllowed=!0,this._usedComments=new Set,this.getIndent=n.indentation===NE.Tab?(r=0)=>" ".repeat(this._indent+r):(r=0)=>" ".repeat(n.indentationSpaces).repeat(this._indent+r)}disableMultiline(){this._isMultilineAllowed=!1}enableMultiline(){this._isMultilineAllowed=!0}incIndent(){this._indent++}decIndent(){this._indent--}getBlockOpenerEndLine(e){return e instanceof Xa.ASTIfClause||e instanceof Xa.ASTWhileStatement?e.condition.end.line:e instanceof Xa.ASTForGenericStatement?e.iterator.end.line:e instanceof Xa.ASTChunk?e.start.line-1:e.start.line}getPreviousEndLine(e){if(e==null)return 0;if(e.type===Xa.ASTType.IfShortcutStatement){let n=e;return n.clauses[n.clauses.length-1].body[0].end.line}return e.end.line}containsNewLineInRange(e,n=this.factory.tokens.length){let r=Math.min(n,this.factory.tokens.length);for(let i=e;i<r;i++)if(this.factory.tokens[i].type===vd.TokenType.EndOfLine)return!0;return!1}buildBlock(e){if(e.body.length===0)return;e.body.sort((s,o)=>s.range[0]-o.range[0]);let n=null;for(let s=0;s<e.body.length;s++){let o=e.body[s],a=n?this.getPreviousEndLine(n):this.getBlockOpenerEndLine(e),u=Math.max(o.start.line-a-1,0);if(u>0)for(let l=0;l<u;l++){let d={line:a+l+1,character:0};this.factory.tokens.push({type:vd.TokenType.EndOfLine,value:`
|
117
118
|
`,ref:{start:d,end:d}})}let c=this.factory.tokens.length;this.factory.process(o,{isCommand:!0}),c<this.factory.tokens.length&&(this.factory.tokens[c].value=this.getIndent()+this.factory.tokens[c].value,this.factory.tokens.push({type:vd.TokenType.EndOfLine,value:`
|
118
119
|
`,ref:{start:o.end,end:o.end}})),n=o}let r=e.body[e.body.length-1],i=Math.max(e.end.line-this.getPreviousEndLine(r)-1,0);if(i>0)for(let s=0;s<i;s++){let o={line:r.end.line+s+1,character:0};this.factory.tokens.push({type:vd.TokenType.EndOfLine,value:`
|
119
|
-
`,ref:{start:o,end:o}})}}};cs.BeautifyContext=Gy});var zy=g(Bt=>{"use strict";Object.defineProperty(Bt,"__esModule",{value:!0});Bt.hasEmptyBody=Bt.containsMultilineItemInShortcutClauses=Bt.getLastComment=Bt.unwrap=Bt.countRightBinaryExpressions=Bt.SHORTHAND_OPERATORS=void 0;var gn=
|
120
|
+
`,ref:{start:o,end:o}})}}};cs.BeautifyContext=Gy});var zy=g(Bt=>{"use strict";Object.defineProperty(Bt,"__esModule",{value:!0});Bt.hasEmptyBody=Bt.containsMultilineItemInShortcutClauses=Bt.getLastComment=Bt.unwrap=Bt.countRightBinaryExpressions=Bt.SHORTHAND_OPERATORS=void 0;var gn=Ne();Bt.SHORTHAND_OPERATORS=[gn.Operator.Plus,gn.Operator.Minus,gn.Operator.Asterik,gn.Operator.Slash,gn.Operator.Modulo,gn.Operator.Power];var hN=t=>{if(t=(0,Bt.unwrap)(t),t instanceof gn.ASTComparisonGroupExpression)return t.expressions.length;let e=[t],n=0;for(;e.length>0;){let r=e.pop();r instanceof gn.ASTBinaryExpression&&n++,(r instanceof gn.ASTBinaryExpression||r instanceof gn.ASTLogicalExpression||r instanceof gn.ASTIsaExpression)&&(e.push((0,Bt.unwrap)(r.left)),e.push((0,Bt.unwrap)(r.right)))}return n};Bt.countRightBinaryExpressions=hN;var gN=t=>{for(;t instanceof gn.ASTParenthesisExpression;)t=t.expression;return t};Bt.unwrap=gN;var mN=t=>{for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.type===gn.ASTType.Comment)return n}return null};Bt.getLastComment=mN;var yN=(t,e)=>e.some(n=>t.line<n.body[0].end.line);Bt.containsMultilineItemInShortcutClauses=yN;var bN=t=>!t.some(e=>!(e instanceof gn.ASTComment));Bt.hasEmptyBody=bN});var Xy=g(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});_d.BeautifyFactory=void 0;var Ya=Ne(),vN=require("path"),qE=By(),jE=Vy(),Wr=zy(),N=_o(),Ky=class extends N.Factory{constructor(e){super(e),this.handlers={ParenthesisExpression:function(o,a){this.tokens.push({type:N.TokenType.Text,value:"(",ref:o}),this.process(o.expression,{hasLogicalIndentActive:a.hasLogicalIndentActive}),this.tokens.push({type:N.TokenType.Text,value:")",ref:o})},Comment:function(o,a){if(this.context.usedComments.add(o),o.isMultiline){if(this.transformer.buildOptions.isDevMode){this.tokens.push({type:N.TokenType.Comment,value:`/*${o.value}*/`,ref:o,isMultiline:!0});return}this.tokens.push({type:N.TokenType.Comment,value:o.value.split(`
|
120
121
|
`).map(u=>`//${u}`).join(`
|
121
122
|
`),ref:o,isMultiline:!0});return}this.tokens.push({type:N.TokenType.Comment,value:"// "+o.value.trimStart(),ref:o,isMultiline:!1})},AssignmentStatement:function(o,a){let u=o.variable,c=o.init;if(this.process(u),(u instanceof Ya.ASTIdentifier||u instanceof Ya.ASTMemberExpression)&&c instanceof Ya.ASTBinaryExpression&&(c.left instanceof Ya.ASTIdentifier||c.left instanceof Ya.ASTMemberExpression)&&Wr.SHORTHAND_OPERATORS.includes(c.operator)&&(0,qE.createExpressionHash)(u)===(0,qE.createExpressionHash)(c.left)){this.tokens.push({type:N.TokenType.Text,value:" "+c.operator+"= ",ref:o}),this.process((0,Wr.unwrap)(c.right));return}this.tokens.push({type:N.TokenType.Text,value:" = ",ref:o}),this.process(c)},MemberExpression:function(o,a){this.process(o.base),this.tokens.push({type:N.TokenType.Text,value:o.indexer,ref:o}),this.process(o.identifier)},FunctionDeclaration:function(o,a){if(o.parameters.length===0)this.tokens.push({type:N.TokenType.Text,value:"function",ref:{start:o.start,end:o.start}});else{this.context.disableMultiline(),this.tokens.push({type:N.TokenType.Text,value:"function(",ref:{start:o.start,end:o.start}});for(let u=0;u<o.parameters.length;u++){let c=o.parameters[u];this.process(c),u!==o.parameters.length-1&&this.tokens.push({type:N.TokenType.Text,value:", ",ref:c})}this.tokens.push({type:N.TokenType.Text,value:")",ref:{start:o.start,end:o.start}}),this.context.enableMultiline()}this.tokens.push({type:N.TokenType.EndOfLine,value:`
|
122
123
|
`,ref:{start:o.start,end:o.start}}),this.context.incIndent(),this.context.buildBlock(o),this.context.decIndent(),this.tokens.push({type:N.TokenType.Text,value:this.context.getIndent()+"end function",ref:{start:o.end,end:o.end}})},MapConstructorExpression:function(o,a){if(o.fields.length===0){this.tokens.push({type:N.TokenType.Text,value:"{}",ref:o});return}if(o.fields.length===1){this.tokens.push({type:N.TokenType.Text,value:"{ ",ref:o}),this.process(o.fields[0]),this.tokens.push({type:N.TokenType.Text,value:" }",ref:o});return}if(this.context.isMultilineAllowed){this.context.incIndent(),this.tokens.push({type:N.TokenType.Text,value:"{",ref:{start:o.start,end:o.start}}),this.tokens.push({type:N.TokenType.EndOfLine,value:`
|
@@ -150,7 +151,7 @@ ${e}`;for(let a=0;a<this.details.length;++a){let u=a+1;o=`${o}
|
|
150
151
|
`,ref:{start:e.start,end:e.start}});for(let r of e.body){let i=this.tokens.length;this.process(r),i<this.tokens.length&&this.tokens.push({type:H.TokenType.EndOfLine,value:`
|
151
152
|
`,ref:{start:r.end,end:r.end}})}},ContinueStatement:function(e,n){this.tokens.push({type:H.TokenType.Text,value:"continue",ref:e})},BreakStatement:function(e,n){this.tokens.push({type:H.TokenType.Text,value:"break",ref:e})},CallStatement:function(e,n){this.process(e.expression)},FeatureInjectExpression:function(e,n){if(this.transformer.buildOptions.isDevMode){this.tokens.push({type:H.TokenType.Text,value:`#inject "${e.path}";`,ref:e});return}if(this.currentDependency===null){this.tokens.push({type:H.TokenType.Text,value:`#inject "${e.path}";`,ref:e});return}let r=this.currentDependency.injections.get(e.path);if(r==null){this.tokens.push({type:H.TokenType.Text,value:"null",ref:e});return}this.tokens.push({type:H.TokenType.Text,value:`"${r.replace(/"/g,'""')}"`,ref:e})},FeatureImportExpression:function(e,n){if(this.transformer.buildOptions.isDevMode){this.tokens.push({type:H.TokenType.Text,value:"#import ",ref:e}),this.process(e.name),this.tokens.push({type:H.TokenType.Text,value:` from "${e.path}";`,ref:e});return}if(!e.chunk){this.tokens.push({type:H.TokenType.Text,value:"#import ",ref:e}),this.process(e.name),this.tokens.push({type:H.TokenType.Text,value:` from "${e.path}";`,ref:e});return}this.process(e.name),this.tokens.push({type:H.TokenType.Text,value:' = __REQUIRE("'+e.namespace+'")',ref:e})},FeatureIncludeExpression:function(e,n){if(this.transformer.buildOptions.isDevMode){this.tokens.push({type:H.TokenType.Text,value:`#include "${e.path}";`,ref:e});return}if(!e.chunk){this.tokens.push({type:H.TokenType.Text,value:`#include "${e.path}";`,ref:e});return}this.process(e.chunk)},FeatureDebuggerExpression:function(e,n){if(this.transformer.buildOptions.isDevMode){this.tokens.push({type:H.TokenType.Text,value:"debugger",ref:e});return}this.tokens.push({type:H.TokenType.Text,value:"//debugger",ref:e})},FeatureLineExpression:function(e,n){if(this.transformer.buildOptions.isDevMode){this.tokens.push({type:H.TokenType.Text,value:"#line",ref:e});return}this.tokens.push({type:H.TokenType.Text,value:`${e.start.line}`,ref:e})},FeatureFileExpression:function(e,n){if(this.transformer.buildOptions.isDevMode){this.tokens.push({type:H.TokenType.Text,value:"#filename",ref:e});return}this.tokens.push({type:H.TokenType.Text,value:`"${(0,_N.basename)(e.filename).replace(/"/g,'"')}"`,ref:e})},ListConstructorExpression:function(e,n){this.tokens.push({type:H.TokenType.Text,value:"[",ref:e});for(let r=0;r<e.fields.length;r++){let i=e.fields[r];this.process(i),r!==e.fields.length-1&&this.tokens.push({type:H.TokenType.Text,value:",",ref:i})}this.tokens.push({type:H.TokenType.Text,value:"]",ref:e})},ListValue:function(e,n){this.process(e.value)},BooleanLiteral:function(e,n){this.tokens.push({type:H.TokenType.Text,value:(e.negated?"-":"")+e.raw.toString(),ref:e})},EmptyExpression:function(e,n){this.tokens.push({type:H.TokenType.Text,value:"",ref:e})},IsaExpression:function(e,n){this.process(e.left),this.tokens.push({type:H.TokenType.Text,value:" "+e.operator+" ",ref:e}),this.process(e.right)},LogicalExpression:function(e,n){this.process(e.left),this.tokens.push({type:H.TokenType.Text,value:" "+e.operator+" ",ref:e}),this.process(e.right)},BinaryExpression:function(e,n){if(e.operator==="|"){this.tokens.push({type:H.TokenType.Text,value:"bitOr(",ref:e}),this.process(e.left),this.tokens.push({type:H.TokenType.Text,value:",",ref:e}),this.process(e.right),this.tokens.push({type:H.TokenType.Text,value:")",ref:e});return}else if(e.operator==="&"){this.tokens.push({type:H.TokenType.Text,value:"bitAnd(",ref:e}),this.process(e.left),this.tokens.push({type:H.TokenType.Text,value:",",ref:e}),this.process(e.right),this.tokens.push({type:H.TokenType.Text,value:")",ref:e});return}else if(e.operator==="<<"||e.operator===">>"||e.operator===">>>")throw new Error("Operators in binary expression are not supported");this.process(e.left),this.tokens.push({type:H.TokenType.Text,value:e.operator,ref:e}),this.process(e.right)},BinaryNegatedExpression:function(e,n){this.tokens.push({type:H.TokenType.Text,value:e.operator,ref:e}),this.process(e.argument)},ComparisonGroupExpression:function(e,n){this.process(e.expressions[0]);for(let r=0;r<e.operators.length;r++)this.tokens.push({type:H.TokenType.Text,value:e.operators[r],ref:e}),this.process(e.expressions[r+1])},Chunk:function(e,n){for(let r of e.body){let i=this.tokens.length;this.process(r),i<this.tokens.length&&this.tokens.push({type:H.TokenType.EndOfLine,value:`
|
152
153
|
`,ref:{start:r.end,end:r.end}})}}}}transform(e,n){this._tokens=[],this._currentDependency=n,this.process(e);let r="";for(let i=0;i<this.tokens.length-1;i++){let s=this.tokens[i];if(s.type===H.TokenType.Text||s.type===H.TokenType.Comment)r+=s.value;else if(s.type===H.TokenType.EndOfLine)r+=`
|
153
|
-
`;else throw new Error("Unknown token type!")}return r}generateOptimizations(){return[]}};Td.DefaultFactory=Yy});var Qy=g(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});kd.createExpressionString=void 0;var Sd=
|
154
|
+
`;else throw new Error("Unknown token type!")}return r}generateOptimizations(){return[]}};Td.DefaultFactory=Yy});var Qy=g(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});kd.createExpressionString=void 0;var Sd=Ne();function Ja(t){switch(t.type){case Sd.ASTType.ParenthesisExpression:return Ja(t.expression);case Sd.ASTType.MemberExpression:{let e=t;return`${Ja(e.base)}.${Ja(e.identifier)}`}case Sd.ASTType.IndexExpression:return`${Ja(t.base)}[]`;case Sd.ASTType.Identifier:return t.name}}function TN(t){return Ja(t)}kd.createExpressionString=TN});var eb=g(xd=>{"use strict";Object.defineProperty(xd,"__esModule",{value:!0});xd.UglifyFactory=void 0;var SN=require("path"),FE=Qy(),$=_o(),Zy=class extends $.Factory{constructor(e){var n,r;super(e),this.handlers={ParenthesisExpression:function(i,s){this.tokens.push({type:$.TokenType.Text,value:"(",ref:i}),this.process(i.expression),this.tokens.push({type:$.TokenType.Text,value:")",ref:i})},Comment:function(i,s){},AssignmentStatement:function(i,s){let o=i.variable,a=i.init;this.process(o),this.tokens.push({type:$.TokenType.Text,value:"=",ref:i}),this.process(a)},MemberExpression:function(i,s){this.process(i.base),this.tokens.push({type:$.TokenType.Text,value:i.indexer,ref:i});let o=(0,FE.createExpressionString)(i.base);this.process(i.identifier,{usesNativeVar:o==="globals"||o==="locals"||o==="outer",isMember:!0})},FunctionDeclaration:function(i,s){if(i.parameters.length===0)this.tokens.push({type:$.TokenType.Text,value:"function",ref:{start:i.start,end:i.start}});else{this.tokens.push({type:$.TokenType.Text,value:"function(",ref:{start:i.start,end:i.start}}),this.isWithinArgument=!0;for(let o=0;o<i.parameters.length;o++){let a=i.parameters[o];this.process(a),o!==i.parameters.length-1&&this.tokens.push({type:$.TokenType.Text,value:",",ref:a})}this.isWithinArgument=!1,this.tokens.push({type:$.TokenType.Text,value:")",ref:{start:i.start,end:i.start}})}this.tokens.push({type:$.TokenType.EndOfLine,value:`
|
154
155
|
`,ref:{start:i.start,end:i.start}});for(let o of i.body){let a=this.tokens.length;this.process(o),a<this.tokens.length&&this.tokens.push({type:$.TokenType.EndOfLine,value:`
|
155
156
|
`,ref:{start:o.end,end:o.end}})}this.tokens.push({type:$.TokenType.Text,value:"end function",ref:{start:i.end,end:i.end}})},MapConstructorExpression:function(i,s){this.tokens.push({type:$.TokenType.Text,value:"{",ref:{start:i.start,end:i.start}});for(let o=0;o<i.fields.length;o++){let a=i.fields[o];this.process(a),o!==i.fields.length-1&&this.tokens.push({type:$.TokenType.Text,value:",",ref:a})}this.tokens.push({type:$.TokenType.Text,value:"}",ref:{start:i.end,end:i.end}})},MapKeyString:function(i,s){this.process(i.key),this.tokens.push({type:$.TokenType.Text,value:":",ref:i}),this.process(i.value)},Identifier:function(i,s){let o=i.name;if(this.disableNamespacesOptimization){this.tokens.push({type:$.TokenType.Text,value:o,ref:i});return}if(s.isMember){if(s.usesNativeVar){this.tokens.push({type:$.TokenType.Text,value:this.transformer.context.variables.get(o)||o,ref:i});return}this.tokens.push({type:$.TokenType.Text,value:o,ref:i});return}this.tokens.push({type:$.TokenType.Text,value:this.transformer.context.variables.get(o)||o,ref:i})},ReturnStatement:function(i,s){this.tokens.push({type:$.TokenType.Text,value:"return ",ref:i}),i.argument&&this.process(i.argument)},NumericLiteral:function(i,s){if(this.disableLiteralsOptimization){this.tokens.push({type:$.TokenType.Text,value:(i.negated?"-":"")+i.value.toString(),ref:i});return}let o=this.transformer.context.literals.get(i);if(!this.isWithinArgument&&o!==null&&o.namespace!==null){this.tokens.push({type:$.TokenType.Text,value:o.namespace,ref:i});return}this.tokens.push({type:$.TokenType.Text,value:(i.negated?"-":"")+i.value.toString(),ref:i})},WhileStatement:function(i,s){this.tokens.push({type:$.TokenType.Text,value:"while ",ref:{start:i.start,end:i.start}}),this.process(i.condition),this.tokens.push({type:$.TokenType.EndOfLine,value:`
|
156
157
|
`,ref:{start:i.start,end:i.start}});for(let o of i.body){let a=this.tokens.length;this.process(o),a<this.tokens.length&&this.tokens.push({type:$.TokenType.EndOfLine,value:`
|
@@ -184,10 +185,10 @@ ${e}`;for(let a=0;a<this.details.length;++a){let u=a+1;o=`${o}
|
|
184
185
|
EXPORTED[r]=module
|
185
186
|
return EXPORTED[r]
|
186
187
|
end function`).parseChunk();Ai.MAIN_BOILERPLATE=new hb.Parser('"$0"').parseChunk()});var Fd=g(jd=>{"use strict";Object.defineProperty(jd,"__esModule",{value:!0});jd.OutputProcessor=void 0;var VE=gb(),mb=class{constructor(e,n,{header:r=VE.HEADER_BOILERPLATE,main:i=VE.MAIN_BOILERPLATE}={}){this.context=e,this.transformer=n,this.processed=[],this.headerBoilerplate=this.transformer.transform(r),this.mainBoilerplate=this.transformer.transform(i)}addOptimizations(){return this.processed.push(...this.transformer.factory.generateOptimizations()),this}addHeader(){return this.processed.push(this.headerBoilerplate),this}addCode(e,n=!1){if(n){let r=this.mainBoilerplate.replace('"$0"',e);this.processed.push(r)}else this.processed.push(e);return this}build(){return this.processed.join(`
|
187
|
-
`)}};jd.OutputProcessor=mb});var KE=g(So=>{"use strict";var qN=So&&So.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(So,"__esModule",{value:!0});So.DirectTranspiler=void 0;var jN=qN(require("events")),FN=Br(),zE=wd(),$N=Za(),BN=Md(),UN=qd(),HN=Dd(),WN=Fd(),GN=Object.prototype.hasOwnProperty,yb=class extends jN.default{constructor(e){super();let n=this;n.code=e.code,n.obfuscation=GN.call(e,"obfuscation")?e.obfuscation:!0,n.buildType=e.buildType||zE.BuildType.DEFAULT,n.buildOptions=e.buildOptions||{isDevMode:!1},n.environmentVariables=e.environmentVariables||new Map,n.excludedNamespaces=e.excludedNamespaces||[]}parse(){let e=this,n=(0,zE.getFactory)(e.buildType),i=new FN.Parser(e.code).parseChunk(),s=(0,HN.fetchNamespaces)(i),o=[].concat(i.literals),a=(0,UN.generateCharsetMap)(e.obfuscation),u=new $N.Context({variablesCharset:a.variables,variablesExcluded:e.excludedNamespaces,modulesCharset:a.modules});new Set(s).forEach(b=>u.variables.createNamespace(b)),o.forEach(b=>u.literals.add(b));let l=new BN.Transformer({buildOptions:e.buildOptions,factoryConstructor:n,context:u,environmentVariables:e.environmentVariables}),d=new WN.OutputProcessor(u,l);d.addOptimizations();let p=l.transform(i);return d.addCode(p),d.build()}};So.DirectTranspiler=yb});var vb=g($d=>{"use strict";Object.defineProperty($d,"__esModule",{value:!0});$d.ResourceProvider=void 0;var bb=class{getHandler(){let e=require("fs"),n=require("path");return{getTargetRelativeTo:(r,i)=>{let s=n.resolve(r,".."),o=n.resolve(s,i);return Promise.resolve(e.existsSync(o)?o:o+".src")},has:r=>Promise.resolve(e.existsSync(r)),get:r=>Promise.resolve(e.readFileSync(r,"utf8")),resolve:r=>Promise.resolve(n.resolve(r))}}};$d.ResourceProvider=bb});var Tb=g(Oi=>{"use strict";var VN=Oi&&Oi.__awaiter||function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(l){try{c(r.next(l))}catch(d){o(d)}}function u(l){try{c(r.throw(l))}catch(d){o(d)}}function c(l){l.done?s(l.value):i(l.value).then(a,u)}c((r=r.apply(t,e||[])).next())})},zN=Oi&&Oi.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Oi,"__esModule",{value:!0});Oi.Target=void 0;var KN=zN(require("events")),XN=Br(),YN=fb(),XE=Cd(),_b=class extends KN.default{constructor(e){super();let n=this;n.target=e.target,n.resourceHandler=e.resourceHandler,n.context=e.context}parse(){return VN(this,void 0,void 0,function*(){let e=this,n=e.resourceHandler,r=yield n.resolve(e.target);if(!(yield n.has(r)))throw new Error("Target "+r+" does not exist...");let i=e.context,s=yield n.get(r);e.emit("parse-before",r);try{let a=new XN.Parser(s,{filename:r}).parseChunk(),u=new YN.Dependency({target:r,resourceHandler:n,chunk:a,context:i}),{namespaces:c,literals:l}=yield u.findDependencies(),d=new Set(c);for(let p of d)i.variables.createNamespace(p);for(let p of l)i.literals.add(p);return{main:{chunk:a,dependency:u}}}catch(o){throw o instanceof XE.BuildError?o:new XE.BuildError(o.message,{target:this.target,range:o.range})}})}};Oi.Target=_b});var JE=g(ko=>{"use strict";var JN=ko&&ko.__awaiter||function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(l){try{c(r.next(l))}catch(d){o(d)}}function u(l){try{c(r.throw(l))}catch(d){o(d)}}function c(l){l.done?s(l.value):i(l.value).then(a,u)}c((r=r.apply(t,e||[])).next())})};Object.defineProperty(ko,"__esModule",{value:!0});ko.Transpiler=void 0;var QN=kb(),ZN=gb(),YE=wd(),eq=Za(),tq=vb(),nq=Tb(),rq=Md(),iq=qd(),sq=Fd(),oq=Object.prototype.hasOwnProperty,Sb=class{constructor(e){let n=this;n.target=e.target,n.resourceHandler=e.resourceHandler||new tq.ResourceProvider().getHandler(),n.obfuscation=oq.call(e,"obfuscation")?e.obfuscation:!0;let r=(0,iq.generateCharsetMap)(n.obfuscation);n.context=new eq.Context({variablesCharset:r.variables,variablesExcluded:e.excludedNamespaces,modulesCharset:r.modules}),n.buildType=e.buildType||YE.BuildType.DEFAULT,n.buildOptions=e.buildOptions||{isDevMode:!1},n.installer=e.installer||!1,n.environmentVariables=e.environmentVariables||new Map}parse(){return JN(this,void 0,void 0,function*(){let e=this,n=(0,YE.getFactory)(e.buildType),r=e.context,s=yield new nq.Target({target:e.target,resourceHandler:e.resourceHandler,context:e.context}).parse(),o=new rq.Transformer({buildOptions:e.buildOptions,factoryConstructor:n,context:r,environmentVariables:e.environmentVariables,resourceHandler:e.resourceHandler}),a=s.main,u=o.transform(ZN.MODULE_BOILERPLATE),c=l=>{let d=r.modules.get(l.getId()),p={},b=0,T=function(M){let x=M.getNamespace();if(!(x in p)){if(x!==d&&M.type===QN.DependencyType.Import){let k=o.transform(M.chunk,M);p[x]=u.replace('"$0"','"'+x+'"').replace('"$1"',k),b++}for(let k of M.dependencies)T(k)}};T(l);let E=new sq.OutputProcessor(r,o);E.addOptimizations(),b>0&&E.addHeader(),Object.keys(p).forEach(M=>E.addCode(p[M]));let L=o.transform(l.chunk,l);return E.addCode(L,!0),E.build()};return{[e.target]:c(a.dependency)}})}};ko.Transpiler=Sb});var QE=g(Bd=>{"use strict";Object.defineProperty(Bd,"__esModule",{value:!0});Bd.unwrap=void 0;var aq=Le();function uq(t){for(;t instanceof aq.ASTParenthesisExpression;)t=t.expression;return t}Bd.unwrap=uq});var kb=g(Q=>{"use strict";var ZE=Q&&Q.__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]}),cq=Q&&Q.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),lq=Q&&Q.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&ZE(e,t,n);return cq(e,t),e},dq=Q&&Q.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&ZE(e,t,n)};Object.defineProperty(Q,"__esModule",{value:!0});Q.unwrap=Q.Stack=Q.OutputProcessor=Q.NamespaceGenerator=Q.LiteralsMapper=Q.fetchNamespaces=Q.BuildError=Q.createExpressionString=Q.createExpressionHash=Q.generateCharsetMap=Q.DependencyType=Q.Transpiler=Q.Transformer=Q.Target=Q.DirectTranspiler=Q.Dependency=Q.ContextDataProperty=Q.Context=Q.UglifyFactory=Q.TokenType=Q.Factory=Q.DefaultFactory=Q.BeautifyUtils=Q.BeautifyContext=Q.BeautifyFactory=Q.getFactory=Q.BuildType=void 0;var eA=wd();Object.defineProperty(Q,"BuildType",{enumerable:!0,get:function(){return eA.BuildType}});Object.defineProperty(Q,"getFactory",{enumerable:!0,get:function(){return eA.getFactory}});var fq=Xy();Object.defineProperty(Q,"BeautifyFactory",{enumerable:!0,get:function(){return fq.BeautifyFactory}});var pq=Vy();Object.defineProperty(Q,"BeautifyContext",{enumerable:!0,get:function(){return pq.BeautifyContext}});Q.BeautifyUtils=lq(zy());var hq=Jy();Object.defineProperty(Q,"DefaultFactory",{enumerable:!0,get:function(){return hq.DefaultFactory}});var tA=_o();Object.defineProperty(Q,"Factory",{enumerable:!0,get:function(){return tA.Factory}});Object.defineProperty(Q,"TokenType",{enumerable:!0,get:function(){return tA.TokenType}});var gq=eb();Object.defineProperty(Q,"UglifyFactory",{enumerable:!0,get:function(){return gq.UglifyFactory}});var nA=Za();Object.defineProperty(Q,"Context",{enumerable:!0,get:function(){return nA.Context}});Object.defineProperty(Q,"ContextDataProperty",{enumerable:!0,get:function(){return nA.ContextDataProperty}});var mq=fb();Object.defineProperty(Q,"Dependency",{enumerable:!0,get:function(){return mq.Dependency}});var yq=KE();Object.defineProperty(Q,"DirectTranspiler",{enumerable:!0,get:function(){return yq.DirectTranspiler}});dq(vb(),Q);var bq=Tb();Object.defineProperty(Q,"Target",{enumerable:!0,get:function(){return bq.Target}});var vq=Md();Object.defineProperty(Q,"Transformer",{enumerable:!0,get:function(){return vq.Transformer}});var _q=JE();Object.defineProperty(Q,"Transpiler",{enumerable:!0,get:function(){return _q.Transpiler}});var Tq=ab();Object.defineProperty(Q,"DependencyType",{enumerable:!0,get:function(){return Tq.DependencyType}});var Sq=qd();Object.defineProperty(Q,"generateCharsetMap",{enumerable:!0,get:function(){return Sq.generateCharsetMap}});var kq=By();Object.defineProperty(Q,"createExpressionHash",{enumerable:!0,get:function(){return kq.createExpressionHash}});var xq=Qy();Object.defineProperty(Q,"createExpressionString",{enumerable:!0,get:function(){return xq.createExpressionString}});var wq=Cd();Object.defineProperty(Q,"BuildError",{enumerable:!0,get:function(){return wq.BuildError}});var Eq=Dd();Object.defineProperty(Q,"fetchNamespaces",{enumerable:!0,get:function(){return Eq.fetchNamespaces}});var Aq=rb();Object.defineProperty(Q,"LiteralsMapper",{enumerable:!0,get:function(){return Aq.LiteralsMapper}});var Oq=sb();Object.defineProperty(Q,"NamespaceGenerator",{enumerable:!0,get:function(){return Oq.NamespaceGenerator}});var Cq=Fd();Object.defineProperty(Q,"OutputProcessor",{enumerable:!0,get:function(){return Cq.OutputProcessor}});var Rq=Hy();Object.defineProperty(Q,"Stack",{enumerable:!0,get:function(){return Rq.Stack}});var Dq=QE();Object.defineProperty(Q,"unwrap",{enumerable:!0,get:function(){return Dq.unwrap}})});var iA=g(Ud=>{"use strict";Object.defineProperty(Ud,"__esModule",{value:!0});Ud.activate=void 0;var rA=kb();function Pq(t){async function e(n){try{let r=t.getConfiguration();return new rA.DirectTranspiler({code:n,buildType:rA.BuildType.BEAUTIFY,buildOptions:{isDevMode:!0,keepParentheses:r.transpiler.beautify.keepParentheses,indentation:r.transpiler.beautify.indentation==="Tab"?0:1,indentationSpaces:r.transpiler.beautify.indentationSpaces}}).parse()}catch{return null}}t.connection.onDocumentFormatting(async n=>{if(!t.getConfiguration().formatter)return;let r=await t.fs.getTextDocument(n.textDocument.uri);if(r==null)return;let i=await t.documentManager.getLatest(r),s=await e(r.getText());return s===null?[]:[{range:{start:{line:0,character:0},end:i.document.end},newText:s}]})}Ud.activate=Pq});var Hd=g((tu,xb)=>{(function(t,e){if(typeof tu=="object"&&typeof xb=="object")xb.exports=e();else if(typeof define=="function"&&define.amd)define([],e);else{var n=e();for(var r in n)(typeof tu=="object"?tu:t)[r]=n[r]}})(tu,()=>(()=>{"use strict";var t={470:i=>{function s(u){if(typeof u!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(u))}function o(u,c){for(var l,d="",p=0,b=-1,T=0,E=0;E<=u.length;++E){if(E<u.length)l=u.charCodeAt(E);else{if(l===47)break;l=47}if(l===47){if(!(b===E-1||T===1))if(b!==E-1&&T===2){if(d.length<2||p!==2||d.charCodeAt(d.length-1)!==46||d.charCodeAt(d.length-2)!==46){if(d.length>2){var L=d.lastIndexOf("/");if(L!==d.length-1){L===-1?(d="",p=0):p=(d=d.slice(0,L)).length-1-d.lastIndexOf("/"),b=E,T=0;continue}}else if(d.length===2||d.length===1){d="",p=0,b=E,T=0;continue}}c&&(d.length>0?d+="/..":d="..",p=2)}else d.length>0?d+="/"+u.slice(b+1,E):d=u.slice(b+1,E),p=E-b-1;b=E,T=0}else l===46&&T!==-1?++T:T=-1}return d}var a={resolve:function(){for(var u,c="",l=!1,d=arguments.length-1;d>=-1&&!l;d--){var p;d>=0?p=arguments[d]:(u===void 0&&(u=process.cwd()),p=u),s(p),p.length!==0&&(c=p+"/"+c,l=p.charCodeAt(0)===47)}return c=o(c,!l),l?c.length>0?"/"+c:"/":c.length>0?c:"."},normalize:function(u){if(s(u),u.length===0)return".";var c=u.charCodeAt(0)===47,l=u.charCodeAt(u.length-1)===47;return(u=o(u,!c)).length!==0||c||(u="."),u.length>0&&l&&(u+="/"),c?"/"+u:u},isAbsolute:function(u){return s(u),u.length>0&&u.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var u,c=0;c<arguments.length;++c){var l=arguments[c];s(l),l.length>0&&(u===void 0?u=l:u+="/"+l)}return u===void 0?".":a.normalize(u)},relative:function(u,c){if(s(u),s(c),u===c||(u=a.resolve(u))===(c=a.resolve(c)))return"";for(var l=1;l<u.length&&u.charCodeAt(l)===47;++l);for(var d=u.length,p=d-l,b=1;b<c.length&&c.charCodeAt(b)===47;++b);for(var T=c.length-b,E=p<T?p:T,L=-1,M=0;M<=E;++M){if(M===E){if(T>E){if(c.charCodeAt(b+M)===47)return c.slice(b+M+1);if(M===0)return c.slice(b+M)}else p>E&&(u.charCodeAt(l+M)===47?L=M:M===0&&(L=0));break}var x=u.charCodeAt(l+M);if(x!==c.charCodeAt(b+M))break;x===47&&(L=M)}var k="";for(M=l+L+1;M<=d;++M)M!==d&&u.charCodeAt(M)!==47||(k.length===0?k+="..":k+="/..");return k.length>0?k+c.slice(b+L):(b+=L,c.charCodeAt(b)===47&&++b,c.slice(b))},_makeLong:function(u){return u},dirname:function(u){if(s(u),u.length===0)return".";for(var c=u.charCodeAt(0),l=c===47,d=-1,p=!0,b=u.length-1;b>=1;--b)if((c=u.charCodeAt(b))===47){if(!p){d=b;break}}else p=!1;return d===-1?l?"/":".":l&&d===1?"//":u.slice(0,d)},basename:function(u,c){if(c!==void 0&&typeof c!="string")throw new TypeError('"ext" argument must be a string');s(u);var l,d=0,p=-1,b=!0;if(c!==void 0&&c.length>0&&c.length<=u.length){if(c.length===u.length&&c===u)return"";var T=c.length-1,E=-1;for(l=u.length-1;l>=0;--l){var L=u.charCodeAt(l);if(L===47){if(!b){d=l+1;break}}else E===-1&&(b=!1,E=l+1),T>=0&&(L===c.charCodeAt(T)?--T==-1&&(p=l):(T=-1,p=E))}return d===p?p=E:p===-1&&(p=u.length),u.slice(d,p)}for(l=u.length-1;l>=0;--l)if(u.charCodeAt(l)===47){if(!b){d=l+1;break}}else p===-1&&(b=!1,p=l+1);return p===-1?"":u.slice(d,p)},extname:function(u){s(u);for(var c=-1,l=0,d=-1,p=!0,b=0,T=u.length-1;T>=0;--T){var E=u.charCodeAt(T);if(E!==47)d===-1&&(p=!1,d=T+1),E===46?c===-1?c=T:b!==1&&(b=1):c!==-1&&(b=-1);else if(!p){l=T+1;break}}return c===-1||d===-1||b===0||b===1&&c===d-1&&c===l+1?"":u.slice(c,d)},format:function(u){if(u===null||typeof u!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof u);return function(c,l){var d=l.dir||l.root,p=l.base||(l.name||"")+(l.ext||"");return d?d===l.root?d+p:d+"/"+p:p}(0,u)},parse:function(u){s(u);var c={root:"",dir:"",base:"",ext:"",name:""};if(u.length===0)return c;var l,d=u.charCodeAt(0),p=d===47;p?(c.root="/",l=1):l=0;for(var b=-1,T=0,E=-1,L=!0,M=u.length-1,x=0;M>=l;--M)if((d=u.charCodeAt(M))!==47)E===-1&&(L=!1,E=M+1),d===46?b===-1?b=M:x!==1&&(x=1):b!==-1&&(x=-1);else if(!L){T=M+1;break}return b===-1||E===-1||x===0||x===1&&b===E-1&&b===T+1?E!==-1&&(c.base=c.name=T===0&&p?u.slice(1,E):u.slice(T,E)):(T===0&&p?(c.name=u.slice(1,b),c.base=u.slice(1,E)):(c.name=u.slice(T,b),c.base=u.slice(T,E)),c.ext=u.slice(b,E)),T>0?c.dir=u.slice(0,T-1):p&&(c.dir="/"),c},sep:"/",delimiter:":",win32:null,posix:null};a.posix=a,i.exports=a},674:(i,s)=>{if(Object.defineProperty(s,"__esModule",{value:!0}),s.isWindows=void 0,typeof process=="object")s.isWindows=process.platform==="win32";else if(typeof navigator=="object"){let o=navigator.userAgent;s.isWindows=o.indexOf("Windows")>=0}},796:(i,s,o)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.uriToFsPath=s.URI=void 0;let a=o(674),u=/^\w[\w\d+.-]*$/,c=/^\//,l=/^\/\//;function d(G,A){if(!G.scheme&&A)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${G.authority}", path: "${G.path}", query: "${G.query}", fragment: "${G.fragment}"}`);if(G.scheme&&!u.test(G.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(G.path){if(G.authority){if(!c.test(G.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(l.test(G.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}let p="",b="/",T=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class E{static isUri(A){return A instanceof E||!!A&&typeof A.authority=="string"&&typeof A.fragment=="string"&&typeof A.path=="string"&&typeof A.query=="string"&&typeof A.scheme=="string"&&typeof A.fsPath=="string"&&typeof A.with=="function"&&typeof A.toString=="function"}scheme;authority;path;query;fragment;constructor(A,P,I,j,fe,le=!1){typeof A=="object"?(this.scheme=A.scheme||p,this.authority=A.authority||p,this.path=A.path||p,this.query=A.query||p,this.fragment=A.fragment||p):(this.scheme=function(Rt,ht){return Rt||ht?Rt:"file"}(A,le),this.authority=P||p,this.path=function(Rt,ht){switch(Rt){case"https":case"http":case"file":ht?ht[0]!==b&&(ht=b+ht):ht=b}return ht}(this.scheme,I||p),this.query=j||p,this.fragment=fe||p,d(this,le))}get fsPath(){return F(this,!1)}with(A){if(!A)return this;let{scheme:P,authority:I,path:j,query:fe,fragment:le}=A;return P===void 0?P=this.scheme:P===null&&(P=p),I===void 0?I=this.authority:I===null&&(I=p),j===void 0?j=this.path:j===null&&(j=p),fe===void 0?fe=this.query:fe===null&&(fe=p),le===void 0?le=this.fragment:le===null&&(le=p),P===this.scheme&&I===this.authority&&j===this.path&&fe===this.query&&le===this.fragment?this:new M(P,I,j,fe,le)}static parse(A,P=!1){let I=T.exec(A);return I?new M(I[2]||p,ge(I[4]||p),ge(I[5]||p),ge(I[7]||p),ge(I[9]||p),P):new M(p,p,p,p,p)}static file(A){let P=p;if(a.isWindows&&(A=A.replace(/\\/g,b)),A[0]===b&&A[1]===b){let I=A.indexOf(b,2);I===-1?(P=A.substring(2),A=b):(P=A.substring(2,I),A=A.substring(I)||b)}return new M("file",P,A,p,p)}static from(A){let P=new M(A.scheme,A.authority,A.path,A.query,A.fragment);return d(P,!0),P}toString(A=!1){return C(this,A)}toJSON(){return this}static revive(A){if(A){if(A instanceof E)return A;{let P=new M(A);return P._formatted=A.external,P._fsPath=A._sep===L?A.fsPath:null,P}}return A}}s.URI=E;let L=a.isWindows?1:void 0;class M extends E{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=F(this,!1)),this._fsPath}toString(A=!1){return A?C(this,!0):(this._formatted||(this._formatted=C(this,!1)),this._formatted)}toJSON(){let A={$mid:1};return this._fsPath&&(A.fsPath=this._fsPath,A._sep=L),this._formatted&&(A.external=this._formatted),this.path&&(A.path=this.path),this.scheme&&(A.scheme=this.scheme),this.authority&&(A.authority=this.authority),this.query&&(A.query=this.query),this.fragment&&(A.fragment=this.fragment),A}}let x={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function k(G,A,P){let I,j=-1;for(let fe=0;fe<G.length;fe++){let le=G.charCodeAt(fe);if(le>=97&&le<=122||le>=65&&le<=90||le>=48&&le<=57||le===45||le===46||le===95||le===126||A&&le===47||P&&le===91||P&&le===93||P&&le===58)j!==-1&&(I+=encodeURIComponent(G.substring(j,fe)),j=-1),I!==void 0&&(I+=G.charAt(fe));else{I===void 0&&(I=G.substr(0,fe));let Rt=x[le];Rt!==void 0?(j!==-1&&(I+=encodeURIComponent(G.substring(j,fe)),j=-1),I+=Rt):j===-1&&(j=fe)}}return j!==-1&&(I+=encodeURIComponent(G.substring(j))),I!==void 0?I:G}function v(G){let A;for(let P=0;P<G.length;P++){let I=G.charCodeAt(P);I===35||I===63?(A===void 0&&(A=G.substr(0,P)),A+=x[I]):A!==void 0&&(A+=G[P])}return A!==void 0?A:G}function F(G,A){let P;return P=G.authority&&G.path.length>1&&G.scheme==="file"?`//${G.authority}${G.path}`:G.path.charCodeAt(0)===47&&(G.path.charCodeAt(1)>=65&&G.path.charCodeAt(1)<=90||G.path.charCodeAt(1)>=97&&G.path.charCodeAt(1)<=122)&&G.path.charCodeAt(2)===58?A?G.path.substr(1):G.path[1].toLowerCase()+G.path.substr(2):G.path,a.isWindows&&(P=P.replace(/\//g,"\\")),P}function C(G,A){let P=A?v:k,I="",{scheme:j,authority:fe,path:le,query:Rt,fragment:ht}=G;if(j&&(I+=j,I+=":"),(fe||j==="file")&&(I+=b,I+=b),fe){let qe=fe.indexOf("@");if(qe!==-1){let on=fe.substr(0,qe);fe=fe.substr(qe+1),qe=on.lastIndexOf(":"),qe===-1?I+=P(on,!1,!1):(I+=P(on.substr(0,qe),!1,!1),I+=":",I+=P(on.substr(qe+1),!1,!0)),I+="@"}fe=fe.toLowerCase(),qe=fe.lastIndexOf(":"),qe===-1?I+=P(fe,!1,!0):(I+=P(fe.substr(0,qe),!1,!0),I+=fe.substr(qe))}if(le){if(le.length>=3&&le.charCodeAt(0)===47&&le.charCodeAt(2)===58){let qe=le.charCodeAt(1);qe>=65&&qe<=90&&(le=`/${String.fromCharCode(qe+32)}:${le.substr(3)}`)}else if(le.length>=2&&le.charCodeAt(1)===58){let qe=le.charCodeAt(0);qe>=65&&qe<=90&&(le=`${String.fromCharCode(qe+32)}:${le.substr(2)}`)}I+=P(le,!0,!1)}return Rt&&(I+="?",I+=P(Rt,!1,!1)),ht&&(I+="#",I+=A?ht:k(ht,!1,!1)),I}function V(G){try{return decodeURIComponent(G)}catch{return G.length>3?G.substr(0,3)+V(G.substr(3)):G}}s.uriToFsPath=F;let ae=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function ge(G){return G.match(ae)?G.replace(ae,A=>V(A)):G}},679:function(i,s,o){var a=this&&this.__createBinding||(Object.create?function(T,E,L,M){M===void 0&&(M=L);var x=Object.getOwnPropertyDescriptor(E,L);x&&!("get"in x?!E.__esModule:x.writable||x.configurable)||(x={enumerable:!0,get:function(){return E[L]}}),Object.defineProperty(T,M,x)}:function(T,E,L,M){M===void 0&&(M=L),T[M]=E[L]}),u=this&&this.__setModuleDefault||(Object.create?function(T,E){Object.defineProperty(T,"default",{enumerable:!0,value:E})}:function(T,E){T.default=E}),c=this&&this.__importStar||function(T){if(T&&T.__esModule)return T;var E={};if(T!=null)for(var L in T)L!=="default"&&Object.prototype.hasOwnProperty.call(T,L)&&a(E,T,L);return u(E,T),E};Object.defineProperty(s,"__esModule",{value:!0}),s.Utils=void 0;let l=c(o(470)),d=l.posix||l,p="/";var b;(function(T){T.joinPath=function(E,...L){return E.with({path:d.join(E.path,...L)})},T.resolvePath=function(E,...L){let M=E.path,x=!1;M[0]!==p&&(M=p+M,x=!0);let k=d.resolve(M,...L);return x&&k[0]===p&&!E.authority&&(k=k.substring(1)),E.with({path:k})},T.dirname=function(E){if(E.path.length===0||E.path===p)return E;let L=d.dirname(E.path);return L.length===1&&L.charCodeAt(0)===46&&(L=""),E.with({path:L})},T.basename=function(E){return d.basename(E.path)},T.extname=function(E){return d.extname(E.path)}})(b||(s.Utils=b={}))}},e={};function n(i){var s=e[i];if(s!==void 0)return s.exports;var o=e[i]={exports:{}};return t[i].call(o.exports,o,o.exports,n),o.exports}var r={};return(()=>{var i=r;Object.defineProperty(i,"__esModule",{value:!0}),i.Utils=i.URI=void 0;let s=n(796);Object.defineProperty(i,"URI",{enumerable:!0,get:function(){return s.URI}});let o=n(679);Object.defineProperty(i,"Utils",{enumerable:!0,get:function(){return o.Utils}})})(),r})())});var Gd=g(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});Wd.MarkdownString=void 0;var wb=class{constructor(e=""){this.sanitize=!0,this.value=e}appendText(e){return this.value+=e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&"),this}appendMarkdown(e){return this.value+=e,this}appendCodeblock(e,n){return this.value+="\n```",this.value+=e,this.value+=`
|
188
|
+
`)}};jd.OutputProcessor=mb});var KE=g(So=>{"use strict";var qN=So&&So.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(So,"__esModule",{value:!0});So.DirectTranspiler=void 0;var jN=qN(require("events")),FN=Br(),zE=wd(),$N=Za(),BN=Md(),UN=qd(),HN=Dd(),WN=Fd(),GN=Object.prototype.hasOwnProperty,yb=class extends jN.default{constructor(e){super();let n=this;n.code=e.code,n.obfuscation=GN.call(e,"obfuscation")?e.obfuscation:!0,n.buildType=e.buildType||zE.BuildType.DEFAULT,n.buildOptions=e.buildOptions||{isDevMode:!1},n.environmentVariables=e.environmentVariables||new Map,n.excludedNamespaces=e.excludedNamespaces||[]}parse(){let e=this,n=(0,zE.getFactory)(e.buildType),i=new FN.Parser(e.code).parseChunk(),s=(0,HN.fetchNamespaces)(i),o=[].concat(i.literals),a=(0,UN.generateCharsetMap)(e.obfuscation),u=new $N.Context({variablesCharset:a.variables,variablesExcluded:e.excludedNamespaces,modulesCharset:a.modules});new Set(s).forEach(b=>u.variables.createNamespace(b)),o.forEach(b=>u.literals.add(b));let l=new BN.Transformer({buildOptions:e.buildOptions,factoryConstructor:n,context:u,environmentVariables:e.environmentVariables}),d=new WN.OutputProcessor(u,l);d.addOptimizations();let p=l.transform(i);return d.addCode(p),d.build()}};So.DirectTranspiler=yb});var vb=g($d=>{"use strict";Object.defineProperty($d,"__esModule",{value:!0});$d.ResourceProvider=void 0;var bb=class{getHandler(){let e=require("fs"),n=require("path");return{getTargetRelativeTo:(r,i)=>{let s=n.resolve(r,".."),o=n.resolve(s,i);return Promise.resolve(e.existsSync(o)?o:o+".src")},has:r=>Promise.resolve(e.existsSync(r)),get:r=>Promise.resolve(e.readFileSync(r,"utf8")),resolve:r=>Promise.resolve(n.resolve(r))}}};$d.ResourceProvider=bb});var Tb=g(Oi=>{"use strict";var VN=Oi&&Oi.__awaiter||function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(l){try{c(r.next(l))}catch(d){o(d)}}function u(l){try{c(r.throw(l))}catch(d){o(d)}}function c(l){l.done?s(l.value):i(l.value).then(a,u)}c((r=r.apply(t,e||[])).next())})},zN=Oi&&Oi.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Oi,"__esModule",{value:!0});Oi.Target=void 0;var KN=zN(require("events")),XN=Br(),YN=fb(),XE=Cd(),_b=class extends KN.default{constructor(e){super();let n=this;n.target=e.target,n.resourceHandler=e.resourceHandler,n.context=e.context}parse(){return VN(this,void 0,void 0,function*(){let e=this,n=e.resourceHandler,r=yield n.resolve(e.target);if(!(yield n.has(r)))throw new Error("Target "+r+" does not exist...");let i=e.context,s=yield n.get(r);e.emit("parse-before",r);try{let a=new XN.Parser(s,{filename:r}).parseChunk(),u=new YN.Dependency({target:r,resourceHandler:n,chunk:a,context:i}),{namespaces:c,literals:l}=yield u.findDependencies(),d=new Set(c);for(let p of d)i.variables.createNamespace(p);for(let p of l)i.literals.add(p);return{main:{chunk:a,dependency:u}}}catch(o){throw o instanceof XE.BuildError?o:new XE.BuildError(o.message,{target:this.target,range:o.range})}})}};Oi.Target=_b});var JE=g(ko=>{"use strict";var JN=ko&&ko.__awaiter||function(t,e,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(l){try{c(r.next(l))}catch(d){o(d)}}function u(l){try{c(r.throw(l))}catch(d){o(d)}}function c(l){l.done?s(l.value):i(l.value).then(a,u)}c((r=r.apply(t,e||[])).next())})};Object.defineProperty(ko,"__esModule",{value:!0});ko.Transpiler=void 0;var QN=kb(),ZN=gb(),YE=wd(),eq=Za(),tq=vb(),nq=Tb(),rq=Md(),iq=qd(),sq=Fd(),oq=Object.prototype.hasOwnProperty,Sb=class{constructor(e){let n=this;n.target=e.target,n.resourceHandler=e.resourceHandler||new tq.ResourceProvider().getHandler(),n.obfuscation=oq.call(e,"obfuscation")?e.obfuscation:!0;let r=(0,iq.generateCharsetMap)(n.obfuscation);n.context=new eq.Context({variablesCharset:r.variables,variablesExcluded:e.excludedNamespaces,modulesCharset:r.modules}),n.buildType=e.buildType||YE.BuildType.DEFAULT,n.buildOptions=e.buildOptions||{isDevMode:!1},n.installer=e.installer||!1,n.environmentVariables=e.environmentVariables||new Map}parse(){return JN(this,void 0,void 0,function*(){let e=this,n=(0,YE.getFactory)(e.buildType),r=e.context,s=yield new nq.Target({target:e.target,resourceHandler:e.resourceHandler,context:e.context}).parse(),o=new rq.Transformer({buildOptions:e.buildOptions,factoryConstructor:n,context:r,environmentVariables:e.environmentVariables,resourceHandler:e.resourceHandler}),a=s.main,u=o.transform(ZN.MODULE_BOILERPLATE),c=l=>{let d=r.modules.get(l.getId()),p={},b=0,T=function(M){let x=M.getNamespace();if(!(x in p)){if(x!==d&&M.type===QN.DependencyType.Import){let k=o.transform(M.chunk,M);p[x]=u.replace('"$0"','"'+x+'"').replace('"$1"',k),b++}for(let k of M.dependencies)T(k)}};T(l);let E=new sq.OutputProcessor(r,o);E.addOptimizations(),b>0&&E.addHeader(),Object.keys(p).forEach(M=>E.addCode(p[M]));let L=o.transform(l.chunk,l);return E.addCode(L,!0),E.build()};return{[e.target]:c(a.dependency)}})}};ko.Transpiler=Sb});var QE=g(Bd=>{"use strict";Object.defineProperty(Bd,"__esModule",{value:!0});Bd.unwrap=void 0;var aq=Ne();function uq(t){for(;t instanceof aq.ASTParenthesisExpression;)t=t.expression;return t}Bd.unwrap=uq});var kb=g(Q=>{"use strict";var ZE=Q&&Q.__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]}),cq=Q&&Q.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),lq=Q&&Q.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&ZE(e,t,n);return cq(e,t),e},dq=Q&&Q.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&ZE(e,t,n)};Object.defineProperty(Q,"__esModule",{value:!0});Q.unwrap=Q.Stack=Q.OutputProcessor=Q.NamespaceGenerator=Q.LiteralsMapper=Q.fetchNamespaces=Q.BuildError=Q.createExpressionString=Q.createExpressionHash=Q.generateCharsetMap=Q.DependencyType=Q.Transpiler=Q.Transformer=Q.Target=Q.DirectTranspiler=Q.Dependency=Q.ContextDataProperty=Q.Context=Q.UglifyFactory=Q.TokenType=Q.Factory=Q.DefaultFactory=Q.BeautifyUtils=Q.BeautifyContext=Q.BeautifyFactory=Q.getFactory=Q.BuildType=void 0;var eA=wd();Object.defineProperty(Q,"BuildType",{enumerable:!0,get:function(){return eA.BuildType}});Object.defineProperty(Q,"getFactory",{enumerable:!0,get:function(){return eA.getFactory}});var fq=Xy();Object.defineProperty(Q,"BeautifyFactory",{enumerable:!0,get:function(){return fq.BeautifyFactory}});var pq=Vy();Object.defineProperty(Q,"BeautifyContext",{enumerable:!0,get:function(){return pq.BeautifyContext}});Q.BeautifyUtils=lq(zy());var hq=Jy();Object.defineProperty(Q,"DefaultFactory",{enumerable:!0,get:function(){return hq.DefaultFactory}});var tA=_o();Object.defineProperty(Q,"Factory",{enumerable:!0,get:function(){return tA.Factory}});Object.defineProperty(Q,"TokenType",{enumerable:!0,get:function(){return tA.TokenType}});var gq=eb();Object.defineProperty(Q,"UglifyFactory",{enumerable:!0,get:function(){return gq.UglifyFactory}});var nA=Za();Object.defineProperty(Q,"Context",{enumerable:!0,get:function(){return nA.Context}});Object.defineProperty(Q,"ContextDataProperty",{enumerable:!0,get:function(){return nA.ContextDataProperty}});var mq=fb();Object.defineProperty(Q,"Dependency",{enumerable:!0,get:function(){return mq.Dependency}});var yq=KE();Object.defineProperty(Q,"DirectTranspiler",{enumerable:!0,get:function(){return yq.DirectTranspiler}});dq(vb(),Q);var bq=Tb();Object.defineProperty(Q,"Target",{enumerable:!0,get:function(){return bq.Target}});var vq=Md();Object.defineProperty(Q,"Transformer",{enumerable:!0,get:function(){return vq.Transformer}});var _q=JE();Object.defineProperty(Q,"Transpiler",{enumerable:!0,get:function(){return _q.Transpiler}});var Tq=ab();Object.defineProperty(Q,"DependencyType",{enumerable:!0,get:function(){return Tq.DependencyType}});var Sq=qd();Object.defineProperty(Q,"generateCharsetMap",{enumerable:!0,get:function(){return Sq.generateCharsetMap}});var kq=By();Object.defineProperty(Q,"createExpressionHash",{enumerable:!0,get:function(){return kq.createExpressionHash}});var xq=Qy();Object.defineProperty(Q,"createExpressionString",{enumerable:!0,get:function(){return xq.createExpressionString}});var wq=Cd();Object.defineProperty(Q,"BuildError",{enumerable:!0,get:function(){return wq.BuildError}});var Eq=Dd();Object.defineProperty(Q,"fetchNamespaces",{enumerable:!0,get:function(){return Eq.fetchNamespaces}});var Aq=rb();Object.defineProperty(Q,"LiteralsMapper",{enumerable:!0,get:function(){return Aq.LiteralsMapper}});var Oq=sb();Object.defineProperty(Q,"NamespaceGenerator",{enumerable:!0,get:function(){return Oq.NamespaceGenerator}});var Cq=Fd();Object.defineProperty(Q,"OutputProcessor",{enumerable:!0,get:function(){return Cq.OutputProcessor}});var Rq=Hy();Object.defineProperty(Q,"Stack",{enumerable:!0,get:function(){return Rq.Stack}});var Dq=QE();Object.defineProperty(Q,"unwrap",{enumerable:!0,get:function(){return Dq.unwrap}})});var iA=g(Ud=>{"use strict";Object.defineProperty(Ud,"__esModule",{value:!0});Ud.activate=void 0;var rA=kb();function Pq(t){async function e(n){try{let r=t.getConfiguration();return new rA.DirectTranspiler({code:n,buildType:rA.BuildType.BEAUTIFY,buildOptions:{isDevMode:!0,keepParentheses:r.transpiler.beautify.keepParentheses,indentation:r.transpiler.beautify.indentation==="Tab"?0:1,indentationSpaces:r.transpiler.beautify.indentationSpaces}}).parse()}catch{return null}}t.connection.onDocumentFormatting(async n=>{if(!t.getConfiguration().formatter)return;let r=await t.fs.getTextDocument(n.textDocument.uri);if(r==null)return;let i=await t.documentManager.getLatest(r),s=await e(r.getText());return s===null?[]:[{range:{start:{line:0,character:0},end:i.document.end},newText:s}]})}Ud.activate=Pq});var Hd=g((tu,xb)=>{(function(t,e){if(typeof tu=="object"&&typeof xb=="object")xb.exports=e();else if(typeof define=="function"&&define.amd)define([],e);else{var n=e();for(var r in n)(typeof tu=="object"?tu:t)[r]=n[r]}})(tu,()=>(()=>{"use strict";var t={470:i=>{function s(u){if(typeof u!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(u))}function o(u,c){for(var l,d="",p=0,b=-1,T=0,E=0;E<=u.length;++E){if(E<u.length)l=u.charCodeAt(E);else{if(l===47)break;l=47}if(l===47){if(!(b===E-1||T===1))if(b!==E-1&&T===2){if(d.length<2||p!==2||d.charCodeAt(d.length-1)!==46||d.charCodeAt(d.length-2)!==46){if(d.length>2){var L=d.lastIndexOf("/");if(L!==d.length-1){L===-1?(d="",p=0):p=(d=d.slice(0,L)).length-1-d.lastIndexOf("/"),b=E,T=0;continue}}else if(d.length===2||d.length===1){d="",p=0,b=E,T=0;continue}}c&&(d.length>0?d+="/..":d="..",p=2)}else d.length>0?d+="/"+u.slice(b+1,E):d=u.slice(b+1,E),p=E-b-1;b=E,T=0}else l===46&&T!==-1?++T:T=-1}return d}var a={resolve:function(){for(var u,c="",l=!1,d=arguments.length-1;d>=-1&&!l;d--){var p;d>=0?p=arguments[d]:(u===void 0&&(u=process.cwd()),p=u),s(p),p.length!==0&&(c=p+"/"+c,l=p.charCodeAt(0)===47)}return c=o(c,!l),l?c.length>0?"/"+c:"/":c.length>0?c:"."},normalize:function(u){if(s(u),u.length===0)return".";var c=u.charCodeAt(0)===47,l=u.charCodeAt(u.length-1)===47;return(u=o(u,!c)).length!==0||c||(u="."),u.length>0&&l&&(u+="/"),c?"/"+u:u},isAbsolute:function(u){return s(u),u.length>0&&u.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var u,c=0;c<arguments.length;++c){var l=arguments[c];s(l),l.length>0&&(u===void 0?u=l:u+="/"+l)}return u===void 0?".":a.normalize(u)},relative:function(u,c){if(s(u),s(c),u===c||(u=a.resolve(u))===(c=a.resolve(c)))return"";for(var l=1;l<u.length&&u.charCodeAt(l)===47;++l);for(var d=u.length,p=d-l,b=1;b<c.length&&c.charCodeAt(b)===47;++b);for(var T=c.length-b,E=p<T?p:T,L=-1,M=0;M<=E;++M){if(M===E){if(T>E){if(c.charCodeAt(b+M)===47)return c.slice(b+M+1);if(M===0)return c.slice(b+M)}else p>E&&(u.charCodeAt(l+M)===47?L=M:M===0&&(L=0));break}var x=u.charCodeAt(l+M);if(x!==c.charCodeAt(b+M))break;x===47&&(L=M)}var k="";for(M=l+L+1;M<=d;++M)M!==d&&u.charCodeAt(M)!==47||(k.length===0?k+="..":k+="/..");return k.length>0?k+c.slice(b+L):(b+=L,c.charCodeAt(b)===47&&++b,c.slice(b))},_makeLong:function(u){return u},dirname:function(u){if(s(u),u.length===0)return".";for(var c=u.charCodeAt(0),l=c===47,d=-1,p=!0,b=u.length-1;b>=1;--b)if((c=u.charCodeAt(b))===47){if(!p){d=b;break}}else p=!1;return d===-1?l?"/":".":l&&d===1?"//":u.slice(0,d)},basename:function(u,c){if(c!==void 0&&typeof c!="string")throw new TypeError('"ext" argument must be a string');s(u);var l,d=0,p=-1,b=!0;if(c!==void 0&&c.length>0&&c.length<=u.length){if(c.length===u.length&&c===u)return"";var T=c.length-1,E=-1;for(l=u.length-1;l>=0;--l){var L=u.charCodeAt(l);if(L===47){if(!b){d=l+1;break}}else E===-1&&(b=!1,E=l+1),T>=0&&(L===c.charCodeAt(T)?--T==-1&&(p=l):(T=-1,p=E))}return d===p?p=E:p===-1&&(p=u.length),u.slice(d,p)}for(l=u.length-1;l>=0;--l)if(u.charCodeAt(l)===47){if(!b){d=l+1;break}}else p===-1&&(b=!1,p=l+1);return p===-1?"":u.slice(d,p)},extname:function(u){s(u);for(var c=-1,l=0,d=-1,p=!0,b=0,T=u.length-1;T>=0;--T){var E=u.charCodeAt(T);if(E!==47)d===-1&&(p=!1,d=T+1),E===46?c===-1?c=T:b!==1&&(b=1):c!==-1&&(b=-1);else if(!p){l=T+1;break}}return c===-1||d===-1||b===0||b===1&&c===d-1&&c===l+1?"":u.slice(c,d)},format:function(u){if(u===null||typeof u!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof u);return function(c,l){var d=l.dir||l.root,p=l.base||(l.name||"")+(l.ext||"");return d?d===l.root?d+p:d+"/"+p:p}(0,u)},parse:function(u){s(u);var c={root:"",dir:"",base:"",ext:"",name:""};if(u.length===0)return c;var l,d=u.charCodeAt(0),p=d===47;p?(c.root="/",l=1):l=0;for(var b=-1,T=0,E=-1,L=!0,M=u.length-1,x=0;M>=l;--M)if((d=u.charCodeAt(M))!==47)E===-1&&(L=!1,E=M+1),d===46?b===-1?b=M:x!==1&&(x=1):b!==-1&&(x=-1);else if(!L){T=M+1;break}return b===-1||E===-1||x===0||x===1&&b===E-1&&b===T+1?E!==-1&&(c.base=c.name=T===0&&p?u.slice(1,E):u.slice(T,E)):(T===0&&p?(c.name=u.slice(1,b),c.base=u.slice(1,E)):(c.name=u.slice(T,b),c.base=u.slice(T,E)),c.ext=u.slice(b,E)),T>0?c.dir=u.slice(0,T-1):p&&(c.dir="/"),c},sep:"/",delimiter:":",win32:null,posix:null};a.posix=a,i.exports=a},674:(i,s)=>{if(Object.defineProperty(s,"__esModule",{value:!0}),s.isWindows=void 0,typeof process=="object")s.isWindows=process.platform==="win32";else if(typeof navigator=="object"){let o=navigator.userAgent;s.isWindows=o.indexOf("Windows")>=0}},796:(i,s,o)=>{Object.defineProperty(s,"__esModule",{value:!0}),s.uriToFsPath=s.URI=void 0;let a=o(674),u=/^\w[\w\d+.-]*$/,c=/^\//,l=/^\/\//;function d(G,A){if(!G.scheme&&A)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${G.authority}", path: "${G.path}", query: "${G.query}", fragment: "${G.fragment}"}`);if(G.scheme&&!u.test(G.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(G.path){if(G.authority){if(!c.test(G.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(l.test(G.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}let p="",b="/",T=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class E{static isUri(A){return A instanceof E||!!A&&typeof A.authority=="string"&&typeof A.fragment=="string"&&typeof A.path=="string"&&typeof A.query=="string"&&typeof A.scheme=="string"&&typeof A.fsPath=="string"&&typeof A.with=="function"&&typeof A.toString=="function"}scheme;authority;path;query;fragment;constructor(A,P,I,j,fe,le=!1){typeof A=="object"?(this.scheme=A.scheme||p,this.authority=A.authority||p,this.path=A.path||p,this.query=A.query||p,this.fragment=A.fragment||p):(this.scheme=function(Rt,ht){return Rt||ht?Rt:"file"}(A,le),this.authority=P||p,this.path=function(Rt,ht){switch(Rt){case"https":case"http":case"file":ht?ht[0]!==b&&(ht=b+ht):ht=b}return ht}(this.scheme,I||p),this.query=j||p,this.fragment=fe||p,d(this,le))}get fsPath(){return F(this,!1)}with(A){if(!A)return this;let{scheme:P,authority:I,path:j,query:fe,fragment:le}=A;return P===void 0?P=this.scheme:P===null&&(P=p),I===void 0?I=this.authority:I===null&&(I=p),j===void 0?j=this.path:j===null&&(j=p),fe===void 0?fe=this.query:fe===null&&(fe=p),le===void 0?le=this.fragment:le===null&&(le=p),P===this.scheme&&I===this.authority&&j===this.path&&fe===this.query&&le===this.fragment?this:new M(P,I,j,fe,le)}static parse(A,P=!1){let I=T.exec(A);return I?new M(I[2]||p,ge(I[4]||p),ge(I[5]||p),ge(I[7]||p),ge(I[9]||p),P):new M(p,p,p,p,p)}static file(A){let P=p;if(a.isWindows&&(A=A.replace(/\\/g,b)),A[0]===b&&A[1]===b){let I=A.indexOf(b,2);I===-1?(P=A.substring(2),A=b):(P=A.substring(2,I),A=A.substring(I)||b)}return new M("file",P,A,p,p)}static from(A){let P=new M(A.scheme,A.authority,A.path,A.query,A.fragment);return d(P,!0),P}toString(A=!1){return C(this,A)}toJSON(){return this}static revive(A){if(A){if(A instanceof E)return A;{let P=new M(A);return P._formatted=A.external,P._fsPath=A._sep===L?A.fsPath:null,P}}return A}}s.URI=E;let L=a.isWindows?1:void 0;class M extends E{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=F(this,!1)),this._fsPath}toString(A=!1){return A?C(this,!0):(this._formatted||(this._formatted=C(this,!1)),this._formatted)}toJSON(){let A={$mid:1};return this._fsPath&&(A.fsPath=this._fsPath,A._sep=L),this._formatted&&(A.external=this._formatted),this.path&&(A.path=this.path),this.scheme&&(A.scheme=this.scheme),this.authority&&(A.authority=this.authority),this.query&&(A.query=this.query),this.fragment&&(A.fragment=this.fragment),A}}let x={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function k(G,A,P){let I,j=-1;for(let fe=0;fe<G.length;fe++){let le=G.charCodeAt(fe);if(le>=97&&le<=122||le>=65&&le<=90||le>=48&&le<=57||le===45||le===46||le===95||le===126||A&&le===47||P&&le===91||P&&le===93||P&&le===58)j!==-1&&(I+=encodeURIComponent(G.substring(j,fe)),j=-1),I!==void 0&&(I+=G.charAt(fe));else{I===void 0&&(I=G.substr(0,fe));let Rt=x[le];Rt!==void 0?(j!==-1&&(I+=encodeURIComponent(G.substring(j,fe)),j=-1),I+=Rt):j===-1&&(j=fe)}}return j!==-1&&(I+=encodeURIComponent(G.substring(j))),I!==void 0?I:G}function v(G){let A;for(let P=0;P<G.length;P++){let I=G.charCodeAt(P);I===35||I===63?(A===void 0&&(A=G.substr(0,P)),A+=x[I]):A!==void 0&&(A+=G[P])}return A!==void 0?A:G}function F(G,A){let P;return P=G.authority&&G.path.length>1&&G.scheme==="file"?`//${G.authority}${G.path}`:G.path.charCodeAt(0)===47&&(G.path.charCodeAt(1)>=65&&G.path.charCodeAt(1)<=90||G.path.charCodeAt(1)>=97&&G.path.charCodeAt(1)<=122)&&G.path.charCodeAt(2)===58?A?G.path.substr(1):G.path[1].toLowerCase()+G.path.substr(2):G.path,a.isWindows&&(P=P.replace(/\//g,"\\")),P}function C(G,A){let P=A?v:k,I="",{scheme:j,authority:fe,path:le,query:Rt,fragment:ht}=G;if(j&&(I+=j,I+=":"),(fe||j==="file")&&(I+=b,I+=b),fe){let je=fe.indexOf("@");if(je!==-1){let on=fe.substr(0,je);fe=fe.substr(je+1),je=on.lastIndexOf(":"),je===-1?I+=P(on,!1,!1):(I+=P(on.substr(0,je),!1,!1),I+=":",I+=P(on.substr(je+1),!1,!0)),I+="@"}fe=fe.toLowerCase(),je=fe.lastIndexOf(":"),je===-1?I+=P(fe,!1,!0):(I+=P(fe.substr(0,je),!1,!0),I+=fe.substr(je))}if(le){if(le.length>=3&&le.charCodeAt(0)===47&&le.charCodeAt(2)===58){let je=le.charCodeAt(1);je>=65&&je<=90&&(le=`/${String.fromCharCode(je+32)}:${le.substr(3)}`)}else if(le.length>=2&&le.charCodeAt(1)===58){let je=le.charCodeAt(0);je>=65&&je<=90&&(le=`${String.fromCharCode(je+32)}:${le.substr(2)}`)}I+=P(le,!0,!1)}return Rt&&(I+="?",I+=P(Rt,!1,!1)),ht&&(I+="#",I+=A?ht:k(ht,!1,!1)),I}function V(G){try{return decodeURIComponent(G)}catch{return G.length>3?G.substr(0,3)+V(G.substr(3)):G}}s.uriToFsPath=F;let ae=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function ge(G){return G.match(ae)?G.replace(ae,A=>V(A)):G}},679:function(i,s,o){var a=this&&this.__createBinding||(Object.create?function(T,E,L,M){M===void 0&&(M=L);var x=Object.getOwnPropertyDescriptor(E,L);x&&!("get"in x?!E.__esModule:x.writable||x.configurable)||(x={enumerable:!0,get:function(){return E[L]}}),Object.defineProperty(T,M,x)}:function(T,E,L,M){M===void 0&&(M=L),T[M]=E[L]}),u=this&&this.__setModuleDefault||(Object.create?function(T,E){Object.defineProperty(T,"default",{enumerable:!0,value:E})}:function(T,E){T.default=E}),c=this&&this.__importStar||function(T){if(T&&T.__esModule)return T;var E={};if(T!=null)for(var L in T)L!=="default"&&Object.prototype.hasOwnProperty.call(T,L)&&a(E,T,L);return u(E,T),E};Object.defineProperty(s,"__esModule",{value:!0}),s.Utils=void 0;let l=c(o(470)),d=l.posix||l,p="/";var b;(function(T){T.joinPath=function(E,...L){return E.with({path:d.join(E.path,...L)})},T.resolvePath=function(E,...L){let M=E.path,x=!1;M[0]!==p&&(M=p+M,x=!0);let k=d.resolve(M,...L);return x&&k[0]===p&&!E.authority&&(k=k.substring(1)),E.with({path:k})},T.dirname=function(E){if(E.path.length===0||E.path===p)return E;let L=d.dirname(E.path);return L.length===1&&L.charCodeAt(0)===46&&(L=""),E.with({path:L})},T.basename=function(E){return d.basename(E.path)},T.extname=function(E){return d.extname(E.path)}})(b||(s.Utils=b={}))}},e={};function n(i){var s=e[i];if(s!==void 0)return s.exports;var o=e[i]={exports:{}};return t[i].call(o.exports,o,o.exports,n),o.exports}var r={};return(()=>{var i=r;Object.defineProperty(i,"__esModule",{value:!0}),i.Utils=i.URI=void 0;let s=n(796);Object.defineProperty(i,"URI",{enumerable:!0,get:function(){return s.URI}});let o=n(679);Object.defineProperty(i,"Utils",{enumerable:!0,get:function(){return o.Utils}})})(),r})())});var Gd=g(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});Wd.MarkdownString=void 0;var wb=class{constructor(e=""){this.sanitize=!0,this.value=e}appendText(e){return this.value+=e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&"),this}appendMarkdown(e){return this.value+=e,this}appendCodeblock(e,n){return this.value+="\n```",this.value+=e,this.value+=`
|
188
189
|
`,this.value+=n,this.value+="\n```\n",this}toString(){return this.value}};Wd.MarkdownString=wb});var Vd=g(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.createHover=vt.createSignatureInfo=vt.appendTooltipBody=vt.appendTooltipHeader=vt.createTooltipHeader=vt.formatDefaultValue=vt.formatTypes=void 0;var sA=$s(),oA=Gd();function Eb(t){return t==null?"":t.map(e=>e.toString().replace(",","\u066B")).join(" or ")}vt.formatTypes=Eb;function aA(t){return typeof t=="string"?`"${t}"`:t.toString()}vt.formatDefaultValue=aA;var Iq=(t,e)=>{let n=e.getArguments()||[],r=Eb(e.getReturns())||"null";if(n.length===0)return`(${t.kind}) ${t.label} (): ${r}`;let i=n.map(s=>`${s.getLabel()}${s.isOptional()?"?":""}: ${Eb(s.getTypes())}${s.getDefault()?` = ${aA(s.getDefault().value)}`:""}`).join(", ");return`(${t.kind}) ${t.label} (${i}): ${r}`};vt.createTooltipHeader=Iq;var Mq=(t,e,n)=>{t.appendCodeblock(sA.LanguageId,(0,vt.createTooltipHeader)(e,n)),t.appendMarkdown(`***
|
189
190
|
`)};vt.appendTooltipHeader=Mq;var Lq=(t,e)=>{let n=e.getExample()||[];t.appendMarkdown(e.getDescription()+`
|
190
191
|
`),n.length>0&&(t.appendMarkdown(`#### Examples:
|
191
192
|
`),t.appendCodeblock(sA.LanguageId,n.join(`
|
192
193
|
`)))};vt.appendTooltipBody=Lq;var Nq=t=>{let e=[];for(let n of t.signatureDefinitions){let r=n,s={label:(0,vt.createTooltipHeader)(t,r)},o=r.getArguments()??[],a=new oA.MarkdownString("");(0,vt.appendTooltipBody)(a,r),s.parameters=o.map(u=>({label:`${u.getLabel()}${u.isOptional()?"?":""}: ${u.getTypes().join(" or ")}`})),s.documentation=a.toString(),e.push(s)}return e};vt.createSignatureInfo=Nq;var qq=t=>{let e=[];for(let n of t.signatureDefinitions){let r=new oA.MarkdownString(""),i=n;(0,vt.appendTooltipHeader)(r,t,i),(0,vt.appendTooltipBody)(r,i),e.push(r)}return{contents:e.map(n=>n.toString())}};vt.createHover=qq});var lA=g(xo=>{"use strict";var jq=xo&&xo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(xo,"__esModule",{value:!0});xo.activate=void 0;var uA=Br(),Ab=Un(),Fq=jq(require("path")),nu=Hd(),$q=go(),cA=Gd(),Ob=Vd(),Bq=$s(),Uq=async(t,e,n)=>{let r=nu.URI.parse(e.uri),i=await t.fs.getWorkspaceFolderUri(r);return i==null?nu.Utils.joinPath(r,".."):n.startsWith("/")?i:nu.Utils.joinPath(r,"..")};function Hq(t){async function e(n,r){let i=new cA.MarkdownString(""),o=r.closest.path,a=await Uq(t,n,o),u=nu.Utils.joinPath(a,o),c=nu.Utils.joinPath(a,`${o}`),l=await t.fs.findExistingPath(u.toString(),c.toString()),d=l==null?["Cannot open file."]:[`[Inserts file "${Fq.default.basename(l)}" inside this code when building](${l.toString()})`,"***","Click the link above to open the file."];return i.appendMarkdown(d.join(`
|
193
|
-
`)),{contents:i.toString()}}t.connection.onHover(async n=>{if(!t.getConfiguration().hoverdocs)return;let r=await t.fs.getTextDocument(n.textDocument.uri);if(r==null)return;let i=new $q.LookupHelper(r,t),s=i.lookupAST(n.position);if(!s)return;if(s.closest.type===uA.ASTType.FeatureImportExpression||s.closest.type===uA.ASTType.FeatureIncludeExpression)return await e(r,s);let o=await i.lookupTypeInfo(s);if(!o)return;if(o.isCallable())return(0,Ob.createHover)(o);let a=new cA.MarkdownString(""),u=Array.from(o.types).map(Ab.SignatureDefinitionTypeMeta.parse),c=`(${o.kind}) ${o.label}: ${(0,Ob.formatTypes)(u)}`;if(o.types.has(Ab.SignatureDefinitionBaseType.Map)){let l={};for(let[d,p]of o.values){let b=Array.from(p.types).map(Ab.SignatureDefinitionTypeMeta.parse);l[d.slice(2)]=(0,Ob.formatTypes)(b)}c+=" "+JSON.stringify(l,null,2)}return a.appendCodeblock(Bq.LanguageId,c),{contents:a.toString()}})}xo.activate=Hq});var fA=g(zd=>{"use strict";Object.defineProperty(zd,"__esModule",{value:!0});zd.activate=void 0;var dA=Le(),Wq=go(),Gq=Vd(),Vq=t=>{if(t.closest.type===dA.ASTType.CallExpression)return t.closest;for(let e=t.outer.length-1;e>=0;e--){let n=t.outer[e];if(n.type===dA.ASTType.CallExpression)return n}return null};function zq(t){t.connection.onSignatureHelp(async e=>{if(!t.getConfiguration().autocomplete)return;let n=await t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;await t.documentManager.getLatest(n);let r=new Wq.LookupHelper(n,t),i=r.lookupAST(e.position);if(!i)return;let{closest:s}=i,o=Vq(i);if(o===null)return;let a=await r.lookupTypeInfo({closest:o.base,outer:s.scope?[s.scope]:[]});if(!a||!a.isCallable())return;let c=o.arguments.findIndex(d=>{let p=d.start.character-1,b=d.end.character;return p<=e.position.character&&b>=e.position.character}),l={activeParameter:c===-1?0:c,signatures:[],activeSignature:0};return l.signatures.push(...(0,Gq.createSignatureInfo)(a)),l})}zd.activate=zq});var hA=g(Kd=>{"use strict";Object.defineProperty(Kd,"__esModule",{value:!0});Kd.activate=void 0;var pA=$s();function Kq(t){let e=r=>r.languageId!==pA.LanguageId?!1:t.documentManager.schedule(r),n=r=>{r.languageId===pA.LanguageId&&t.documentManager.clear(r)};t.fs.on("text-document-open",e),t.fs.on("text-document-change",e),t.fs.on("text-document-close",n)}Kd.activate=Kq});var mA=g(wo=>{"use strict";var Xq=wo&&wo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(wo,"__esModule",{value:!0});wo.activate=void 0;var Yq=Wa(),Jq=Py(),Qq=Xq(Va()),gA=(t,e)=>{let n=Qq.default.get(t.uri),r=n.resolveAllAssignmentsWithQuery(e),i=[];for(let s of r){let o=s,a=n.resolveNamespace(o.variable,!0);if(a==null)continue;let u=a?.label??(0,Yq.createExpressionId)(s.variable),c=a?.kind?(0,Jq.getSymbolItemKind)(a.kind):13,l={line:o.variable.start.line-1,character:o.variable.start.character-1},d={line:o.variable.end.line-1,character:o.variable.end.character-1};i.push({name:u,containerName:u,kind:c,location:{uri:t.uri,range:{start:l,end:d}}})}return i};function Zq(t){t.connection.onDocumentSymbol(async e=>{let n=await t.fs.getTextDocument(e.textDocument.uri);return n==null?void 0:t.documentManager.get(n).document?gA(n,""):[]}),t.connection.onWorkspaceSymbol(e=>{let n=[];for(let r of t.fs.getAllTextDocuments())t.documentManager.get(r).document&&n.push(...gA(r,e.query));return n})}wo.activate=Zq});var Mb=g((zU,_A)=>{var ru=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,ej=typeof AbortController=="function",Xd=ej?AbortController:class{constructor(){this.signal=new yA}abort(e=new Error("This operation was aborted")){this.signal.reason=this.signal.reason||e,this.signal.aborted=!0,this.signal.dispatchEvent({type:"abort",target:this.signal})}},tj=typeof AbortSignal=="function",nj=typeof Xd.AbortSignal=="function",yA=tj?AbortSignal:nj?Xd.AbortController:class{constructor(){this.reason=void 0,this.aborted=!1,this._listeners=[]}dispatchEvent(e){e.type==="abort"&&(this.aborted=!0,this.onabort(e),this._listeners.forEach(n=>n(e),this))}onabort(){}addEventListener(e,n){e==="abort"&&this._listeners.push(n)}removeEventListener(e,n){e==="abort"&&(this._listeners=this._listeners.filter(r=>r!==n))}},Pb=new Set,Cb=(t,e)=>{let n=`LRU_CACHE_OPTION_${t}`;Yd(n)&&Ib(n,`${t} option`,`options.${e}`,Ao)},Rb=(t,e)=>{let n=`LRU_CACHE_METHOD_${t}`;if(Yd(n)){let{prototype:r}=Ao,{get:i}=Object.getOwnPropertyDescriptor(r,t);Ib(n,`${t} method`,`cache.${e}()`,i)}},rj=(t,e)=>{let n=`LRU_CACHE_PROPERTY_${t}`;if(Yd(n)){let{prototype:r}=Ao,{get:i}=Object.getOwnPropertyDescriptor(r,t);Ib(n,`${t} property`,`cache.${e}`,i)}},bA=(...t)=>{typeof process=="object"&&process&&typeof process.emitWarning=="function"?process.emitWarning(...t):console.error(...t)},Yd=t=>!Pb.has(t),Ib=(t,e,n,r)=>{Pb.add(t);let i=`The ${e} is deprecated. Please use ${n} instead.`;bA(i,"DeprecationWarning",t,r)},Ci=t=>t&&t===Math.floor(t)&&t>0&&isFinite(t),vA=t=>Ci(t)?t<=Math.pow(2,8)?Uint8Array:t<=Math.pow(2,16)?Uint16Array:t<=Math.pow(2,32)?Uint32Array:t<=Number.MAX_SAFE_INTEGER?Eo:null:null,Eo=class extends Array{constructor(e){super(e),this.fill(0)}},Db=class{constructor(e){if(e===0)return[];let n=vA(e);this.heap=new n(e),this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}},Ao=class t{constructor(e={}){let{max:n=0,ttl:r,ttlResolution:i=1,ttlAutopurge:s,updateAgeOnGet:o,updateAgeOnHas:a,allowStale:u,dispose:c,disposeAfter:l,noDisposeOnSet:d,noUpdateTTL:p,maxSize:b=0,maxEntrySize:T=0,sizeCalculation:E,fetchMethod:L,fetchContext:M,noDeleteOnFetchRejection:x,noDeleteOnStaleGet:k,allowStaleOnFetchRejection:v,allowStaleOnFetchAbort:F,ignoreFetchAbort:C}=e,{length:V,maxAge:ae,stale:ge}=e instanceof t?{}:e;if(n!==0&&!Ci(n))throw new TypeError("max option must be a nonnegative integer");let G=n?vA(n):Array;if(!G)throw new Error("invalid max value: "+n);if(this.max=n,this.maxSize=b,this.maxEntrySize=T||this.maxSize,this.sizeCalculation=E||V,this.sizeCalculation){if(!this.maxSize&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(this.fetchMethod=L||null,this.fetchMethod&&typeof this.fetchMethod!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.fetchContext=M,!this.fetchMethod&&M!==void 0)throw new TypeError("cannot set fetchContext without fetchMethod");if(this.keyMap=new Map,this.keyList=new Array(n).fill(null),this.valList=new Array(n).fill(null),this.next=new G(n),this.prev=new G(n),this.head=0,this.tail=0,this.free=new Db(n),this.initialFill=1,this.size=0,typeof c=="function"&&(this.dispose=c),typeof l=="function"?(this.disposeAfter=l,this.disposed=[]):(this.disposeAfter=null,this.disposed=null),this.noDisposeOnSet=!!d,this.noUpdateTTL=!!p,this.noDeleteOnFetchRejection=!!x,this.allowStaleOnFetchRejection=!!v,this.allowStaleOnFetchAbort=!!F,this.ignoreFetchAbort=!!C,this.maxEntrySize!==0){if(this.maxSize!==0&&!Ci(this.maxSize))throw new TypeError("maxSize must be a positive integer if specified");if(!Ci(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.initializeSizeTracking()}if(this.allowStale=!!u||!!ge,this.noDeleteOnStaleGet=!!k,this.updateAgeOnGet=!!o,this.updateAgeOnHas=!!a,this.ttlResolution=Ci(i)||i===0?i:1,this.ttlAutopurge=!!s,this.ttl=r||ae||0,this.ttl){if(!Ci(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.initializeTTLTracking()}if(this.max===0&&this.ttl===0&&this.maxSize===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.max&&!this.maxSize){let A="LRU_CACHE_UNBOUNDED";Yd(A)&&(Pb.add(A),bA("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",A,t))}ge&&Cb("stale","allowStale"),ae&&Cb("maxAge","ttl"),V&&Cb("length","sizeCalculation")}getRemainingTTL(e){return this.has(e,{updateAgeOnHas:!1})?1/0:0}initializeTTLTracking(){this.ttls=new Eo(this.max),this.starts=new Eo(this.max),this.setItemTTL=(r,i,s=ru.now())=>{if(this.starts[r]=i!==0?s:0,this.ttls[r]=i,i!==0&&this.ttlAutopurge){let o=setTimeout(()=>{this.isStale(r)&&this.delete(this.keyList[r])},i+1);o.unref&&o.unref()}},this.updateItemAge=r=>{this.starts[r]=this.ttls[r]!==0?ru.now():0},this.statusTTL=(r,i)=>{r&&(r.ttl=this.ttls[i],r.start=this.starts[i],r.now=e||n(),r.remainingTTL=r.now+r.ttl-r.start)};let e=0,n=()=>{let r=ru.now();if(this.ttlResolution>0){e=r;let i=setTimeout(()=>e=0,this.ttlResolution);i.unref&&i.unref()}return r};this.getRemainingTTL=r=>{let i=this.keyMap.get(r);return i===void 0?0:this.ttls[i]===0||this.starts[i]===0?1/0:this.starts[i]+this.ttls[i]-(e||n())},this.isStale=r=>this.ttls[r]!==0&&this.starts[r]!==0&&(e||n())-this.starts[r]>this.ttls[r]}updateItemAge(e){}statusTTL(e,n){}setItemTTL(e,n,r){}isStale(e){return!1}initializeSizeTracking(){this.calculatedSize=0,this.sizes=new Eo(this.max),this.removeItemSize=e=>{this.calculatedSize-=this.sizes[e],this.sizes[e]=0},this.requireSize=(e,n,r,i)=>{if(this.isBackgroundFetch(n))return 0;if(!Ci(r))if(i){if(typeof i!="function")throw new TypeError("sizeCalculation must be a function");if(r=i(n,e),!Ci(r))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return r},this.addItemSize=(e,n,r)=>{if(this.sizes[e]=n,this.maxSize){let i=this.maxSize-this.sizes[e];for(;this.calculatedSize>i;)this.evict(!0)}this.calculatedSize+=this.sizes[e],r&&(r.entrySize=n,r.totalCalculatedSize=this.calculatedSize)}}removeItemSize(e){}addItemSize(e,n){}requireSize(e,n,r,i){if(r||i)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache")}*indexes({allowStale:e=this.allowStale}={}){if(this.size)for(let n=this.tail;!(!this.isValidIndex(n)||((e||!this.isStale(n))&&(yield n),n===this.head));)n=this.prev[n]}*rindexes({allowStale:e=this.allowStale}={}){if(this.size)for(let n=this.head;!(!this.isValidIndex(n)||((e||!this.isStale(n))&&(yield n),n===this.tail));)n=this.next[n]}isValidIndex(e){return e!==void 0&&this.keyMap.get(this.keyList[e])===e}*entries(){for(let e of this.indexes())this.valList[e]!==void 0&&this.keyList[e]!==void 0&&!this.isBackgroundFetch(this.valList[e])&&(yield[this.keyList[e],this.valList[e]])}*rentries(){for(let e of this.rindexes())this.valList[e]!==void 0&&this.keyList[e]!==void 0&&!this.isBackgroundFetch(this.valList[e])&&(yield[this.keyList[e],this.valList[e]])}*keys(){for(let e of this.indexes())this.keyList[e]!==void 0&&!this.isBackgroundFetch(this.valList[e])&&(yield this.keyList[e])}*rkeys(){for(let e of this.rindexes())this.keyList[e]!==void 0&&!this.isBackgroundFetch(this.valList[e])&&(yield this.keyList[e])}*values(){for(let e of this.indexes())this.valList[e]!==void 0&&!this.isBackgroundFetch(this.valList[e])&&(yield this.valList[e])}*rvalues(){for(let e of this.rindexes())this.valList[e]!==void 0&&!this.isBackgroundFetch(this.valList[e])&&(yield this.valList[e])}[Symbol.iterator](){return this.entries()}find(e,n){for(let r of this.indexes()){let i=this.valList[r],s=this.isBackgroundFetch(i)?i.__staleWhileFetching:i;if(s!==void 0&&e(s,this.keyList[r],this))return this.get(this.keyList[r],n)}}forEach(e,n=this){for(let r of this.indexes()){let i=this.valList[r],s=this.isBackgroundFetch(i)?i.__staleWhileFetching:i;s!==void 0&&e.call(n,s,this.keyList[r],this)}}rforEach(e,n=this){for(let r of this.rindexes()){let i=this.valList[r],s=this.isBackgroundFetch(i)?i.__staleWhileFetching:i;s!==void 0&&e.call(n,s,this.keyList[r],this)}}get prune(){return Rb("prune","purgeStale"),this.purgeStale}purgeStale(){let e=!1;for(let n of this.rindexes({allowStale:!0}))this.isStale(n)&&(this.delete(this.keyList[n]),e=!0);return e}dump(){let e=[];for(let n of this.indexes({allowStale:!0})){let r=this.keyList[n],i=this.valList[n],s=this.isBackgroundFetch(i)?i.__staleWhileFetching:i;if(s===void 0)continue;let o={value:s};if(this.ttls){o.ttl=this.ttls[n];let a=ru.now()-this.starts[n];o.start=Math.floor(Date.now()-a)}this.sizes&&(o.size=this.sizes[n]),e.unshift([r,o])}return e}load(e){this.clear();for(let[n,r]of e){if(r.start){let i=Date.now()-r.start;r.start=ru.now()-i}this.set(n,r.value,r)}}dispose(e,n,r){}set(e,n,{ttl:r=this.ttl,start:i,noDisposeOnSet:s=this.noDisposeOnSet,size:o=0,sizeCalculation:a=this.sizeCalculation,noUpdateTTL:u=this.noUpdateTTL,status:c}={}){if(o=this.requireSize(e,n,o,a),this.maxEntrySize&&o>this.maxEntrySize)return c&&(c.set="miss",c.maxEntrySizeExceeded=!0),this.delete(e),this;let l=this.size===0?void 0:this.keyMap.get(e);if(l===void 0)l=this.newIndex(),this.keyList[l]=e,this.valList[l]=n,this.keyMap.set(e,l),this.next[this.tail]=l,this.prev[l]=this.tail,this.tail=l,this.size++,this.addItemSize(l,o,c),c&&(c.set="add"),u=!1;else{this.moveToTail(l);let d=this.valList[l];if(n!==d){if(this.isBackgroundFetch(d)?d.__abortController.abort(new Error("replaced")):s||(this.dispose(d,e,"set"),this.disposeAfter&&this.disposed.push([d,e,"set"])),this.removeItemSize(l),this.valList[l]=n,this.addItemSize(l,o,c),c){c.set="replace";let p=d&&this.isBackgroundFetch(d)?d.__staleWhileFetching:d;p!==void 0&&(c.oldValue=p)}}else c&&(c.set="update")}if(r!==0&&this.ttl===0&&!this.ttls&&this.initializeTTLTracking(),u||this.setItemTTL(l,r,i),this.statusTTL(c,l),this.disposeAfter)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return this}newIndex(){return this.size===0?this.tail:this.size===this.max&&this.max!==0?this.evict(!1):this.free.length!==0?this.free.pop():this.initialFill++}pop(){if(this.size){let e=this.valList[this.head];return this.evict(!0),e}}evict(e){let n=this.head,r=this.keyList[n],i=this.valList[n];return this.isBackgroundFetch(i)?i.__abortController.abort(new Error("evicted")):(this.dispose(i,r,"evict"),this.disposeAfter&&this.disposed.push([i,r,"evict"])),this.removeItemSize(n),e&&(this.keyList[n]=null,this.valList[n]=null,this.free.push(n)),this.head=this.next[n],this.keyMap.delete(r),this.size--,n}has(e,{updateAgeOnHas:n=this.updateAgeOnHas,status:r}={}){let i=this.keyMap.get(e);if(i!==void 0)if(this.isStale(i))r&&(r.has="stale",this.statusTTL(r,i));else return n&&this.updateItemAge(i),r&&(r.has="hit"),this.statusTTL(r,i),!0;else r&&(r.has="miss");return!1}peek(e,{allowStale:n=this.allowStale}={}){let r=this.keyMap.get(e);if(r!==void 0&&(n||!this.isStale(r))){let i=this.valList[r];return this.isBackgroundFetch(i)?i.__staleWhileFetching:i}}backgroundFetch(e,n,r,i){let s=n===void 0?void 0:this.valList[n];if(this.isBackgroundFetch(s))return s;let o=new Xd;r.signal&&r.signal.addEventListener("abort",()=>o.abort(r.signal.reason));let a={signal:o.signal,options:r,context:i},u=(b,T=!1)=>{let{aborted:E}=o.signal,L=r.ignoreFetchAbort&&b!==void 0;return r.status&&(E&&!T?(r.status.fetchAborted=!0,r.status.fetchError=o.signal.reason,L&&(r.status.fetchAbortIgnored=!0)):r.status.fetchResolved=!0),E&&!L&&!T?l(o.signal.reason):(this.valList[n]===p&&(b===void 0?p.__staleWhileFetching?this.valList[n]=p.__staleWhileFetching:this.delete(e):(r.status&&(r.status.fetchUpdated=!0),this.set(e,b,a.options))),b)},c=b=>(r.status&&(r.status.fetchRejected=!0,r.status.fetchError=b),l(b)),l=b=>{let{aborted:T}=o.signal,E=T&&r.allowStaleOnFetchAbort,L=E||r.allowStaleOnFetchRejection,M=L||r.noDeleteOnFetchRejection;if(this.valList[n]===p&&(!M||p.__staleWhileFetching===void 0?this.delete(e):E||(this.valList[n]=p.__staleWhileFetching)),L)return r.status&&p.__staleWhileFetching!==void 0&&(r.status.returnedStale=!0),p.__staleWhileFetching;if(p.__returned===p)throw b},d=(b,T)=>{this.fetchMethod(e,s,a).then(E=>b(E),T),o.signal.addEventListener("abort",()=>{(!r.ignoreFetchAbort||r.allowStaleOnFetchAbort)&&(b(),r.allowStaleOnFetchAbort&&(b=E=>u(E,!0)))})};r.status&&(r.status.fetchDispatched=!0);let p=new Promise(d).then(u,c);return p.__abortController=o,p.__staleWhileFetching=s,p.__returned=null,n===void 0?(this.set(e,p,{...a.options,status:void 0}),n=this.keyMap.get(e)):this.valList[n]=p,p}isBackgroundFetch(e){return e&&typeof e=="object"&&typeof e.then=="function"&&Object.prototype.hasOwnProperty.call(e,"__staleWhileFetching")&&Object.prototype.hasOwnProperty.call(e,"__returned")&&(e.__returned===e||e.__returned===null)}async fetch(e,{allowStale:n=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,ttl:s=this.ttl,noDisposeOnSet:o=this.noDisposeOnSet,size:a=0,sizeCalculation:u=this.sizeCalculation,noUpdateTTL:c=this.noUpdateTTL,noDeleteOnFetchRejection:l=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:d=this.allowStaleOnFetchRejection,ignoreFetchAbort:p=this.ignoreFetchAbort,allowStaleOnFetchAbort:b=this.allowStaleOnFetchAbort,fetchContext:T=this.fetchContext,forceRefresh:E=!1,status:L,signal:M}={}){if(!this.fetchMethod)return L&&(L.fetch="get"),this.get(e,{allowStale:n,updateAgeOnGet:r,noDeleteOnStaleGet:i,status:L});let x={allowStale:n,updateAgeOnGet:r,noDeleteOnStaleGet:i,ttl:s,noDisposeOnSet:o,size:a,sizeCalculation:u,noUpdateTTL:c,noDeleteOnFetchRejection:l,allowStaleOnFetchRejection:d,allowStaleOnFetchAbort:b,ignoreFetchAbort:p,status:L,signal:M},k=this.keyMap.get(e);if(k===void 0){L&&(L.fetch="miss");let v=this.backgroundFetch(e,k,x,T);return v.__returned=v}else{let v=this.valList[k];if(this.isBackgroundFetch(v)){let ge=n&&v.__staleWhileFetching!==void 0;return L&&(L.fetch="inflight",ge&&(L.returnedStale=!0)),ge?v.__staleWhileFetching:v.__returned=v}let F=this.isStale(k);if(!E&&!F)return L&&(L.fetch="hit"),this.moveToTail(k),r&&this.updateItemAge(k),this.statusTTL(L,k),v;let C=this.backgroundFetch(e,k,x,T),V=C.__staleWhileFetching!==void 0,ae=V&&n;return L&&(L.fetch=V&&F?"stale":"refresh",ae&&F&&(L.returnedStale=!0)),ae?C.__staleWhileFetching:C.__returned=C}}get(e,{allowStale:n=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,status:s}={}){let o=this.keyMap.get(e);if(o!==void 0){let a=this.valList[o],u=this.isBackgroundFetch(a);return this.statusTTL(s,o),this.isStale(o)?(s&&(s.get="stale"),u?(s&&(s.returnedStale=n&&a.__staleWhileFetching!==void 0),n?a.__staleWhileFetching:void 0):(i||this.delete(e),s&&(s.returnedStale=n),n?a:void 0)):(s&&(s.get="hit"),u?a.__staleWhileFetching:(this.moveToTail(o),r&&this.updateItemAge(o),a))}else s&&(s.get="miss")}connect(e,n){this.prev[n]=e,this.next[e]=n}moveToTail(e){e!==this.tail&&(e===this.head?this.head=this.next[e]:this.connect(this.prev[e],this.next[e]),this.connect(this.tail,e),this.tail=e)}get del(){return Rb("del","delete"),this.delete}delete(e){let n=!1;if(this.size!==0){let r=this.keyMap.get(e);if(r!==void 0)if(n=!0,this.size===1)this.clear();else{this.removeItemSize(r);let i=this.valList[r];this.isBackgroundFetch(i)?i.__abortController.abort(new Error("deleted")):(this.dispose(i,e,"delete"),this.disposeAfter&&this.disposed.push([i,e,"delete"])),this.keyMap.delete(e),this.keyList[r]=null,this.valList[r]=null,r===this.tail?this.tail=this.prev[r]:r===this.head?this.head=this.next[r]:(this.next[this.prev[r]]=this.next[r],this.prev[this.next[r]]=this.prev[r]),this.size--,this.free.push(r)}}if(this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return n}clear(){for(let e of this.rindexes({allowStale:!0})){let n=this.valList[e];if(this.isBackgroundFetch(n))n.__abortController.abort(new Error("deleted"));else{let r=this.keyList[e];this.dispose(n,r,"delete"),this.disposeAfter&&this.disposed.push([n,r,"delete"])}}if(this.keyMap.clear(),this.valList.fill(null),this.keyList.fill(null),this.ttls&&(this.ttls.fill(0),this.starts.fill(0)),this.sizes&&this.sizes.fill(0),this.head=0,this.tail=0,this.initialFill=1,this.free.length=0,this.calculatedSize=0,this.size=0,this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift())}get reset(){return Rb("reset","clear"),this.clear}get length(){return rj("length","size"),this.size}static get AbortController(){return Xd}static get AbortSignal(){return yA}};_A.exports=Ao});var AA=g((KU,EA)=>{var jb=Object.defineProperty,ij=Object.getOwnPropertyDescriptor,sj=Object.getOwnPropertyNames,oj=Object.prototype.hasOwnProperty,aj=(t,e)=>{for(var n in e)jb(t,n,{get:e[n],enumerable:!0})},uj=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of sj(e))!oj.call(t,i)&&i!==n&&jb(t,i,{get:()=>e[i],enumerable:!(r=ij(e,i))||r.enumerable});return t},cj=t=>uj(jb({},"__esModule",{value:!0}),t),TA={};aj(TA,{ScheduleIntervalHelper:()=>Lb,SchedulePostMessageHelper:()=>Nb,ScheduleSetImmmediateHelper:()=>qb,schedule:()=>fj,scheduleProvider:()=>wA});EA.exports=cj(TA);var lj=Promise.prototype.then.bind(Promise.resolve()),Fb=class Jd{constructor(){this.queue=[],this.sleep=0}static{this.SLEEP_LIMIT=512}static{this.QUEUE_LIMIT=1024}static isApplicable(){return!1}static createCallback(){throw new Error("Cannot create callback from base schedule helper!")}tick(){let e=this.queue,n=Math.min(e.length,Jd.QUEUE_LIMIT);this.queue=this.queue.slice(Jd.QUEUE_LIMIT);for(let r=0;r<n;lj(e[r++]));if(this.queue.length>0&&(this.sleep=0),this.sleep++<=Jd.SLEEP_LIMIT){this.nextTick();return}this.endTick()}start(){this.isTickActive()||(this.sleep=0,this.startTick())}add(e){this.queue.push(e),this.start()}},Lb=class SA extends Fb{constructor(){super(...arguments),this.timer=null,this.boundTick=this.tick.bind(this)}static isApplicable(){return!!globalThis.setInterval}static createCallback(){let e=new SA;return e.add.bind(e)}isTickActive(){return this.timer!==null}startTick(){this.timer=setInterval(this.boundTick,0)}nextTick(){}endTick(){clearInterval(this.timer),this.timer=null}},dj=()=>{try{return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}catch{}return!1},Nb=class kA extends Fb{constructor(){super(),this.id=(Math.random()+1).toString(36).substring(7),this.active=!1,self.addEventListener("message",this.onMessage.bind(this))}static isApplicable(){return!dj()&&!!self.postMessage&&!!self.addEventListener}static createCallback(){let e=new kA;return e.add.bind(e)}onMessage(e){e.source!==self||e.data!==this.id||this.tick()}isTickActive(){return this.active}startTick(){this.active=!0,self.postMessage(this.id)}nextTick(){self.postMessage(this.id)}endTick(){this.active=!1}},qb=class xA extends Fb{constructor(){super(...arguments),this.immediate=null,this.boundTick=this.tick.bind(this)}static isApplicable(){return!!globalThis.setImmediate}static createCallback(){let e=new xA;return e.add.bind(e)}isTickActive(){return this.immediate!==null}startTick(){this.immediate=setImmediate(this.boundTick)}nextTick(){this.immediate=setImmediate(this.boundTick)}endTick(){clearImmediate(this.immediate),this.immediate=null}};function wA(){if(qb.isApplicable())return qb.createCallback();if(Nb.isApplicable())return Nb.createCallback();if(Lb.isApplicable())return Lb.createCallback();throw new Error("No schedule helper fulfills requirements!")}var fj=wA()});var OA=g(wn=>{"use strict";var Ub=wn&&wn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(wn,"__esModule",{value:!0});wn.DocumentManager=wn.PROCESSING_TIMEOUT=wn.ActiveDocument=wn.DocumentURIBuilder=void 0;var pj=Ub(require("events")),hj=Br(),gj=Ub(Mb()),$b=AA(),Oo=Hd(),mj=Ub(Va()),Qd=class{constructor(e,n=null){this.workspaceFolderUri=n,this.rootPath=e}getFromWorkspaceFolder(e){return this.workspaceFolderUri==null?(console.warn("Workspace folders are not available. Falling back to only relative paths."),Oo.Utils.joinPath(this.rootPath,e).toString()):Oo.Utils.joinPath(this.workspaceFolderUri,e).toString()}getFromRootPath(e){return Oo.Utils.joinPath(this.rootPath,e).toString()}};wn.DocumentURIBuilder=Qd;var Zd=class{constructor(e){this.documentManager=e.documentManager,this.content=e.content,this.textDocument=e.textDocument,this.document=e.document,this.errors=e.errors}getDirectory(){return Oo.Utils.joinPath(Oo.URI.parse(this.textDocument.uri),"..")}async getImportsAndIncludes(e=null){if(this.document==null)return[];let n=this.document,r=this.getDirectory(),i=this.documentManager.context,s=new Qd(r,e),o=u=>u.startsWith("/")?i.fs.findExistingPath(s.getFromWorkspaceFolder(u),s.getFromWorkspaceFolder(`${u}.src`)):i.fs.findExistingPath(s.getFromRootPath(u),s.getFromRootPath(`${u}.src`));return(await Promise.all([...n.imports.filter(u=>u.path).map(u=>o(u.path)),...n.includes.filter(u=>u.path).map(u=>o(u.path))])).filter(u=>u!=null)}async getDependencies(){if(this.document==null)return[];if(this.dependencies)return this.dependencies;let e=await this.documentManager.context.fs.getWorkspaceFolderUri(Oo.URI.parse(this.textDocument.uri)),n=await this.getImportsAndIncludes(e),r=new Set([...n]);return this.dependencies=Array.from(r),this.dependencies}async getImports(){if(this.document==null)return[];let e=new Set,n=new Set([this.textDocument.uri]),r=async i=>{let s=await i.getDependencies();for(let o of s){if(n.has(o))continue;let a=await this.documentManager.open(o);n.add(o),a!==null&&(e.add(a),a.document!==null&&await r(a))}};return await r(this),Array.from(e)}};wn.ActiveDocument=Zd;wn.PROCESSING_TIMEOUT=100;var Bb=class extends pj.default{get context(){return this._context}setContext(e){return this._context=e,this}constructor(e=wn.PROCESSING_TIMEOUT){super(),this._context=null,this._timer=null,this.results=new gj.default({ttl:1e3*60*20,ttlAutopurge:!0}),this.scheduledItems=new Map,this.tickRef=this.tick.bind(this),this.processingTimeout=e,(0,$b.schedule)(this.tickRef)}tick(){if(this.scheduledItems.size===0){this._timer=null;return}let e=Date.now(),n=Array.from(this.scheduledItems.values());for(let r=0;r<n.length;r++){let i=n[r];e-i.createdAt>this.processingTimeout&&(0,$b.schedule)(()=>this.refresh(i.document))}this._timer=setTimeout(this.tickRef,0)}refresh(e){let n=e.uri;if(!this.scheduledItems.has(n)&&this.results.has(n))return this.results.get(n);let r=this.create(e);return this.results.set(n,r),this.emit("parsed",e,r),this.scheduledItems.delete(n),r}create(e){let n=e.getText(),r=new hj.Parser(n,{unsafe:!0}),i=r.parseChunk();return mj.default.analyze(e.uri,i),new Zd({documentManager:this,content:n,textDocument:e,document:i,errors:[...r.lexer.errors,...r.errors]})}schedule(e){let n=e.uri,r=e.getText();return this.results.get(n)?.content===r?!1:(this.scheduledItems.set(n,{document:e,createdAt:Date.now()}),this._timer===null&&(this._timer=setTimeout(this.tickRef,0)),!0)}async open(e){try{let n=await this.context.fs.getTextDocument(e);return n==null?null:this.get(n)}catch{return null}}get(e){return this.results.get(e.uri)||this.refresh(e)}getLatest(e,n=5e3){return new Promise(r=>{(0,$b.schedule)(()=>{if(!this.scheduledItems.has(e.uri))return r(this.get(e));let i=()=>{this.removeListener("parsed",s),r(this.get(e))},s=a=>{a.uri===e.uri&&(this.removeListener("parsed",s),clearTimeout(o),r(this.get(e)))},o=setTimeout(i,n);this.addListener("parsed",s)})})}clear(e){this.results.delete(e.uri),this.emit("cleared",e)}};wn.DocumentManager=Bb});var RA=g(Co=>{"use strict";var yj=Co&&Co.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Co,"__esModule",{value:!0});Co.CoreContext=void 0;var bj=yj(require("events")),Hb=$s();function CA(t){return{formatter:t?.formatter??!0,autocomplete:t?.autocomplete??!0,hoverdocs:t?.hoverdocs??!0,diagnostic:t?.diagnostic??!0,transpiler:{beautify:{keepParentheses:t?.transpiler?.beautify?.keepParentheses??!0,indentation:t?.transpiler?.beautify?.indentation??Hb.IndentationType.Tab,indentationSpaces:t?.transpiler?.beautify?.indentationSpaces??2}}}}var Wb=class extends bj.default{constructor(){super(),this._configuration=CA(),this._features={configuration:!1,workspaceFolder:!1}}get features(){return this._features}getConfiguration(){return this._configuration}async syncConfiguraton(){let e=await this.connection.workspace.getConfiguration(Hb.ConfigurationNamespace);this._configuration=CA(e)}configureCapabilties(e){this._features.configuration=!!(e.workspace&&e.workspace.configuration),this._features.workspaceFolder=!!(e.workspace&&e.workspace.workspaceFolders)}async onInitialize(e){this.configureCapabilties(e.capabilities);let n={capabilities:{completionProvider:{triggerCharacters:["."],resolveProvider:!0},hoverProvider:!0,colorProvider:!0,definitionProvider:!0,documentFormattingProvider:!0,signatureHelpProvider:{triggerCharacters:[",","("]},documentSymbolProvider:!0,workspaceSymbolProvider:!0,diagnosticProvider:{identifier:Hb.LanguageId,interFileDependencies:!1,workspaceDiagnostics:!1},textDocumentSync:2}};return this._features.workspaceFolder&&(n.capabilities.workspace={workspaceFolders:{supported:!0}}),this.emit("ready",this),n}async onInitialized(e){this._features.configuration&&(await this.syncConfiguraton(),this.connection.onDidChangeConfiguration(async()=>{let n=this._configuration;await this.syncConfiguraton(),this.emit("configuration-change",this,this._configuration,n)})),this.emit("loaded",this)}async listen(){this.fs.listen(this.connection),this.connection.onInitialize(this.onInitialize.bind(this)),this.connection.onInitialized(this.onInitialized.bind(this)),this.connection.listen()}};Co.CoreContext=Wb});var ef=g(J=>{"use strict";var vj=J&&J.__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]}),_j=J&&J.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Tj=J&&J.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&vj(e,t,n);return _j(e,t),e},Sj=J&&J.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(J,"__esModule",{value:!0});J.CoreContext=J.typeAnalyzer=J.lookupBase=J.lookupIdentifier=J.appendTooltipHeader=J.appendTooltipBody=J.formatTypes=J.formatDefaultValue=J.createTooltipHeader=J.createSignatureInfo=J.createHover=J.MarkdownString=J.LookupHelper=J.DocumentManager=J.ActiveDocument=J.ASTScraper=J.activateSymbol=J.activateSubscriptions=J.activateSignature=J.activateHover=J.activateFormatter=J.activateDiagnostic=J.activateDefinition=J.activateColor=J.activateAutocomplete=J.ConfigurationNamespace=J.LanguageId=J.IndentationType=void 0;var Gb=$s();Object.defineProperty(J,"IndentationType",{enumerable:!0,get:function(){return Gb.IndentationType}});Object.defineProperty(J,"LanguageId",{enumerable:!0,get:function(){return Gb.LanguageId}});Object.defineProperty(J,"ConfigurationNamespace",{enumerable:!0,get:function(){return Gb.ConfigurationNamespace}});var kj=vE();Object.defineProperty(J,"activateAutocomplete",{enumerable:!0,get:function(){return kj.activate}});var xj=CE();Object.defineProperty(J,"activateColor",{enumerable:!0,get:function(){return xj.activate}});var wj=PE();Object.defineProperty(J,"activateDefinition",{enumerable:!0,get:function(){return wj.activate}});var Ej=IE();Object.defineProperty(J,"activateDiagnostic",{enumerable:!0,get:function(){return Ej.activate}});var Aj=iA();Object.defineProperty(J,"activateFormatter",{enumerable:!0,get:function(){return Aj.activate}});var Oj=lA();Object.defineProperty(J,"activateHover",{enumerable:!0,get:function(){return Oj.activate}});var Cj=fA();Object.defineProperty(J,"activateSignature",{enumerable:!0,get:function(){return Cj.activate}});var Rj=hA();Object.defineProperty(J,"activateSubscriptions",{enumerable:!0,get:function(){return Rj.activate}});var Dj=mA();Object.defineProperty(J,"activateSymbol",{enumerable:!0,get:function(){return Dj.activate}});J.ASTScraper=Tj(My());var DA=OA();Object.defineProperty(J,"ActiveDocument",{enumerable:!0,get:function(){return DA.ActiveDocument}});Object.defineProperty(J,"DocumentManager",{enumerable:!0,get:function(){return DA.DocumentManager}});var Pj=go();Object.defineProperty(J,"LookupHelper",{enumerable:!0,get:function(){return Pj.LookupHelper}});var Ij=Gd();Object.defineProperty(J,"MarkdownString",{enumerable:!0,get:function(){return Ij.MarkdownString}});var fs=Vd();Object.defineProperty(J,"createHover",{enumerable:!0,get:function(){return fs.createHover}});Object.defineProperty(J,"createSignatureInfo",{enumerable:!0,get:function(){return fs.createSignatureInfo}});Object.defineProperty(J,"createTooltipHeader",{enumerable:!0,get:function(){return fs.createTooltipHeader}});Object.defineProperty(J,"formatDefaultValue",{enumerable:!0,get:function(){return fs.formatDefaultValue}});Object.defineProperty(J,"formatTypes",{enumerable:!0,get:function(){return fs.formatTypes}});Object.defineProperty(J,"appendTooltipBody",{enumerable:!0,get:function(){return fs.appendTooltipBody}});Object.defineProperty(J,"appendTooltipHeader",{enumerable:!0,get:function(){return fs.appendTooltipHeader}});var Vb=Va();Object.defineProperty(J,"lookupIdentifier",{enumerable:!0,get:function(){return Vb.lookupIdentifier}});Object.defineProperty(J,"lookupBase",{enumerable:!0,get:function(){return Vb.lookupBase}});Object.defineProperty(J,"typeAnalyzer",{enumerable:!0,get:function(){return Sj(Vb).default}});var Mj=RA();Object.defineProperty(J,"CoreContext",{enumerable:!0,get:function(){return Mj.CoreContext}})});var LA={};KA(LA,{TextDocument:()=>zb});function Kb(t,e){if(t.length<=1)return t;let n=t.length/2|0,r=t.slice(0,n),i=t.slice(n);Kb(r,e),Kb(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 PA(t,e,n=0){let r=e?[n]:[];for(let i=0;i<t.length;i++){let s=t.charCodeAt(i);IA(s)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,r.push(n+i+1))}return r}function IA(t){return t===13||t===10}function MA(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 Lj(t){let e=MA(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var tf,zb,NA=zA(()=>{"use strict";tf=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=MA(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),u=Math.max(i.end.line,0),c=this._lineOffsets,l=PA(r.text,!1,s);if(u-a===l.length)for(let p=0,b=l.length;p<b;p++)c[p+a+1]=l[p];else l.length<1e4?c.splice(a+1,u-a,...l):this._lineOffsets=c=c.slice(0,a+1).concat(l,c.slice(u+1));let d=r.text.length-(o-s);if(d!==0)for(let p=a+1+l.length,b=c.length;p<b;p++)c[p]=c[p]+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=PA(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 e=this.ensureBeforeEOL(e,n[s]),{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];if(e.character<=0)return r;let i=e.line+1<n.length?n[e.line+1]:this._content.length,s=Math.min(r+e.character,i);return this.ensureBeforeEOL(s,r)}ensureBeforeEOL(e,n){for(;e>n&&IA(this._content.charCodeAt(e-1));)e--;return e}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}};(function(t){function e(i,s,o,a){return new tf(i,s,o,a)}t.create=e;function n(i,s,o){if(i instanceof tf)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=Kb(s.map(Lj),(l,d)=>{let p=l.range.start.line-d.range.start.line;return p===0?l.range.start.character-d.range.start.character:p}),u=0,c=[];for(let l of a){let d=i.offsetAt(l.range.start);if(d<u)throw new Error("Overlapping edit");d>u&&c.push(o.substring(u,d)),l.newText.length&&c.push(l.newText),u=i.offsetAt(l.range.end)}return c.push(o.substr(u)),c.join("")}t.applyEdits=r})(zb||(zb={}))});var jA=g(Ro=>{"use strict";var Jb=Ro&&Ro.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ro,"__esModule",{value:!0});Ro.FileSystem=void 0;var Nj=rh(),qA=(NA(),YA(LA)),qj=Jb(require("events")),Xb=Hd(),jj=Jb(require("fs")),Fj=ef(),$j=Jb(Mb()),Yb=class extends qj.default{constructor(e){super(),this._context=e,this._textDocumentManager=new Nj.TextDocuments(qA.TextDocument),this._tempTextDocumentCache=new $j.default({ttl:1e3,max:100})}async getWorkspaceFolderUris(){if(!this._context.features.workspaceFolder)return[];if(this._workspace==null)return[];let e=await this._workspace.getWorkspaceFolders();return e==null?[]:Array.from(new Set(e.map(n=>n.uri))).map(n=>Xb.URI.parse(n))}async getWorkspaceFolderUri(e){return(await this.getWorkspaceFolderUris()).find(r=>e.path.startsWith(r.path))||null}async findExistingPath(...e){if(e.length===0)return null;for(let n=0;n<e.length;n++)if(await this.getTextDocument(e[n])!=null)return e[n];return null}getAllTextDocuments(){return this._textDocumentManager.all()}async fetchTextDocument(e){let n=Xb.URI.parse(e),r=this._tempTextDocumentCache.get(e);if(r!=null)return r;let i=null;try{let s=await jj.default.promises.readFile(n.fsPath,{encoding:"utf-8"});i=qA.TextDocument.create(e,Fj.LanguageId,0,s)}catch{}return this._tempTextDocumentCache.set(e,i),i}async getTextDocument(e){let n=this._textDocumentManager.get(e);return n||(Xb.URI.parse(e).scheme=="file"?await this.fetchTextDocument(e):null)}async readFile(e){return(await this.getTextDocument(e)).getText()}listen(e){this._workspace=e.workspace,this._textDocumentManager.listen(e),this._textDocumentManager.onDidOpen(n=>{this.emit("text-document-open",n.document)}),this._textDocumentManager.onDidChangeContent(n=>{this.emit("text-document-change",n.document)}),this._textDocumentManager.onDidClose(n=>{this.emit("text-document-close",n.document)})}};Ro.FileSystem=Yb});var BA=g(nf=>{"use strict";Object.defineProperty(nf,"__esModule",{value:!0});nf.NodeContext=void 0;var FA=rh(),$A=ef(),Bj=jA(),Qb=class extends $A.CoreContext{constructor(){super(),this.documentManager=new $A.DocumentManager().setContext(this),this.connection=(0,FA.createConnection)(FA.ProposedFeatures.all),this.fs=new Bj.FileSystem(this)}};nf.NodeContext=Qb});Object.defineProperty(exports,"__esModule",{value:!0});var Uj=BA(),Gr=ef(),UA=new Uj.NodeContext;UA.on("ready",t=>{(0,Gr.activateAutocomplete)(t),(0,Gr.activateColor)(t),(0,Gr.activateDefinition)(t),(0,Gr.activateDiagnostic)(t),(0,Gr.activateFormatter)(t),(0,Gr.activateHover)(t),(0,Gr.activateSignature)(t),(0,Gr.activateSubscriptions)(t),(0,Gr.activateSymbol)(t)});UA.listen();
|
194
|
+
`)),{contents:i.toString()}}t.connection.onHover(async n=>{if(!t.getConfiguration().hoverdocs)return;let r=await t.fs.getTextDocument(n.textDocument.uri);if(r==null)return;let i=new $q.LookupHelper(r,t),s=i.lookupAST(n.position);if(!s)return;if(s.closest.type===uA.ASTType.FeatureImportExpression||s.closest.type===uA.ASTType.FeatureIncludeExpression)return await e(r,s);let o=await i.lookupTypeInfo(s);if(!o)return;if(o.isCallable())return(0,Ob.createHover)(o);let a=new cA.MarkdownString(""),u=Array.from(o.types).map(Ab.SignatureDefinitionTypeMeta.parse),c=`(${o.kind}) ${o.label}: ${(0,Ob.formatTypes)(u)}`;if(o.types.has(Ab.SignatureDefinitionBaseType.Map)){let l={};for(let[d,p]of o.values){let b=Array.from(p.types).map(Ab.SignatureDefinitionTypeMeta.parse);l[d.slice(2)]=(0,Ob.formatTypes)(b)}c+=" "+JSON.stringify(l,null,2)}return a.appendCodeblock(Bq.LanguageId,c),{contents:a.toString()}})}xo.activate=Hq});var fA=g(zd=>{"use strict";Object.defineProperty(zd,"__esModule",{value:!0});zd.activate=void 0;var dA=Ne(),Wq=go(),Gq=Vd(),Vq=t=>{if(t.closest.type===dA.ASTType.CallExpression)return t.closest;for(let e=t.outer.length-1;e>=0;e--){let n=t.outer[e];if(n.type===dA.ASTType.CallExpression)return n}return null};function zq(t){t.connection.onSignatureHelp(async e=>{if(!t.getConfiguration().autocomplete)return;let n=await t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;await t.documentManager.getLatest(n);let r=new Wq.LookupHelper(n,t),i=r.lookupAST(e.position);if(!i)return;let{closest:s}=i,o=Vq(i);if(o===null)return;let a=await r.lookupTypeInfo({closest:o.base,outer:s.scope?[s.scope]:[]});if(!a||!a.isCallable())return;let c=o.arguments.findIndex(d=>{let p=d.start.character-1,b=d.end.character;return p<=e.position.character&&b>=e.position.character}),l={activeParameter:c===-1?0:c,signatures:[],activeSignature:0};return l.signatures.push(...(0,Gq.createSignatureInfo)(a)),l})}zd.activate=zq});var hA=g(Kd=>{"use strict";Object.defineProperty(Kd,"__esModule",{value:!0});Kd.activate=void 0;var pA=$s();function Kq(t){let e=r=>r.languageId!==pA.LanguageId?!1:t.documentManager.schedule(r),n=r=>{r.languageId===pA.LanguageId&&t.documentManager.clear(r)};t.fs.on("text-document-open",e),t.fs.on("text-document-change",e),t.fs.on("text-document-close",n)}Kd.activate=Kq});var mA=g(wo=>{"use strict";var Xq=wo&&wo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(wo,"__esModule",{value:!0});wo.activate=void 0;var Yq=Wa(),Jq=Py(),Qq=Xq(Va()),gA=(t,e)=>{let n=Qq.default.get(t.uri),r=n.resolveAllAssignmentsWithQuery(e),i=[];for(let s of r){let o=s,a=n.resolveNamespace(o.variable,!0);if(a==null)continue;let u=a?.label??(0,Yq.createExpressionId)(s.variable),c=a?.kind?(0,Jq.getSymbolItemKind)(a.kind):13,l={line:o.variable.start.line-1,character:o.variable.start.character-1},d={line:o.variable.end.line-1,character:o.variable.end.character-1};i.push({name:u,containerName:u,kind:c,location:{uri:t.uri,range:{start:l,end:d}}})}return i};function Zq(t){t.connection.onDocumentSymbol(async e=>{let n=await t.fs.getTextDocument(e.textDocument.uri);return n==null?void 0:t.documentManager.get(n).document?gA(n,""):[]}),t.connection.onWorkspaceSymbol(e=>{let n=[];for(let r of t.fs.getAllTextDocuments())t.documentManager.get(r).document&&n.push(...gA(r,e.query));return n})}wo.activate=Zq});var Mb=g((zU,_A)=>{var ru=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,ej=typeof AbortController=="function",Xd=ej?AbortController:class{constructor(){this.signal=new yA}abort(e=new Error("This operation was aborted")){this.signal.reason=this.signal.reason||e,this.signal.aborted=!0,this.signal.dispatchEvent({type:"abort",target:this.signal})}},tj=typeof AbortSignal=="function",nj=typeof Xd.AbortSignal=="function",yA=tj?AbortSignal:nj?Xd.AbortController:class{constructor(){this.reason=void 0,this.aborted=!1,this._listeners=[]}dispatchEvent(e){e.type==="abort"&&(this.aborted=!0,this.onabort(e),this._listeners.forEach(n=>n(e),this))}onabort(){}addEventListener(e,n){e==="abort"&&this._listeners.push(n)}removeEventListener(e,n){e==="abort"&&(this._listeners=this._listeners.filter(r=>r!==n))}},Pb=new Set,Cb=(t,e)=>{let n=`LRU_CACHE_OPTION_${t}`;Yd(n)&&Ib(n,`${t} option`,`options.${e}`,Ao)},Rb=(t,e)=>{let n=`LRU_CACHE_METHOD_${t}`;if(Yd(n)){let{prototype:r}=Ao,{get:i}=Object.getOwnPropertyDescriptor(r,t);Ib(n,`${t} method`,`cache.${e}()`,i)}},rj=(t,e)=>{let n=`LRU_CACHE_PROPERTY_${t}`;if(Yd(n)){let{prototype:r}=Ao,{get:i}=Object.getOwnPropertyDescriptor(r,t);Ib(n,`${t} property`,`cache.${e}`,i)}},bA=(...t)=>{typeof process=="object"&&process&&typeof process.emitWarning=="function"?process.emitWarning(...t):console.error(...t)},Yd=t=>!Pb.has(t),Ib=(t,e,n,r)=>{Pb.add(t);let i=`The ${e} is deprecated. Please use ${n} instead.`;bA(i,"DeprecationWarning",t,r)},Ci=t=>t&&t===Math.floor(t)&&t>0&&isFinite(t),vA=t=>Ci(t)?t<=Math.pow(2,8)?Uint8Array:t<=Math.pow(2,16)?Uint16Array:t<=Math.pow(2,32)?Uint32Array:t<=Number.MAX_SAFE_INTEGER?Eo:null:null,Eo=class extends Array{constructor(e){super(e),this.fill(0)}},Db=class{constructor(e){if(e===0)return[];let n=vA(e);this.heap=new n(e),this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}},Ao=class t{constructor(e={}){let{max:n=0,ttl:r,ttlResolution:i=1,ttlAutopurge:s,updateAgeOnGet:o,updateAgeOnHas:a,allowStale:u,dispose:c,disposeAfter:l,noDisposeOnSet:d,noUpdateTTL:p,maxSize:b=0,maxEntrySize:T=0,sizeCalculation:E,fetchMethod:L,fetchContext:M,noDeleteOnFetchRejection:x,noDeleteOnStaleGet:k,allowStaleOnFetchRejection:v,allowStaleOnFetchAbort:F,ignoreFetchAbort:C}=e,{length:V,maxAge:ae,stale:ge}=e instanceof t?{}:e;if(n!==0&&!Ci(n))throw new TypeError("max option must be a nonnegative integer");let G=n?vA(n):Array;if(!G)throw new Error("invalid max value: "+n);if(this.max=n,this.maxSize=b,this.maxEntrySize=T||this.maxSize,this.sizeCalculation=E||V,this.sizeCalculation){if(!this.maxSize&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(this.fetchMethod=L||null,this.fetchMethod&&typeof this.fetchMethod!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.fetchContext=M,!this.fetchMethod&&M!==void 0)throw new TypeError("cannot set fetchContext without fetchMethod");if(this.keyMap=new Map,this.keyList=new Array(n).fill(null),this.valList=new Array(n).fill(null),this.next=new G(n),this.prev=new G(n),this.head=0,this.tail=0,this.free=new Db(n),this.initialFill=1,this.size=0,typeof c=="function"&&(this.dispose=c),typeof l=="function"?(this.disposeAfter=l,this.disposed=[]):(this.disposeAfter=null,this.disposed=null),this.noDisposeOnSet=!!d,this.noUpdateTTL=!!p,this.noDeleteOnFetchRejection=!!x,this.allowStaleOnFetchRejection=!!v,this.allowStaleOnFetchAbort=!!F,this.ignoreFetchAbort=!!C,this.maxEntrySize!==0){if(this.maxSize!==0&&!Ci(this.maxSize))throw new TypeError("maxSize must be a positive integer if specified");if(!Ci(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.initializeSizeTracking()}if(this.allowStale=!!u||!!ge,this.noDeleteOnStaleGet=!!k,this.updateAgeOnGet=!!o,this.updateAgeOnHas=!!a,this.ttlResolution=Ci(i)||i===0?i:1,this.ttlAutopurge=!!s,this.ttl=r||ae||0,this.ttl){if(!Ci(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.initializeTTLTracking()}if(this.max===0&&this.ttl===0&&this.maxSize===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.max&&!this.maxSize){let A="LRU_CACHE_UNBOUNDED";Yd(A)&&(Pb.add(A),bA("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",A,t))}ge&&Cb("stale","allowStale"),ae&&Cb("maxAge","ttl"),V&&Cb("length","sizeCalculation")}getRemainingTTL(e){return this.has(e,{updateAgeOnHas:!1})?1/0:0}initializeTTLTracking(){this.ttls=new Eo(this.max),this.starts=new Eo(this.max),this.setItemTTL=(r,i,s=ru.now())=>{if(this.starts[r]=i!==0?s:0,this.ttls[r]=i,i!==0&&this.ttlAutopurge){let o=setTimeout(()=>{this.isStale(r)&&this.delete(this.keyList[r])},i+1);o.unref&&o.unref()}},this.updateItemAge=r=>{this.starts[r]=this.ttls[r]!==0?ru.now():0},this.statusTTL=(r,i)=>{r&&(r.ttl=this.ttls[i],r.start=this.starts[i],r.now=e||n(),r.remainingTTL=r.now+r.ttl-r.start)};let e=0,n=()=>{let r=ru.now();if(this.ttlResolution>0){e=r;let i=setTimeout(()=>e=0,this.ttlResolution);i.unref&&i.unref()}return r};this.getRemainingTTL=r=>{let i=this.keyMap.get(r);return i===void 0?0:this.ttls[i]===0||this.starts[i]===0?1/0:this.starts[i]+this.ttls[i]-(e||n())},this.isStale=r=>this.ttls[r]!==0&&this.starts[r]!==0&&(e||n())-this.starts[r]>this.ttls[r]}updateItemAge(e){}statusTTL(e,n){}setItemTTL(e,n,r){}isStale(e){return!1}initializeSizeTracking(){this.calculatedSize=0,this.sizes=new Eo(this.max),this.removeItemSize=e=>{this.calculatedSize-=this.sizes[e],this.sizes[e]=0},this.requireSize=(e,n,r,i)=>{if(this.isBackgroundFetch(n))return 0;if(!Ci(r))if(i){if(typeof i!="function")throw new TypeError("sizeCalculation must be a function");if(r=i(n,e),!Ci(r))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return r},this.addItemSize=(e,n,r)=>{if(this.sizes[e]=n,this.maxSize){let i=this.maxSize-this.sizes[e];for(;this.calculatedSize>i;)this.evict(!0)}this.calculatedSize+=this.sizes[e],r&&(r.entrySize=n,r.totalCalculatedSize=this.calculatedSize)}}removeItemSize(e){}addItemSize(e,n){}requireSize(e,n,r,i){if(r||i)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache")}*indexes({allowStale:e=this.allowStale}={}){if(this.size)for(let n=this.tail;!(!this.isValidIndex(n)||((e||!this.isStale(n))&&(yield n),n===this.head));)n=this.prev[n]}*rindexes({allowStale:e=this.allowStale}={}){if(this.size)for(let n=this.head;!(!this.isValidIndex(n)||((e||!this.isStale(n))&&(yield n),n===this.tail));)n=this.next[n]}isValidIndex(e){return e!==void 0&&this.keyMap.get(this.keyList[e])===e}*entries(){for(let e of this.indexes())this.valList[e]!==void 0&&this.keyList[e]!==void 0&&!this.isBackgroundFetch(this.valList[e])&&(yield[this.keyList[e],this.valList[e]])}*rentries(){for(let e of this.rindexes())this.valList[e]!==void 0&&this.keyList[e]!==void 0&&!this.isBackgroundFetch(this.valList[e])&&(yield[this.keyList[e],this.valList[e]])}*keys(){for(let e of this.indexes())this.keyList[e]!==void 0&&!this.isBackgroundFetch(this.valList[e])&&(yield this.keyList[e])}*rkeys(){for(let e of this.rindexes())this.keyList[e]!==void 0&&!this.isBackgroundFetch(this.valList[e])&&(yield this.keyList[e])}*values(){for(let e of this.indexes())this.valList[e]!==void 0&&!this.isBackgroundFetch(this.valList[e])&&(yield this.valList[e])}*rvalues(){for(let e of this.rindexes())this.valList[e]!==void 0&&!this.isBackgroundFetch(this.valList[e])&&(yield this.valList[e])}[Symbol.iterator](){return this.entries()}find(e,n){for(let r of this.indexes()){let i=this.valList[r],s=this.isBackgroundFetch(i)?i.__staleWhileFetching:i;if(s!==void 0&&e(s,this.keyList[r],this))return this.get(this.keyList[r],n)}}forEach(e,n=this){for(let r of this.indexes()){let i=this.valList[r],s=this.isBackgroundFetch(i)?i.__staleWhileFetching:i;s!==void 0&&e.call(n,s,this.keyList[r],this)}}rforEach(e,n=this){for(let r of this.rindexes()){let i=this.valList[r],s=this.isBackgroundFetch(i)?i.__staleWhileFetching:i;s!==void 0&&e.call(n,s,this.keyList[r],this)}}get prune(){return Rb("prune","purgeStale"),this.purgeStale}purgeStale(){let e=!1;for(let n of this.rindexes({allowStale:!0}))this.isStale(n)&&(this.delete(this.keyList[n]),e=!0);return e}dump(){let e=[];for(let n of this.indexes({allowStale:!0})){let r=this.keyList[n],i=this.valList[n],s=this.isBackgroundFetch(i)?i.__staleWhileFetching:i;if(s===void 0)continue;let o={value:s};if(this.ttls){o.ttl=this.ttls[n];let a=ru.now()-this.starts[n];o.start=Math.floor(Date.now()-a)}this.sizes&&(o.size=this.sizes[n]),e.unshift([r,o])}return e}load(e){this.clear();for(let[n,r]of e){if(r.start){let i=Date.now()-r.start;r.start=ru.now()-i}this.set(n,r.value,r)}}dispose(e,n,r){}set(e,n,{ttl:r=this.ttl,start:i,noDisposeOnSet:s=this.noDisposeOnSet,size:o=0,sizeCalculation:a=this.sizeCalculation,noUpdateTTL:u=this.noUpdateTTL,status:c}={}){if(o=this.requireSize(e,n,o,a),this.maxEntrySize&&o>this.maxEntrySize)return c&&(c.set="miss",c.maxEntrySizeExceeded=!0),this.delete(e),this;let l=this.size===0?void 0:this.keyMap.get(e);if(l===void 0)l=this.newIndex(),this.keyList[l]=e,this.valList[l]=n,this.keyMap.set(e,l),this.next[this.tail]=l,this.prev[l]=this.tail,this.tail=l,this.size++,this.addItemSize(l,o,c),c&&(c.set="add"),u=!1;else{this.moveToTail(l);let d=this.valList[l];if(n!==d){if(this.isBackgroundFetch(d)?d.__abortController.abort(new Error("replaced")):s||(this.dispose(d,e,"set"),this.disposeAfter&&this.disposed.push([d,e,"set"])),this.removeItemSize(l),this.valList[l]=n,this.addItemSize(l,o,c),c){c.set="replace";let p=d&&this.isBackgroundFetch(d)?d.__staleWhileFetching:d;p!==void 0&&(c.oldValue=p)}}else c&&(c.set="update")}if(r!==0&&this.ttl===0&&!this.ttls&&this.initializeTTLTracking(),u||this.setItemTTL(l,r,i),this.statusTTL(c,l),this.disposeAfter)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return this}newIndex(){return this.size===0?this.tail:this.size===this.max&&this.max!==0?this.evict(!1):this.free.length!==0?this.free.pop():this.initialFill++}pop(){if(this.size){let e=this.valList[this.head];return this.evict(!0),e}}evict(e){let n=this.head,r=this.keyList[n],i=this.valList[n];return this.isBackgroundFetch(i)?i.__abortController.abort(new Error("evicted")):(this.dispose(i,r,"evict"),this.disposeAfter&&this.disposed.push([i,r,"evict"])),this.removeItemSize(n),e&&(this.keyList[n]=null,this.valList[n]=null,this.free.push(n)),this.head=this.next[n],this.keyMap.delete(r),this.size--,n}has(e,{updateAgeOnHas:n=this.updateAgeOnHas,status:r}={}){let i=this.keyMap.get(e);if(i!==void 0)if(this.isStale(i))r&&(r.has="stale",this.statusTTL(r,i));else return n&&this.updateItemAge(i),r&&(r.has="hit"),this.statusTTL(r,i),!0;else r&&(r.has="miss");return!1}peek(e,{allowStale:n=this.allowStale}={}){let r=this.keyMap.get(e);if(r!==void 0&&(n||!this.isStale(r))){let i=this.valList[r];return this.isBackgroundFetch(i)?i.__staleWhileFetching:i}}backgroundFetch(e,n,r,i){let s=n===void 0?void 0:this.valList[n];if(this.isBackgroundFetch(s))return s;let o=new Xd;r.signal&&r.signal.addEventListener("abort",()=>o.abort(r.signal.reason));let a={signal:o.signal,options:r,context:i},u=(b,T=!1)=>{let{aborted:E}=o.signal,L=r.ignoreFetchAbort&&b!==void 0;return r.status&&(E&&!T?(r.status.fetchAborted=!0,r.status.fetchError=o.signal.reason,L&&(r.status.fetchAbortIgnored=!0)):r.status.fetchResolved=!0),E&&!L&&!T?l(o.signal.reason):(this.valList[n]===p&&(b===void 0?p.__staleWhileFetching?this.valList[n]=p.__staleWhileFetching:this.delete(e):(r.status&&(r.status.fetchUpdated=!0),this.set(e,b,a.options))),b)},c=b=>(r.status&&(r.status.fetchRejected=!0,r.status.fetchError=b),l(b)),l=b=>{let{aborted:T}=o.signal,E=T&&r.allowStaleOnFetchAbort,L=E||r.allowStaleOnFetchRejection,M=L||r.noDeleteOnFetchRejection;if(this.valList[n]===p&&(!M||p.__staleWhileFetching===void 0?this.delete(e):E||(this.valList[n]=p.__staleWhileFetching)),L)return r.status&&p.__staleWhileFetching!==void 0&&(r.status.returnedStale=!0),p.__staleWhileFetching;if(p.__returned===p)throw b},d=(b,T)=>{this.fetchMethod(e,s,a).then(E=>b(E),T),o.signal.addEventListener("abort",()=>{(!r.ignoreFetchAbort||r.allowStaleOnFetchAbort)&&(b(),r.allowStaleOnFetchAbort&&(b=E=>u(E,!0)))})};r.status&&(r.status.fetchDispatched=!0);let p=new Promise(d).then(u,c);return p.__abortController=o,p.__staleWhileFetching=s,p.__returned=null,n===void 0?(this.set(e,p,{...a.options,status:void 0}),n=this.keyMap.get(e)):this.valList[n]=p,p}isBackgroundFetch(e){return e&&typeof e=="object"&&typeof e.then=="function"&&Object.prototype.hasOwnProperty.call(e,"__staleWhileFetching")&&Object.prototype.hasOwnProperty.call(e,"__returned")&&(e.__returned===e||e.__returned===null)}async fetch(e,{allowStale:n=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,ttl:s=this.ttl,noDisposeOnSet:o=this.noDisposeOnSet,size:a=0,sizeCalculation:u=this.sizeCalculation,noUpdateTTL:c=this.noUpdateTTL,noDeleteOnFetchRejection:l=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:d=this.allowStaleOnFetchRejection,ignoreFetchAbort:p=this.ignoreFetchAbort,allowStaleOnFetchAbort:b=this.allowStaleOnFetchAbort,fetchContext:T=this.fetchContext,forceRefresh:E=!1,status:L,signal:M}={}){if(!this.fetchMethod)return L&&(L.fetch="get"),this.get(e,{allowStale:n,updateAgeOnGet:r,noDeleteOnStaleGet:i,status:L});let x={allowStale:n,updateAgeOnGet:r,noDeleteOnStaleGet:i,ttl:s,noDisposeOnSet:o,size:a,sizeCalculation:u,noUpdateTTL:c,noDeleteOnFetchRejection:l,allowStaleOnFetchRejection:d,allowStaleOnFetchAbort:b,ignoreFetchAbort:p,status:L,signal:M},k=this.keyMap.get(e);if(k===void 0){L&&(L.fetch="miss");let v=this.backgroundFetch(e,k,x,T);return v.__returned=v}else{let v=this.valList[k];if(this.isBackgroundFetch(v)){let ge=n&&v.__staleWhileFetching!==void 0;return L&&(L.fetch="inflight",ge&&(L.returnedStale=!0)),ge?v.__staleWhileFetching:v.__returned=v}let F=this.isStale(k);if(!E&&!F)return L&&(L.fetch="hit"),this.moveToTail(k),r&&this.updateItemAge(k),this.statusTTL(L,k),v;let C=this.backgroundFetch(e,k,x,T),V=C.__staleWhileFetching!==void 0,ae=V&&n;return L&&(L.fetch=V&&F?"stale":"refresh",ae&&F&&(L.returnedStale=!0)),ae?C.__staleWhileFetching:C.__returned=C}}get(e,{allowStale:n=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,status:s}={}){let o=this.keyMap.get(e);if(o!==void 0){let a=this.valList[o],u=this.isBackgroundFetch(a);return this.statusTTL(s,o),this.isStale(o)?(s&&(s.get="stale"),u?(s&&(s.returnedStale=n&&a.__staleWhileFetching!==void 0),n?a.__staleWhileFetching:void 0):(i||this.delete(e),s&&(s.returnedStale=n),n?a:void 0)):(s&&(s.get="hit"),u?a.__staleWhileFetching:(this.moveToTail(o),r&&this.updateItemAge(o),a))}else s&&(s.get="miss")}connect(e,n){this.prev[n]=e,this.next[e]=n}moveToTail(e){e!==this.tail&&(e===this.head?this.head=this.next[e]:this.connect(this.prev[e],this.next[e]),this.connect(this.tail,e),this.tail=e)}get del(){return Rb("del","delete"),this.delete}delete(e){let n=!1;if(this.size!==0){let r=this.keyMap.get(e);if(r!==void 0)if(n=!0,this.size===1)this.clear();else{this.removeItemSize(r);let i=this.valList[r];this.isBackgroundFetch(i)?i.__abortController.abort(new Error("deleted")):(this.dispose(i,e,"delete"),this.disposeAfter&&this.disposed.push([i,e,"delete"])),this.keyMap.delete(e),this.keyList[r]=null,this.valList[r]=null,r===this.tail?this.tail=this.prev[r]:r===this.head?this.head=this.next[r]:(this.next[this.prev[r]]=this.next[r],this.prev[this.next[r]]=this.prev[r]),this.size--,this.free.push(r)}}if(this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return n}clear(){for(let e of this.rindexes({allowStale:!0})){let n=this.valList[e];if(this.isBackgroundFetch(n))n.__abortController.abort(new Error("deleted"));else{let r=this.keyList[e];this.dispose(n,r,"delete"),this.disposeAfter&&this.disposed.push([n,r,"delete"])}}if(this.keyMap.clear(),this.valList.fill(null),this.keyList.fill(null),this.ttls&&(this.ttls.fill(0),this.starts.fill(0)),this.sizes&&this.sizes.fill(0),this.head=0,this.tail=0,this.initialFill=1,this.free.length=0,this.calculatedSize=0,this.size=0,this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift())}get reset(){return Rb("reset","clear"),this.clear}get length(){return rj("length","size"),this.size}static get AbortController(){return Xd}static get AbortSignal(){return yA}};_A.exports=Ao});var AA=g((KU,EA)=>{var jb=Object.defineProperty,ij=Object.getOwnPropertyDescriptor,sj=Object.getOwnPropertyNames,oj=Object.prototype.hasOwnProperty,aj=(t,e)=>{for(var n in e)jb(t,n,{get:e[n],enumerable:!0})},uj=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of sj(e))!oj.call(t,i)&&i!==n&&jb(t,i,{get:()=>e[i],enumerable:!(r=ij(e,i))||r.enumerable});return t},cj=t=>uj(jb({},"__esModule",{value:!0}),t),TA={};aj(TA,{ScheduleIntervalHelper:()=>Lb,SchedulePostMessageHelper:()=>Nb,ScheduleSetImmmediateHelper:()=>qb,schedule:()=>fj,scheduleProvider:()=>wA});EA.exports=cj(TA);var lj=Promise.prototype.then.bind(Promise.resolve()),Fb=class Jd{constructor(){this.queue=[],this.sleep=0}static{this.SLEEP_LIMIT=512}static{this.QUEUE_LIMIT=1024}static isApplicable(){return!1}static createCallback(){throw new Error("Cannot create callback from base schedule helper!")}tick(){let e=this.queue,n=Math.min(e.length,Jd.QUEUE_LIMIT);this.queue=this.queue.slice(Jd.QUEUE_LIMIT);for(let r=0;r<n;lj(e[r++]));if(this.queue.length>0&&(this.sleep=0),this.sleep++<=Jd.SLEEP_LIMIT){this.nextTick();return}this.endTick()}start(){this.isTickActive()||(this.sleep=0,this.startTick())}add(e){this.queue.push(e),this.start()}},Lb=class SA extends Fb{constructor(){super(...arguments),this.timer=null,this.boundTick=this.tick.bind(this)}static isApplicable(){return!!globalThis.setInterval}static createCallback(){let e=new SA;return e.add.bind(e)}isTickActive(){return this.timer!==null}startTick(){this.timer=setInterval(this.boundTick,0)}nextTick(){}endTick(){clearInterval(this.timer),this.timer=null}},dj=()=>{try{return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}catch{}return!1},Nb=class kA extends Fb{constructor(){super(),this.id=(Math.random()+1).toString(36).substring(7),this.active=!1,self.addEventListener("message",this.onMessage.bind(this))}static isApplicable(){return!dj()&&!!self.postMessage&&!!self.addEventListener}static createCallback(){let e=new kA;return e.add.bind(e)}onMessage(e){e.source!==self||e.data!==this.id||this.tick()}isTickActive(){return this.active}startTick(){this.active=!0,self.postMessage(this.id)}nextTick(){self.postMessage(this.id)}endTick(){this.active=!1}},qb=class xA extends Fb{constructor(){super(...arguments),this.immediate=null,this.boundTick=this.tick.bind(this)}static isApplicable(){return!!globalThis.setImmediate}static createCallback(){let e=new xA;return e.add.bind(e)}isTickActive(){return this.immediate!==null}startTick(){this.immediate=setImmediate(this.boundTick)}nextTick(){this.immediate=setImmediate(this.boundTick)}endTick(){clearImmediate(this.immediate),this.immediate=null}};function wA(){if(qb.isApplicable())return qb.createCallback();if(Nb.isApplicable())return Nb.createCallback();if(Lb.isApplicable())return Lb.createCallback();throw new Error("No schedule helper fulfills requirements!")}var fj=wA()});var OA=g(wn=>{"use strict";var Ub=wn&&wn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(wn,"__esModule",{value:!0});wn.DocumentManager=wn.PROCESSING_TIMEOUT=wn.ActiveDocument=wn.DocumentURIBuilder=void 0;var pj=Ub(require("events")),hj=Br(),gj=Ub(Mb()),$b=AA(),Oo=Hd(),mj=Ub(Va()),Qd=class{constructor(e,n=null){this.workspaceFolderUri=n,this.rootPath=e}getFromWorkspaceFolder(e){return this.workspaceFolderUri==null?(console.warn("Workspace folders are not available. Falling back to only relative paths."),Oo.Utils.joinPath(this.rootPath,e).toString()):Oo.Utils.joinPath(this.workspaceFolderUri,e).toString()}getFromRootPath(e){return Oo.Utils.joinPath(this.rootPath,e).toString()}};wn.DocumentURIBuilder=Qd;var Zd=class{constructor(e){this.documentManager=e.documentManager,this.content=e.content,this.textDocument=e.textDocument,this.document=e.document,this.errors=e.errors}getDirectory(){return Oo.Utils.joinPath(Oo.URI.parse(this.textDocument.uri),"..")}async getImportsAndIncludes(e=null){if(this.document==null)return[];let n=this.document,r=this.getDirectory(),i=this.documentManager.context,s=new Qd(r,e),o=u=>u.startsWith("/")?i.fs.findExistingPath(s.getFromWorkspaceFolder(u),s.getFromWorkspaceFolder(`${u}.src`)):i.fs.findExistingPath(s.getFromRootPath(u),s.getFromRootPath(`${u}.src`));return(await Promise.all([...n.imports.filter(u=>u.path).map(u=>o(u.path)),...n.includes.filter(u=>u.path).map(u=>o(u.path))])).filter(u=>u!=null)}async getDependencies(){if(this.document==null)return[];if(this.dependencies)return this.dependencies;let e=await this.documentManager.context.fs.getWorkspaceFolderUri(Oo.URI.parse(this.textDocument.uri)),n=await this.getImportsAndIncludes(e),r=new Set([...n]);return this.dependencies=Array.from(r),this.dependencies}async getImports(){if(this.document==null)return[];let e=new Set,n=new Set([this.textDocument.uri]),r=async i=>{let s=await i.getDependencies();for(let o of s){if(n.has(o))continue;let a=await this.documentManager.open(o);n.add(o),a!==null&&(e.add(a),a.document!==null&&await r(a))}};return await r(this),Array.from(e)}};wn.ActiveDocument=Zd;wn.PROCESSING_TIMEOUT=100;var Bb=class extends pj.default{get context(){return this._context}setContext(e){return this._context=e,this}constructor(e=wn.PROCESSING_TIMEOUT){super(),this._context=null,this._timer=null,this.results=new gj.default({ttl:1e3*60*20,ttlAutopurge:!0}),this.scheduledItems=new Map,this.tickRef=this.tick.bind(this),this.processingTimeout=e,(0,$b.schedule)(this.tickRef)}tick(){if(this.scheduledItems.size===0){this._timer=null;return}let e=Date.now(),n=Array.from(this.scheduledItems.values());for(let r=0;r<n.length;r++){let i=n[r];e-i.createdAt>this.processingTimeout&&(0,$b.schedule)(()=>this.refresh(i.document))}this._timer=setTimeout(this.tickRef,0)}refresh(e){let n=e.uri;if(!this.scheduledItems.has(n)&&this.results.has(n))return this.results.get(n);let r=this.create(e);return this.results.set(n,r),this.emit("parsed",e,r),this.scheduledItems.delete(n),r}create(e){let n=e.getText(),r=new hj.Parser(n,{unsafe:!0}),i=r.parseChunk();return mj.default.analyze(e.uri,i),new Zd({documentManager:this,content:n,textDocument:e,document:i,errors:[...r.lexer.errors,...r.errors]})}schedule(e){let n=e.uri,r=e.getText();return this.results.get(n)?.content===r?!1:(this.scheduledItems.set(n,{document:e,createdAt:Date.now()}),this._timer===null&&(this._timer=setTimeout(this.tickRef,0)),!0)}async open(e){try{let n=await this.context.fs.getTextDocument(e);return n==null?null:this.get(n)}catch{return null}}get(e){return this.results.get(e.uri)||this.refresh(e)}getLatest(e,n=5e3){return new Promise(r=>{(0,$b.schedule)(()=>{if(!this.scheduledItems.has(e.uri))return r(this.get(e));let i=()=>{this.removeListener("parsed",s),r(this.get(e))},s=a=>{a.uri===e.uri&&(this.removeListener("parsed",s),clearTimeout(o),r(this.get(e)))},o=setTimeout(i,n);this.addListener("parsed",s)})})}clear(e){this.results.delete(e.uri),this.emit("cleared",e)}};wn.DocumentManager=Bb});var RA=g(Co=>{"use strict";var yj=Co&&Co.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Co,"__esModule",{value:!0});Co.CoreContext=void 0;var bj=yj(require("events")),Hb=$s();function CA(t){return{formatter:t?.formatter??!0,autocomplete:t?.autocomplete??!0,hoverdocs:t?.hoverdocs??!0,diagnostic:t?.diagnostic??!0,transpiler:{beautify:{keepParentheses:t?.transpiler?.beautify?.keepParentheses??!0,indentation:t?.transpiler?.beautify?.indentation??Hb.IndentationType.Tab,indentationSpaces:t?.transpiler?.beautify?.indentationSpaces??2}}}}var Wb=class extends bj.default{constructor(){super(),this._configuration=CA(),this._features={configuration:!1,workspaceFolder:!1}}get features(){return this._features}getConfiguration(){return this._configuration}async syncConfiguraton(){let e=await this.connection.workspace.getConfiguration(Hb.ConfigurationNamespace);this._configuration=CA(e)}configureCapabilties(e){this._features.configuration=!!(e.workspace&&e.workspace.configuration),this._features.workspaceFolder=!!(e.workspace&&e.workspace.workspaceFolders)}async onInitialize(e){this.configureCapabilties(e.capabilities);let n={capabilities:{completionProvider:{triggerCharacters:["."],resolveProvider:!0},hoverProvider:!0,colorProvider:!0,definitionProvider:!0,documentFormattingProvider:!0,signatureHelpProvider:{triggerCharacters:[",","("]},documentSymbolProvider:!0,workspaceSymbolProvider:!0,diagnosticProvider:{identifier:Hb.LanguageId,interFileDependencies:!1,workspaceDiagnostics:!1},textDocumentSync:2}};return this._features.workspaceFolder&&(n.capabilities.workspace={workspaceFolders:{supported:!0}}),this.emit("ready",this),n}async onInitialized(e){this._features.configuration&&(await this.syncConfiguraton(),this.connection.onDidChangeConfiguration(async()=>{let n=this._configuration;await this.syncConfiguraton(),this.emit("configuration-change",this,this._configuration,n)})),this.emit("loaded",this)}async listen(){this.fs.listen(this.connection),this.connection.onInitialize(this.onInitialize.bind(this)),this.connection.onInitialized(this.onInitialized.bind(this)),this.connection.listen()}};Co.CoreContext=Wb});var ef=g(J=>{"use strict";var vj=J&&J.__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]}),_j=J&&J.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),Tj=J&&J.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&vj(e,t,n);return _j(e,t),e},Sj=J&&J.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(J,"__esModule",{value:!0});J.CoreContext=J.typeAnalyzer=J.lookupBase=J.lookupIdentifier=J.appendTooltipHeader=J.appendTooltipBody=J.formatTypes=J.formatDefaultValue=J.createTooltipHeader=J.createSignatureInfo=J.createHover=J.MarkdownString=J.LookupHelper=J.DocumentManager=J.ActiveDocument=J.ASTScraper=J.activateSymbol=J.activateSubscriptions=J.activateSignature=J.activateHover=J.activateFormatter=J.activateDiagnostic=J.activateDefinition=J.activateColor=J.activateAutocomplete=J.ConfigurationNamespace=J.LanguageId=J.IndentationType=void 0;var Gb=$s();Object.defineProperty(J,"IndentationType",{enumerable:!0,get:function(){return Gb.IndentationType}});Object.defineProperty(J,"LanguageId",{enumerable:!0,get:function(){return Gb.LanguageId}});Object.defineProperty(J,"ConfigurationNamespace",{enumerable:!0,get:function(){return Gb.ConfigurationNamespace}});var kj=vE();Object.defineProperty(J,"activateAutocomplete",{enumerable:!0,get:function(){return kj.activate}});var xj=CE();Object.defineProperty(J,"activateColor",{enumerable:!0,get:function(){return xj.activate}});var wj=PE();Object.defineProperty(J,"activateDefinition",{enumerable:!0,get:function(){return wj.activate}});var Ej=IE();Object.defineProperty(J,"activateDiagnostic",{enumerable:!0,get:function(){return Ej.activate}});var Aj=iA();Object.defineProperty(J,"activateFormatter",{enumerable:!0,get:function(){return Aj.activate}});var Oj=lA();Object.defineProperty(J,"activateHover",{enumerable:!0,get:function(){return Oj.activate}});var Cj=fA();Object.defineProperty(J,"activateSignature",{enumerable:!0,get:function(){return Cj.activate}});var Rj=hA();Object.defineProperty(J,"activateSubscriptions",{enumerable:!0,get:function(){return Rj.activate}});var Dj=mA();Object.defineProperty(J,"activateSymbol",{enumerable:!0,get:function(){return Dj.activate}});J.ASTScraper=Tj(My());var DA=OA();Object.defineProperty(J,"ActiveDocument",{enumerable:!0,get:function(){return DA.ActiveDocument}});Object.defineProperty(J,"DocumentManager",{enumerable:!0,get:function(){return DA.DocumentManager}});var Pj=go();Object.defineProperty(J,"LookupHelper",{enumerable:!0,get:function(){return Pj.LookupHelper}});var Ij=Gd();Object.defineProperty(J,"MarkdownString",{enumerable:!0,get:function(){return Ij.MarkdownString}});var fs=Vd();Object.defineProperty(J,"createHover",{enumerable:!0,get:function(){return fs.createHover}});Object.defineProperty(J,"createSignatureInfo",{enumerable:!0,get:function(){return fs.createSignatureInfo}});Object.defineProperty(J,"createTooltipHeader",{enumerable:!0,get:function(){return fs.createTooltipHeader}});Object.defineProperty(J,"formatDefaultValue",{enumerable:!0,get:function(){return fs.formatDefaultValue}});Object.defineProperty(J,"formatTypes",{enumerable:!0,get:function(){return fs.formatTypes}});Object.defineProperty(J,"appendTooltipBody",{enumerable:!0,get:function(){return fs.appendTooltipBody}});Object.defineProperty(J,"appendTooltipHeader",{enumerable:!0,get:function(){return fs.appendTooltipHeader}});var Vb=Va();Object.defineProperty(J,"lookupIdentifier",{enumerable:!0,get:function(){return Vb.lookupIdentifier}});Object.defineProperty(J,"lookupBase",{enumerable:!0,get:function(){return Vb.lookupBase}});Object.defineProperty(J,"typeAnalyzer",{enumerable:!0,get:function(){return Sj(Vb).default}});var Mj=RA();Object.defineProperty(J,"CoreContext",{enumerable:!0,get:function(){return Mj.CoreContext}})});var LA={};KA(LA,{TextDocument:()=>zb});function Kb(t,e){if(t.length<=1)return t;let n=t.length/2|0,r=t.slice(0,n),i=t.slice(n);Kb(r,e),Kb(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 PA(t,e,n=0){let r=e?[n]:[];for(let i=0;i<t.length;i++){let s=t.charCodeAt(i);IA(s)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,r.push(n+i+1))}return r}function IA(t){return t===13||t===10}function MA(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 Lj(t){let e=MA(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var tf,zb,NA=zA(()=>{"use strict";tf=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=MA(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),u=Math.max(i.end.line,0),c=this._lineOffsets,l=PA(r.text,!1,s);if(u-a===l.length)for(let p=0,b=l.length;p<b;p++)c[p+a+1]=l[p];else l.length<1e4?c.splice(a+1,u-a,...l):this._lineOffsets=c=c.slice(0,a+1).concat(l,c.slice(u+1));let d=r.text.length-(o-s);if(d!==0)for(let p=a+1+l.length,b=c.length;p<b;p++)c[p]=c[p]+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=PA(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 e=this.ensureBeforeEOL(e,n[s]),{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];if(e.character<=0)return r;let i=e.line+1<n.length?n[e.line+1]:this._content.length,s=Math.min(r+e.character,i);return this.ensureBeforeEOL(s,r)}ensureBeforeEOL(e,n){for(;e>n&&IA(this._content.charCodeAt(e-1));)e--;return e}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}};(function(t){function e(i,s,o,a){return new tf(i,s,o,a)}t.create=e;function n(i,s,o){if(i instanceof tf)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=Kb(s.map(Lj),(l,d)=>{let p=l.range.start.line-d.range.start.line;return p===0?l.range.start.character-d.range.start.character:p}),u=0,c=[];for(let l of a){let d=i.offsetAt(l.range.start);if(d<u)throw new Error("Overlapping edit");d>u&&c.push(o.substring(u,d)),l.newText.length&&c.push(l.newText),u=i.offsetAt(l.range.end)}return c.push(o.substr(u)),c.join("")}t.applyEdits=r})(zb||(zb={}))});var jA=g(Ro=>{"use strict";var Jb=Ro&&Ro.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ro,"__esModule",{value:!0});Ro.FileSystem=void 0;var Nj=rh(),qA=(NA(),YA(LA)),qj=Jb(require("events")),Xb=Hd(),jj=Jb(require("fs")),Fj=ef(),$j=Jb(Mb()),Yb=class extends qj.default{constructor(e){super(),this._context=e,this._textDocumentManager=new Nj.TextDocuments(qA.TextDocument),this._tempTextDocumentCache=new $j.default({ttl:1e3,max:100})}async getWorkspaceFolderUris(){if(!this._context.features.workspaceFolder)return[];if(this._workspace==null)return[];let e=await this._workspace.getWorkspaceFolders();return e==null?[]:Array.from(new Set(e.map(n=>n.uri))).map(n=>Xb.URI.parse(n))}async getWorkspaceFolderUri(e){return(await this.getWorkspaceFolderUris()).find(r=>e.path.startsWith(r.path))||null}async findExistingPath(...e){if(e.length===0)return null;for(let n=0;n<e.length;n++)if(await this.getTextDocument(e[n])!=null)return e[n];return null}getAllTextDocuments(){return this._textDocumentManager.all()}async fetchTextDocument(e){let n=Xb.URI.parse(e),r=this._tempTextDocumentCache.get(e);if(r!=null)return r;let i=null;try{let s=await jj.default.promises.readFile(n.fsPath,{encoding:"utf-8"});i=qA.TextDocument.create(e,Fj.LanguageId,0,s)}catch{}return this._tempTextDocumentCache.set(e,i),i}async getTextDocument(e){let n=this._textDocumentManager.get(e);return n||(Xb.URI.parse(e).scheme=="file"?await this.fetchTextDocument(e):null)}async readFile(e){return(await this.getTextDocument(e)).getText()}listen(e){this._workspace=e.workspace,this._textDocumentManager.listen(e),this._textDocumentManager.onDidOpen(n=>{this.emit("text-document-open",n.document)}),this._textDocumentManager.onDidChangeContent(n=>{this.emit("text-document-change",n.document)}),this._textDocumentManager.onDidClose(n=>{this.emit("text-document-close",n.document)})}};Ro.FileSystem=Yb});var BA=g(nf=>{"use strict";Object.defineProperty(nf,"__esModule",{value:!0});nf.NodeContext=void 0;var FA=rh(),$A=ef(),Bj=jA(),Qb=class extends $A.CoreContext{constructor(){super(),this.documentManager=new $A.DocumentManager().setContext(this),this.connection=(0,FA.createConnection)(FA.ProposedFeatures.all),this.fs=new Bj.FileSystem(this)}};nf.NodeContext=Qb});Object.defineProperty(exports,"__esModule",{value:!0});var Uj=BA(),Gr=ef(),UA=new Uj.NodeContext;UA.on("ready",t=>{(0,Gr.activateAutocomplete)(t),(0,Gr.activateColor)(t),(0,Gr.activateDefinition)(t),(0,Gr.activateDiagnostic)(t),(0,Gr.activateFormatter)(t),(0,Gr.activateHover)(t),(0,Gr.activateSignature)(t),(0,Gr.activateSubscriptions)(t),(0,Gr.activateSymbol)(t)});UA.listen();
|