greybel-languageserver-browser 1.8.1 → 1.8.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. package/index.js +1 -1
  2. package/package.json +2 -2
package/index.js CHANGED
@@ -103,7 +103,7 @@ ${e}
103
103
  */`),[r]=e;if(r.tags.length>0){let{descriptions:n,args:i,returns:s,examples:o}=bD(r);return ry.SignatureDefinitionFunction.parse({type:ry.SignatureDefinitionBaseType.Function,arguments:t.getArguments().map((l,u)=>{let a=l.getLabel(),c=l.getTypes().map(d=>d.toString()),p=l.isOptional();return sn(tt({types:c,opt:p},i[u]),{label:a})}),returns:s,description:n,example:o})}return t}si.enrichWithMetaInformation=vD});var sy=T(Ju=>{"use strict";Object.defineProperty(Ju,"__esModule",{value:!0});Ju.createResolveChain=void 0;var ht=pe();function $r(t,e,r=null,n=!1){switch(t.type){case ht.ASTType.ParenthesisExpression:{$r(t.expression,e,r);return}case ht.ASTType.MemberExpression:{let i=t;$r(i.base,e),e.push({ref:t,getter:i.identifier,unary:r,isInCallExpression:n});return}case ht.ASTType.IndexExpression:{let i=t;$r(i.base,e),e.push({ref:t,getter:i.index,unary:r,isInCallExpression:n});return}case ht.ASTType.CallStatement:{$r(t.expression,e,r,!0);return}case ht.ASTType.CallExpression:{$r(t.base,e,r,!0);return}case ht.ASTType.NegationExpression:case ht.ASTType.BinaryNegatedExpression:case ht.ASTType.UnaryExpression:{let i=t;$r(i.argument,e,i);return}case ht.ASTType.Identifier:{e.push({ref:t,getter:t,unary:r,isInCallExpression:n});return}case ht.ASTType.NumericLiteral:case ht.ASTType.StringLiteral:case ht.ASTType.NilLiteral:case ht.ASTType.BooleanLiteral:case ht.ASTType.MapConstructorExpression:case ht.ASTType.ListConstructorExpression:case ht.ASTType.BinaryExpression:case ht.ASTType.LogicalExpression:case ht.ASTType.ComparisonGroupExpression:{e.push({ref:t,value:t,unary:r,isInCallExpression:n});return}case ht.ASTType.SliceExpression:$r(t.base,e),e.push({ref:t,unary:r,isInCallExpression:n})}}function _D(t){let e=[];return $r(t,e),e}Ju.createResolveChain=_D});var D0=T(oy=>{function O0(t,e){return t>e?1:-1}oy.hash=function t(e,r){var n=5381;if(typeof e=="object"&&e!==null&&(e.toString===Object.prototype.toString||e.toString===Array.prototype.toString)){r||(r=new WeakSet);for(var i=Object.keys(e).sort(O0),s=0;s<i.length;s++){var o=i[s],l=e[o];if(n=33*n^t(o,r),typeof l=="object"&&l!==null&&(e.toString===Object.prototype.toString||e.toString===Array.prototype.toString)){if(r.has(l))continue;r.add(l)}n=33*n^t(l,r)}return 33*n^t(e.constructor,r)}var u=typeof e;try{e instanceof Date?u+=e.getTime():u+=String(e)}catch(c){u+=String(Object.assign({},e))}for(var a=0;a<u.length;a++)n=33*n^u.charCodeAt(a);return n},oy.sortNumbers=O0});var uy=T(ys=>{"use strict";Object.defineProperty(ys,"__esModule",{value:!0});ys.ObjectSet=ys.ObjectSetIterator=void 0;var ay=D0(),Qu=class{constructor(e){let r=this;r.value=e,r.index=0}next(){let e=this;return e.index>=e.value.length?{value:null,done:!0}:{value:e.value[e.index++],done:!1}}};ys.ObjectSetIterator=Qu;var ly=class{constructor(e){let n=(e?Array.from(e):[]).map(i=>[(0,ay.hash)(i),i]);this._map=new Map(n),this._first=null,this._last=null,n.length>0&&(this._first=n[0][0],this._last=n[n.length-1][0])}[Symbol.iterator](){return new Qu(Array.from(this._map.values()))}first(){var e;return this._first!=null&&(e=this._map.get(this._first))!=null?e:null}last(){var e;return this._last!=null&&(e=this._map.get(this._last))!=null?e:null}toArray(){return Array.from(this._map.values())}add(e){var n;let r=(0,ay.hash)(e);return this._map.set(r,e),(n=this._first)!=null||(this._first=r),this._last=r,this}delete(e){let r=(0,ay.hash)(e);return this._map.delete(r)}extend(e){return e._map.forEach((r,n)=>{var i;this._map.set(n,r),(i=this._first)!=null||(this._first=n),this._last=n}),this}toJSON(){return Array.from(this._map.values())}clear(){this._map.clear()}};ys.ObjectSet=ly});var cy=T(Zu=>{"use strict";Object.defineProperty(Zu,"__esModule",{value:!0});Zu.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION=void 0;Zu.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 oi=T(zo=>{"use strict";Object.defineProperty(zo,"__esModule",{value:!0});zo.CompletionItemKind=void 0;var wD;(function(t){t.Variable="var",t.Property="property",t.Function="function",t.Literal="literal",t.Constant="constant",t.Internal="internal",t.InternalFunction="internal-function",t.InternalProperty="internal-property",t.ListConstructor="list",t.MapConstructor="map",t.Expression="expr",t.Unknown="unknown"})(wD=zo.CompletionItemKind||(zo.CompletionItemKind={}))});var ai=T(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.IsaPropertyPattern=sr.IdentifierPropertyPattern=sr.PropertyType=void 0;var py;(function(t){t.Type="t",t.Identifier="i"})(py=sr.PropertyType||(sr.PropertyType={}));sr.IdentifierPropertyPattern=`${py.Identifier}:`;sr.IsaPropertyPattern=`${py.Identifier}:__isa`});var dy=T(zn=>{"use strict";Object.defineProperty(zn,"__esModule",{value:!0});zn.isResolveChainItemWithValue=zn.isResolveChainItemWithIdentifier=zn.isResolveChainItemWithMember=zn.isResolveChainItemWithIndex=void 0;var mn=pe(),SD=t=>t!=null&&t.ref.type===mn.ASTType.IndexExpression;zn.isResolveChainItemWithIndex=SD;var xD=t=>t!=null&&t.ref.type===mn.ASTType.MemberExpression;zn.isResolveChainItemWithMember=xD;var kD=t=>t!=null&&t.ref.type===mn.ASTType.Identifier;zn.isResolveChainItemWithIdentifier=kD;var TD=new Set([mn.ASTType.NumericLiteral,mn.ASTType.StringLiteral,mn.ASTType.NilLiteral,mn.ASTType.BooleanLiteral,mn.ASTType.MapConstructorExpression,mn.ASTType.ListConstructorExpression,mn.ASTType.BinaryExpression,mn.ASTType.LogicalExpression,mn.ASTType.ComparisonGroupExpression]),ID=t=>t!=null&&TD.has(t.ref.type);zn.isResolveChainItemWithValue=ID});var hy=T(Xu=>{"use strict";Object.defineProperty(Xu,"__esModule",{value:!0});Xu.isSignatureDefinitionFunction=void 0;var ED=Ht(),RD=t=>t.getType().type===ED.SignatureDefinitionBaseType.Function;Xu.isSignatureDefinitionFunction=RD});var fy=T(ec=>{"use strict";Object.defineProperty(ec,"__esModule",{value:!0});ec.aggregateEntity=void 0;var PD=t=>{let e=new Set,r=t;for(;r!=null&&!e.has(r);)e.add(r),r=r.getIsa();return Array.from(e)};ec.aggregateEntity=PD});var Ko=T(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.injectIdentifers=void 0;var CD=ai(),AD=fy(),OD=(t,e)=>{let r=(0,AD.aggregateEntity)(e);for(let n=0;n<r.length;n++)r[n].values.forEach((s,o)=>{if(o.startsWith(CD.IdentifierPropertyPattern)){let l=o.slice(2);if(t.has(l))return;t.set(l,{kind:s.kind,line:s.source===e.source?s.line:-1})}})};tc.injectIdentifers=OD});var rc=T(nc=>{"use strict";Object.defineProperty(nc,"__esModule",{value:!0});nc.isEligibleForProperties=void 0;var my=Ht(),DD=t=>t.types.has(my.SignatureDefinitionBaseType.Map)||t.types.has(my.SignatureDefinitionBaseType.List)||t.types.has(my.SignatureDefinitionBaseType.Any);nc.isEligibleForProperties=DD});var sc=T(ic=>{"use strict";Object.defineProperty(ic,"__esModule",{value:!0});ic.lookupProperty=void 0;var LD=rc(),jD=(t,e,r)=>{let n=e,i=new Set([n]);for(;(0,LD.isEligibleForProperties)(n);){let s=n.values.get(`${t}:${r}`);if(s!=null)return s;let o=n.getIsa();if(o==null||i.has(o))break;i.add(o),n=o}return null};ic.lookupProperty=jD});var gy=T(oc=>{"use strict";Object.defineProperty(oc,"__esModule",{value:!0});oc.mergeUnique=void 0;function MD(t,e,r=1e4){let n=Array.from(new Set([...t,...e]));if(t.length=0,n.length<=r){Array.prototype.push.apply(t,n);return}for(let i=0;i<n.length;i+=r)Array.prototype.push.apply(t,n.slice(i,i+r))}oc.mergeUnique=MD});var bs=T(lc=>{"use strict";Object.defineProperty(lc,"__esModule",{value:!0});lc.Entity=void 0;var Je=Ht(),li=oi(),gn=ai(),qD=hy(),FD=Ko(),Go=rc(),ac=sc(),ND=gy(),L0=uy(),or=class t{static resolveEntity(e,r,n=!1){if(r.isCallable()&&!n){let i=r.getReturnEntity();if(i!==null)return i;let s=r.getCallableReturnTypes();return s?new t({source:r.source,kind:li.CompletionItemKind.Variable,container:e,label:r.label,context:r.context}).addTypesWithMeta(s):new t({source:r.source,kind:li.CompletionItemKind.Variable,container:e,label:r.label,context:r.context}).addType(Je.SignatureDefinitionBaseType.Any)}return r}get source(){return this._source}get definitions(){return this._definitions}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){var r,n,i,s,o,l,u,a,c,p;this._source=e.source,this._isAPI=(r=e.isAPI)!=null?r:!1,this._isFromSignature=(n=e.isFromSignature)!=null?n:!1,this._kind=e.kind,this._line=(i=e.line)!=null?i:-1,this._label=(s=e.label)!=null?s:"anonymous",this._signatureDefinitions=(o=e.signatureDefinitions)!=null?o:new L0.ObjectSet,this._types=(l=e.types)!=null?l:new Set,this._values=(u=e.values)!=null?u:new Map,this._context=(a=e.context)!=null?a:null,this._container=e.container,this._definitions=(c=e.definitions)!=null?c:[],this._returnEntity=(p=e.returnEntity)!=null?p:null}isFromSignature(){return this._isFromSignature}hasContext(){return this._context!=null&&!this._context.isAPI}getIsa(){var e;return(e=this._values.get(gn.IsaPropertyPattern))!=null?e:null}hasIsa(){return this._values.has(gn.IsaPropertyPattern)}isAPI(){return this._isAPI}isCallable(){return this._types.has(Je.SignatureDefinitionBaseType.Function)}getCallableReturnTypes(){if(!this.isCallable())return null;let e=Array.from(this._signatureDefinitions).filter(r=>(0,qD.isSignatureDefinitionFunction)(r));return e.length===0?null:e.flatMap(r=>r.getReturns())}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){return this._types.add(e),this}addTypes(e){for(let r=0;r<e.length;r++)this._types.add(e[r]);return this}addTypeWithMeta(e){var r,n;if(this._types.add(e.type),e.type===Je.SignatureDefinitionBaseType.Map||e.type===Je.SignatureDefinitionBaseType.List){let i=e.type===Je.SignatureDefinitionBaseType.Map?(r=e.keyType.type)!=null?r:Je.SignatureDefinitionBaseType.Any:Je.SignatureDefinitionBaseType.Number,s=new t({source:this._source,kind:li.CompletionItemKind.Property,container:this._container,context:this});e.valueType.type===Je.SignatureDefinitionBaseType.Map||e.valueType.type===Je.SignatureDefinitionBaseType.List?s.addTypeWithMeta(e.valueType):s.addType((n=e.valueType.type)!=null?n:Je.SignatureDefinitionBaseType.Any),t.handlers.type.setProperty(this,this._container,i,s)}return this}addTypesWithMeta(e){for(let r=0;r<e.length;r++)this.addTypeWithMeta(e[r]);return this}hasProperty(e){switch(typeof e){case"object":return t.handlers.entity.hasProperty(this,this._container,e);default:return t.handlers.identifier.hasProperty(this,this._container,e)}}resolveProperty(e,r=!1){switch(typeof e){case"object":return t.handlers.entity.resolveProperty(this,this._container,e,r);default:return t.handlers.identifier.resolveProperty(this,this._container,e,r)}}setProperty(e,r,n=!1){switch(typeof e){case"object":return t.handlers.entity.setProperty(this,this._container,e,r,n);default:return t.handlers.identifier.setProperty(this,this._container,e,r,n)}}extend(e,r=!1,n=!1){if(e===this)return this;let i=new WeakSet([e]),s=[{target:this,source:e}];for(;s.length>0;){let o=s.pop(),l=o.target,u=o.source;l._isFromSignature=!1,l._signatureDefinitions.extend(u._signatureDefinitions),r&&(n?l._definitions=[...l._definitions,...u._definitions]:(0,ND.mergeUnique)(l._definitions,u._definitions)),l.addTypes(Array.from(u.types)),u.values.forEach((a,c)=>{let p=l._values.get(c);p==null?l._values.set(c,a.copy({container:l._container,context:l,deepCopy:n})):i.has(a)||(i.add(a),s.push({target:p,source:a}))})}return this}insertSignature(e){let r=Object.keys(e.getDefinitions());this.addType(Je.SignatureDefinitionBaseType.Map);for(let n=0;n<r.length;n++){let i=r[n],s=e.getDefinition(i),o=new t({source:this._source,label:i,kind:s.getType().type===Je.SignatureDefinitionBaseType.Function?li.CompletionItemKind.InternalFunction:li.CompletionItemKind.InternalProperty,container:this._container,isFromSignature:!0});o.addSignatureType(s),this.setProperty(i,o)}return this}getPropertyTypes(){let e=new Set;return this._values.forEach((r,n)=>{let[i,s]=n.split(":");i===gn.PropertyType.Type?e.add(s):e.add(Je.SignatureDefinitionBaseType.String)}),Array.from(e)}getValueTypes(){let e=new Set;return this._values.forEach(r=>{r.types.forEach(n=>{e.add(n)})}),Array.from(e)}getAvailableIdentifier(){let e=new Map;return this._types.forEach(r=>{this._container.getAvailableIdentifier(r).forEach((i,s)=>{e.set(s,i)})}),(0,FD.injectIdentifers)(e,this),e}toJSON(e=new WeakMap){if(e.has(this))return e.get(this);let r={};return e.set(this,r),r.kind=this.kind,r.signatureDefinitions=this._signatureDefinitions.toJSON(),r.types=Array.from(this._types),r.values=Array.from(this._values).reduce((n,[i,s])=>(n[i]=s==null?void 0:s.toJSON(e),n),{}),r}toMeta(){let e=[];return this.types.forEach(r=>{let n={type:r};switch(r){case Je.SignatureDefinitionBaseType.Map:{let i=this.getPropertyTypes();i.length===1?n.keyType=i[0]:n.keyType=Je.SignatureDefinitionBaseType.Any;let s=this.getValueTypes();s.length===1?n.valueType=s[0]:n.valueType=Je.SignatureDefinitionBaseType.Any;break}case Je.SignatureDefinitionBaseType.List:{let i=t.handlers.type.resolveProperty(this,this._container,Je.SignatureDefinitionBaseType.Number);i!=null&&i.types.size===1?n.valueType=i.types.values().next().value:n.valueType=Je.SignatureDefinitionBaseType.Any;break}}e.push(n)}),e}copy(e={}){var s,o,l,u,a,c,p,d,h,g;let r=new t({source:(s=e.source)!=null?s:this._source,kind:(o=e.kind)!=null?o:this._kind,line:(l=e.line)!=null?l:this._line,isFromSignature:(u=e.isFromSignature)!=null?u:this._isFromSignature,isAPI:(a=e.isAPI)!=null?a:this._isAPI,container:(c=e.container)!=null?c:this._container,label:(p=e.label)!=null?p:this._label,context:(d=e.context)!=null?d:this._context,signatureDefinitions:new L0.ObjectSet(Array.from(this._signatureDefinitions,f=>f.copy())),types:new Set(this._types),returnEntity:this._returnEntity,values:(h=e.values)!=null?h:this.values,definitions:(g=e.definitions)!=null?g:this._definitions});if(!e.deepCopy)return r;let n=new WeakMap;function i(f,m){let b=n.get(m);if(b)return b;let v=m.copy({container:e.container,line:e.line,context:f,values:new Map});return n.set(m,v),m.values.forEach((_,w)=>{v._values.set(w,i(v,_))}),v._definitions=[...m.definitions],v}return r._values=new Map,this._values.forEach((f,m)=>{r._values.set(m,i(r,f))}),r._definitions=[...this._definitions],r}};lc.Entity=or;or.handlers={identifier:{hasProperty(t,e,r){return!!(0,ac.lookupProperty)(gn.PropertyType.Identifier,t,r)||!t.isAPI()&&!!e.getDefinition(Array.from(t.types),r,!0)},resolveProperty(t,e,r,n=!1){var s;let i=(s=(0,ac.lookupProperty)(gn.PropertyType.Identifier,t,r))!=null?s:null;return i==null?t.isAPI()?null:e.getDefinition(Array.from(t.types),r,n):or.resolveEntity(e,i,n)},setProperty(t,e,r,n,i=!1){if(!(0,Go.isEligibleForProperties)(t))return!1;let s=`${gn.PropertyType.Identifier}:${r}`,o=t.values.get(s);return o?o.extend(n,i):t.values.set(s,n.copy({container:e,label:r,context:t,definitions:i?n.definitions:[]})),!0}},entity:{hasProperty(t,e,r){if(!(0,Go.isEligibleForProperties)(t))return!1;for(let n of r.types)if(t.values.has(`${gn.PropertyType.Type}:${n}`))return!0;return!1},resolveProperty(t,e,r,n=!1){if(!(0,Go.isEligibleForProperties)(t))return new or({source:t.source,kind:li.CompletionItemKind.Variable,container:e,label:r.label,context:t}).addType(Je.SignatureDefinitionBaseType.Any);let i=new or({source:r.source,kind:li.CompletionItemKind.Variable,container:e,label:r.label,context:t});return r.types.has(Je.SignatureDefinitionBaseType.Any)?t.values.forEach(s=>{i.extend(s)}):r.types.forEach(s=>{let o=t.values.get(`${gn.PropertyType.Type}:${s}`);o&&i.extend(o)}),i.types.size===0&&i.addType(Je.SignatureDefinitionBaseType.Any),or.resolveEntity(e,i,n)},setProperty(t,e,r,n,i=!1){return(0,Go.isEligibleForProperties)(t)?(r.types.forEach(s=>{let o=`${gn.PropertyType.Type}:${s}`,l=t.values.get(o);l?l.extend(n,i):t.values.set(o,n.copy({container:e,label:s,context:t,definitions:i?n.definitions:[]}))}),!0):!1}},type:{hasProperty(t,e,r){return!!(0,ac.lookupProperty)(gn.PropertyType.Type,t,r)},resolveProperty(t,e,r,n=!1){var s;let i=(s=(0,ac.lookupProperty)(gn.PropertyType.Type,t,r))!=null?s:null;return i==null?null:or.resolveEntity(e,i,n)},setProperty(t,e,r,n,i=!1){if(!(0,Go.isEligibleForProperties)(t))return!1;let s=`${gn.PropertyType.Type}:${r}`,o=t.values.get(s);return o?o.extend(n,i):t.values.set(s,n.copy({container:e,label:r,context:t,definitions:i?n.definitions:[]})),!0}}}});var vy=T(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.Scope=void 0;var uc=Ht(),ui=oi(),$D=ai(),yy=Ko(),cc=bs(),by=class t{get source(){return this._source}get definitions(){return[]}get signatureDefinitions(){return null}get kind(){return ui.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(uc.SignatureDefinitionBaseType.Map)}get values(){return this._locals.values}get globals(){return this._globals}get outer(){var e,r;return(r=(e=this._parent)==null?void 0:e.locals)!=null?r:null}get locals(){return this._locals}constructor(e){var r,n;this._source=e.source,this._container=e.container,this._parent=(r=e.parent)!=null?r:null,this._globals=e.globals,this._locals=(n=e.locals)!=null?n:new cc.Entity({source:this._source,kind:ui.CompletionItemKind.Constant,container:this._container,label:"locals"}).addType(uc.SignatureDefinitionBaseType.Map)}getIsa(){return null}hasIsa(){return!1}setCustomType(e,r){this._container.setCustomType(e,r)}addSignatureType(){throw new Error("Cannot add signature type to scope!")}hasProperty(e){return this._locals.hasProperty(e)}resolveProperty(e,r){return this._locals.resolveProperty(e,r)}resolveNamespace(e,r=!1){var i,s,o;if(typeof e!="string")throw new Error("Invalid property type for scope!");if(e==="locals")return this._locals;if(e==="outer")return(s=(i=this._parent)==null?void 0:i.locals)!=null?s:this._globals;if(e==="globals")return this._globals;let n=`${$D.PropertyType.Identifier}:${e}`;if(this._locals.values.has(n)){let l=this._locals.values.get(n);return cc.Entity.resolveEntity(this._container,l,r)}else if((o=this._parent)!=null&&o.locals.values.has(n)){let l=this._parent.locals.values.get(n);return cc.Entity.resolveEntity(this._container,l,r)}else if(this._globals.values.has(n)){let l=this._globals.values.get(n);return cc.Entity.resolveEntity(this._container,l,r)}return this._container.getGeneralDefinition(e,r)}setProperty(e,r){return this._locals.setProperty(e,r)}extend(e){return this._locals.extend(e),this}addType(){throw new Error("Scope cannot get type assigned!")}addTypes(){throw new Error("Scope cannot get types assigned!")}addTypeWithMeta(){throw new Error("Scope cannot get meta type assigned!")}addTypesWithMeta(){throw new Error("Scope cannot get meta types 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}getPropertyTypes(){return this._locals.getPropertyTypes()}getValueTypes(){return this._locals.getValueTypes()}getAvailableIdentifier(){let e=new Map([["globals",{kind:ui.CompletionItemKind.Constant,line:-1}],["locals",{kind:ui.CompletionItemKind.Constant,line:-1}],["outer",{kind:ui.CompletionItemKind.Constant,line:-1}],...this._container.getAvailableIdentifier(uc.SignatureDefinitionBaseType.General)]);return this._locals!==this._globals&&(0,yy.injectIdentifers)(e,this._globals),this._parent&&(0,yy.injectIdentifers)(e,this._parent.locals),(0,yy.injectIdentifers)(e,this._locals),this.isSelfAvailable()&&e.set("self",{kind:ui.CompletionItemKind.Constant,line:-1}),this.isSuperAvailable()&&e.set("super",{kind:ui.CompletionItemKind.Constant,line:-1}),e}isSelfAvailable(){return this._locals.context!=null&&this._locals.context.types.has(uc.SignatureDefinitionBaseType.Map)}isSuperAvailable(){return this.isSelfAvailable()&&this._locals.context.hasProperty("__isa")}toJSON(){return this._locals.toJSON()}toMeta(){return this._locals.toMeta()}copy(e={}){var r;return new t({source:this._source,container:(r=e.container)!=null?r:this._container,parent:this._parent.copy({container:e.container,deepCopy:!0}),globals:this._globals.copy({container:e.container,deepCopy:!0}),locals:this._locals.copy(sn(tt({},e),{deepCopy:!0}))})}};pc.Scope=by});var vs=T(Yo=>{"use strict";Object.defineProperty(Yo,"__esModule",{value:!0});Yo.GreybelKeyword=void 0;var BD;(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"})(BD=Yo.GreybelKeyword||(Yo.GreybelKeyword={}))});var Sy=T(wy=>{"use strict";Object.defineProperty(wy,"__esModule",{value:!0});var ci=pe(),UD=vs(),_y=class extends ci.LexerValidator{constructor(){super(...arguments),this.isKeyword=Set.prototype.has.bind(new Set([...Object.values(ci.Keyword),...Object.values(UD.GreybelKeyword)]))}isIdentifierStart(e){return super.isIdentifierStart(e)||e===ci.CharacterCode.HASH}isMultilineComment(e,r){return ci.CharacterCode.SLASH===e&&ci.CharacterCode.ASTERISK===r}isMultilineCommentEnd(e,r){return ci.CharacterCode.ASTERISK===e&&ci.CharacterCode.SLASH===r}isComment(e,r){return super.isComment(e,r)||this.isMultilineComment(e,r)}};wy.default=_y});var xy=T(Jo=>{"use strict";Object.defineProperty(Jo,"__esModule",{value:!0});Jo.CharacterCode=void 0;var WD;(function(t){t[t.VERTICAL_LINE=124]="VERTICAL_LINE",t[t.AMPERSAND=38]="AMPERSAND"})(WD=Jo.CharacterCode||(Jo.CharacterCode={}))});var _s=T(Qo=>{"use strict";Object.defineProperty(Qo,"__esModule",{value:!0});Qo.Operator=void 0;var VD;(function(t){t.BitwiseAnd="&",t.BitwiseOr="|",t.LeftShift="<<",t.RightShift=">>",t.UnsignedRightShift=">>>"})(VD=Qo.Operator||(Qo.Operator={}))});var Ty=T(Zo=>{"use strict";var HD=Zo&&Zo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Zo,"__esModule",{value:!0});var En=pe(),zD=HD(Sy()),j0=xy(),M0=vs(),ky=_s();function q0(t){let e=this.content[this.index];return this.index+=e.length,this.createPunctuator(e,t)}var dc=class t extends En.Lexer{constructor(e,r={}){r.validator=r.validator||new zD.default,super(e,r)}scan(e,r){let n=t.greybelScanHandlers[e];return n?n.call(this,r)||super.scan(e,r):super.scan(e,r)}scanMultilineComment(e){let r=this,n=r.line,i=r.lineStart,s=r.index,o=r.offset,l=r.offset,u=!1;for(;r.index<r.length;){let p=r.codeAt();if(r.validator.isEndOfLine(p))r.validator.isWinNewline(p,r.codeAt(1))&&r.index++,r.line++,l=r.index+1;else if(r.validator.isMultilineCommentEnd(r.codeAt(),r.codeAt(1))){u=!0;break}r.index++}if(!u)return r.raise("Unexpected end of file in multiline comment.",new En.ASTRange(new En.ASTPosition(n,s-o+1),new En.ASTPosition(r.line,r.index-l+3)));let a=r.content.slice(s+2,r.index);r.index+=2;let c=new En.Token({type:En.TokenType.Comment,value:a,line:n,lineStart:i,range:[r.tokenStart,r.index],offsetRange:[o,l],afterSpace:e,lastLine:r.line,lastLineStart:r.lineStart});return r.offset=l,r.snapshot.enqueue(c),c}scanComment(e){let r=this,n=r.validator;return r.content.startsWith(M0.GreybelKeyword.ImportWithComment,r.index)||r.content.startsWith(M0.GreybelKeyword.IncludeWithComment,r.index)?(r.index++,r.scanIdentifierOrKeyword(e)):n.isMultilineComment(r.codeAt(),r.codeAt(1))?r.scanMultilineComment(e):super.scanComment(e)}};Zo.default=dc;dc.greybelScanHandlers={[En.CharacterCode.ARROW_LEFT]:function(e){if(En.CharacterCode.ARROW_LEFT===this.codeAt(1))return this.scanPunctuator(ky.Operator.LeftShift,e)},[En.CharacterCode.ARROW_RIGHT]:function(e){if(En.CharacterCode.ARROW_RIGHT===this.codeAt(1))return En.CharacterCode.ARROW_RIGHT===this.codeAt(2)?this.scanPunctuator(ky.Operator.UnsignedRightShift,e):this.scanPunctuator(ky.Operator.RightShift,e)},[j0.CharacterCode.AMPERSAND]:q0,[j0.CharacterCode.VERTICAL_LINE]:q0}});var hc=T(Xo=>{"use strict";Object.defineProperty(Xo,"__esModule",{value:!0});Xo.ASTType=void 0;var KD;(function(t){t.FeatureImportExpression="FeatureImportExpression",t.FeatureIncludeExpression="FeatureIncludeExpression",t.FeatureEnvarExpression="FeatureEnvarExpression",t.FeatureInjectExpression="FeatureInjectExpression",t.FeatureDebuggerExpression="FeatureDebuggerExpression",t.FeatureLineExpression="FeatureLineExpression",t.FeatureFileExpression="FeatureFileExpression"})(KD=Xo.ASTType||(Xo.ASTType={}))});var Ey=T(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.ASTChunkGreybel=void 0;var GD=pe(),Iy=class t extends GD.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})}};fc.ASTChunkGreybel=Iy});var Dy=T(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.ASTFeatureFileExpression=yn.ASTFeatureInjectExpression=yn.ASTFeatureEnvarExpression=yn.ASTFeatureIncludeExpression=yn.ASTFeatureImportExpression=void 0;var ea=pe(),ta=hc(),Ry=class t extends ea.ASTBase{constructor(e){super(ta.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})}};yn.ASTFeatureImportExpression=Ry;var Py=class t extends ea.ASTBase{constructor(e){super(ta.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})}};yn.ASTFeatureIncludeExpression=Py;var Cy=class t extends ea.ASTBase{constructor(e){super(ta.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})}};yn.ASTFeatureEnvarExpression=Cy;var Ay=class t extends ea.ASTBase{constructor(e){super(ta.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})}};yn.ASTFeatureInjectExpression=Ay;var Oy=class t extends ea.ASTBase{constructor(e){super(ta.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})}};yn.ASTFeatureFileExpression=Oy});var My=T(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.ASTFeatureInjectExpression=vt.ASTFeatureIncludeExpression=vt.ASTFeatureImportExpression=vt.ASTFeatureFileExpression=vt.ASTFeatureEnvarExpression=vt.ASTChunkGreybel=vt.ASTType=vt.ASTProvider=void 0;var Ly=pe(),F0=hc(),YD=Ey(),na=Dy(),jy=class extends Ly.ASTProvider{featureImportExpression(e){return new na.ASTFeatureImportExpression(e)}featureIncludeExpression(e){return new na.ASTFeatureIncludeExpression(e)}featureEnvarExpression(e){return new na.ASTFeatureEnvarExpression(e)}featureInjectExpression(e){return new na.ASTFeatureInjectExpression(e)}featureDebuggerExpression(e){return new Ly.ASTBase(F0.ASTType.FeatureDebuggerExpression,e)}featureLineExpression(e){return new Ly.ASTBase(F0.ASTType.FeatureLineExpression,e)}featureFileExpression(e){return new na.ASTFeatureFileExpression(e)}chunk(e){return new YD.ASTChunkGreybel(e)}};vt.ASTProvider=jy;var JD=hc();Object.defineProperty(vt,"ASTType",{enumerable:!0,get:function(){return JD.ASTType}});var QD=Ey();Object.defineProperty(vt,"ASTChunkGreybel",{enumerable:!0,get:function(){return QD.ASTChunkGreybel}});var ra=Dy();Object.defineProperty(vt,"ASTFeatureEnvarExpression",{enumerable:!0,get:function(){return ra.ASTFeatureEnvarExpression}});Object.defineProperty(vt,"ASTFeatureFileExpression",{enumerable:!0,get:function(){return ra.ASTFeatureFileExpression}});Object.defineProperty(vt,"ASTFeatureImportExpression",{enumerable:!0,get:function(){return ra.ASTFeatureImportExpression}});Object.defineProperty(vt,"ASTFeatureIncludeExpression",{enumerable:!0,get:function(){return ra.ASTFeatureIncludeExpression}});Object.defineProperty(vt,"ASTFeatureInjectExpression",{enumerable:!0,get:function(){return ra.ASTFeatureInjectExpression}})});var qy=T(Qe=>{"use strict";Object.defineProperty(Qe,"__esModule",{value:!0});Qe.SelectorGroups=Qe.SelectorGroupType=Qe.Selectors=Qe.SelectorTypes=void 0;var xe=pe(),mc=vs(),ia=_s(),ZD;(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"})(ZD=Qe.SelectorTypes||(Qe.SelectorTypes={}));Qe.Selectors=Object.assign(Object.assign({},xe.Selectors),{From:(0,xe.createSelector)({type:xe.TokenType.Identifier,value:"from"}),Envar:(0,xe.createSelector)({type:xe.TokenType.Keyword,value:mc.GreybelKeyword.Envar}),Inject:(0,xe.createSelector)({type:xe.TokenType.Keyword,value:mc.GreybelKeyword.Inject}),Line:(0,xe.createSelector)({type:xe.TokenType.Keyword,value:mc.GreybelKeyword.Line}),File:(0,xe.createSelector)({type:xe.TokenType.Keyword,value:mc.GreybelKeyword.File}),LeftShift:(0,xe.createSelector)({type:xe.TokenType.Punctuator,value:ia.Operator.LeftShift}),RightShift:(0,xe.createSelector)({type:xe.TokenType.Punctuator,value:ia.Operator.RightShift}),UnsignedRightShift:(0,xe.createSelector)({type:xe.TokenType.Punctuator,value:ia.Operator.UnsignedRightShift}),BitwiseOr:(0,xe.createSelector)({type:xe.TokenType.Punctuator,value:ia.Operator.BitwiseOr}),BitwiseAnd:(0,xe.createSelector)({type:xe.TokenType.Punctuator,value:ia.Operator.BitwiseAnd}),Escape:(0,xe.createSelector)({type:xe.TokenType.Punctuator,value:xe.Operator.Escape})});var ar;(function(t){t.MapSeparator="MapSeparator",t.ListSeparator="ListSeparator",t.PathSegmentEnd="PathSegmentEnd",t.BitwiseOperators="BitwiseOperators"})(ar=Qe.SelectorGroupType||(Qe.SelectorGroupType={}));Qe.SelectorGroups=Object.assign(Object.assign({},xe.SelectorGroups),{[ar.MapSeparator]:(0,xe.createSelectorGroup)(ar.MapSeparator,[Qe.Selectors.MapSeperator,Qe.Selectors.CRBracket]),[ar.ListSeparator]:(0,xe.createSelectorGroup)(ar.ListSeparator,[Qe.Selectors.MapSeperator,Qe.Selectors.SRBracket]),[ar.PathSegmentEnd]:(0,xe.createSelectorGroup)(ar.PathSegmentEnd,[Qe.Selectors.EndOfLine,Qe.Selectors.Comment,Qe.Selectors.EndOfFile]),[ar.BitwiseOperators]:(0,xe.createSelectorGroup)(ar.BitwiseOperators,[Qe.Selectors.LeftShift,Qe.Selectors.RightShift,Qe.Selectors.UnsignedRightShift])})});var B0=T(sa=>{"use strict";var XD=sa&&sa.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(sa,"__esModule",{value:!0});var en=pe(),eL=rs(),N0=as(),tL=XD(Ty()),nL=My(),pi=vs(),$0=_s(),_e=qy(),Fy=class extends en.Parser{constructor(e,r={}){var n;r.lexer=r.lexer||new tL.default(e,{unsafe:r.unsafe,tabWidth:r.tabWidth}),r.astProvider=r.astProvider||new nL.ASTProvider,super(e,r);let i=this;i.filename=(n=r.filename)!==null&&n!==void 0?n:"unknown",i.imports=[],i.includes=[],i.injects=[]}skipNewlines(){var e;let r=this,n=0;for(;;){if(_e.Selectors.Comment(r.token)){let i=((e=r.previousToken)===null||e===void 0?void 0:e.line)!==r.token.line,s=r.astProvider.comment({value:r.token.value,isMultiline:r.token.value.indexOf(`
104
104
  `)!==-1,start:r.token.start,end:r.token.end,range:r.token.range,scope:r.currentScope,isStatement:i});r.lineRegistry.addItemToLines(s)}else if(_e.Selectors.EndOfLine(r.token))n++;else break;r.next()}return n}parseMap(e=!1,r=!1){let n=this;if(!_e.Selectors.CLBracket(n.token))return n.parseList(e,r);let i=n.currentScope,s=n.token,o=[],l=n.astProvider.mapConstructorExpression({fields:o,start:s.start,end:null,range:[s.range[0],null],scope:i});if(n.next(),_e.Selectors.CRBracket(n.token))n.next();else for(;!_e.Selectors.EndOfFile(n.token);){if(n.skipNewlines(),_e.Selectors.CRBracket(n.token)){n.next();break}let u=n.astProvider.mapKeyString({key:null,value:null,start:n.token.start,end:null,range:[n.token.range[0],null],scope:i});u.key=n.parseExpr(null),n.requireToken(_e.Selectors.MapKeyValueSeperator),n.skipNewlines(),u.value=n.parseExpr(u),u.end=n.previousToken.end,u.range[1]=n.previousToken.range[1],o.push(u),n.skipNewlines();let a=n.requireTokenOfAny(_e.SelectorGroups.MapSeparator,s.start);if(_e.Selectors.CRBracket(a))break}return l.end=n.token.start,l.range[1]=n.token.range[1],l}parseList(e=!1,r=!1){let n=this;if(!_e.Selectors.SLBracket(n.token))return n.parseQuantity(e,r);let i=n.currentScope,s=n.token,o=[],l=n.astProvider.listConstructorExpression({fields:o,start:s.start,end:null,range:[s.range[0],null],scope:i});if(n.next(),_e.Selectors.SRBracket(n.token))n.next();else for(;!_e.Selectors.EndOfFile(n.token);){if(n.skipNewlines(),_e.Selectors.SRBracket(n.token)){n.next();break}let u=n.astProvider.listValue({value:null,start:n.token.start,end:null,range:[n.token.range[0],null],scope:i});u.value=n.parseExpr(u),u.end=n.previousToken.end,u.range[1]=n.previousToken.range[1],o.push(u),n.skipNewlines();let a=n.requireTokenOfAny(_e.SelectorGroups.ListSeparator,s.start);if(_e.Selectors.SRBracket(a))break}return l.end=n.token.start,l.range[1]=n.token.range[1],l}parsePathSegment(){let e=this;if(this.token.type===en.ASTType.StringLiteral){let n=this.token.value;return this.next(),n}let r="";for(;!_e.SelectorGroups.PathSegmentEnd(e.token);)r=r+e.token.value,e.next();return e.consumeMany(_e.SelectorGroups.PathSegmentEnd),r}parseFeatureIncludeStatement(){let e=this,r=e.previousToken,n=e.parsePathSegment(),i=e.astProvider.featureIncludeExpression({path:n,start:r.start,end:e.previousToken.end,range:[r.range[0],e.previousToken.range[1]],scope:e.currentScope});return e.includes.push(i),i}parseFeatureImportStatement(){var e;let r=this,n=r.previousToken,i=r.parseIdentifier(en.ASTIdentifierKind.Variable);if(!r.consume(_e.Selectors.From))return r.raise("expected from keyword",new N0.Range(n.start,new eL.Position((e=r.token.lastLine)!==null&&e!==void 0?e:r.token.line,r.token.end.character))),r.parseInvalidCode();let s=r.parsePathSegment(),o=r.astProvider.featureImportExpression({name:i,path:s,start:n.start,end:r.previousToken.end,range:[n.range[0],r.previousToken.range[1]],scope:r.currentScope});return r.imports.push(o),r.currentScope.definitions.push(o),o}parseFeatureEnvarExpression(){let e=this,r=e.previousToken,n=e.token.value;return e.next(),e.astProvider.featureEnvarExpression({name:n,start:r.start,end:e.previousToken.end,range:[r.range[0],e.previousToken.range[1]],scope:e.currentScope})}parseFeatureInjectExpression(){let e=this,r=e.previousToken,n=this.parsePathSegment();e.next();let i=e.astProvider.featureInjectExpression({path:n,start:r.start,end:e.previousToken.end,range:[r.range[0],e.previousToken.range[1]],scope:e.currentScope});return e.injects.push(i),i}parseIsa(e=!1,r=!1){let n=this,i=n.token,s=n.parseBitwiseOr(e,r);if(_e.Selectors.Isa(n.token)){n.next(),n.skipNewlines();let o=n.parseBitwiseOr();return n.astProvider.isaExpression({operator:en.Operator.Isa,left:s,right:o,start:i.start,end:n.previousToken.end,range:[i.range[0],n.previousToken.range[1]],scope:n.currentScope})}return s}parseBitwiseOr(e=!1,r=!1){let n=this,i=n.token,o=n.parseBitwiseAnd(e,r);for(;_e.Selectors.BitwiseOr(n.token);){n.next();let l=n.parseBitwiseAnd();o=n.astProvider.binaryExpression({operator:$0.Operator.BitwiseOr,left:o,right:l,start:i.start,end:n.previousToken.end,range:[i.range[0],n.previousToken.range[1]],scope:n.currentScope})}return o}parseBitwiseAnd(e=!1,r=!1){let n=this,i=n.token,o=n.parseComparisons(e,r);for(;_e.Selectors.BitwiseAnd(n.token);){n.next();let l=n.parseComparisons();o=n.astProvider.binaryExpression({operator:$0.Operator.BitwiseAnd,left:o,right:l,start:i.start,end:n.previousToken.end,range:[i.range[0],n.previousToken.range[1]],scope:n.currentScope})}return o}parseAddSub(e=!1,r=!1){let n=this,i=n.token,o=n.parseBitwise(e,r);for(;_e.Selectors.Plus(n.token)||_e.Selectors.Minus(n.token)&&(!r||!n.token.afterSpace||n.lexer.isAtWhitespace());){let l=n.token;n.next(),n.skipNewlines();let u=n.parseBitwise();o=n.astProvider.binaryExpression({operator:l.value,left:o,right:u,start:i.start,end:n.previousToken.end,range:[i.range[0],n.previousToken.range[1]],scope:n.currentScope})}return o}parseBitwise(e=!1,r=!1){let n=this,i=n.token,o=n.parseMultDiv(e,r);for(;_e.SelectorGroups.BitwiseOperators(n.token);){let l=n.token;n.next(),n.skipNewlines();let u=n.parseMultDiv();o=n.astProvider.binaryExpression({operator:l.value,left:o,right:u,start:i.start,end:n.previousToken.end,range:[i.range[0],n.previousToken.range[1]],scope:n.currentScope})}return o}parseAtom(){let e=this;return _e.Selectors.Envar(e.token)?(e.next(),e.parseFeatureEnvarExpression()):_e.Selectors.Inject(e.token)?(e.next(),e.parseFeatureInjectExpression()):_e.Selectors.Line(e.token)?(e.next(),e.astProvider.featureLineExpression({start:new en.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new en.ASTPosition(e.previousToken.line,e.previousToken.end.character),range:e.previousToken.range,scope:e.currentScope})):_e.Selectors.File(e.token)?(e.next(),e.astProvider.featureFileExpression({filename:e.filename,start:new en.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new en.ASTPosition(e.previousToken.line,e.previousToken.end.character),range:e.previousToken.range,scope:e.currentScope})):super.parseAtom()}parseStatement(){let e=this,r=e.backpatches.peek();if(e.isType(en.TokenType.Keyword))switch(e.token.value){case pi.GreybelKeyword.Include:case pi.GreybelKeyword.IncludeWithComment:{e.next();let i=e.parseFeatureIncludeStatement();e.lineRegistry.addItemToLines(i),r.body.push(i);return}case pi.GreybelKeyword.Import:case pi.GreybelKeyword.ImportWithComment:{e.next();let i=e.parseFeatureImportStatement();e.lineRegistry.addItemToLines(i),r.body.push(i);return}case pi.GreybelKeyword.Envar:{e.next();let i=e.parseFeatureEnvarExpression();e.lineRegistry.addItemToLines(i),r.body.push(i);return}case pi.GreybelKeyword.Inject:{e.next();let i=e.parseFeatureInjectExpression();e.lineRegistry.addItemToLines(i),r.body.push(i);return}case pi.GreybelKeyword.Debugger:{e.next();let i=e.astProvider.featureDebuggerExpression({start:new en.ASTPosition(e.previousToken.line,e.previousToken.start.character),end:new en.ASTPosition(e.previousToken.line,e.previousToken.end.character),range:e.previousToken.range,scope:e.currentScope});e.lineRegistry.addItemToLines(i),r.body.push(i);return}default:break}super.parseStatement()}parseChunk(){let e=this;e.next();let r=e.token,n=e.astProvider.chunk({start:r.start,end:null,range:[r.range[0],null]}),i=new en.PendingChunk(n,e.lineRegistry);for(e.backpatches.setDefault(i),e.pushScope(n);!_e.Selectors.EndOfFile(e.token)&&(e.skipNewlines(),!_e.Selectors.EndOfFile(e.token));)e.lexer.recordSnapshot(),e.statementErrors=[],e.parseStatement(),e.statementErrors.length>0&&e.tryToRecover();let s=e.backpatches.pop();for(;!(0,en.isPendingChunk)(s);){let o=e.raise(`found open block ${s.block.type}`,new N0.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),n.literals=e.literals,n.scopes=e.scopes,n.lines=e.lineRegistry.lines,n.imports=e.imports,n.includes=e.includes,n.injects=e.injects,n}};sa.default=Fy});var Mt=T(ft=>{"use strict";var rL=ft&&ft.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),oa=ft&&ft.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&rL(e,t,r)},Ny=ft&&ft.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ft,"__esModule",{value:!0});ft.Parser=ft.LexerValidator=ft.Lexer=void 0;var iL=Ty();Object.defineProperty(ft,"Lexer",{enumerable:!0,get:function(){return Ny(iL).default}});var sL=Sy();Object.defineProperty(ft,"LexerValidator",{enumerable:!0,get:function(){return Ny(sL).default}});var oL=B0();Object.defineProperty(ft,"Parser",{enumerable:!0,get:function(){return Ny(oL).default}});oa(My(),ft);oa(xy(),ft);oa(vs(),ft);oa(_s(),ft);oa(qy(),ft)});var $y=T(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});gc.merge=void 0;function aL(t,e,r=1e4){if(e.length<=r){Array.prototype.push.apply(t,e);return}for(let n=0;n<e.length;n+=r)Array.prototype.push.apply(t,e.slice(n,n+r))}gc.merge=aL});var U0=T(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.parseMapDescription=void 0;var lL=Hg(),uL=Ht();function cL(t){return uL.SignatureDefinitionTypeMeta.fromString(t)}function pL(t){return{path:t.name,type:t.type.split("|").map(cL)}}function dL(t){let e=t.tags.find(n=>n.tag==="type");if(!e)return null;let r=t.tags.filter(n=>n.tag==="property");return{type:e.name,properties:r.map(pL)}}function hL(t){let e=(0,lL.parse)(`/**
105
105
  ${t}
106
- */`),[r]=e;return r.tags.length>0?dL(r):null}yc.parseMapDescription=hL});var Uy=T(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});ws.Aggregator=ws.ASTChainIterator=void 0;var aa=Mt(),fe=Ht(),me=pe(),fL=cy(),he=oi(),W0=ai(),di=dy(),V0=Rg(),H0=sy(),mL=iy(),K0=jo(),z0=$y(),gL=gy(),yL=U0(),bL=bs(),bc=class{constructor(e,r,n=!1,i=!1){this.aggregator=e,this.chain=r,this.noInvoke=n,this.assume=i,this.index=0,this.endIndex=this.chain.length-1,this.current=null}defineAssumedProperty(e,r){let n=this.aggregator.factory(this.index===0?he.CompletionItemKind.Variable:he.CompletionItemKind.Property);return typeof r=="string"&&n.setLabel(r),this.assume?(n.addType(fe.SignatureDefinitionBaseType.Map),e.setProperty(r,n),e.resolveProperty(r,!0)):(n.addType(fe.SignatureDefinitionBaseType.Any),n)}getInitial(){var o,l,u,a,c;let e=null,r=this.aggregator.scope,n=this.aggregator.document,i=this.chain[0],s=((o=i.unary)==null?void 0:o.operator)==="@"&&!i.isInCallExpression||this.noInvoke&&this.index===this.endIndex;if((0,di.isResolveChainItemWithIdentifier)(i))if(i.getter.name==="globals")e=r.globals;else if(i.getter.name==="outer")e=r.outer;else if(i.getter.name==="locals")e=r.locals;else if(i.getter.name==="super"){let p=(u=(l=n.getScopeContext(i.ref.scope))==null?void 0:l.scope.context)==null?void 0:u.getIsa();p==null?e=this.aggregator.factory(he.CompletionItemKind.Constant).addType("null").setLabel("super"):e=p.copy({kind:he.CompletionItemKind.Constant,label:"super",values:p.values})}else if(i.getter.name==="self"){let p=(a=n.getScopeContext(i.ref.scope))==null?void 0:a.scope.context;p==null?e=this.aggregator.factory(he.CompletionItemKind.Constant).addType("null").setLabel("self"):e=p.copy({kind:he.CompletionItemKind.Constant,label:"self",values:p.values})}else{let p=r.resolveNamespace(i.getter.name,s);p==null&&(p=this.defineAssumedProperty(r.globals,i.getter.name)),e=p}else if((0,di.isResolveChainItemWithValue)(i))e=this.aggregator.resolveTypeWithDefault(i.value,s);else return null;if(((c=i.unary)==null?void 0:c.operator)===me.Keyword.New&&e!==null){let p=this.aggregator.factory(he.CompletionItemKind.Variable).addType(fe.SignatureDefinitionBaseType.Map).setLabel(e.label);p.setProperty("__isa",e),this.aggregator.createCustomTypeFromMap(i.unary,p),e=p}return e}getNext(){var n,i,s;let e=this.current,r=this.chain[this.index];if((0,di.isResolveChainItemWithMember)(r)){let o=((n=r.unary)==null?void 0:n.operator)==="@"&&!r.isInCallExpression||this.noInvoke&&this.index===this.endIndex,l=e.resolveProperty(r.getter.name,o);l==null&&(l=this.defineAssumedProperty(e,r.getter.name)),e=l}else if((0,di.isResolveChainItemWithIndex)(r)){let o=((i=r.unary)==null?void 0:i.operator)==="@"&&!r.isInCallExpression||this.noInvoke&&this.index===this.endIndex||!r.ref.isStatementStart;if((0,K0.isValidIdentifierLiteral)(r.getter)){let l=r.getter.value.toString(),u=e.resolveProperty(l,o);u==null&&(u=this.defineAssumedProperty(e,l)),e=u}else{let l=this.aggregator.resolveTypeWithDefault(r.getter),u=e.resolveProperty(l,r.isInCallExpression);u==null&&(u=this.defineAssumedProperty(e,l)),e=u}}else if(r.ref.type===me.ASTType.SliceExpression)e=e.copy();else return null;if(((s=r.unary)==null?void 0:s.operator)===me.Keyword.New&&this.current!==null){let o=this.aggregator.factory(he.CompletionItemKind.Property).addType(fe.SignatureDefinitionBaseType.Map).setLabel(e.label);o.setProperty("__isa",e),this.aggregator.createCustomTypeFromMap(r.unary,o),e=o}return e}next(){if(this.index>=this.chain.length)return{value:null,done:!0};let e=this.index===0?this.getInitial():this.getNext();return e==null?{value:null,done:!0}:(this.index++,this.current=e,{value:e,done:!1})}};ws.ASTChainIterator=bc;var By=class{get definitions(){return this._definitions}get parent(){return this._parent}get scope(){return this._scope}get document(){return this._document}constructor(e){var r;this._root=e.root,this._scope=e.scope,this._document=e.document,this._parent=(r=e.parent)!=null?r:null,this._definitions=new Map,this._lastModifiedProperty=null}factory(e){return new bL.Entity({source:this._document.source,kind:e,container:this._document.container})}createMapDescription(e){let r=this._document.getLastASTItemOfLine(e.start.line-1),n=this._document.findASTItemInLine(e.start.line,me.ASTType.Comment);if(r instanceof me.ASTComment){let i=new Set,s=[],o=e.start.line-1;for(;o>=0;){let l=this._document.getLastASTItemOfLine(o--);if(!i.has(l))if(l instanceof me.ASTComment)i.add(l),s.unshift(l.value);else break}return s.join(`
106
+ */`),[r]=e;return r.tags.length>0?dL(r):null}yc.parseMapDescription=hL});var Uy=T(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});ws.Aggregator=ws.ASTChainIterator=void 0;var aa=Mt(),fe=Ht(),me=pe(),fL=cy(),he=oi(),W0=ai(),di=dy(),V0=Rg(),H0=sy(),mL=iy(),K0=jo(),z0=$y(),gL=gy(),yL=U0(),bL=bs(),bc=class{constructor(e,r,n=!1,i=!1){this.aggregator=e,this.chain=r,this.noInvoke=n,this.assume=i,this.index=0,this.endIndex=this.chain.length-1,this.current=null}defineAssumedProperty(e,r){let n=this.aggregator.factory(this.index===0?he.CompletionItemKind.Variable:he.CompletionItemKind.Property);return typeof r=="string"&&n.setLabel(r),this.assume?(n.addType(fe.SignatureDefinitionBaseType.Map),e.setProperty(r,n),e.resolveProperty(r,!0)):(n.addType(fe.SignatureDefinitionBaseType.Any),n)}getInitial(){var o,l,u,a,c;let e=null,r=this.aggregator.scope,n=this.aggregator.document,i=this.chain[0],s=((o=i.unary)==null?void 0:o.operator)==="@"&&!i.isInCallExpression||this.noInvoke&&this.index===this.endIndex;if((0,di.isResolveChainItemWithIdentifier)(i))if(i.getter.name==="globals")e=r.globals;else if(i.getter.name==="outer")e=r.outer;else if(i.getter.name==="locals")e=r.locals;else if(i.getter.name==="super"){let p=(u=(l=n.getScopeContext(i.ref.scope))==null?void 0:l.scope.context)==null?void 0:u.getIsa();p==null?e=this.aggregator.factory(he.CompletionItemKind.Constant).addType("null").setLabel("super"):e=p.copy({kind:he.CompletionItemKind.Constant,label:"super",values:p.values})}else if(i.getter.name==="self"){let p=(a=n.getScopeContext(i.ref.scope))==null?void 0:a.scope.context;p==null?e=this.aggregator.factory(he.CompletionItemKind.Constant).addType("null").setLabel("self"):e=p.copy({kind:he.CompletionItemKind.Constant,label:"self",values:p.values})}else{let p=r.resolveNamespace(i.getter.name,s);p==null&&(p=this.defineAssumedProperty(r.globals,i.getter.name)),e=p}else if((0,di.isResolveChainItemWithValue)(i))e=this.aggregator.resolveTypeWithDefault(i.value,s);else return null;if(((c=i.unary)==null?void 0:c.operator)===me.Keyword.New&&e!==null){let p=this.aggregator.factory(he.CompletionItemKind.Variable).addType(fe.SignatureDefinitionBaseType.Map).setLabel(e.label);p.setProperty("__isa",e),this.aggregator.createCustomTypeFromMap(i.unary,p),e=p}return e}getNext(){var n,i,s;let e=this.current,r=this.chain[this.index];if((0,di.isResolveChainItemWithMember)(r)){let o=((n=r.unary)==null?void 0:n.operator)==="@"&&!r.isInCallExpression||this.noInvoke&&this.index===this.endIndex,l=e.resolveProperty(r.getter.name,o);l==null&&(l=this.defineAssumedProperty(e,r.getter.name)),e=l}else if((0,di.isResolveChainItemWithIndex)(r)){let o=((i=r.unary)==null?void 0:i.operator)==="@"&&!r.isInCallExpression||this.noInvoke&&this.index===this.endIndex||!r.ref.isStatementStart&&!r.isInCallExpression;if((0,K0.isValidIdentifierLiteral)(r.getter)){let l=r.getter.value.toString(),u=e.resolveProperty(l,o);u==null&&(u=this.defineAssumedProperty(e,l)),e=u}else{let l=this.aggregator.resolveTypeWithDefault(r.getter),u=e.resolveProperty(l,o);u==null&&(u=this.defineAssumedProperty(e,l)),e=u}}else if(r.ref.type===me.ASTType.SliceExpression)e=e.copy();else return null;if(((s=r.unary)==null?void 0:s.operator)===me.Keyword.New&&this.current!==null){let o=this.aggregator.factory(he.CompletionItemKind.Property).addType(fe.SignatureDefinitionBaseType.Map).setLabel(e.label);o.setProperty("__isa",e),this.aggregator.createCustomTypeFromMap(r.unary,o),e=o}return e}next(){if(this.index>=this.chain.length)return{value:null,done:!0};let e=this.index===0?this.getInitial():this.getNext();return e==null?{value:null,done:!0}:(this.index++,this.current=e,{value:e,done:!1})}};ws.ASTChainIterator=bc;var By=class{get definitions(){return this._definitions}get parent(){return this._parent}get scope(){return this._scope}get document(){return this._document}constructor(e){var r;this._root=e.root,this._scope=e.scope,this._document=e.document,this._parent=(r=e.parent)!=null?r:null,this._definitions=new Map,this._lastModifiedProperty=null}factory(e){return new bL.Entity({source:this._document.source,kind:e,container:this._document.container})}createMapDescription(e){let r=this._document.getLastASTItemOfLine(e.start.line-1),n=this._document.findASTItemInLine(e.start.line,me.ASTType.Comment);if(r instanceof me.ASTComment){let i=new Set,s=[],o=e.start.line-1;for(;o>=0;){let l=this._document.getLastASTItemOfLine(o--);if(!i.has(l))if(l instanceof me.ASTComment)i.add(l),s.unshift(l.value);else break}return s.join(`
107
107
  `)}else if(n instanceof me.ASTComment)return n.value;return null}createCustomTypeFromMap(e,r){let n=this.createMapDescription(e);if(n==null)return;let i=(0,yL.parseMapDescription)(n);i!=null&&(i.properties.forEach(s=>{if(s.path==="__isa")return;let o=s.path.split("."),l=this.factory(he.CompletionItemKind.Property).addTypesWithMeta(s.type).setLabel(o[o.length-1]);this.setEntityInPath(r,o,l)}),this._scope.setCustomType(i.type,r))}createFunctionDescription(e,r=fL.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION){let n=this._document.getLastASTItemOfLine(e.start.line-1),i=this._document.findASTItemInLine(e.start.line,me.ASTType.Comment);if(n instanceof me.ASTComment){let s=new Set,o=[],l=e.start.line-1;for(;l>=0;){let u=this._document.getLastASTItemOfLine(l--);if(!s.has(u))if(u instanceof me.ASTComment)s.add(u),o.unshift(u.value);else break}return o.join(`
108
108
 
109
109
  `)}else if(i instanceof me.ASTComment)return i.value;return r}resolveFunctionStatement(e){let r=fe.SignatureDefinitionFunction.parse({type:fe.SignatureDefinitionBaseType.Function,description:this.createFunctionDescription(e),arguments:e.parameters.map(n=>{var s,o,l;if(n.type===me.ASTType.Identifier)return{label:(s=n.name)!=null?s:"unknown",type:fe.SignatureDefinitionBaseType.Any};let i=n;return{label:(l=(o=i.variable)==null?void 0:o.name)!=null?l:"unknown",types:Array.from(this.resolveTypeWithDefault(i.init).types)}}),returns:["any"]});return this.factory(he.CompletionItemKind.Function).addType(fe.SignatureDefinitionBaseType.Function).addSignatureType((0,mL.enrichWithMetaInformation)(r)).setLine(e.start.line)}resolveParenthesisExpression(e){return this.resolveTypeWithDefault(e.expression)}resolveBinaryExpression(e){let r=this.factory(he.CompletionItemKind.Expression).setLabel("Binary Expr").setLine(e.start.line),n=this.resolveTypeWithDefault(e.left),i=this.resolveTypeWithDefault(e.right);return r.extend(n),r.extend(i),r}resolveLogicalExpression(e){return this.factory(he.CompletionItemKind.Expression).setLabel("Logical Expr").addType(fe.SignatureDefinitionBaseType.Number).setLine(e.start.line)}resolveComparisonGroupExpression(e){return this.factory(he.CompletionItemKind.Expression).setLabel("Comparison Group Expr").addType(fe.SignatureDefinitionBaseType.Number).setLine(e.start.line)}resolveIsaExpression(e){return this.factory(he.CompletionItemKind.Expression).setLabel("Isa Expr").addType(fe.SignatureDefinitionBaseType.Number).setLine(e.start.line)}resolveCallStatement(e){let r=this.resolveNamespace(e);return r===null?this.factory(he.CompletionItemKind.Variable).addType(fe.SignatureDefinitionBaseType.Any).setLine(e.start.line):r}resolveCallExpression(e){let r=this.resolveNamespace(e);return r===null?this.factory(he.CompletionItemKind.Variable).addType(fe.SignatureDefinitionBaseType.Any).setLine(e.start.line):r}resolveUnaryExpression(e){let r=this.resolveNamespace(e);return r===null?this.factory(he.CompletionItemKind.Variable).addType(fe.SignatureDefinitionBaseType.Any).setLine(e.start.line):r}resolveMapConstructorExpression(e){var n;let r=this.factory(he.CompletionItemKind.MapConstructor).addType(fe.SignatureDefinitionBaseType.Map);for(let i=0;i<e.fields.length;i++){let s=e.fields[i],o=this.resolveTypeWithDefault(s.value).setLine(s.start.line);if(s.key.type===me.ASTType.StringLiteral){let l=s.key.value.toString();r.setProperty(l,o),(n=r.values.get(`${W0.PropertyType.Identifier}:${l}`))==null||n.definitions.push({source:this._document.source,node:s})}else{let l=this.resolveTypeWithDefault(s.key).setLine(s.start.line);r.setProperty(l,o)}}return this.createCustomTypeFromMap(e,r),r.setLabel("{}").setLine(e.start.line)}resolveListConstructorExpression(e){let r=this.factory(he.CompletionItemKind.ListConstructor).addType(fe.SignatureDefinitionBaseType.List);for(let n=0;n<e.fields.length;n++){let i=e.fields[n],s=this.factory(he.CompletionItemKind.Variable).addType(fe.SignatureDefinitionBaseType.Number).setLine(i.start.line),o=this.resolveTypeWithDefault(i.value).setLine(i.start.line);r.setProperty(s,o)}return r.setLabel("[]").setLine(e.start.line)}resolveSliceExpression(e){let r=this.resolveNamespace(e);return r===null?this.factory(he.CompletionItemKind.Variable).addType(fe.SignatureDefinitionBaseType.Any).setLine(e.start.line):r.setLine(e.start.line)}resolveIndexExpression(e,r=!1){let n=this.resolveNamespace(e,r);return n===null?this.factory(he.CompletionItemKind.Variable).addType(fe.SignatureDefinitionBaseType.Any).setLine(e.start.line):n}resolveMemberExpression(e,r=!1){let n=this.resolveNamespace(e,r);return n===null?this.factory(he.CompletionItemKind.Property).addType(fe.SignatureDefinitionBaseType.Any).setLabel(e.identifier.name).setLine(e.start.line):n}resolveIdentifier(e,r=!1){let n=this.resolveNamespace(e,r);return n===null?this.factory(he.CompletionItemKind.Property).addType(fe.SignatureDefinitionBaseType.Any).setLabel(e.name).setLine(e.start.line):n}resolveType(e,r=!1){if(e==null)return null;switch(e.type){case me.ASTType.ParenthesisExpression:return this.resolveParenthesisExpression(e);case me.ASTType.CallStatement:return this.resolveCallStatement(e);case me.ASTType.CallExpression:return this.resolveCallExpression(e);case me.ASTType.BinaryExpression:return this.resolveBinaryExpression(e);case me.ASTType.LogicalExpression:return this.resolveLogicalExpression(e);case me.ASTType.IsaExpression:return this.resolveIsaExpression(e);case me.ASTType.ComparisonGroupExpression:return this.resolveComparisonGroupExpression(e);case me.ASTType.FunctionDeclaration:return this.resolveFunctionStatement(e);case me.ASTType.SliceExpression:return this.resolveSliceExpression(e);case me.ASTType.IndexExpression:return this.resolveIndexExpression(e,r);case me.ASTType.MemberExpression:return this.resolveMemberExpression(e,r);case me.ASTType.Identifier:return this.resolveIdentifier(e,r);case me.ASTType.MapConstructorExpression:return this.resolveMapConstructorExpression(e);case me.ASTType.ListConstructorExpression:return this.resolveListConstructorExpression(e);case me.ASTType.NegationExpression:case me.ASTType.BinaryNegatedExpression:case me.ASTType.UnaryExpression:return this.resolveUnaryExpression(e);case me.ASTType.NilLiteral:return this.factory(he.CompletionItemKind.Literal).addType("null").setLabel("null").setLine(e.start.line);case me.ASTType.StringLiteral:{let n=e.value.toString();return this.factory(he.CompletionItemKind.Literal).addType(fe.SignatureDefinitionBaseType.String).setLabel(`"${n.length>20?n.substr(0,20)+"...":n}"`).setLine(e.start.line)}case me.ASTType.NumericLiteral:case me.ASTType.BooleanLiteral:{let n=e.value.toString();return this.factory(he.CompletionItemKind.Literal).addType(fe.SignatureDefinitionBaseType.Number).setLabel(n).setLine(e.start.line)}case aa.ASTType.FeatureFileExpression:return this.factory(he.CompletionItemKind.Expression).addType(fe.SignatureDefinitionBaseType.String).setLabel("File Expr").setLine(e.start.line);case aa.ASTType.FeatureLineExpression:return this.factory(he.CompletionItemKind.Expression).addType(fe.SignatureDefinitionBaseType.Number).setLabel("Line Expr").setLine(e.start.line);case aa.ASTType.FeatureEnvarExpression:return this.factory(he.CompletionItemKind.Expression).addType(fe.SignatureDefinitionBaseType.String).setLabel("Envar Expr").setLine(e.start.line);case aa.ASTType.FeatureInjectExpression:return this.factory(he.CompletionItemKind.Expression).addType(fe.SignatureDefinitionBaseType.String).setLabel("Inject Expr").setLine(e.start.line);default:return null}}resolveTypeWithDefault(e=null,r=!1){let n=this.resolveType(e,r);if(n==null){let i=this.factory(he.CompletionItemKind.Variable).addType(fe.SignatureDefinitionBaseType.Any);return e!=null&&i.setLine(e.start.line),i}return n}resolveChain(e,r=!1,n=!1){if(e.length===0)return null;let i=new bc(this,e,r,n),s=null,o=i.next();for(;!o.done;)s=o.value,o=i.next();return s}setEntityInPath(e,r,n){let i=e;for(let s=0;s<r.length-1;s++){let o=r[s],l=i.resolveProperty(o);if(l==null){let u=this.factory(he.CompletionItemKind.Property).addType(fe.SignatureDefinitionBaseType.Map).setLabel(o);i.setProperty(o,u),l=u}i=l}return i.setProperty(r[r.length-1],n)}getEntityInPath(e,r){let n=e;for(let i=0;i<r.length;i++){let s=r[i],o=n.resolveProperty(s);if(o==null)return null;n=o}return n}resolveNamespace(e,r=!1){let n=(0,H0.createResolveChain)(e);return this.resolveChain(n,r)}defineProperty(e,r,n){let i=e.setProperty(r,n);return this._lastModifiedProperty=e.resolveProperty(r,!0),i}defineNamespace(e,r){let n=(0,H0.createResolveChain)(e),i=n.pop();if(this._lastModifiedProperty=null,n.length>0){let o=this.resolveChain(n,!1,!0);if(o===null)return!1;if((0,di.isResolveChainItemWithMember)(i))return this.defineProperty(o,i.getter.name,r);if((0,di.isResolveChainItemWithIndex)(i)){if((0,K0.isValidIdentifierLiteral)(i.getter))return this.defineProperty(o,i.getter.value.toString(),r);{let l=this.resolveTypeWithDefault(i.getter);return this.defineProperty(o,l,r)}}return!1}let s=this._scope;return(0,di.isResolveChainItemWithIdentifier)(i)?this.defineProperty(s,i.getter.name,r):!1}addDefinition(e,r){var o;(o=this._lastModifiedProperty)==null||o.definitions.push({source:this._document.source,node:e});let n=(0,V0.createExpressionId)(r),i=this._definitions;n.startsWith("globals.")?(i=this._document.getRootScopeContext().aggregator.definitions,n=n.slice(8)):n.startsWith("locals.")?(i=this._definitions,n=n.slice(7)):n.startsWith("outer.")&&(i=this.parent.definitions,n=n.slice(6));let s=i.get(n);s?s.push({source:this._document.source,node:e}):i.set(n,[{source:this._document.source,node:e}])}resolveAvailableAssignmentsWithQuery(e){let r=[];return new Set([this,this._parent,this._document.getRootScopeContext().aggregator]).forEach(i=>{let s=i.definitions;s.forEach((o,l)=>{if(l.includes(e)){let u=s.get(l);(0,z0.merge)(r,u)}})}),r}resolveAvailableAssignments(e){let r=(0,V0.createExpressionId)(e),n=this;r.startsWith("globals.")?(n=this._document.getRootScopeContext().aggregator,r=r.slice(8)):r.startsWith("locals.")?(n=this,r=r.slice(7)):r.startsWith("outer.")&&(n=this.parent,r=r.slice(6));let i=[];return new Set([n,n._parent,n._document.getRootScopeContext().aggregator]).forEach(o=>{if(o==null)return;let l=o.resolveNamespace(e,!0);l!=null&&(0,z0.merge)(i,l.definitions)}),i}analyzeAssignmentDefinition(e){var n,i;let r=(i=(n=this.resolveType(e.init))==null?void 0:n.copy({source:this._document.source}).setLine(e.start.line))!=null?i:this.factory(he.CompletionItemKind.Variable).addType(fe.SignatureDefinitionBaseType.Any).setLine(e.start.line);this.defineNamespace(e.variable,r),this.addDefinition(e,e.variable)}analyzeForDefinition(e){var o,l;let r=(l=(o=this.resolveType(e.iterator))==null?void 0:o.copy({source:this._document.source}).setLine(e.start.line))!=null?l:this.factory(he.CompletionItemKind.Variable).addType(fe.SignatureDefinitionBaseType.Any).setLine(e.start.line),n=this.factory(he.CompletionItemKind.Variable).setLine(e.start.line);if(r.types.has(fe.SignatureDefinitionBaseType.List)){let u=r.values.get(`${W0.PropertyType.Type}:number`);u!=null&&n.extend(u)}if(r.types.has(fe.SignatureDefinitionBaseType.String)&&n.addType(fe.SignatureDefinitionBaseType.String),r.types.has(fe.SignatureDefinitionBaseType.Map)){let u=this.factory(he.CompletionItemKind.Variable).addTypes(r.getPropertyTypes()).setLine(e.start.line),a=this.factory(he.CompletionItemKind.Property).addTypes(r.getValueTypes()).setLine(e.start.line);n.addType(fe.SignatureDefinitionBaseType.Map),n.setProperty("key",u),n.setProperty("value",a)}n.types.size===0&&n.addType(fe.SignatureDefinitionBaseType.Any),this.defineNamespace(e.variable,n),this.addDefinition(e,e.variable);let i=this.factory(he.CompletionItemKind.Variable).addType(fe.SignatureDefinitionBaseType.Number).setLine(e.start.line),s=new me.ASTIdentifier({name:`__${e.variable.name}_idx`,kind:me.ASTIdentifierKind.Variable,range:e.range,start:e.start,end:e.end});this.defineNamespace(s,i),this.addDefinition(e,s)}analyzeImportDefinition(e){let r=e.name,n=this.scope.resolveProperty(r.name,!0);if(n!=null){this._lastModifiedProperty=n,this.addDefinition(e,e.name);return}let i=this.factory(he.CompletionItemKind.Variable).addType(fe.SignatureDefinitionBaseType.Any).setLine(e.start.line);this.defineNamespace(e.name,i),this.addDefinition(e,e.name)}analyze(){for(let e=0;e<this._root.definitions.length;e++){let r=this._root.definitions[e];switch(r.type){case me.ASTType.AssignmentStatement:{this.analyzeAssignmentDefinition(r);break}case me.ASTType.ForGenericStatement:{this.analyzeForDefinition(r);break}case aa.ASTType.FeatureImportExpression:{this.analyzeImportDefinition(r);break}}}}extend(e){e.definitions.forEach((r,n)=>{let i=this.definitions.get(n);i?(0,gL.mergeUnique)(i,r):this.definitions.set(n,r)})}};ws.Aggregator=By});var Vy=T(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});vc.Document=void 0;var lr=Ht(),vL=pe(),G0=oi(),_L=$y(),Y0=Uy(),J0=bs(),Q0=vy(),Wy=class t{get source(){return this._source}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){var r,n,i,s;this._source=e.source,this._root=e.root,this._container=e.container,this._scopeMapping=(r=e.scopeMapping)!=null?r:new WeakMap,this._intrinscis=(n=e.intrinsics)!=null?n:this.createIntrinscis(),this._api=(i=e.api)!=null?i:this.initApi(),this._globals=(s=e.globals)!=null?s:this.initGlobals()}createIntrinscis(){return{map:this._container.primitives.get(lr.SignatureDefinitionBaseType.Map),funcRef:this._container.primitives.get(lr.SignatureDefinitionBaseType.Function),number:this._container.primitives.get(lr.SignatureDefinitionBaseType.Number),string:this._container.primitives.get(lr.SignatureDefinitionBaseType.String),list:this._container.primitives.get(lr.SignatureDefinitionBaseType.List)}}initApi(){let e=this._container.primitives.get(lr.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 J0.Entity({source:this._source,kind:G0.CompletionItemKind.Constant,container:this._container,label:"globals"}).addType(lr.SignatureDefinitionBaseType.Map)}analyzeScope(e){let r=this._scopeMapping.get(e.scope),n=new Q0.Scope({source:this._source,container:this._container,parent:r==null?void 0:r.scope,globals:this._globals}),i=new Y0.Aggregator({scope:n,root:e,document:this,parent:r==null?void 0:r.aggregator});this._scopeMapping.set(e,{scope:n,aggregator:i});let s=e.assignment instanceof vL.ASTAssignmentStatement?this.resolveNamespace(e.assignment.variable,!0):null;if(s!==null){let o=s==null?void 0:s.context;o!=null&&o.types.has(lr.SignatureDefinitionBaseType.Map)&&o!==this._globals&&n.setContext(o)}if(i.analyze(),s!==null){let o=s.signatureDefinitions.last();if(o!=null){let l=o.getArguments();for(let u=0;u<l.length;u++){let a=l[u],c=n.resolveProperty(a.getLabel(),!0),p=a.getTypes();c===null?n.setProperty(a.getLabel(),new J0.Entity({source:this._source,kind:G0.CompletionItemKind.Variable,container:this._container}).addTypesWithMeta(p)):(c.types.delete(lr.SignatureDefinitionBaseType.Any),c.addTypesWithMeta(p))}}}}analyze(){let e=new Q0.Scope({source:this._source,container:this._container,globals:this._globals,locals:this._globals}),r=new Y0.Aggregator({scope:e,root:this._root,document:this});this._scopeMapping.set(this._root,{scope:e,aggregator:r}),r.analyze();for(let n=0;n<this._root.scopes.length;n++){let i=this._root.scopes[n];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){var r;return(r=this._scopeMapping.get(e))!=null?r:null}getLastASTItemOfLine(e){let r=this._root.lines[e];if(!r||r.length===0)return null;let n=r[0];for(let i=1;i<r.length;i++){let s=r[i];(s.start.line>n.start.line||s.start.line===n.start.line&&s.start.character>n.start.character)&&(n=s)}return n}findASTItemInLine(e,r){let n=this._root.lines[e];if(n&&n.length>0){let i=n.find(s=>s.type===r);if(i)return i}return null}resolveAllAssignmentsWithQuery(e){let r=[],n=[this._root,...this._root.scopes];for(let i=0;i<n.length;i++){let o=this._scopeMapping.get(n[i]).aggregator.definitions;o.forEach((l,u)=>{if(u.includes(e)){let a=o.get(u);(0,_L.merge)(r,a)}})}return r}resolveAvailableAssignments(e){var r,n;return(n=(r=this._scopeMapping.get(e.scope))==null?void 0:r.aggregator.resolveAvailableAssignments(e))!=null?n:[]}resolveType(e,r){var n,i;return(i=(n=this._scopeMapping.get(e.scope))==null?void 0:n.aggregator.resolveType(e,r))!=null?i:null}resolveTypeWithDefault(e,r){var n;return(n=this._scopeMapping.get(e.scope))==null?void 0:n.aggregator.resolveTypeWithDefault(e,r)}resolveNamespace(e,r=!1){var n,i;return(i=(n=this._scopeMapping.get(e.scope))==null?void 0:n.aggregator.resolveNamespace(e,r))!=null?i:null}merge(...e){let r=new t({source:this._source,root:this._root,container:this._container.copy()});for(let n=0;n<e.length;n++){let i=e[n];r._globals.extend(i._globals,!0,!0),r._intrinscis.map.extend(i._intrinscis.map,!0,!0),r._intrinscis.funcRef.extend(i._intrinscis.funcRef,!0,!0),r._intrinscis.number.extend(i._intrinscis.number,!0,!0),r._intrinscis.string.extend(i._intrinscis.string,!0,!0),r._intrinscis.list.extend(i._intrinscis.list,!0,!0),r._container.mergeCustomTypes(i._container)}r.analyze();for(let n=0;n<e.length;n++){let i=e[n];r.getRootScopeContext().aggregator.extend(i.getRootScopeContext().aggregator)}return r}};vc.Document=Wy});var Gy=T(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.ContainerProxy=void 0;var Rn=Ht(),Hy=ai(),ur=bs(),Z0=oi(),X0=Ko(),zy=sc(),Ky=class t{get primitives(){return this._primitives}get types(){return this._types}constructor(e){var r,n;this._container=e.container,this._primitives=(r=e.primitives)!=null?r:this.createPrimitives(),this._types=(n=e.types)!=null?n:this.createTypes(),this._customTypes=new Set}createPrimitives(){let e=new Map;return this._container.getPrimitives().forEach((r,n)=>{let i=new ur.Entity({source:"internal",kind:Z0.CompletionItemKind.Internal,container:this,isAPI:n===Rn.SignatureDefinitionBaseType.General}).addType(Rn.SignatureDefinitionBaseType.Map).insertSignature(r);e.set(n,i)}),e}createTypes(){let e=new Map;return this._container.getTypes().forEach((r,n)=>{let i=new ur.Entity({source:"internal",kind:Z0.CompletionItemKind.Internal,container:this}).addType(Rn.SignatureDefinitionBaseType.Map).insertSignature(r);e.set(n,i)}),e}setCustomType(e,r){this._types.has(e)||(this._types.set(e,r),this._customTypes.add(e))}mergeCustomTypes(e){e._customTypes.forEach(r=>{let n=e._types.get(r);n!=null&&this.setCustomType(r,n.copy({deepCopy:!0}))})}getTypeSignature(e){var r,n;return(n=(r=this._primitives.get(e))!=null?r:this._types.get(e))!=null?n:null}searchDefinitionMatches(e,r){if(typeof e=="string")return this.searchDefinitionMatches([e],r);let n=e.includes(Rn.SignatureDefinitionBaseType.Any)?new Set(this._container.getAllVisibleTypes()):new Set(e),i=new Map;return n.forEach(s=>{let o=this.getTypeSignature(s);if(o===null)return;let l=(0,zy.lookupProperty)(Hy.PropertyType.Identifier,o,r);l!==null&&i.set(s,l)}),i}getDefinition(e,r,n=!1){if(typeof e=="string")return this.getDefinition([e],r);let i=(0,zy.lookupProperty)(Hy.PropertyType.Identifier,this._primitives.get(Rn.SignatureDefinitionBaseType.Any),r);if(e.includes(Rn.SignatureDefinitionBaseType.Any)&&i)return ur.Entity.resolveEntity(this,i,n);let s=this.searchDefinitionMatches(e,r);if(s.size===0)return null;if(s.size===1)return ur.Entity.resolveEntity(this,s.values().next().value,n);if(s.has(Rn.SignatureDefinitionBaseType.Any))return ur.Entity.resolveEntity(this,s.get(Rn.SignatureDefinitionBaseType.Any),n);if(i!==null)return ur.Entity.resolveEntity(this,i,n);let o=s.values().next().value,l=new ur.Entity({source:"internal",label:r,kind:o.kind,container:this});return s.forEach(u=>{let a=ur.Entity.resolveEntity(this,u,n);l.extend(a,!0,!0)}),l}getGeneralDefinition(e,r=!1){let n=(0,zy.lookupProperty)(Hy.PropertyType.Identifier,this._primitives.get(Rn.SignatureDefinitionBaseType.General),e);return n==null?null:ur.Entity.resolveEntity(this,n,r)}injectTypeIdentifiers(e,r){let n=this.getTypeSignature(r);if(n!=null&&((0,X0.injectIdentifers)(e,n),this._types.has(r))){let i=this._primitives.get(Rn.SignatureDefinitionBaseType.Map);(0,X0.injectIdentifers)(e,i)}}getAvailableIdentifier(e){let r=new Map;if(e===Rn.SignatureDefinitionBaseType.Any){let n=this._container.getAllVisibleTypes();for(let i=0;i<n.length;i++)this.injectTypeIdentifiers(r,n[i]);return r}return this.injectTypeIdentifiers(r,e),r}copy(){return new t({container:this._container})}};_c.ContainerProxy=Ky});var eT=T(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});wc.TypeManager=void 0;var wL=Vy(),SL=Gy(),Yy=class{constructor(e){this._container=new SL.ContainerProxy({container:e.container}),this._types=new Map}analyze(e,r){let n=new wL.Document({source:e,container:this._container.copy(),root:r});try{n.analyze()}catch(i){console.error(i)}return this._types.set(e,n),n}get(e){var r;return(r=this._types.get(e))!=null?r:null}};wc.TypeManager=Yy});var Ss=T(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.TypeManager=G.ContainerProxy=G.Document=G.Aggregator=G.Scope=G.Entity=G.aggregateEntity=G.lookupProperty=G.isEligibleForProperties=G.injectIdentifers=G.isSignatureDefinitionFunction=G.isResolveChainItemWithValue=G.isResolveChainItemWithMember=G.isResolveChainItemWithIndex=G.isResolveChainItemWithIdentifier=G.IsaPropertyPattern=G.IdentifierPropertyPattern=G.PropertyType=G.CompletionItemKind=G.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION=G.ObjectSetIterator=G.ObjectSet=G.rotateBits=G.getStringHashCode=G.getHashCode=G.createResolveChain=G.enrichWithMetaInformation=G.createExpressionId=G.createExpressionHash=G.isValidIdentifierLiteral=void 0;var xL=jo();Object.defineProperty(G,"isValidIdentifierLiteral",{enumerable:!0,get:function(){return xL.isValidIdentifierLiteral}});var kL=o0();Object.defineProperty(G,"createExpressionHash",{enumerable:!0,get:function(){return kL.createExpressionHash}});var TL=Rg();Object.defineProperty(G,"createExpressionId",{enumerable:!0,get:function(){return TL.createExpressionId}});var IL=iy();Object.defineProperty(G,"enrichWithMetaInformation",{enumerable:!0,get:function(){return IL.enrichWithMetaInformation}});var EL=sy();Object.defineProperty(G,"createResolveChain",{enumerable:!0,get:function(){return EL.createResolveChain}});var Jy=Eg();Object.defineProperty(G,"getHashCode",{enumerable:!0,get:function(){return Jy.getHashCode}});Object.defineProperty(G,"getStringHashCode",{enumerable:!0,get:function(){return Jy.getStringHashCode}});Object.defineProperty(G,"rotateBits",{enumerable:!0,get:function(){return Jy.rotateBits}});var tT=uy();Object.defineProperty(G,"ObjectSet",{enumerable:!0,get:function(){return tT.ObjectSet}});Object.defineProperty(G,"ObjectSetIterator",{enumerable:!0,get:function(){return tT.ObjectSetIterator}});var RL=cy();Object.defineProperty(G,"DEFAULT_CUSTOM_FUNCTION_DESCRIPTION",{enumerable:!0,get:function(){return RL.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION}});var PL=oi();Object.defineProperty(G,"CompletionItemKind",{enumerable:!0,get:function(){return PL.CompletionItemKind}});var Qy=ai();Object.defineProperty(G,"PropertyType",{enumerable:!0,get:function(){return Qy.PropertyType}});Object.defineProperty(G,"IdentifierPropertyPattern",{enumerable:!0,get:function(){return Qy.IdentifierPropertyPattern}});Object.defineProperty(G,"IsaPropertyPattern",{enumerable:!0,get:function(){return Qy.IsaPropertyPattern}});var Sc=dy();Object.defineProperty(G,"isResolveChainItemWithIdentifier",{enumerable:!0,get:function(){return Sc.isResolveChainItemWithIdentifier}});Object.defineProperty(G,"isResolveChainItemWithIndex",{enumerable:!0,get:function(){return Sc.isResolveChainItemWithIndex}});Object.defineProperty(G,"isResolveChainItemWithMember",{enumerable:!0,get:function(){return Sc.isResolveChainItemWithMember}});Object.defineProperty(G,"isResolveChainItemWithValue",{enumerable:!0,get:function(){return Sc.isResolveChainItemWithValue}});var CL=hy();Object.defineProperty(G,"isSignatureDefinitionFunction",{enumerable:!0,get:function(){return CL.isSignatureDefinitionFunction}});var AL=Ko();Object.defineProperty(G,"injectIdentifers",{enumerable:!0,get:function(){return AL.injectIdentifers}});var OL=rc();Object.defineProperty(G,"isEligibleForProperties",{enumerable:!0,get:function(){return OL.isEligibleForProperties}});var DL=sc();Object.defineProperty(G,"lookupProperty",{enumerable:!0,get:function(){return DL.lookupProperty}});var LL=fy();Object.defineProperty(G,"aggregateEntity",{enumerable:!0,get:function(){return LL.aggregateEntity}});var jL=bs();Object.defineProperty(G,"Entity",{enumerable:!0,get:function(){return jL.Entity}});var ML=vy();Object.defineProperty(G,"Scope",{enumerable:!0,get:function(){return ML.Scope}});var qL=Uy();Object.defineProperty(G,"Aggregator",{enumerable:!0,get:function(){return qL.Aggregator}});var FL=Vy();Object.defineProperty(G,"Document",{enumerable:!0,get:function(){return FL.Document}});var NL=Gy();Object.defineProperty(G,"ContainerProxy",{enumerable:!0,get:function(){return NL.ContainerProxy}});var $L=eT();Object.defineProperty(G,"TypeManager",{enumerable:!0,get:function(){return $L.TypeManager}})});var Zy=T(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});xs.getSymbolItemKind=xs.getCompletionItemKind=void 0;var Ue=Ss(),BL={[Ue.CompletionItemKind.Constant]:21,[Ue.CompletionItemKind.Internal]:21,[Ue.CompletionItemKind.InternalFunction]:21,[Ue.CompletionItemKind.InternalProperty]:21,[Ue.CompletionItemKind.Property]:6,[Ue.CompletionItemKind.Variable]:6,[Ue.CompletionItemKind.Expression]:6,[Ue.CompletionItemKind.Function]:3,[Ue.CompletionItemKind.ListConstructor]:12,[Ue.CompletionItemKind.MapConstructor]:12,[Ue.CompletionItemKind.Literal]:12,[Ue.CompletionItemKind.Unknown]:12},UL=t=>{var e;return(e=BL[t])!=null?e:6};xs.getCompletionItemKind=UL;var WL={[Ue.CompletionItemKind.Constant]:14,[Ue.CompletionItemKind.Internal]:14,[Ue.CompletionItemKind.InternalFunction]:14,[Ue.CompletionItemKind.InternalProperty]:14,[Ue.CompletionItemKind.Variable]:13,[Ue.CompletionItemKind.Property]:13,[Ue.CompletionItemKind.Expression]:13,[Ue.CompletionItemKind.Function]:12,[Ue.CompletionItemKind.ListConstructor]:18,[Ue.CompletionItemKind.MapConstructor]:19,[Ue.CompletionItemKind.Literal]:13,[Ue.CompletionItemKind.Unknown]:13},VL=t=>{var e;return(e=WL[t])!=null?e:13};xs.getSymbolItemKind=VL});var nT=T(xc=>{"use strict";Object.defineProperty(xc,"__esModule",{value:!0});xc.CompletionListBuilder=void 0;var HL=Zy(),Xy=class{constructor(){this.collection=new Map,this.default=[]}setDefault(e){this.default=e}addCollection(e){e!=null&&(this.collection=new Map([...this.collection,...e]))}build(){let e=[];for(let[r,n]of this.collection)e.push({label:r,kind:(0,HL.getCompletionItemKind)(n.kind)});return[...e,...this.default]}};xc.CompletionListBuilder=Xy});var Tc=T(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.findEx=ks.ScraperWalker=void 0;var zL=pe(),KL=function(t){return{ParenthesisExpression:(e,r)=>{t(e.expression,r)},AssignmentStatement:function(e,r){t(e.init,r),t(e.variable,r)},MemberExpression:function(e,r){t(e.base,r),t(e.identifier,r)},FunctionDeclaration:function(e,r){for(let n=0;n<e.parameters.length;n++)t(e.parameters[n],r);for(let n=0;n<e.body.length;n++)t(e.body[n],r)},MapConstructorExpression:function(e,r){for(let n=0;n<e.fields.length;n++)t(e.fields[n],r)},ReturnStatement:function(e,r){e.argument&&t(e.argument,r)},WhileStatement:function(e,r){t(e.condition,r);for(let n=0;n<e.body.length;n++)t(e.body[n],r)},IndexExpression:function(e,r){t(e.base,r),t(e.index,r)},SliceExpression:function(e,r){t(e.base,r),t(e.left,r),t(e.right,r)},ListValue:function(e,r){t(e.value,r)},MapKeyString:function(e,r){t(e.key,r),t(e.value,r)},IfShortcutStatement:function(e,r){for(let n=0;n<e.clauses.length;n++)t(e.clauses[n],r)},IfShortcutClause:function(e,r){t(e.condition,r);for(let n=0;n<e.body.length;n++)t(e.body[n],r)},ElseifShortcutClause:function(e,r){t(e.condition,r);for(let n=0;n<e.body.length;n++)t(e.body[n],r)},ElseShortcutClause:function(e,r){for(let n=0;n<e.body.length;n++)t(e.body[n],r)},ForGenericStatement:function(e,r){t(e.variable,r),t(e.iterator,r);for(let n=0;n<e.body.length;n++)t(e.body[n],r)},IfStatement:function(e,r){for(let n=0;n<e.clauses.length;n++)t(e.clauses[n],r)},IfClause:function(e,r){t(e.condition,r);for(let n=0;n<e.body.length;n++)t(e.body[n],r)},ElseifClause:function(e,r){t(e.condition,r);for(let n=0;n<e.body.length;n++)t(e.body[n],r)},ElseClause:function(e,r){for(let n=0;n<e.body.length;n++)t(e.body[n],r)},NegationExpression:function(e,r){t(e.argument,r)},CallExpression:function(e,r){t(e.base,r);for(let n=0;n<e.arguments.length;n++)t(e.arguments[n],r)},CallStatement:function(e,r){t(e.expression,r)},ListConstructorExpression:function(e,r){for(let n=0;n<e.fields.length;n++)t(e.fields[n],r)},BinaryExpression:function(e,r){t(e.left,r),t(e.right,r)},BinaryNegatedExpression:function(e,r){t(e.argument,r)},IsaExpression:function(e,r){t(e.left,r),t(e.right,r)},LogicalExpression:function(e,r){t(e.left,r),t(e.right,r)},ComparisonGroupExpression:function(e,r){for(let n=0;n<e.expressions.length;n++)t(e.expressions[n],r)},UnaryExpression:function(e,r){t(e.argument,r)},Chunk:function(e,r){for(let n=0;n<e.body.length;n++)t(e.body[n],r)},InvalidCodeExpression:()=>{}}},kc=class{constructor(e,r={}){this.map=Object.assign(KL(this.visit.bind(this)),r),this.callback=e,this.state={exit:!1,skip:!1}}visit(e,r=0){if(e==null)return;if(e.type==null)throw console.error("Error ast type:",e),new Error("Unexpected as type");let n=this.callback(e,r);if(n!=null&&Object.assign(this.state,n),this.state.exit||this.state.skip){this.state.skip=!1;return}let i=this.map[e.type];i!=null&&i.call(this,e,r+1)}};ks.ScraperWalker=kc;function GL(t,e){let r=[];return new kc((i,s)=>{let o=t(i,s)||{};return o.valid&&i.type!==zL.ASTType.InvalidCodeExpression&&r.push(i),{exit:!!o.exit,skip:!!o.skip}}).visit(e),r}ks.findEx=GL});var eb=T(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.lookupBase=qt.lookupIdentifier=qt.lookupScopes=qt.lookupRootScope=void 0;var cr=pe(),YL=t=>{let e=t;for(;e.scope;)e=e.scope;return e};qt.lookupRootScope=YL;var JL=t=>{if(!t.scope)return[t];let e=(0,qt.lookupRootScope)(t);return e===t.scope?[t,e]:[t,t.scope,e]};qt.lookupScopes=JL;var QL=t=>{switch(t.type){case cr.ASTType.CallStatement:return(0,qt.lookupIdentifier)(t.expression);case cr.ASTType.CallExpression:return(0,qt.lookupIdentifier)(t.base);case cr.ASTType.Identifier:return t;case cr.ASTType.MemberExpression:return(0,qt.lookupIdentifier)(t.identifier);case cr.ASTType.IndexExpression:return(0,qt.lookupIdentifier)(t.index);default:return null}};qt.lookupIdentifier=QL;var ZL=(t=null)=>{switch(t==null?void 0:t.type){case cr.ASTType.MemberExpression:return t.base;case cr.ASTType.IndexExpression:return t.base;case cr.ASTType.CallExpression:return t.base;case cr.ASTType.SliceExpression:return t.base;default:return null}};qt.lookupBase=ZL});var Is=T(Kn=>{"use strict";var XL=Kn&&Kn.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),ej=Kn&&Kn.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),tj=Kn&&Kn.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&XL(e,t,r);return ej(e,t),e};Object.defineProperty(Kn,"__esModule",{value:!0});Kn.LookupHelper=void 0;var nj=Ht(),rT=pe(),Ts=Ss(),rj=tj(Tc()),ij=eb(),tb=class{constructor(e,r){this.document=e,this.context=r,this.mergedTypeMap=null}getTypeMap(){return F(this,null,function*(){return this.mergedTypeMap==null&&(this.mergedTypeMap=yield this.context.documentMerger.build(this.document,this.context)),this.mergedTypeMap})}findAllAssignmentsOfIdentifier(e,r){return F(this,null,function*(){let n=yield this.getTypeMap();if(n==null)return[];let i=n.getScopeContext(r);return i==null?[]:i.aggregator.resolveAvailableAssignmentsWithQuery(e)})}findAllAssignmentsOfItem(e,r){return F(this,null,function*(){let n=yield this.getTypeMap();if(n==null)return[];let i=n.getScopeContext(r);return i==null?[]:i.aggregator.resolveAvailableAssignments(e)})}findAllAvailableIdentifierInRoot(){return F(this,null,function*(){let e=yield this.getTypeMap();return e==null?new Map:e.getRootScopeContext().scope.getAvailableIdentifier()})}findAllAvailableIdentifier(e){return F(this,null,function*(){let r=yield this.getTypeMap();if(r==null)return new Map;let n=r.getScopeContext(e);return n==null?new Map:n.scope.getAvailableIdentifier()})}findAllAvailableIdentifierRelatedToPosition(e){return F(this,null,function*(){let r=yield this.getTypeMap(),n=new Map;if(r==null)return n;for(let l of r.container.getAvailableIdentifier(nj.SignatureDefinitionBaseType.General))n.set(...l);let i=r.getScopeContext(e.scope);if(i==null)return n;i.scope.isSelfAvailable()&&n.set("self",{kind:Ts.CompletionItemKind.Constant,line:-1}),i.scope.isSuperAvailable()&&n.set("super",{kind:Ts.CompletionItemKind.Constant,line:-1});let s=new Map;(0,Ts.injectIdentifers)(s,i.scope);let o=Array.from(s.entries()).map(([l,u])=>tt({identifier:l},u)).sort((l,u)=>l.line-u.line);for(let l=0;l<o.length;l++){let u=o[l];if(u.line>=e.end.line)break;n.set(u.identifier,{kind:u.kind,line:u.line})}return i.scope.locals!==i.scope.globals&&(0,Ts.injectIdentifers)(n,i.scope.globals),i.scope.outer&&(0,Ts.injectIdentifers)(n,i.scope.outer),n})}lookupAST(e){let r=this,i=this.context.documentManager.get(r.document).document.lines[e.line+1];if(!i)return null;for(let s=0;s<i.length;s++){let o=i[s],l=rj.findEx((a,c)=>{let p=a.start.line-1,d=a.start.character-1,h=a.end.line-1,g=a.end.character-1;return p>e.line?{exit:!0}:p<h?{valid:e.line>p&&e.line<h||e.line===p&&d<=e.character||e.line===h&&g>=e.character}:{valid:p<=e.line&&d<=e.character&&h>=e.line&&g>=e.character}},o),u=l.pop();if(u)return{closest:u,outer:l}}return null}lookupBasePath(e){return F(this,null,function*(){let r=yield this.getTypeMap();if(r===null)return null;let n=(0,ij.lookupBase)(e);return n?r.resolveNamespace(n):null})}lookupTypeInfo(n){return F(this,arguments,function*({closest:e,outer:r}){let i=yield this.getTypeMap();if(i===null)return null;let s=r.length>0?r[r.length-1]:void 0;return(s==null?void 0:s.type)===rT.ASTType.MemberExpression&&e===s.identifier||(s==null?void 0:s.type)===rT.ASTType.IndexExpression&&e===s.index&&(0,Ts.isValidIdentifierLiteral)(e)?i.resolveType(s,!0):i.resolveType(e,!0)})}lookupType(e){let r=this,n=r.lookupAST(e);return n?r.lookupTypeInfo(n):null}};Kn.LookupHelper=tb});var iT=T(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});Ic.AVAILABLE_CONSTANTS=void 0;Ic.AVAILABLE_CONSTANTS=["true","false","null","params","globals","locals","outer"].map(t=>({label:t,kind:21}))});var Ec=T(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.GreyScriptKeyword=void 0;var sj;(function(t){t.ImportCode="import_code"})(sj=la.GreyScriptKeyword||(la.GreyScriptKeyword={}))});var ib=T(rb=>{"use strict";Object.defineProperty(rb,"__esModule",{value:!0});var sT=Mt(),oj=pe(),aj=Ec(),nb=class extends sT.LexerValidator{constructor(){super(...arguments),this.isKeyword=Set.prototype.has.bind(new Set([...Object.values(oj.Keyword),...Object.values(sT.GreybelKeyword),...Object.values(aj.GreyScriptKeyword)]))}};rb.default=nb});var ob=T(ua=>{"use strict";var lj=ua&&ua.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ua,"__esModule",{value:!0});var uj=Mt(),cj=lj(ib()),sb=class extends uj.Lexer{constructor(e,r={}){r.validator=r.validator||new cj.default,super(e,r)}};ua.default=sb});var lb=T(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.ASTChunkGreyScript=void 0;var pj=Mt(),ab=class t extends pj.ASTChunkGreybel{constructor(e){super(e),this.nativeImports=e.nativeImports||[]}clone(){return new t({nativeImports:this.nativeImports.map(e=>e.clone()),imports:this.imports.map(e=>e.clone()),includes:this.includes.map(e=>e.clone()),literals:this.literals.map(e=>e.clone()),scopes:this.scopes.map(e=>e.clone()),lines:this.lines,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Rc.ASTChunkGreyScript=ab});var ub=T(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.ASTType=void 0;var dj;(function(t){t.ImportCodeExpression="ImportCodeExpression"})(dj=ca.ASTType||(ca.ASTType={}))});var pb=T(Pc=>{"use strict";Object.defineProperty(Pc,"__esModule",{value:!0});Pc.ASTImportCodeExpression=void 0;var hj=pe(),fj=ub(),cb=class t extends hj.ASTBase{constructor(e){super(fj.ASTType.ImportCodeExpression,e),this.directory=e.directory}toString(){return`ImportCode[${this.start}-${this.end}][${this.directory}]`}clone(){return new t({directory:this.directory,start:this.start,end:this.end,range:this.range,scope:this.scope})}};Pc.ASTImportCodeExpression=cb});var hb=T(Gn=>{"use strict";Object.defineProperty(Gn,"__esModule",{value:!0});Gn.ASTImportCodeExpression=Gn.ASTChunkGreyScript=Gn.ASTType=Gn.ASTProvider=void 0;var mj=Mt(),gj=lb(),yj=pb(),db=class extends mj.ASTProvider{chunk(e){return new gj.ASTChunkGreyScript(e)}importCodeExpression(e){return new yj.ASTImportCodeExpression(e)}};Gn.ASTProvider=db;var bj=ub();Object.defineProperty(Gn,"ASTType",{enumerable:!0,get:function(){return bj.ASTType}});var vj=lb();Object.defineProperty(Gn,"ASTChunkGreyScript",{enumerable:!0,get:function(){return vj.ASTChunkGreyScript}});var _j=pb();Object.defineProperty(Gn,"ASTImportCodeExpression",{enumerable:!0,get:function(){return _j.ASTImportCodeExpression}})});var oT=T(pa=>{"use strict";var wj=pa&&pa.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(pa,"__esModule",{value:!0});var hi=pe(),Ft=Mt(),Cc=rs(),Es=as(),Sj=hb(),xj=wj(ob()),kj=Ec(),fb=class extends Ft.Parser{constructor(e,r={}){r.lexer=r.lexer||new xj.default(e,{unsafe:r.unsafe,tabWidth:r.tabWidth}),r.astProvider=r.astProvider||new Sj.ASTProvider,super(e,r);let n=this;n.nativeImports=[]}parseStatement(){let e=this;if(e.isType(hi.TokenType.Keyword))switch(e.token.value){case kj.GreyScriptKeyword.ImportCode:e.next();let n=e.parseNativeImportCodeStatement();e.lineRegistry.addItemToLines(n),e.backpatches.peek().body.push(n);return;default:break}return super.parseStatement()}parseFunctionDeclaration(e,r=!1,n=!1){let i=this;if(!Ft.Selectors.Function(i.token))return i.parseOr(r,n);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}),l=[];if(i.pushScope(o),!Ft.SelectorGroups.BlockEndOfLine(i.token)){for(i.requireToken(Ft.Selectors.LParenthesis,s.start);!Ft.SelectorGroups.FunctionDeclarationArgEnd(i.token);){let a=i.parseIdentifier(hi.ASTIdentifierKind.Argument),c=a;if(i.consume(Ft.Selectors.Assign)){let p=i.parseExpr(null),d=i.astProvider.assignmentStatement({variable:a,init:p,start:c.start,end:i.previousToken.end,range:[c.range[0],i.previousToken.range[1]],scope:i.currentScope});i.currentScope.definitions.push(d),l.push(d)}else{let p=i.astProvider.assignmentStatement({variable:a,init:i.astProvider.unknown({start:c.start,end:i.previousToken.end,range:[c.range[0],i.previousToken.range[1]],scope:i.currentScope}),start:c.start,end:i.previousToken.end,range:[c.range[0],i.previousToken.range[1]],scope:i.currentScope});i.currentScope.definitions.push(p),l.push(a)}if(Ft.Selectors.RParenthesis(i.token))break;if(i.requireToken(Ft.Selectors.ArgumentSeperator,s.start),Ft.Selectors.RParenthesis(i.token)){i.raise("expected argument instead received right parenthesis",new Es.Range(i.previousToken.end,i.previousToken.end));break}}i.requireToken(Ft.Selectors.RParenthesis,s.start)}o.parameters=l;let u=new hi.PendingFunction(o,e,i.lineRegistry);return i.backpatches.push(u),o}parseNativeImportCodeStatement(){var e,r,n,i;let s=this,o=s.previousToken;if(!s.consume(Ft.Selectors.LParenthesis))return s.raise("expected import_code to have opening parenthesis",new Es.Range(o.start,new Cc.Position((e=s.token.lastLine)!==null&&e!==void 0?e:s.token.line,s.token.end.character))),s.parseInvalidCode();let l;if(hi.TokenType.StringLiteral===s.token.type)l=s.token.value,s.next();else return s.raise("expected import_code argument to be string literal",new Es.Range(o.start,new Cc.Position((r=s.token.lastLine)!==null&&r!==void 0?r:s.token.line,s.token.end.character))),s.parseInvalidCode();if(s.consume(Ft.Selectors.ImportCodeSeperator)){if(!s.isType(hi.TokenType.StringLiteral))return s.raise("expected import_code argument to be string literal",new Es.Range(o.start,new Cc.Position((n=s.token.lastLine)!==null&&n!==void 0?n:s.token.line,s.token.end.character))),s.parseInvalidCode();l=s.token.value,console.warn("Warning: Second import_code argument is deprecated. Use the first argument for the file system path instead."),s.next()}if(!s.consume(Ft.Selectors.RParenthesis))return s.raise("expected import_code to have closing parenthesis",new Es.Range(o.start,new Cc.Position((i=s.token.lastLine)!==null&&i!==void 0?i:s.token.line,s.token.end.character))),s.parseInvalidCode();let u=s.astProvider.importCodeExpression({directory:l,start:o.start,end:s.previousToken.end,range:[o.range[0],s.previousToken.range[1]],scope:s.currentScope});return s.nativeImports.push(u),u}parseChunk(){let e=this;e.next();let r=e.token,n=e.astProvider.chunk({start:r.start,end:null,range:[r.range[0],null]}),i=new hi.PendingChunk(n,e.lineRegistry);for(e.backpatches.setDefault(i),e.pushScope(n);!Ft.Selectors.EndOfFile(e.token)&&(e.skipNewlines(),!Ft.Selectors.EndOfFile(e.token));)e.lexer.recordSnapshot(),e.statementErrors=[],e.parseStatement(),e.statementErrors.length>0&&e.tryToRecover();let s=e.backpatches.pop();for(;!(0,hi.isPendingChunk)(s);){let o=e.raise(`found open block ${s.block.type}`,new Es.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),n.literals=e.literals,n.scopes=e.scopes,n.lines=e.lineRegistry.lines,n.nativeImports=e.nativeImports,n.imports=e.imports,n.includes=e.includes,n.injects=e.injects,n}};pa.default=fb});var Yn=T(Dt=>{"use strict";var Tj=Dt&&Dt.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),aT=Dt&&Dt.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Tj(e,t,r)},mb=Dt&&Dt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Dt,"__esModule",{value:!0});Dt.Parser=Dt.LexerValidator=Dt.Lexer=void 0;var Ij=ob();Object.defineProperty(Dt,"Lexer",{enumerable:!0,get:function(){return mb(Ij).default}});var Ej=ib();Object.defineProperty(Dt,"LexerValidator",{enumerable:!0,get:function(){return mb(Ej).default}});var Rj=oT();Object.defineProperty(Dt,"Parser",{enumerable:!0,get:function(){return mb(Rj).default}});aT(hb(),Dt);aT(Ec(),Dt)});var lT=T(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});Ac.AVAILABLE_KEYWORDS=void 0;var Rs=Mt(),Pj=Yn(),Lt=pe();Ac.AVAILABLE_KEYWORDS=[Lt.Keyword.If,Lt.Keyword.In,Lt.Keyword.Or,Lt.Keyword.And,Lt.Keyword.Isa,Lt.Keyword.For,Lt.Keyword.New,Lt.Keyword.Not,Lt.Keyword.End,Lt.Keyword.Then,Lt.Keyword.Else,Lt.Keyword.Break,Lt.Keyword.While,Lt.Keyword.Return,Lt.Keyword.Function,Lt.Keyword.Continue,Pj.GreyScriptKeyword.ImportCode,Rs.GreybelKeyword.Envar,Rs.GreybelKeyword.Import,Rs.GreybelKeyword.Include,Rs.GreybelKeyword.Debugger,Rs.GreybelKeyword.Line,Rs.GreybelKeyword.File].map(t=>({label:t,kind:14}))});var uT=T(Oc=>{"use strict";Object.defineProperty(Oc,"__esModule",{value:!0});Oc.AVAILABLE_OPERATORS=void 0;var da=_s(),_t=pe();Oc.AVAILABLE_OPERATORS=[_t.Operator.Plus,_t.Operator.Asterik,_t.Operator.Minus,_t.Operator.Slash,_t.Operator.Power,_t.Operator.Modulo,_t.Operator.LessThan,_t.Operator.GreaterThan,_t.Operator.LessThanOrEqual,_t.Operator.GreaterThanOrEqual,_t.Operator.NotEqual,_t.Operator.Equal,_t.Operator.AddShorthand,_t.Operator.SubtractShorthand,_t.Operator.MultiplyShorthand,_t.Operator.DivideShorthand,da.Operator.BitwiseAnd,da.Operator.BitwiseOr,da.Operator.LeftShift,da.Operator.RightShift,da.Operator.UnsignedRightShift,_t.Operator.Assign,_t.Operator.Reference].map(t=>({label:t,kind:24}))});var pT=T(tn=>{"use strict";Object.defineProperty(tn,"__esModule",{value:!0});tn.activate=tn.getDefaultCompletionList=tn.getPropertyCompletionList=void 0;var cT=pe(),Cj=nT(),Aj=Is(),Oj=iT(),Dj=lT(),Lj=uT(),jj=(t,e)=>F(tn,null,function*(){let r=yield t.lookupBasePath(e);return r===null?null:r.getAvailableIdentifier()});tn.getPropertyCompletionList=jj;var Mj=()=>[...Dj.AVAILABLE_KEYWORDS,...Lj.AVAILABLE_OPERATORS,...Oj.AVAILABLE_CONSTANTS];tn.getDefaultCompletionList=Mj;function qj(t){t.connection.onCompletion(e=>F(this,null,function*(){if(!t.getConfiguration().autocomplete)return;let r=yield t.fs.getTextDocument(e.textDocument.uri);if(r==null)return;let n=yield t.documentManager.getLatest(r),i=new Aj.LookupHelper(n.textDocument,t),s=i.lookupAST(e.position),o=new Cj.CompletionListBuilder;if(s){let{closest:l}=s;l instanceof cT.ASTMemberExpression?o.addCollection(yield(0,tn.getPropertyCompletionList)(i,l)):l instanceof cT.ASTIndexExpression?o.addCollection(yield(0,tn.getPropertyCompletionList)(i,l)):(o.setDefault((0,tn.getDefaultCompletionList)()),o.addCollection(yield i.findAllAvailableIdentifierRelatedToPosition(s.closest)))}else o.setDefault((0,tn.getDefaultCompletionList)()),o.addCollection(yield i.findAllAvailableIdentifierInRoot());return o.build()})),t.connection.onCompletionResolve(e=>e)}tn.activate=qj});var hT=T((sV,dT)=>{"use strict";dT.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 gb=T((oV,mT)=>{var ha=hT(),fT={};for(let t of Object.keys(ha))fT[ha[t]]=t;var J={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"]}};mT.exports=J;for(let t of Object.keys(J)){if(!("channels"in J[t]))throw new Error("missing channels property: "+t);if(!("labels"in J[t]))throw new Error("missing channel labels property: "+t);if(J[t].labels.length!==J[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:r}=J[t];delete J[t].channels,delete J[t].labels,Object.defineProperty(J[t],"channels",{value:e}),Object.defineProperty(J[t],"labels",{value:r})}J.rgb.hsl=function(t){let e=t[0]/255,r=t[1]/255,n=t[2]/255,i=Math.min(e,r,n),s=Math.max(e,r,n),o=s-i,l,u;s===i?l=0:e===s?l=(r-n)/o:r===s?l=2+(n-e)/o:n===s&&(l=4+(e-r)/o),l=Math.min(l*60,360),l<0&&(l+=360);let a=(i+s)/2;return s===i?u=0:a<=.5?u=o/(s+i):u=o/(2-s-i),[l,u*100,a*100]};J.rgb.hsv=function(t){let e,r,n,i,s,o=t[0]/255,l=t[1]/255,u=t[2]/255,a=Math.max(o,l,u),c=a-Math.min(o,l,u),p=function(d){return(a-d)/6/c+1/2};return c===0?(i=0,s=0):(s=c/a,e=p(o),r=p(l),n=p(u),o===a?i=n-r:l===a?i=1/3+e-n:u===a&&(i=2/3+r-e),i<0?i+=1:i>1&&(i-=1)),[i*360,s*100,a*100]};J.rgb.hwb=function(t){let e=t[0],r=t[1],n=t[2],i=J.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(r,n));return n=1-1/255*Math.max(e,Math.max(r,n)),[i,s*100,n*100]};J.rgb.cmyk=function(t){let e=t[0]/255,r=t[1]/255,n=t[2]/255,i=Math.min(1-e,1-r,1-n),s=(1-e-i)/(1-i)||0,o=(1-r-i)/(1-i)||0,l=(1-n-i)/(1-i)||0;return[s*100,o*100,l*100,i*100]};function Fj(t,e){return ut(t[0]-e[0],2)+ut(t[1]-e[1],2)+ut(t[2]-e[2],2)}J.rgb.keyword=function(t){let e=fT[t];if(e)return e;let r=1/0,n;for(let i of Object.keys(ha)){let s=ha[i],o=Fj(t,s);o<r&&(r=o,n=i)}return n};J.keyword.rgb=function(t){return ha[t]};J.rgb.xyz=function(t){let e=t[0]/255,r=t[1]/255,n=t[2]/255;e=e>.04045?ut((e+.055)/1.055,2.4):e/12.92,r=r>.04045?ut((r+.055)/1.055,2.4):r/12.92,n=n>.04045?ut((n+.055)/1.055,2.4):n/12.92;let i=e*.4124+r*.3576+n*.1805,s=e*.2126+r*.7152+n*.0722,o=e*.0193+r*.1192+n*.9505;return[i*100,s*100,o*100]};J.rgb.lab=function(t){let e=J.rgb.xyz(t),r=e[0],n=e[1],i=e[2];r/=95.047,n/=100,i/=108.883,r=r>.008856?ut(r,1/3):7.787*r+16/116,n=n>.008856?ut(n,1/3):7.787*n+16/116,i=i>.008856?ut(i,1/3):7.787*i+16/116;let s=116*n-16,o=500*(r-n),l=200*(n-i);return[s,o,l]};J.hsl.rgb=function(t){let e=t[0]/360,r=t[1]/100,n=t[2]/100,i,s,o;if(r===0)return o=n*255,[o,o,o];n<.5?i=n*(1+r):i=n+r-n*r;let l=2*n-i,u=[0,0,0];for(let a=0;a<3;a++)s=e+1/3*-(a-1),s<0&&s++,s>1&&s--,6*s<1?o=l+(i-l)*6*s:2*s<1?o=i:3*s<2?o=l+(i-l)*(2/3-s)*6:o=l,u[a]=o*255;return u};J.hsl.hsv=function(t){let e=t[0],r=t[1]/100,n=t[2]/100,i=r,s=Math.max(n,.01);n*=2,r*=n<=1?n:2-n,i*=s<=1?s:2-s;let o=(n+r)/2,l=n===0?2*i/(s+i):2*r/(n+r);return[e,l*100,o*100]};J.hsv.rgb=function(t){let e=t[0]/60,r=t[1]/100,n=t[2]/100,i=Math.floor(e)%6,s=e-Math.floor(e),o=255*n*(1-r),l=255*n*(1-r*s),u=255*n*(1-r*(1-s));switch(n*=255,i){case 0:return[n,u,o];case 1:return[l,n,o];case 2:return[o,n,u];case 3:return[o,l,n];case 4:return[u,o,n];case 5:return[n,o,l]}};J.hsv.hsl=function(t){let e=t[0],r=t[1]/100,n=t[2]/100,i=Math.max(n,.01),s,o;o=(2-r)*n;let l=(2-r)*i;return s=r*i,s/=l<=1?l:2-l,s=s||0,o/=2,[e,s*100,o*100]};J.hwb.rgb=function(t){let e=t[0]/360,r=t[1]/100,n=t[2]/100,i=r+n,s;i>1&&(r/=i,n/=i);let o=Math.floor(6*e),l=1-n;s=6*e-o,o&1&&(s=1-s);let u=r+s*(l-r),a,c,p;switch(o){default:case 6:case 0:a=l,c=u,p=r;break;case 1:a=u,c=l,p=r;break;case 2:a=r,c=l,p=u;break;case 3:a=r,c=u,p=l;break;case 4:a=u,c=r,p=l;break;case 5:a=l,c=r,p=u;break}return[a*255,c*255,p*255]};J.cmyk.rgb=function(t){let e=t[0]/100,r=t[1]/100,n=t[2]/100,i=t[3]/100,s=1-Math.min(1,e*(1-i)+i),o=1-Math.min(1,r*(1-i)+i),l=1-Math.min(1,n*(1-i)+i);return[s*255,o*255,l*255]};J.xyz.rgb=function(t){let e=t[0]/100,r=t[1]/100,n=t[2]/100,i,s,o;return i=e*3.2406+r*-1.5372+n*-.4986,s=e*-.9689+r*1.8758+n*.0415,o=e*.0557+r*-.204+n*1.057,i=i>.0031308?1.055*ut(i,1/2.4)-.055:i*12.92,s=s>.0031308?1.055*ut(s,1/2.4)-.055:s*12.92,o=o>.0031308?1.055*ut(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]};J.xyz.lab=function(t){let e=t[0],r=t[1],n=t[2];e/=95.047,r/=100,n/=108.883,e=e>.008856?ut(e,1/3):7.787*e+16/116,r=r>.008856?ut(r,1/3):7.787*r+16/116,n=n>.008856?ut(n,1/3):7.787*n+16/116;let i=116*r-16,s=500*(e-r),o=200*(r-n);return[i,s,o]};J.lab.xyz=function(t){let e=t[0],r=t[1],n=t[2],i,s,o;s=(e+16)/116,i=r/500+s,o=s-n/200;let l=ut(s,3),u=ut(i,3),a=ut(o,3);return s=l>.008856?l:(s-16/116)/7.787,i=u>.008856?u:(i-16/116)/7.787,o=a>.008856?a:(o-16/116)/7.787,i*=95.047,s*=100,o*=108.883,[i,s,o]};J.lab.lch=function(t){let e=t[0],r=t[1],n=t[2],i;i=Math.atan2(n,r)*360/2/Math.PI,i<0&&(i+=360);let o=Math.sqrt(r*r+n*n);return[e,o,i]};J.lch.lab=function(t){let e=t[0],r=t[1],i=t[2]/360*2*Math.PI,s=r*Math.cos(i),o=r*Math.sin(i);return[e,s,o]};J.rgb.ansi16=function(t,e=null){let[r,n,i]=t,s=e===null?J.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(n/255)<<1|Math.round(r/255));return s===2&&(o+=60),o};J.hsv.ansi16=function(t){return J.rgb.ansi16(J.hsv.rgb(t),t[2])};J.rgb.ansi256=function(t){let e=t[0],r=t[1],n=t[2];return e===r&&r===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5)};J.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 r=(~~(t>50)+1)*.5,n=(e&1)*r*255,i=(e>>1&1)*r*255,s=(e>>2&1)*r*255;return[n,i,s]};J.ansi256.rgb=function(t){if(t>=232){let s=(t-232)*10+8;return[s,s,s]}t-=16;let e,r=Math.floor(t/36)/5*255,n=Math.floor((e=t%36)/6)/5*255,i=e%6/5*255;return[r,n,i]};J.rgb.hex=function(t){let r=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};J.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 r=e[0];e[0].length===3&&(r=r.split("").map(l=>l+l).join(""));let n=parseInt(r,16),i=n>>16&255,s=n>>8&255,o=n&255;return[i,s,o]};J.rgb.hcg=function(t){let e=t[0]/255,r=t[1]/255,n=t[2]/255,i=Math.max(Math.max(e,r),n),s=Math.min(Math.min(e,r),n),o=i-s,l,u;return o<1?l=s/(1-o):l=0,o<=0?u=0:i===e?u=(r-n)/o%6:i===r?u=2+(n-e)/o:u=4+(e-r)/o,u/=6,u%=1,[u*360,o*100,l*100]};J.hsl.hcg=function(t){let e=t[1]/100,r=t[2]/100,n=r<.5?2*e*r:2*e*(1-r),i=0;return n<1&&(i=(r-.5*n)/(1-n)),[t[0],n*100,i*100]};J.hsv.hcg=function(t){let e=t[1]/100,r=t[2]/100,n=e*r,i=0;return n<1&&(i=(r-n)/(1-n)),[t[0],n*100,i*100]};J.hcg.rgb=function(t){let e=t[0]/360,r=t[1]/100,n=t[2]/100;if(r===0)return[n*255,n*255,n*255];let i=[0,0,0],s=e%1*6,o=s%1,l=1-o,u=0;switch(Math.floor(s)){case 0:i[0]=1,i[1]=o,i[2]=0;break;case 1:i[0]=l,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]=l,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]=l}return u=(1-r)*n,[(r*i[0]+u)*255,(r*i[1]+u)*255,(r*i[2]+u)*255]};J.hcg.hsv=function(t){let e=t[1]/100,r=t[2]/100,n=e+r*(1-e),i=0;return n>0&&(i=e/n),[t[0],i*100,n*100]};J.hcg.hsl=function(t){let e=t[1]/100,n=t[2]/100*(1-e)+.5*e,i=0;return n>0&&n<.5?i=e/(2*n):n>=.5&&n<1&&(i=e/(2*(1-n))),[t[0],i*100,n*100]};J.hcg.hwb=function(t){let e=t[1]/100,r=t[2]/100,n=e+r*(1-e);return[t[0],(n-e)*100,(1-n)*100]};J.hwb.hcg=function(t){let e=t[1]/100,n=1-t[2]/100,i=n-e,s=0;return i<1&&(s=(n-i)/(1-i)),[t[0],i*100,s*100]};J.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};J.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};J.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};J.gray.hsl=function(t){return[0,0,t[0]]};J.gray.hsv=J.gray.hsl;J.gray.hwb=function(t){return[0,100,t[0]]};J.gray.cmyk=function(t){return[0,0,0,t[0]]};J.gray.lab=function(t){return[t[0],0,0]};J.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,n=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(n.length)+n};J.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var yT=T((lV,gT)=>{var Dc=gb();function Nj(){let t={},e=Object.keys(Dc);for(let r=e.length,n=0;n<r;n++)t[e[n]]={distance:-1,parent:null};return t}function $j(t){let e=Nj(),r=[t];for(e[t].distance=0;r.length;){let n=r.pop(),i=Object.keys(Dc[n]);for(let s=i.length,o=0;o<s;o++){let l=i[o],u=e[l];u.distance===-1&&(u.distance=e[n].distance+1,u.parent=n,r.unshift(l))}}return e}function Bj(t,e){return function(r){return e(t(r))}}function Uj(t,e){let r=[e[t].parent,t],n=Dc[e[t].parent][t],i=e[t].parent;for(;e[i].parent;)r.unshift(e[i].parent),n=Bj(Dc[e[i].parent][i],n),i=e[i].parent;return n.conversion=r,n}gT.exports=function(t){let e=$j(t),r={},n=Object.keys(e);for(let i=n.length,s=0;s<i;s++){let o=n[s];e[o].parent!==null&&(r[o]=Uj(o,e))}return r}});var vT=T((uV,bT)=>{var yb=gb(),Wj=yT(),Ps={},Vj=Object.keys(yb);function Hj(t){let e=function(...r){let n=r[0];return n==null?n:(n.length>1&&(r=n),t(r))};return"conversion"in t&&(e.conversion=t.conversion),e}function zj(t){let e=function(...r){let n=r[0];if(n==null)return n;n.length>1&&(r=n);let i=t(r);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}Vj.forEach(t=>{Ps[t]={},Object.defineProperty(Ps[t],"channels",{value:yb[t].channels}),Object.defineProperty(Ps[t],"labels",{value:yb[t].labels});let e=Wj(t);Object.keys(e).forEach(n=>{let i=e[n];Ps[t][n]=zj(i),Ps[t][n].raw=Hj(i)})});bT.exports=Ps});var wT=T(Cs=>{"use strict";var Kj=Cs&&Cs.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Cs,"__esModule",{value:!0});Cs.activate=void 0;var bb=Kj(vT()),Gj=pe(),_T;(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"})(_T||(_T={}));var vb={black:"#000000",blue:"#0000FF",green:"#00FF00",orange:"#FF8800",purple:"#CC8899",red:"#FF0000",white:"#FFFFFF",yellow:"#FFFF00"},Yj=()=>new RegExp(`(?:mark|color)=(${Object.keys(vb).join("|")}|(?:#[0-9a-f]{6}|#[0-9a-f]{3}))`,"ig"),Jj=Object.prototype.hasOwnProperty;function Qj(t){t.connection.onColorPresentation(e=>[{label:`#${bb.default.rgb.hex(e.color.red*255,e.color.green*255,e.color.blue*255)}`}]),t.connection.onDocumentColor(e=>F(this,null,function*(){let r=yield t.fs.getTextDocument(e.textDocument.uri);if(r==null)return;let s=(yield t.documentManager.getLatest(r)).document.literals.filter(u=>u.type===Gj.ASTType.StringLiteral),o=[],l=({match:u,markup:a,value:c,astPosition:p,lineIndex:d})=>{let h=u.index+a.indexOf("=")+1,g=h+c.length,f=p.line-1+d,m=h,b=g;return d===0&&(m+=p.character,b+=p.character),{start:{line:f,character:m},end:{line:f,character:b}}};for(let u=0;u<s.length;u++){let a=s[u];if(!a.start)continue;let c=a.start,p=a.value.toString().split(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "greybel-languageserver-browser",
3
- "version": "1.8.1",
3
+ "version": "1.8.2",
4
4
  "description": "Language server for GreyScript",
5
5
  "main": "./index.js",
6
6
  "scripts": {
@@ -73,7 +73,7 @@
73
73
  "greyscript-core": "~2.5.1",
74
74
  "greyscript-meta": "~4.2.0",
75
75
  "greyscript-transpiler": "~1.6.1",
76
- "miniscript-type-analyzer": "~0.20.1",
76
+ "miniscript-type-analyzer": "~0.20.2",
77
77
  "greybel-languageserver-core": "~1.8.0"
78
78
  }
79
79
  }