@hoox-sh/pynets 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +59 -0
- package/README.md +20 -9
- package/dist/browser.js +95 -34
- package/dist/index.d.ts +1 -1
- package/dist/index.js +23002 -12427
- package/package.json +1 -1
- package/src/ast/builder.ts +235 -12
- package/src/ast/nodes.ts +114 -4
- package/src/ast/unparse.ts +192 -17
- package/src/cli/rich.ts +4 -3
- package/src/cli.ts +29 -7
- package/src/generated/PinescriptLexer.interp +5 -1
- package/src/generated/PinescriptLexer.tokens +97 -95
- package/src/generated/PinescriptLexer.ts +512 -502
- package/src/generated/PinescriptParser.interp +8 -1
- package/src/generated/PinescriptParser.tokens +97 -95
- package/src/generated/PinescriptParser.ts +1907 -1287
- package/src/generated/PinescriptParserVisitor.ts +36 -1
- package/src/index.ts +22 -0
- package/src/runtime/array.ts +238 -68
- package/src/runtime/compile/collections.ts +492 -0
- package/src/runtime/compile/draw.ts +181 -0
- package/src/runtime/compile/emit.ts +1421 -0
- package/src/runtime/compile/emit_call.ts +1796 -0
- package/src/runtime/compile/emit_udf.ts +326 -0
- package/src/runtime/compile/engine.ts +265 -0
- package/src/runtime/compile/helpers.ts +140 -0
- package/src/runtime/compile/index.ts +33 -0
- package/src/runtime/compile/runtime.ts +357 -0
- package/src/runtime/compile/strategy.ts +250 -0
- package/src/runtime/compile/types.ts +127 -0
- package/src/runtime/compile/udt_runtime.ts +50 -0
- package/src/runtime/drawings.ts +405 -8
- package/src/runtime/interpret.ts +2387 -281
- package/src/runtime/matrix.ts +371 -42
- package/src/runtime/strategy.ts +695 -33
- package/src/runtime/ta.ts +654 -20
- package/src/runtime/timeframe.ts +199 -0
package/dist/browser.js
CHANGED
|
@@ -1,44 +1,105 @@
|
|
|
1
|
-
var LL={763:()=>{}},Z3={};function J1(T){var L=Z3[T];if(L!==void 0)return L.exports;var I=Z3[T]={exports:{}};return LL[T](I,I.exports,J1),I.exports}J1.d=(T,L)=>{for(var I in L)J1.o(L,I)&&!J1.o(T,I)&&Object.defineProperty(T,I,{enumerable:!0,get:L[I]})},J1.o=(T,L)=>Object.prototype.hasOwnProperty.call(T,L);var c={};J1.d(c,{MG:()=>a,fr:()=>c6,sR:()=>K4,Zo:()=>I1,iH:()=>w3,rt:()=>v0,jB:()=>X4,M8:()=>J4,$t:()=>e1,aq:()=>W4,pG:()=>P1,eP:()=>o6,KU:()=>W1,zW:()=>v6,IX:()=>x,mY:()=>H0,a7:()=>D1,JG:()=>t,ay:()=>n,X2:()=>t1,WU:()=>l6,Uw:()=>Z4,gw:()=>a1,iX:()=>i6,re:()=>U4,Pg:()=>r6,tD:()=>S4,R$:()=>Q0,Dj:()=>r0,m7:()=>_1,NZ:()=>j1,xo:()=>y0,ou:()=>M,qC:()=>l0,mD:()=>o0,Ay:()=>DL});class M{constructor(){this.source=null,this.type=null,this.channel=null,this.start=null,this.stop=null,this.tokenIndex=null,this.line=null,this.column=null,this._text=null}getTokenSource(){return this.source[0]}getInputStream(){return this.source[1]}get text(){return this._text}set text(T){this._text=T}}function E1(T,L){if(!Array.isArray(T)||!Array.isArray(L))return!1;if(T===L)return!0;if(T.length!==L.length)return!1;for(let I=0;I<T.length;I++)if(!(T[I]===L[I]||T[I].equals&&T[I].equals(L[I])))return!1;return!0}M.INVALID_TYPE=0,M.EPSILON=-2,M.MIN_USER_TOKEN_TYPE=1,M.EOF=-1,M.DEFAULT_CHANNEL=0,M.HIDDEN_CHANNEL=1;var IL=Math.round(Math.random()*Math.pow(2,32));function X3(T){if(!T)return 0;let L=typeof T,I=L==="string"?T:!(L!=="object"||!T.toString)&&T.toString();if(!I)return 0;let _,R,$=3&I.length,G=I.length-$,Q=IL,U=3432918353,O=461845907,J=0;for(;J<G;)R=255&I.charCodeAt(J)|(255&I.charCodeAt(++J))<<8|(255&I.charCodeAt(++J))<<16|(255&I.charCodeAt(++J))<<24,++J,R=(65535&R)*U+(((R>>>16)*U&65535)<<16)&4294967295,R=R<<15|R>>>17,R=(65535&R)*O+(((R>>>16)*O&65535)<<16)&4294967295,Q^=R,Q=Q<<13|Q>>>19,_=5*(65535&Q)+((5*(Q>>>16)&65535)<<16)&4294967295,Q=27492+(65535&_)+((58964+(_>>>16)&65535)<<16);switch(R=0,$){case 3:R^=(255&I.charCodeAt(J+2))<<16;case 2:R^=(255&I.charCodeAt(J+1))<<8;case 1:R^=255&I.charCodeAt(J),R=(65535&R)*U+(((R>>>16)*U&65535)<<16)&4294967295,R=R<<15|R>>>17,R=(65535&R)*O+(((R>>>16)*O&65535)<<16)&4294967295,Q^=R}return Q^=I.length,Q^=Q>>>16,Q=2246822507*(65535&Q)+((2246822507*(Q>>>16)&65535)<<16)&4294967295,Q^=Q>>>13,Q=3266489909*(65535&Q)+((3266489909*(Q>>>16)&65535)<<16)&4294967295,Q^=Q>>>16,Q>>>0}class k0{constructor(){this.count=0,this.hash=0}update(){for(let T=0;T<arguments.length;T++){let L=arguments[T];if(L!=null)if(Array.isArray(L))this.update.apply(this,L);else{let I=0;switch(typeof L){case"undefined":case"function":continue;case"number":case"boolean":I=L;break;case"string":I=X3(L);break;default:L.updateHashCode?L.updateHashCode(this):console.log("No updateHashCode for "+L.toString());continue}I*=3432918353,I=I<<15|I>>>17,I*=461845907,this.count=this.count+1;let _=this.hash^I;_=_<<13|_>>>19,_=5*_+3864292196,this.hash=_}}}finish(){let T=this.hash^4*this.count;return T^=T>>>16,T*=2246822507,T^=T>>>13,T*=3266489909,T^=T>>>16,T}static hashStuff(){let T=new k0;return T.update.apply(T,arguments),T.finish()}}function B3(T){return T?typeof T=="string"?X3(T):T.hashCode():-1}function z3(T,L){return T&&T.equals?T.equals(L):T===L}function _L(T){return T===null?"null":T}function o0(T){return Array.isArray(T)?"["+T.map(_L).join(", ")+"]":"null"}class z0{constructor(T,L){this.buckets=Array(16),this.threshold=Math.floor(12),this.itemCount=0,this.hashFunction=T||B3,this.equalsFunction=L||z3}get(T){if(T==null)return T;let L=this._getBucket(T);if(!L)return null;for(let I of L)if(this.equalsFunction(I,T))return I;return null}add(T){return this.getOrAdd(T)===T}getOrAdd(T){this._expand();let L=this._getSlot(T),I=this.buckets[L];if(!I)return I=[T],this.buckets[L]=I,this.itemCount++,T;for(let _ of I)if(this.equalsFunction(_,T))return _;return I.push(T),this.itemCount++,T}has(T){return this.get(T)!=null}values(){return this.buckets.filter((T)=>T!=null).flat(1)}toString(){return o0(this.values())}get length(){return this.itemCount}_getSlot(T){return this.hashFunction(T)&this.buckets.length-1}_getBucket(T){return this.buckets[this._getSlot(T)]}_expand(){if(this.itemCount<=this.threshold)return;let T=this.buckets,L=2*this.buckets.length;this.buckets=Array(L),this.threshold=Math.floor(0.75*L);for(let I of T)if(I)for(let _ of I){let R=this._getSlot(_),$=this.buckets[R];$||($=[],this.buckets[R]=$),$.push(_)}}}class o{hashCode(){let T=new k0;return this.updateHashCode(T),T.finish()}evaluate(T,L){}evalPrecedence(T,L){return this}static andContext(T,L){if(T===null||T===o.NONE)return L;if(L===null||L===o.NONE)return T;let I=new o1(T,L);return I.opnds.length===1?I.opnds[0]:I}static orContext(T,L){if(T===null)return L;if(L===null)return T;if(T===o.NONE||L===o.NONE)return o.NONE;let I=new v1(T,L);return I.opnds.length===1?I.opnds[0]:I}}class o1 extends o{constructor(T,L){super();let I=new z0;T instanceof o1?T.opnds.map(function(R){I.add(R)}):I.add(T),L instanceof o1?L.opnds.map(function(R){I.add(R)}):I.add(L);let _=H3(I);if(_.length>0){let R=null;_.map(function($){(R===null||$.precedence<R.precedence)&&(R=$)}),I.add(R)}this.opnds=Array.from(I.values())}equals(T){return this===T||T instanceof o1&&E1(this.opnds,T.opnds)}updateHashCode(T){T.update(this.opnds,"AND")}evaluate(T,L){for(let I=0;I<this.opnds.length;I++)if(!this.opnds[I].evaluate(T,L))return!1;return!0}evalPrecedence(T,L){let I=!1,_=[];for(let $=0;$<this.opnds.length;$++){let G=this.opnds[$],Q=G.evalPrecedence(T,L);if(I|=Q!==G,Q===null)return null;Q!==o.NONE&&_.push(Q)}if(!I)return this;if(_.length===0)return o.NONE;let R=null;return _.map(function($){R=R===null?$:o.andContext(R,$)}),R}toString(){let T=this.opnds.map((L)=>L.toString());return(T.length>3?T.slice(3):T).join("&&")}}class v1 extends o{constructor(T,L){super();let I=new z0;T instanceof v1?T.opnds.map(function(R){I.add(R)}):I.add(T),L instanceof v1?L.opnds.map(function(R){I.add(R)}):I.add(L);let _=H3(I);if(_.length>0){let R=_.sort(function(G,Q){return G.compareTo(Q)}),$=R[R.length-1];I.add($)}this.opnds=Array.from(I.values())}equals(T){return this===T||T instanceof v1&&E1(this.opnds,T.opnds)}updateHashCode(T){T.update(this.opnds,"OR")}evaluate(T,L){for(let I=0;I<this.opnds.length;I++)if(this.opnds[I].evaluate(T,L))return!0;return!1}evalPrecedence(T,L){let I=!1,_=[];for(let R=0;R<this.opnds.length;R++){let $=this.opnds[R],G=$.evalPrecedence(T,L);if(I|=G!==$,G===o.NONE)return o.NONE;G!==null&&_.push(G)}if(!I)return this;if(_.length===0)return null;return _.map(function(R){return R}),null}toString(){let T=this.opnds.map((L)=>L.toString());return(T.length>3?T.slice(3):T).join("||")}}function H3(T){let L=[];return T.values().map(function(I){I instanceof o.PrecedencePredicate&&L.push(I)}),L}function W3(T,L){if(T===null){let I={state:null,alt:null,context:null,semanticContext:null};return L&&(I.reachesIntoOuterContext=0),I}{let I={};return I.state=T.state||null,I.alt=T.alt===void 0?null:T.alt,I.context=T.context||null,I.semanticContext=T.semanticContext||null,L&&(I.reachesIntoOuterContext=T.reachesIntoOuterContext||0,I.precedenceFilterSuppressed=T.precedenceFilterSuppressed||!1),I}}class T0{constructor(T,L){this.checkContext(T,L),T=W3(T),L=W3(L,!0),this.state=T.state!==null?T.state:L.state,this.alt=T.alt!==null?T.alt:L.alt,this.context=T.context!==null?T.context:L.context,this.semanticContext=T.semanticContext!==null?T.semanticContext:L.semanticContext!==null?L.semanticContext:o.NONE,this.reachesIntoOuterContext=L.reachesIntoOuterContext,this.precedenceFilterSuppressed=L.precedenceFilterSuppressed}checkContext(T,L){T.context!==null&&T.context!==void 0||L!==null&&L.context!==null&&L.context!==void 0||(this.context=null)}hashCode(){let T=new k0;return this.updateHashCode(T),T.finish()}updateHashCode(T){T.update(this.state.stateNumber,this.alt,this.context,this.semanticContext)}equals(T){return this===T||T instanceof T0&&this.state.stateNumber===T.state.stateNumber&&this.alt===T.alt&&(this.context===null?T.context===null:this.context.equals(T.context))&&this.semanticContext.equals(T.semanticContext)&&this.precedenceFilterSuppressed===T.precedenceFilterSuppressed}hashCodeForConfigSet(){let T=new k0;return T.update(this.state.stateNumber,this.alt,this.semanticContext),T.finish()}equalsForConfigSet(T){return this===T||T instanceof T0&&this.state.stateNumber===T.state.stateNumber&&this.alt===T.alt&&this.semanticContext.equals(T.semanticContext)}toString(){return"("+this.state+","+this.alt+(this.context!==null?",["+this.context.toString()+"]":"")+(this.semanticContext!==o.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext>0?",up="+this.reachesIntoOuterContext:"")+")"}}class x{constructor(T,L){this.start=T,this.stop=L}clone(){return new x(this.start,this.stop)}contains(T){return T>=this.start&&T<this.stop}toString(){return this.start===this.stop-1?this.start.toString():this.start.toString()+".."+(this.stop-1).toString()}get length(){return this.stop-this.start}}x.INVALID_INTERVAL=new x(-1,-2);class H0{constructor(){this.intervals=null,this.readOnly=!1}first(T){return this.intervals===null||this.intervals.length===0?M.INVALID_TYPE:this.intervals[0].start}addOne(T){this.addInterval(new x(T,T+1))}addRange(T,L){this.addInterval(new x(T,L+1))}addInterval(T){if(this.intervals===null)this.intervals=[],this.intervals.push(T.clone());else{for(let L=0;L<this.intervals.length;L++){let I=this.intervals[L];if(T.stop<I.start)return void this.intervals.splice(L,0,T);if(T.stop===I.start)return void(this.intervals[L]=new x(T.start,I.stop));if(T.start<=I.stop)return this.intervals[L]=new x(Math.min(I.start,T.start),Math.max(I.stop,T.stop)),void this.reduce(L)}this.intervals.push(T.clone())}}addSet(T){return T.intervals!==null&&T.intervals.forEach((L)=>this.addInterval(L),this),this}reduce(T){if(T<this.intervals.length-1){let L=this.intervals[T],I=this.intervals[T+1];L.stop>=I.stop?(this.intervals.splice(T+1,1),this.reduce(T)):L.stop>=I.start&&(this.intervals[T]=new x(L.start,I.stop),this.intervals.splice(T+1,1))}}complement(T,L){let I=new H0;return I.addInterval(new x(T,L+1)),this.intervals!==null&&this.intervals.forEach((_)=>I.removeRange(_)),I}contains(T){if(this.intervals===null)return!1;for(let L=0;L<this.intervals.length;L++)if(this.intervals[L].contains(T))return!0;return!1}removeRange(T){if(T.start===T.stop-1)this.removeOne(T.start);else if(this.intervals!==null){let L=0;for(let I=0;I<this.intervals.length;I++){let _=this.intervals[L];if(T.stop<=_.start)return;if(T.start>_.start&&T.stop<_.stop){this.intervals[L]=new x(_.start,T.start);let R=new x(T.stop,_.stop);return void this.intervals.splice(L,0,R)}T.start<=_.start&&T.stop>=_.stop?(this.intervals.splice(L,1),L-=1):T.start<_.stop?this.intervals[L]=new x(_.start,T.start):T.stop<_.stop&&(this.intervals[L]=new x(T.stop,_.stop)),L+=1}}}removeOne(T){if(this.intervals!==null)for(let L=0;L<this.intervals.length;L++){let I=this.intervals[L];if(T<I.start)return;if(T===I.start&&T===I.stop-1)return void this.intervals.splice(L,1);if(T===I.start)return void(this.intervals[L]=new x(I.start+1,I.stop));if(T===I.stop-1)return void(this.intervals[L]=new x(I.start,I.stop-1));if(T<I.stop-1){let _=new x(I.start,T);return I.start=T+1,void this.intervals.splice(L,0,_)}}}toString(T,L,I){return T=T||null,L=L||null,I=I||!1,this.intervals===null?"{}":T!==null||L!==null?this.toTokenString(T,L):I?this.toCharString():this.toIndexString()}toCharString(){let T=[];for(let L=0;L<this.intervals.length;L++){let I=this.intervals[L];I.stop===I.start+1?I.start===M.EOF?T.push("<EOF>"):T.push("'"+String.fromCharCode(I.start)+"'"):T.push("'"+String.fromCharCode(I.start)+"'..'"+String.fromCharCode(I.stop-1)+"'")}return T.length>1?"{"+T.join(", ")+"}":T[0]}toIndexString(){let T=[];for(let L=0;L<this.intervals.length;L++){let I=this.intervals[L];I.stop===I.start+1?I.start===M.EOF?T.push("<EOF>"):T.push(I.start.toString()):T.push(I.start.toString()+".."+(I.stop-1).toString())}return T.length>1?"{"+T.join(", ")+"}":T[0]}toTokenString(T,L){let I=[];for(let _=0;_<this.intervals.length;_++){let R=this.intervals[_];for(let $=R.start;$<R.stop;$++)I.push(this.elementName(T,L,$))}return I.length>1?"{"+I.join(", ")+"}":I[0]}elementName(T,L,I){return I===M.EOF?"<EOF>":I===M.EPSILON?"<EPSILON>":T[I]||L[I]}get length(){return this.intervals.map((T)=>T.length).reduce((T,L)=>T+L)}}class N{constructor(){this.atn=null,this.stateNumber=N.INVALID_STATE_NUMBER,this.stateType=null,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.nextTokenWithinRule=null}toString(){return this.stateNumber}equals(T){return T instanceof N&&this.stateNumber===T.stateNumber}isNonGreedyExitState(){return!1}addTransition(T,L){L===void 0&&(L=-1),this.transitions.length===0?this.epsilonOnlyTransitions=T.isEpsilon:this.epsilonOnlyTransitions!==T.isEpsilon&&(this.epsilonOnlyTransitions=!1),L===-1?this.transitions.push(T):this.transitions.splice(L,1,T)}}N.INVALID_TYPE=0,N.BASIC=1,N.RULE_START=2,N.BLOCK_START=3,N.PLUS_BLOCK_START=4,N.STAR_BLOCK_START=5,N.TOKEN_START=6,N.RULE_STOP=7,N.BLOCK_END=8,N.STAR_LOOP_BACK=9,N.STAR_LOOP_ENTRY=10,N.PLUS_LOOP_BACK=11,N.LOOP_END=12,N.serializationNames=["INVALID","BASIC","RULE_START","BLOCK_START","PLUS_BLOCK_START","STAR_BLOCK_START","TOKEN_START","RULE_STOP","BLOCK_END","STAR_LOOP_BACK","STAR_LOOP_ENTRY","PLUS_LOOP_BACK","LOOP_END"],N.INVALID_STATE_NUMBER=-1;class Z0 extends N{constructor(){return super(),this.stateType=N.RULE_STOP,this}}class P{constructor(T){if(T==null)throw"target cannot be null.";this.target=T,this.isEpsilon=!1,this.label=null}}P.EPSILON=1,P.RANGE=2,P.RULE=3,P.PREDICATE=4,P.ATOM=5,P.ACTION=6,P.SET=7,P.NOT_SET=8,P.WILDCARD=9,P.PRECEDENCE=10,P.serializationNames=["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"],P.serializationTypes={EpsilonTransition:P.EPSILON,RangeTransition:P.RANGE,RuleTransition:P.RULE,PredicateTransition:P.PREDICATE,AtomTransition:P.ATOM,ActionTransition:P.ACTION,SetTransition:P.SET,NotSetTransition:P.NOT_SET,WildcardTransition:P.WILDCARD,PrecedencePredicateTransition:P.PRECEDENCE};class r1 extends P{constructor(T,L,I,_){super(T),this.ruleIndex=L,this.precedence=I,this.followState=_,this.serializationType=P.RULE,this.isEpsilon=!0}matches(T,L,I){return!1}}class u6 extends P{constructor(T,L){super(T),this.serializationType=P.SET,L!=null?this.label=L:(this.label=new H0,this.label.addOne(M.INVALID_TYPE))}matches(T,L,I){return this.label.contains(T)}toString(){return this.label.toString()}}class g6 extends u6{constructor(T,L){super(T,L),this.serializationType=P.NOT_SET}matches(T,L,I){return T>=L&&T<=I&&!super.matches(T,L,I)}toString(){return"~"+super.toString()}}class n2 extends P{constructor(T){super(T),this.serializationType=P.WILDCARD}matches(T,L,I){return T>=L&&T<=I}toString(){return"."}}class f6 extends P{constructor(T){super(T)}}class V3{}class F3 extends V3{}class t2 extends F3{}class j1 extends t2{get ruleContext(){throw Error("missing interface implementation")}}class y0 extends t2{}class n1 extends y0{}var d0={toStringTree:function(T,L,I){L=L||null,(I=I||null)!==null&&(L=I.ruleNames);let _=d0.getNodeText(T,L);_=function(G){return G=G.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r")}(_);let R=T.getChildCount();if(R===0)return _;let $="("+_+" ";R>0&&(_=d0.toStringTree(T.getChild(0),L),$=$.concat(_));for(let G=1;G<R;G++)_=d0.toStringTree(T.getChild(G),L),$=$.concat(" "+_);return $=$.concat(")"),$},getNodeText:function(T,L,I){if(L=L||null,(I=I||null)!==null&&(L=I.ruleNames),L!==null){if(T instanceof j1){let R=T.ruleContext.getAltNumber();return R!=0?L[T.ruleIndex]+":"+R:L[T.ruleIndex]}if(T instanceof n1)return T.toString();if(T instanceof y0&&T.symbol!==null)return T.symbol.text}let _=T.getPayload();return _ instanceof M?_.text:T.getPayload().toString()},getChildren:function(T){let L=[];for(let I=0;I<T.getChildCount();I++)L.push(T.getChild(I));return L},getAncestors:function(T){let L=[];for(T=T.getParent();T!==null;)L=[T].concat(L),T=T.getParent();return L},findAllTokenNodes:function(T,L){return d0.findAllNodes(T,L,!0)},findAllRuleNodes:function(T,L){return d0.findAllNodes(T,L,!1)},findAllNodes:function(T,L,I){let _=[];return d0._findAllNodes(T,L,I,_),_},_findAllNodes:function(T,L,I,_){I&&T instanceof y0?T.symbol.type===L&&_.push(T):!I&&T instanceof j1&&T.ruleIndex===L&&_.push(T);for(let R=0;R<T.getChildCount();R++)d0._findAllNodes(T.getChild(R),L,I,_)},descendants:function(T){let L=[T];for(let I=0;I<T.getChildCount();I++)L=L.concat(d0.descendants(T.getChild(I)));return L}},q3=d0;class _1 extends j1{constructor(T,L){super(),this.parentCtx=T||null,this.invokingState=L||-1}depth(){let T=0,L=this;for(;L!==null;)L=L.parentCtx,T+=1;return T}isEmpty(){return this.invokingState===-1}getSourceInterval(){return x.INVALID_INTERVAL}get ruleContext(){return this}getPayload(){return this}getText(){return this.getChildCount()===0?"":this.children.map(function(T){return T.getText()}).join("")}getAltNumber(){return 0}setAltNumber(T){}getChild(T){return null}getChildCount(){return 0}accept(T){return T.visitChildren(this)}toStringTree(T,L){return q3.toStringTree(this,T,L)}toString(T,L){T=T||null,L=L||null;let I=this,_="[";for(;I!==null&&I!==L;){if(T===null)I.isEmpty()||(_+=I.invokingState);else{let R=I.ruleIndex;_+=R>=0&&R<T.length?T[R]:""+R}I.parentCtx===null||T===null&&I.parentCtx.isEmpty()||(_+=" "),I=I.parentCtx}return _+="]",_}}class A{constructor(T){this.cachedHashCode=T}isEmpty(){return this===A.EMPTY}hasEmptyPath(){return this.getReturnState(this.length-1)===A.EMPTY_RETURN_STATE}hashCode(){return this.cachedHashCode}updateHashCode(T){T.update(this.cachedHashCode)}}A.EMPTY=null,A.EMPTY_RETURN_STATE=2147483647,A.globalNodeCount=1,A.id=A.globalNodeCount,A.trace_atn_sim=!1;class f0 extends A{constructor(T,L){let I=new k0;return I.update(T,L),super(I.finish()),this.parents=T,this.returnStates=L,this}isEmpty(){return this.returnStates[0]===A.EMPTY_RETURN_STATE}getParent(T){return this.parents[T]}getReturnState(T){return this.returnStates[T]}equals(T){return this===T||T instanceof f0&&this.hashCode()===T.hashCode()&&E1(this.returnStates,T.returnStates)&&E1(this.parents,T.parents)}toString(){if(this.isEmpty())return"[]";{let T="[";for(let L=0;L<this.returnStates.length;L++)L>0&&(T+=", "),this.returnStates[L]!==A.EMPTY_RETURN_STATE?(T+=this.returnStates[L],this.parents[L]!==null?T=T+" "+this.parents[L]:T+="null"):T+="$";return T+"]"}}get length(){return this.returnStates.length}}class D0 extends A{constructor(T,L){let I=0,_=new k0;T!==null?_.update(T,L):_.update(1),I=_.finish(),super(I),this.parentCtx=T,this.returnState=L}getParent(T){return this.parentCtx}getReturnState(T){return this.returnState}equals(T){return this===T||T instanceof D0&&this.hashCode()===T.hashCode()&&this.returnState===T.returnState&&(this.parentCtx==null?T.parentCtx==null:this.parentCtx.equals(T.parentCtx))}toString(){let T=this.parentCtx===null?"":this.parentCtx.toString();return T.length===0?this.returnState===A.EMPTY_RETURN_STATE?"$":""+this.returnState:this.returnState+" "+T}get length(){return 1}static create(T,L){return L===A.EMPTY_RETURN_STATE&&T===null?A.EMPTY:new D0(T,L)}}class P6 extends D0{constructor(){super(null,A.EMPTY_RETURN_STATE)}isEmpty(){return!0}getParent(T){return null}getReturnState(T){return this.returnState}equals(T){return this===T}toString(){return"$"}}A.EMPTY=new P6;class C1{constructor(T,L){this.buckets=Array(16),this.threshold=Math.floor(12),this.itemCount=0,this.hashFunction=T||B3,this.equalsFunction=L||z3}set(T,L){this._expand();let I=this._getSlot(T),_=this.buckets[I];if(!_)return _=[[T,L]],this.buckets[I]=_,this.itemCount++,L;let R=_.find(($)=>this.equalsFunction($[0],T),this);if(R){let $=R[1];return R[1]=L,$}return _.push([T,L]),this.itemCount++,L}containsKey(T){let L=this._getBucket(T);return!!L&&!!L.find((I)=>this.equalsFunction(I[0],T),this)}get(T){let L=this._getBucket(T);if(!L)return null;let I=L.find((_)=>this.equalsFunction(_[0],T),this);return I?I[1]:null}entries(){return this.buckets.filter((T)=>T!=null).flat(1)}getKeys(){return this.entries().map((T)=>T[0])}getValues(){return this.entries().map((T)=>T[1])}toString(){return"["+this.entries().map((T)=>"{"+T[0]+":"+T[1]+"}").join(", ")+"]"}get length(){return this.itemCount}_getSlot(T){return this.hashFunction(T)&this.buckets.length-1}_getBucket(T){return this.buckets[this._getSlot(T)]}_expand(){if(this.itemCount<=this.threshold)return;let T=this.buckets,L=2*this.buckets.length;this.buckets=Array(L),this.threshold=Math.floor(0.75*L);for(let I of T)if(I)for(let _ of I){let R=this._getSlot(_[0]),$=this.buckets[R];$||($=[],this.buckets[R]=$),$.push(_)}}}function e2(T,L){if(L==null&&(L=_1.EMPTY),L.parentCtx===null||L===_1.EMPTY)return A.EMPTY;let I=e2(T,L.parentCtx),_=T.states[L.invokingState].transitions[0];return D0.create(I,_.followState.stateNumber)}function k3(T,L,I){if(T.isEmpty())return T;let _=I.get(T)||null;if(_!==null)return _;if(_=L.get(T),_!==null)return I.set(T,_),_;let R=!1,$=[];for(let Q=0;Q<$.length;Q++){let U=k3(T.getParent(Q),L,I);if(R||U!==T.getParent(Q)){if(!R){$=[];for(let O=0;O<T.length;O++)$[O]=T.getParent(O);R=!0}$[Q]=U}}if(!R)return L.add(T),I.set(T,T),T;let G=null;return G=$.length===0?A.EMPTY:$.length===1?D0.create($[0],T.getReturnState(0)):new f0($,T.returnStates),L.add(G),I.set(G,G),I.set(T,G),G}function m2(T,L,I,_){if(T===L)return T;if(T instanceof D0&&L instanceof D0)return function(R,$,G,Q){if(Q!==null){let O=Q.get(R,$);if(O!==null)return O;if(O=Q.get($,R),O!==null)return O}let U=function(O,J,D){if(D){if(O===A.EMPTY)return A.EMPTY;if(J===A.EMPTY)return A.EMPTY}else{if(O===A.EMPTY&&J===A.EMPTY)return A.EMPTY;if(O===A.EMPTY){let B=[J.returnState,A.EMPTY_RETURN_STATE],H=[J.parentCtx,null];return new f0(H,B)}if(J===A.EMPTY){let B=[O.returnState,A.EMPTY_RETURN_STATE],H=[O.parentCtx,null];return new f0(H,B)}}return null}(R,$,G);if(U!==null)return Q!==null&&Q.set(R,$,U),U;if(R.returnState===$.returnState){let O=m2(R.parentCtx,$.parentCtx,G,Q);if(O===R.parentCtx)return R;if(O===$.parentCtx)return $;let J=D0.create(O,R.returnState);return Q!==null&&Q.set(R,$,J),J}{let O=null;if((R===$||R.parentCtx!==null&&R.parentCtx===$.parentCtx)&&(O=R.parentCtx),O!==null){let H=[R.returnState,$.returnState];R.returnState>$.returnState&&(H[0]=$.returnState,H[1]=R.returnState);let z=new f0([O,O],H);return Q!==null&&Q.set(R,$,z),z}let J=[R.returnState,$.returnState],D=[R.parentCtx,$.parentCtx];R.returnState>$.returnState&&(J[0]=$.returnState,J[1]=R.returnState,D=[$.parentCtx,R.parentCtx]);let B=new f0(D,J);return Q!==null&&Q.set(R,$,B),B}}(T,L,I,_);if(I){if(T instanceof P6)return T;if(L instanceof P6)return L}return T instanceof D0&&(T=new f0([T.getParent()],[T.returnState])),L instanceof D0&&(L=new f0([L.getParent()],[L.returnState])),function(R,$,G,Q){if(Q!==null){let z=Q.get(R,$);if(z!==null)return A.trace_atn_sim&&console.log("mergeArrays a="+R+",b="+$+" -> previous"),z;if(z=Q.get($,R),z!==null)return A.trace_atn_sim&&console.log("mergeArrays a="+R+",b="+$+" -> previous"),z}let U=0,O=0,J=0,D=Array(R.returnStates.length+$.returnStates.length).fill(0),B=Array(R.returnStates.length+$.returnStates.length).fill(null);for(;U<R.returnStates.length&&O<$.returnStates.length;){let z=R.parents[U],X=$.parents[O];if(R.returnStates[U]===$.returnStates[O]){let k=R.returnStates[U];k===A.EMPTY_RETURN_STATE&&z===null&&X===null||z!==null&&X!==null&&z===X?(B[J]=z,D[J]=k):(B[J]=m2(z,X,G,Q),D[J]=k),U+=1,O+=1}else R.returnStates[U]<$.returnStates[O]?(B[J]=z,D[J]=R.returnStates[U],U+=1):(B[J]=X,D[J]=$.returnStates[O],O+=1);J+=1}if(U<R.returnStates.length)for(let z=U;z<R.returnStates.length;z++)B[J]=R.parents[z],D[J]=R.returnStates[z],J+=1;else for(let z=O;z<$.returnStates.length;z++)B[J]=$.parents[z],D[J]=$.returnStates[z],J+=1;if(J<B.length){if(J===1){let z=D0.create(B[0],D[0]);return Q!==null&&Q.set(R,$,z),z}B=B.slice(0,J),D=D.slice(0,J)}let H=new f0(B,D);return H.equals(R)?(Q!==null&&Q.set(R,$,R),A.trace_atn_sim&&console.log("mergeArrays a="+R+",b="+$+" -> a"),R):H.equals($)?(Q!==null&&Q.set(R,$,$),A.trace_atn_sim&&console.log("mergeArrays a="+R+",b="+$+" -> b"),$):(function(z){let X=new C1;for(let k=0;k<z.length;k++){let C=z[k];X.containsKey(C)||X.set(C,C)}for(let k=0;k<z.length;k++)z[k]=X.get(z[k])}(B),Q!==null&&Q.set(R,$,H),A.trace_atn_sim&&console.log("mergeArrays a="+R+",b="+$+" -> "+H),H)}(T,L,I,_)}class K0{constructor(){this.data=new Uint32Array(1)}set(T){K0._checkIndex(T),this._resize(T),this.data[T>>>5]|=1<<T%32}get(T){K0._checkIndex(T);let L=T>>>5;return!(L>=this.data.length||!(this.data[L]&1<<T%32))}clear(T){K0._checkIndex(T);let L=T>>>5;L<this.data.length&&(this.data[L]&=~(1<<T))}or(T){let L=Math.min(this.data.length,T.data.length);for(let I=0;I<L;++I)this.data[I]|=T.data[I];if(this.data.length<T.data.length){this._resize((T.data.length<<5)-1);let I=T.data.length;for(let _=L;_<I;++_)this.data[_]=T.data[_]}}values(){let T=Array(this.length),L=0,I=this.data.length;for(let _=0;_<I;++_){let R=this.data[_];for(;R!==0;){let $=R&-R;T[L++]=(_<<5)+K0._bitCount($-1),R^=$}}return T}minValue(){for(let T=0;T<this.data.length;++T){let L=this.data[T];if(L!==0){let I=0;for(;!(1&L);)I++,L>>=1;return I+32*T}}return 0}hashCode(){return k0.hashStuff(this.values())}equals(T){return T instanceof K0&&E1(this.data,T.data)}toString(){return"{"+this.values().join(", ")+"}"}get length(){return this.data.map((T)=>K0._bitCount(T)).reduce((T,L)=>T+L,0)}_resize(T){let L=T+32>>>5;if(L<=this.data.length)return;let I=new Uint32Array(L);I.set(this.data),I.fill(0,this.data.length),this.data=I}static _checkIndex(T){if(T<0)throw RangeError("index cannot be negative")}static _bitCount(T){return T=(T=(858993459&(T-=T>>1&1431655765))+(T>>2&858993459))+(T>>4)&252645135,T+=T>>8,0+(T+=T>>16)&63}}class D1{constructor(T){this.atn=T}getDecisionLookahead(T){if(T===null)return null;let L=T.transitions.length,I=[];for(let _=0;_<L;_++){I[_]=new H0;let R=new z0,$=!1;this._LOOK(T.transition(_).target,null,A.EMPTY,I[_],R,new K0,$,!1),(I[_].length===0||I[_].contains(D1.HIT_PRED))&&(I[_]=null)}return I}LOOK(T,L,I){let _=new H0,R=(I=I||null)!==null?e2(T.atn,I):null;return this._LOOK(T,L,R,_,new z0,new K0,!0,!0),_}_LOOK(T,L,I,_,R,$,G,Q){let U=new T0({state:T,alt:0,context:I},null);if(!R.has(U)){if(R.add(U),T===L){if(I===null)return void _.addOne(M.EPSILON);if(I.isEmpty()&&Q)return void _.addOne(M.EOF)}if(T instanceof Z0){if(I===null)return void _.addOne(M.EPSILON);if(I.isEmpty()&&Q)return void _.addOne(M.EOF);if(I!==A.EMPTY){let O=$.get(T.ruleIndex);try{$.clear(T.ruleIndex);for(let J=0;J<I.length;J++){let D=this.atn.states[I.getReturnState(J)];this._LOOK(D,L,I.getParent(J),_,R,$,G,Q)}}finally{O&&$.set(T.ruleIndex)}return}}for(let O=0;O<T.transitions.length;O++){let J=T.transitions[O];if(J.constructor===r1){if($.get(J.target.ruleIndex))continue;let D=D0.create(I,J.followState.stateNumber);try{$.set(J.target.ruleIndex),this._LOOK(J.target,L,D,_,R,$,G,Q)}finally{$.clear(J.target.ruleIndex)}}else if(J instanceof f6)G?this._LOOK(J.target,L,I,_,R,$,G,Q):_.addOne(D1.HIT_PRED);else if(J.isEpsilon)this._LOOK(J.target,L,I,_,R,$,G,Q);else if(J.constructor===n2)_.addRange(M.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType);else{let D=J.label;D!==null&&(J instanceof g6&&(D=D.complement(M.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType)),_.addSet(D))}}}}}D1.HIT_PRED=M.INVALID_TYPE;class a{constructor(T,L){this.grammarType=T,this.maxTokenType=L,this.states=[],this.decisionToState=[],this.ruleToStartState=[],this.ruleToStopState=null,this.modeNameToStartState={},this.ruleToTokenType=null,this.lexerActions=null,this.modeToStartState=[]}nextTokensInContext(T,L){return new D1(this).LOOK(T,null,L)}nextTokensNoContext(T){return T.nextTokenWithinRule!==null||(T.nextTokenWithinRule=this.nextTokensInContext(T,null),T.nextTokenWithinRule.readOnly=!0),T.nextTokenWithinRule}nextTokens(T,L){return L===void 0?this.nextTokensNoContext(T):this.nextTokensInContext(T,L)}addState(T){T!==null&&(T.atn=this,T.stateNumber=this.states.length),this.states.push(T)}removeState(T){this.states[T.stateNumber]=null}defineDecisionState(T){return this.decisionToState.push(T),T.decision=this.decisionToState.length-1,T.decision}getDecisionState(T){return this.decisionToState.length===0?null:this.decisionToState[T]}getExpectedTokens(T,L){if(T<0||T>=this.states.length)throw"Invalid state number.";let I=this.states[T],_=this.nextTokens(I);if(!_.contains(M.EPSILON))return _;let R=new H0;for(R.addSet(_),R.removeOne(M.EPSILON);L!==null&&L.invokingState>=0&&_.contains(M.EPSILON);){let $=this.states[L.invokingState].transitions[0];_=this.nextTokens($.followState),R.addSet(_),R.removeOne(M.EPSILON),L=L.parentCtx}return _.contains(M.EPSILON)&&R.addOne(M.EOF),R}}a.INVALID_ALT_NUMBER=0;class d2 extends N{constructor(){super(),this.stateType=N.BASIC}}class K1 extends N{constructor(){return super(),this.decision=-1,this.nonGreedy=!1,this}}class Z1 extends K1{constructor(){return super(),this.endState=null,this}}class M6 extends N{constructor(){return super(),this.stateType=N.BLOCK_END,this.startState=null,this}}class S1 extends N{constructor(){return super(),this.stateType=N.LOOP_END,this.loopBackState=null,this}}class l2 extends N{constructor(){return super(),this.stateType=N.RULE_START,this.stopState=null,this.isPrecedenceRule=!1,this}}class M3 extends K1{constructor(){return super(),this.stateType=N.TOKEN_START,this}}class o2 extends K1{constructor(){return super(),this.stateType=N.PLUS_LOOP_BACK,this}}class E6 extends N{constructor(){return super(),this.stateType=N.STAR_LOOP_BACK,this}}class L1 extends K1{constructor(){return super(),this.stateType=N.STAR_LOOP_ENTRY,this.loopBackState=null,this.isPrecedenceDecision=null,this}}class j6 extends Z1{constructor(){return super(),this.stateType=N.PLUS_BLOCK_START,this.loopBackState=null,this}}class C6 extends Z1{constructor(){return super(),this.stateType=N.STAR_BLOCK_START,this}}class v2 extends Z1{constructor(){return super(),this.stateType=N.BLOCK_START,this}}class N6 extends P{constructor(T,L){super(T),this.label_=L,this.label=this.makeLabel(),this.serializationType=P.ATOM}makeLabel(){let T=new H0;return T.addOne(this.label_),T}matches(T,L,I){return this.label_===T}toString(){return this.label_}}class E3 extends P{constructor(T,L,I){super(T),this.serializationType=P.RANGE,this.start=L,this.stop=I,this.label=this.makeLabel()}makeLabel(){let T=new H0;return T.addRange(this.start,this.stop),T}matches(T,L,I){return T>=this.start&&T<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}}class T4 extends P{constructor(T,L,I,_){super(T),this.serializationType=P.ACTION,this.ruleIndex=L,this.actionIndex=I===void 0?-1:I,this.isCtxDependent=_!==void 0&&_,this.isEpsilon=!0}matches(T,L,I){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}}class q1 extends P{constructor(T,L){super(T),this.serializationType=P.EPSILON,this.isEpsilon=!0,this.outermostPrecedenceReturn=L}matches(T,L,I){return!1}toString(){return"epsilon"}}class p6 extends o{constructor(T,L,I){super(),this.ruleIndex=T===void 0?-1:T,this.predIndex=L===void 0?-1:L,this.isCtxDependent=I!==void 0&&I}evaluate(T,L){let I=this.isCtxDependent?L:null;return T.sempred(I,this.ruleIndex,this.predIndex)}updateHashCode(T){T.update(this.ruleIndex,this.predIndex,this.isCtxDependent)}equals(T){return this===T||T instanceof p6&&this.ruleIndex===T.ruleIndex&&this.predIndex===T.predIndex&&this.isCtxDependent===T.isCtxDependent}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}}o.NONE=new p6;class L4 extends f6{constructor(T,L,I,_){super(T),this.serializationType=P.PREDICATE,this.ruleIndex=L,this.predIndex=I,this.isCtxDependent=_,this.isEpsilon=!0}matches(T,L,I){return!1}getPredicate(){return new p6(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}}class x6 extends o{constructor(T){super(),this.precedence=T===void 0?0:T}evaluate(T,L){return T.precpred(L,this.precedence)}evalPrecedence(T,L){return T.precpred(L,this.precedence)?o.NONE:null}compareTo(T){return this.precedence-T.precedence}updateHashCode(T){T.update(this.precedence)}equals(T){return this===T||T instanceof x6&&this.precedence===T.precedence}toString(){return"{"+this.precedence+">=prec}?"}}o.PrecedencePredicate=x6;class j3 extends f6{constructor(T,L){super(T),this.serializationType=P.PRECEDENCE,this.precedence=L,this.isEpsilon=!0}matches(T,L,I){return!1}getPredicate(){return new x6(this.precedence)}toString(){return this.precedence+" >= _p"}}class M1{constructor(T){T===void 0&&(T=null),this.readOnly=!1,this.verifyATN=T===null||T.verifyATN,this.generateRuleBypassTransitions=T!==null&&T.generateRuleBypassTransitions}}M1.defaultOptions=new M1,M1.defaultOptions.readOnly=!0;class p0{constructor(T){this.actionType=T,this.isPositionDependent=!1}hashCode(){let T=new k0;return this.updateHashCode(T),T.finish()}updateHashCode(T){T.update(this.actionType)}equals(T){return this===T}}class y6 extends p0{constructor(){super(6)}execute(T){T.skip()}toString(){return"skip"}}y6.INSTANCE=new y6;class I4 extends p0{constructor(T){super(0),this.channel=T}execute(T){T._channel=this.channel}updateHashCode(T){T.update(this.actionType,this.channel)}equals(T){return this===T||T instanceof I4&&this.channel===T.channel}toString(){return"channel("+this.channel+")"}}class _4 extends p0{constructor(T,L){super(1),this.ruleIndex=T,this.actionIndex=L,this.isPositionDependent=!0}execute(T){T.action(null,this.ruleIndex,this.actionIndex)}updateHashCode(T){T.update(this.actionType,this.ruleIndex,this.actionIndex)}equals(T){return this===T||T instanceof _4&&this.ruleIndex===T.ruleIndex&&this.actionIndex===T.actionIndex}}class b6 extends p0{constructor(){super(3)}execute(T){T.more()}toString(){return"more"}}b6.INSTANCE=new b6;class R4 extends p0{constructor(T){super(7),this.type=T}execute(T){T.type=this.type}updateHashCode(T){T.update(this.actionType,this.type)}equals(T){return this===T||T instanceof R4&&this.type===T.type}toString(){return"type("+this.type+")"}}class $4 extends p0{constructor(T){super(5),this.mode=T}execute(T){T.pushMode(this.mode)}updateHashCode(T){T.update(this.actionType,this.mode)}equals(T){return this===T||T instanceof $4&&this.mode===T.mode}toString(){return"pushMode("+this.mode+")"}}class h6 extends p0{constructor(){super(4)}execute(T){T.popMode()}toString(){return"popMode"}}h6.INSTANCE=new h6;class G4 extends p0{constructor(T){super(2),this.mode=T}execute(T){T.setMode(this.mode)}updateHashCode(T){T.update(this.actionType,this.mode)}equals(T){return this===T||T instanceof G4&&this.mode===T.mode}toString(){return"mode("+this.mode+")"}}function k6(T,L){let I=[];return I[T-1]=L,I.map(function(_){return L})}class c6{constructor(T){T==null&&(T=M1.defaultOptions),this.deserializationOptions=T,this.stateFactories=null,this.actionFactories=null}deserialize(T){let L=this.reset(T);this.checkVersion(L),L&&this.skipUUID();let I=this.readATN();this.readStates(I,L),this.readRules(I,L),this.readModes(I);let _=[];return this.readSets(I,_,this.readInt.bind(this)),L&&this.readSets(I,_,this.readInt32.bind(this)),this.readEdges(I,_),this.readDecisions(I),this.readLexerActions(I,L),this.markPrecedenceDecisions(I),this.verifyATN(I),this.deserializationOptions.generateRuleBypassTransitions&&I.grammarType===1&&(this.generateRuleBypassTransitions(I),this.verifyATN(I)),I}reset(T){if((T.charCodeAt?T.charCodeAt(0):T[0])===3){let L=function(_){let R=_.charCodeAt(0);return R>1?R-2:R+65534},I=T.split("").map(L);return I[0]=T.charCodeAt(0),this.data=I,this.pos=0,!0}return this.data=T,this.pos=0,!1}skipUUID(){let T=0;for(;T++<8;)this.readInt()}checkVersion(T){let L=this.readInt();if(!T&&L!==4)throw"Could not deserialize ATN with version "+L+" (expected 4)."}readATN(){let T=this.readInt(),L=this.readInt();return new a(T,L)}readStates(T,L){let I,_,R,$=[],G=[],Q=this.readInt();for(let J=0;J<Q;J++){let D=this.readInt();if(D===N.INVALID_TYPE){T.addState(null);continue}let B=this.readInt();L&&B===65535&&(B=-1);let H=this.stateFactory(D,B);if(D===N.LOOP_END){let z=this.readInt();$.push([H,z])}else if(H instanceof Z1){let z=this.readInt();G.push([H,z])}T.addState(H)}for(I=0;I<$.length;I++)_=$[I],_[0].loopBackState=T.states[_[1]];for(I=0;I<G.length;I++)_=G[I],_[0].endState=T.states[_[1]];let U=this.readInt();for(I=0;I<U;I++)R=this.readInt(),T.states[R].nonGreedy=!0;let O=this.readInt();for(I=0;I<O;I++)R=this.readInt(),T.states[R].isPrecedenceRule=!0}readRules(T,L){let I,_=this.readInt();for(T.grammarType===0&&(T.ruleToTokenType=k6(_,0)),T.ruleToStartState=k6(_,0),I=0;I<_;I++){let R=this.readInt();if(T.ruleToStartState[I]=T.states[R],T.grammarType===0){let $=this.readInt();L&&$===65535&&($=M.EOF),T.ruleToTokenType[I]=$}}for(T.ruleToStopState=k6(_,0),I=0;I<T.states.length;I++){let R=T.states[I];R instanceof Z0&&(T.ruleToStopState[R.ruleIndex]=R,T.ruleToStartState[R.ruleIndex].stopState=R)}}readModes(T){let L=this.readInt();for(let I=0;I<L;I++){let _=this.readInt();T.modeToStartState.push(T.states[_])}}readSets(T,L,I){let _=this.readInt();for(let R=0;R<_;R++){let $=new H0;L.push($);let G=this.readInt();this.readInt()!==0&&$.addOne(-1);for(let Q=0;Q<G;Q++){let U=I(),O=I();$.addRange(U,O)}}}readEdges(T,L){let I,_,R,$,G,Q=this.readInt();for(I=0;I<Q;I++){let U=this.readInt(),O=this.readInt(),J=this.readInt(),D=this.readInt(),B=this.readInt(),H=this.readInt();$=this.edgeFactory(T,J,U,O,D,B,H,L),T.states[U].addTransition($)}for(I=0;I<T.states.length;I++)for(R=T.states[I],_=0;_<R.transitions.length;_++){let U=R.transitions[_];if(!(U instanceof r1))continue;let O=-1;T.ruleToStartState[U.target.ruleIndex].isPrecedenceRule&&U.precedence===0&&(O=U.target.ruleIndex),$=new q1(U.followState,O),T.ruleToStopState[U.target.ruleIndex].addTransition($)}for(I=0;I<T.states.length;I++){if(R=T.states[I],R instanceof Z1){if(R.endState===null)throw"IllegalState";if(R.endState.startState!==null)throw"IllegalState";R.endState.startState=R}if(R instanceof o2)for(_=0;_<R.transitions.length;_++)G=R.transitions[_].target,G instanceof j6&&(G.loopBackState=R);else if(R instanceof E6)for(_=0;_<R.transitions.length;_++)G=R.transitions[_].target,G instanceof L1&&(G.loopBackState=R)}}readDecisions(T){let L=this.readInt();for(let I=0;I<L;I++){let _=this.readInt(),R=T.states[_];T.decisionToState.push(R),R.decision=I}}readLexerActions(T,L){if(T.grammarType===0){let I=this.readInt();T.lexerActions=k6(I,null);for(let _=0;_<I;_++){let R=this.readInt(),$=this.readInt();L&&$===65535&&($=-1);let G=this.readInt();L&&G===65535&&(G=-1),T.lexerActions[_]=this.lexerActionFactory(R,$,G)}}}generateRuleBypassTransitions(T){let L,I=T.ruleToStartState.length;for(L=0;L<I;L++)T.ruleToTokenType[L]=T.maxTokenType+L+1;for(L=0;L<I;L++)this.generateRuleBypassTransition(T,L)}generateRuleBypassTransition(T,L){let I,_,R=new v2;R.ruleIndex=L,T.addState(R);let $=new M6;$.ruleIndex=L,T.addState($),R.endState=$,T.defineDecisionState(R),$.startState=R;let G=null,Q=null;if(T.ruleToStartState[L].isPrecedenceRule){for(Q=null,I=0;I<T.states.length;I++)if(_=T.states[I],this.stateIsEndStateFor(_,L)){Q=_,G=_.loopBackState.transitions[0];break}if(G===null)throw"Couldn't identify final state of the precedence rule prefix section."}else Q=T.ruleToStopState[L];for(I=0;I<T.states.length;I++){_=T.states[I];for(let D=0;D<_.transitions.length;D++){let B=_.transitions[D];B!==G&&B.target===Q&&(B.target=$)}}let U=T.ruleToStartState[L],O=U.transitions.length;for(;O>0;)R.addTransition(U.transitions[O-1]),U.transitions=U.transitions.slice(-1);T.ruleToStartState[L].addTransition(new q1(R)),$.addTransition(new q1(Q));let J=new d2;T.addState(J),J.addTransition(new N6($,T.ruleToTokenType[L])),R.addTransition(new q1(J))}stateIsEndStateFor(T,L){if(T.ruleIndex!==L)return null;if(!(T instanceof L1))return null;let I=T.transitions[T.transitions.length-1].target;return I instanceof S1&&I.epsilonOnlyTransitions&&I.transitions[0].target instanceof Z0?T:null}markPrecedenceDecisions(T){for(let L=0;L<T.states.length;L++){let I=T.states[L];if(I instanceof L1&&T.ruleToStartState[I.ruleIndex].isPrecedenceRule){let _=I.transitions[I.transitions.length-1].target;_ instanceof S1&&_.epsilonOnlyTransitions&&_.transitions[0].target instanceof Z0&&(I.isPrecedenceDecision=!0)}}}verifyATN(T){if(this.deserializationOptions.verifyATN)for(let L=0;L<T.states.length;L++){let I=T.states[L];if(I!==null)if(this.checkCondition(I.epsilonOnlyTransitions||I.transitions.length<=1),I instanceof j6)this.checkCondition(I.loopBackState!==null);else if(I instanceof L1)if(this.checkCondition(I.loopBackState!==null),this.checkCondition(I.transitions.length===2),I.transitions[0].target instanceof C6)this.checkCondition(I.transitions[1].target instanceof S1),this.checkCondition(!I.nonGreedy);else{if(!(I.transitions[0].target instanceof S1))throw"IllegalState";this.checkCondition(I.transitions[1].target instanceof C6),this.checkCondition(I.nonGreedy)}else I instanceof E6?(this.checkCondition(I.transitions.length===1),this.checkCondition(I.transitions[0].target instanceof L1)):I instanceof S1?this.checkCondition(I.loopBackState!==null):I instanceof l2?this.checkCondition(I.stopState!==null):I instanceof Z1?this.checkCondition(I.endState!==null):I instanceof M6?this.checkCondition(I.startState!==null):I instanceof K1?this.checkCondition(I.transitions.length<=1||I.decision>=0):this.checkCondition(I.transitions.length<=1||I instanceof Z0)}}checkCondition(T,L){if(!T)throw L==null&&(L="IllegalState"),L}readInt(){return this.data[this.pos++]}readInt32(){return this.readInt()|this.readInt()<<16}edgeFactory(T,L,I,_,R,$,G,Q){let U=T.states[_];switch(L){case P.EPSILON:return new q1(U);case P.RANGE:return new E3(U,G!==0?M.EOF:R,$);case P.RULE:return new r1(T.states[R],$,G,U);case P.PREDICATE:return new L4(U,R,$,G!==0);case P.PRECEDENCE:return new j3(U,R);case P.ATOM:return new N6(U,G!==0?M.EOF:R);case P.ACTION:return new T4(U,R,$,G!==0);case P.SET:return new u6(U,Q[R]);case P.NOT_SET:return new g6(U,Q[R]);case P.WILDCARD:return new n2(U);default:throw"The specified transition type: "+L+" is not valid."}}stateFactory(T,L){if(this.stateFactories===null){let I=[];I[N.INVALID_TYPE]=null,I[N.BASIC]=()=>new d2,I[N.RULE_START]=()=>new l2,I[N.BLOCK_START]=()=>new v2,I[N.PLUS_BLOCK_START]=()=>new j6,I[N.STAR_BLOCK_START]=()=>new C6,I[N.TOKEN_START]=()=>new M3,I[N.RULE_STOP]=()=>new Z0,I[N.BLOCK_END]=()=>new M6,I[N.STAR_LOOP_BACK]=()=>new E6,I[N.STAR_LOOP_ENTRY]=()=>new L1,I[N.PLUS_LOOP_BACK]=()=>new o2,I[N.LOOP_END]=()=>new S1,this.stateFactories=I}if(T>this.stateFactories.length||this.stateFactories[T]===null)throw"The specified state type "+T+" is not valid.";{let I=this.stateFactories[T]();if(I!==null)return I.ruleIndex=L,I}}lexerActionFactory(T,L,I){if(this.actionFactories===null){let _=[];_[0]=(R,$)=>new I4(R),_[1]=(R,$)=>new _4(R,$),_[2]=(R,$)=>new G4(R),_[3]=(R,$)=>b6.INSTANCE,_[4]=(R,$)=>h6.INSTANCE,_[5]=(R,$)=>new $4(R),_[6]=(R,$)=>y6.INSTANCE,_[7]=(R,$)=>new R4(R),this.actionFactories=_}if(T>this.actionFactories.length||this.actionFactories[T]===null)throw"The specified lexer action type "+T+" is not valid.";return this.actionFactories[T](L,I)}}class P1{syntaxError(T,L,I,_,R,$){}reportAmbiguity(T,L,I,_,R,$,G){}reportAttemptingFullContext(T,L,I,_,R,$){}reportContextSensitivity(T,L,I,_,R,$){}}class w6 extends P1{constructor(){super()}syntaxError(T,L,I,_,R,$){console.error("line "+I+":"+_+" "+R)}}w6.INSTANCE=new w6;class C3 extends P1{constructor(T){if(super(),T===null)throw"delegates";return this.delegates=T,this}syntaxError(T,L,I,_,R,$){this.delegates.map((G)=>G.syntaxError(T,L,I,_,R,$))}reportAmbiguity(T,L,I,_,R,$,G){this.delegates.map((Q)=>Q.reportAmbiguity(T,L,I,_,R,$,G))}reportAttemptingFullContext(T,L,I,_,R,$){this.delegates.map((G)=>G.reportAttemptingFullContext(T,L,I,_,R,$))}reportContextSensitivity(T,L,I,_,R,$){this.delegates.map((G)=>G.reportContextSensitivity(T,L,I,_,R,$))}}class s1{constructor(){this._listeners=[w6.INSTANCE],this._interp=null,this._stateNumber=-1}checkVersion(T){T!=="4.13.2"&&console.log("ANTLR runtime and generated code versions disagree: 4.13.2!="+T)}addErrorListener(T){this._listeners.push(T)}removeErrorListeners(){this._listeners=[]}getLiteralNames(){return Object.getPrototypeOf(this).constructor.literalNames||[]}getSymbolicNames(){return Object.getPrototypeOf(this).constructor.symbolicNames||[]}getTokenNames(){if(!this.tokenNames){let T=this.getLiteralNames(),L=this.getSymbolicNames(),I=T.length>L.length?T.length:L.length;this.tokenNames=[];for(let _=0;_<I;_++)this.tokenNames[_]=T[_]||L[_]||"<INVALID"}return this.tokenNames}getTokenTypeMap(){let T=this.getTokenNames();if(T===null)throw"The current recognizer does not provide a list of token names.";let L=this.tokenTypeMapCache[T];return L===void 0&&(L=T.reduce(function(I,_,R){I[_]=R}),L.EOF=M.EOF,this.tokenTypeMapCache[T]=L),L}getRuleIndexMap(){let T=this.ruleNames;if(T===null)throw"The current recognizer does not provide a list of rule names.";let L=this.ruleIndexMapCache[T];return L===void 0&&(L=T.reduce(function(I,_,R){I[_]=R}),this.ruleIndexMapCache[T]=L),L}getTokenType(T){let L=this.getTokenTypeMap()[T];return L!==void 0?L:M.INVALID_TYPE}getErrorHeader(T){return"line "+T.getOffendingToken().line+":"+T.getOffendingToken().column}getTokenErrorDisplay(T){if(T===null)return"<no token>";let L=T.text;return L===null&&(L=T.type===M.EOF?"<EOF>":"<"+T.type+">"),L=L.replace(`
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
`,L)),L.context===null||L.context.hasEmptyPath()){if(L.context===null||L.context.isEmpty())return I.add(L),!0;I.add(new B0({state:L.state,context:A.EMPTY},L)),_=!0}if(L.context!==null&&!L.context.isEmpty()){for(let Q=0;Q<L.context.length;Q++)if(L.context.getReturnState(Q)!==A.EMPTY_RETURN_STATE){let U=L.context.getParent(Q),O=this.atn.states[L.context.getReturnState(Q)];G=new B0({state:O,context:U},L),_=this.closure(T,G,I,_,R,$)}}return _}L.state.epsilonOnlyTransitions||_&&L.passedThroughNonGreedyDecision||I.add(L);for(let Q=0;Q<L.state.transitions.length;Q++){let U=L.state.transitions[Q];G=this.getEpsilonTarget(T,L,U,I,R,$),G!==null&&(_=this.closure(T,G,I,_,R,$))}return _}getEpsilonTarget(T,L,I,_,R,$){let G=null;if(I.serializationType===P.RULE){let Q=D0.create(L.context,I.followState.stateNumber);G=new B0({state:I.target,context:Q},L)}else{if(I.serializationType===P.PRECEDENCE)throw"Precedence predicates are not supported in lexers.";if(I.serializationType===P.PREDICATE)n.debug&&console.log("EVAL rule "+I.ruleIndex+":"+I.predIndex),_.hasSemanticContext=!0,this.evaluatePredicate(T,I.ruleIndex,I.predIndex,R)&&(G=new B0({state:I.target},L));else if(I.serializationType===P.ACTION)if(L.context===null||L.context.hasEmptyPath()){let Q=k1.append(L.lexerActionExecutor,this.atn.lexerActions[I.actionIndex]);G=new B0({state:I.target,lexerActionExecutor:Q},L)}else G=new B0({state:I.target},L);else I.serializationType===P.EPSILON?G=new B0({state:I.target},L):I.serializationType!==P.ATOM&&I.serializationType!==P.RANGE&&I.serializationType!==P.SET||$&&I.matches(M.EOF,0,t.MAX_CHAR_VALUE)&&(G=new B0({state:I.target},L))}return G}evaluatePredicate(T,L,I,_){if(this.recog===null)return!0;if(!_)return this.recog.sempred(null,L,I);let R=this.column,$=this.line,G=T.index,Q=T.mark();try{return this.consume(T),this.recog.sempred(null,L,I)}finally{this.column=R,this.line=$,T.seek(G),T.release(Q)}}captureSimState(T,L,I){T.index=L.index,T.line=this.line,T.column=this.column,T.dfaState=I}addDFAEdge(T,L,I,_){if(I===void 0&&(I=null),_===void 0&&(_=null),I===null&&_!==null){let R=_.hasSemanticContext;if(_.hasSemanticContext=!1,I=this.addDFAState(_),R)return I}return L<n.MIN_DFA_EDGE||L>n.MAX_DFA_EDGE||(n.debug&&console.log("EDGE "+T+" -> "+I+" upon "+L),T.edges===null&&(T.edges=[]),T.edges[L-n.MIN_DFA_EDGE]=I),I}addDFAState(T){let L=new i0(null,T),I=null;for(let G=0;G<T.items.length;G++){let Q=T.items[G];if(Q.state instanceof Z0){I=Q;break}}I!==null&&(L.isAcceptState=!0,L.lexerActionExecutor=I.lexerActionExecutor,L.prediction=this.atn.ruleToTokenType[I.state.ruleIndex]);let _=this.decisionToDFA[this.mode],R=_.states.get(L);if(R!==null)return R;let $=L;return $.stateNumber=_.states.length,T.setReadonly(!0),$.configs=T,_.states.add($),$}getDFA(T){return this.decisionToDFA[T]}getText(T){return T.getText(this.startIndex,T.index-1)}consume(T){T.LA(1)===10?(this.line+=1,this.column=0):this.column+=1,T.consume()}getTokenName(T){return T===-1?"EOF":"'"+String.fromCharCode(T)+"'"}}n.debug=!1,n.dfa_debug=!1,n.MIN_DFA_EDGE=0,n.MAX_DFA_EDGE=127;class Q4{constructor(T,L){this.alt=L,this.pred=T}toString(){return"("+this.pred+", "+this.alt+")"}}class y3{constructor(){this.data={}}get(T){return this.data["k-"+T]||null}set(T,L){this.data["k-"+T]=L}values(){return Object.keys(this.data).filter((T)=>T.startsWith("k-")).map((T)=>this.data[T],this)}}var g0={SLL:0,LL:1,LL_EXACT_AMBIG_DETECTION:2,hasSLLConflictTerminatingPrediction:function(T,L){if(g0.allConfigsInRuleStopStates(L))return!0;if(T===g0.SLL&&L.hasSemanticContext){let _=new W0;for(let R=0;R<L.items.length;R++){let $=L.items[R];$=new T0({semanticContext:o.NONE},$),_.add($)}L=_}let I=g0.getConflictingAltSubsets(L);return g0.hasConflictingAltSet(I)&&!g0.hasStateAssociatedWithOneAlt(L)},hasConfigInRuleStopState:function(T){for(let L=0;L<T.items.length;L++)if(T.items[L].state instanceof Z0)return!0;return!1},allConfigsInRuleStopStates:function(T){for(let L=0;L<T.items.length;L++)if(!(T.items[L].state instanceof Z0))return!1;return!0},resolvesToJustOneViableAlt:function(T){return g0.getSingleViableAlt(T)},allSubsetsConflict:function(T){return!g0.hasNonConflictingAltSet(T)},hasNonConflictingAltSet:function(T){for(let L=0;L<T.length;L++)if(T[L].length===1)return!0;return!1},hasConflictingAltSet:function(T){for(let L=0;L<T.length;L++)if(T[L].length>1)return!0;return!1},allSubsetsEqual:function(T){let L=null;for(let I=0;I<T.length;I++){let _=T[I];if(L===null)L=_;else if(_!==L)return!1}return!0},getUniqueAlt:function(T){let L=g0.getAlts(T);return L.length===1?L.minValue():a.INVALID_ALT_NUMBER},getAlts:function(T){let L=new K0;return T.map(function(I){L.or(I)}),L},getConflictingAltSubsets:function(T){let L=new C1;return L.hashFunction=function(I){k0.hashStuff(I.state.stateNumber,I.context)},L.equalsFunction=function(I,_){return I.state.stateNumber===_.state.stateNumber&&I.context.equals(_.context)},T.items.map(function(I){let _=L.get(I);_===null&&(_=new K0,L.set(I,_)),_.set(I.alt)}),L.getValues()},getStateToAltMap:function(T){let L=new y3;return T.items.map(function(I){let _=L.get(I.state);_===null&&(_=new K0,L.set(I.state,_)),_.set(I.alt)}),L},hasStateAssociatedWithOneAlt:function(T){let L=g0.getStateToAltMap(T).values();for(let I=0;I<L.length;I++)if(L[I].length===1)return!0;return!1},getSingleViableAlt:function(T){let L=null;for(let I=0;I<T.length;I++){let _=T[I].minValue();if(L===null)L=_;else if(L!==_)return a.INVALID_ALT_NUMBER}return L}},Q0=g0;class t1 extends r0{constructor(T,L,I,_,R,$){$=$||T._ctx,_=_||T.getCurrentToken(),I=I||T.getCurrentToken(),L=L||T.getInputStream(),super({message:"",recognizer:T,input:L,ctx:$}),this.deadEndConfigs=R,this.startToken=I,this.offendingToken=_}}class b3{constructor(T){this.defaultMapCtor=T||C1,this.cacheMap=new this.defaultMapCtor}get(T,L){let I=this.cacheMap.get(T)||null;return I===null?null:I.get(L)||null}set(T,L,I){let _=this.cacheMap.get(T)||null;_===null&&(_=new this.defaultMapCtor,this.cacheMap.set(T,_)),_.set(L,I)}}class U4 extends N0{constructor(T,L,I,_){super(L,_),this.parser=T,this.decisionToDFA=I,this.predictionMode=Q0.LL,this._input=null,this._startIndex=0,this._outerContext=null,this._dfa=null,this.mergeCache=null,this.debug=!1,this.debug_closure=!1,this.debug_add=!1,this.trace_atn_sim=!1,this.dfa_debug=!1,this.retry_debug=!1}reset(){}adaptivePredict(T,L,I){(this.debug||this.trace_atn_sim)&&console.log("adaptivePredict decision "+L+" exec LA(1)=="+this.getLookaheadName(T)+" line "+T.LT(1).line+":"+T.LT(1).column),this._input=T,this._startIndex=T.index,this._outerContext=I;let _=this.decisionToDFA[L];this._dfa=_;let R=T.mark(),$=T.index;try{let G;if(G=_.precedenceDfa?_.getPrecedenceStartState(this.parser.getPrecedence()):_.s0,G===null){I===null&&(I=_1.EMPTY),this.debug&&console.log("predictATN decision "+_.decision+" exec LA(1)=="+this.getLookaheadName(T)+", outerContext="+I.toString(this.parser.ruleNames));let U=!1,O=this.computeStartState(_.atnStartState,_1.EMPTY,U);_.precedenceDfa?(_.s0.configs=O,O=this.applyPrecedenceFilter(O),G=this.addDFAState(_,new i0(null,O)),_.setPrecedenceStartState(this.parser.getPrecedence(),G)):(G=this.addDFAState(_,new i0(null,O)),_.s0=G)}let Q=this.execATN(_,G,T,$,I);return this.debug&&console.log("DFA after predictATN: "+_.toString(this.parser.literalNames,this.parser.symbolicNames)),Q}finally{this._dfa=null,this.mergeCache=null,T.seek($),T.release(R)}}execATN(T,L,I,_,R){let $;(this.debug||this.trace_atn_sim)&&console.log("execATN decision "+T.decision+", DFA state "+L+", LA(1)=="+this.getLookaheadName(I)+" line "+I.LT(1).line+":"+I.LT(1).column);let G=L;this.debug&&console.log("s0 = "+L);let Q=I.LA(1);for(;;){let U=this.getExistingTargetState(G,Q);if(U===null&&(U=this.computeTargetState(T,G,Q)),U===N0.ERROR){let O=this.noViableAlt(I,R,G.configs,_);if(I.seek(_),$=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(G.configs,R),$!==a.INVALID_ALT_NUMBER)return $;throw O}if(U.requiresFullContext&&this.predictionMode!==Q0.SLL){let O=null;if(U.predicates!==null){this.debug&&console.log("DFA state has preds in DFA sim LL failover");let B=I.index;if(B!==_&&I.seek(_),O=this.evalSemanticContext(U.predicates,R,!0),O.length===1)return this.debug&&console.log("Full LL avoided"),O.minValue();B!==_&&I.seek(B)}this.dfa_debug&&console.log("ctx sensitive state "+R+" in "+U);let J=!0,D=this.computeStartState(T.atnStartState,R,J);return this.reportAttemptingFullContext(T,O,U.configs,_,I.index),$=this.execATNWithFullContext(T,U,D,I,_,R),$}if(U.isAcceptState){if(U.predicates===null)return U.prediction;let O=I.index;I.seek(_);let J=this.evalSemanticContext(U.predicates,R,!0);if(J.length===0)throw this.noViableAlt(I,R,U.configs,_);return J.length===1||this.reportAmbiguity(T,U,_,O,!1,J,U.configs),J.minValue()}G=U,Q!==M.EOF&&(I.consume(),Q=I.LA(1))}}getExistingTargetState(T,L){let I=T.edges;return I===null?null:I[L+1]||null}computeTargetState(T,L,I){let _=this.computeReachSet(L.configs,I,!1);if(_===null)return this.addDFAEdge(T,L,I,N0.ERROR),N0.ERROR;let R=new i0(null,_),$=this.getUniqueAlt(_);if(this.debug){let G=Q0.getConflictingAltSubsets(_);console.log("SLL altSubSets="+o0(G)+", configs="+_+", predict="+$+", allSubsetsConflict="+Q0.allSubsetsConflict(G)+", conflictingAlts="+this.getConflictingAlts(_))}return $!==a.INVALID_ALT_NUMBER?(R.isAcceptState=!0,R.configs.uniqueAlt=$,R.prediction=$):Q0.hasSLLConflictTerminatingPrediction(this.predictionMode,_)&&(R.configs.conflictingAlts=this.getConflictingAlts(_),R.requiresFullContext=!0,R.isAcceptState=!0,R.prediction=R.configs.conflictingAlts.minValue()),R.isAcceptState&&R.configs.hasSemanticContext&&(this.predicateDFAState(R,this.atn.getDecisionState(T.decision)),R.predicates!==null&&(R.prediction=a.INVALID_ALT_NUMBER)),R=this.addDFAEdge(T,L,I,R),R}predicateDFAState(T,L){let I=L.transitions.length,_=this.getConflictingAltsOrUniqueAlt(T.configs),R=this.getPredsForAmbigAlts(_,T.configs,I);R!==null?(T.predicates=this.getPredicatePredictions(_,R),T.prediction=a.INVALID_ALT_NUMBER):T.prediction=_.minValue()}execATNWithFullContext(T,L,I,_,R,$){(this.debug||this.trace_atn_sim)&&console.log("execATNWithFullContext "+I);let G,Q=!1,U=I;_.seek(R);let O=_.LA(1),J=-1;for(;;){if(G=this.computeReachSet(U,O,!0),G===null){let B=this.noViableAlt(_,$,U,R);_.seek(R);let H=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(U,$);if(H!==a.INVALID_ALT_NUMBER)return H;throw B}let D=Q0.getConflictingAltSubsets(G);if(this.debug&&console.log("LL altSubSets="+D+", predict="+Q0.getUniqueAlt(D)+", resolvesToJustOneViableAlt="+Q0.resolvesToJustOneViableAlt(D)),G.uniqueAlt=this.getUniqueAlt(G),G.uniqueAlt!==a.INVALID_ALT_NUMBER){J=G.uniqueAlt;break}if(this.predictionMode!==Q0.LL_EXACT_AMBIG_DETECTION){if(J=Q0.resolvesToJustOneViableAlt(D),J!==a.INVALID_ALT_NUMBER)break}else if(Q0.allSubsetsConflict(D)&&Q0.allSubsetsEqual(D)){Q=!0,J=Q0.getSingleViableAlt(D);break}U=G,O!==M.EOF&&(_.consume(),O=_.LA(1))}return G.uniqueAlt!==a.INVALID_ALT_NUMBER?(this.reportContextSensitivity(T,J,G,R,_.index),J):(this.reportAmbiguity(T,L,R,_.index,Q,null,G),J)}computeReachSet(T,L,I){this.debug&&console.log("in computeReachSet, starting closure: "+T),this.mergeCache===null&&(this.mergeCache=new b3);let _=new W0(I),R=null;for(let G=0;G<T.items.length;G++){let Q=T.items[G];if(this.debug&&console.log("testing "+this.getTokenName(L)+" at "+Q),Q.state instanceof Z0)(I||L===M.EOF)&&(R===null&&(R=[]),R.push(Q),this.debug_add&&console.log("added "+Q+" to skippedStopStates"));else for(let U=0;U<Q.state.transitions.length;U++){let O=Q.state.transitions[U],J=this.getReachableTarget(O,L);if(J!==null){let D=new T0({state:J},Q);_.add(D,this.mergeCache),this.debug_add&&console.log("added "+D+" to intermediate")}}}let $=null;if(R===null&&L!==M.EOF&&(_.items.length===1||this.getUniqueAlt(_)!==a.INVALID_ALT_NUMBER)&&($=_),$===null){$=new W0(I);let G=new z0,Q=L===M.EOF;for(let U=0;U<_.items.length;U++)this.closure(_.items[U],$,G,!1,I,Q)}if(L===M.EOF&&($=this.removeAllConfigsNotInRuleStopState($,$===_)),!(R===null||I&&Q0.hasConfigInRuleStopState($)))for(let G=0;G<R.length;G++)$.add(R[G],this.mergeCache);return this.trace_atn_sim&&console.log("computeReachSet "+T+" -> "+$),$.items.length===0?null:$}removeAllConfigsNotInRuleStopState(T,L){if(Q0.allConfigsInRuleStopStates(T))return T;let I=new W0(T.fullCtx);for(let _=0;_<T.items.length;_++){let R=T.items[_];if(R.state instanceof Z0)I.add(R,this.mergeCache);else if(L&&R.state.epsilonOnlyTransitions&&this.atn.nextTokens(R.state).contains(M.EPSILON)){let $=this.atn.ruleToStopState[R.state.ruleIndex];I.add(new T0({state:$},R),this.mergeCache)}}return I}computeStartState(T,L,I){let _=e2(this.atn,L),R=new W0(I);this.trace_atn_sim&&console.log("computeStartState from ATN state "+T+" initialContext="+_.toString(this.parser));for(let $=0;$<T.transitions.length;$++){let G=T.transitions[$].target,Q=new T0({state:G,alt:$+1,context:_},null),U=new z0;this.closure(Q,R,U,!0,I,!1)}return R}applyPrecedenceFilter(T){let L,I=[],_=new W0(T.fullCtx);for(let R=0;R<T.items.length;R++){if(L=T.items[R],L.alt!==1)continue;let $=L.semanticContext.evalPrecedence(this.parser,this._outerContext);$!==null&&(I[L.state.stateNumber]=L.context,$!==L.semanticContext?_.add(new T0({semanticContext:$},L),this.mergeCache):_.add(L,this.mergeCache))}for(let R=0;R<T.items.length;R++)if(L=T.items[R],L.alt!==1){if(!L.precedenceFilterSuppressed){let $=I[L.state.stateNumber]||null;if($!==null&&$.equals(L.context))continue}_.add(L,this.mergeCache)}return _}getReachableTarget(T,L){return T.matches(L,0,this.atn.maxTokenType)?T.target:null}getPredsForAmbigAlts(T,L,I){let _=[];for(let $=0;$<L.items.length;$++){let G=L.items[$];T.get(G.alt)&&(_[G.alt]=o.orContext(_[G.alt]||null,G.semanticContext))}let R=0;for(let $=1;$<I+1;$++){let G=_[$]||null;G===null?_[$]=o.NONE:G!==o.NONE&&(R+=1)}return R===0&&(_=null),this.debug&&console.log("getPredsForAmbigAlts result "+o0(_)),_}getPredicatePredictions(T,L){let I=[],_=!1;for(let R=1;R<L.length;R++){let $=L[R];T!==null&&T.get(R)&&I.push(new Q4($,R)),$!==o.NONE&&(_=!0)}return _?I:null}getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(T,L){let I=this.splitAccordingToSemanticValidity(T,L),_=I[0],R=I[1],$=this.getAltThatFinishedDecisionEntryRule(_);return $!==a.INVALID_ALT_NUMBER||R.items.length>0&&($=this.getAltThatFinishedDecisionEntryRule(R),$!==a.INVALID_ALT_NUMBER)?$:a.INVALID_ALT_NUMBER}getAltThatFinishedDecisionEntryRule(T){let L=[];for(let I=0;I<T.items.length;I++){let _=T.items[I];(_.reachesIntoOuterContext>0||_.state instanceof Z0&&_.context.hasEmptyPath())&&L.indexOf(_.alt)<0&&L.push(_.alt)}return L.length===0?a.INVALID_ALT_NUMBER:Math.min.apply(null,L)}splitAccordingToSemanticValidity(T,L){let I=new W0(T.fullCtx),_=new W0(T.fullCtx);for(let R=0;R<T.items.length;R++){let $=T.items[R];$.semanticContext!==o.NONE?$.semanticContext.evaluate(this.parser,L)?I.add($):_.add($):I.add($)}return[I,_]}evalSemanticContext(T,L,I){let _=new K0;for(let R=0;R<T.length;R++){let $=T[R];if($.pred===o.NONE){if(_.set($.alt),!I)break;continue}let G=$.pred.evaluate(this.parser,L);if((this.debug||this.dfa_debug)&&console.log("eval pred "+$+"="+G),G&&((this.debug||this.dfa_debug)&&console.log("PREDICT "+$.alt),_.set($.alt),!I))break}return _}closure(T,L,I,_,R,$){this.closureCheckingStopState(T,L,I,_,R,0,$)}closureCheckingStopState(T,L,I,_,R,$,G){if((this.trace_atn_sim||this.debug_closure)&&console.log("closure("+T.toString(this.parser,!0)+")"),T.state instanceof Z0){if(!T.context.isEmpty()){for(let Q=0;Q<T.context.length;Q++){if(T.context.getReturnState(Q)===A.EMPTY_RETURN_STATE){if(R){L.add(new T0({state:T.state,context:A.EMPTY},T),this.mergeCache);continue}this.debug&&console.log("FALLING off rule "+this.getRuleName(T.state.ruleIndex)),this.closure_(T,L,I,_,R,$,G);continue}let U=this.atn.states[T.context.getReturnState(Q)],O=T.context.getParent(Q),J={state:U,alt:T.alt,context:O,semanticContext:T.semanticContext},D=new T0(J,null);D.reachesIntoOuterContext=T.reachesIntoOuterContext,this.closureCheckingStopState(D,L,I,_,R,$-1,G)}return}if(R)return void L.add(T,this.mergeCache);this.debug&&console.log("FALLING off rule "+this.getRuleName(T.state.ruleIndex))}this.closure_(T,L,I,_,R,$,G)}closure_(T,L,I,_,R,$,G){let Q=T.state;Q.epsilonOnlyTransitions||L.add(T,this.mergeCache);for(let U=0;U<Q.transitions.length;U++){if(U===0&&this.canDropLoopEntryEdgeInLeftRecursiveRule(T))continue;let O=Q.transitions[U],J=_&&!(O instanceof T4),D=this.getEpsilonTarget(T,O,J,$===0,R,G);if(D!==null){let B=$;if(T.state instanceof Z0){if(this._dfa!==null&&this._dfa.precedenceDfa&&O.outermostPrecedenceReturn===this._dfa.atnStartState.ruleIndex&&(D.precedenceFilterSuppressed=!0),D.reachesIntoOuterContext+=1,I.getOrAdd(D)!==D)continue;L.dipsIntoOuterContext=!0,B-=1,this.debug&&console.log("dips into outer ctx: "+D)}else{if(!O.isEpsilon&&I.getOrAdd(D)!==D)continue;O instanceof r1&&B>=0&&(B+=1)}this.closureCheckingStopState(D,L,I,J,R,B,G)}}}canDropLoopEntryEdgeInLeftRecursiveRule(T){let L=T.state;if(L.stateType!==N.STAR_LOOP_ENTRY)return!1;if(L.stateType!==N.STAR_LOOP_ENTRY||!L.isPrecedenceDecision||T.context.isEmpty()||T.context.hasEmptyPath())return!1;let I=T.context.length;for(let $=0;$<I;$++)if(this.atn.states[T.context.getReturnState($)].ruleIndex!==L.ruleIndex)return!1;let _=L.transitions[0].target.endState.stateNumber,R=this.atn.states[_];for(let $=0;$<I;$++){let G=T.context.getReturnState($),Q=this.atn.states[G];if(Q.transitions.length!==1||!Q.transitions[0].isEpsilon)return!1;let U=Q.transitions[0].target;if(!(Q.stateType===N.BLOCK_END&&U===L||Q===R||U===R||U.stateType===N.BLOCK_END&&U.transitions.length===1&&U.transitions[0].isEpsilon&&U.transitions[0].target===L))return!1}return!0}getRuleName(T){return this.parser!==null&&T>=0?this.parser.ruleNames[T]:"<rule "+T+">"}getEpsilonTarget(T,L,I,_,R,$){switch(L.serializationType){case P.RULE:return this.ruleTransition(T,L);case P.PRECEDENCE:return this.precedenceTransition(T,L,I,_,R);case P.PREDICATE:return this.predTransition(T,L,I,_,R);case P.ACTION:return this.actionTransition(T,L);case P.EPSILON:return new T0({state:L.target},T);case P.ATOM:case P.RANGE:case P.SET:return $&&L.matches(M.EOF,0,1)?new T0({state:L.target},T):null;default:return null}}actionTransition(T,L){if(this.debug){let I=L.actionIndex===-1?65535:L.actionIndex;console.log("ACTION edge "+L.ruleIndex+":"+I)}return new T0({state:L.target},T)}precedenceTransition(T,L,I,_,R){this.debug&&(console.log("PRED (collectPredicates="+I+") "+L.precedence+">=_p, ctx dependent=true"),this.parser!==null&&console.log("context surrounding pred is "+o0(this.parser.getRuleInvocationStack())));let $=null;if(I&&_)if(R){let G=this._input.index;this._input.seek(this._startIndex);let Q=L.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(G),Q&&($=new T0({state:L.target},T))}else{let G=o.andContext(T.semanticContext,L.getPredicate());$=new T0({state:L.target,semanticContext:G},T)}else $=new T0({state:L.target},T);return this.debug&&console.log("config from pred transition="+$),$}predTransition(T,L,I,_,R){this.debug&&(console.log("PRED (collectPredicates="+I+") "+L.ruleIndex+":"+L.predIndex+", ctx dependent="+L.isCtxDependent),this.parser!==null&&console.log("context surrounding pred is "+o0(this.parser.getRuleInvocationStack())));let $=null;if(I&&(L.isCtxDependent&&_||!L.isCtxDependent))if(R){let G=this._input.index;this._input.seek(this._startIndex);let Q=L.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(G),Q&&($=new T0({state:L.target},T))}else{let G=o.andContext(T.semanticContext,L.getPredicate());$=new T0({state:L.target,semanticContext:G},T)}else $=new T0({state:L.target},T);return this.debug&&console.log("config from pred transition="+$),$}ruleTransition(T,L){this.debug&&console.log("CALL rule "+this.getRuleName(L.target.ruleIndex)+", ctx="+T.context);let I=L.followState,_=D0.create(T.context,I.stateNumber);return new T0({state:L.target,context:_},T)}getConflictingAlts(T){let L=Q0.getConflictingAltSubsets(T);return Q0.getAlts(L)}getConflictingAltsOrUniqueAlt(T){let L=null;return T.uniqueAlt!==a.INVALID_ALT_NUMBER?(L=new K0,L.set(T.uniqueAlt)):L=T.conflictingAlts,L}getTokenName(T){if(T===M.EOF)return"EOF";if(this.parser!==null&&this.parser.literalNames!==null){if(!(T>=this.parser.literalNames.length&&T>=this.parser.symbolicNames.length))return(this.parser.literalNames[T]||this.parser.symbolicNames[T])+"<"+T+">";console.log(T+" ttype out of range: "+this.parser.literalNames),console.log(""+this.parser.getInputStream().getTokens())}return""+T}getLookaheadName(T){return this.getTokenName(T.LA(1))}dumpDeadEndConfigs(T){console.log("dead end configs: ");let L=T.getDeadEndConfigs();for(let I=0;I<L.length;I++){let _=L[I],R="no edges";if(_.state.transitions.length>0){let $=_.state.transitions[0];$ instanceof N6?R="Atom "+this.getTokenName($.label):$ instanceof u6&&(R=($ instanceof g6?"~":"")+"Set "+$.set)}console.error(_.toString(this.parser,!0)+":"+R)}}noViableAlt(T,L,I,_){return new t1(this.parser,T,T.get(_),T.LT(1),I,L)}getUniqueAlt(T){let L=a.INVALID_ALT_NUMBER;for(let I=0;I<T.items.length;I++){let _=T.items[I];if(L===a.INVALID_ALT_NUMBER)L=_.alt;else if(_.alt!==L)return a.INVALID_ALT_NUMBER}return L}addDFAEdge(T,L,I,_){if(this.debug&&console.log("EDGE "+L+" -> "+_+" upon "+this.getTokenName(I)),_===null)return null;if(_=this.addDFAState(T,_),L===null||I<-1||I>this.atn.maxTokenType)return _;if(L.edges===null&&(L.edges=[]),L.edges[I+1]=_,this.debug){let R=this.parser===null?null:this.parser.literalNames,$=this.parser===null?null:this.parser.symbolicNames;console.log(`DFA=
|
|
8
|
-
|
|
9
|
-
`))}}}return T.length===0?null:T}getEdgeLabel(T){return T===0?"EOF":this.literalNames!==null||this.symbolicNames!==null?this.literalNames[T-1]||this.symbolicNames[T-1]:String.fromCharCode(T-1)}getStateString(T){let L=(T.isAcceptState?":":"")+"s"+T.stateNumber+(T.requiresFullContext?"^":"");return T.isAcceptState?T.predicates!==null?L+"=>"+o0(T.predicates):L+"=>"+T.prediction.toString():L}}class O4 extends d6{constructor(T){super(T,null)}getEdgeLabel(T){return"'"+String.fromCharCode(T)+"'"}}class J4{constructor(T,L){if(L===void 0&&(L=0),this.atnStartState=T,this.decision=L,this._states=new z0,this.s0=null,this.precedenceDfa=!1,T instanceof L1&&T.isPrecedenceDecision){this.precedenceDfa=!0;let I=new i0(null,new W0);I.edges=[],I.isAcceptState=!1,I.requiresFullContext=!1,this.s0=I}}getPrecedenceStartState(T){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";return T<0||T>=this.s0.edges.length?null:this.s0.edges[T]||null}setPrecedenceStartState(T,L){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";T<0||(this.s0.edges[T]=L)}setPrecedenceDfa(T){if(this.precedenceDfa!==T){if(this._states=new z0,T){let L=new i0(null,new W0);L.edges=[],L.isAcceptState=!1,L.requiresFullContext=!1,this.s0=L}else this.s0=null;this.precedenceDfa=T}}sortedStates(){return this._states.values().sort(function(T,L){return T.stateNumber-L.stateNumber})}toString(T,L){return T=T||null,L=L||null,this.s0===null?"":new d6(this,T,L).toString()}toLexerString(){return this.s0===null?"":new O4(this).toString()}get states(){return this._states}}var QL={DFA:J4,DFASerializer:d6,LexerDFASerializer:O4,PredPrediction:Q4},UL={PredictionContext:A},SL={Interval:x,IntervalSet:H0};class l6{visitTerminal(T){}visitErrorNode(T){}enterEveryRule(T){}exitEveryRule(T){}}class Z4{visit(T){return Array.isArray(T)?T.map(function(L){return L.accept(this)},this):T.accept(this)}visitChildren(T){return T.children?this.visit(T.children):null}visitTerminal(T){}visitErrorNode(T){}}class a1{walk(T,L){if(L instanceof n1||L.isErrorNode!==void 0&&L.isErrorNode())T.visitErrorNode(L);else if(L instanceof y0)T.visitTerminal(L);else{this.enterRule(T,L);for(let I=0;I<L.getChildCount();I++){let _=L.getChild(I);this.walk(T,_)}this.exitRule(T,L)}}enterRule(T,L){let I=L.ruleContext;T.enterEveryRule(I),I.enterRule(T)}exitRule(T,L){let I=L.ruleContext;I.exitRule(T),T.exitEveryRule(I)}}a1.DEFAULT=new a1;var OL={Trees:q3,RuleNode:j1,ErrorNode:n1,TerminalNode:y0,ParseTreeListener:l6,ParseTreeVisitor:Z4,ParseTreeWalker:a1};class W1 extends r0{constructor(T){super({message:"",recognizer:T,input:T.getInputStream(),ctx:T._ctx}),this.offendingToken=T.getCurrentToken()}}class o6 extends r0{constructor(T,L,I){super({message:JL(L,I||null),recognizer:T,input:T.getInputStream(),ctx:T._ctx});let _=T._interp.atn.states[T.state].transitions[0];_ instanceof L4?(this.ruleIndex=_.ruleIndex,this.predicateIndex=_.predIndex):(this.ruleIndex=0,this.predicateIndex=0),this.predicate=L,this.offendingToken=T.getCurrentToken()}}function JL(T,L){return L!==null?L:"failed predicate: {"+T+"}?"}class W4 extends P1{constructor(T){super(),T=T||!0,this.exactOnly=T}reportAmbiguity(T,L,I,_,R,$,G){if(this.exactOnly&&!R)return;let Q="reportAmbiguity d="+this.getDecisionDescription(T,L)+": ambigAlts="+this.getConflictingAlts($,G)+", input='"+T.getTokenStream().getText(new x(I,_))+"'";T.notifyErrorListeners(Q)}reportAttemptingFullContext(T,L,I,_,R,$){let G="reportAttemptingFullContext d="+this.getDecisionDescription(T,L)+", input='"+T.getTokenStream().getText(new x(I,_))+"'";T.notifyErrorListeners(G)}reportContextSensitivity(T,L,I,_,R,$){let G="reportContextSensitivity d="+this.getDecisionDescription(T,L)+", input='"+T.getTokenStream().getText(new x(I,_))+"'";T.notifyErrorListeners(G)}getDecisionDescription(T,L){let I=L.decision,_=L.atnStartState.ruleIndex,R=T.ruleNames;if(_<0||_>=R.length)return""+I;let $=R[_]||null;return $===null||$.length===0?""+I:`${I} (${$})`}getConflictingAlts(T,L){if(T!==null)return T;let I=new K0;for(let _=0;_<L.items.length;_++)I.set(L.items[_].alt);return`{${I.values().join(", ")}}`}}class D4 extends Error{constructor(){super(),Error.captureStackTrace(this,D4)}}class h3{reset(T){}recoverInline(T){}recover(T,L){}sync(T){}inErrorRecoveryMode(T){}reportError(T){}}class e1 extends h3{constructor(){super(),this.errorRecoveryMode=!1,this.lastErrorIndex=-1,this.lastErrorStates=null,this.nextTokensContext=null,this.nextTokenState=0}reset(T){this.endErrorCondition(T)}beginErrorCondition(T){this.errorRecoveryMode=!0}inErrorRecoveryMode(T){return this.errorRecoveryMode}endErrorCondition(T){this.errorRecoveryMode=!1,this.lastErrorStates=null,this.lastErrorIndex=-1}reportMatch(T){this.endErrorCondition(T)}reportError(T,L){this.inErrorRecoveryMode(T)||(this.beginErrorCondition(T),L instanceof t1?this.reportNoViableAlternative(T,L):L instanceof W1?this.reportInputMismatch(T,L):L instanceof o6?this.reportFailedPredicate(T,L):(console.log("unknown recognition error type: "+L.constructor.name),console.log(L.stack),T.notifyErrorListeners(L.getOffendingToken(),L.getMessage(),L)))}recover(T,L){this.lastErrorIndex===T.getInputStream().index&&this.lastErrorStates!==null&&this.lastErrorStates.indexOf(T.state)>=0&&T.consume(),this.lastErrorIndex=T._input.index,this.lastErrorStates===null&&(this.lastErrorStates=[]),this.lastErrorStates.push(T.state);let I=this.getErrorRecoverySet(T);this.consumeUntil(T,I)}sync(T){if(this.inErrorRecoveryMode(T))return;let L=T._interp.atn.states[T.state],I=T.getTokenStream().LA(1),_=T.atn.nextTokens(L);if(_.contains(I))return this.nextTokensContext=null,void(this.nextTokenState=N.INVALID_STATE_NUMBER);if(_.contains(M.EPSILON))this.nextTokensContext===null&&(this.nextTokensContext=T._ctx,this.nextTokensState=T._stateNumber);else switch(L.stateType){case N.BLOCK_START:case N.STAR_BLOCK_START:case N.PLUS_BLOCK_START:case N.STAR_LOOP_ENTRY:if(this.singleTokenDeletion(T)!==null)return;throw new W1(T);case N.PLUS_LOOP_BACK:case N.STAR_LOOP_BACK:{this.reportUnwantedToken(T);let R=new H0;R.addSet(T.getExpectedTokens());let $=R.addSet(this.getErrorRecoverySet(T));this.consumeUntil(T,$)}}}reportNoViableAlternative(T,L){let I=T.getTokenStream(),_;_=I!==null?L.startToken.type===M.EOF?"<EOF>":I.getText(new x(L.startToken.tokenIndex,L.offendingToken.tokenIndex)):"<unknown input>";let R="no viable alternative at input "+this.escapeWSAndQuote(_);T.notifyErrorListeners(R,L.offendingToken,L)}reportInputMismatch(T,L){let I="mismatched input "+this.getTokenErrorDisplay(L.offendingToken)+" expecting "+L.getExpectedTokens().toString(T.literalNames,T.symbolicNames);T.notifyErrorListeners(I,L.offendingToken,L)}reportFailedPredicate(T,L){let I="rule "+T.ruleNames[T._ctx.ruleIndex]+" "+L.message;T.notifyErrorListeners(I,L.offendingToken,L)}reportUnwantedToken(T){if(this.inErrorRecoveryMode(T))return;this.beginErrorCondition(T);let L=T.getCurrentToken(),I="extraneous input "+this.getTokenErrorDisplay(L)+" expecting "+this.getExpectedTokens(T).toString(T.literalNames,T.symbolicNames);T.notifyErrorListeners(I,L,null)}reportMissingToken(T){if(this.inErrorRecoveryMode(T))return;this.beginErrorCondition(T);let L=T.getCurrentToken(),I="missing "+this.getExpectedTokens(T).toString(T.literalNames,T.symbolicNames)+" at "+this.getTokenErrorDisplay(L);T.notifyErrorListeners(I,L,null)}recoverInline(T){let L=this.singleTokenDeletion(T);if(L!==null)return T.consume(),L;if(this.singleTokenInsertion(T))return this.getMissingSymbol(T);throw new W1(T)}singleTokenInsertion(T){let L=T.getTokenStream().LA(1),I=T._interp.atn,_=I.states[T.state].transitions[0].target;return!!I.nextTokens(_,T._ctx).contains(L)&&(this.reportMissingToken(T),!0)}singleTokenDeletion(T){let L=T.getTokenStream().LA(2);if(this.getExpectedTokens(T).contains(L)){this.reportUnwantedToken(T),T.consume();let I=T.getCurrentToken();return this.reportMatch(T),I}return null}getMissingSymbol(T){let L=T.getCurrentToken(),I=this.getExpectedTokens(T).first(),_;_=I===M.EOF?"<missing EOF>":"<missing "+T.literalNames[I]+">";let R=L,$=T.getTokenStream().LT(-1);return R.type===M.EOF&&$!==null&&(R=$),T.getTokenFactory().create(R.source,I,_,M.DEFAULT_CHANNEL,-1,-1,R.line,R.column)}getExpectedTokens(T){return T.getExpectedTokens()}getTokenErrorDisplay(T){if(T===null)return"<no token>";let L=T.text;return L===null&&(L=T.type===M.EOF?"<EOF>":"<"+T.type+">"),this.escapeWSAndQuote(L)}escapeWSAndQuote(T){return"'"+(T=(T=(T=T.replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace(/\t/g,"\\t"))+"'"}getErrorRecoverySet(T){let L=T._interp.atn,I=T._ctx,_=new H0;for(;I!==null&&I.invokingState>=0;){let R=L.states[I.invokingState].transitions[0],$=L.nextTokens(R.followState);_.addSet($),I=I.parentCtx}return _.removeOne(M.EPSILON),_}consumeUntil(T,L){let I=T.getTokenStream().LA(1);for(;I!==M.EOF&&!L.contains(I);)T.consume(),I=T.getTokenStream().LA(1)}}class K4 extends e1{constructor(){super()}recover(T,L){let I=T._ctx;for(;I!==null;)I.exception=L,I=I.parentCtx;throw new D4(L)}recoverInline(T){this.recover(T,new W1(T))}sync(T){}}var ZL={RecognitionException:r0,NoViableAltException:t1,LexerNoViableAltException:m6,InputMismatchException:W1,FailedPredicateException:o6,DiagnosticErrorListener:W4,BailErrorStrategy:K4,DefaultErrorStrategy:e1,ErrorListener:P1};class I1{constructor(T,L){if(this.name="<empty>",this.strdata=T,this.decodeToUnicodeCodePoints=L||!1,this._index=0,this.data=[],this.decodeToUnicodeCodePoints)for(let I=0;I<this.strdata.length;){let _=this.strdata.codePointAt(I);this.data.push(_),I+=_<=65535?1:2}else{this.data=Array(this.strdata.length);for(let I=0;I<this.strdata.length;I++)this.data[I]=this.strdata.charCodeAt(I)}this._size=this.data.length}reset(){this._index=0}consume(){if(this._index>=this._size)throw"cannot consume EOF";this._index+=1}LA(T){if(T===0)return 0;T<0&&(T+=1);let L=this._index+T-1;return L<0||L>=this._size?M.EOF:this.data[L]}LT(T){return this.LA(T)}mark(){return-1}release(T){}seek(T){T<=this._index?this._index=T:this._index=Math.min(T,this._size)}getText(T,L){if(L>=this._size&&(L=this._size-1),T>=this._size)return"";if(this.decodeToUnicodeCodePoints){let I="";for(let _=T;_<=L;_++)I+=String.fromCodePoint(this.data[_]);return I}return this.strdata.slice(T,L+1)}toString(){return this.strdata}get index(){return this._index}get size(){return this._size}}class v6 extends I1{constructor(T,L){super(T,L)}}var K3=J1(763),Y3=typeof process<"u"&&process.versions!=null&&process.versions.node!=null;class r2 extends v6{static fromPath(T,L,I){if(!Y3)throw Error("FileStream is only available when running in Node!");K3.readFile(T,L,function(_,R){let $=null;R!==null&&($=new I1(R,!0)),I(_,$)})}constructor(T,L,I){if(!Y3)throw Error("FileStream is only available when running in Node!");super(K3.readFileSync(T,L||"utf-8"),I),this.fileName=T}}var w3={fromString:function(T){return new I1(T,!0)},fromBlob:function(T,L,I,_){let R=new window.FileReader;R.onload=function($){let G=new I1($.target.result,!0);I(G)},R.onerror=_,R.readAsText(T,L)},fromBuffer:function(T,L){return new I1(T.toString(L),!0)},fromPath:function(T,L,I){r2.fromPath(T,L,I)},fromPathSync:function(T,L){return new r2(T,L)}},WL={arrayToString:o0,stringToCharArray:function(T){let L=new Uint16Array(T.length);for(let I=0;I<T.length;I++)L[I]=T.charCodeAt(I);return L}};class A3{}class Y4 extends A3{constructor(T){super(),this.tokenSource=T,this.tokens=[],this.index=-1,this.fetchedEOF=!1}mark(){return 0}release(T){}reset(){this.seek(0)}seek(T){this.lazyInit(),this.index=this.adjustSeekIndex(T)}get size(){return this.tokens.length}get(T){return this.lazyInit(),this.tokens[T]}consume(){let T=!1;if(T=this.index>=0&&(this.fetchedEOF?this.index<this.tokens.length-1:this.index<this.tokens.length),!T&&this.LA(1)===M.EOF)throw"cannot consume EOF";this.sync(this.index+1)&&(this.index=this.adjustSeekIndex(this.index+1))}sync(T){let L=T-this.tokens.length+1;return!(L>0)||this.fetch(L)>=L}fetch(T){if(this.fetchedEOF)return 0;for(let L=0;L<T;L++){let I=this.tokenSource.nextToken();if(I.tokenIndex=this.tokens.length,this.tokens.push(I),I.type===M.EOF)return this.fetchedEOF=!0,L+1}return T}getTokens(T,L,I){if(I===void 0&&(I=null),T<0||L<0)return null;this.lazyInit();let _=[];L>=this.tokens.length&&(L=this.tokens.length-1);for(let R=T;R<L;R++){let $=this.tokens[R];if($.type===M.EOF)break;(I===null||I.contains($.type))&&_.push($)}return _}LA(T){return this.LT(T).type}LB(T){return this.index-T<0?null:this.tokens[this.index-T]}LT(T){if(this.lazyInit(),T===0)return null;if(T<0)return this.LB(-T);let L=this.index+T-1;return this.sync(L),L>=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[L]}adjustSeekIndex(T){return T}lazyInit(){this.index===-1&&this.setup()}setup(){this.sync(0),this.index=this.adjustSeekIndex(0)}setTokenSource(T){this.tokenSource=T,this.tokens=[],this.index=-1,this.fetchedEOF=!1}nextTokenOnChannel(T,L){if(this.sync(T),T>=this.tokens.length)return-1;let I=this.tokens[T];for(;I.channel!==L;){if(I.type===M.EOF)return-1;T+=1,this.sync(T),I=this.tokens[T]}return T}previousTokenOnChannel(T,L){for(;T>=0&&this.tokens[T].channel!==L;)T-=1;return T}getHiddenTokensToRight(T,L){if(L===void 0&&(L=-1),this.lazyInit(),T<0||T>=this.tokens.length)throw T+" not in 0.."+this.tokens.length-1;let I=this.nextTokenOnChannel(T+1,t.DEFAULT_TOKEN_CHANNEL),_=T+1,R=I===-1?this.tokens.length-1:I;return this.filterForChannel(_,R,L)}getHiddenTokensToLeft(T,L){if(L===void 0&&(L=-1),this.lazyInit(),T<0||T>=this.tokens.length)throw T+" not in 0.."+this.tokens.length-1;let I=this.previousTokenOnChannel(T-1,t.DEFAULT_TOKEN_CHANNEL);if(I===T-1)return null;let _=I+1,R=T-1;return this.filterForChannel(_,R,L)}filterForChannel(T,L,I){let _=[];for(let R=T;R<L+1;R++){let $=this.tokens[R];I===-1?$.channel!==t.DEFAULT_TOKEN_CHANNEL&&_.push($):$.channel===I&&_.push($)}return _.length===0?null:_}getSourceName(){return this.tokenSource.getSourceName()}getText(T){this.lazyInit(),this.fill(),T||(T=new x(0,this.tokens.length-1));let L=T.start;L instanceof M&&(L=L.tokenIndex);let I=T.stop;if(I instanceof M&&(I=I.tokenIndex),L===null||I===null||L<0||I<0)return"";I>=this.tokens.length&&(I=this.tokens.length-1);let _="";for(let R=L;R<I+1;R++){let $=this.tokens[R];if($.type===M.EOF)break;_+=$.text}return _}fill(){for(this.lazyInit();this.fetch(1000)===1000;);}}Object.defineProperty(Y4,"size",{get:function(){return this.tokens.length}});class X4 extends Y4{constructor(T,L){super(T),this.channel=L===void 0?M.DEFAULT_CHANNEL:L}adjustSeekIndex(T){return this.nextTokenOnChannel(T,this.channel)}LB(T){if(T===0||this.index-T<0)return null;let L=this.index,I=1;for(;I<=T;)L=this.previousTokenOnChannel(L-1,this.channel),I+=1;return L<0?null:this.tokens[L]}LT(T){if(this.lazyInit(),T===0)return null;if(T<0)return this.LB(-T);let L=this.index,I=1;for(;I<T;)this.sync(L+1)&&(L=this.nextTokenOnChannel(L+1,this.channel)),I+=1;return this.tokens[L]}getNumberOfOnChannelTokens(){let T=0;this.fill();for(let L=0;L<this.tokens.length;L++){let I=this.tokens[L];if(I.channel===this.channel&&(T+=1),I.type===M.EOF)break}return T}}class u3 extends l6{constructor(T){super(),this.parser=T}enterEveryRule(T){console.log("enter "+this.parser.ruleNames[T.ruleIndex]+", LT(1)="+this.parser._input.LT(1).text)}visitTerminal(T){console.log("consume "+T.symbol+" rule "+this.parser.ruleNames[this.parser._ctx.ruleIndex])}exitEveryRule(T){console.log("exit "+this.parser.ruleNames[T.ruleIndex]+", LT(1)="+this.parser._input.LT(1).text)}}class i6 extends s1{constructor(T){super(),this._input=null,this._errHandler=new e1,this._precedenceStack=[],this._precedenceStack.push(0),this._ctx=null,this.buildParseTrees=!0,this._tracer=null,this._parseListeners=null,this._syntaxErrors=0,this.setInputStream(T)}reset(){this._input!==null&&this._input.seek(0),this._errHandler.reset(this),this._ctx=null,this._syntaxErrors=0,this.setTrace(!1),this._precedenceStack=[],this._precedenceStack.push(0),this._interp!==null&&this._interp.reset()}match(T){let L=this.getCurrentToken();return L.type===T?(this._errHandler.reportMatch(this),this.consume()):(L=this._errHandler.recoverInline(this),this.buildParseTrees&&L.tokenIndex===-1&&this._ctx.addErrorNode(L)),L}matchWildcard(){let T=this.getCurrentToken();return T.type>0?(this._errHandler.reportMatch(this),this.consume()):(T=this._errHandler.recoverInline(this),this.buildParseTrees&&T.tokenIndex===-1&&this._ctx.addErrorNode(T)),T}getParseListeners(){return this._parseListeners||[]}addParseListener(T){if(T===null)throw"listener";this._parseListeners===null&&(this._parseListeners=[]),this._parseListeners.push(T)}removeParseListener(T){if(this._parseListeners!==null){let L=this._parseListeners.indexOf(T);L>=0&&this._parseListeners.splice(L,1),this._parseListeners.length===0&&(this._parseListeners=null)}}removeParseListeners(){this._parseListeners=null}triggerEnterRuleEvent(){if(this._parseListeners!==null){let T=this._ctx;this._parseListeners.forEach(function(L){L.enterEveryRule(T),T.enterRule(L)})}}triggerExitRuleEvent(){if(this._parseListeners!==null){let T=this._ctx;this._parseListeners.slice(0).reverse().forEach(function(L){T.exitRule(L),L.exitEveryRule(T)})}}getTokenFactory(){return this._input.tokenSource._factory}setTokenFactory(T){this._input.tokenSource._factory=T}getATNWithBypassAlts(){let T=this.getSerializedATN();if(T===null)throw"The current parser does not support an ATN with bypass alternatives.";let L=this.bypassAltsAtnCache[T];if(L===null){let I=new M1;I.generateRuleBypassTransitions=!0,L=new c6(I).deserialize(T),this.bypassAltsAtnCache[T]=L}return L}getInputStream(){return this.getTokenStream()}setInputStream(T){this.setTokenStream(T)}getTokenStream(){return this._input}setTokenStream(T){this._input=null,this.reset(),this._input=T}get syntaxErrorsCount(){return this._syntaxErrors}getCurrentToken(){return this._input.LT(1)}notifyErrorListeners(T,L,I){I=I||null,(L=L||null)===null&&(L=this.getCurrentToken()),this._syntaxErrors+=1;let{line:_,column:R}=L;this.getErrorListener().syntaxError(this,L,_,R,T,I)}consume(){let T=this.getCurrentToken();T.type!==M.EOF&&this.getInputStream().consume();let L=this._parseListeners!==null&&this._parseListeners.length>0;if(this.buildParseTrees||L){let I;I=this._errHandler.inErrorRecoveryMode(this)?this._ctx.addErrorNode(T):this._ctx.addTokenNode(T),I.invokingState=this.state,L&&this._parseListeners.forEach(function(_){I instanceof n1||I.isErrorNode!==void 0&&I.isErrorNode()?_.visitErrorNode(I):I instanceof y0&&_.visitTerminal(I)})}return T}addContextToParseTree(){this._ctx.parentCtx!==null&&this._ctx.parentCtx.addChild(this._ctx)}enterRule(T,L,I){this.state=L,this._ctx=T,this._ctx.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this._ctx.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this._ctx.invokingState,this._ctx=this._ctx.parentCtx}enterOuterAlt(T,L){T.setAltNumber(L),this.buildParseTrees&&this._ctx!==T&&this._ctx.parentCtx!==null&&(this._ctx.parentCtx.removeLastChild(),this._ctx.parentCtx.addChild(T)),this._ctx=T}getPrecedence(){return this._precedenceStack.length===0?-1:this._precedenceStack[this._precedenceStack.length-1]}enterRecursionRule(T,L,I,_){this.state=L,this._precedenceStack.push(_),this._ctx=T,this._ctx.start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(T,L,I){let _=this._ctx;_.parentCtx=T,_.invokingState=L,_.stop=this._input.LT(-1),this._ctx=T,this._ctx.start=_.start,this.buildParseTrees&&this._ctx.addChild(_),this.triggerEnterRuleEvent()}unrollRecursionContexts(T){this._precedenceStack.pop(),this._ctx.stop=this._input.LT(-1);let L=this._ctx,I=this.getParseListeners();if(I!==null&&I.length>0)for(;this._ctx!==T;)this.triggerExitRuleEvent(),this._ctx=this._ctx.parentCtx;else this._ctx=T;L.parentCtx=T,this.buildParseTrees&&T!==null&&T.addChild(L)}getInvokingContext(T){let L=this._ctx;for(;L!==null;){if(L.ruleIndex===T)return L;L=L.parentCtx}return null}precpred(T,L){return L>=this._precedenceStack[this._precedenceStack.length-1]}inContext(T){return!1}isExpectedToken(T){let L=this._interp.atn,I=this._ctx,_=L.states[this.state],R=L.nextTokens(_);if(R.contains(T))return!0;if(!R.contains(M.EPSILON))return!1;for(;I!==null&&I.invokingState>=0&&R.contains(M.EPSILON);){let $=L.states[I.invokingState].transitions[0];if(R=L.nextTokens($.followState),R.contains(T))return!0;I=I.parentCtx}return!(!R.contains(M.EPSILON)||T!==M.EOF)}getExpectedTokens(){return this._interp.atn.getExpectedTokens(this.state,this._ctx)}getExpectedTokensWithinCurrentRule(){let T=this._interp.atn,L=T.states[this.state];return T.nextTokens(L)}getRuleIndex(T){let L=this.getRuleIndexMap()[T];return L!==null?L:-1}getRuleInvocationStack(T){(T=T||null)===null&&(T=this._ctx);let L=[];for(;T!==null;){let I=T.ruleIndex;I<0?L.push("n/a"):L.push(this.ruleNames[I]),T=T.parentCtx}return L}getDFAStrings(){return this._interp.decisionToDFA.toString()}dumpDFA(){let T=!1;for(let L=0;L<this._interp.decisionToDFA.length;L++){let I=this._interp.decisionToDFA[L];I.states.length>0&&(T&&console.log(),this.printer.println("Decision "+I.decision+":"),this.printer.print(I.toString(this.literalNames,this.symbolicNames)),T=!0)}}getSourceName(){return this._input.getSourceName()}setTrace(T){T?(this._tracer!==null&&this.removeParseListener(this._tracer),this._tracer=new u3(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}}i6.bypassAltsAtnCache={};class B4 extends y0{constructor(T){super(),this.parentCtx=null,this.symbol=T}getChild(T){return null}getSymbol(){return this.symbol}getParent(){return this.parentCtx}getPayload(){return this.symbol}getSourceInterval(){if(this.symbol===null)return x.INVALID_INTERVAL;let T=this.symbol.tokenIndex;return new x(T,T)}getChildCount(){return 0}accept(T){return T.visitTerminal(this)}getText(){return this.symbol.text}toString(){return this.symbol.type===M.EOF?"<EOF>":this.symbol.text}}class s2 extends B4{constructor(T){super(T)}isErrorNode(){return!0}accept(T){return T.visitErrorNode(this)}}class r6 extends _1{constructor(T,L){super(T,L),this.children=null,this.start=null,this.stop=null,this.exception=null}copyFrom(T){this.parentCtx=T.parentCtx,this.invokingState=T.invokingState,this.children=null,this.start=T.start,this.stop=T.stop,T.children&&(this.children=[],T.children.map(function(L){L instanceof s2&&(this.children.push(L),L.parentCtx=this)},this))}enterRule(T){}exitRule(T){}addChild(T){return this.children===null&&(this.children=[]),this.children.push(T),T}removeLastChild(){this.children!==null&&this.children.pop()}addTokenNode(T){let L=new B4(T);return this.addChild(L),L.parentCtx=this,L}addErrorNode(T){let L=new s2(T);return this.addChild(L),L.parentCtx=this,L}getChild(T,L){if(L=L||null,this.children===null||T<0||T>=this.children.length)return null;if(L===null)return this.children[T];for(let I=0;I<this.children.length;I++){let _=this.children[I];if(_ instanceof L){if(T===0)return _;T-=1}}return null}getToken(T,L){if(this.children===null||L<0||L>=this.children.length)return null;for(let I=0;I<this.children.length;I++){let _=this.children[I];if(_ instanceof y0&&_.symbol.type===T){if(L===0)return _;L-=1}}return null}getTokens(T){if(this.children===null)return[];{let L=[];for(let I=0;I<this.children.length;I++){let _=this.children[I];_ instanceof y0&&_.symbol.type===T&&L.push(_)}return L}}getTypedRuleContext(T,L){return this.getChild(L,T)}getTypedRuleContexts(T){if(this.children===null)return[];{let L=[];for(let I=0;I<this.children.length;I++){let _=this.children[I];_ instanceof T&&L.push(_)}return L}}getChildCount(){return this.children===null?0:this.children.length}getSourceInterval(){return this.start===null||this.stop===null?x.INVALID_INTERVAL:new x(this.start.tokenIndex,this.stop.tokenIndex)}}_1.EMPTY=new r6;class l0{static DEFAULT_PROGRAM_NAME="default";constructor(T){this.tokens=T,this.programs=new Map}getTokenStream(){return this.tokens}insertAfter(T,L){let I,_=arguments.length>2&&arguments[2]!==void 0?arguments[2]:l0.DEFAULT_PROGRAM_NAME;I=typeof T=="number"?T:T.tokenIndex;let R=this.getProgram(_),$=new a2(this.tokens,I,R.length,L);R.push($)}insertBefore(T,L){let I,_=arguments.length>2&&arguments[2]!==void 0?arguments[2]:l0.DEFAULT_PROGRAM_NAME;I=typeof T=="number"?T:T.tokenIndex;let R=this.getProgram(_),$=new O1(this.tokens,I,R.length,L);R.push($)}replaceSingle(T,L){let I=arguments.length>2&&arguments[2]!==void 0?arguments[2]:l0.DEFAULT_PROGRAM_NAME;this.replace(T,T,L,I)}replace(T,L,I){let _=arguments.length>3&&arguments[3]!==void 0?arguments[3]:l0.DEFAULT_PROGRAM_NAME;if(typeof T!="number"&&(T=T.tokenIndex),typeof L!="number"&&(L=L.tokenIndex),T>L||T<0||L<0||L>=this.tokens.size)throw RangeError(`replace: range invalid: ${T}..${L}(size=${this.tokens.size})`);let R=this.getProgram(_),$=new l1(this.tokens,T,L,R.length,I);R.push($)}delete(T,L){let I=arguments.length>2&&arguments[2]!==void 0?arguments[2]:l0.DEFAULT_PROGRAM_NAME;L===void 0&&(L=T),this.replace(T,L,null,I)}getProgram(T){let L=this.programs.get(T);return L==null&&(L=this.initializeProgram(T)),L}initializeProgram(T){let L=[];return this.programs.set(T,L),L}getText(T){let L,I=arguments.length>1&&arguments[1]!==void 0?arguments[1]:l0.DEFAULT_PROGRAM_NAME;L=T instanceof x?T:new x(0,this.tokens.size-1),typeof T=="string"&&(I=T);let _=this.programs.get(I),R=L.start,$=L.stop;if($>this.tokens.size-1&&($=this.tokens.size-1),R<0&&(R=0),_==null||_.length===0)return this.tokens.getText(new x(R,$));let G=[],Q=this.reduceToSingleOperationPerIndex(_),U=R;for(;U<=$&&U<this.tokens.size;){let O=Q.get(U);Q.delete(U);let J=this.tokens.get(U);O==null?(J.type!==M.EOF&&G.push(String(J.text)),U++):U=O.execute(G)}if($===this.tokens.size-1)for(let O of Q.values())O.index>=this.tokens.size-1&&G.push(O.text.toString());return G.join("")}reduceToSingleOperationPerIndex(T){for(let I=0;I<T.length;I++){let _=T[I];if(_==null)continue;if(!(_ instanceof l1))continue;let R=_,$=this.getKindOfOps(T,O1,I);for(let Q of $)Q.index===R.index?(T[Q.instructionIndex]=void 0,R.text=Q.text.toString()+(R.text!=null?R.text.toString():"")):Q.index>R.index&&Q.index<=R.lastIndex&&(T[Q.instructionIndex]=void 0);let G=this.getKindOfOps(T,l1,I);for(let Q of G){if(Q.index>=R.index&&Q.lastIndex<=R.lastIndex){T[Q.instructionIndex]=void 0;continue}let U=Q.lastIndex<R.index||Q.index>R.lastIndex;if(Q.text!=null||R.text!=null||U){if(!U)throw Error(`replace op boundaries of ${R} overlap with previous ${Q}`)}else T[Q.instructionIndex]=void 0,R.index=Math.min(Q.index,R.index),R.lastIndex=Math.max(Q.lastIndex,R.lastIndex)}}for(let I=0;I<T.length;I++){let _=T[I];if(_==null)continue;if(!(_ instanceof O1))continue;let R=_,$=this.getKindOfOps(T,O1,I);for(let Q of $)Q.index===R.index&&(Q instanceof a2?(R.text=this.catOpText(Q.text,R.text),T[Q.instructionIndex]=void 0):Q instanceof O1&&(R.text=this.catOpText(R.text,Q.text),T[Q.instructionIndex]=void 0));let G=this.getKindOfOps(T,l1,I);for(let Q of G)if(R.index!==Q.index){if(R.index>=Q.index&&R.index<=Q.lastIndex)throw Error(`insert op ${R} within boundaries of previous ${Q}`)}else Q.text=this.catOpText(R.text,Q.text),T[I]=void 0}let L=new Map;for(let I of T)if(I!=null){if(L.get(I.index)!=null)throw Error("should only be one op per index");L.set(I.index,I)}return L}catOpText(T,L){let I="",_="";return T!=null&&(I=T.toString()),L!=null&&(_=L.toString()),I+_}getKindOfOps(T,L,I){return T.slice(0,I).filter((_)=>_&&_ instanceof L)}}class z4{constructor(T,L,I,_){this.tokens=T,this.instructionIndex=I,this.index=L,this.text=_===void 0?"":_}toString(){let T=this.constructor.name,L=T.indexOf("$");return T=T.substring(L+1,T.length),"<"+T+"@"+this.tokens.get(this.index)+':"'+this.text+'">'}}class O1 extends z4{constructor(T,L,I,_){super(T,L,I,_)}execute(T){return this.text&&T.push(this.text.toString()),this.tokens.get(this.index).type!==M.EOF&&T.push(String(this.tokens.get(this.index).text)),this.index+1}}class a2 extends O1{constructor(T,L,I,_){super(T,L+1,I,_)}}class l1 extends z4{constructor(T,L,I,_,R){super(T,L,_,R),this.lastIndex=I}execute(T){return this.text&&T.push(this.text.toString()),this.lastIndex+1}toString(){return this.text==null?"<DeleteOp@"+this.tokens.get(this.index)+".."+this.tokens.get(this.lastIndex)+">":"<ReplaceOp@"+this.tokens.get(this.index)+".."+this.tokens.get(this.lastIndex)+':"'+this.text+'">'}}var DL={atn:GL,dfa:QL,context:UL,misc:SL,tree:OL,error:ZL,Token:M,CommonToken:v0,CharStreams:w3,CharStream:I1,InputStream:v6,CommonTokenStream:X4,Lexer:t,Parser:i6,ParserRuleContext:r6,Interval:x,IntervalSet:H0,LL1Analyzer:D1,Utils:WL,TokenStreamRewriter:l0},U0=c.MG,s6=c.fr,o_=c.sR,v_=c.Zo,H4=c.iH,i_=c.rt,g3=c.jB,a6=c.M8,r_=c.$t,s_=c.aq,f3=c.pG,p3=c.eP,a_=c.KU,n_=c.zW,t_=c.IX,e_=c.mY,TR=c.a7,x3=c.JG,c3=c.ay,x0=c.X2,LR=c.WU,m3=c.Uw,IR=c.gw,d3=c.iX,l3=c.re,F=c.Pg,n6=c.tD,_R=c.R$,q=c.Dj,RR=c.m7,$R=c.NZ,GR=c.xo,L0=c.ou,QR=c.qC,UR=c.mD,SR=c.Ay;class t6 extends m3{visitStart;visitStart_script;visitStart_expression;visitStart_comments;visitStatements;visitStatement;visitCompound_statement;visitSimple_statements;visitTrailing_structure_statements;visitSimple_statement;visitCompound_assignment;visitCompound_variable_initialization;visitCompound_name_initialization;visitCompound_tuple_initialization;visitCompound_reassignment;visitCompound_augassignment;visitFunction_declaration;visitParameter_list;visitParameter_definition;visitMethod_declaration;visitMethod_parameter_list;visitMethod_parameter_definition;visitType_declaration;visitField_definitions;visitField_definition;visitEnum_declaration;visitEnum_definitions;visitEnum_definition;visitStructure;visitStructure_statement;visitStructure_expression;visitIf_structure;visitElif_structure;visitIf_tail;visitElse_block;visitFor_structure;visitFor_structure_to;visitFor_structure_in;visitFor_iterator;visitWhile_structure;visitSwitch_structure;visitSwitch_cases;visitSwitch_pattern_case;visitSwitch_default_case;visitLocal_block;visitIndented_local_block;visitInline_local_block;visitSimple_assignment;visitSimple_variable_initialization;visitSimple_name_initialization;visitSimple_tuple_initialization;visitSimple_reassignment;visitSimple_augassignment;visitExpression;visitExpression_statement;visitConditional_expression;visitDisjunction_expression;visitConjunction_expression;visitBitwise_or_expression;visitBitwise_xor_expression;visitBitwise_and_expression;visitEquality_expression;visitEquality_trailing_pair;visitEqual_trailing_pair;visitNot_equal_trailing_pair;visitInequality_expression;visitInequality_trailing_pair;visitLess_than_equal_trailing_pair;visitLess_than_trailing_pair;visitGreater_than_equal_trailing_pair;visitGreater_than_trailing_pair;visitShift_expression;visitShift_op;visitAdditive_expression;visitAdditive_op;visitMultiplicative_expression;visitMultiplicative_op;visitUnary_expression;visitUnary_op;visitPrimary_expression_attribute;visitPrimary_expression_call;visitPrimary_expression_fallback;visitPrimary_expression_subscript;visitArgument_list;visitArgument_definition;visitSubscript_slice;visitAtomic_expression;visitLiteral_expression;visitLiteral_number;visitLiteral_string;visitLiteral_bool;visitLiteral_color;visitGrouped_expression;visitTuple_expression;visitImport_statement;visitBreak_statement;visitContinue_statement;visitVariable_declaration;visitTuple_declaration;visitDeclaration_mode;visitAssignment_target;visitAssignment_target_attribute;visitAssignment_target_subscript;visitAssignment_target_name;visitAssignment_target_group;visitAugassign_op;visitType_specification;visitType_qualifier;visitAttributed_type_name;visitTemplate_spec_suffix;visitArray_type_suffix;visitType_argument_list;visitName;visitName_load;visitName_store;visitComments;visitComment}var b0={kind:"Load"},T6={kind:"Store"},o3={kind:"Var"},V4={kind:"VarIp"},F4={kind:"Add"},v3={kind:"Sub"},q4={kind:"Mult"},i3={kind:"Div"},r3={kind:"Mod"},k4={kind:"UAdd"},s3={kind:"USub"},a3={kind:"Not"},n3={kind:"Invert"},t3={kind:"Eq"},e3={kind:"NotEq"},T8={kind:"Lt"},L8={kind:"LtE"},I8={kind:"Gt"},_8={kind:"GtE"},R8={kind:"And"},$8={kind:"Or"};function G8(T=[],L=[]){return{kind:"Script",body:T,annotations:L}}function Q8(T){return{kind:"Expression",body:T}}function L6(T){return{kind:"Expr",value:T}}function U8(T,L=[]){return{kind:"Call",func:T,args:L}}function M4(T,L=b0){return{kind:"Name",id:T,ctx:L}}function S8(T,L=null){return{kind:"Constant",value:T,kind_lit:L}}function O8(T,L=null){return{kind:"Arg",value:T,name:L}}function E4(T,L,I=b0){return{kind:"Attribute",value:T,attr:L,ctx:I}}function j4(T,L=null,I=b0){return{kind:"Subscript",value:T,slice:L,ctx:I}}function C4(T,L,I){return{kind:"BinOp",left:T,op:L,right:I}}function J8(T,L){return{kind:"UnaryOp",op:T,operand:L}}function N1(T,L,I=null,_=null,R=null,$=[]){return{kind:"Assign",target:T,value:L,type:I,mode:_,export:R,annotations:$}}function P4(T,L){return{kind:"ReAssign",target:T,value:L}}function N4(T,L=[],I=[],_=null,R=null,$=[]){return{kind:"FunctionDef",name:T,args:L,body:I,method:_,export:R,annotations:$}}function Z8(T,L=[],I=null,_=[]){return{kind:"TypeDef",name:T,body:L,export:I,annotations:_}}function W8(T,L=[],I=null,_=[]){return{kind:"EnumDef",name:T,body:L,export:I,annotations:_}}function y4(T,L=null,I=null){return{kind:"Param",name:T,default:L,type:I}}function b4(T,L,I){return{kind:"Compare",left:T,ops:L,comparators:I}}function h4(T,L=[],I=[]){return{kind:"If",test:T,body:L,orelse:I}}function e6(T,L=T6){return{kind:"Tuple",elts:T,ctx:L}}function D8(T,L,I){return{kind:"Conditional",test:T,body:L,orelse:I}}function K8(T,L,I,_,R=null){return{kind:"ForTo",target:T,start:L,end:I,body:_,step:R}}function Y8(T,L,I){return{kind:"ForIn",target:T,iter:L,body:I}}function X8(T,L=[]){return{kind:"While",test:T,body:L}}function B8(T=[],L=null){return{kind:"Switch",cases:T,subject:L}}function w4(T=[],L=null){return{kind:"Case",body:T,pattern:L}}function A4(T,L=[]){return{kind:"BoolOp",op:T,values:L}}function z8(){return{kind:"Break"}}function H8(){return{kind:"Continue"}}function V8(T,L,I,_=null){return{kind:"Import",namespace:T,name:L,version:I,alias:_}}function h(T,L){let I=L.start,_=L.stop??L.start;if(I)T.lineno=I.line,T.col_offset=I.column;if(_){T.end_lineno=_.line;let R=_.text??"";T.end_col_offset=_.column+R.length}}function KL(T){let L=T.replaceAll("_","");if(/^0[xX]/.test(L))return Number.parseInt(L,16);if(/^0[bB]/.test(L))return Number.parseInt(L.slice(2),2);if(/^0[oO]/.test(L))return Number.parseInt(L.slice(2),8);return Number(L)}function YL(T){let L="";for(let I=0;I<T.length;I++){let _=T[I];if(_!=="\\"||I+1>=T.length){L+=_;continue}let R=T[++I];switch(R){case"n":L+=`
|
|
10
|
-
`;break;case"r":L+="\r";break;case"t":L+="\t";break;case"\\":case"'":case'"':L+=R;break;default:L+=R;break}}return L}function XL(T){if(T.startsWith('"""')&&T.endsWith('"""')||T.startsWith("'''")&&T.endsWith("'''"))return T.slice(3,-3);if(T.length>=2){let L=T[0];if((L==='"'||L==="'")&&T.endsWith(L))return YL(T.slice(1,-1))}return T}function s0(T){while(Array.isArray(T)&&T.length===1)T=T[0];if(Array.isArray(T))return T.map(s0);return T}function h0(T){if(T==null||typeof T!=="object")return!1;if(!("symbol"in T))return!1;return T.symbol!=null}function v(T){return T!=null&&typeof T==="object"&&"ruleIndex"in T&&typeof T.ruleIndex==="number"}function F8(T){if(T.kind==="Name"||T.kind==="Attribute"||T.kind==="Subscript")T.ctx=T6;return T}class u4 extends t6{visitChildren(T){let L=T.children??[],I=[];for(let _ of L){if(!v(_))continue;let R=_.accept;if(typeof R!=="function")continue;let $=s0(R.call(_,this));if($!==void 0&&$!==null)I.push($)}if(I.length===0)return;if(I.length===1)return I[0];return I}visitStart_script=(T)=>{let L=T.statements(),I=L?this.visit(L):[];return G8(I)};visitStart_expression=(T)=>{return Q8(this.visit(T.expression()))};visitStatements=(T)=>{let L=[];for(let I of T.statement_list()){let _=s0(this.visit(I));if(Array.isArray(_))L.push(..._);else if(_)L.push(_)}return L};visitStatement=(T)=>{let L=T.compound_statement(),I=T.simple_statements(),_=T.trailing_structure_statements();if(L)return[this.visit(L)];if(I)return this.visit(I);if(_)return this.visit(_);return[]};visitSimple_statements=(T)=>{return T.simple_statement_list().map((L)=>this.visit(L))};visitExpression_statement=(T)=>{let L=L6(this.visit(T.expression()));return h(L,T),L};visitConditional_expression=(T)=>{let L=this.visit(T.disjunction_expression());if(h0(T.QUESTION())){let I=this.visit(T.expression(0)),_=this.visit(T.expression(1)),R=D8(L,I,_);return h(R,T),R}return L};visitDisjunction_expression=(T)=>{let L=T.conjunction_expression_list()??[];if(L.length>1){let I=L.map((R)=>this.visit(R)),_=A4($8,I);return h(_,T),_}return this.visit(L[0])};visitConjunction_expression=(T)=>{let L=T.bitwise_or_expression_list()??[];if(L.length>1){let I=L.map((R)=>this.visit(R)),_=A4(R8,I);return h(_,T),_}return this.visit(L[0])};visitAdditive_expression=(T)=>{if(T.additive_op()){let L=C4(this.visit(T.additive_expression()),this.visit(T.additive_op()),this.visit(T.multiplicative_expression()));return h(L,T),L}return this.visit(T.multiplicative_expression())};visitAdditive_op=(T)=>{if(T.PLUS())return F4;if(T.MINUS())return v3;return F4};visitMultiplicative_expression=(T)=>{if(T.multiplicative_op()){let L=C4(this.visit(T.multiplicative_expression()),this.visit(T.multiplicative_op()),this.visit(T.unary_expression()));return h(L,T),L}return this.visit(T.unary_expression())};visitMultiplicative_op=(T)=>{if(T.STAR())return q4;if(T.SLASH())return i3;if(T.PERCENT())return r3;return q4};visitUnary_expression=(T)=>{if(T.unary_op()){let L=J8(this.visit(T.unary_op()),this.visit(T.unary_expression()));return h(L,T),L}return this.visit(T.primary_expression())};visitUnary_op=(T)=>{if(T.NOT())return a3;if(T.PLUS())return k4;if(T.MINUS())return s3;if(T.TILDE())return n3;return k4};visitPrimary_expression_call=(T)=>{let L=this.visit(T.primary_expression()),I=T.argument_list(),_=v(I)?BL(this.visit(I)):[],R=U8(L,_);return h(R,T),R};visitPrimary_expression_attribute=(T)=>{let L=this.visit(T.primary_expression()),I=this.visit(T.name_load()),_=E4(L,I.id,b0);return h(_,T),_};visitPrimary_expression_subscript=(T)=>{let L=this.visit(T.primary_expression()),I=this.visit(T.subscript_slice()),_=j4(L,I,b0);return h(_,T),_};visitArgument_list=(T)=>{return T.argument_definition_list().map((L)=>this.visit(L))};visitArgument_definition=(T)=>{let L=T.name_store(),I=null;if(v(L)&&h0(T.EQUAL())){let R=this.visit(L);if(typeof R==="string")I=R;else if(HL(R))I=R.id;else{let $=L.getText();I=$.length>0?$:null}}let _=O8(this.visit(T.expression()),I);return h(_,T),_};visitSubscript_slice=(T)=>{let L=T.expression_list().map((_)=>this.visit(_));if(L.length<=1)return L[0];let I=e6(L,b0);return h(I,T),I};visitLiteral_expression=(T)=>{let L=T.getChild(0),I=this.visit(L),_=S8(I);if(h(_,T),v(T.literal_color()))_.kind_lit="#";return _};visitLiteral_number=(T)=>{return KL(T.getText())};visitLiteral_string=(T)=>{return XL(T.getText())};visitLiteral_bool=(T)=>{if(T.TRUE())return!0;if(T.FALSE())return!1;return!1};visitLiteral_color=(T)=>{return T.getText()};visitName=(T)=>{return T.getText()};visitName_load=(T)=>{let L=M4(T.name().getText(),b0);return h(L,T),L};visitName_store=(T)=>{let L=M4(T.name().getText(),T6);return h(L,T),L};visitGrouped_expression=(T)=>{return this.visit(T.expression())};visitTuple_expression=(T)=>{let L=(T.expression_list()??[]).map((_)=>this.visit(_)),I=e6(L,b0);return h(I,T),I};visitType_specification=(T)=>{let L=this.visit(T.attributed_type_name());if(v(T.array_type_suffix())){let I=j4(L,null,b0);h(I,T),I.lineno=L.lineno,I.col_offset=L.col_offset,L=I}return L};visitAttributed_type_name=(T)=>{let L=(T.name_load_list()??[]).map((_)=>this.visit(_));if(L.length===0)return;let I=L[0];for(let _=1;_<L.length;_++){let R=L[_],$=E4(I,R.id,b0);$.lineno=I.lineno,$.col_offset=I.col_offset,$.end_lineno=R.end_lineno??null,$.end_col_offset=R.end_col_offset??null,I=$}return I};visitSimple_name_initialization=(T)=>{let L=this.visit(T.variable_declaration());if(L.value=this.visit(T.expression()),h0(T.EXPORT()))L.export=1;return h(L,T),L};visitCompound_name_initialization=(T)=>{let L=this.visit(T.variable_declaration()),I=T.structure_expression();if(v(I))L.value=this.visit(I);if(h0(T.EXPORT()))L.export=1;return h(L,T),L};visitCompound_tuple_initialization=(T)=>{let L=this.visit(T.tuple_declaration()),I=this.visit(T.structure_expression()),_=N1(L,I);return h(_,T),_};visitCompound_reassignment=(T)=>{let L=F8(this.visit(T.primary_expression())),I=this.visit(T.structure_expression()),_=P4(L,I);return h(_,T),_};visitStructure_expression=(T)=>{return this.visit(T.structure())};visitTrailing_structure_statements=(T)=>{let L=[];for(let $ of T.simple_statement_list()??[]){let G=s0(this.visit($));if(Array.isArray(G))L.push(...G);else if(G)L.push(G)}let I=this.visit(T.structure()),_=L6(I),R=T.structure();if(v(R))h(_,R);else h(_,T);return L.push(_),L};visitSimple_tuple_initialization=(T)=>{let L=this.visit(T.tuple_declaration()),I=this.visit(T.expression()),_=N1(L,I);return h(_,T),_};visitSimple_reassignment=(T)=>{let L=F8(this.visit(T.primary_expression())),I=this.visit(T.expression()),_=P4(L,I);return h(_,T),_};visitVariable_declaration=(T)=>{let L=this.visit(T.name_store()),I=T.type_specification(),_=T.declaration_mode(),R=v(I)?this.visit(I)??null:null,$=v(_)?this.visit(_)??null:null,G=N1(L,null,R,$);return h(G,T),G};visitTuple_declaration=(T)=>{let L=T.name_store_list().map((_)=>this.visit(_)),I=e6(L,T6);return h(I,T),I};visitDeclaration_mode=(T)=>{if(h0(T.VARIP()))return V4;if(h0(T.VAR()))return o3;return};visitFunction_declaration=(T)=>{let L=this.visit(T.name()),I=T.parameter_list(),_=v(I)?q8(this.visit(I)):[],R=V0(this.visit(T.local_block())),$=h0(T.EXPORT())?1:0,G=N4(L,_,R,0,$);return h(G,T),G};visitParameter_list=(T)=>{return T.parameter_definition_list().map((L)=>this.visit(L))};visitParameter_definition=(T)=>{let L=this.visit(T.name_store()),I=T.expression(),_=T.type_specification(),R=v(I)?this.visit(I)??null:null,$=v(_)?this.visit(_)??null:null,G=y4(L.id,R,$);return h(G,T),G};visitMethod_declaration=(T)=>{let L=this.visit(T.name()),I=T.method_parameter_list(),_=v(I)?q8(this.visit(I)):[],R=V0(this.visit(T.local_block())),$=h0(T.EXPORT())?1:0,G=N4(L,_,R,1,$);return h(G,T),G};visitMethod_parameter_list=(T)=>{return T.method_parameter_definition_list().map((L)=>this.visit(L))};visitMethod_parameter_definition=(T)=>{let L=T.type_specification(),I=T.name_store();if(v(L)&&v(I)){let _=this.visit(L)??null,R=this.visit(I),$=y4(R.id,null,_);return h($,T),$}return this.visit(T.parameter_definition())};visitType_declaration=(T)=>{let L=this.visit(T.name()),I=V0(this.visit(T.field_definitions())),_=h0(T.EXPORT())?1:0,R=Z8(L,I,_);return h(R,T),R};visitEnum_declaration=(T)=>{let L=this.visit(T.name()),I=V0(this.visit(T.enum_definitions())),_=h0(T.EXPORT())?1:0,R=W8(L,I,_);return h(R,T),R};visitField_definitions=(T)=>{return T.field_definition_list().map((L)=>this.visit(L))};visitField_definition=(T)=>{let L=this.visit(T.name_store()),I=T.expression(),_=T.type_specification(),R=v(I)?this.visit(I)??null:null,$=v(_)?this.visit(_)??null:null,G=h0(T.VARIP())?V4:null,Q=N1(L,R,$,G);return h(Q,T),Q};visitEnum_definitions=(T)=>{return T.enum_definition_list().map((L)=>this.visit(L))};visitEnum_definition=(T)=>{let L=this.visit(T.name_store()),I=T.expression(),_=v(I)?this.visit(I)??null:null,R=N1(L,_);return h(R,T),R};visitStructure_statement=(T)=>{let L=L6(this.visit(T.structure()));return h(L,T),L};visitIf_structure=(T)=>{let L=this.visit(T.expression()),I=V0(this.visit(T.local_block())),_=T.if_tail(),R=v(_)?V0(this.visit(_)):[],$=h4(L,I,R);return h($,T),$};visitFor_structure=(T)=>{let L=T.for_structure_to();if(v(L))return this.visit(L);let I=T.for_structure_in();if(v(I))return this.visit(I);return this.visitChildren(T)};visitFor_iterator=(T)=>{let L=T.tuple_declaration();if(v(L))return this.visit(L);return this.visit(T.name_store())};visitFor_structure_to=(T)=>{let L=this.visit(T.for_iterator()),I=this.visit(T.expression(0)),_=this.visit(T.expression(1)),R=T.expression(2),$=v(R)?this.visit(R)??null:null,G=V0(this.visit(T.local_block())),Q=K8(L,I,_,G,$);return h(Q,T),Q};visitFor_structure_in=(T)=>{let L=this.visit(T.for_iterator()),I=this.visit(T.expression()),_=V0(this.visit(T.local_block())),R=Y8(L,I,_);return h(R,T),R};visitWhile_structure=(T)=>{let L=this.visit(T.expression()),I=V0(this.visit(T.local_block())),_=X8(L,I);return h(_,T),_};visitSwitch_structure=(T)=>{let L=zL(this.visit(T.switch_cases())),I=T.expression(),_=v(I)?this.visit(I)??null:null,R=B8(L,_);return h(R,T),R};visitSwitch_cases=(T)=>{let L=(T.switch_pattern_case_list()??[]).map((_)=>this.visit(_)),I=T.switch_default_case();if(v(I))L.push(this.visit(I));return L};visitSwitch_pattern_case=(T)=>{let L=V0(this.visit(T.local_block())),I=this.visit(T.expression()),_=w4(L,I);return h(_,T),_};visitSwitch_default_case=(T)=>{let L=V0(this.visit(T.local_block())),I=w4(L,null);return h(I,T),I};visitElif_structure=(T)=>{let L=this.visit(T.expression()),I=V0(this.visit(T.local_block())),_=T.if_tail(),R=v(_)?V0(this.visit(_)):[],$=h4(L,I,R);h($,T);let G=L6($);return h(G,T),[G]};visitIf_tail=(T)=>{let L=T.elif_structure();if(v(L))return this.visit(L);let I=T.else_block();if(v(I))return this.visit(I);return[]};visitElse_block=(T)=>{return this.visit(T.local_block())};visitLocal_block=(T)=>{let L=T.indented_local_block();if(v(L))return this.visit(L);let I=T.inline_local_block();if(v(I))return this.visit(I);return[]};visitIndented_local_block=(T)=>{return this.visit(T.statements())};visitInline_local_block=(T)=>{return V0(this.visit(T.statement()))};visitEquality_expression=(T)=>{let L=this.visit(T.inequality_expression()),I=T.equality_trailing_pair_list()??[];if(I.length===0)return L;let _=[],R=[];for(let G of I){let Q=this.visit(G);_.push(Q[0]),R.push(Q[1])}let $=b4(L,_,R);return h($,T),$};visitEqual_trailing_pair=(T)=>{return[t3,this.visit(T.inequality_expression())]};visitNot_equal_trailing_pair=(T)=>{return[e3,this.visit(T.inequality_expression())]};visitInequality_expression=(T)=>{let L=this.visit(T.shift_expression()),I=T.inequality_trailing_pair_list()??[];if(I.length===0)return L;let _=[],R=[];for(let G of I){let Q=s0(this.visit(G));_.push(Q[0]),R.push(Q[1])}let $=b4(L,_,R);return h($,T),$};visitLess_than_equal_trailing_pair=(T)=>{return[L8,this.visit(T.shift_expression())]};visitLess_than_trailing_pair=(T)=>{return[T8,this.visit(T.shift_expression())]};visitGreater_than_equal_trailing_pair=(T)=>{return[_8,this.visit(T.shift_expression())]};visitGreater_than_trailing_pair=(T)=>{return[I8,this.visit(T.shift_expression())]};visitBreak_statement=(T)=>{let L=z8();return h(L,T),L};visitContinue_statement=(T)=>{let L=H8();return h(L,T),L};visitImport_statement=(T)=>{let L=String(this.visit(T.name(0))??""),I=String(this.visit(T.name(1))??""),_=this.visit(T.literal_number()),R=typeof _==="number"&&Number.isFinite(_)?Math.trunc(_):1,$=T.AS()?T.name(2):void 0,G=$?String(this.visit($)??""):null,Q=V8(L,I,R,G||null);return h(Q,T),Q}}function V0(T){let L=s0(T);if(L==null)return[];if(Array.isArray(L))return L.filter(Boolean);return[L]}function q8(T){let L=s0(T);if(L==null)return[];if(Array.isArray(L))return L.filter(Boolean);return[L]}function BL(T){let L=s0(T);if(L==null)return[];if(Array.isArray(L))return L.filter(Boolean);return[L]}function zL(T){let L=s0(T);if(L==null)return[];if(Array.isArray(L))return L.filter(Boolean);return[L]}function HL(T){return T!=null&&typeof T==="object"&&T.kind==="Name"&&typeof T.id==="string"}function T2(T,L){if(T==null)return"None";if(typeof T==="boolean")return T?"True":"False";if(typeof T==="string")return JSON.stringify(T);if(typeof T==="number")return String(T);if(Array.isArray(T))return`[${T.map((I)=>T2(I,L)).join(", ")}]`;if(typeof T==="object"&&T!==null&&"kind"in T)return g4(T,{annotate_fields:L});return String(T)}var VL=new Set(["kind","lineno","col_offset","end_lineno","end_col_offset","kind_lit"]);function g4(T,L={}){let I=L.annotate_fields!==!1,_=T,R=[];for(let[$,G]of Object.entries(_)){if(VL.has($))continue;if($==="annotations"&&Array.isArray(G)&&G.length===0)continue;if(G===void 0)continue;let Q=T2(G,I);R.push(I?`${$}=${Q}`:Q)}if(T.kind==="Constant"&&_.kind_lit)R.push(I?`kind=${T2(_.kind_lit,I)}`:T2(_.kind_lit,I));return`${T.kind}(${R.join(", ")})`}var k8={Add:"+",Sub:"-",Mult:"*",Div:"/",Mod:"%"},M8={UAdd:"+",USub:"-",Not:"not ",Invert:"~"},FL={Eq:"==",NotEq:"!=",Lt:"<",LtE:"<=",Gt:">",GtE:">="},qL={And:"and",Or:"or"};function kL(T){if(T.includes(`
|
|
11
|
-
`)||T.includes("\r")){if(!T.includes('"""'))return`"""${T}"""`;if(!T.includes("'''"))return`'''${T}'''`}return JSON.stringify(T)}function f(T){switch(T.kind){case"Name":return T.id;case"Constant":return f8(T);case"Call":return x8(T);case"Attribute":return`${f(T.value)}.${T.attr}`;case"Subscript":return`${f(T.value)}[${P8(T.slice)}]`;case"BinOp":return`${f(T.left)} ${k8[T.op.kind]??"?"} ${f(T.right)}`;case"UnaryOp":return`${M8[T.op.kind]??""}${f(T.operand)}`;case"Compare":return E8(T);case"If":return j8(T);case"Tuple":return C8(T);case"Conditional":return N8(T);case"ForTo":return b8(T);case"ForIn":return h8(T);case"While":return w8(T);case"Switch":return u8(T);case"BoolOp":return g8(T)}}function E8(T){let L=f(T.left);for(let I=0;I<T.ops.length;I++)L+=` ${FL[T.ops[I].kind]??"??"} ${f(T.comparators[I])}`;return L}function j8(T){let L=T.body.map(Y1).join("; ");if(T.orelse.length===0)return`if ${f(T.test)}
|
|
12
|
-
|
|
13
|
-
${L}
|
|
1
|
+
var{defineProperty:tc,getOwnPropertyNames:i2,getOwnPropertyDescriptor:s2}=Object,o2=Object.prototype.hasOwnProperty;function l2(t){return this[t]}var ve=(t)=>{var e=(xd??=new WeakMap).get(t),r;if(e)return e;if(e=tc({},"__esModule",{value:!0}),t&&typeof t==="object"||typeof t==="function"){for(var i of i2(t))if(!o2.call(e,i))tc(e,i,{get:l2.bind(t,i),enumerable:!(r=s2(t,i))||r.enumerable})}return xd.set(t,e),e},xd,a2=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var u2=(t)=>t;function c2(t,e){this[t]=u2.bind(null,e)}var hl=(t,e)=>{for(var r in e)tc(t,r,{get:e[r],enumerable:!0,configurable:!0,set:c2.bind(e,r)})};var fl=(t,e,r)=>()=>{if(t)try{e=t(t=0)}catch(i){r=[i]}if(r)throw r[0];return e};var h2=((t)=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var Tr={};hl(Tr,{Blob:()=>k6,Buffer:()=>_t,File:()=>M6,INSPECT_MAX_BYTES:()=>zm,atob:()=>C6,btoa:()=>S6,constants:()=>E6,default:()=>n3,isAscii:()=>e3,isUtf8:()=>t3,kMaxLength:()=>Uo,kStringMaxLength:()=>Vm,resolveObjectURL:()=>J6,transcode:()=>r3});function b6(t){var e=t.length;if(e%4>0)throw Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");if(r===-1)r=e;var i=r===e?0:4-r%4;return[r,i]}function y6(t,e){return(t+e)*3/4-e}function x6(t){var e,r=b6(t),i=r[0],n=r[1],o=new Uint8Array(y6(i,n)),s=0,h=n>0?i-4:i,m;for(m=0;m<h;m+=4)e=gn[t.charCodeAt(m)]<<18|gn[t.charCodeAt(m+1)]<<12|gn[t.charCodeAt(m+2)]<<6|gn[t.charCodeAt(m+3)],o[s++]=e>>16&255,o[s++]=e>>8&255,o[s++]=e&255;if(n===2)e=gn[t.charCodeAt(m)]<<2|gn[t.charCodeAt(m+1)]>>4,o[s++]=e&255;if(n===1)e=gn[t.charCodeAt(m)]<<10|gn[t.charCodeAt(m+1)]<<4|gn[t.charCodeAt(m+2)]>>2,o[s++]=e>>8&255,o[s++]=e&255;return o}function w6(t){return Bn[t>>18&63]+Bn[t>>12&63]+Bn[t>>6&63]+Bn[t&63]}function v6(t,e,r){var i,n=[];for(var o=e;o<r;o+=3)i=(t[o]<<16&16711680)+(t[o+1]<<8&65280)+(t[o+2]&255),n.push(w6(i));return n.join("")}function Fm(t){var e,r=t.length,i=r%3,n=[],o=16383;for(var s=0,h=r-i;s<h;s+=o)n.push(v6(t,s,s+o>h?h:s+o));if(i===1)e=t[r-1],n.push(Bn[e>>2]+Bn[e<<4&63]+"==");else if(i===2)e=(t[r-2]<<8)+t[r-1],n.push(Bn[e>>10]+Bn[e>>4&63]+Bn[e<<2&63]+"=");return n.join("")}function gu(t,e,r,i,n){var o,s,h=n*8-i-1,m=(1<<h)-1,p=m>>1,y=-7,_=r?n-1:0,v=r?-1:1,C=t[e+_];_+=v,o=C&(1<<-y)-1,C>>=-y,y+=h;for(;y>0;o=o*256+t[e+_],_+=v,y-=8);s=o&(1<<-y)-1,o>>=-y,y+=i;for(;y>0;s=s*256+t[e+_],_+=v,y-=8);if(o===0)o=1-p;else if(o===m)return s?NaN:(C?-1:1)*(1/0);else s=s+Math.pow(2,i),o=o-p;return(C?-1:1)*s*Math.pow(2,o-i)}function $m(t,e,r,i,n,o){var s,h,m,p=o*8-n-1,y=(1<<p)-1,_=y>>1,v=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,C=i?0:o-1,M=i?1:-1,A=e<0||e===0&&1/e<0?1:0;if(e=Math.abs(e),isNaN(e)||e===1/0)h=isNaN(e)?1:0,s=y;else{if(s=Math.floor(Math.log(e)/Math.LN2),e*(m=Math.pow(2,-s))<1)s--,m*=2;if(s+_>=1)e+=v/m;else e+=v*Math.pow(2,1-_);if(e*m>=2)s++,m/=2;if(s+_>=y)h=0,s=y;else if(s+_>=1)h=(e*m-1)*Math.pow(2,n),s=s+_;else h=e*Math.pow(2,_-1)*Math.pow(2,n),s=0}for(;n>=8;t[r+C]=h&255,C+=M,h/=256,n-=8);s=s<<n|h,p+=n;for(;p>0;t[r+C]=s&255,C+=M,s/=256,p-=8);t[r+C-M]|=A*128}function Yn(t){if(t>Uo)throw RangeError('The value "'+t+'" is invalid for option "size"');let e=new Uint8Array(t);return Object.setPrototypeOf(e,_t.prototype),e}function uf(t,e,r){return class extends r{constructor(){super();Object.defineProperty(this,"message",{value:e.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${t}]`,this.stack,delete this.name}get code(){return t}set code(i){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:i,writable:!0})}toString(){return`${this.name} [${t}]: ${this.message}`}}}function _t(t,e,r){if(typeof t==="number"){if(typeof e==="string")throw TypeError('The "string" argument must be of type string. Received type number');return cf(t)}return jm(t,e,r)}function jm(t,e,r){if(typeof t==="string")return N6(t,e);if(ArrayBuffer.isView(t))return L6(t);if(t==null)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(Un(t,ArrayBuffer)||t&&Un(t.buffer,ArrayBuffer))return lf(t,e,r);if(typeof SharedArrayBuffer<"u"&&(Un(t,SharedArrayBuffer)||t&&Un(t.buffer,SharedArrayBuffer)))return lf(t,e,r);if(typeof t==="number")throw TypeError('The "value" argument must not be of type number. Received type number');let i=t.valueOf&&t.valueOf();if(i!=null&&i!==t)return _t.from(i,e,r);let n=I6(t);if(n)return n;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof t[Symbol.toPrimitive]==="function")return _t.from(t[Symbol.toPrimitive]("string"),e,r);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function Wm(t){if(typeof t!=="number")throw TypeError('"size" argument must be of type number');else if(t<0)throw RangeError('The value "'+t+'" is invalid for option "size"')}function T6(t,e,r){if(Wm(t),t<=0)return Yn(t);if(e!==void 0)return typeof r==="string"?Yn(t).fill(e,r):Yn(t).fill(e);return Yn(t)}function cf(t){return Wm(t),Yn(t<0?0:hf(t)|0)}function N6(t,e){if(typeof e!=="string"||e==="")e="utf8";if(!_t.isEncoding(e))throw TypeError("Unknown encoding: "+e);let r=Gm(t,e)|0,i=Yn(r),n=i.write(t,e);if(n!==r)i=i.slice(0,n);return i}function of(t){let e=t.length<0?0:hf(t.length)|0,r=Yn(e);for(let i=0;i<e;i+=1)r[i]=t[i]&255;return r}function L6(t){if(Un(t,Uint8Array)){let e=new Uint8Array(t);return lf(e.buffer,e.byteOffset,e.byteLength)}return of(t)}function lf(t,e,r){if(e<0||t.byteLength<e)throw RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw RangeError('"length" is outside of buffer bounds');let i;if(e===void 0&&r===void 0)i=new Uint8Array(t);else if(r===void 0)i=new Uint8Array(t,e);else i=new Uint8Array(t,e,r);return Object.setPrototypeOf(i,_t.prototype),i}function I6(t){if(_t.isBuffer(t)){let e=hf(t.length)|0,r=Yn(e);if(r.length===0)return r;return t.copy(r,0,0,e),r}if(t.length!==void 0){if(typeof t.length!=="number"||Number.isNaN(t.length))return Yn(0);return of(t)}if(t.type==="Buffer"&&Array.isArray(t.data))return of(t.data)}function hf(t){if(t>=Uo)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Uo.toString(16)+" bytes");return t|0}function Gm(t,e){if(_t.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||Un(t,ArrayBuffer))return t.byteLength;if(typeof t!=="string")throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);let r=t.length,i=arguments.length>2&&arguments[2]===!0;if(!i&&r===0)return 0;let n=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return af(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return rg(t).length;default:if(n)return i?-1:af(t).length;e=(""+e).toLowerCase(),n=!0}}function O6(t,e,r){let i=!1;if(e===void 0||e<0)e=0;if(e>this.length)return"";if(r===void 0||r>this.length)r=this.length;if(r<=0)return"";if(r>>>=0,e>>>=0,r<=e)return"";if(!t)t="utf8";while(!0)switch(t){case"hex":return V6(this,e,r);case"utf8":case"utf-8":return Qm(this,e,r);case"ascii":return $6(this,e,r);case"latin1":case"binary":return z6(this,e,r);case"base64":return q6(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j6(this,e,r);default:if(i)throw TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function Bi(t,e,r){let i=t[e];t[e]=t[r],t[r]=i}function Km(t,e,r,i,n){if(t.length===0)return-1;if(typeof r==="string")i=r,r=0;else if(r>2147483647)r=2147483647;else if(r<-2147483648)r=-2147483648;if(r=+r,Number.isNaN(r))r=n?0:t.length-1;if(r<0)r=t.length+r;if(r>=t.length)if(n)return-1;else r=t.length-1;else if(r<0)if(n)r=0;else return-1;if(typeof e==="string")e=_t.from(e,i);if(_t.isBuffer(e)){if(e.length===0)return-1;return Um(t,e,r,i,n)}else if(typeof e==="number"){if(e=e&255,typeof Uint8Array.prototype.indexOf==="function")if(n)return Uint8Array.prototype.indexOf.call(t,e,r);else return Uint8Array.prototype.lastIndexOf.call(t,e,r);return Um(t,[e],r,i,n)}throw TypeError("val must be string, number or Buffer")}function Um(t,e,r,i,n){let o=1,s=t.length,h=e.length;if(i!==void 0){if(i=String(i).toLowerCase(),i==="ucs2"||i==="ucs-2"||i==="utf16le"||i==="utf-16le"){if(t.length<2||e.length<2)return-1;o=2,s/=2,h/=2,r/=2}}function m(y,_){if(o===1)return y[_];else return y.readUInt16BE(_*o)}let p;if(n){let y=-1;for(p=r;p<s;p++)if(m(t,p)===m(e,y===-1?0:p-y)){if(y===-1)y=p;if(p-y+1===h)return y*o}else{if(y!==-1)p-=p-y;y=-1}}else{if(r+h>s)r=s-h;for(p=r;p>=0;p--){let y=!0;for(let _=0;_<h;_++)if(m(t,p+_)!==m(e,_)){y=!1;break}if(y)return p}}return-1}function P6(t,e,r,i){r=Number(r)||0;let n=t.length-r;if(!i)i=n;else if(i=Number(i),i>n)i=n;let o=e.length;if(i>o/2)i=o/2;let s;for(s=0;s<i;++s){let h=parseInt(e.substr(s*2,2),16);if(Number.isNaN(h))return s;t[r+s]=h}return s}function D6(t,e,r,i){return _u(af(e,t.length-r),t,r,i)}function F6(t,e,r,i){return _u(Q6(e),t,r,i)}function B6(t,e,r,i){return _u(rg(e),t,r,i)}function U6(t,e,r,i){return _u(Y6(e,t.length-r),t,r,i)}function q6(t,e,r){if(e===0&&r===t.length)return Fm(t);else return Fm(t.slice(e,r))}function Qm(t,e,r){r=Math.min(t.length,r);let i=[],n=e;while(n<r){let o=t[n],s=null,h=o>239?4:o>223?3:o>191?2:1;if(n+h<=r){let m,p,y,_;switch(h){case 1:if(o<128)s=o;break;case 2:if(m=t[n+1],(m&192)===128){if(_=(o&31)<<6|m&63,_>127)s=_}break;case 3:if(m=t[n+1],p=t[n+2],(m&192)===128&&(p&192)===128){if(_=(o&15)<<12|(m&63)<<6|p&63,_>2047&&(_<55296||_>57343))s=_}break;case 4:if(m=t[n+1],p=t[n+2],y=t[n+3],(m&192)===128&&(p&192)===128&&(y&192)===128){if(_=(o&15)<<18|(m&63)<<12|(p&63)<<6|y&63,_>65535&&_<1114112)s=_}}}if(s===null)s=65533,h=1;else if(s>65535)s-=65536,i.push(s>>>10&1023|55296),s=56320|s&1023;i.push(s),n+=h}return H6(i)}function H6(t){let e=t.length;if(e<=qm)return String.fromCharCode.apply(String,t);let r="",i=0;while(i<e)r+=String.fromCharCode.apply(String,t.slice(i,i+=qm));return r}function $6(t,e,r){let i="";r=Math.min(t.length,r);for(let n=e;n<r;++n)i+=String.fromCharCode(t[n]&127);return i}function z6(t,e,r){let i="";r=Math.min(t.length,r);for(let n=e;n<r;++n)i+=String.fromCharCode(t[n]);return i}function V6(t,e,r){let i=t.length;if(!e||e<0)e=0;if(!r||r<0||r>i)r=i;let n="";for(let o=e;o<r;++o)n+=Z6[t[o]];return n}function j6(t,e,r){let i=t.slice(e,r),n="";for(let o=0;o<i.length-1;o+=2)n+=String.fromCharCode(i[o]+i[o+1]*256);return n}function Ar(t,e,r){if(t%1!==0||t<0)throw RangeError("offset is not uint");if(t+e>r)throw RangeError("Trying to access beyond buffer length")}function Zr(t,e,r,i,n,o){if(!_t.isBuffer(t))throw TypeError('"buffer" argument must be a Buffer instance');if(e>n||e<o)throw RangeError('"value" argument is out of bounds');if(r+i>t.length)throw RangeError("Index out of range")}function Ym(t,e,r,i,n){eg(e,i,n,t,r,7);let o=Number(e&BigInt(4294967295));t[r++]=o,o=o>>8,t[r++]=o,o=o>>8,t[r++]=o,o=o>>8,t[r++]=o;let s=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=s,s=s>>8,t[r++]=s,s=s>>8,t[r++]=s,s=s>>8,t[r++]=s,r}function Zm(t,e,r,i,n){eg(e,i,n,t,r,7);let o=Number(e&BigInt(4294967295));t[r+7]=o,o=o>>8,t[r+6]=o,o=o>>8,t[r+5]=o,o=o>>8,t[r+4]=o;let s=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=s,s=s>>8,t[r+2]=s,s=s>>8,t[r+1]=s,s=s>>8,t[r]=s,r+8}function Xm(t,e,r,i,n,o){if(r+i>t.length)throw RangeError("Index out of range");if(r<0)throw RangeError("Index out of range")}function Jm(t,e,r,i,n){if(e=+e,r=r>>>0,!n)Xm(t,e,r,4,340282346638528860000000000000000000000,-340282346638528860000000000000000000000);return $m(t,e,r,i,23,4),r+4}function tg(t,e,r,i,n){if(e=+e,r=r>>>0,!n)Xm(t,e,r,8,179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,-179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000);return $m(t,e,r,i,52,8),r+8}function Hm(t){let e="",r=t.length,i=t[0]==="-"?1:0;for(;r>=i+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function W6(t,e,r){if(vs(e,"offset"),t[e]===void 0||t[e+r]===void 0)qo(e,t.length-(r+1))}function eg(t,e,r,i,n,o){if(t>r||t<e){let s=typeof e==="bigint"?"n":"",h;if(o>3)if(e===0||e===BigInt(0))h=`>= 0${s} and < 2${s} ** ${(o+1)*8}${s}`;else h=`>= -(2${s} ** ${(o+1)*8-1}${s}) and < 2 ** ${(o+1)*8-1}${s}`;else h=`>= ${e}${s} and <= ${r}${s}`;throw new sf("value",h,t)}W6(i,n,o)}function vs(t,e){if(typeof t!=="number")throw new A6(e,"number",t)}function qo(t,e,r){if(Math.floor(t)!==t)throw vs(t,r),new sf(r||"offset","an integer",t);if(e<0)throw new R6;throw new sf(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}function K6(t){if(t=t.split("=")[0],t=t.trim().replace(G6,""),t.length<2)return"";while(t.length%4!==0)t=t+"=";return t}function af(t,e){e=e||1/0;let r,i=t.length,n=null,o=[];for(let s=0;s<i;++s){if(r=t.charCodeAt(s),r>55295&&r<57344){if(!n){if(r>56319){if((e-=3)>-1)o.push(239,191,189);continue}else if(s+1===i){if((e-=3)>-1)o.push(239,191,189);continue}n=r;continue}if(r<56320){if((e-=3)>-1)o.push(239,191,189);n=r;continue}r=(n-55296<<10|r-56320)+65536}else if(n){if((e-=3)>-1)o.push(239,191,189)}if(n=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,r&63|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw Error("Invalid code point")}return o}function Q6(t){let e=[];for(let r=0;r<t.length;++r)e.push(t.charCodeAt(r)&255);return e}function Y6(t,e){let r,i,n,o=[];for(let s=0;s<t.length;++s){if((e-=2)<0)break;r=t.charCodeAt(s),i=r>>8,n=r%256,o.push(n),o.push(i)}return o}function rg(t){return x6(K6(t))}function _u(t,e,r,i){let n;for(n=0;n<i;++n){if(n+r>=e.length||n>=t.length)break;e[n+r]=t[n]}return n}function Un(t,e){return t instanceof e||t!=null&&t.constructor!=null&&t.constructor.name!=null&&t.constructor.name===e.name}function pi(t){return typeof BigInt>"u"?X6:t}function X6(){throw Error("BigInt not supported")}function ff(t){return()=>{throw Error(t+" is not implemented for node:buffer browser polyfill")}}var Bn,gn,nf="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Fi,Dm,Bm,zm=50,Uo=2147483647,Vm=536870888,S6,C6,M6,k6,E6,R6,A6,sf,qm=4096,G6,Z6,J6,t3,e3=(t)=>{for(let e of t)if(e.charCodeAt(0)>127)return!1;return!0},r3,n3;var Nr=fl(()=>{Bn=[],gn=[];for(Fi=0,Dm=nf.length;Fi<Dm;++Fi)Bn[Fi]=nf[Fi],gn[nf.charCodeAt(Fi)]=Fi;gn[45]=62;gn[95]=63;Bm=typeof Symbol==="function"&&typeof Symbol.for==="function"?Symbol.for("nodejs.util.inspect.custom"):null,S6=globalThis.btoa,C6=globalThis.atob,M6=globalThis.File,k6=globalThis.Blob,E6={MAX_LENGTH:Uo,MAX_STRING_LENGTH:Vm};R6=uf("ERR_BUFFER_OUT_OF_BOUNDS",function(t){if(t)return`${t} is outside of buffer bounds`;return"Attempt to access memory outside buffer bounds"},RangeError),A6=uf("ERR_INVALID_ARG_TYPE",function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`},TypeError),sf=uf("ERR_OUT_OF_RANGE",function(t,e,r){let i=`The value of "${t}" is out of range.`,n=r;if(Number.isInteger(r)&&Math.abs(r)>4294967296)n=Hm(String(r));else if(typeof r==="bigint"){if(n=String(r),r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))n=Hm(n);n+="n"}return i+=` It must be ${e}. Received ${n}`,i},RangeError);Object.defineProperty(_t.prototype,"parent",{enumerable:!0,get:function(){if(!_t.isBuffer(this))return;return this.buffer}});Object.defineProperty(_t.prototype,"offset",{enumerable:!0,get:function(){if(!_t.isBuffer(this))return;return this.byteOffset}});_t.poolSize=8192;_t.from=function(t,e,r){return jm(t,e,r)};Object.setPrototypeOf(_t.prototype,Uint8Array.prototype);Object.setPrototypeOf(_t,Uint8Array);_t.alloc=function(t,e,r){return T6(t,e,r)};_t.allocUnsafe=function(t){return cf(t)};_t.allocUnsafeSlow=function(t){return cf(t)};_t.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==_t.prototype};_t.compare=function(t,e){if(Un(t,Uint8Array))t=_t.from(t,t.offset,t.byteLength);if(Un(e,Uint8Array))e=_t.from(e,e.offset,e.byteLength);if(!_t.isBuffer(t)||!_t.isBuffer(e))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;let r=t.length,i=e.length;for(let n=0,o=Math.min(r,i);n<o;++n)if(t[n]!==e[n]){r=t[n],i=e[n];break}if(r<i)return-1;if(i<r)return 1;return 0};_t.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}};_t.concat=function(t,e){if(!Array.isArray(t))throw TypeError('"list" argument must be an Array of Buffers');if(t.length===0)return _t.alloc(0);let r;if(e===void 0){e=0;for(r=0;r<t.length;++r)e+=t[r].length}let i=_t.allocUnsafe(e),n=0;for(r=0;r<t.length;++r){let o=t[r];if(Un(o,Uint8Array))if(n+o.length>i.length){if(!_t.isBuffer(o))o=_t.from(o);o.copy(i,n)}else Uint8Array.prototype.set.call(i,o,n);else if(!_t.isBuffer(o))throw TypeError('"list" argument must be an Array of Buffers');else o.copy(i,n);n+=o.length}return i};_t.byteLength=Gm;_t.prototype._isBuffer=!0;_t.prototype.swap16=function(){let t=this.length;if(t%2!==0)throw RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;e<t;e+=2)Bi(this,e,e+1);return this};_t.prototype.swap32=function(){let t=this.length;if(t%4!==0)throw RangeError("Buffer size must be a multiple of 32-bits");for(let e=0;e<t;e+=4)Bi(this,e,e+3),Bi(this,e+1,e+2);return this};_t.prototype.swap64=function(){let t=this.length;if(t%8!==0)throw RangeError("Buffer size must be a multiple of 64-bits");for(let e=0;e<t;e+=8)Bi(this,e,e+7),Bi(this,e+1,e+6),Bi(this,e+2,e+5),Bi(this,e+3,e+4);return this};_t.prototype.toString=function(){let t=this.length;if(t===0)return"";if(arguments.length===0)return Qm(this,0,t);return O6.apply(this,arguments)};_t.prototype.toLocaleString=_t.prototype.toString;_t.prototype.equals=function(t){if(!_t.isBuffer(t))throw TypeError("Argument must be a Buffer");if(this===t)return!0;return _t.compare(this,t)===0};_t.prototype.inspect=function(){let t="",e=zm;if(t=this.toString("hex",0,e).replace(/(.{2})/g,"$1 ").trim(),this.length>e)t+=" ... ";return"<Buffer "+t+">"};if(Bm)_t.prototype[Bm]=_t.prototype.inspect;_t.prototype.compare=function(t,e,r,i,n){if(Un(t,Uint8Array))t=_t.from(t,t.offset,t.byteLength);if(!_t.isBuffer(t))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(e===void 0)e=0;if(r===void 0)r=t?t.length:0;if(i===void 0)i=0;if(n===void 0)n=this.length;if(e<0||r>t.length||i<0||n>this.length)throw RangeError("out of range index");if(i>=n&&e>=r)return 0;if(i>=n)return-1;if(e>=r)return 1;if(e>>>=0,r>>>=0,i>>>=0,n>>>=0,this===t)return 0;let o=n-i,s=r-e,h=Math.min(o,s),m=this.slice(i,n),p=t.slice(e,r);for(let y=0;y<h;++y)if(m[y]!==p[y]){o=m[y],s=p[y];break}if(o<s)return-1;if(s<o)return 1;return 0};_t.prototype.includes=function(t,e,r){return this.indexOf(t,e,r)!==-1};_t.prototype.indexOf=function(t,e,r){return Km(this,t,e,r,!0)};_t.prototype.lastIndexOf=function(t,e,r){return Km(this,t,e,r,!1)};_t.prototype.write=function(t,e,r,i){if(e===void 0)i="utf8",r=this.length,e=0;else if(r===void 0&&typeof e==="string")i=e,r=this.length,e=0;else if(isFinite(e))if(e=e>>>0,isFinite(r)){if(r=r>>>0,i===void 0)i="utf8"}else i=r,r=void 0;else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let n=this.length-e;if(r===void 0||r>n)r=n;if(t.length>0&&(r<0||e<0)||e>this.length)throw RangeError("Attempt to write outside buffer bounds");if(!i)i="utf8";let o=!1;for(;;)switch(i){case"hex":return P6(this,t,e,r);case"utf8":case"utf-8":return D6(this,t,e,r);case"ascii":case"latin1":case"binary":return F6(this,t,e,r);case"base64":return B6(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return U6(this,t,e,r);default:if(o)throw TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}};_t.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};_t.prototype.slice=function(t,e){let r=this.length;if(t=~~t,e=e===void 0?r:~~e,t<0){if(t+=r,t<0)t=0}else if(t>r)t=r;if(e<0){if(e+=r,e<0)e=0}else if(e>r)e=r;if(e<t)e=t;let i=this.subarray(t,e);return Object.setPrototypeOf(i,_t.prototype),i};_t.prototype.readUintLE=_t.prototype.readUIntLE=function(t,e,r){if(t=t>>>0,e=e>>>0,!r)Ar(t,e,this.length);let i=this[t],n=1,o=0;while(++o<e&&(n*=256))i+=this[t+o]*n;return i};_t.prototype.readUintBE=_t.prototype.readUIntBE=function(t,e,r){if(t=t>>>0,e=e>>>0,!r)Ar(t,e,this.length);let i=this[t+--e],n=1;while(e>0&&(n*=256))i+=this[t+--e]*n;return i};_t.prototype.readUint8=_t.prototype.readUInt8=function(t,e){if(t=t>>>0,!e)Ar(t,1,this.length);return this[t]};_t.prototype.readUint16LE=_t.prototype.readUInt16LE=function(t,e){if(t=t>>>0,!e)Ar(t,2,this.length);return this[t]|this[t+1]<<8};_t.prototype.readUint16BE=_t.prototype.readUInt16BE=function(t,e){if(t=t>>>0,!e)Ar(t,2,this.length);return this[t]<<8|this[t+1]};_t.prototype.readUint32LE=_t.prototype.readUInt32LE=function(t,e){if(t=t>>>0,!e)Ar(t,4,this.length);return(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};_t.prototype.readUint32BE=_t.prototype.readUInt32BE=function(t,e){if(t=t>>>0,!e)Ar(t,4,this.length);return this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};_t.prototype.readBigUInt64LE=pi(function(t){t=t>>>0,vs(t,"offset");let e=this[t],r=this[t+7];if(e===void 0||r===void 0)qo(t,this.length-8);let i=e+this[++t]*256+this[++t]*65536+this[++t]*16777216,n=this[++t]+this[++t]*256+this[++t]*65536+r*16777216;return BigInt(i)+(BigInt(n)<<BigInt(32))});_t.prototype.readBigUInt64BE=pi(function(t){t=t>>>0,vs(t,"offset");let e=this[t],r=this[t+7];if(e===void 0||r===void 0)qo(t,this.length-8);let i=e*16777216+this[++t]*65536+this[++t]*256+this[++t],n=this[++t]*16777216+this[++t]*65536+this[++t]*256+r;return(BigInt(i)<<BigInt(32))+BigInt(n)});_t.prototype.readIntLE=function(t,e,r){if(t=t>>>0,e=e>>>0,!r)Ar(t,e,this.length);let i=this[t],n=1,o=0;while(++o<e&&(n*=256))i+=this[t+o]*n;if(n*=128,i>=n)i-=Math.pow(2,8*e);return i};_t.prototype.readIntBE=function(t,e,r){if(t=t>>>0,e=e>>>0,!r)Ar(t,e,this.length);let i=e,n=1,o=this[t+--i];while(i>0&&(n*=256))o+=this[t+--i]*n;if(n*=128,o>=n)o-=Math.pow(2,8*e);return o};_t.prototype.readInt8=function(t,e){if(t=t>>>0,!e)Ar(t,1,this.length);if(!(this[t]&128))return this[t];return(255-this[t]+1)*-1};_t.prototype.readInt16LE=function(t,e){if(t=t>>>0,!e)Ar(t,2,this.length);let r=this[t]|this[t+1]<<8;return r&32768?r|4294901760:r};_t.prototype.readInt16BE=function(t,e){if(t=t>>>0,!e)Ar(t,2,this.length);let r=this[t+1]|this[t]<<8;return r&32768?r|4294901760:r};_t.prototype.readInt32LE=function(t,e){if(t=t>>>0,!e)Ar(t,4,this.length);return this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};_t.prototype.readInt32BE=function(t,e){if(t=t>>>0,!e)Ar(t,4,this.length);return this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};_t.prototype.readBigInt64LE=pi(function(t){t=t>>>0,vs(t,"offset");let e=this[t],r=this[t+7];if(e===void 0||r===void 0)qo(t,this.length-8);let i=this[t+4]+this[t+5]*256+this[t+6]*65536+(r<<24);return(BigInt(i)<<BigInt(32))+BigInt(e+this[++t]*256+this[++t]*65536+this[++t]*16777216)});_t.prototype.readBigInt64BE=pi(function(t){t=t>>>0,vs(t,"offset");let e=this[t],r=this[t+7];if(e===void 0||r===void 0)qo(t,this.length-8);let i=(e<<24)+this[++t]*65536+this[++t]*256+this[++t];return(BigInt(i)<<BigInt(32))+BigInt(this[++t]*16777216+this[++t]*65536+this[++t]*256+r)});_t.prototype.readFloatLE=function(t,e){if(t=t>>>0,!e)Ar(t,4,this.length);return gu(this,t,!0,23,4)};_t.prototype.readFloatBE=function(t,e){if(t=t>>>0,!e)Ar(t,4,this.length);return gu(this,t,!1,23,4)};_t.prototype.readDoubleLE=function(t,e){if(t=t>>>0,!e)Ar(t,8,this.length);return gu(this,t,!0,52,8)};_t.prototype.readDoubleBE=function(t,e){if(t=t>>>0,!e)Ar(t,8,this.length);return gu(this,t,!1,52,8)};_t.prototype.writeUintLE=_t.prototype.writeUIntLE=function(t,e,r,i){if(t=+t,e=e>>>0,r=r>>>0,!i){let s=Math.pow(2,8*r)-1;Zr(this,t,e,r,s,0)}let n=1,o=0;this[e]=t&255;while(++o<r&&(n*=256))this[e+o]=t/n&255;return e+r};_t.prototype.writeUintBE=_t.prototype.writeUIntBE=function(t,e,r,i){if(t=+t,e=e>>>0,r=r>>>0,!i){let s=Math.pow(2,8*r)-1;Zr(this,t,e,r,s,0)}let n=r-1,o=1;this[e+n]=t&255;while(--n>=0&&(o*=256))this[e+n]=t/o&255;return e+r};_t.prototype.writeUint8=_t.prototype.writeUInt8=function(t,e,r){if(t=+t,e=e>>>0,!r)Zr(this,t,e,1,255,0);return this[e]=t&255,e+1};_t.prototype.writeUint16LE=_t.prototype.writeUInt16LE=function(t,e,r){if(t=+t,e=e>>>0,!r)Zr(this,t,e,2,65535,0);return this[e]=t&255,this[e+1]=t>>>8,e+2};_t.prototype.writeUint16BE=_t.prototype.writeUInt16BE=function(t,e,r){if(t=+t,e=e>>>0,!r)Zr(this,t,e,2,65535,0);return this[e]=t>>>8,this[e+1]=t&255,e+2};_t.prototype.writeUint32LE=_t.prototype.writeUInt32LE=function(t,e,r){if(t=+t,e=e>>>0,!r)Zr(this,t,e,4,4294967295,0);return this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=t&255,e+4};_t.prototype.writeUint32BE=_t.prototype.writeUInt32BE=function(t,e,r){if(t=+t,e=e>>>0,!r)Zr(this,t,e,4,4294967295,0);return this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=t&255,e+4};_t.prototype.writeBigUInt64LE=pi(function(t,e=0){return Ym(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))});_t.prototype.writeBigUInt64BE=pi(function(t,e=0){return Zm(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))});_t.prototype.writeIntLE=function(t,e,r,i){if(t=+t,e=e>>>0,!i){let h=Math.pow(2,8*r-1);Zr(this,t,e,r,h-1,-h)}let n=0,o=1,s=0;this[e]=t&255;while(++n<r&&(o*=256)){if(t<0&&s===0&&this[e+n-1]!==0)s=1;this[e+n]=(t/o>>0)-s&255}return e+r};_t.prototype.writeIntBE=function(t,e,r,i){if(t=+t,e=e>>>0,!i){let h=Math.pow(2,8*r-1);Zr(this,t,e,r,h-1,-h)}let n=r-1,o=1,s=0;this[e+n]=t&255;while(--n>=0&&(o*=256)){if(t<0&&s===0&&this[e+n+1]!==0)s=1;this[e+n]=(t/o>>0)-s&255}return e+r};_t.prototype.writeInt8=function(t,e,r){if(t=+t,e=e>>>0,!r)Zr(this,t,e,1,127,-128);if(t<0)t=255+t+1;return this[e]=t&255,e+1};_t.prototype.writeInt16LE=function(t,e,r){if(t=+t,e=e>>>0,!r)Zr(this,t,e,2,32767,-32768);return this[e]=t&255,this[e+1]=t>>>8,e+2};_t.prototype.writeInt16BE=function(t,e,r){if(t=+t,e=e>>>0,!r)Zr(this,t,e,2,32767,-32768);return this[e]=t>>>8,this[e+1]=t&255,e+2};_t.prototype.writeInt32LE=function(t,e,r){if(t=+t,e=e>>>0,!r)Zr(this,t,e,4,2147483647,-2147483648);return this[e]=t&255,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4};_t.prototype.writeInt32BE=function(t,e,r){if(t=+t,e=e>>>0,!r)Zr(this,t,e,4,2147483647,-2147483648);if(t<0)t=4294967295+t+1;return this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=t&255,e+4};_t.prototype.writeBigInt64LE=pi(function(t,e=0){return Ym(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});_t.prototype.writeBigInt64BE=pi(function(t,e=0){return Zm(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});_t.prototype.writeFloatLE=function(t,e,r){return Jm(this,t,e,!0,r)};_t.prototype.writeFloatBE=function(t,e,r){return Jm(this,t,e,!1,r)};_t.prototype.writeDoubleLE=function(t,e,r){return tg(this,t,e,!0,r)};_t.prototype.writeDoubleBE=function(t,e,r){return tg(this,t,e,!1,r)};_t.prototype.copy=function(t,e,r,i){if(!_t.isBuffer(t))throw TypeError("argument should be a Buffer");if(!r)r=0;if(!i&&i!==0)i=this.length;if(e>=t.length)e=t.length;if(!e)e=0;if(i>0&&i<r)i=r;if(i===r)return 0;if(t.length===0||this.length===0)return 0;if(e<0)throw RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw RangeError("Index out of range");if(i<0)throw RangeError("sourceEnd out of bounds");if(i>this.length)i=this.length;if(t.length-e<i-r)i=t.length-e+r;let n=i-r;if(this===t&&typeof Uint8Array.prototype.copyWithin==="function")this.copyWithin(e,r,i);else Uint8Array.prototype.set.call(t,this.subarray(r,i),e);return n};_t.prototype.fill=function(t,e,r,i){if(typeof t==="string"){if(typeof e==="string")i=e,e=0,r=this.length;else if(typeof r==="string")i=r,r=this.length;if(i!==void 0&&typeof i!=="string")throw TypeError("encoding must be a string");if(typeof i==="string"&&!_t.isEncoding(i))throw TypeError("Unknown encoding: "+i);if(t.length===1){let o=t.charCodeAt(0);if(i==="utf8"&&o<128||i==="latin1")t=o}}else if(typeof t==="number")t=t&255;else if(typeof t==="boolean")t=Number(t);if(e<0||this.length<e||this.length<r)throw RangeError("Out of range index");if(r<=e)return this;if(e=e>>>0,r=r===void 0?this.length:r>>>0,!t)t=0;let n;if(typeof t==="number")for(n=e;n<r;++n)this[n]=t;else{let o=_t.isBuffer(t)?t:_t.from(t,i),s=o.length;if(s===0)throw TypeError('The value "'+t+'" is invalid for argument "value"');for(n=0;n<r-e;++n)this[n+e]=o[n%s]}return this};G6=/[^+/0-9A-Za-z-_]/g;Z6=function(){let t=Array(256);for(let e=0;e<16;++e){let r=e*16;for(let i=0;i<16;++i)t[r+i]="0123456789abcdef"[e]+"0123456789abcdef"[i]}return t}();J6=ff("resolveObjectURL"),t3=ff("isUtf8"),r3=ff("transcode"),n3=_t});var fg={};hl(fg,{TextDecoder:()=>hg,TextEncoder:()=>cg,_extend:()=>xf,callbackify:()=>ug,callbackifyOnRejected:()=>wf,debuglog:()=>o3,default:()=>x3,deprecate:()=>s3,format:()=>_f,inherits:()=>og,inspect:()=>Ui,isArray:()=>ng,isBoolean:()=>bf,isBuffer:()=>_3,isDate:()=>gf,isError:()=>yu,isFunction:()=>xu,isNull:()=>vu,isNullOrUndefined:()=>p3,isNumber:()=>ig,isObject:()=>Cs,isPrimitive:()=>g3,isRegExp:()=>bu,isString:()=>Su,isSymbol:()=>m3,isUndefined:()=>Ss,log:()=>sg,promisify:()=>ag,types:()=>d3});function _f(t,...e){if(!Su(t)){var r=[t];for(var i=0;i<e.length;i++)r.push(Ui(e[i]));return r.join(" ")}var i=0,n=e.length,o=String(t).replace(i3,function(h){if(h==="%%")return"%";if(i>=n)return h;switch(h){case"%s":return String(e[i++]);case"%d":return Number(e[i++]);case"%j":try{return JSON.stringify(e[i++])}catch(m){return"[Circular]"}default:return h}});for(var s=e[i];i<n;s=e[++i])if(vu(s)||!Cs(s))o+=" "+s;else o+=" "+Ui(s);return o}function s3(t,e){if(typeof process>"u"||process?.noDeprecation===!0)return t;var r=!1;function i(...n){if(!r){if(process.throwDeprecation)throw Error(e);else if(process.traceDeprecation)console.trace(e);else console.error(e);r=!0}return t.apply(this,...n)}return i}function l3(t,e){var r=Ui.styles[e];if(r)return"\x1B["+Ui.colors[r][0]+"m"+t+"\x1B["+Ui.colors[r][1]+"m";else return t}function a3(t,e){return t}function u3(t){var e={};return t.forEach(function(r,i){e[r]=!0}),e}function wu(t,e,r){if(t.customInspect&&e&&xu(e.inspect)&&e.inspect!==Ui&&!(e.constructor&&e.constructor.prototype===e)){var i=e.inspect(r,t);if(!Su(i))i=wu(t,i,r);return i}var n=c3(t,e);if(n)return n;var o=Object.keys(e),s=u3(o);if(t.showHidden)o=Object.getOwnPropertyNames(e);if(yu(e)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return df(e);if(o.length===0){if(xu(e)){var h=e.name?": "+e.name:"";return t.stylize("[Function"+h+"]","special")}if(bu(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");if(gf(e))return t.stylize(Date.prototype.toString.call(e),"date");if(yu(e))return df(e)}var m="",p=!1,y=["{","}"];if(ng(e))p=!0,y=["[","]"];if(xu(e)){var _=e.name?": "+e.name:"";m=" [Function"+_+"]"}if(bu(e))m=" "+RegExp.prototype.toString.call(e);if(gf(e))m=" "+Date.prototype.toUTCString.call(e);if(yu(e))m=" "+df(e);if(o.length===0&&(!p||e.length==0))return y[0]+m+y[1];if(r<0)if(bu(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");else return t.stylize("[Object]","special");t.seen.push(e);var v;if(p)v=h3(t,e,r,s,o);else v=o.map(function(C){return mf(t,e,r,s,C,p)});return t.seen.pop(),f3(v,m,y)}function c3(t,e){if(Ss(e))return t.stylize("undefined","undefined");if(Su(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(ig(e))return t.stylize(""+e,"number");if(bf(e))return t.stylize(""+e,"boolean");if(vu(e))return t.stylize("null","null")}function df(t){return"["+Error.prototype.toString.call(t)+"]"}function h3(t,e,r,i,n){var o=[];for(var s=0,h=e.length;s<h;++s)if(lg(e,String(s)))o.push(mf(t,e,r,i,String(s),!0));else o.push("");return n.forEach(function(m){if(!m.match(/^\d+$/))o.push(mf(t,e,r,i,m,!0))}),o}function mf(t,e,r,i,n,o){var s,h,m;if(m=Object.getOwnPropertyDescriptor(e,n)||{value:e[n]},m.get)if(m.set)h=t.stylize("[Getter/Setter]","special");else h=t.stylize("[Getter]","special");else if(m.set)h=t.stylize("[Setter]","special");if(!lg(i,n))s="["+n+"]";if(!h)if(t.seen.indexOf(m.value)<0){if(vu(r))h=wu(t,m.value,null);else h=wu(t,m.value,r-1);if(h.indexOf(`
|
|
2
|
+
`)>-1)if(o)h=h.split(`
|
|
3
|
+
`).map(function(p){return" "+p}).join(`
|
|
4
|
+
`).slice(2);else h=`
|
|
5
|
+
`+h.split(`
|
|
6
|
+
`).map(function(p){return" "+p}).join(`
|
|
7
|
+
`)}else h=t.stylize("[Circular]","special");if(Ss(s)){if(o&&n.match(/^\d+$/))return h;if(s=JSON.stringify(""+n),s.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/))s=s.slice(1,-1),s=t.stylize(s,"name");else s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=t.stylize(s,"string")}return s+": "+h}function f3(t,e,r){var i=0,n=t.reduce(function(o,s){if(i++,s.indexOf(`
|
|
8
|
+
`)>=0)i++;return o+s.replace(/\u001b\[\d\d?m/g,"").length+1},0);if(n>60)return r[0]+(e===""?"":e+`
|
|
9
|
+
`)+" "+t.join(`,
|
|
10
|
+
`)+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}function ng(t){return Array.isArray(t)}function bf(t){return typeof t==="boolean"}function vu(t){return t===null}function p3(t){return t==null}function ig(t){return typeof t==="number"}function Su(t){return typeof t==="string"}function m3(t){return typeof t==="symbol"}function Ss(t){return t===void 0}function bu(t){return Cs(t)&&yf(t)==="[object RegExp]"}function Cs(t){return typeof t==="object"&&t!==null}function gf(t){return Cs(t)&&yf(t)==="[object Date]"}function yu(t){return Cs(t)&&(yf(t)==="[object Error]"||t instanceof Error)}function xu(t){return typeof t==="function"}function g3(t){return t===null||typeof t==="boolean"||typeof t==="number"||typeof t==="string"||typeof t==="symbol"||typeof t>"u"}function _3(t){return t instanceof Buffer}function yf(t){return Object.prototype.toString.call(t)}function pf(t){return t<10?"0"+t.toString(10):t.toString(10)}function y3(){var t=new Date,e=[pf(t.getHours()),pf(t.getMinutes()),pf(t.getSeconds())].join(":");return[t.getDate(),b3[t.getMonth()],e].join(" ")}function sg(...t){console.log("%s - %s",y3(),_f.apply(null,t))}function og(t,e){if(e)t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}function xf(t,e){if(!e||!Cs(e))return t;var r=Object.keys(e),i=r.length;while(i--)t[r[i]]=e[r[i]];return t}function lg(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function wf(t,e){if(!t){var r=Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}function ug(t){if(typeof t!=="function")throw TypeError('The "original" argument must be of type Function');function e(...r){var i=r.pop();if(typeof i!=="function")throw TypeError("The last argument must be of type Function");var n=this,o=function(...s){return i.apply(n,...s)};t.apply(this,r).then(function(s){process.nextTick(o.bind(null,null,s))},function(s){process.nextTick(wf.bind(null,s,o))})}return Object.setPrototypeOf(e,Object.getPrototypeOf(t)),Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)),e}var i3,o3,Ui,d3=()=>{},b3,ag,cg,hg,x3;var dg=fl(()=>{i3=/%[sdj%]/g;o3=((t={},e={},r)=>((r=typeof process<"u"&&!1)&&(r=r.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase()),e=new RegExp("^"+r+"$","i"),(i)=>{if(i=i.toUpperCase(),!t[i])if(e.test(i))t[i]=function(...n){console.error("%s: %s",i,pid,_f.apply(null,...n))};else t[i]=function(){};return t[i]}))(),Ui=((t)=>(t.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},t.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.custom=Symbol.for("nodejs.util.inspect.custom"),t))(function(t,e,...r){var i={seen:[],stylize:a3};if(r.length>=1)i.depth=r[0];if(r.length>=2)i.colors=r[1];if(bf(e))i.showHidden=e;else if(e)xf(i,e);if(Ss(i.showHidden))i.showHidden=!1;if(Ss(i.depth))i.depth=2;if(Ss(i.colors))i.colors=!1;if(i.colors)i.stylize=l3;return wu(i,t,i.depth)});b3=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];ag=((t)=>(t.custom=Symbol.for("nodejs.util.promisify.custom"),t))(function(t){if(typeof t!=="function")throw TypeError('The "original" argument must be of type Function');if(kCustomPromisifiedSymbol&&t[kCustomPromisifiedSymbol]){var e=t[kCustomPromisifiedSymbol];if(typeof e!=="function")throw TypeError('The "nodejs.util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,kCustomPromisifiedSymbol,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(...r){var i,n,o=new Promise(function(s,h){i=s,n=h});r.push(function(s,h){if(s)n(s);else i(h)});try{t.apply(this,r)}catch(s){n(s)}return o}if(Object.setPrototypeOf(e,Object.getPrototypeOf(t)),kCustomPromisifiedSymbol)Object.defineProperty(e,kCustomPromisifiedSymbol,{value:e,enumerable:!1,writable:!1,configurable:!0});return Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))});({TextEncoder:cg,TextDecoder:hg}=globalThis),x3={TextEncoder:cg,TextDecoder:hg,promisify:ag,log:sg,inherits:og,_extend:xf,callbackifyOnRejected:wf,callbackify:ug}});var $o={};hl($o,{EventEmitter:()=>qi,addAbortListener:()=>vg});function bg(t,e){var{_events:r}=t;if(e[0]??=Error("Unhandled error."),!r)throw e[0];var i=r[_g];if(i)for(var n of mg.call(i))n.apply(t,e);var o=r.error;if(!o)throw e[0];for(var n of mg.call(o))n.apply(t,e);return!0}function C3(t,e,r,i){e.then(void 0,function(n){queueMicrotask(()=>M3(t,n,r,i))})}function M3(t,e,r,i){if(typeof t[pg]==="function")t[pg](e,r,...i);else try{t[Hi]=!1,t.emit("error",e)}finally{t[Hi]=!0}}function yg(t,e,r){r.warned=!0;let i=Error(`Possible EventEmitter memory leak detected. ${r.length} ${String(e)} listeners added to [${t.constructor.name}]. Use emitter.setMaxListeners() to increase limit`);i.name="MaxListenersExceededWarning",i.emitter=t,i.type=e,i.count=r.length,console.warn(i)}function xg(t,e,...r){this.removeListener(t,e),e.apply(this,r)}function R3(t,e,r){var i=r?.signal;if(wg(i,"options.signal"),i?.aborted)throw new vf(void 0,{cause:i?.reason});return new Promise((n,o)=>{let s=(p)=>{if(t.removeListener(e,h),i!=null)Cu(i,"abort",m);o(p)},h=(...p)=>{if(typeof t.removeListener==="function")t.removeListener("error",s);if(i!=null)Cu(i,"abort",m);n(p)};if(gg(t,e,h,{once:!0}),e!=="error"&&typeof t.once==="function")t.once("error",s);function m(){Cu(t,e,h),Cu(t,"error",s),o(new vf(void 0,{cause:i?.reason}))}if(i!=null)gg(i,"abort",m,{once:!0})})}function A3(t,e){return t.listeners(e)}function T3(t,...e){Cf(t,"setMaxListeners",0);var r;if(e&&(r=e.length))for(let i=0;i<r;i++)e[i].setMaxListeners(t);else $i=t}function N3(t,e){return t.listenerCount(e)}function Cu(t,e,r,i){if(typeof t.removeListener==="function")t.removeListener(e,r);else t.removeEventListener(e,r,i)}function gg(t,e,r,i){if(typeof t.on==="function")if(i.once)t.once(e,r);else t.on(e,r);else t.addEventListener(e,r,i)}function Ms(t,e,r){let i=TypeError(`The "${t}" argument must be of type ${e}. Received ${r}`);return i.code="ERR_INVALID_ARG_TYPE",i}function L3(t,e,r){let i=RangeError(`The "${t}" argument is out of range. It must be ${e}. Received ${r}`);return i.code="ERR_OUT_OF_RANGE",i}function wg(t,e){if(t!==void 0&&(t===null||typeof t!=="object"||!("aborted"in t)))throw Ms(e,"AbortSignal",t)}function Cf(t,e,r,i){if(typeof t!=="number")throw Ms(e,"number",t);if(r!=null&&t<r||i!=null&&t>i||(r!=null||i!=null)&&Number.isNaN(t))throw L3(e,`${r!=null?`>= ${r}`:""}${r!=null&&i!=null?" && ":""}${i!=null?`<= ${i}`:""}`,t)}function Ho(t){if(typeof t!=="function")throw TypeError("The listener must be a function")}function I3(t,e){if(typeof t!=="boolean")throw Ms(e,"boolean",t)}function O3(t){return t?._maxListeners??$i}function vg(t,e){if(t===void 0)throw Ms("signal","AbortSignal",t);if(wg(t,"signal"),typeof e!=="function")throw Ms("listener","function",e);let r;if(t.aborted)queueMicrotask(()=>e());else t.addEventListener("abort",e,{__proto__:null,once:!0}),r=()=>{t.removeEventListener("abort",e)};return{__proto__:null,[Symbol.dispose](){r?.()}}}var Sf,Hi,_g,w3,v3,pg,S3,mg,$i=10,qi=function(t){if(this._events===void 0||this._events===this.__proto__._events)this._events={__proto__:null},this._eventsCount=0;if(this._maxListeners??=void 0,this[Hi]=t?.captureRejections?Boolean(t?.captureRejections):He[Hi])this.emit=E3},He,k3=function(t,...e){if(t==="error")return bg(this,e);var{_events:r}=this;if(r===void 0)return!1;var i=r[t];if(i===void 0)return!1;let n=i.length>1?i.slice():i;for(let o=0,{length:s}=n;o<s;o++){let h=n[o];switch(e.length){case 0:h.call(this);break;case 1:h.call(this,e[0]);break;case 2:h.call(this,e[0],e[1]);break;case 3:h.call(this,e[0],e[1],e[2]);break;default:h.apply(this,e);break}}return!0},E3=function(t,...e){if(t==="error")return bg(this,e);var{_events:r}=this;if(r===void 0)return!1;var i=r[t];if(i===void 0)return!1;let n=i.length>1?i.slice():i;for(let o=0,{length:s}=n;o<s;o++){let h=n[o],m;switch(e.length){case 0:m=h.call(this);break;case 1:m=h.call(this,e[0]);break;case 2:m=h.call(this,e[0],e[1]);break;case 3:m=h.call(this,e[0],e[1],e[2]);break;default:m=h.apply(this,e);break}if(m!==void 0&&typeof m?.then==="function"&&m.then===Promise.prototype.then)C3(this,m,t,e)}return!0},vf;var zo=fl(()=>{Sf=Symbol.for,Hi=Symbol("kCapture"),_g=Sf("events.errorMonitor"),w3=Symbol("events.maxEventTargetListeners"),v3=Symbol("events.maxEventTargetListenersWarned"),pg=Sf("nodejs.rejection"),S3=Sf("nodejs.rejection"),mg=Array.prototype.slice,He=qi.prototype={};He._events=void 0;He._eventsCount=0;He._maxListeners=void 0;He.setMaxListeners=function(t){return Cf(t,"setMaxListeners",0),this._maxListeners=t,this};He.constructor=qi;He.getMaxListeners=function(){return this?._maxListeners??$i};He.emit=k3;He.addListener=function(t,e){Ho(e);var r=this._events;if(!r)r=this._events={__proto__:null},this._eventsCount=0;else if(r.newListener)this.emit("newListener",t,e.listener??e);var i=r[t];if(!i)r[t]=[e],this._eventsCount++;else{i.push(e);var n=this._maxListeners??$i;if(n>0&&i.length>n&&!i.warned)yg(this,t,i)}return this};He.on=He.addListener;He.prependListener=function(t,e){Ho(e);var r=this._events;if(!r)r=this._events={__proto__:null},this._eventsCount=0;else if(r.newListener)this.emit("newListener",t,e.listener??e);var i=r[t];if(!i)r[t]=[e],this._eventsCount++;else{i.unshift(e);var n=this._maxListeners??$i;if(n>0&&i.length>n&&!i.warned)yg(this,t,i)}return this};He.once=function(t,e){Ho(e);let r=xg.bind(this,t,e);return r.listener=e,this.addListener(t,r),this};He.prependOnceListener=function(t,e){Ho(e);let r=xg.bind(this,t,e);return r.listener=e,this.prependListener(t,r),this};He.removeListener=function(t,e){Ho(e);var{_events:r}=this;if(!r)return this;var i=r[t];if(!i)return this;var n=i.length;let o=-1;for(let s=n-1;s>=0;s--)if(i[s]===e||i[s].listener===e){o=s;break}if(o<0)return this;if(o===0)i.shift();else i.splice(o,1);if(i.length===0)delete r[t],this._eventsCount--;return this};He.off=He.removeListener;He.removeAllListeners=function(t){var{_events:e}=this;if(t&&e){if(e[t])delete e[t],this._eventsCount--}else this._events={__proto__:null};return this};He.listeners=function(t){var{_events:e}=this;if(!e)return[];var r=e[t];if(!r)return[];return r.map((i)=>i.listener??i)};He.rawListeners=function(t){var{_events:e}=this;if(!e)return[];var r=e[t];if(!r)return[];return r.slice()};He.listenerCount=function(t){var{_events:e}=this;if(!e)return 0;return e[t]?.length??0};He.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};He[Hi]=!1;vf=class vf extends Error{constructor(t="The operation was aborted",e=void 0){if(e!==void 0&&typeof e!=="object")throw Ms("options","Object",e);super(t,e);this.code="ABORT_ERR",this.name="AbortError"}};Object.defineProperties(qi,{captureRejections:{get(){return He[Hi]},set(t){I3(t,"EventEmitter.captureRejections"),He[Hi]=t},enumerable:!0},defaultMaxListeners:{enumerable:!0,get:()=>$i,set:(t)=>{Cf(t,"defaultMaxListeners",0),$i=t}},kMaxEventTargetListeners:{value:w3,enumerable:!1,configurable:!1,writable:!1},kMaxEventTargetListenersWarned:{value:v3,enumerable:!1,configurable:!1,writable:!1}});Object.assign(qi,{once:R3,getEventListeners:A3,getMaxListeners:O3,setMaxListeners:T3,EventEmitter:qi,usingDomains:!1,captureRejectionSymbol:S3,errorMonitor:_g,addAbortListener:vg,init:qi,listenerCount:N3})});var Rf=a2(function(S9,Tg){var Ne=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),We=Ne((t,e)=>{class r extends Error{constructor(i){if(!Array.isArray(i))throw TypeError(`Expected input to be an Array, got ${typeof i}`);let n="";for(let o=0;o<i.length;o++)n+=` ${i[o].stack}
|
|
11
|
+
`;super(n);this.name="AggregateError",this.errors=i}}e.exports={AggregateError:r,ArrayIsArray(i){return Array.isArray(i)},ArrayPrototypeIncludes(i,n){return i.includes(n)},ArrayPrototypeIndexOf(i,n){return i.indexOf(n)},ArrayPrototypeJoin(i,n){return i.join(n)},ArrayPrototypeMap(i,n){return i.map(n)},ArrayPrototypePop(i,n){return i.pop(n)},ArrayPrototypePush(i,n){return i.push(n)},ArrayPrototypeSlice(i,n,o){return i.slice(n,o)},Error,FunctionPrototypeCall(i,n,...o){return i.call(n,...o)},FunctionPrototypeSymbolHasInstance(i,n){return Function.prototype[Symbol.hasInstance].call(i,n)},MathFloor:Math.floor,Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties(i,n){return Object.defineProperties(i,n)},ObjectDefineProperty(i,n,o){return Object.defineProperty(i,n,o)},ObjectGetOwnPropertyDescriptor(i,n){return Object.getOwnPropertyDescriptor(i,n)},ObjectKeys(i){return Object.keys(i)},ObjectSetPrototypeOf(i,n){return Object.setPrototypeOf(i,n)},Promise,PromisePrototypeCatch(i,n){return i.catch(n)},PromisePrototypeThen(i,n,o){return i.then(n,o)},PromiseReject(i){return Promise.reject(i)},PromiseResolve(i){return Promise.resolve(i)},ReflectApply:Reflect.apply,RegExpPrototypeTest(i,n){return i.test(n)},SafeSet:Set,String,StringPrototypeSlice(i,n,o){return i.slice(n,o)},StringPrototypeToLowerCase(i){return i.toLowerCase()},StringPrototypeToUpperCase(i){return i.toUpperCase()},StringPrototypeTrim(i){return i.trim()},Symbol,SymbolFor:Symbol.for,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,SymbolDispose:Symbol.dispose||Symbol("Symbol.dispose"),SymbolAsyncDispose:Symbol.asyncDispose||Symbol("Symbol.asyncDispose"),TypedArrayPrototypeSet(i,n,o){return i.set(n,o)},Boolean,Uint8Array}}),Sg=Ne((t,e)=>{e.exports={format(r,...i){return r.replace(/%([sdifj])/g,function(...[n,o]){let s=i.shift();if(o==="f")return s.toFixed(6);else if(o==="j")return JSON.stringify(s);else if(o==="s"&&typeof s==="object")return`${s.constructor!==Object?s.constructor.name:""} {}`.trim();else return s.toString()})},inspect(r){switch(typeof r){case"string":if(r.includes("'")){if(!r.includes('"'))return`"${r}"`;else if(!r.includes("`")&&!r.includes("${"))return`\`${r}\``}return`'${r}'`;case"number":if(isNaN(r))return"NaN";else if(Object.is(r,-0))return String(r);return r;case"bigint":return`${String(r)}n`;case"boolean":case"undefined":return String(r);case"object":return"{}"}}}}),Wr=Ne((t,e)=>{var{format:r,inspect:i}=Sg(),{AggregateError:n}=We(),o=globalThis.AggregateError||n,s=Symbol("kIsNodeError"),h=["string","function","number","object","Function","Object","boolean","bigint","symbol"],m=/^([A-Z][a-z0-9]*)+$/,p={};function y(R,T){if(!R)throw new p.ERR_INTERNAL_ASSERTION(T)}function _(R){let T="",I=R.length,P=R[0]==="-"?1:0;for(;I>=P+4;I-=3)T=`_${R.slice(I-3,I)}${T}`;return`${R.slice(0,I)}${T}`}function v(R,T,I){if(typeof T==="function")return y(T.length<=I.length,`Code: ${R}; The provided arguments length (${I.length}) does not match the required ones (${T.length}).`),T(...I);let P=(T.match(/%[dfijoOs]/g)||[]).length;if(y(P===I.length,`Code: ${R}; The provided arguments length (${I.length}) does not match the required ones (${P}).`),I.length===0)return T;return r(T,...I)}function C(R,T,I){if(!I)I=Error;class P extends I{constructor(...F){super(v(R,T,F))}toString(){return`${this.name} [${R}]: ${this.message}`}}Object.defineProperties(P.prototype,{name:{value:I.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${R}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),P.prototype.code=R,P.prototype[s]=!0,p[R]=P}function M(R){let T="__node_internal_"+R.name;return Object.defineProperty(R,"name",{value:T}),R}function A(R,T){if(R&&T&&R!==T){if(Array.isArray(T.errors))return T.errors.push(R),T;let I=new o([T,R],T.message);return I.code=T.code,I}return R||T}class k extends Error{constructor(R="The operation was aborted",T=void 0){if(T!==void 0&&typeof T!=="object")throw new p.ERR_INVALID_ARG_TYPE("options","Object",T);super(R,T);this.code="ABORT_ERR",this.name="AbortError"}}C("ERR_ASSERTION","%s",Error),C("ERR_INVALID_ARG_TYPE",(R,T,I)=>{if(y(typeof R==="string","'name' must be a string"),!Array.isArray(T))T=[T];let P="The ";if(R.endsWith(" argument"))P+=`${R} `;else P+=`"${R}" ${R.includes(".")?"property":"argument"} `;P+="must be ";let F=[],G=[],lt=[];for(let ut of T)if(y(typeof ut==="string","All expected entries have to be of type string"),h.includes(ut))F.push(ut.toLowerCase());else if(m.test(ut))G.push(ut);else y(ut!=="object",'The value "object" should be written as "Object"'),lt.push(ut);if(G.length>0){let ut=F.indexOf("object");if(ut!==-1)F.splice(F,ut,1),G.push("Object")}if(F.length>0){switch(F.length){case 1:P+=`of type ${F[0]}`;break;case 2:P+=`one of type ${F[0]} or ${F[1]}`;break;default:{let ut=F.pop();P+=`one of type ${F.join(", ")}, or ${ut}`}}if(G.length>0||lt.length>0)P+=" or "}if(G.length>0){switch(G.length){case 1:P+=`an instance of ${G[0]}`;break;case 2:P+=`an instance of ${G[0]} or ${G[1]}`;break;default:{let ut=G.pop();P+=`an instance of ${G.join(", ")}, or ${ut}`}}if(lt.length>0)P+=" or "}switch(lt.length){case 0:break;case 1:if(lt[0].toLowerCase()!==lt[0])P+="an ";P+=`${lt[0]}`;break;case 2:P+=`one of ${lt[0]} or ${lt[1]}`;break;default:{let ut=lt.pop();P+=`one of ${lt.join(", ")}, or ${ut}`}}if(I==null)P+=`. Received ${I}`;else if(typeof I==="function"&&I.name)P+=`. Received function ${I.name}`;else if(typeof I==="object"){var dt;if((dt=I.constructor)!==null&&dt!==void 0&&dt.name)P+=`. Received an instance of ${I.constructor.name}`;else{let ut=i(I,{depth:-1});P+=`. Received ${ut}`}}else{let ut=i(I,{colors:!1});if(ut.length>25)ut=`${ut.slice(0,25)}...`;P+=`. Received type ${typeof I} (${ut})`}return P},TypeError),C("ERR_INVALID_ARG_VALUE",(R,T,I="is invalid")=>{let P=i(T);if(P.length>128)P=P.slice(0,128)+"...";return`The ${R.includes(".")?"property":"argument"} '${R}' ${I}. Received ${P}`},TypeError),C("ERR_INVALID_RETURN_VALUE",(R,T,I)=>{var P;let F=I!==null&&I!==void 0&&(P=I.constructor)!==null&&P!==void 0&&P.name?`instance of ${I.constructor.name}`:`type ${typeof I}`;return`Expected ${R} to be returned from the "${T}" function but got ${F}.`},TypeError),C("ERR_MISSING_ARGS",(...R)=>{y(R.length>0,"At least one arg needs to be specified");let T,I=R.length;switch(R=(Array.isArray(R)?R:[R]).map((P)=>`"${P}"`).join(" or "),I){case 1:T+=`The ${R[0]} argument`;break;case 2:T+=`The ${R[0]} and ${R[1]} arguments`;break;default:{let P=R.pop();T+=`The ${R.join(", ")}, and ${P} arguments`}break}return`${T} must be specified`},TypeError),C("ERR_OUT_OF_RANGE",(R,T,I)=>{y(T,'Missing "range" argument');let P;if(Number.isInteger(I)&&Math.abs(I)>4294967296)P=_(String(I));else if(typeof I==="bigint"){P=String(I);let F=BigInt(2)**BigInt(32);if(I>F||I<-F)P=_(P);P+="n"}else P=i(I);return`The value of "${R}" is out of range. It must be ${T}. Received ${P}`},RangeError),C("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),C("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),C("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),C("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),C("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),C("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),C("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),C("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),C("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),C("ERR_STREAM_WRITE_AFTER_END","write after end",Error),C("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),e.exports={AbortError:k,aggregateTwoErrors:M(A),hideStackFrames:M,codes:p}}),P3=Ne((t,e)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=new WeakMap,i=new WeakMap;function n(V){let nt=r.get(V);return console.assert(nt!=null,"'this' is expected an Event object, but got",V),nt}function o(V){if(V.passiveListener!=null){if(typeof console<"u"&&typeof console.error==="function")console.error("Unable to preventDefault inside passive event listener invocation.",V.passiveListener);return}if(!V.event.cancelable)return;if(V.canceled=!0,typeof V.event.preventDefault==="function")V.event.preventDefault()}function s(V,nt){r.set(this,{eventTarget:V,event:nt,eventPhase:2,currentTarget:V,canceled:!1,stopped:!1,immediateStopped:!1,passiveListener:null,timeStamp:nt.timeStamp||Date.now()}),Object.defineProperty(this,"isTrusted",{value:!1,enumerable:!0});let l=Object.keys(nt);for(let c=0;c<l.length;++c){let d=l[c];if(!(d in this))Object.defineProperty(this,d,h(d))}}if(s.prototype={get type(){return n(this).event.type},get target(){return n(this).eventTarget},get currentTarget(){return n(this).currentTarget},composedPath(){let V=n(this).currentTarget;if(V==null)return[];return[V]},get NONE(){return 0},get CAPTURING_PHASE(){return 1},get AT_TARGET(){return 2},get BUBBLING_PHASE(){return 3},get eventPhase(){return n(this).eventPhase},stopPropagation(){let V=n(this);if(V.stopped=!0,typeof V.event.stopPropagation==="function")V.event.stopPropagation()},stopImmediatePropagation(){let V=n(this);if(V.stopped=!0,V.immediateStopped=!0,typeof V.event.stopImmediatePropagation==="function")V.event.stopImmediatePropagation()},get bubbles(){return Boolean(n(this).event.bubbles)},get cancelable(){return Boolean(n(this).event.cancelable)},preventDefault(){o(n(this))},get defaultPrevented(){return n(this).canceled},get composed(){return Boolean(n(this).event.composed)},get timeStamp(){return n(this).timeStamp},get srcElement(){return n(this).eventTarget},get cancelBubble(){return n(this).stopped},set cancelBubble(V){if(!V)return;let nt=n(this);if(nt.stopped=!0,typeof nt.event.cancelBubble==="boolean")nt.event.cancelBubble=!0},get returnValue(){return!n(this).canceled},set returnValue(V){if(!V)o(n(this))},initEvent(){}},Object.defineProperty(s.prototype,"constructor",{value:s,configurable:!0,writable:!0}),typeof window<"u"&&typeof window.Event<"u")Object.setPrototypeOf(s.prototype,window.Event.prototype),i.set(window.Event.prototype,s);function h(V){return{get(){return n(this).event[V]},set(nt){n(this).event[V]=nt},configurable:!0,enumerable:!0}}function m(V){return{value(){let nt=n(this).event;return nt[V].apply(nt,arguments)},configurable:!0,enumerable:!0}}function p(V,nt){let l=Object.keys(nt);if(l.length===0)return V;function c(d,u){V.call(this,d,u)}c.prototype=Object.create(V.prototype,{constructor:{value:c,configurable:!0,writable:!0}});for(let d=0;d<l.length;++d){let u=l[d];if(!(u in V.prototype)){let f=typeof Object.getOwnPropertyDescriptor(nt,u).value==="function";Object.defineProperty(c.prototype,u,f?m(u):h(u))}}return c}function y(V){if(V==null||V===Object.prototype)return s;let nt=i.get(V);if(nt==null)nt=p(y(Object.getPrototypeOf(V)),V),i.set(V,nt);return nt}function _(V,nt){return new(y(Object.getPrototypeOf(nt)))(V,nt)}function v(V){return n(V).immediateStopped}function C(V,nt){n(V).eventPhase=nt}function M(V,nt){n(V).currentTarget=nt}function A(V,nt){n(V).passiveListener=nt}var k=new WeakMap,R=1,T=2,I=3;function P(V){return V!==null&&typeof V==="object"}function F(V){let nt=k.get(V);if(nt==null)throw TypeError("'this' is expected an EventTarget object, but got another value.");return nt}function G(V){return{get(){let nt=F(this).get(V);while(nt!=null){if(nt.listenerType===I)return nt.listener;nt=nt.next}return null},set(nt){if(typeof nt!=="function"&&!P(nt))nt=null;let l=F(this),c=null,d=l.get(V);while(d!=null){if(d.listenerType===I)if(c!==null)c.next=d.next;else if(d.next!==null)l.set(V,d.next);else l.delete(V);else c=d;d=d.next}if(nt!==null){let u={listener:nt,listenerType:I,passive:!1,once:!1,next:null};if(c===null)l.set(V,u);else c.next=u}},configurable:!0,enumerable:!0}}function lt(V,nt){Object.defineProperty(V,`on${nt}`,G(nt))}function dt(V){function nt(){ut.call(this)}nt.prototype=Object.create(ut.prototype,{constructor:{value:nt,configurable:!0,writable:!0}});for(let l=0;l<V.length;++l)lt(nt.prototype,V[l]);return nt}function ut(){if(this instanceof ut){k.set(this,new Map);return}if(arguments.length===1&&Array.isArray(arguments[0]))return dt(arguments[0]);if(arguments.length>0){let V=Array(arguments.length);for(let nt=0;nt<arguments.length;++nt)V[nt]=arguments[nt];return dt(V)}throw TypeError("Cannot call a class as a function")}if(ut.prototype={addEventListener(V,nt,l){if(nt==null)return;if(typeof nt!=="function"&&!P(nt))throw TypeError("'listener' should be a function or an object.");let c=F(this),d=P(l),u=(d?Boolean(l.capture):Boolean(l))?R:T,f={listener:nt,listenerType:u,passive:d&&Boolean(l.passive),once:d&&Boolean(l.once),next:null},x=c.get(V);if(x===void 0){c.set(V,f);return}let w=null;while(x!=null){if(x.listener===nt&&x.listenerType===u)return;w=x,x=x.next}w.next=f},removeEventListener(V,nt,l){if(nt==null)return;let c=F(this),d=(P(l)?Boolean(l.capture):Boolean(l))?R:T,u=null,f=c.get(V);while(f!=null){if(f.listener===nt&&f.listenerType===d){if(u!==null)u.next=f.next;else if(f.next!==null)c.set(V,f.next);else c.delete(V);return}u=f,f=f.next}},dispatchEvent(V){if(V==null||typeof V.type!=="string")throw TypeError('"event.type" should be a string.');let nt=F(this),l=V.type,c=nt.get(l);if(c==null)return!0;let d=_(this,V),u=null;while(c!=null){if(c.once)if(u!==null)u.next=c.next;else if(c.next!==null)nt.set(l,c.next);else nt.delete(l);else u=c;if(A(d,c.passive?c.listener:null),typeof c.listener==="function")try{c.listener.call(this,d)}catch(f){if(typeof console<"u"&&typeof console.error==="function")console.error(f)}else if(c.listenerType!==I&&typeof c.listener.handleEvent==="function")c.listener.handleEvent(d);if(v(d))break;c=c.next}return A(d,null),C(d,0),M(d,null),!d.defaultPrevented}},Object.defineProperty(ut.prototype,"constructor",{value:ut,configurable:!0,writable:!0}),typeof window<"u"&&typeof window.EventTarget<"u")Object.setPrototypeOf(ut.prototype,window.EventTarget.prototype);t.defineEventAttribute=lt,t.EventTarget=ut,t.default=ut,e.exports=ut,e.exports.EventTarget=e.exports.default=ut,e.exports.defineEventAttribute=lt}),Vo=Ne((t,e)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=P3();class i extends r.EventTarget{constructor(){super();throw TypeError("AbortSignal cannot be constructed directly")}get aborted(){let y=s.get(this);if(typeof y!=="boolean")throw TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this===null?"null":typeof this}`);return y}}r.defineEventAttribute(i.prototype,"abort");function n(){let y=Object.create(i.prototype);return r.EventTarget.call(y),s.set(y,!1),y}function o(y){if(s.get(y)!==!1)return;s.set(y,!0),y.dispatchEvent({type:"abort"})}var s=new WeakMap;if(Object.defineProperties(i.prototype,{aborted:{enumerable:!0}}),typeof Symbol==="function"&&typeof Symbol.toStringTag==="symbol")Object.defineProperty(i.prototype,Symbol.toStringTag,{configurable:!0,value:"AbortSignal"});class h{constructor(){m.set(this,n())}get signal(){return p(this)}abort(){o(p(this))}}var m=new WeakMap;function p(y){let _=m.get(y);if(_==null)throw TypeError(`Expected 'this' to be an 'AbortController' object, but got ${y===null?"null":typeof y}`);return _}if(Object.defineProperties(h.prototype,{signal:{enumerable:!0},abort:{enumerable:!0}}),typeof Symbol==="function"&&typeof Symbol.toStringTag==="symbol")Object.defineProperty(h.prototype,Symbol.toStringTag,{configurable:!0,value:"AbortController"});t.AbortController=h,t.AbortSignal=i,t.default=h,e.exports=h,e.exports.AbortController=e.exports.default=h,e.exports.AbortSignal=i}),Xr=Ne((t,e)=>{var r=(Nr(),ve(Tr)),{format:i,inspect:n}=Sg(),{codes:{ERR_INVALID_ARG_TYPE:o}}=Wr(),{kResistStopPropagation:s,AggregateError:h,SymbolDispose:m}=We(),p=globalThis.AbortSignal||Vo().AbortSignal,y=globalThis.AbortController||Vo().AbortController,_=Object.getPrototypeOf(async function(){}).constructor,v=globalThis.Blob||r.Blob,C=typeof v<"u"?function(k){return k instanceof v}:function(k){return!1},M=(k,R)=>{if(k!==void 0&&(k===null||typeof k!=="object"||!("aborted"in k)))throw new o(R,"AbortSignal",k)},A=(k,R)=>{if(typeof k!=="function")throw new o(R,"Function",k)};e.exports={AggregateError:h,kEmptyObject:Object.freeze({}),once(k){let R=!1;return function(...T){if(R)return;R=!0,k.apply(this,T)}},createDeferredPromise:function(){let k,R;return{promise:new Promise((T,I)=>{k=T,R=I}),resolve:k,reject:R}},promisify(k){return new Promise((R,T)=>{k((I,...P)=>{if(I)return T(I);return R(...P)})})},debuglog(){return function(){}},format:i,inspect:n,types:{isAsyncFunction(k){return k instanceof _},isArrayBufferView(k){return ArrayBuffer.isView(k)}},isBlob:C,deprecate(k,R){return k},addAbortListener:(zo(),ve($o)).addAbortListener||function(k,R){if(k===void 0)throw new o("signal","AbortSignal",k);M(k,"signal"),A(R,"listener");let T;if(k.aborted)queueMicrotask(()=>R());else k.addEventListener("abort",R,{__proto__:null,once:!0,[s]:!0}),T=()=>{k.removeEventListener("abort",R)};return{__proto__:null,[m](){var I;(I=T)===null||I===void 0||I()}}},AbortSignalAny:p.any||function(k){if(k.length===1)return k[0];let R=new y,T=()=>R.abort();return k.forEach((I)=>{M(I,"signals"),I.addEventListener("abort",T,{once:!0})}),R.signal.addEventListener("abort",()=>{k.forEach((I)=>I.removeEventListener("abort",T))},{once:!0}),R.signal}},e.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")}),jo=Ne((t,e)=>{var{ArrayIsArray:r,ArrayPrototypeIncludes:i,ArrayPrototypeJoin:n,ArrayPrototypeMap:o,NumberIsInteger:s,NumberIsNaN:h,NumberMAX_SAFE_INTEGER:m,NumberMIN_SAFE_INTEGER:p,NumberParseInt:y,ObjectPrototypeHasOwnProperty:_,RegExpPrototypeExec:v,String:C,StringPrototypeToUpperCase:M,StringPrototypeTrim:A}=We(),{hideStackFrames:k,codes:{ERR_SOCKET_BAD_PORT:R,ERR_INVALID_ARG_TYPE:T,ERR_INVALID_ARG_VALUE:I,ERR_OUT_OF_RANGE:P,ERR_UNKNOWN_SIGNAL:F}}=Wr(),{normalizeEncoding:G}=Xr(),{isAsyncFunction:lt,isArrayBufferView:dt}=Xr().types,ut={};function V(z){return z===(z|0)}function nt(z){return z===z>>>0}var l=/^[0-7]+$/,c="must be a 32-bit unsigned integer or an octal string";function d(z,Z,jt){if(typeof z>"u")z=jt;if(typeof z==="string"){if(v(l,z)===null)throw new I(Z,z,c);z=y(z,8)}return x(z,Z),z}var u=k((z,Z,jt=p,tt=m)=>{if(typeof z!=="number")throw new T(Z,"number",z);if(!s(z))throw new P(Z,"an integer",z);if(z<jt||z>tt)throw new P(Z,`>= ${jt} && <= ${tt}`,z)}),f=k((z,Z,jt=-2147483648,tt=2147483647)=>{if(typeof z!=="number")throw new T(Z,"number",z);if(!s(z))throw new P(Z,"an integer",z);if(z<jt||z>tt)throw new P(Z,`>= ${jt} && <= ${tt}`,z)}),x=k((z,Z,jt=!1)=>{if(typeof z!=="number")throw new T(Z,"number",z);if(!s(z))throw new P(Z,"an integer",z);let tt=jt?1:0,ht=4294967295;if(z<tt||z>ht)throw new P(Z,`>= ${tt} && <= ${ht}`,z)});function w(z,Z){if(typeof z!=="string")throw new T(Z,"string",z)}function g(z,Z,jt=void 0,tt){if(typeof z!=="number")throw new T(Z,"number",z);if(jt!=null&&z<jt||tt!=null&&z>tt||(jt!=null||tt!=null)&&h(z))throw new P(Z,`${jt!=null?`>= ${jt}`:""}${jt!=null&&tt!=null?" && ":""}${tt!=null?`<= ${tt}`:""}`,z)}var a=k((z,Z,jt)=>{if(!i(jt,z)){let tt="must be one of: "+n(o(jt,(ht)=>typeof ht==="string"?`'${ht}'`:C(ht)),", ");throw new I(Z,z,tt)}});function b(z,Z){if(typeof z!=="boolean")throw new T(Z,"boolean",z)}function E(z,Z,jt){return z==null||!_(z,Z)?jt:z[Z]}var S=k((z,Z,jt=null)=>{let tt=E(jt,"allowArray",!1),ht=E(jt,"allowFunction",!1);if(!E(jt,"nullable",!1)&&z===null||!tt&&r(z)||typeof z!=="object"&&(!ht||typeof z!=="function"))throw new T(Z,"Object",z)}),L=k((z,Z)=>{if(z!=null&&typeof z!=="object"&&typeof z!=="function")throw new T(Z,"a dictionary",z)}),q=k((z,Z,jt=0)=>{if(!r(z))throw new T(Z,"Array",z);if(z.length<jt){let tt=`must be longer than ${jt}`;throw new I(Z,z,tt)}});function j(z,Z){q(z,Z);for(let jt=0;jt<z.length;jt++)w(z[jt],`${Z}[${jt}]`)}function X(z,Z){q(z,Z);for(let jt=0;jt<z.length;jt++)b(z[jt],`${Z}[${jt}]`)}function bt(z,Z){q(z,Z);for(let jt=0;jt<z.length;jt++){let tt=z[jt],ht=`${Z}[${jt}]`;if(tt==null)throw new T(ht,"AbortSignal",tt);at(tt,ht)}}function it(z,Z="signal"){if(w(z,Z),ut[z]===void 0){if(ut[M(z)]!==void 0)throw new F(z+" (signals must use all capital letters)");throw new F(z)}}var Q=k((z,Z="buffer")=>{if(!dt(z))throw new T(Z,["Buffer","TypedArray","DataView"],z)});function pt(z,Z){let jt=G(Z),tt=z.length;if(jt==="hex"&&tt%2!==0)throw new I("encoding",Z,`is invalid for data of length ${tt}`)}function J(z,Z="Port",jt=!0){if(typeof z!=="number"&&typeof z!=="string"||typeof z==="string"&&A(z).length===0||+z!==+z>>>0||z>65535||z===0&&!jt)throw new R(Z,z,jt);return z|0}var at=k((z,Z)=>{if(z!==void 0&&(z===null||typeof z!=="object"||!("aborted"in z)))throw new T(Z,"AbortSignal",z)}),Kt=k((z,Z)=>{if(typeof z!=="function")throw new T(Z,"Function",z)}),H=k((z,Z)=>{if(typeof z!=="function"||lt(z))throw new T(Z,"Function",z)}),W=k((z,Z)=>{if(z!==void 0)throw new T(Z,"undefined",z)});function mt(z,Z,jt){if(!i(jt,z))throw new T(Z,`('${n(jt,"|")}')`,z)}var rt=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function ot(z,Z){if(typeof z>"u"||!v(rt,z))throw new I(Z,z,'must be an array or string of format "</styles.css>; rel=preload; as=style"')}function Lt(z){if(typeof z==="string")return ot(z,"hints"),z;else if(r(z)){let Z=z.length,jt="";if(Z===0)return jt;for(let tt=0;tt<Z;tt++){let ht=z[tt];if(ot(ht,"hints"),jt+=ht,tt!==Z-1)jt+=", "}return jt}throw new I("hints",z,'must be an array or string of format "</styles.css>; rel=preload; as=style"')}e.exports={isInt32:V,isUint32:nt,parseFileMode:d,validateArray:q,validateStringArray:j,validateBooleanArray:X,validateAbortSignalArray:bt,validateBoolean:b,validateBuffer:Q,validateDictionary:L,validateEncoding:pt,validateFunction:Kt,validateInt32:f,validateInteger:u,validateNumber:g,validateObject:S,validateOneOf:a,validatePlainFunction:H,validatePort:J,validateSignalName:it,validateString:w,validateUint32:x,validateUndefined:W,validateUnion:mt,validateAbortSignal:at,validateLinkHeaderValue:Lt}}),zi=Ne((t,e)=>{e.exports=globalThis.process}),Xn=Ne((t,e)=>{var{SymbolAsyncIterator:r,SymbolIterator:i,SymbolFor:n}=We(),o=n("nodejs.stream.destroyed"),s=n("nodejs.stream.errored"),h=n("nodejs.stream.readable"),m=n("nodejs.stream.writable"),p=n("nodejs.stream.disturbed"),y=n("nodejs.webstream.isClosedPromise"),_=n("nodejs.webstream.controllerErrorFunction");function v(E,S=!1){var L;return!!(E&&typeof E.pipe==="function"&&typeof E.on==="function"&&(!S||typeof E.pause==="function"&&typeof E.resume==="function")&&(!E._writableState||((L=E._readableState)===null||L===void 0?void 0:L.readable)!==!1)&&(!E._writableState||E._readableState))}function C(E){var S;return!!(E&&typeof E.write==="function"&&typeof E.on==="function"&&(!E._readableState||((S=E._writableState)===null||S===void 0?void 0:S.writable)!==!1))}function M(E){return!!(E&&typeof E.pipe==="function"&&E._readableState&&typeof E.on==="function"&&typeof E.write==="function")}function A(E){return E&&(E._readableState||E._writableState||typeof E.write==="function"&&typeof E.on==="function"||typeof E.pipe==="function"&&typeof E.on==="function")}function k(E){return!!(E&&!A(E)&&typeof E.pipeThrough==="function"&&typeof E.getReader==="function"&&typeof E.cancel==="function")}function R(E){return!!(E&&!A(E)&&typeof E.getWriter==="function"&&typeof E.abort==="function")}function T(E){return!!(E&&!A(E)&&typeof E.readable==="object"&&typeof E.writable==="object")}function I(E){return k(E)||R(E)||T(E)}function P(E,S){if(E==null)return!1;if(S===!0)return typeof E[r]==="function";if(S===!1)return typeof E[i]==="function";return typeof E[r]==="function"||typeof E[i]==="function"}function F(E){if(!A(E))return null;let{_writableState:S,_readableState:L}=E,q=S||L;return!!(E.destroyed||E[o]||q!==null&&q!==void 0&&q.destroyed)}function G(E){if(!C(E))return null;if(E.writableEnded===!0)return!0;let S=E._writableState;if(S!==null&&S!==void 0&&S.errored)return!1;if(typeof(S===null||S===void 0?void 0:S.ended)!=="boolean")return null;return S.ended}function lt(E,S){if(!C(E))return null;if(E.writableFinished===!0)return!0;let L=E._writableState;if(L!==null&&L!==void 0&&L.errored)return!1;if(typeof(L===null||L===void 0?void 0:L.finished)!=="boolean")return null;return!!(L.finished||S===!1&&L.ended===!0&&L.length===0)}function dt(E){if(!v(E))return null;if(E.readableEnded===!0)return!0;let S=E._readableState;if(!S||S.errored)return!1;if(typeof(S===null||S===void 0?void 0:S.ended)!=="boolean")return null;return S.ended}function ut(E,S){if(!v(E))return null;let L=E._readableState;if(L!==null&&L!==void 0&&L.errored)return!1;if(typeof(L===null||L===void 0?void 0:L.endEmitted)!=="boolean")return null;return!!(L.endEmitted||S===!1&&L.ended===!0&&L.length===0)}function V(E){if(E&&E[h]!=null)return E[h];if(typeof(E===null||E===void 0?void 0:E.readable)!=="boolean")return null;if(F(E))return!1;return v(E)&&E.readable&&!ut(E)}function nt(E){if(E&&E[m]!=null)return E[m];if(typeof(E===null||E===void 0?void 0:E.writable)!=="boolean")return null;if(F(E))return!1;return C(E)&&E.writable&&!G(E)}function l(E,S){if(!A(E))return null;if(F(E))return!0;if((S===null||S===void 0?void 0:S.readable)!==!1&&V(E))return!1;if((S===null||S===void 0?void 0:S.writable)!==!1&&nt(E))return!1;return!0}function c(E){var S,L;if(!A(E))return null;if(E.writableErrored)return E.writableErrored;return(S=(L=E._writableState)===null||L===void 0?void 0:L.errored)!==null&&S!==void 0?S:null}function d(E){var S,L;if(!A(E))return null;if(E.readableErrored)return E.readableErrored;return(S=(L=E._readableState)===null||L===void 0?void 0:L.errored)!==null&&S!==void 0?S:null}function u(E){if(!A(E))return null;if(typeof E.closed==="boolean")return E.closed;let{_writableState:S,_readableState:L}=E;if(typeof(S===null||S===void 0?void 0:S.closed)==="boolean"||typeof(L===null||L===void 0?void 0:L.closed)==="boolean")return(S===null||S===void 0?void 0:S.closed)||(L===null||L===void 0?void 0:L.closed);if(typeof E._closed==="boolean"&&f(E))return E._closed;return null}function f(E){return typeof E._closed==="boolean"&&typeof E._defaultKeepAlive==="boolean"&&typeof E._removedConnection==="boolean"&&typeof E._removedContLen==="boolean"}function x(E){return typeof E._sent100==="boolean"&&f(E)}function w(E){var S;return typeof E._consuming==="boolean"&&typeof E._dumped==="boolean"&&((S=E.req)===null||S===void 0?void 0:S.upgradeOrConnect)===void 0}function g(E){if(!A(E))return null;let{_writableState:S,_readableState:L}=E,q=S||L;return!q&&x(E)||!!(q&&q.autoDestroy&&q.emitClose&&q.closed===!1)}function a(E){var S;return!!(E&&((S=E[p])!==null&&S!==void 0?S:E.readableDidRead||E.readableAborted))}function b(E){var S,L,q,j,X,bt,it,Q,pt,J;return!!(E&&((S=(L=(q=(j=(X=(bt=E[s])!==null&&bt!==void 0?bt:E.readableErrored)!==null&&X!==void 0?X:E.writableErrored)!==null&&j!==void 0?j:(it=E._readableState)===null||it===void 0?void 0:it.errorEmitted)!==null&&q!==void 0?q:(Q=E._writableState)===null||Q===void 0?void 0:Q.errorEmitted)!==null&&L!==void 0?L:(pt=E._readableState)===null||pt===void 0?void 0:pt.errored)!==null&&S!==void 0?S:(J=E._writableState)===null||J===void 0?void 0:J.errored))}e.exports={isDestroyed:F,kIsDestroyed:o,isDisturbed:a,kIsDisturbed:p,isErrored:b,kIsErrored:s,isReadable:V,kIsReadable:h,kIsClosedPromise:y,kControllerErrorFunction:_,kIsWritable:m,isClosed:u,isDuplexNodeStream:M,isFinished:l,isIterable:P,isReadableNodeStream:v,isReadableStream:k,isReadableEnded:dt,isReadableFinished:ut,isReadableErrored:d,isNodeStream:A,isWebStream:I,isWritable:nt,isWritableNodeStream:C,isWritableStream:R,isWritableEnded:G,isWritableFinished:lt,isWritableErrored:c,isServerRequest:w,isServerResponse:x,willEmitClose:g,isTransformStream:T}}),mi=Ne((t,e)=>{var r=zi(),{AbortError:i,codes:n}=Wr(),{ERR_INVALID_ARG_TYPE:o,ERR_STREAM_PREMATURE_CLOSE:s}=n,{kEmptyObject:h,once:m}=Xr(),{validateAbortSignal:p,validateFunction:y,validateObject:_,validateBoolean:v}=jo(),{Promise:C,PromisePrototypeThen:M,SymbolDispose:A}=We(),{isClosed:k,isReadable:R,isReadableNodeStream:T,isReadableStream:I,isReadableFinished:P,isReadableErrored:F,isWritable:G,isWritableNodeStream:lt,isWritableStream:dt,isWritableFinished:ut,isWritableErrored:V,isNodeStream:nt,willEmitClose:l,kIsClosedPromise:c}=Xn(),d;function u(a){return a.setHeader&&typeof a.abort==="function"}var f=()=>{};function x(a,b,E){var S,L;if(arguments.length===2)E=b,b=h;else if(b==null)b=h;else _(b,"options");if(y(E,"callback"),p(b.signal,"options.signal"),E=m(E),I(a)||dt(a))return w(a,b,E);if(!nt(a))throw new o("stream",["ReadableStream","WritableStream","Stream"],a);let q=(S=b.readable)!==null&&S!==void 0?S:T(a),j=(L=b.writable)!==null&&L!==void 0?L:lt(a),X=a._writableState,bt=a._readableState,it=()=>{if(!a.writable)J()},Q=l(a)&&T(a)===q&<(a)===j,pt=ut(a,!1),J=()=>{if(pt=!0,a.destroyed)Q=!1;if(Q&&(!a.readable||q))return;if(!q||at)E.call(a)},at=P(a,!1),Kt=()=>{if(at=!0,a.destroyed)Q=!1;if(Q&&(!a.writable||j))return;if(!j||pt)E.call(a)},H=(z)=>{E.call(a,z)},W=k(a),mt=()=>{W=!0;let z=V(a)||F(a);if(z&&typeof z!=="boolean")return E.call(a,z);if(q&&!at&&T(a,!0)){if(!P(a,!1))return E.call(a,new s)}if(j&&!pt){if(!ut(a,!1))return E.call(a,new s)}E.call(a)},rt=()=>{W=!0;let z=V(a)||F(a);if(z&&typeof z!=="boolean")return E.call(a,z);E.call(a)},ot=()=>{a.req.on("finish",J)};if(u(a)){if(a.on("complete",J),!Q)a.on("abort",mt);if(a.req)ot();else a.on("request",ot)}else if(j&&!X)a.on("end",it),a.on("close",it);if(!Q&&typeof a.aborted==="boolean")a.on("aborted",mt);if(a.on("end",Kt),a.on("finish",J),b.error!==!1)a.on("error",H);if(a.on("close",mt),W)r.nextTick(mt);else if(X!==null&&X!==void 0&&X.errorEmitted||bt!==null&&bt!==void 0&&bt.errorEmitted){if(!Q)r.nextTick(rt)}else if(!q&&(!Q||R(a))&&(pt||G(a)===!1))r.nextTick(rt);else if(!j&&(!Q||G(a))&&(at||R(a)===!1))r.nextTick(rt);else if(bt&&a.req&&a.aborted)r.nextTick(rt);let Lt=()=>{if(E=f,a.removeListener("aborted",mt),a.removeListener("complete",J),a.removeListener("abort",mt),a.removeListener("request",ot),a.req)a.req.removeListener("finish",J);a.removeListener("end",it),a.removeListener("close",it),a.removeListener("finish",J),a.removeListener("end",Kt),a.removeListener("error",H),a.removeListener("close",mt)};if(b.signal&&!W){let z=()=>{let Z=E;Lt(),Z.call(a,new i(void 0,{cause:b.signal.reason}))};if(b.signal.aborted)r.nextTick(z);else{d=d||Xr().addAbortListener;let Z=d(b.signal,z),jt=E;E=m((...tt)=>{Z[A](),jt.apply(a,tt)})}}return Lt}function w(a,b,E){let S=!1,L=f;if(b.signal)if(L=()=>{S=!0,E.call(a,new i(void 0,{cause:b.signal.reason}))},b.signal.aborted)r.nextTick(L);else{d=d||Xr().addAbortListener;let j=d(b.signal,L),X=E;E=m((...bt)=>{j[A](),X.apply(a,bt)})}let q=(...j)=>{if(!S)r.nextTick(()=>E.apply(a,j))};return M(a[c].promise,q,q),f}function g(a,b){var E;let S=!1;if(b===null)b=h;if((E=b)!==null&&E!==void 0&&E.cleanup)v(b.cleanup,"cleanup"),S=b.cleanup;return new C((L,q)=>{let j=x(a,b,(X)=>{if(S)j();if(X)q(X);else L()})})}e.exports=x,e.exports.finished=g}),ks=Ne((t,e)=>{var r=zi(),{aggregateTwoErrors:i,codes:{ERR_MULTIPLE_CALLBACK:n},AbortError:o}=Wr(),{Symbol:s}=We(),{kIsDestroyed:h,isDestroyed:m,isFinished:p,isServerRequest:y}=Xn(),_=s("kDestroy"),v=s("kConstruct");function C(l,c,d){if(l){if(l.stack,c&&!c.errored)c.errored=l;if(d&&!d.errored)d.errored=l}}function M(l,c){let d=this._readableState,u=this._writableState,f=u||d;if(u!==null&&u!==void 0&&u.destroyed||d!==null&&d!==void 0&&d.destroyed){if(typeof c==="function")c();return this}if(C(l,u,d),u)u.destroyed=!0;if(d)d.destroyed=!0;if(!f.constructed)this.once(_,function(x){A(this,i(x,l),c)});else A(this,l,c);return this}function A(l,c,d){let u=!1;function f(x){if(u)return;u=!0;let{_readableState:w,_writableState:g}=l;if(C(x,g,w),g)g.closed=!0;if(w)w.closed=!0;if(typeof d==="function")d(x);if(x)r.nextTick(k,l,x);else r.nextTick(R,l)}try{l._destroy(c||null,f)}catch(x){f(x)}}function k(l,c){T(l,c),R(l)}function R(l){let{_readableState:c,_writableState:d}=l;if(d)d.closeEmitted=!0;if(c)c.closeEmitted=!0;if(d!==null&&d!==void 0&&d.emitClose||c!==null&&c!==void 0&&c.emitClose)l.emit("close")}function T(l,c){let{_readableState:d,_writableState:u}=l;if(u!==null&&u!==void 0&&u.errorEmitted||d!==null&&d!==void 0&&d.errorEmitted)return;if(u)u.errorEmitted=!0;if(d)d.errorEmitted=!0;l.emit("error",c)}function I(){let l=this._readableState,c=this._writableState;if(l)l.constructed=!0,l.closed=!1,l.closeEmitted=!1,l.destroyed=!1,l.errored=null,l.errorEmitted=!1,l.reading=!1,l.ended=l.readable===!1,l.endEmitted=l.readable===!1;if(c)c.constructed=!0,c.destroyed=!1,c.closed=!1,c.closeEmitted=!1,c.errored=null,c.errorEmitted=!1,c.finalCalled=!1,c.prefinished=!1,c.ended=c.writable===!1,c.ending=c.writable===!1,c.finished=c.writable===!1}function P(l,c,d){let{_readableState:u,_writableState:f}=l;if(f!==null&&f!==void 0&&f.destroyed||u!==null&&u!==void 0&&u.destroyed)return this;if(u!==null&&u!==void 0&&u.autoDestroy||f!==null&&f!==void 0&&f.autoDestroy)l.destroy(c);else if(c){if(c.stack,f&&!f.errored)f.errored=c;if(u&&!u.errored)u.errored=c;if(d)r.nextTick(T,l,c);else T(l,c)}}function F(l,c){if(typeof l._construct!=="function")return;let{_readableState:d,_writableState:u}=l;if(d)d.constructed=!1;if(u)u.constructed=!1;if(l.once(v,c),l.listenerCount(v)>1)return;r.nextTick(G,l)}function G(l){let c=!1;function d(u){if(c){P(l,u!==null&&u!==void 0?u:new n);return}c=!0;let{_readableState:f,_writableState:x}=l,w=x||f;if(f)f.constructed=!0;if(x)x.constructed=!0;if(w.destroyed)l.emit(_,u);else if(u)P(l,u,!0);else r.nextTick(lt,l)}try{l._construct((u)=>{r.nextTick(d,u)})}catch(u){r.nextTick(d,u)}}function lt(l){l.emit(v)}function dt(l){return(l===null||l===void 0?void 0:l.setHeader)&&typeof l.abort==="function"}function ut(l){l.emit("close")}function V(l,c){l.emit("error",c),r.nextTick(ut,l)}function nt(l,c){if(!l||m(l))return;if(!c&&!p(l))c=new o;if(y(l))l.socket=null,l.destroy(c);else if(dt(l))l.abort();else if(dt(l.req))l.req.abort();else if(typeof l.destroy==="function")l.destroy(c);else if(typeof l.close==="function")l.close();else if(c)r.nextTick(V,l,c);else r.nextTick(ut,l);if(!l.destroyed)l[h]=!0}e.exports={construct:F,destroyer:nt,destroy:M,undestroy:I,errorOrDestroy:P}}),Mf=Ne((t,e)=>{var{ArrayIsArray:r,ObjectSetPrototypeOf:i}=We(),{EventEmitter:n}=(zo(),ve($o));function o(h){n.call(this,h)}i(o.prototype,n.prototype),i(o,n),o.prototype.pipe=function(h,m){let p=this;function y(R){if(h.writable&&h.write(R)===!1&&p.pause)p.pause()}p.on("data",y);function _(){if(p.readable&&p.resume)p.resume()}if(h.on("drain",_),!h._isStdio&&(!m||m.end!==!1))p.on("end",C),p.on("close",M);let v=!1;function C(){if(v)return;v=!0,h.end()}function M(){if(v)return;if(v=!0,typeof h.destroy==="function")h.destroy()}function A(R){if(k(),n.listenerCount(this,"error")===0)this.emit("error",R)}s(p,"error",A),s(h,"error",A);function k(){p.removeListener("data",y),h.removeListener("drain",_),p.removeListener("end",C),p.removeListener("close",M),p.removeListener("error",A),h.removeListener("error",A),p.removeListener("end",k),p.removeListener("close",k),h.removeListener("close",k)}return p.on("end",k),p.on("close",k),h.on("close",k),h.emit("pipe",p),h};function s(h,m,p){if(typeof h.prependListener==="function")return h.prependListener(m,p);if(!h._events||!h._events[m])h.on(m,p);else if(r(h._events[m]))h._events[m].unshift(p);else h._events[m]=[p,h._events[m]]}e.exports={Stream:o,prependListener:s}}),Mu=Ne((t,e)=>{var{SymbolDispose:r}=We(),{AbortError:i,codes:n}=Wr(),{isNodeStream:o,isWebStream:s,kControllerErrorFunction:h}=Xn(),m=mi(),{ERR_INVALID_ARG_TYPE:p}=n,y,_=(v,C)=>{if(typeof v!=="object"||!("aborted"in v))throw new p(C,"AbortSignal",v)};e.exports.addAbortSignal=function(v,C){if(_(v,"signal"),!o(C)&&!s(C))throw new p("stream",["ReadableStream","WritableStream","Stream"],C);return e.exports.addAbortSignalNoValidate(v,C)},e.exports.addAbortSignalNoValidate=function(v,C){if(typeof v!=="object"||!("aborted"in v))return C;let M=o(C)?()=>{C.destroy(new i(void 0,{cause:v.reason}))}:()=>{C[h](new i(void 0,{cause:v.reason}))};if(v.aborted)M();else{y=y||Xr().addAbortListener;let A=y(v,M);m(C,A[r])}return C}}),D3=Ne((t,e)=>{var{StringPrototypeSlice:r,SymbolIterator:i,TypedArrayPrototypeSet:n,Uint8Array:o}=We(),{Buffer:s}=(Nr(),ve(Tr)),{inspect:h}=Xr();e.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(m){let p={data:m,next:null};if(this.length>0)this.tail.next=p;else this.head=p;this.tail=p,++this.length}unshift(m){let p={data:m,next:this.head};if(this.length===0)this.tail=p;this.head=p,++this.length}shift(){if(this.length===0)return;let m=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;return--this.length,m}clear(){this.head=this.tail=null,this.length=0}join(m){if(this.length===0)return"";let p=this.head,y=""+p.data;while((p=p.next)!==null)y+=m+p.data;return y}concat(m){if(this.length===0)return s.alloc(0);let p=s.allocUnsafe(m>>>0),y=this.head,_=0;while(y)n(p,y.data,_),_+=y.data.length,y=y.next;return p}consume(m,p){let y=this.head.data;if(m<y.length){let _=y.slice(0,m);return this.head.data=y.slice(m),_}if(m===y.length)return this.shift();return p?this._getString(m):this._getBuffer(m)}first(){return this.head.data}*[i](){for(let m=this.head;m;m=m.next)yield m.data}_getString(m){let p="",y=this.head,_=0;do{let v=y.data;if(m>v.length)p+=v,m-=v.length;else{if(m===v.length)if(p+=v,++_,y.next)this.head=y.next;else this.head=this.tail=null;else p+=r(v,0,m),this.head=y,y.data=r(v,m);break}++_}while((y=y.next)!==null);return this.length-=_,p}_getBuffer(m){let p=s.allocUnsafe(m),y=m,_=this.head,v=0;do{let C=_.data;if(m>C.length)n(p,C,y-m),m-=C.length;else{if(m===C.length)if(n(p,C,y-m),++v,_.next)this.head=_.next;else this.head=this.tail=null;else n(p,new o(C.buffer,C.byteOffset,m),y-m),this.head=_,_.data=C.slice(m);break}++v}while((_=_.next)!==null);return this.length-=v,p}[Symbol.for("nodejs.util.inspect.custom")](m,p){return h(this,{...p,depth:0,customInspect:!1})}}}),ku=Ne((t,e)=>{var{MathFloor:r,NumberIsInteger:i}=We(),{validateInteger:n}=jo(),{ERR_INVALID_ARG_VALUE:o}=Wr().codes,s=16384,h=16;function m(v,C,M){return v.highWaterMark!=null?v.highWaterMark:C?v[M]:null}function p(v){return v?h:s}function y(v,C){if(n(C,"value",0),v)h=C;else s=C}function _(v,C,M,A){let k=m(C,A,M);if(k!=null){if(!i(k)||k<0){let R=A?`options.${M}`:"options.highWaterMark";throw new o(R,k)}return r(k)}return p(v.objectMode)}e.exports={getHighWaterMark:_,getDefaultHighWaterMark:p,setDefaultHighWaterMark:y}}),F3=Ne((t,e)=>{/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var r=(Nr(),ve(Tr)),i=r.Buffer;function n(s,h){for(var m in s)h[m]=s[m]}if(i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow)e.exports=r;else n(r,t),t.Buffer=o;function o(s,h,m){return i(s,h,m)}o.prototype=Object.create(i.prototype),n(i,o),o.from=function(s,h,m){if(typeof s==="number")throw TypeError("Argument must not be a number");return i(s,h,m)},o.alloc=function(s,h,m){if(typeof s!=="number")throw TypeError("Argument must be a number");var p=i(s);if(h!==void 0)if(typeof m==="string")p.fill(h,m);else p.fill(h);else p.fill(0);return p},o.allocUnsafe=function(s){if(typeof s!=="number")throw TypeError("Argument must be a number");return i(s)},o.allocUnsafeSlow=function(s){if(typeof s!=="number")throw TypeError("Argument must be a number");return r.SlowBuffer(s)}}),B3=Ne((t)=>{var e=F3().Buffer,r=e.isEncoding||function(T){switch(T=""+T,T&&T.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function i(T){if(!T)return"utf8";var I;while(!0)switch(T){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return T;default:if(I)return;T=(""+T).toLowerCase(),I=!0}}function n(T){var I=i(T);if(typeof I!=="string"&&(e.isEncoding===r||!r(T)))throw Error("Unknown encoding: "+T);return I||T}t.StringDecoder=o;function o(T){this.encoding=n(T);var I;switch(this.encoding){case"utf16le":this.text=v,this.end=C,I=4;break;case"utf8":this.fillLast=p,I=4;break;case"base64":this.text=M,this.end=A,I=3;break;default:this.write=k,this.end=R;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=e.allocUnsafe(I)}o.prototype.write=function(T){if(T.length===0)return"";var I,P;if(this.lastNeed){if(I=this.fillLast(T),I===void 0)return"";P=this.lastNeed,this.lastNeed=0}else P=0;if(P<T.length)return I?I+this.text(T,P):this.text(T,P);return I||""},o.prototype.end=_,o.prototype.text=y,o.prototype.fillLast=function(T){if(this.lastNeed<=T.length)return T.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);T.copy(this.lastChar,this.lastTotal-this.lastNeed,0,T.length),this.lastNeed-=T.length};function s(T){if(T<=127)return 0;else if(T>>5===6)return 2;else if(T>>4===14)return 3;else if(T>>3===30)return 4;return T>>6===2?-1:-2}function h(T,I,P){var F=I.length-1;if(F<P)return 0;var G=s(I[F]);if(G>=0){if(G>0)T.lastNeed=G-1;return G}if(--F<P||G===-2)return 0;if(G=s(I[F]),G>=0){if(G>0)T.lastNeed=G-2;return G}if(--F<P||G===-2)return 0;if(G=s(I[F]),G>=0){if(G>0)if(G===2)G=0;else T.lastNeed=G-3;return G}return 0}function m(T,I,P){if((I[0]&192)!==128)return T.lastNeed=0,"�";if(T.lastNeed>1&&I.length>1){if((I[1]&192)!==128)return T.lastNeed=1,"�";if(T.lastNeed>2&&I.length>2){if((I[2]&192)!==128)return T.lastNeed=2,"�"}}}function p(T){var I=this.lastTotal-this.lastNeed,P=m(this,T,I);if(P!==void 0)return P;if(this.lastNeed<=T.length)return T.copy(this.lastChar,I,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);T.copy(this.lastChar,I,0,T.length),this.lastNeed-=T.length}function y(T,I){var P=h(this,T,I);if(!this.lastNeed)return T.toString("utf8",I);this.lastTotal=P;var F=T.length-(P-this.lastNeed);return T.copy(this.lastChar,0,F),T.toString("utf8",I,F)}function _(T){var I=T&&T.length?this.write(T):"";if(this.lastNeed)return I+"�";return I}function v(T,I){if((T.length-I)%2===0){var P=T.toString("utf16le",I);if(P){var F=P.charCodeAt(P.length-1);if(F>=55296&&F<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=T[T.length-2],this.lastChar[1]=T[T.length-1],P.slice(0,-1)}return P}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=T[T.length-1],T.toString("utf16le",I,T.length-1)}function C(T){var I=T&&T.length?this.write(T):"";if(this.lastNeed){var P=this.lastTotal-this.lastNeed;return I+this.lastChar.toString("utf16le",0,P)}return I}function M(T,I){var P=(T.length-I)%3;if(P===0)return T.toString("base64",I);if(this.lastNeed=3-P,this.lastTotal=3,P===1)this.lastChar[0]=T[T.length-1];else this.lastChar[0]=T[T.length-2],this.lastChar[1]=T[T.length-1];return T.toString("base64",I,T.length-P)}function A(T){var I=T&&T.length?this.write(T):"";if(this.lastNeed)return I+this.lastChar.toString("base64",0,3-this.lastNeed);return I}function k(T){return T.toString(this.encoding)}function R(T){return T&&T.length?this.write(T):""}}),Cg=Ne((t,e)=>{var r=zi(),{PromisePrototypeThen:i,SymbolAsyncIterator:n,SymbolIterator:o}=We(),{Buffer:s}=(Nr(),ve(Tr)),{ERR_INVALID_ARG_TYPE:h,ERR_STREAM_NULL_VALUES:m}=Wr().codes;function p(y,_,v){let C;if(typeof _==="string"||_ instanceof s)return new y({objectMode:!0,...v,read(){this.push(_),this.push(null)}});let M;if(_&&_[n])M=!0,C=_[n]();else if(_&&_[o])M=!1,C=_[o]();else throw new h("iterable",["Iterable"],_);let A=new y({objectMode:!0,highWaterMark:1,...v}),k=!1;A._read=function(){if(!k)k=!0,T()},A._destroy=function(I,P){i(R(I),()=>r.nextTick(P,I),(F)=>r.nextTick(P,F||I))};async function R(I){let P=I!==void 0&&I!==null,F=typeof C.throw==="function";if(P&&F){let{value:G,done:lt}=await C.throw(I);if(await G,lt)return}if(typeof C.return==="function"){let{value:G}=await C.return();await G}}async function T(){for(;;){try{let{value:I,done:P}=M?await C.next():C.next();if(P)A.push(null);else{let F=I&&typeof I.then==="function"?await I:I;if(F===null)throw k=!1,new m;else if(A.push(F))continue;else k=!1}}catch(I){A.destroy(I)}break}}return A}e.exports=p}),Eu=Ne((t,e)=>{var r=zi(),{ArrayPrototypeIndexOf:i,NumberIsInteger:n,NumberIsNaN:o,NumberParseInt:s,ObjectDefineProperties:h,ObjectKeys:m,ObjectSetPrototypeOf:p,Promise:y,SafeSet:_,SymbolAsyncDispose:v,SymbolAsyncIterator:C,Symbol:M}=We();e.exports=tt,tt.ReadableState=jt;var{EventEmitter:A}=(zo(),ve($o)),{Stream:k,prependListener:R}=Mf(),{Buffer:T}=(Nr(),ve(Tr)),{addAbortSignal:I}=Mu(),P=mi(),F=Xr().debuglog("stream",(B)=>{F=B}),G=D3(),lt=ks(),{getHighWaterMark:dt,getDefaultHighWaterMark:ut}=ku(),{aggregateTwoErrors:V,codes:{ERR_INVALID_ARG_TYPE:nt,ERR_METHOD_NOT_IMPLEMENTED:l,ERR_OUT_OF_RANGE:c,ERR_STREAM_PUSH_AFTER_EOF:d,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:u},AbortError:f}=Wr(),{validateObject:x}=jo(),w=M("kPaused"),{StringDecoder:g}=B3(),a=Cg();p(tt.prototype,k.prototype),p(tt,k);var b=()=>{},{errorOrDestroy:E}=lt,S=1,L=2,q=4,j=8,X=16,bt=32,it=64,Q=128,pt=256,J=512,at=1024,Kt=2048,H=4096,W=8192,mt=16384,rt=32768,ot=65536,Lt=131072,z=262144;function Z(B){return{enumerable:!1,get(){return(this.state&B)!==0},set(K){if(K)this.state|=B;else this.state&=~B}}}h(jt.prototype,{objectMode:Z(S),ended:Z(L),endEmitted:Z(q),reading:Z(j),constructed:Z(X),sync:Z(bt),needReadable:Z(it),emittedReadable:Z(Q),readableListening:Z(pt),resumeScheduled:Z(J),errorEmitted:Z(at),emitClose:Z(Kt),autoDestroy:Z(H),destroyed:Z(W),closed:Z(mt),closeEmitted:Z(rt),multiAwaitDrain:Z(ot),readingMore:Z(Lt),dataEmitted:Z(z)});function jt(B,K,st){if(typeof st!=="boolean")st=K instanceof Zn();if(this.state=Kt|H|X|bt,B&&B.objectMode)this.state|=S;if(st&&B&&B.readableObjectMode)this.state|=S;if(this.highWaterMark=B?dt(this,B,"readableHighWaterMark",st):ut(!1),this.buffer=new G,this.length=0,this.pipes=[],this.flowing=null,this[w]=null,B&&B.emitClose===!1)this.state&=~Kt;if(B&&B.autoDestroy===!1)this.state&=~H;if(this.errored=null,this.defaultEncoding=B&&B.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.decoder=null,this.encoding=null,B&&B.encoding)this.decoder=new g(B.encoding),this.encoding=B.encoding}function tt(B){if(!(this instanceof tt))return new tt(B);let K=this instanceof Zn();if(this._readableState=new jt(B,this,K),B){if(typeof B.read==="function")this._read=B.read;if(typeof B.destroy==="function")this._destroy=B.destroy;if(typeof B.construct==="function")this._construct=B.construct;if(B.signal&&!K)I(B.signal,this)}k.call(this,B),lt.construct(this,()=>{if(this._readableState.needReadable)Tt(this,this._readableState)})}tt.prototype.destroy=lt.destroy,tt.prototype._undestroy=lt.undestroy,tt.prototype._destroy=function(B,K){K(B)},tt.prototype[A.captureRejectionSymbol]=function(B){this.destroy(B)},tt.prototype[v]=function(){let B;if(!this.destroyed)B=this.readableEnded?null:new f,this.destroy(B);return new y((K,st)=>P(this,(ct)=>ct&&ct!==B?st(ct):K(null)))},tt.prototype.push=function(B,K){return ht(this,B,K,!1)},tt.prototype.unshift=function(B,K){return ht(this,B,K,!0)};function ht(B,K,st,ct){F("readableAddChunk",K);let Qt=B._readableState,xt;if((Qt.state&S)===0){if(typeof K==="string"){if(st=st||Qt.defaultEncoding,Qt.encoding!==st)if(ct&&Qt.encoding)K=T.from(K,st).toString(Qt.encoding);else K=T.from(K,st),st=""}else if(K instanceof T)st="";else if(k._isUint8Array(K))K=k._uint8ArrayToBuffer(K),st="";else if(K!=null)xt=new nt("chunk",["string","Buffer","Uint8Array"],K)}if(xt)E(B,xt);else if(K===null)Qt.state&=~j,yt(B,Qt);else if((Qt.state&S)!==0||K&&K.length>0)if(ct)if((Qt.state&q)!==0)E(B,new u);else if(Qt.destroyed||Qt.errored)return!1;else ae(B,Qt,K,!0);else if(Qt.ended)E(B,new d);else if(Qt.destroyed||Qt.errored)return!1;else if(Qt.state&=~j,Qt.decoder&&!st)if(K=Qt.decoder.write(K),Qt.objectMode||K.length!==0)ae(B,Qt,K,!1);else Tt(B,Qt);else ae(B,Qt,K,!1);else if(!ct)Qt.state&=~j,Tt(B,Qt);return!Qt.ended&&(Qt.length<Qt.highWaterMark||Qt.length===0)}function ae(B,K,st,ct){if(K.flowing&&K.length===0&&!K.sync&&B.listenerCount("data")>0){if((K.state&ot)!==0)K.awaitDrainWriters.clear();else K.awaitDrainWriters=null;K.dataEmitted=!0,B.emit("data",st)}else{if(K.length+=K.objectMode?1:st.length,ct)K.buffer.unshift(st);else K.buffer.push(st);if((K.state&it)!==0)Mt(B)}Tt(B,K)}tt.prototype.isPaused=function(){let B=this._readableState;return B[w]===!0||B.flowing===!1},tt.prototype.setEncoding=function(B){let K=new g(B);this._readableState.decoder=K,this._readableState.encoding=this._readableState.decoder.encoding;let st=this._readableState.buffer,ct="";for(let Qt of st)ct+=K.write(Qt);if(st.clear(),ct!=="")st.push(ct);return this._readableState.length=ct.length,this};var wt=1073741824;function vt(B){if(B>wt)throw new c("size","<= 1GiB",B);else B--,B|=B>>>1,B|=B>>>2,B|=B>>>4,B|=B>>>8,B|=B>>>16,B++;return B}function Ge(B,K){if(B<=0||K.length===0&&K.ended)return 0;if((K.state&S)!==0)return 1;if(o(B)){if(K.flowing&&K.length)return K.buffer.first().length;return K.length}if(B<=K.length)return B;return K.ended?K.length:0}tt.prototype.read=function(B){if(F("read",B),B===void 0)B=NaN;else if(!n(B))B=s(B,10);let K=this._readableState,st=B;if(B>K.highWaterMark)K.highWaterMark=vt(B);if(B!==0)K.state&=~Q;if(B===0&&K.needReadable&&((K.highWaterMark!==0?K.length>=K.highWaterMark:K.length>0)||K.ended)){if(F("read: emitReadable",K.length,K.ended),K.length===0&&K.ended)kr(this);else Mt(this);return null}if(B=Ge(B,K),B===0&&K.ended){if(K.length===0)kr(this);return null}let ct=(K.state&it)!==0;if(F("need readable",ct),K.length===0||K.length-B<K.highWaterMark)ct=!0,F("length less than watermark",ct);if(K.ended||K.reading||K.destroyed||K.errored||!K.constructed)ct=!1,F("reading, ended or constructing",ct);else if(ct){if(F("do read"),K.state|=j|bt,K.length===0)K.state|=it;try{this._read(K.highWaterMark)}catch(xt){E(this,xt)}if(K.state&=~bt,!K.reading)B=Ge(st,K)}let Qt;if(B>0)Qt=Pt(B,K);else Qt=null;if(Qt===null)K.needReadable=K.length<=K.highWaterMark,B=0;else if(K.length-=B,K.multiAwaitDrain)K.awaitDrainWriters.clear();else K.awaitDrainWriters=null;if(K.length===0){if(!K.ended)K.needReadable=!0;if(st!==B&&K.ended)kr(this)}if(Qt!==null&&!K.errorEmitted&&!K.closeEmitted)K.dataEmitted=!0,this.emit("data",Qt);return Qt};function yt(B,K){if(F("onEofChunk"),K.ended)return;if(K.decoder){let st=K.decoder.end();if(st&&st.length)K.buffer.push(st),K.length+=K.objectMode?1:st.length}if(K.ended=!0,K.sync)Mt(B);else K.needReadable=!1,K.emittedReadable=!0,Xe(B)}function Mt(B){let K=B._readableState;if(F("emitReadable",K.needReadable,K.emittedReadable),K.needReadable=!1,!K.emittedReadable)F("emitReadable",K.flowing),K.emittedReadable=!0,r.nextTick(Xe,B)}function Xe(B){let K=B._readableState;if(F("emitReadable_",K.destroyed,K.length,K.ended),!K.destroyed&&!K.errored&&(K.length||K.ended))B.emit("readable"),K.emittedReadable=!1;K.needReadable=!K.flowing&&!K.ended&&K.length<=K.highWaterMark,Ot(B)}function Tt(B,K){if(!K.readingMore&&K.constructed)K.readingMore=!0,r.nextTick(Rt,B,K)}function Rt(B,K){while(!K.reading&&!K.ended&&(K.length<K.highWaterMark||K.flowing&&K.length===0)){let st=K.length;if(F("maybeReadMore read 0"),B.read(0),st===K.length)break}K.readingMore=!1}tt.prototype._read=function(B){throw new l("_read()")},tt.prototype.pipe=function(B,K){let st=this,ct=this._readableState;if(ct.pipes.length===1){if(!ct.multiAwaitDrain)ct.multiAwaitDrain=!0,ct.awaitDrainWriters=new _(ct.awaitDrainWriters?[ct.awaitDrainWriters]:[])}ct.pipes.push(B),F("pipe count=%d opts=%j",ct.pipes.length,K);let Qt=(!K||K.end!==!1)&&B!==r.stdout&&B!==r.stderr?Et:ce;if(ct.endEmitted)r.nextTick(Qt);else st.once("end",Qt);B.on("unpipe",xt);function xt(De,Le){if(F("onunpipe"),De===st){if(Le&&Le.hasUnpiped===!1)Le.hasUnpiped=!0,Vt()}}function Et(){F("onend"),B.end()}let Ke,Ft=!1;function Vt(){if(F("cleanup"),B.removeListener("close",Qe),B.removeListener("finish",de),Ke)B.removeListener("drain",Ke);if(B.removeListener("error",Nt),B.removeListener("unpipe",xt),st.removeListener("end",Et),st.removeListener("end",ce),st.removeListener("data",Bt),Ft=!0,Ke&&ct.awaitDrainWriters&&(!B._writableState||B._writableState.needDrain))Ke()}function Or(){if(!Ft){if(ct.pipes.length===1&&ct.pipes[0]===B)F("false write response, pause",0),ct.awaitDrainWriters=B,ct.multiAwaitDrain=!1;else if(ct.pipes.length>1&&ct.pipes.includes(B))F("false write response, pause",ct.awaitDrainWriters.size),ct.awaitDrainWriters.add(B);st.pause()}if(!Ke)Ke=Br(st,B),B.on("drain",Ke)}st.on("data",Bt);function Bt(De){F("ondata");let Le=B.write(De);if(F("dest.write",Le),Le===!1)Or()}function Nt(De){if(F("onerror",De),ce(),B.removeListener("error",Nt),B.listenerCount("error")===0){let Le=B._writableState||B._readableState;if(Le&&!Le.errorEmitted)E(B,De);else B.emit("error",De)}}R(B,"error",Nt);function Qe(){B.removeListener("finish",de),ce()}B.once("close",Qe);function de(){F("onfinish"),B.removeListener("close",Qe),ce()}B.once("finish",de);function ce(){F("unpipe"),st.unpipe(B)}if(B.emit("pipe",st),B.writableNeedDrain===!0)Or();else if(!ct.flowing)F("pipe resume"),st.resume();return B};function Br(B,K){return function(){let st=B._readableState;if(st.awaitDrainWriters===K)F("pipeOnDrain",1),st.awaitDrainWriters=null;else if(st.multiAwaitDrain)F("pipeOnDrain",st.awaitDrainWriters.size),st.awaitDrainWriters.delete(K);if((!st.awaitDrainWriters||st.awaitDrainWriters.size===0)&&B.listenerCount("data"))B.resume()}}tt.prototype.unpipe=function(B){let K=this._readableState,st={hasUnpiped:!1};if(K.pipes.length===0)return this;if(!B){let Qt=K.pipes;K.pipes=[],this.pause();for(let xt=0;xt<Qt.length;xt++)Qt[xt].emit("unpipe",this,{hasUnpiped:!1});return this}let ct=i(K.pipes,B);if(ct===-1)return this;if(K.pipes.splice(ct,1),K.pipes.length===0)this.pause();return B.emit("unpipe",this,st),this},tt.prototype.on=function(B,K){let st=k.prototype.on.call(this,B,K),ct=this._readableState;if(B==="data"){if(ct.readableListening=this.listenerCount("readable")>0,ct.flowing!==!1)this.resume()}else if(B==="readable"){if(!ct.endEmitted&&!ct.readableListening){if(ct.readableListening=ct.needReadable=!0,ct.flowing=!1,ct.emittedReadable=!1,F("on readable",ct.length,ct.reading),ct.length)Mt(this);else if(!ct.reading)r.nextTick(Ut,this)}}return st},tt.prototype.addListener=tt.prototype.on,tt.prototype.removeListener=function(B,K){let st=k.prototype.removeListener.call(this,B,K);if(B==="readable")r.nextTick(It,this);return st},tt.prototype.off=tt.prototype.removeListener,tt.prototype.removeAllListeners=function(B){let K=k.prototype.removeAllListeners.apply(this,arguments);if(B==="readable"||B===void 0)r.nextTick(It,this);return K};function It(B){let K=B._readableState;if(K.readableListening=B.listenerCount("readable")>0,K.resumeScheduled&&K[w]===!1)K.flowing=!0;else if(B.listenerCount("data")>0)B.resume();else if(!K.readableListening)K.flowing=null}function Ut(B){F("readable nexttick read 0"),B.read(0)}tt.prototype.resume=function(){let B=this._readableState;if(!B.flowing)F("resume"),B.flowing=!B.readableListening,Ur(this,B);return B[w]=!1,this};function Ur(B,K){if(!K.resumeScheduled)K.resumeScheduled=!0,r.nextTick(qt,B,K)}function qt(B,K){if(F("resume",K.reading),!K.reading)B.read(0);if(K.resumeScheduled=!1,B.emit("resume"),Ot(B),K.flowing&&!K.reading)B.read(0)}tt.prototype.pause=function(){if(F("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1)F("pause"),this._readableState.flowing=!1,this.emit("pause");return this._readableState[w]=!0,this};function Ot(B){let K=B._readableState;F("flow",K.flowing);while(K.flowing&&B.read()!==null);}tt.prototype.wrap=function(B){let K=!1;B.on("data",(ct)=>{if(!this.push(ct)&&B.pause)K=!0,B.pause()}),B.on("end",()=>{this.push(null)}),B.on("error",(ct)=>{E(this,ct)}),B.on("close",()=>{this.destroy()}),B.on("destroy",()=>{this.destroy()}),this._read=()=>{if(K&&B.resume)K=!1,B.resume()};let st=m(B);for(let ct=1;ct<st.length;ct++){let Qt=st[ct];if(this[Qt]===void 0&&typeof B[Qt]==="function")this[Qt]=B[Qt].bind(B)}return this},tt.prototype[C]=function(){return Ir(this)},tt.prototype.iterator=function(B){if(B!==void 0)x(B,"options");return Ir(this,B)};function Ir(B,K){if(typeof B.read!=="function")B=tt.wrap(B,{objectMode:!0});let st=Ht(B,K);return st.stream=B,st}async function*Ht(B,K){let st=b;function ct(Et){if(this===B)st(),st=b;else st=Et}B.on("readable",ct);let Qt,xt=P(B,{writable:!1},(Et)=>{Qt=Et?V(Qt,Et):null,st(),st=b});try{while(!0){let Et=B.destroyed?null:B.read();if(Et!==null)yield Et;else if(Qt)throw Qt;else if(Qt===null)return;else await new y(ct)}}catch(Et){throw Qt=V(Qt,Et),Qt}finally{if((Qt||(K===null||K===void 0?void 0:K.destroyOnReturn)!==!1)&&(Qt===void 0||B._readableState.autoDestroy))lt.destroyer(B,null);else B.off("readable",ct),xt()}}h(tt.prototype,{readable:{__proto__:null,get(){let B=this._readableState;return!!B&&B.readable!==!1&&!B.destroyed&&!B.errorEmitted&&!B.endEmitted},set(B){if(this._readableState)this._readableState.readable=!!B}},readableDidRead:{__proto__:null,enumerable:!1,get:function(){return this._readableState.dataEmitted}},readableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._readableState.readable!==!1&&(this._readableState.destroyed||this._readableState.errored)&&!this._readableState.endEmitted)}},readableHighWaterMark:{__proto__:null,enumerable:!1,get:function(){return this._readableState.highWaterMark}},readableBuffer:{__proto__:null,enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}},readableFlowing:{__proto__:null,enumerable:!1,get:function(){return this._readableState.flowing},set:function(B){if(this._readableState)this._readableState.flowing=B}},readableLength:{__proto__:null,enumerable:!1,get(){return this._readableState.length}},readableObjectMode:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.objectMode:!1}},readableEncoding:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.encoding:null}},errored:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.errored:null}},closed:{__proto__:null,get(){return this._readableState?this._readableState.closed:!1}},destroyed:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.destroyed:!1},set(B){if(!this._readableState)return;this._readableState.destroyed=B}},readableEnded:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.endEmitted:!1}}}),h(jt.prototype,{pipesCount:{__proto__:null,get(){return this.pipes.length}},paused:{__proto__:null,get(){return this[w]!==!1},set(B){this[w]=!!B}}}),tt._fromList=Pt;function Pt(B,K){if(K.length===0)return null;let st;if(K.objectMode)st=K.buffer.shift();else if(!B||B>=K.length){if(K.decoder)st=K.buffer.join("");else if(K.buffer.length===1)st=K.buffer.first();else st=K.buffer.concat(K.length);K.buffer.clear()}else st=K.buffer.consume(B,K.decoder);return st}function kr(B){let K=B._readableState;if(F("endReadable",K.endEmitted),!K.endEmitted)K.ended=!0,r.nextTick($t,K,B)}function $t(B,K){if(F("endReadableNT",B.endEmitted,B.length),!B.errored&&!B.closeEmitted&&!B.endEmitted&&B.length===0){if(B.endEmitted=!0,K.emit("end"),K.writable&&K.allowHalfOpen===!1)r.nextTick(zt,K);else if(B.autoDestroy){let st=K._writableState;if(!st||st.autoDestroy&&(st.finished||st.writable===!1))K.destroy()}}}function zt(B){if(B.writable&&!B.writableEnded&&!B.destroyed)B.end()}tt.from=function(B,K){return a(tt,B,K)};var Er;function Dt(){if(Er===void 0)Er={};return Er}tt.fromWeb=function(B,K){return Dt().newStreamReadableFromReadableStream(B,K)},tt.toWeb=function(B,K){return Dt().newReadableStreamFromStreamReadable(B,K)},tt.wrap=function(B,K){var st,ct;return new tt({objectMode:(st=(ct=B.readableObjectMode)!==null&&ct!==void 0?ct:B.objectMode)!==null&&st!==void 0?st:!0,...K,destroy(Qt,xt){lt.destroyer(B,Qt),xt(Qt)}}).wrap(B)}}),kf=Ne((t,e)=>{var r=zi(),{ArrayPrototypeSlice:i,Error:n,FunctionPrototypeSymbolHasInstance:o,ObjectDefineProperty:s,ObjectDefineProperties:h,ObjectSetPrototypeOf:m,StringPrototypeToLowerCase:p,Symbol:y,SymbolHasInstance:_}=We();e.exports=x,x.WritableState=u;var{EventEmitter:v}=(zo(),ve($o)),C=Mf().Stream,{Buffer:M}=(Nr(),ve(Tr)),A=ks(),{addAbortSignal:k}=Mu(),{getHighWaterMark:R,getDefaultHighWaterMark:T}=ku(),{ERR_INVALID_ARG_TYPE:I,ERR_METHOD_NOT_IMPLEMENTED:P,ERR_MULTIPLE_CALLBACK:F,ERR_STREAM_CANNOT_PIPE:G,ERR_STREAM_DESTROYED:lt,ERR_STREAM_ALREADY_FINISHED:dt,ERR_STREAM_NULL_VALUES:ut,ERR_STREAM_WRITE_AFTER_END:V,ERR_UNKNOWN_ENCODING:nt}=Wr().codes,{errorOrDestroy:l}=A;m(x.prototype,C.prototype),m(x,C);function c(){}var d=y("kOnFinished");function u(H,W,mt){if(typeof mt!=="boolean")mt=W instanceof Zn();if(this.objectMode=!!(H&&H.objectMode),mt)this.objectMode=this.objectMode||!!(H&&H.writableObjectMode);this.highWaterMark=H?R(this,H,"writableHighWaterMark",mt):T(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;let rt=!!(H&&H.decodeStrings===!1);this.decodeStrings=!rt,this.defaultEncoding=H&&H.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=E.bind(void 0,W),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,f(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!H||H.emitClose!==!1,this.autoDestroy=!H||H.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[d]=[]}function f(H){H.buffered=[],H.bufferedIndex=0,H.allBuffers=!0,H.allNoop=!0}u.prototype.getBuffer=function(){return i(this.buffered,this.bufferedIndex)},s(u.prototype,"bufferedRequestCount",{__proto__:null,get(){return this.buffered.length-this.bufferedIndex}});function x(H){let W=this instanceof Zn();if(!W&&!o(x,this))return new x(H);if(this._writableState=new u(H,this,W),H){if(typeof H.write==="function")this._write=H.write;if(typeof H.writev==="function")this._writev=H.writev;if(typeof H.destroy==="function")this._destroy=H.destroy;if(typeof H.final==="function")this._final=H.final;if(typeof H.construct==="function")this._construct=H.construct;if(H.signal)k(H.signal,this)}C.call(this,H),A.construct(this,()=>{let mt=this._writableState;if(!mt.writing)j(this,mt);Q(this,mt)})}s(x,_,{__proto__:null,value:function(H){if(o(this,H))return!0;if(this!==x)return!1;return H&&H._writableState instanceof u}}),x.prototype.pipe=function(){l(this,new G)};function w(H,W,mt,rt){let ot=H._writableState;if(typeof mt==="function")rt=mt,mt=ot.defaultEncoding;else{if(!mt)mt=ot.defaultEncoding;else if(mt!=="buffer"&&!M.isEncoding(mt))throw new nt(mt);if(typeof rt!=="function")rt=c}if(W===null)throw new ut;else if(!ot.objectMode)if(typeof W==="string"){if(ot.decodeStrings!==!1)W=M.from(W,mt),mt="buffer"}else if(W instanceof M)mt="buffer";else if(C._isUint8Array(W))W=C._uint8ArrayToBuffer(W),mt="buffer";else throw new I("chunk",["string","Buffer","Uint8Array"],W);let Lt;if(ot.ending)Lt=new V;else if(ot.destroyed)Lt=new lt("write");if(Lt)return r.nextTick(rt,Lt),l(H,Lt,!0),Lt;return ot.pendingcb++,g(H,ot,W,mt,rt)}x.prototype.write=function(H,W,mt){return w(this,H,W,mt)===!0},x.prototype.cork=function(){this._writableState.corked++},x.prototype.uncork=function(){let H=this._writableState;if(H.corked){if(H.corked--,!H.writing)j(this,H)}},x.prototype.setDefaultEncoding=function(H){if(typeof H==="string")H=p(H);if(!M.isEncoding(H))throw new nt(H);return this._writableState.defaultEncoding=H,this};function g(H,W,mt,rt,ot){let Lt=W.objectMode?1:mt.length;W.length+=Lt;let z=W.length<W.highWaterMark;if(!z)W.needDrain=!0;if(W.writing||W.corked||W.errored||!W.constructed){if(W.buffered.push({chunk:mt,encoding:rt,callback:ot}),W.allBuffers&&rt!=="buffer")W.allBuffers=!1;if(W.allNoop&&ot!==c)W.allNoop=!1}else W.writelen=Lt,W.writecb=ot,W.writing=!0,W.sync=!0,H._write(mt,rt,W.onwrite),W.sync=!1;return z&&!W.errored&&!W.destroyed}function a(H,W,mt,rt,ot,Lt,z){if(W.writelen=rt,W.writecb=z,W.writing=!0,W.sync=!0,W.destroyed)W.onwrite(new lt("write"));else if(mt)H._writev(ot,W.onwrite);else H._write(ot,Lt,W.onwrite);W.sync=!1}function b(H,W,mt,rt){--W.pendingcb,rt(mt),q(W),l(H,mt)}function E(H,W){let mt=H._writableState,{sync:rt,writecb:ot}=mt;if(typeof ot!=="function"){l(H,new F);return}if(mt.writing=!1,mt.writecb=null,mt.length-=mt.writelen,mt.writelen=0,W){if(W.stack,!mt.errored)mt.errored=W;if(H._readableState&&!H._readableState.errored)H._readableState.errored=W;if(rt)r.nextTick(b,H,mt,W,ot);else b(H,mt,W,ot)}else{if(mt.buffered.length>mt.bufferedIndex)j(H,mt);if(rt)if(mt.afterWriteTickInfo!==null&&mt.afterWriteTickInfo.cb===ot)mt.afterWriteTickInfo.count++;else mt.afterWriteTickInfo={count:1,cb:ot,stream:H,state:mt},r.nextTick(S,mt.afterWriteTickInfo);else L(H,mt,1,ot)}}function S({stream:H,state:W,count:mt,cb:rt}){return W.afterWriteTickInfo=null,L(H,W,mt,rt)}function L(H,W,mt,rt){if(!W.ending&&!H.destroyed&&W.length===0&&W.needDrain)W.needDrain=!1,H.emit("drain");while(mt-- >0)W.pendingcb--,rt();if(W.destroyed)q(W);Q(H,W)}function q(H){if(H.writing)return;for(let ot=H.bufferedIndex;ot<H.buffered.length;++ot){var W;let{chunk:Lt,callback:z}=H.buffered[ot],Z=H.objectMode?1:Lt.length;H.length-=Z,z((W=H.errored)!==null&&W!==void 0?W:new lt("write"))}let mt=H[d].splice(0);for(let ot=0;ot<mt.length;ot++){var rt;mt[ot]((rt=H.errored)!==null&&rt!==void 0?rt:new lt("end"))}f(H)}function j(H,W){if(W.corked||W.bufferProcessing||W.destroyed||!W.constructed)return;let{buffered:mt,bufferedIndex:rt,objectMode:ot}=W,Lt=mt.length-rt;if(!Lt)return;let z=rt;if(W.bufferProcessing=!0,Lt>1&&H._writev){W.pendingcb-=Lt-1;let Z=W.allNoop?c:(tt)=>{for(let ht=z;ht<mt.length;++ht)mt[ht].callback(tt)},jt=W.allNoop&&z===0?mt:i(mt,z);jt.allBuffers=W.allBuffers,a(H,W,!0,W.length,jt,"",Z),f(W)}else{do{let{chunk:Z,encoding:jt,callback:tt}=mt[z];mt[z++]=null;let ht=ot?1:Z.length;a(H,W,!1,ht,Z,jt,tt)}while(z<mt.length&&!W.writing);if(z===mt.length)f(W);else if(z>256)mt.splice(0,z),W.bufferedIndex=0;else W.bufferedIndex=z}W.bufferProcessing=!1}x.prototype._write=function(H,W,mt){if(this._writev)this._writev([{chunk:H,encoding:W}],mt);else throw new P("_write()")},x.prototype._writev=null,x.prototype.end=function(H,W,mt){let rt=this._writableState;if(typeof H==="function")mt=H,H=null,W=null;else if(typeof W==="function")mt=W,W=null;let ot;if(H!==null&&H!==void 0){let Lt=w(this,H,W);if(Lt instanceof n)ot=Lt}if(rt.corked)rt.corked=1,this.uncork();if(ot);else if(!rt.errored&&!rt.ending)rt.ending=!0,Q(this,rt,!0),rt.ended=!0;else if(rt.finished)ot=new dt("end");else if(rt.destroyed)ot=new lt("end");if(typeof mt==="function")if(ot||rt.finished)r.nextTick(mt,ot);else rt[d].push(mt);return this};function X(H){return H.ending&&!H.destroyed&&H.constructed&&H.length===0&&!H.errored&&H.buffered.length===0&&!H.finished&&!H.writing&&!H.errorEmitted&&!H.closeEmitted}function bt(H,W){let mt=!1;function rt(ot){if(mt){l(H,ot!==null&&ot!==void 0?ot:F());return}if(mt=!0,W.pendingcb--,ot){let Lt=W[d].splice(0);for(let z=0;z<Lt.length;z++)Lt[z](ot);l(H,ot,W.sync)}else if(X(W))W.prefinished=!0,H.emit("prefinish"),W.pendingcb++,r.nextTick(pt,H,W)}W.sync=!0,W.pendingcb++;try{H._final(rt)}catch(ot){rt(ot)}W.sync=!1}function it(H,W){if(!W.prefinished&&!W.finalCalled)if(typeof H._final==="function"&&!W.destroyed)W.finalCalled=!0,bt(H,W);else W.prefinished=!0,H.emit("prefinish")}function Q(H,W,mt){if(X(W)){if(it(H,W),W.pendingcb===0){if(mt)W.pendingcb++,r.nextTick((rt,ot)=>{if(X(ot))pt(rt,ot);else ot.pendingcb--},H,W);else if(X(W))W.pendingcb++,pt(H,W)}}}function pt(H,W){W.pendingcb--,W.finished=!0;let mt=W[d].splice(0);for(let rt=0;rt<mt.length;rt++)mt[rt]();if(H.emit("finish"),W.autoDestroy){let rt=H._readableState;if(!rt||rt.autoDestroy&&(rt.endEmitted||rt.readable===!1))H.destroy()}}h(x.prototype,{closed:{__proto__:null,get(){return this._writableState?this._writableState.closed:!1}},destroyed:{__proto__:null,get(){return this._writableState?this._writableState.destroyed:!1},set(H){if(this._writableState)this._writableState.destroyed=H}},writable:{__proto__:null,get(){let H=this._writableState;return!!H&&H.writable!==!1&&!H.destroyed&&!H.errored&&!H.ending&&!H.ended},set(H){if(this._writableState)this._writableState.writable=!!H}},writableFinished:{__proto__:null,get(){return this._writableState?this._writableState.finished:!1}},writableObjectMode:{__proto__:null,get(){return this._writableState?this._writableState.objectMode:!1}},writableBuffer:{__proto__:null,get(){return this._writableState&&this._writableState.getBuffer()}},writableEnded:{__proto__:null,get(){return this._writableState?this._writableState.ending:!1}},writableNeedDrain:{__proto__:null,get(){let H=this._writableState;if(!H)return!1;return!H.destroyed&&!H.ending&&H.needDrain}},writableHighWaterMark:{__proto__:null,get(){return this._writableState&&this._writableState.highWaterMark}},writableCorked:{__proto__:null,get(){return this._writableState?this._writableState.corked:0}},writableLength:{__proto__:null,get(){return this._writableState&&this._writableState.length}},errored:{__proto__:null,enumerable:!1,get(){return this._writableState?this._writableState.errored:null}},writableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._writableState.writable!==!1&&(this._writableState.destroyed||this._writableState.errored)&&!this._writableState.finished)}}});var J=A.destroy;x.prototype.destroy=function(H,W){let mt=this._writableState;if(!mt.destroyed&&(mt.bufferedIndex<mt.buffered.length||mt[d].length))r.nextTick(q,mt);return J.call(this,H,W),this},x.prototype._undestroy=A.undestroy,x.prototype._destroy=function(H,W){W(H)},x.prototype[v.captureRejectionSymbol]=function(H){this.destroy(H)};var at;function Kt(){if(at===void 0)at={};return at}x.fromWeb=function(H,W){return Kt().newStreamWritableFromWritableStream(H,W)},x.toWeb=function(H){return Kt().newWritableStreamFromStreamWritable(H)}}),U3=Ne((t,e)=>{var r=zi(),i=(Nr(),ve(Tr)),{isReadable:n,isWritable:o,isIterable:s,isNodeStream:h,isReadableNodeStream:m,isWritableNodeStream:p,isDuplexNodeStream:y,isReadableStream:_,isWritableStream:v}=Xn(),C=mi(),{AbortError:M,codes:{ERR_INVALID_ARG_TYPE:A,ERR_INVALID_RETURN_VALUE:k}}=Wr(),{destroyer:R}=ks(),T=Zn(),I=Eu(),P=kf(),{createDeferredPromise:F}=Xr(),G=Cg(),lt=globalThis.Blob||i.Blob,dt=typeof lt<"u"?function(d){return d instanceof lt}:function(d){return!1},ut=globalThis.AbortController||Vo().AbortController,{FunctionPrototypeCall:V}=We();class nt extends T{constructor(d){super(d);if((d===null||d===void 0?void 0:d.readable)===!1)this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0;if((d===null||d===void 0?void 0:d.writable)===!1)this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0}}e.exports=function d(u,f){if(y(u))return u;if(m(u))return c({readable:u});if(p(u))return c({writable:u});if(h(u))return c({writable:!1,readable:!1});if(_(u))return c({readable:I.fromWeb(u)});if(v(u))return c({writable:P.fromWeb(u)});if(typeof u==="function"){let{value:w,write:g,final:a,destroy:b}=l(u);if(s(w))return G(nt,w,{objectMode:!0,write:g,final:a,destroy:b});let E=w===null||w===void 0?void 0:w.then;if(typeof E==="function"){let S,L=V(E,w,(q)=>{if(q!=null)throw new k("nully","body",q)},(q)=>{R(S,q)});return S=new nt({objectMode:!0,readable:!1,write:g,final(q){a(async()=>{try{await L,r.nextTick(q,null)}catch(j){r.nextTick(q,j)}})},destroy:b})}throw new k("Iterable, AsyncIterable or AsyncFunction",f,w)}if(dt(u))return d(u.arrayBuffer());if(s(u))return G(nt,u,{objectMode:!0,writable:!1});if(_(u===null||u===void 0?void 0:u.readable)&&v(u===null||u===void 0?void 0:u.writable))return nt.fromWeb(u);if(typeof(u===null||u===void 0?void 0:u.writable)==="object"||typeof(u===null||u===void 0?void 0:u.readable)==="object"){let w=u!==null&&u!==void 0&&u.readable?m(u===null||u===void 0?void 0:u.readable)?u===null||u===void 0?void 0:u.readable:d(u.readable):void 0,g=u!==null&&u!==void 0&&u.writable?p(u===null||u===void 0?void 0:u.writable)?u===null||u===void 0?void 0:u.writable:d(u.writable):void 0;return c({readable:w,writable:g})}let x=u===null||u===void 0?void 0:u.then;if(typeof x==="function"){let w;return V(x,u,(g)=>{if(g!=null)w.push(g);w.push(null)},(g)=>{R(w,g)}),w=new nt({objectMode:!0,writable:!1,read(){}})}throw new A(f,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],u)};function l(d){let{promise:u,resolve:f}=F(),x=new ut,w=x.signal;return{value:d(async function*(){while(!0){let g=u;u=null;let{chunk:a,done:b,cb:E}=await g;if(r.nextTick(E),b)return;if(w.aborted)throw new M(void 0,{cause:w.reason});({promise:u,resolve:f}=F()),yield a}}(),{signal:w}),write(g,a,b){let E=f;f=null,E({chunk:g,done:!1,cb:b})},final(g){let a=f;f=null,a({done:!0,cb:g})},destroy(g,a){x.abort(),a(g)}}}function c(d){let u=d.readable&&typeof d.readable.read!=="function"?I.wrap(d.readable):d.readable,f=d.writable,x=!!n(u),w=!!o(f),g,a,b,E,S;function L(q){let j=E;if(E=null,j)j(q);else if(q)S.destroy(q)}if(S=new nt({readableObjectMode:!!(u!==null&&u!==void 0&&u.readableObjectMode),writableObjectMode:!!(f!==null&&f!==void 0&&f.writableObjectMode),readable:x,writable:w}),w)C(f,(q)=>{if(w=!1,q)R(u,q);L(q)}),S._write=function(q,j,X){if(f.write(q,j))X();else g=X},S._final=function(q){f.end(),a=q},f.on("drain",function(){if(g){let q=g;g=null,q()}}),f.on("finish",function(){if(a){let q=a;a=null,q()}});if(x)C(u,(q)=>{if(x=!1,q)R(u,q);L(q)}),u.on("readable",function(){if(b){let q=b;b=null,q()}}),u.on("end",function(){S.push(null)}),S._read=function(){while(!0){let q=u.read();if(q===null){b=S._read;return}if(!S.push(q))return}};return S._destroy=function(q,j){if(!q&&E!==null)q=new M;if(b=null,g=null,a=null,E===null)j(q);else E=j,R(f,q),R(u,q)},S}}),Zn=Ne((t,e)=>{var{ObjectDefineProperties:r,ObjectGetOwnPropertyDescriptor:i,ObjectKeys:n,ObjectSetPrototypeOf:o}=We();e.exports=m;var s=Eu(),h=kf();o(m.prototype,s.prototype),o(m,s);{let v=n(h.prototype);for(let C=0;C<v.length;C++){let M=v[C];if(!m.prototype[M])m.prototype[M]=h.prototype[M]}}function m(v){if(!(this instanceof m))return new m(v);if(s.call(this,v),h.call(this,v),v){if(this.allowHalfOpen=v.allowHalfOpen!==!1,v.readable===!1)this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0;if(v.writable===!1)this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0}else this.allowHalfOpen=!0}r(m.prototype,{writable:{__proto__:null,...i(h.prototype,"writable")},writableHighWaterMark:{__proto__:null,...i(h.prototype,"writableHighWaterMark")},writableObjectMode:{__proto__:null,...i(h.prototype,"writableObjectMode")},writableBuffer:{__proto__:null,...i(h.prototype,"writableBuffer")},writableLength:{__proto__:null,...i(h.prototype,"writableLength")},writableFinished:{__proto__:null,...i(h.prototype,"writableFinished")},writableCorked:{__proto__:null,...i(h.prototype,"writableCorked")},writableEnded:{__proto__:null,...i(h.prototype,"writableEnded")},writableNeedDrain:{__proto__:null,...i(h.prototype,"writableNeedDrain")},destroyed:{__proto__:null,get(){if(this._readableState===void 0||this._writableState===void 0)return!1;return this._readableState.destroyed&&this._writableState.destroyed},set(v){if(this._readableState&&this._writableState)this._readableState.destroyed=v,this._writableState.destroyed=v}}});var p;function y(){if(p===void 0)p={};return p}m.fromWeb=function(v,C){return y().newStreamDuplexFromReadableWritablePair(v,C)},m.toWeb=function(v){return y().newReadableWritablePairFromDuplex(v)};var _;m.from=function(v){if(!_)_=U3();return _(v,"body")}}),Mg=Ne((t,e)=>{var{ObjectSetPrototypeOf:r,Symbol:i}=We();e.exports=m;var{ERR_METHOD_NOT_IMPLEMENTED:n}=Wr().codes,o=Zn(),{getHighWaterMark:s}=ku();r(m.prototype,o.prototype),r(m,o);var h=i("kCallback");function m(_){if(!(this instanceof m))return new m(_);let v=_?s(this,_,"readableHighWaterMark",!0):null;if(v===0)_={..._,highWaterMark:null,readableHighWaterMark:v,writableHighWaterMark:_.writableHighWaterMark||0};if(o.call(this,_),this._readableState.sync=!1,this[h]=null,_){if(typeof _.transform==="function")this._transform=_.transform;if(typeof _.flush==="function")this._flush=_.flush}this.on("prefinish",y)}function p(_){if(typeof this._flush==="function"&&!this.destroyed)this._flush((v,C)=>{if(v){if(_)_(v);else this.destroy(v);return}if(C!=null)this.push(C);if(this.push(null),_)_()});else if(this.push(null),_)_()}function y(){if(this._final!==p)p.call(this)}m.prototype._final=p,m.prototype._transform=function(_,v,C){throw new n("_transform()")},m.prototype._write=function(_,v,C){let M=this._readableState,A=this._writableState,k=M.length;this._transform(_,v,(R,T)=>{if(R){C(R);return}if(T!=null)this.push(T);if(A.ended||k===M.length||M.length<M.highWaterMark)C();else this[h]=C})},m.prototype._read=function(){if(this[h]){let _=this[h];this[h]=null,_()}}}),kg=Ne((t,e)=>{var{ObjectSetPrototypeOf:r}=We();e.exports=n;var i=Mg();r(n.prototype,i.prototype),r(n,i);function n(o){if(!(this instanceof n))return new n(o);i.call(this,o)}n.prototype._transform=function(o,s,h){h(null,o)}}),Ef=Ne((t,e)=>{var r=zi(),{ArrayIsArray:i,Promise:n,SymbolAsyncIterator:o,SymbolDispose:s}=We(),h=mi(),{once:m}=Xr(),p=ks(),y=Zn(),{aggregateTwoErrors:_,codes:{ERR_INVALID_ARG_TYPE:v,ERR_INVALID_RETURN_VALUE:C,ERR_MISSING_ARGS:M,ERR_STREAM_DESTROYED:A,ERR_STREAM_PREMATURE_CLOSE:k},AbortError:R}=Wr(),{validateFunction:T,validateAbortSignal:I}=jo(),{isIterable:P,isReadable:F,isReadableNodeStream:G,isNodeStream:lt,isTransformStream:dt,isWebStream:ut,isReadableStream:V,isReadableFinished:nt}=Xn(),l=globalThis.AbortController||Vo().AbortController,c,d,u;function f(q,j,X){let bt=!1;q.on("close",()=>{bt=!0});let it=h(q,{readable:j,writable:X},(Q)=>{bt=!Q});return{destroy:(Q)=>{if(bt)return;bt=!0,p.destroyer(q,Q||new A("pipe"))},cleanup:it}}function x(q){return T(q[q.length-1],"streams[stream.length - 1]"),q.pop()}function w(q){if(P(q))return q;else if(G(q))return g(q);throw new v("val",["Readable","Iterable","AsyncIterable"],q)}async function*g(q){if(!d)d=Eu();yield*d.prototype[o].call(q)}async function a(q,j,X,{end:bt}){let it,Q=null,pt=(Kt)=>{if(Kt)it=Kt;if(Q){let H=Q;Q=null,H()}},J=()=>new n((Kt,H)=>{if(it)H(it);else Q=()=>{if(it)H(it);else Kt()}});j.on("drain",pt);let at=h(j,{readable:!1},pt);try{if(j.writableNeedDrain)await J();for await(let Kt of q)if(!j.write(Kt))await J();if(bt)j.end(),await J();X()}catch(Kt){X(it!==Kt?_(it,Kt):Kt)}finally{at(),j.off("drain",pt)}}async function b(q,j,X,{end:bt}){if(dt(j))j=j.writable;let it=j.getWriter();try{for await(let Q of q)await it.ready,it.write(Q).catch(()=>{});if(await it.ready,bt)await it.close();X()}catch(Q){try{await it.abort(Q),X(Q)}catch(pt){X(pt)}}}function E(...q){return S(q,m(x(q)))}function S(q,j,X){if(q.length===1&&i(q[0]))q=q[0];if(q.length<2)throw new M("streams");let bt=new l,it=bt.signal,Q=X===null||X===void 0?void 0:X.signal,pt=[];I(Q,"options.signal");function J(){ot(new R)}u=u||Xr().addAbortListener;let at;if(Q)at=u(Q,J);let Kt,H,W=[],mt=0;function rt(tt){ot(tt,--mt===0)}function ot(tt,ht){var ae;if(tt&&(!Kt||Kt.code==="ERR_STREAM_PREMATURE_CLOSE"))Kt=tt;if(!Kt&&!ht)return;while(W.length)W.shift()(Kt);if((ae=at)===null||ae===void 0||ae[s](),bt.abort(),ht){if(!Kt)pt.forEach((wt)=>wt());r.nextTick(j,Kt,H)}}let Lt;for(let tt=0;tt<q.length;tt++){let ht=q[tt],ae=tt<q.length-1,wt=tt>0,vt=ae||(X===null||X===void 0?void 0:X.end)!==!1,Ge=tt===q.length-1;if(lt(ht)){let yt=function(Mt){if(Mt&&Mt.name!=="AbortError"&&Mt.code!=="ERR_STREAM_PREMATURE_CLOSE")rt(Mt)};var z=yt;if(vt){let{destroy:Mt,cleanup:Xe}=f(ht,ae,wt);if(W.push(Mt),F(ht)&&Ge)pt.push(Xe)}if(ht.on("error",yt),F(ht)&&Ge)pt.push(()=>{ht.removeListener("error",yt)})}if(tt===0)if(typeof ht==="function"){if(Lt=ht({signal:it}),!P(Lt))throw new C("Iterable, AsyncIterable or Stream","source",Lt)}else if(P(ht)||G(ht)||dt(ht))Lt=ht;else Lt=y.from(ht);else if(typeof ht==="function"){if(dt(Lt)){var Z;Lt=w((Z=Lt)===null||Z===void 0?void 0:Z.readable)}else Lt=w(Lt);if(Lt=ht(Lt,{signal:it}),ae){if(!P(Lt,!0))throw new C("AsyncIterable",`transform[${tt-1}]`,Lt)}else{var jt;if(!c)c=kg();let yt=new c({objectMode:!0}),Mt=(jt=Lt)===null||jt===void 0?void 0:jt.then;if(typeof Mt==="function")mt++,Mt.call(Lt,(Rt)=>{if(H=Rt,Rt!=null)yt.write(Rt);if(vt)yt.end();r.nextTick(rt)},(Rt)=>{yt.destroy(Rt),r.nextTick(rt,Rt)});else if(P(Lt,!0))mt++,a(Lt,yt,rt,{end:vt});else if(V(Lt)||dt(Lt)){let Rt=Lt.readable||Lt;mt++,a(Rt,yt,rt,{end:vt})}else throw new C("AsyncIterable or Promise","destination",Lt);Lt=yt;let{destroy:Xe,cleanup:Tt}=f(Lt,!1,!0);if(W.push(Xe),Ge)pt.push(Tt)}}else if(lt(ht)){if(G(Lt)){mt+=2;let yt=L(Lt,ht,rt,{end:vt});if(F(ht)&&Ge)pt.push(yt)}else if(dt(Lt)||V(Lt)){let yt=Lt.readable||Lt;mt++,a(yt,ht,rt,{end:vt})}else if(P(Lt))mt++,a(Lt,ht,rt,{end:vt});else throw new v("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],Lt);Lt=ht}else if(ut(ht)){if(G(Lt))mt++,b(w(Lt),ht,rt,{end:vt});else if(V(Lt)||P(Lt))mt++,b(Lt,ht,rt,{end:vt});else if(dt(Lt))mt++,b(Lt.readable,ht,rt,{end:vt});else throw new v("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],Lt);Lt=ht}else Lt=y.from(ht)}if(it!==null&&it!==void 0&&it.aborted||Q!==null&&Q!==void 0&&Q.aborted)r.nextTick(J);return Lt}function L(q,j,X,{end:bt}){let it=!1;if(j.on("close",()=>{if(!it)X(new k)}),q.pipe(j,{end:!1}),bt){let pt=function(){it=!0,j.end()};var Q=pt;if(nt(q))r.nextTick(pt);else q.once("end",pt)}else X();return h(q,{readable:!0,writable:!1},(pt)=>{let J=q._readableState;if(pt&&pt.code==="ERR_STREAM_PREMATURE_CLOSE"&&J&&J.ended&&!J.errored&&!J.errorEmitted)q.once("end",X).once("error",X);else X(pt)}),h(j,{readable:!1,writable:!0},X)}e.exports={pipelineImpl:S,pipeline:E}}),Eg=Ne((t,e)=>{var{pipeline:r}=Ef(),i=Zn(),{destroyer:n}=ks(),{isNodeStream:o,isReadable:s,isWritable:h,isWebStream:m,isTransformStream:p,isWritableStream:y,isReadableStream:_}=Xn(),{AbortError:v,codes:{ERR_INVALID_ARG_VALUE:C,ERR_MISSING_ARGS:M}}=Wr(),A=mi();e.exports=function(...k){if(k.length===0)throw new M("streams");if(k.length===1)return i.from(k[0]);let R=[...k];if(typeof k[0]==="function")k[0]=i.from(k[0]);if(typeof k[k.length-1]==="function"){let l=k.length-1;k[l]=i.from(k[l])}for(let l=0;l<k.length;++l){if(!o(k[l])&&!m(k[l]))continue;if(l<k.length-1&&!(s(k[l])||_(k[l])||p(k[l])))throw new C(`streams[${l}]`,R[l],"must be readable");if(l>0&&!(h(k[l])||y(k[l])||p(k[l])))throw new C(`streams[${l}]`,R[l],"must be writable")}let T,I,P,F,G;function lt(l){let c=F;if(F=null,c)c(l);else if(l)G.destroy(l);else if(!nt&&!V)G.destroy()}let dt=k[0],ut=r(k,lt),V=!!(h(dt)||y(dt)||p(dt)),nt=!!(s(ut)||_(ut)||p(ut));if(G=new i({writableObjectMode:!!(dt!==null&&dt!==void 0&&dt.writableObjectMode),readableObjectMode:!!(ut!==null&&ut!==void 0&&ut.readableObjectMode),writable:V,readable:nt}),V){if(o(dt))G._write=function(c,d,u){if(dt.write(c,d))u();else T=u},G._final=function(c){dt.end(),I=c},dt.on("drain",function(){if(T){let c=T;T=null,c()}});else if(m(dt)){let c=(p(dt)?dt.writable:dt).getWriter();G._write=async function(d,u,f){try{await c.ready,c.write(d).catch(()=>{}),f()}catch(x){f(x)}},G._final=async function(d){try{await c.ready,c.close().catch(()=>{}),I=d}catch(u){d(u)}}}let l=p(ut)?ut.readable:ut;A(l,()=>{if(I){let c=I;I=null,c()}})}if(nt){if(o(ut))ut.on("readable",function(){if(P){let l=P;P=null,l()}}),ut.on("end",function(){G.push(null)}),G._read=function(){while(!0){let l=ut.read();if(l===null){P=G._read;return}if(!G.push(l))return}};else if(m(ut)){let l=(p(ut)?ut.readable:ut).getReader();G._read=async function(){while(!0)try{let{value:c,done:d}=await l.read();if(!G.push(c))return;if(d){G.push(null);return}}catch{return}}}}return G._destroy=function(l,c){if(!l&&F!==null)l=new v;if(P=null,T=null,I=null,F===null)c(l);else if(F=c,o(ut))n(ut,l)},G}}),q3=Ne((t,e)=>{var r=globalThis.AbortController||Vo().AbortController,{codes:{ERR_INVALID_ARG_VALUE:i,ERR_INVALID_ARG_TYPE:n,ERR_MISSING_ARGS:o,ERR_OUT_OF_RANGE:s},AbortError:h}=Wr(),{validateAbortSignal:m,validateInteger:p,validateObject:y}=jo(),_=We().Symbol("kWeak"),v=We().Symbol("kResistStopPropagation"),{finished:C}=mi(),M=Eg(),{addAbortSignalNoValidate:A}=Mu(),{isWritable:k,isNodeStream:R}=Xn(),{deprecate:T}=Xr(),{ArrayPrototypePush:I,Boolean:P,MathFloor:F,Number:G,NumberIsNaN:lt,Promise:dt,PromiseReject:ut,PromiseResolve:V,PromisePrototypeThen:nt,Symbol:l}=We(),c=l("kEmpty"),d=l("kEof");function u(Q,pt){if(pt!=null)y(pt,"options");if((pt===null||pt===void 0?void 0:pt.signal)!=null)m(pt.signal,"options.signal");if(R(Q)&&!k(Q))throw new i("stream",Q,"must be writable");let J=M(this,Q);if(pt!==null&&pt!==void 0&&pt.signal)A(pt.signal,J);return J}function f(Q,pt){if(typeof Q!=="function")throw new n("fn",["Function","AsyncFunction"],Q);if(pt!=null)y(pt,"options");if((pt===null||pt===void 0?void 0:pt.signal)!=null)m(pt.signal,"options.signal");let J=1;if((pt===null||pt===void 0?void 0:pt.concurrency)!=null)J=F(pt.concurrency);let at=J-1;if((pt===null||pt===void 0?void 0:pt.highWaterMark)!=null)at=F(pt.highWaterMark);return p(J,"options.concurrency",1),p(at,"options.highWaterMark",0),at+=J,async function*(){let Kt=Xr().AbortSignalAny([pt===null||pt===void 0?void 0:pt.signal].filter(P)),H=this,W=[],mt={signal:Kt},rt,ot,Lt=!1,z=0;function Z(){Lt=!0,jt()}function jt(){z-=1,tt()}function tt(){if(ot&&!Lt&&z<J&&W.length<at)ot(),ot=null}async function ht(){try{for await(let ae of H){if(Lt)return;if(Kt.aborted)throw new h;try{if(ae=Q(ae,mt),ae===c)continue;ae=V(ae)}catch(wt){ae=ut(wt)}if(z+=1,nt(ae,jt,Z),W.push(ae),rt)rt(),rt=null;if(!Lt&&(W.length>=at||z>=J))await new dt((wt)=>{ot=wt})}W.push(d)}catch(ae){let wt=ut(ae);nt(wt,jt,Z),W.push(wt)}finally{if(Lt=!0,rt)rt(),rt=null}}ht();try{while(!0){while(W.length>0){let ae=await W[0];if(ae===d)return;if(Kt.aborted)throw new h;if(ae!==c)yield ae;W.shift(),tt()}await new dt((ae)=>{rt=ae})}}finally{if(Lt=!0,ot)ot(),ot=null}}.call(this)}function x(Q=void 0){if(Q!=null)y(Q,"options");if((Q===null||Q===void 0?void 0:Q.signal)!=null)m(Q.signal,"options.signal");return async function*(){let pt=0;for await(let at of this){var J;if(Q!==null&&Q!==void 0&&(J=Q.signal)!==null&&J!==void 0&&J.aborted)throw new h({cause:Q.signal.reason});yield[pt++,at]}}.call(this)}async function w(Q,pt=void 0){for await(let J of E.call(this,Q,pt))return!0;return!1}async function g(Q,pt=void 0){if(typeof Q!=="function")throw new n("fn",["Function","AsyncFunction"],Q);return!await w.call(this,async(...J)=>!await Q(...J),pt)}async function a(Q,pt){for await(let J of E.call(this,Q,pt))return J;return}async function b(Q,pt){if(typeof Q!=="function")throw new n("fn",["Function","AsyncFunction"],Q);async function J(at,Kt){return await Q(at,Kt),c}for await(let at of f.call(this,J,pt));}function E(Q,pt){if(typeof Q!=="function")throw new n("fn",["Function","AsyncFunction"],Q);async function J(at,Kt){if(await Q(at,Kt))return at;return c}return f.call(this,J,pt)}class S extends o{constructor(){super("reduce");this.message="Reduce of an empty stream requires an initial value"}}async function L(Q,pt,J){var at;if(typeof Q!=="function")throw new n("reducer",["Function","AsyncFunction"],Q);if(J!=null)y(J,"options");if((J===null||J===void 0?void 0:J.signal)!=null)m(J.signal,"options.signal");let Kt=arguments.length>1;if(J!==null&&J!==void 0&&(at=J.signal)!==null&&at!==void 0&&at.aborted){let ot=new h(void 0,{cause:J.signal.reason});throw this.once("error",()=>{}),await C(this.destroy(ot)),ot}let H=new r,W=H.signal;if(J!==null&&J!==void 0&&J.signal){let ot={once:!0,[_]:this,[v]:!0};J.signal.addEventListener("abort",()=>H.abort(),ot)}let mt=!1;try{for await(let ot of this){var rt;if(mt=!0,J!==null&&J!==void 0&&(rt=J.signal)!==null&&rt!==void 0&&rt.aborted)throw new h;if(!Kt)pt=ot,Kt=!0;else pt=await Q(pt,ot,{signal:W})}if(!mt&&!Kt)throw new S}finally{H.abort()}return pt}async function q(Q){if(Q!=null)y(Q,"options");if((Q===null||Q===void 0?void 0:Q.signal)!=null)m(Q.signal,"options.signal");let pt=[];for await(let at of this){var J;if(Q!==null&&Q!==void 0&&(J=Q.signal)!==null&&J!==void 0&&J.aborted)throw new h(void 0,{cause:Q.signal.reason});I(pt,at)}return pt}function j(Q,pt){let J=f.call(this,Q,pt);return async function*(){for await(let at of J)yield*at}.call(this)}function X(Q){if(Q=G(Q),lt(Q))return 0;if(Q<0)throw new s("number",">= 0",Q);return Q}function bt(Q,pt=void 0){if(pt!=null)y(pt,"options");if((pt===null||pt===void 0?void 0:pt.signal)!=null)m(pt.signal,"options.signal");return Q=X(Q),async function*(){var J;if(pt!==null&&pt!==void 0&&(J=pt.signal)!==null&&J!==void 0&&J.aborted)throw new h;for await(let Kt of this){var at;if(pt!==null&&pt!==void 0&&(at=pt.signal)!==null&&at!==void 0&&at.aborted)throw new h;if(Q--<=0)yield Kt}}.call(this)}function it(Q,pt=void 0){if(pt!=null)y(pt,"options");if((pt===null||pt===void 0?void 0:pt.signal)!=null)m(pt.signal,"options.signal");return Q=X(Q),async function*(){var J;if(pt!==null&&pt!==void 0&&(J=pt.signal)!==null&&J!==void 0&&J.aborted)throw new h;for await(let Kt of this){var at;if(pt!==null&&pt!==void 0&&(at=pt.signal)!==null&&at!==void 0&&at.aborted)throw new h;if(Q-- >0)yield Kt;if(Q<=0)return}}.call(this)}e.exports.streamReturningOperators={asIndexedPairs:T(x,"readable.asIndexedPairs will be removed in a future version."),drop:bt,filter:E,flatMap:j,map:f,take:it,compose:u},e.exports.promiseReturningOperators={every:g,forEach:b,reduce:L,toArray:q,some:w,find:a}}),Rg=Ne((t,e)=>{var{ArrayPrototypePop:r,Promise:i}=We(),{isIterable:n,isNodeStream:o,isWebStream:s}=Xn(),{pipelineImpl:h}=Ef(),{finished:m}=mi();Ag();function p(...y){return new i((_,v)=>{let C,M,A=y[y.length-1];if(A&&typeof A==="object"&&!o(A)&&!n(A)&&!s(A)){let k=r(y);C=k.signal,M=k.end}h(y,(k,R)=>{if(k)v(k);else _(R)},{signal:C,end:M})})}e.exports={finished:m,pipeline:p}}),Ag=Ne((t,e)=>{var{Buffer:r}=(Nr(),ve(Tr)),{ObjectDefineProperty:i,ObjectKeys:n,ReflectApply:o}=We(),{promisify:{custom:s}}=Xr(),{streamReturningOperators:h,promiseReturningOperators:m}=q3(),{codes:{ERR_ILLEGAL_CONSTRUCTOR:p}}=Wr(),y=Eg(),{setDefaultHighWaterMark:_,getDefaultHighWaterMark:v}=ku(),{pipeline:C}=Ef(),{destroyer:M}=ks(),A=mi(),k=Rg(),R=Xn(),T=e.exports=Mf().Stream;T.isDestroyed=R.isDestroyed,T.isDisturbed=R.isDisturbed,T.isErrored=R.isErrored,T.isReadable=R.isReadable,T.isWritable=R.isWritable,T.Readable=Eu();for(let P of n(h)){let F=function(...lt){if(new.target)throw p();return T.Readable.from(o(G,this,lt))},G=h[P];i(F,"name",{__proto__:null,value:G.name}),i(F,"length",{__proto__:null,value:G.length}),i(T.Readable.prototype,P,{__proto__:null,value:F,enumerable:!1,configurable:!0,writable:!0})}for(let P of n(m)){let F=function(...lt){if(new.target)throw p();return o(G,this,lt)},G=m[P];i(F,"name",{__proto__:null,value:G.name}),i(F,"length",{__proto__:null,value:G.length}),i(T.Readable.prototype,P,{__proto__:null,value:F,enumerable:!1,configurable:!0,writable:!0})}T.Writable=kf(),T.Duplex=Zn(),T.Transform=Mg(),T.PassThrough=kg(),T.pipeline=C;var{addAbortSignal:I}=Mu();T.addAbortSignal=I,T.finished=A,T.destroy=M,T.compose=y,T.setDefaultHighWaterMark=_,T.getDefaultHighWaterMark=v,i(T,"promises",{__proto__:null,configurable:!0,enumerable:!0,get(){return k}}),i(C,s,{__proto__:null,enumerable:!0,get(){return k.pipeline}}),i(A,s,{__proto__:null,enumerable:!0,get(){return k.finished}}),T.Stream=T,T._isUint8Array=function(P){return P instanceof Uint8Array},T._uint8ArrayToBuffer=function(P){return r.from(P.buffer,P.byteOffset,P.byteLength)}}),H3=Ne((t,e)=>{var r=Rf();{let i=Ag(),n=Rg(),o=i.Readable.destroy;e.exports=i.Readable,e.exports._uint8ArrayToBuffer=i._uint8ArrayToBuffer,e.exports._isUint8Array=i._isUint8Array,e.exports.isDisturbed=i.isDisturbed,e.exports.isErrored=i.isErrored,e.exports.isReadable=i.isReadable,e.exports.Readable=i.Readable,e.exports.Writable=i.Writable,e.exports.Duplex=i.Duplex,e.exports.Transform=i.Transform,e.exports.PassThrough=i.PassThrough,e.exports.addAbortSignal=i.addAbortSignal,e.exports.finished=i.finished,e.exports.destroy=i.destroy,e.exports.destroy=o,e.exports.pipeline=i.pipeline,e.exports.compose=i.compose,Object.defineProperty(i,"promises",{configurable:!0,enumerable:!0,get(){return n}}),e.exports.Stream=i.Stream}e.exports.default=e.exports});Tg.exports=H3()});var hn={};hl(hn,{Cipher:()=>F4,Cipheriv:()=>U4,DEFAULT_ENCODING:()=>h8,Decipher:()=>H4,Decipheriv:()=>z4,DiffieHellman:()=>Z4,DiffieHellmanGroup:()=>G4,Hash:()=>N4,Hmac:()=>L4,Sign:()=>J4,Verify:()=>e8,constants:()=>c8,createCipher:()=>B4,createCipheriv:()=>q4,createCredentials:()=>u8,createDecipher:()=>$4,createDecipheriv:()=>V4,createDiffieHellman:()=>Y4,createDiffieHellmanGroup:()=>K4,createECDH:()=>r8,createHash:()=>Uf,createHmac:()=>I4,createSign:()=>X4,createVerify:()=>t8,default:()=>_8,getCiphers:()=>j4,getCurves:()=>m8,getDiffieHellman:()=>Q4,getHashes:()=>O4,getRandomValues:()=>f8,listCiphers:()=>W4,pbkdf2:()=>P4,pbkdf2Sync:()=>D4,privateDecrypt:()=>o8,privateEncrypt:()=>i8,prng:()=>E4,pseudoRandomBytes:()=>R4,publicDecrypt:()=>s8,publicEncrypt:()=>n8,randomBytes:()=>T4,randomFill:()=>l8,randomFillSync:()=>a8,randomUUID:()=>d8,rng:()=>A4,webcrypto:()=>g8});function W3(t){return this[t]}function m8(){return p8}var $3,z3,Ng,V3,j3,G3,K3,Q3=(t,e,r)=>{var i=t!=null&&typeof t==="object";if(i){var n=e?G3??=new WeakMap:K3??=new WeakMap,o=n.get(t);if(o)return o}r=t!=null?$3(z3(t)):{};let s=e||!t||!t.__esModule?Ng(r,"default",{value:t,enumerable:!0}):r;for(let h of V3(t))if(!j3.call(s,h))Ng(s,h,{get:W3.bind(t,h),enumerable:!0});if(i)n.set(t,s);return s},gt=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ru,Au,Ig,Y3,Tf,Nf,Gr,Z3,Go,Og,X3,J3,tx,ex,Pg,rx,nx,ix,sx,ox,lx,ax,ux,cx,hx,Ko,Tu,Dg,fx,Fg,Bg,dx,Qo,Lf,If,px,Ug,Of,mx,qg,gx,Hg,$g,_x,bx,yx,xx,wx,vx,Sx,Cx,Mx,kx,Ex,Rx,Ax,Tx,Pf,zg,Nx,Vg,Lx,Ix,Ox,Px,Jn,gi,jg,_n,Wg,Nu,Dx,cn,Fx,Bx,Ux,Gg,qn,Yo,Kg,qx,Qg,Hx,Yg,$x,zx,Vx,jx,Df,Wx,Ff,Gx,Kx,Qx,Yx,Zx,Xx,Jx,t4,e4,r4,n4,i4,s4,o4,Lg,l4,Wo,a4,Zg,Xg,u4,c4,Jg,h4,f4,Zo,d4,p4,m4,g4,_4,b4,t_,y4,e_,r_,n_,Bf,i_,x4,s_,w4,v4,Af,S4,C4,M4,k4,pe,E4,R4,A4,T4,N4,Uf,L4,I4,O4,P4,D4,F4,B4,U4,q4,H4,$4,z4,V4,j4,W4,G4,K4,Q4,Y4,Z4,X4,J4,t8,e8,r8,n8,i8,s8,o8,l8,a8,u8,c8,h8="buffer",f8=(t)=>crypto.getRandomValues(t),d8=()=>crypto.randomUUID(),p8,g8,_8;var Jr=fl(()=>{$3=Object.create,{getPrototypeOf:z3,defineProperty:Ng,getOwnPropertyNames:V3}=Object,j3=Object.prototype.hasOwnProperty;Ru=gt((t,e)=>{e.exports=(Jr(),ve(hn)).randomBytes}),Au=gt((t,e)=>{e.exports=(Jr(),ve(hn)).createHash}),Ig=gt((t,e)=>{e.exports=(Jr(),ve(hn)).createHmac}),Y3=gt((t,e)=>{e.exports={sha224WithRSAEncryption:{sign:"rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},"RSA-SHA224":{sign:"ecdsa/rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},sha256WithRSAEncryption:{sign:"rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},"RSA-SHA256":{sign:"ecdsa/rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},sha384WithRSAEncryption:{sign:"rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},"RSA-SHA384":{sign:"ecdsa/rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},sha512WithRSAEncryption:{sign:"rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA512":{sign:"ecdsa/rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA1":{sign:"rsa",hash:"sha1",id:"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{sign:"ecdsa",hash:"sha1",id:""},sha256:{sign:"ecdsa",hash:"sha256",id:""},sha224:{sign:"ecdsa",hash:"sha224",id:""},sha384:{sign:"ecdsa",hash:"sha384",id:""},sha512:{sign:"ecdsa",hash:"sha512",id:""},"DSA-SHA":{sign:"dsa",hash:"sha1",id:""},"DSA-SHA1":{sign:"dsa",hash:"sha1",id:""},DSA:{sign:"dsa",hash:"sha1",id:""},"DSA-WITH-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-WITH-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-WITH-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-WITH-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-RIPEMD160":{sign:"dsa",hash:"rmd160",id:""},ripemd160WithRSA:{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},"RSA-RIPEMD160":{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},md5WithRSAEncryption:{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"},"RSA-MD5":{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"}}}),Tf=gt((t,e)=>{var r=isFinite,i=Math.pow(2,30)-1;e.exports=function(n,o){if(typeof n!=="number")throw TypeError("Iterations not a number");if(n<0||!r(n))throw TypeError("Bad iterations");if(typeof o!=="number")throw TypeError("Key length not a number");if(o<0||o>i||o!==o)throw TypeError("Bad key length")}}),Nf=gt((t,e)=>{var r;if(globalThis.process&&globalThis.process.browser)r="utf-8";else if(globalThis.process&&globalThis.process.version)i=parseInt(process.version.split(".")[0].slice(1),10),r=i>=6?"utf-8":"binary";else r="utf-8";var i;e.exports=r}),Gr=gt((t,e)=>{/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var r=(Nr(),ve(Tr)),i=r.Buffer;function n(s,h){for(var m in s)h[m]=s[m]}if(i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow)e.exports=r;else n(r,t),t.Buffer=o;function o(s,h,m){return i(s,h,m)}o.prototype=Object.create(i.prototype),n(i,o),o.from=function(s,h,m){if(typeof s==="number")throw TypeError("Argument must not be a number");return i(s,h,m)},o.alloc=function(s,h,m){if(typeof s!=="number")throw TypeError("Argument must be a number");var p=i(s);if(h!==void 0)if(typeof m==="string")p.fill(h,m);else p.fill(h);else p.fill(0);return p},o.allocUnsafe=function(s){if(typeof s!=="number")throw TypeError("Argument must be a number");return i(s)},o.allocUnsafeSlow=function(s){if(typeof s!=="number")throw TypeError("Argument must be a number");return r.SlowBuffer(s)}}),Z3=gt((t,e)=>{var r={}.toString;e.exports=Array.isArray||function(i){return r.call(i)=="[object Array]"}}),Go=gt((t,e)=>{e.exports=TypeError}),Og=gt((t,e)=>{e.exports=Object}),X3=gt((t,e)=>{e.exports=Error}),J3=gt((t,e)=>{e.exports=EvalError}),tx=gt((t,e)=>{e.exports=RangeError}),ex=gt((t,e)=>{e.exports=ReferenceError}),Pg=gt((t,e)=>{e.exports=SyntaxError}),rx=gt((t,e)=>{e.exports=URIError}),nx=gt((t,e)=>{e.exports=Math.abs}),ix=gt((t,e)=>{e.exports=Math.floor}),sx=gt((t,e)=>{e.exports=Math.max}),ox=gt((t,e)=>{e.exports=Math.min}),lx=gt((t,e)=>{e.exports=Math.pow}),ax=gt((t,e)=>{e.exports=Math.round}),ux=gt((t,e)=>{e.exports=Number.isNaN||function(r){return r!==r}}),cx=gt((t,e)=>{var r=ux();e.exports=function(i){if(r(i)||i===0)return i;return i<0?-1:1}}),hx=gt((t,e)=>{e.exports=Object.getOwnPropertyDescriptor}),Ko=gt((t,e)=>{var r=hx();if(r)try{r([],"length")}catch(i){r=null}e.exports=r}),Tu=gt((t,e)=>{var r=Object.defineProperty||!1;if(r)try{r({},"a",{value:1})}catch(i){r=!1}e.exports=r}),Dg=gt((t,e)=>{e.exports=function(){if(typeof Symbol!=="function"||typeof Object.getOwnPropertySymbols!=="function")return!1;if(typeof Symbol.iterator==="symbol")return!0;var r={},i=Symbol("test"),n=Object(i);if(typeof i==="string")return!1;if(Object.prototype.toString.call(i)!=="[object Symbol]")return!1;if(Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var o=42;r[i]=o;for(var s in r)return!1;if(typeof Object.keys==="function"&&Object.keys(r).length!==0)return!1;if(typeof Object.getOwnPropertyNames==="function"&&Object.getOwnPropertyNames(r).length!==0)return!1;var h=Object.getOwnPropertySymbols(r);if(h.length!==1||h[0]!==i)return!1;if(!Object.prototype.propertyIsEnumerable.call(r,i))return!1;if(typeof Object.getOwnPropertyDescriptor==="function"){var m=Object.getOwnPropertyDescriptor(r,i);if(m.value!==o||m.enumerable!==!0)return!1}return!0}}),fx=gt((t,e)=>{var r=typeof Symbol<"u"&&Symbol,i=Dg();e.exports=function(){if(typeof r!=="function")return!1;if(typeof Symbol!=="function")return!1;if(typeof r("foo")!=="symbol")return!1;if(typeof Symbol("bar")!=="symbol")return!1;return i()}}),Fg=gt((t,e)=>{e.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null}),Bg=gt((t,e)=>{var r=Og();e.exports=r.getPrototypeOf||null}),dx=gt((t,e)=>{var r="Function.prototype.bind called on incompatible ",i=Object.prototype.toString,n=Math.max,o="[object Function]",s=function(p,y){var _=[];for(var v=0;v<p.length;v+=1)_[v]=p[v];for(var C=0;C<y.length;C+=1)_[C+p.length]=y[C];return _},h=function(p,y){var _=[];for(var v=y||0,C=0;v<p.length;v+=1,C+=1)_[C]=p[v];return _},m=function(p,y){var _="";for(var v=0;v<p.length;v+=1)if(_+=p[v],v+1<p.length)_+=y;return _};e.exports=function(p){var y=this;if(typeof y!=="function"||i.apply(y)!==o)throw TypeError(r+y);var _=h(arguments,1),v,C=function(){if(this instanceof v){var T=y.apply(this,s(_,arguments));if(Object(T)===T)return T;return this}return y.apply(p,s(_,arguments))},M=n(0,y.length-_.length),A=[];for(var k=0;k<M;k++)A[k]="$"+k;if(v=Function("binder","return function ("+m(A,",")+"){ return binder.apply(this,arguments); }")(C),y.prototype){var R=function(){};R.prototype=y.prototype,v.prototype=new R,R.prototype=null}return v}}),Qo=gt((t,e)=>{var r=dx();e.exports=Function.prototype.bind||r}),Lf=gt((t,e)=>{e.exports=Function.prototype.call}),If=gt((t,e)=>{e.exports=Function.prototype.apply}),px=gt((t,e)=>{e.exports=typeof Reflect<"u"&&Reflect&&Reflect.apply}),Ug=gt((t,e)=>{var r=Qo(),i=If(),n=Lf(),o=px();e.exports=o||r.call(n,i)}),Of=gt((t,e)=>{var r=Qo(),i=Go(),n=Lf(),o=Ug();e.exports=function(s){if(s.length<1||typeof s[0]!=="function")throw new i("a function is required");return o(r,n,s)}}),mx=gt((t,e)=>{var r=Of(),i=Ko(),n;try{n=[].__proto__===Array.prototype}catch(m){if(!m||typeof m!=="object"||!("code"in m)||m.code!=="ERR_PROTO_ACCESS")throw m}var o=!!n&&i&&i(Object.prototype,"__proto__"),s=Object,h=s.getPrototypeOf;e.exports=o&&typeof o.get==="function"?r([o.get]):typeof h==="function"?function(m){return h(m==null?m:s(m))}:!1}),qg=gt((t,e)=>{var r=Fg(),i=Bg(),n=mx();e.exports=r?function(o){return r(o)}:i?function(o){if(!o||typeof o!=="object"&&typeof o!=="function")throw TypeError("getProto: not an object");return i(o)}:n?function(o){return n(o)}:null}),gx=gt((t,e)=>{var r=Function.prototype.call,i=Object.prototype.hasOwnProperty,n=Qo();e.exports=n.call(r,i)}),Hg=gt((t,e)=>{var r,i=Og(),n=X3(),o=J3(),s=tx(),h=ex(),m=Pg(),p=Go(),y=rx(),_=nx(),v=ix(),C=sx(),M=ox(),A=lx(),k=ax(),R=cx(),T=Function,I=function(pt){try{return T('"use strict"; return ('+pt+").constructor;")()}catch(J){}},P=Ko(),F=Tu(),G=function(){throw new p},lt=P?function(){try{return arguments.callee,G}catch(pt){try{return P(arguments,"callee").get}catch(J){return G}}}():G,dt=fx()(),ut=qg(),V=Bg(),nt=Fg(),l=If(),c=Lf(),d={},u=typeof Uint8Array>"u"||!ut?r:ut(Uint8Array),f={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?r:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?r:ArrayBuffer,"%ArrayIteratorPrototype%":dt&&ut?ut([][Symbol.iterator]()):r,"%AsyncFromSyncIteratorPrototype%":r,"%AsyncFunction%":d,"%AsyncGenerator%":d,"%AsyncGeneratorFunction%":d,"%AsyncIteratorPrototype%":d,"%Atomics%":typeof Atomics>"u"?r:Atomics,"%BigInt%":typeof BigInt>"u"?r:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?r:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?r:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?r:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":n,"%eval%":eval,"%EvalError%":o,"%Float16Array%":typeof Float16Array>"u"?r:Float16Array,"%Float32Array%":typeof Float32Array>"u"?r:Float32Array,"%Float64Array%":typeof Float64Array>"u"?r:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?r:FinalizationRegistry,"%Function%":T,"%GeneratorFunction%":d,"%Int8Array%":typeof Int8Array>"u"?r:Int8Array,"%Int16Array%":typeof Int16Array>"u"?r:Int16Array,"%Int32Array%":typeof Int32Array>"u"?r:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":dt&&ut?ut(ut([][Symbol.iterator]())):r,"%JSON%":typeof JSON==="object"?JSON:r,"%Map%":typeof Map>"u"?r:Map,"%MapIteratorPrototype%":typeof Map>"u"||!dt||!ut?r:ut(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":i,"%Object.getOwnPropertyDescriptor%":P,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?r:Promise,"%Proxy%":typeof Proxy>"u"?r:Proxy,"%RangeError%":s,"%ReferenceError%":h,"%Reflect%":typeof Reflect>"u"?r:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?r:Set,"%SetIteratorPrototype%":typeof Set>"u"||!dt||!ut?r:ut(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?r:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":dt&&ut?ut(""[Symbol.iterator]()):r,"%Symbol%":dt?Symbol:r,"%SyntaxError%":m,"%ThrowTypeError%":lt,"%TypedArray%":u,"%TypeError%":p,"%Uint8Array%":typeof Uint8Array>"u"?r:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?r:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?r:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?r:Uint32Array,"%URIError%":y,"%WeakMap%":typeof WeakMap>"u"?r:WeakMap,"%WeakRef%":typeof WeakRef>"u"?r:WeakRef,"%WeakSet%":typeof WeakSet>"u"?r:WeakSet,"%Function.prototype.call%":c,"%Function.prototype.apply%":l,"%Object.defineProperty%":F,"%Object.getPrototypeOf%":V,"%Math.abs%":_,"%Math.floor%":v,"%Math.max%":C,"%Math.min%":M,"%Math.pow%":A,"%Math.round%":k,"%Math.sign%":R,"%Reflect.getPrototypeOf%":nt};if(ut)try{null.error}catch(pt){x=ut(ut(pt)),f["%Error.prototype%"]=x}var x,w=function pt(J){var at;if(J==="%AsyncFunction%")at=I("async function () {}");else if(J==="%GeneratorFunction%")at=I("function* () {}");else if(J==="%AsyncGeneratorFunction%")at=I("async function* () {}");else if(J==="%AsyncGenerator%"){var Kt=pt("%AsyncGeneratorFunction%");if(Kt)at=Kt.prototype}else if(J==="%AsyncIteratorPrototype%"){var H=pt("%AsyncGenerator%");if(H&&ut)at=ut(H.prototype)}return f[J]=at,at},g={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},a=Qo(),b=gx(),E=a.call(c,Array.prototype.concat),S=a.call(l,Array.prototype.splice),L=a.call(c,String.prototype.replace),q=a.call(c,String.prototype.slice),j=a.call(c,RegExp.prototype.exec),X=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,bt=/\\(\\)?/g,it=function(pt){var J=q(pt,0,1),at=q(pt,-1);if(J==="%"&&at!=="%")throw new m("invalid intrinsic syntax, expected closing `%`");else if(at==="%"&&J!=="%")throw new m("invalid intrinsic syntax, expected opening `%`");var Kt=[];return L(pt,X,function(H,W,mt,rt){Kt[Kt.length]=mt?L(rt,bt,"$1"):W||H}),Kt},Q=function(pt,J){var at=pt,Kt;if(b(g,at))Kt=g[at],at="%"+Kt[0]+"%";if(b(f,at)){var H=f[at];if(H===d)H=w(at);if(typeof H>"u"&&!J)throw new p("intrinsic "+pt+" exists, but is not available. Please file an issue!");return{alias:Kt,name:at,value:H}}throw new m("intrinsic "+pt+" does not exist!")};e.exports=function(pt,J){if(typeof pt!=="string"||pt.length===0)throw new p("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof J!=="boolean")throw new p('"allowMissing" argument must be a boolean');if(j(/^%?[^%]*%?$/,pt)===null)throw new m("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var at=it(pt),Kt=at.length>0?at[0]:"",H=Q("%"+Kt+"%",J),{name:W,value:mt}=H,rt=!1,ot=H.alias;if(ot)Kt=ot[0],S(at,E([0,1],ot));for(var Lt=1,z=!0;Lt<at.length;Lt+=1){var Z=at[Lt],jt=q(Z,0,1),tt=q(Z,-1);if((jt==='"'||jt==="'"||jt==="`"||(tt==='"'||tt==="'"||tt==="`"))&&jt!==tt)throw new m("property names with quotes must have matching quotes");if(Z==="constructor"||!z)rt=!0;if(Kt+="."+Z,W="%"+Kt+"%",b(f,W))mt=f[W];else if(mt!=null){if(!(Z in mt)){if(!J)throw new p("base intrinsic for "+pt+" exists, but the property is not available.");return}if(P&&Lt+1>=at.length){var ht=P(mt,Z);if(z=!!ht,z&&"get"in ht&&!("originalValue"in ht.get))mt=ht.get;else mt=mt[Z]}else z=b(mt,Z),mt=mt[Z];if(z&&!rt)f[W]=mt}}return mt}}),$g=gt((t,e)=>{var r=Hg(),i=Of(),n=i([r("%String.prototype.indexOf%")]);e.exports=function(o,s){var h=r(o,!!s);if(typeof h==="function"&&n(o,".prototype.")>-1)return i([h]);return h}}),_x=gt((t,e)=>{var r=Function.prototype.toString,i=typeof Reflect==="object"&&Reflect!==null&&Reflect.apply,n,o;if(typeof i==="function"&&typeof Object.defineProperty==="function")try{n=Object.defineProperty({},"length",{get:function(){throw o}}),o={},i(function(){throw 42},null,n)}catch(P){if(P!==o)i=null}else i=null;var s=/^\s*class\b/,h=function(P){try{var F=r.call(P);return s.test(F)}catch(G){return!1}},m=function(P){try{if(h(P))return!1;return r.call(P),!0}catch(F){return!1}},p=Object.prototype.toString,y="[object Object]",_="[object Function]",v="[object GeneratorFunction]",C="[object HTMLAllCollection]",M="[object HTML document.all class]",A="[object HTMLCollection]",k=typeof Symbol==="function"&&!!Symbol.toStringTag,R=!(0 in[,]),T=function(){return!1};if(typeof document==="object"){if(I=document.all,p.call(I)===p.call(document.all))T=function(P){if((R||!P)&&(typeof P>"u"||typeof P==="object"))try{var F=p.call(P);return(F===C||F===M||F===A||F===y)&&P("")==null}catch(G){}return!1}}var I;e.exports=i?function(P){if(T(P))return!0;if(!P)return!1;if(typeof P!=="function"&&typeof P!=="object")return!1;try{i(P,null,n)}catch(F){if(F!==o)return!1}return!h(P)&&m(P)}:function(P){if(T(P))return!0;if(!P)return!1;if(typeof P!=="function"&&typeof P!=="object")return!1;if(k)return m(P);if(h(P))return!1;var F=p.call(P);if(F!==_&&F!==v&&!/^\[object HTML/.test(F))return!1;return m(P)}}),bx=gt((t,e)=>{var r=_x(),i=Object.prototype.toString,n=Object.prototype.hasOwnProperty,o=function(p,y,_){for(var v=0,C=p.length;v<C;v++)if(n.call(p,v))if(_==null)y(p[v],v,p);else y.call(_,p[v],v,p)},s=function(p,y,_){for(var v=0,C=p.length;v<C;v++)if(_==null)y(p.charAt(v),v,p);else y.call(_,p.charAt(v),v,p)},h=function(p,y,_){for(var v in p)if(n.call(p,v))if(_==null)y(p[v],v,p);else y.call(_,p[v],v,p)};function m(p){return i.call(p)==="[object Array]"}e.exports=function(p,y,_){if(!r(y))throw TypeError("iterator must be a function");var v;if(arguments.length>=3)v=_;if(m(p))o(p,y,v);else if(typeof p==="string")s(p,y,v);else h(p,y,v)}}),yx=gt((t,e)=>{e.exports=["Float16Array","Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"]}),xx=gt((t,e)=>{var r=yx(),i=typeof globalThis>"u"?globalThis:globalThis;e.exports=function(){var n=[];for(var o=0;o<r.length;o++)if(typeof i[r[o]]==="function")n[n.length]=r[o];return n}}),wx=gt((t,e)=>{var r=Tu(),i=Pg(),n=Go(),o=Ko();e.exports=function(s,h,m){if(!s||typeof s!=="object"&&typeof s!=="function")throw new n("`obj` must be an object or a function`");if(typeof h!=="string"&&typeof h!=="symbol")throw new n("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!=="boolean"&&arguments[3]!==null)throw new n("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!=="boolean"&&arguments[4]!==null)throw new n("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!=="boolean"&&arguments[5]!==null)throw new n("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!=="boolean")throw new n("`loose`, if provided, must be a boolean");var p=arguments.length>3?arguments[3]:null,y=arguments.length>4?arguments[4]:null,_=arguments.length>5?arguments[5]:null,v=arguments.length>6?arguments[6]:!1,C=!!o&&o(s,h);if(r)r(s,h,{configurable:_===null&&C?C.configurable:!_,enumerable:p===null&&C?C.enumerable:!p,value:m,writable:y===null&&C?C.writable:!y});else if(v||!p&&!y&&!_)s[h]=m;else throw new i("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")}}),vx=gt((t,e)=>{var r=Tu(),i=function(){return!!r};i.hasArrayLengthDefineBug=function(){if(!r)return null;try{return r([],"length",{value:1}).length!==1}catch(n){return!0}},e.exports=i}),Sx=gt((t,e)=>{var r=Hg(),i=wx(),n=vx()(),o=Ko(),s=Go(),h=r("%Math.floor%");e.exports=function(m,p){if(typeof m!=="function")throw new s("`fn` is not a function");if(typeof p!=="number"||p<0||p>4294967295||h(p)!==p)throw new s("`length` must be a positive 32-bit integer");var y=arguments.length>2&&!!arguments[2],_=!0,v=!0;if("length"in m&&o){var C=o(m,"length");if(C&&!C.configurable)_=!1;if(C&&!C.writable)v=!1}if(_||v||!y)if(n)i(m,"length",p,!0,!0);else i(m,"length",p);return m}}),Cx=gt((t,e)=>{var r=Qo(),i=If(),n=Ug();e.exports=function(){return n(r,i,arguments)}}),Mx=gt((t,e)=>{var r=Sx(),i=Tu(),n=Of(),o=Cx();if(e.exports=function(s){var h=n(arguments),m=s.length-(arguments.length-1);return r(h,1+(m>0?m:0),!0)},i)i(e.exports,"apply",{value:o});else e.exports.apply=o}),kx=gt((t,e)=>{var r=Dg();e.exports=function(){return r()&&!!Symbol.toStringTag}}),Ex=gt((t,e)=>{var r=bx(),i=xx(),n=Mx(),o=$g(),s=Ko(),h=qg(),m=o("Object.prototype.toString"),p=kx()(),y=typeof globalThis>"u"?globalThis:globalThis,_=i(),v=o("String.prototype.slice"),C=o("Array.prototype.indexOf",!0)||function(R,T){for(var I=0;I<R.length;I+=1)if(R[I]===T)return I;return-1},M={__proto__:null};if(p&&s&&h)r(_,function(R){var T=new y[R];if(Symbol.toStringTag in T&&h){var I=h(T),P=s(I,Symbol.toStringTag);if(!P&&I){var F=h(I);P=s(F,Symbol.toStringTag)}M["$"+R]=n(P.get)}});else r(_,function(R){var T=new y[R],I=T.slice||T.set;if(I)M["$"+R]=n(I)});var A=function(R){var T=!1;return r(M,function(I,P){if(!T)try{if("$"+I(R)===P)T=v(P,1)}catch(F){}}),T},k=function(R){var T=!1;return r(M,function(I,P){if(!T)try{I(R),T=v(P,1)}catch(F){}}),T};e.exports=function(R){if(!R||typeof R!=="object")return!1;if(!p){var T=v(m(R),8,-1);if(C(_,T)>-1)return T;if(T!=="Object")return!1;return k(R)}if(!s)return null;return A(R)}}),Rx=gt((t,e)=>{var r=Ex();e.exports=function(i){return!!r(i)}}),Ax=gt((t,e)=>{var r=Go(),i=$g(),n=i("TypedArray.prototype.buffer",!0),o=Rx();e.exports=n||function(s){if(!o(s))throw new r("Not a Typed Array");return s.buffer}}),Tx=gt((t,e)=>{var r=Gr().Buffer,i=Z3(),n=Ax(),o=ArrayBuffer.isView||function(p){try{return n(p),!0}catch(y){return!1}},s=typeof Uint8Array<"u",h=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u",m=h&&(r.prototype instanceof Uint8Array||r.TYPED_ARRAY_SUPPORT);e.exports=function(p,y){if(r.isBuffer(p)){if(p.constructor&&!("isBuffer"in p))return r.from(p);return p}if(typeof p==="string")return r.from(p,y);if(h&&o(p)){if(p.byteLength===0)return r.alloc(0);if(m){var _=r.from(p.buffer,p.byteOffset,p.byteLength);if(_.byteLength===p.byteLength)return _}var v=p instanceof Uint8Array?p:new Uint8Array(p.buffer,p.byteOffset,p.byteLength),C=r.from(v);if(C.length===p.byteLength)return C}if(s&&p instanceof Uint8Array)return r.from(p);var M=i(p);if(M)for(var A=0;A<p.length;A+=1){var k=p[A];if(typeof k!=="number"||k<0||k>255||~~k!==k)throw RangeError("Array items must be numbers in the range 0-255.")}if(M||r.isBuffer(p)&&p.constructor&&typeof p.constructor.isBuffer==="function"&&p.constructor.isBuffer(p))return r.from(p);throw TypeError('The "data" argument must be a string, an Array, a Buffer, a Uint8Array, or a DataView.')}}),Pf=gt((t,e)=>{var r=Gr().Buffer,i=Tx(),n=typeof Uint8Array<"u",o=n&&typeof ArrayBuffer<"u",s=o&&ArrayBuffer.isView;e.exports=function(h,m,p){if(typeof h==="string"||r.isBuffer(h)||n&&h instanceof Uint8Array||s&&s(h))return i(h,m);throw TypeError(p+" must be a string, a Buffer, a Uint8Array, or a DataView")}}),zg=gt((t,e)=>{var r={__proto__:null,md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,"sha512-256":32,rmd160:20,ripemd160:20},i={__proto__:null,"sha-1":"sha1","sha-224":"sha224","sha-256":"sha256","sha-384":"sha384","sha-512":"sha512","ripemd-160":"ripemd160"},n=Ig(),o=Gr().Buffer,s=Tf(),h=Nf(),m=Pf();function p(y,_,v,C,M){s(v,C),y=m(y,h,"Password"),_=m(_,h,"Salt");var A=(M||"sha1").toLowerCase(),k=i[A]||A,R=r[k];if(typeof R!=="number"||!R)throw TypeError("Digest algorithm not supported: "+M);var T=o.allocUnsafe(C),I=o.allocUnsafe(_.length+4);_.copy(I,0,0,_.length);var P=0,F=R,G=Math.ceil(C/F);for(var lt=1;lt<=G;lt++){I.writeUInt32BE(lt,_.length);var dt=n(k,y).update(I).digest(),ut=dt;for(var V=1;V<v;V++){ut=n(k,y).update(ut).digest();for(var nt=0;nt<F;nt++)dt[nt]^=ut[nt]}dt.copy(T,P),P+=F}return T}e.exports=p}),Nx=gt((t,e)=>{var r=Gr().Buffer,i=Tf(),n=Nf(),o=zg(),s=Pf(),h,m=globalThis.crypto&&globalThis.crypto.subtle,p={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},y=[],_;function v(){if(_)return _;if(globalThis.process&&globalThis.process.nextTick)_=globalThis.process.nextTick;else if(globalThis.queueMicrotask)_=globalThis.queueMicrotask;else if(globalThis.setImmediate)_=globalThis.setImmediate;else _=globalThis.setTimeout;return _}function C(k,R,T,I,P){return m.importKey("raw",k,{name:"PBKDF2"},!1,["deriveBits"]).then(function(F){return m.deriveBits({name:"PBKDF2",salt:R,iterations:T,hash:{name:P}},F,I<<3)}).then(function(F){return r.from(F)})}function M(k){if(globalThis.process&&!globalThis.process.browser)return Promise.resolve(!1);if(!m||!m.importKey||!m.deriveBits)return Promise.resolve(!1);if(y[k]!==void 0)return y[k];h=h||r.alloc(8);var R=C(h,h,10,128,k).then(function(){return!0},function(){return!1});return y[k]=R,R}function A(k,R){k.then(function(T){v()(function(){R(null,T)})},function(T){v()(function(){R(T)})})}e.exports=function(k,R,T,I,P,F){if(typeof P==="function")F=P,P=void 0;if(i(T,I),k=s(k,n,"Password"),R=s(R,n,"Salt"),typeof F!=="function")throw Error("No callback provided to pbkdf2");P=P||"sha1";var G=p[P.toLowerCase()];if(!G||typeof globalThis.Promise!=="function"){v()(function(){var lt;try{lt=o(k,R,T,I,P)}catch(dt){F(dt);return}F(null,lt)});return}A(M(G).then(function(lt){if(lt)return C(k,R,T,I,G);return o(k,R,T,I,P)}),F)}}),Vg=gt((t)=>{var e=(Jr(),ve(hn)),r=Tf(),i=Nf(),n=Pf();function o(h,m,p,y,_,v){if(r(p,y),h=n(h,i,"Password"),m=n(m,i,"Salt"),typeof _==="function")v=_,_="sha1";if(typeof v!=="function")throw Error("No callback provided to pbkdf2");return e.pbkdf2(h,m,p,y,_,v)}function s(h,m,p,y,_){return r(p,y),h=n(h,i,"Password"),m=n(m,i,"Salt"),_=_||"sha1",e.pbkdf2Sync(h,m,p,y,_)}if(!e.pbkdf2Sync||e.pbkdf2Sync.toString().indexOf("keylen, digest")===-1)t.pbkdf2Sync=zg(),t.pbkdf2=Nx();else t.pbkdf2Sync=s,t.pbkdf2=o}),Lx=gt((t)=>{var e=(Jr(),ve(hn));t.createCipher=t.Cipher=e.createCipher,t.createCipheriv=t.Cipheriv=e.createCipheriv,t.createDecipher=t.Decipher=e.createDecipher,t.createDecipheriv=t.Decipheriv=e.createDecipheriv,t.listCiphers=t.getCiphers=e.getCiphers}),Ix=gt((t)=>{var e=(Jr(),ve(hn));t.DiffieHellmanGroup=e.DiffieHellmanGroup,t.createDiffieHellmanGroup=e.createDiffieHellmanGroup,t.getDiffieHellman=e.getDiffieHellman,t.createDiffieHellman=e.createDiffieHellman,t.DiffieHellman=e.DiffieHellman}),Ox=gt((t)=>{var e=(Jr(),ve(hn));t.createSign=e.createSign,t.Sign=e.Sign,t.createVerify=e.createVerify,t.Verify=e.Verify}),Px=gt((t,e)=>{e.exports={name:"elliptic",version:"6.6.1",description:"EC cryptography",main:"lib/elliptic.js",files:["lib"],scripts:{lint:"eslint lib test","lint:fix":"npm run lint -- --fix",unit:"istanbul test _mocha --reporter=spec test/index.js",test:"npm run lint && npm run unit",version:"grunt dist && git add dist/"},repository:{type:"git",url:"git@github.com:indutny/elliptic"},keywords:["EC","Elliptic","curve","Cryptography"],author:"Fedor Indutny <fedor@indutny.com>",license:"MIT",bugs:{url:"https://github.com/indutny/elliptic/issues"},homepage:"https://github.com/indutny/elliptic",devDependencies:{brfs:"^2.0.2",coveralls:"^3.1.0",eslint:"^7.6.0",grunt:"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1",istanbul:"^0.4.5",mocha:"^8.0.1"},dependencies:{"bn.js":"^4.11.9",brorand:"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1",inherits:"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"}}}),Jn=gt((t,e)=>{(function(r,i){function n(l,c){if(!l)throw Error(c||"Assertion failed")}function o(l,c){l.super_=c;var d=function(){};d.prototype=c.prototype,l.prototype=new d,l.prototype.constructor=l}function s(l,c,d){if(s.isBN(l))return l;if(this.negative=0,this.words=null,this.length=0,this.red=null,l!==null){if(c==="le"||c==="be")d=c,c=10;this._init(l||0,c||10,d||"be")}}if(typeof r==="object")r.exports=s;else i.BN=s;s.BN=s,s.wordSize=26;var h;try{if(typeof window<"u"&&typeof window.Buffer<"u")h=window.Buffer;else h=(Nr(),ve(Tr)).Buffer}catch(l){}s.isBN=function(l){if(l instanceof s)return!0;return l!==null&&typeof l==="object"&&l.constructor.wordSize===s.wordSize&&Array.isArray(l.words)},s.max=function(l,c){if(l.cmp(c)>0)return l;return c},s.min=function(l,c){if(l.cmp(c)<0)return l;return c},s.prototype._init=function(l,c,d){if(typeof l==="number")return this._initNumber(l,c,d);if(typeof l==="object")return this._initArray(l,c,d);if(c==="hex")c=16;n(c===(c|0)&&c>=2&&c<=36),l=l.toString().replace(/\s+/g,"");var u=0;if(l[0]==="-")u++,this.negative=1;if(u<l.length){if(c===16)this._parseHex(l,u,d);else if(this._parseBase(l,c,u),d==="le")this._initArray(this.toArray(),c,d)}},s.prototype._initNumber=function(l,c,d){if(l<0)this.negative=1,l=-l;if(l<67108864)this.words=[l&67108863],this.length=1;else if(l<4503599627370496)this.words=[l&67108863,l/67108864&67108863],this.length=2;else n(l<9007199254740992),this.words=[l&67108863,l/67108864&67108863,1],this.length=3;if(d!=="le")return;this._initArray(this.toArray(),c,d)},s.prototype._initArray=function(l,c,d){if(n(typeof l.length==="number"),l.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(l.length/3),this.words=Array(this.length);for(var u=0;u<this.length;u++)this.words[u]=0;var f,x,w=0;if(d==="be"){for(u=l.length-1,f=0;u>=0;u-=3)if(x=l[u]|l[u-1]<<8|l[u-2]<<16,this.words[f]|=x<<w&67108863,this.words[f+1]=x>>>26-w&67108863,w+=24,w>=26)w-=26,f++}else if(d==="le"){for(u=0,f=0;u<l.length;u+=3)if(x=l[u]|l[u+1]<<8|l[u+2]<<16,this.words[f]|=x<<w&67108863,this.words[f+1]=x>>>26-w&67108863,w+=24,w>=26)w-=26,f++}return this.strip()};function m(l,c){var d=l.charCodeAt(c);if(d>=65&&d<=70)return d-55;else if(d>=97&&d<=102)return d-87;else return d-48&15}function p(l,c,d){var u=m(l,d);if(d-1>=c)u|=m(l,d-1)<<4;return u}s.prototype._parseHex=function(l,c,d){this.length=Math.ceil((l.length-c)/6),this.words=Array(this.length);for(var u=0;u<this.length;u++)this.words[u]=0;var f=0,x=0,w;if(d==="be")for(u=l.length-1;u>=c;u-=2)if(w=p(l,c,u)<<f,this.words[x]|=w&67108863,f>=18)f-=18,x+=1,this.words[x]|=w>>>26;else f+=8;else{var g=l.length-c;for(u=g%2===0?c+1:c;u<l.length;u+=2)if(w=p(l,c,u)<<f,this.words[x]|=w&67108863,f>=18)f-=18,x+=1,this.words[x]|=w>>>26;else f+=8}this.strip()};function y(l,c,d,u){var f=0,x=Math.min(l.length,d);for(var w=c;w<x;w++){var g=l.charCodeAt(w)-48;if(f*=u,g>=49)f+=g-49+10;else if(g>=17)f+=g-17+10;else f+=g}return f}s.prototype._parseBase=function(l,c,d){this.words=[0],this.length=1;for(var u=0,f=1;f<=67108863;f*=c)u++;u--,f=f/c|0;var x=l.length-d,w=x%u,g=Math.min(x,x-w)+d,a=0;for(var b=d;b<g;b+=u)if(a=y(l,b,b+u,c),this.imuln(f),this.words[0]+a<67108864)this.words[0]+=a;else this._iaddn(a);if(w!==0){var E=1;a=y(l,b,l.length,c);for(b=0;b<w;b++)E*=c;if(this.imuln(E),this.words[0]+a<67108864)this.words[0]+=a;else this._iaddn(a)}this.strip()},s.prototype.copy=function(l){l.words=Array(this.length);for(var c=0;c<this.length;c++)l.words[c]=this.words[c];l.length=this.length,l.negative=this.negative,l.red=this.red},s.prototype.clone=function(){var l=new s(null);return this.copy(l),l},s.prototype._expand=function(l){while(this.length<l)this.words[this.length++]=0;return this},s.prototype.strip=function(){while(this.length>1&&this.words[this.length-1]===0)this.length--;return this._normSign()},s.prototype._normSign=function(){if(this.length===1&&this.words[0]===0)this.negative=0;return this},s.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var _=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],v=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],C=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];if(s.prototype.toString=function(l,c){l=l||10,c=c|0||1;var d;if(l===16||l==="hex"){d="";var u=0,f=0;for(var x=0;x<this.length;x++){var w=this.words[x],g=((w<<u|f)&16777215).toString(16);if(f=w>>>24-u&16777215,u+=2,u>=26)u-=26,x--;if(f!==0||x!==this.length-1)d=_[6-g.length]+g+d;else d=g+d}if(f!==0)d=f.toString(16)+d;while(d.length%c!==0)d="0"+d;if(this.negative!==0)d="-"+d;return d}if(l===(l|0)&&l>=2&&l<=36){var a=v[l],b=C[l];d="";var E=this.clone();E.negative=0;while(!E.isZero()){var S=E.modn(b).toString(l);if(E=E.idivn(b),!E.isZero())d=_[a-S.length]+S+d;else d=S+d}if(this.isZero())d="0"+d;while(d.length%c!==0)d="0"+d;if(this.negative!==0)d="-"+d;return d}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var l=this.words[0];if(this.length===2)l+=this.words[1]*67108864;else if(this.length===3&&this.words[2]===1)l+=4503599627370496+this.words[1]*67108864;else if(this.length>2)n(!1,"Number can only safely store up to 53 bits");return this.negative!==0?-l:l},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(l,c){return n(typeof h<"u"),this.toArrayLike(h,l,c)},s.prototype.toArray=function(l,c){return this.toArrayLike(Array,l,c)},s.prototype.toArrayLike=function(l,c,d){var u=this.byteLength(),f=d||Math.max(1,u);n(u<=f,"byte array longer than desired length"),n(f>0,"Requested array length <= 0"),this.strip();var x=c==="le",w=new l(f),g,a,b=this.clone();if(!x){for(a=0;a<f-u;a++)w[a]=0;for(a=0;!b.isZero();a++)g=b.andln(255),b.iushrn(8),w[f-a-1]=g}else{for(a=0;!b.isZero();a++)g=b.andln(255),b.iushrn(8),w[a]=g;for(;a<f;a++)w[a]=0}return w},Math.clz32)s.prototype._countBits=function(l){return 32-Math.clz32(l)};else s.prototype._countBits=function(l){var c=l,d=0;if(c>=4096)d+=13,c>>>=13;if(c>=64)d+=7,c>>>=7;if(c>=8)d+=4,c>>>=4;if(c>=2)d+=2,c>>>=2;return d+c};s.prototype._zeroBits=function(l){if(l===0)return 26;var c=l,d=0;if((c&8191)===0)d+=13,c>>>=13;if((c&127)===0)d+=7,c>>>=7;if((c&15)===0)d+=4,c>>>=4;if((c&3)===0)d+=2,c>>>=2;if((c&1)===0)d++;return d},s.prototype.bitLength=function(){var l=this.words[this.length-1],c=this._countBits(l);return(this.length-1)*26+c};function M(l){var c=Array(l.bitLength());for(var d=0;d<c.length;d++){var u=d/26|0,f=d%26;c[d]=(l.words[u]&1<<f)>>>f}return c}s.prototype.zeroBits=function(){if(this.isZero())return 0;var l=0;for(var c=0;c<this.length;c++){var d=this._zeroBits(this.words[c]);if(l+=d,d!==26)break}return l},s.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},s.prototype.toTwos=function(l){if(this.negative!==0)return this.abs().inotn(l).iaddn(1);return this.clone()},s.prototype.fromTwos=function(l){if(this.testn(l-1))return this.notn(l).iaddn(1).ineg();return this.clone()},s.prototype.isNeg=function(){return this.negative!==0},s.prototype.neg=function(){return this.clone().ineg()},s.prototype.ineg=function(){if(!this.isZero())this.negative^=1;return this},s.prototype.iuor=function(l){while(this.length<l.length)this.words[this.length++]=0;for(var c=0;c<l.length;c++)this.words[c]=this.words[c]|l.words[c];return this.strip()},s.prototype.ior=function(l){return n((this.negative|l.negative)===0),this.iuor(l)},s.prototype.or=function(l){if(this.length>l.length)return this.clone().ior(l);return l.clone().ior(this)},s.prototype.uor=function(l){if(this.length>l.length)return this.clone().iuor(l);return l.clone().iuor(this)},s.prototype.iuand=function(l){var c;if(this.length>l.length)c=l;else c=this;for(var d=0;d<c.length;d++)this.words[d]=this.words[d]&l.words[d];return this.length=c.length,this.strip()},s.prototype.iand=function(l){return n((this.negative|l.negative)===0),this.iuand(l)},s.prototype.and=function(l){if(this.length>l.length)return this.clone().iand(l);return l.clone().iand(this)},s.prototype.uand=function(l){if(this.length>l.length)return this.clone().iuand(l);return l.clone().iuand(this)},s.prototype.iuxor=function(l){var c,d;if(this.length>l.length)c=this,d=l;else c=l,d=this;for(var u=0;u<d.length;u++)this.words[u]=c.words[u]^d.words[u];if(this!==c)for(;u<c.length;u++)this.words[u]=c.words[u];return this.length=c.length,this.strip()},s.prototype.ixor=function(l){return n((this.negative|l.negative)===0),this.iuxor(l)},s.prototype.xor=function(l){if(this.length>l.length)return this.clone().ixor(l);return l.clone().ixor(this)},s.prototype.uxor=function(l){if(this.length>l.length)return this.clone().iuxor(l);return l.clone().iuxor(this)},s.prototype.inotn=function(l){n(typeof l==="number"&&l>=0);var c=Math.ceil(l/26)|0,d=l%26;if(this._expand(c),d>0)c--;for(var u=0;u<c;u++)this.words[u]=~this.words[u]&67108863;if(d>0)this.words[u]=~this.words[u]&67108863>>26-d;return this.strip()},s.prototype.notn=function(l){return this.clone().inotn(l)},s.prototype.setn=function(l,c){n(typeof l==="number"&&l>=0);var d=l/26|0,u=l%26;if(this._expand(d+1),c)this.words[d]=this.words[d]|1<<u;else this.words[d]=this.words[d]&~(1<<u);return this.strip()},s.prototype.iadd=function(l){var c;if(this.negative!==0&&l.negative===0)return this.negative=0,c=this.isub(l),this.negative^=1,this._normSign();else if(this.negative===0&&l.negative!==0)return l.negative=0,c=this.isub(l),l.negative=1,c._normSign();var d,u;if(this.length>l.length)d=this,u=l;else d=l,u=this;var f=0;for(var x=0;x<u.length;x++)c=(d.words[x]|0)+(u.words[x]|0)+f,this.words[x]=c&67108863,f=c>>>26;for(;f!==0&&x<d.length;x++)c=(d.words[x]|0)+f,this.words[x]=c&67108863,f=c>>>26;if(this.length=d.length,f!==0)this.words[this.length]=f,this.length++;else if(d!==this)for(;x<d.length;x++)this.words[x]=d.words[x];return this},s.prototype.add=function(l){var c;if(l.negative!==0&&this.negative===0)return l.negative=0,c=this.sub(l),l.negative^=1,c;else if(l.negative===0&&this.negative!==0)return this.negative=0,c=l.sub(this),this.negative=1,c;if(this.length>l.length)return this.clone().iadd(l);return l.clone().iadd(this)},s.prototype.isub=function(l){if(l.negative!==0){l.negative=0;var c=this.iadd(l);return l.negative=1,c._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(l),this.negative=1,this._normSign();var d=this.cmp(l);if(d===0)return this.negative=0,this.length=1,this.words[0]=0,this;var u,f;if(d>0)u=this,f=l;else u=l,f=this;var x=0;for(var w=0;w<f.length;w++)c=(u.words[w]|0)-(f.words[w]|0)+x,x=c>>26,this.words[w]=c&67108863;for(;x!==0&&w<u.length;w++)c=(u.words[w]|0)+x,x=c>>26,this.words[w]=c&67108863;if(x===0&&w<u.length&&u!==this)for(;w<u.length;w++)this.words[w]=u.words[w];if(this.length=Math.max(this.length,w),u!==this)this.negative=1;return this.strip()},s.prototype.sub=function(l){return this.clone().isub(l)};function A(l,c,d){d.negative=c.negative^l.negative;var u=l.length+c.length|0;d.length=u,u=u-1|0;var f=l.words[0]|0,x=c.words[0]|0,w=f*x,g=w&67108863,a=w/67108864|0;d.words[0]=g;for(var b=1;b<u;b++){var E=a>>>26,S=a&67108863,L=Math.min(b,c.length-1);for(var q=Math.max(0,b-l.length+1);q<=L;q++){var j=b-q|0;f=l.words[j]|0,x=c.words[q]|0,w=f*x+S,E+=w/67108864|0,S=w&67108863}d.words[b]=S|0,a=E|0}if(a!==0)d.words[b]=a|0;else d.length--;return d.strip()}var k=function(l,c,d){var u=l.words,f=c.words,x=d.words,w=0,g,a,b,E=u[0]|0,S=E&8191,L=E>>>13,q=u[1]|0,j=q&8191,X=q>>>13,bt=u[2]|0,it=bt&8191,Q=bt>>>13,pt=u[3]|0,J=pt&8191,at=pt>>>13,Kt=u[4]|0,H=Kt&8191,W=Kt>>>13,mt=u[5]|0,rt=mt&8191,ot=mt>>>13,Lt=u[6]|0,z=Lt&8191,Z=Lt>>>13,jt=u[7]|0,tt=jt&8191,ht=jt>>>13,ae=u[8]|0,wt=ae&8191,vt=ae>>>13,Ge=u[9]|0,yt=Ge&8191,Mt=Ge>>>13,Xe=f[0]|0,Tt=Xe&8191,Rt=Xe>>>13,Br=f[1]|0,It=Br&8191,Ut=Br>>>13,Ur=f[2]|0,qt=Ur&8191,Ot=Ur>>>13,Ir=f[3]|0,Ht=Ir&8191,Pt=Ir>>>13,kr=f[4]|0,$t=kr&8191,zt=kr>>>13,Er=f[5]|0,Dt=Er&8191,B=Er>>>13,K=f[6]|0,st=K&8191,ct=K>>>13,Qt=f[7]|0,xt=Qt&8191,Et=Qt>>>13,Ke=f[8]|0,Ft=Ke&8191,Vt=Ke>>>13,Or=f[9]|0,Bt=Or&8191,Nt=Or>>>13;d.negative=l.negative^c.negative,d.length=19,g=Math.imul(S,Tt),a=Math.imul(S,Rt),a=a+Math.imul(L,Tt)|0,b=Math.imul(L,Rt);var Qe=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(Qe>>>26)|0,Qe&=67108863,g=Math.imul(j,Tt),a=Math.imul(j,Rt),a=a+Math.imul(X,Tt)|0,b=Math.imul(X,Rt),g=g+Math.imul(S,It)|0,a=a+Math.imul(S,Ut)|0,a=a+Math.imul(L,It)|0,b=b+Math.imul(L,Ut)|0;var de=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(de>>>26)|0,de&=67108863,g=Math.imul(it,Tt),a=Math.imul(it,Rt),a=a+Math.imul(Q,Tt)|0,b=Math.imul(Q,Rt),g=g+Math.imul(j,It)|0,a=a+Math.imul(j,Ut)|0,a=a+Math.imul(X,It)|0,b=b+Math.imul(X,Ut)|0,g=g+Math.imul(S,qt)|0,a=a+Math.imul(S,Ot)|0,a=a+Math.imul(L,qt)|0,b=b+Math.imul(L,Ot)|0;var ce=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(ce>>>26)|0,ce&=67108863,g=Math.imul(J,Tt),a=Math.imul(J,Rt),a=a+Math.imul(at,Tt)|0,b=Math.imul(at,Rt),g=g+Math.imul(it,It)|0,a=a+Math.imul(it,Ut)|0,a=a+Math.imul(Q,It)|0,b=b+Math.imul(Q,Ut)|0,g=g+Math.imul(j,qt)|0,a=a+Math.imul(j,Ot)|0,a=a+Math.imul(X,qt)|0,b=b+Math.imul(X,Ot)|0,g=g+Math.imul(S,Ht)|0,a=a+Math.imul(S,Pt)|0,a=a+Math.imul(L,Ht)|0,b=b+Math.imul(L,Pt)|0;var De=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(De>>>26)|0,De&=67108863,g=Math.imul(H,Tt),a=Math.imul(H,Rt),a=a+Math.imul(W,Tt)|0,b=Math.imul(W,Rt),g=g+Math.imul(J,It)|0,a=a+Math.imul(J,Ut)|0,a=a+Math.imul(at,It)|0,b=b+Math.imul(at,Ut)|0,g=g+Math.imul(it,qt)|0,a=a+Math.imul(it,Ot)|0,a=a+Math.imul(Q,qt)|0,b=b+Math.imul(Q,Ot)|0,g=g+Math.imul(j,Ht)|0,a=a+Math.imul(j,Pt)|0,a=a+Math.imul(X,Ht)|0,b=b+Math.imul(X,Pt)|0,g=g+Math.imul(S,$t)|0,a=a+Math.imul(S,zt)|0,a=a+Math.imul(L,$t)|0,b=b+Math.imul(L,zt)|0;var Le=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(Le>>>26)|0,Le&=67108863,g=Math.imul(rt,Tt),a=Math.imul(rt,Rt),a=a+Math.imul(ot,Tt)|0,b=Math.imul(ot,Rt),g=g+Math.imul(H,It)|0,a=a+Math.imul(H,Ut)|0,a=a+Math.imul(W,It)|0,b=b+Math.imul(W,Ut)|0,g=g+Math.imul(J,qt)|0,a=a+Math.imul(J,Ot)|0,a=a+Math.imul(at,qt)|0,b=b+Math.imul(at,Ot)|0,g=g+Math.imul(it,Ht)|0,a=a+Math.imul(it,Pt)|0,a=a+Math.imul(Q,Ht)|0,b=b+Math.imul(Q,Pt)|0,g=g+Math.imul(j,$t)|0,a=a+Math.imul(j,zt)|0,a=a+Math.imul(X,$t)|0,b=b+Math.imul(X,zt)|0,g=g+Math.imul(S,Dt)|0,a=a+Math.imul(S,B)|0,a=a+Math.imul(L,Dt)|0,b=b+Math.imul(L,B)|0;var ar=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(ar>>>26)|0,ar&=67108863,g=Math.imul(z,Tt),a=Math.imul(z,Rt),a=a+Math.imul(Z,Tt)|0,b=Math.imul(Z,Rt),g=g+Math.imul(rt,It)|0,a=a+Math.imul(rt,Ut)|0,a=a+Math.imul(ot,It)|0,b=b+Math.imul(ot,Ut)|0,g=g+Math.imul(H,qt)|0,a=a+Math.imul(H,Ot)|0,a=a+Math.imul(W,qt)|0,b=b+Math.imul(W,Ot)|0,g=g+Math.imul(J,Ht)|0,a=a+Math.imul(J,Pt)|0,a=a+Math.imul(at,Ht)|0,b=b+Math.imul(at,Pt)|0,g=g+Math.imul(it,$t)|0,a=a+Math.imul(it,zt)|0,a=a+Math.imul(Q,$t)|0,b=b+Math.imul(Q,zt)|0,g=g+Math.imul(j,Dt)|0,a=a+Math.imul(j,B)|0,a=a+Math.imul(X,Dt)|0,b=b+Math.imul(X,B)|0,g=g+Math.imul(S,st)|0,a=a+Math.imul(S,ct)|0,a=a+Math.imul(L,st)|0,b=b+Math.imul(L,ct)|0;var ur=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(ur>>>26)|0,ur&=67108863,g=Math.imul(tt,Tt),a=Math.imul(tt,Rt),a=a+Math.imul(ht,Tt)|0,b=Math.imul(ht,Rt),g=g+Math.imul(z,It)|0,a=a+Math.imul(z,Ut)|0,a=a+Math.imul(Z,It)|0,b=b+Math.imul(Z,Ut)|0,g=g+Math.imul(rt,qt)|0,a=a+Math.imul(rt,Ot)|0,a=a+Math.imul(ot,qt)|0,b=b+Math.imul(ot,Ot)|0,g=g+Math.imul(H,Ht)|0,a=a+Math.imul(H,Pt)|0,a=a+Math.imul(W,Ht)|0,b=b+Math.imul(W,Pt)|0,g=g+Math.imul(J,$t)|0,a=a+Math.imul(J,zt)|0,a=a+Math.imul(at,$t)|0,b=b+Math.imul(at,zt)|0,g=g+Math.imul(it,Dt)|0,a=a+Math.imul(it,B)|0,a=a+Math.imul(Q,Dt)|0,b=b+Math.imul(Q,B)|0,g=g+Math.imul(j,st)|0,a=a+Math.imul(j,ct)|0,a=a+Math.imul(X,st)|0,b=b+Math.imul(X,ct)|0,g=g+Math.imul(S,xt)|0,a=a+Math.imul(S,Et)|0,a=a+Math.imul(L,xt)|0,b=b+Math.imul(L,Et)|0;var cr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(cr>>>26)|0,cr&=67108863,g=Math.imul(wt,Tt),a=Math.imul(wt,Rt),a=a+Math.imul(vt,Tt)|0,b=Math.imul(vt,Rt),g=g+Math.imul(tt,It)|0,a=a+Math.imul(tt,Ut)|0,a=a+Math.imul(ht,It)|0,b=b+Math.imul(ht,Ut)|0,g=g+Math.imul(z,qt)|0,a=a+Math.imul(z,Ot)|0,a=a+Math.imul(Z,qt)|0,b=b+Math.imul(Z,Ot)|0,g=g+Math.imul(rt,Ht)|0,a=a+Math.imul(rt,Pt)|0,a=a+Math.imul(ot,Ht)|0,b=b+Math.imul(ot,Pt)|0,g=g+Math.imul(H,$t)|0,a=a+Math.imul(H,zt)|0,a=a+Math.imul(W,$t)|0,b=b+Math.imul(W,zt)|0,g=g+Math.imul(J,Dt)|0,a=a+Math.imul(J,B)|0,a=a+Math.imul(at,Dt)|0,b=b+Math.imul(at,B)|0,g=g+Math.imul(it,st)|0,a=a+Math.imul(it,ct)|0,a=a+Math.imul(Q,st)|0,b=b+Math.imul(Q,ct)|0,g=g+Math.imul(j,xt)|0,a=a+Math.imul(j,Et)|0,a=a+Math.imul(X,xt)|0,b=b+Math.imul(X,Et)|0,g=g+Math.imul(S,Ft)|0,a=a+Math.imul(S,Vt)|0,a=a+Math.imul(L,Ft)|0,b=b+Math.imul(L,Vt)|0;var hr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(hr>>>26)|0,hr&=67108863,g=Math.imul(yt,Tt),a=Math.imul(yt,Rt),a=a+Math.imul(Mt,Tt)|0,b=Math.imul(Mt,Rt),g=g+Math.imul(wt,It)|0,a=a+Math.imul(wt,Ut)|0,a=a+Math.imul(vt,It)|0,b=b+Math.imul(vt,Ut)|0,g=g+Math.imul(tt,qt)|0,a=a+Math.imul(tt,Ot)|0,a=a+Math.imul(ht,qt)|0,b=b+Math.imul(ht,Ot)|0,g=g+Math.imul(z,Ht)|0,a=a+Math.imul(z,Pt)|0,a=a+Math.imul(Z,Ht)|0,b=b+Math.imul(Z,Pt)|0,g=g+Math.imul(rt,$t)|0,a=a+Math.imul(rt,zt)|0,a=a+Math.imul(ot,$t)|0,b=b+Math.imul(ot,zt)|0,g=g+Math.imul(H,Dt)|0,a=a+Math.imul(H,B)|0,a=a+Math.imul(W,Dt)|0,b=b+Math.imul(W,B)|0,g=g+Math.imul(J,st)|0,a=a+Math.imul(J,ct)|0,a=a+Math.imul(at,st)|0,b=b+Math.imul(at,ct)|0,g=g+Math.imul(it,xt)|0,a=a+Math.imul(it,Et)|0,a=a+Math.imul(Q,xt)|0,b=b+Math.imul(Q,Et)|0,g=g+Math.imul(j,Ft)|0,a=a+Math.imul(j,Vt)|0,a=a+Math.imul(X,Ft)|0,b=b+Math.imul(X,Vt)|0,g=g+Math.imul(S,Bt)|0,a=a+Math.imul(S,Nt)|0,a=a+Math.imul(L,Bt)|0,b=b+Math.imul(L,Nt)|0;var fr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(fr>>>26)|0,fr&=67108863,g=Math.imul(yt,It),a=Math.imul(yt,Ut),a=a+Math.imul(Mt,It)|0,b=Math.imul(Mt,Ut),g=g+Math.imul(wt,qt)|0,a=a+Math.imul(wt,Ot)|0,a=a+Math.imul(vt,qt)|0,b=b+Math.imul(vt,Ot)|0,g=g+Math.imul(tt,Ht)|0,a=a+Math.imul(tt,Pt)|0,a=a+Math.imul(ht,Ht)|0,b=b+Math.imul(ht,Pt)|0,g=g+Math.imul(z,$t)|0,a=a+Math.imul(z,zt)|0,a=a+Math.imul(Z,$t)|0,b=b+Math.imul(Z,zt)|0,g=g+Math.imul(rt,Dt)|0,a=a+Math.imul(rt,B)|0,a=a+Math.imul(ot,Dt)|0,b=b+Math.imul(ot,B)|0,g=g+Math.imul(H,st)|0,a=a+Math.imul(H,ct)|0,a=a+Math.imul(W,st)|0,b=b+Math.imul(W,ct)|0,g=g+Math.imul(J,xt)|0,a=a+Math.imul(J,Et)|0,a=a+Math.imul(at,xt)|0,b=b+Math.imul(at,Et)|0,g=g+Math.imul(it,Ft)|0,a=a+Math.imul(it,Vt)|0,a=a+Math.imul(Q,Ft)|0,b=b+Math.imul(Q,Vt)|0,g=g+Math.imul(j,Bt)|0,a=a+Math.imul(j,Nt)|0,a=a+Math.imul(X,Bt)|0,b=b+Math.imul(X,Nt)|0;var dr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(dr>>>26)|0,dr&=67108863,g=Math.imul(yt,qt),a=Math.imul(yt,Ot),a=a+Math.imul(Mt,qt)|0,b=Math.imul(Mt,Ot),g=g+Math.imul(wt,Ht)|0,a=a+Math.imul(wt,Pt)|0,a=a+Math.imul(vt,Ht)|0,b=b+Math.imul(vt,Pt)|0,g=g+Math.imul(tt,$t)|0,a=a+Math.imul(tt,zt)|0,a=a+Math.imul(ht,$t)|0,b=b+Math.imul(ht,zt)|0,g=g+Math.imul(z,Dt)|0,a=a+Math.imul(z,B)|0,a=a+Math.imul(Z,Dt)|0,b=b+Math.imul(Z,B)|0,g=g+Math.imul(rt,st)|0,a=a+Math.imul(rt,ct)|0,a=a+Math.imul(ot,st)|0,b=b+Math.imul(ot,ct)|0,g=g+Math.imul(H,xt)|0,a=a+Math.imul(H,Et)|0,a=a+Math.imul(W,xt)|0,b=b+Math.imul(W,Et)|0,g=g+Math.imul(J,Ft)|0,a=a+Math.imul(J,Vt)|0,a=a+Math.imul(at,Ft)|0,b=b+Math.imul(at,Vt)|0,g=g+Math.imul(it,Bt)|0,a=a+Math.imul(it,Nt)|0,a=a+Math.imul(Q,Bt)|0,b=b+Math.imul(Q,Nt)|0;var pr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(pr>>>26)|0,pr&=67108863,g=Math.imul(yt,Ht),a=Math.imul(yt,Pt),a=a+Math.imul(Mt,Ht)|0,b=Math.imul(Mt,Pt),g=g+Math.imul(wt,$t)|0,a=a+Math.imul(wt,zt)|0,a=a+Math.imul(vt,$t)|0,b=b+Math.imul(vt,zt)|0,g=g+Math.imul(tt,Dt)|0,a=a+Math.imul(tt,B)|0,a=a+Math.imul(ht,Dt)|0,b=b+Math.imul(ht,B)|0,g=g+Math.imul(z,st)|0,a=a+Math.imul(z,ct)|0,a=a+Math.imul(Z,st)|0,b=b+Math.imul(Z,ct)|0,g=g+Math.imul(rt,xt)|0,a=a+Math.imul(rt,Et)|0,a=a+Math.imul(ot,xt)|0,b=b+Math.imul(ot,Et)|0,g=g+Math.imul(H,Ft)|0,a=a+Math.imul(H,Vt)|0,a=a+Math.imul(W,Ft)|0,b=b+Math.imul(W,Vt)|0,g=g+Math.imul(J,Bt)|0,a=a+Math.imul(J,Nt)|0,a=a+Math.imul(at,Bt)|0,b=b+Math.imul(at,Nt)|0;var mr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(mr>>>26)|0,mr&=67108863,g=Math.imul(yt,$t),a=Math.imul(yt,zt),a=a+Math.imul(Mt,$t)|0,b=Math.imul(Mt,zt),g=g+Math.imul(wt,Dt)|0,a=a+Math.imul(wt,B)|0,a=a+Math.imul(vt,Dt)|0,b=b+Math.imul(vt,B)|0,g=g+Math.imul(tt,st)|0,a=a+Math.imul(tt,ct)|0,a=a+Math.imul(ht,st)|0,b=b+Math.imul(ht,ct)|0,g=g+Math.imul(z,xt)|0,a=a+Math.imul(z,Et)|0,a=a+Math.imul(Z,xt)|0,b=b+Math.imul(Z,Et)|0,g=g+Math.imul(rt,Ft)|0,a=a+Math.imul(rt,Vt)|0,a=a+Math.imul(ot,Ft)|0,b=b+Math.imul(ot,Vt)|0,g=g+Math.imul(H,Bt)|0,a=a+Math.imul(H,Nt)|0,a=a+Math.imul(W,Bt)|0,b=b+Math.imul(W,Nt)|0;var gr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(gr>>>26)|0,gr&=67108863,g=Math.imul(yt,Dt),a=Math.imul(yt,B),a=a+Math.imul(Mt,Dt)|0,b=Math.imul(Mt,B),g=g+Math.imul(wt,st)|0,a=a+Math.imul(wt,ct)|0,a=a+Math.imul(vt,st)|0,b=b+Math.imul(vt,ct)|0,g=g+Math.imul(tt,xt)|0,a=a+Math.imul(tt,Et)|0,a=a+Math.imul(ht,xt)|0,b=b+Math.imul(ht,Et)|0,g=g+Math.imul(z,Ft)|0,a=a+Math.imul(z,Vt)|0,a=a+Math.imul(Z,Ft)|0,b=b+Math.imul(Z,Vt)|0,g=g+Math.imul(rt,Bt)|0,a=a+Math.imul(rt,Nt)|0,a=a+Math.imul(ot,Bt)|0,b=b+Math.imul(ot,Nt)|0;var _r=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(_r>>>26)|0,_r&=67108863,g=Math.imul(yt,st),a=Math.imul(yt,ct),a=a+Math.imul(Mt,st)|0,b=Math.imul(Mt,ct),g=g+Math.imul(wt,xt)|0,a=a+Math.imul(wt,Et)|0,a=a+Math.imul(vt,xt)|0,b=b+Math.imul(vt,Et)|0,g=g+Math.imul(tt,Ft)|0,a=a+Math.imul(tt,Vt)|0,a=a+Math.imul(ht,Ft)|0,b=b+Math.imul(ht,Vt)|0,g=g+Math.imul(z,Bt)|0,a=a+Math.imul(z,Nt)|0,a=a+Math.imul(Z,Bt)|0,b=b+Math.imul(Z,Nt)|0;var br=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(br>>>26)|0,br&=67108863,g=Math.imul(yt,xt),a=Math.imul(yt,Et),a=a+Math.imul(Mt,xt)|0,b=Math.imul(Mt,Et),g=g+Math.imul(wt,Ft)|0,a=a+Math.imul(wt,Vt)|0,a=a+Math.imul(vt,Ft)|0,b=b+Math.imul(vt,Vt)|0,g=g+Math.imul(tt,Bt)|0,a=a+Math.imul(tt,Nt)|0,a=a+Math.imul(ht,Bt)|0,b=b+Math.imul(ht,Nt)|0;var yr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(yr>>>26)|0,yr&=67108863,g=Math.imul(yt,Ft),a=Math.imul(yt,Vt),a=a+Math.imul(Mt,Ft)|0,b=Math.imul(Mt,Vt),g=g+Math.imul(wt,Bt)|0,a=a+Math.imul(wt,Nt)|0,a=a+Math.imul(vt,Bt)|0,b=b+Math.imul(vt,Nt)|0;var xr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(xr>>>26)|0,xr&=67108863,g=Math.imul(yt,Bt),a=Math.imul(yt,Nt),a=a+Math.imul(Mt,Bt)|0,b=Math.imul(Mt,Nt);var wr=(w+g|0)+((a&8191)<<13)|0;if(w=(b+(a>>>13)|0)+(wr>>>26)|0,wr&=67108863,x[0]=Qe,x[1]=de,x[2]=ce,x[3]=De,x[4]=Le,x[5]=ar,x[6]=ur,x[7]=cr,x[8]=hr,x[9]=fr,x[10]=dr,x[11]=pr,x[12]=mr,x[13]=gr,x[14]=_r,x[15]=br,x[16]=yr,x[17]=xr,x[18]=wr,w!==0)x[19]=w,d.length++;return d};if(!Math.imul)k=A;function R(l,c,d){d.negative=c.negative^l.negative,d.length=l.length+c.length;var u=0,f=0;for(var x=0;x<d.length-1;x++){var w=f;f=0;var g=u&67108863,a=Math.min(x,c.length-1);for(var b=Math.max(0,x-l.length+1);b<=a;b++){var E=x-b,S=l.words[E]|0,L=c.words[b]|0,q=S*L,j=q&67108863;w=w+(q/67108864|0)|0,j=j+g|0,g=j&67108863,w=w+(j>>>26)|0,f+=w>>>26,w&=67108863}d.words[x]=g,u=w,w=f}if(u!==0)d.words[x]=u;else d.length--;return d.strip()}function T(l,c,d){var u=new I;return u.mulp(l,c,d)}s.prototype.mulTo=function(l,c){var d,u=this.length+l.length;if(this.length===10&&l.length===10)d=k(this,l,c);else if(u<63)d=A(this,l,c);else if(u<1024)d=R(this,l,c);else d=T(this,l,c);return d};function I(l,c){this.x=l,this.y=c}I.prototype.makeRBT=function(l){var c=Array(l),d=s.prototype._countBits(l)-1;for(var u=0;u<l;u++)c[u]=this.revBin(u,d,l);return c},I.prototype.revBin=function(l,c,d){if(l===0||l===d-1)return l;var u=0;for(var f=0;f<c;f++)u|=(l&1)<<c-f-1,l>>=1;return u},I.prototype.permute=function(l,c,d,u,f,x){for(var w=0;w<x;w++)u[w]=c[l[w]],f[w]=d[l[w]]},I.prototype.transform=function(l,c,d,u,f,x){this.permute(x,l,c,d,u,f);for(var w=1;w<f;w<<=1){var g=w<<1,a=Math.cos(2*Math.PI/g),b=Math.sin(2*Math.PI/g);for(var E=0;E<f;E+=g){var S=a,L=b;for(var q=0;q<w;q++){var j=d[E+q],X=u[E+q],bt=d[E+q+w],it=u[E+q+w],Q=S*bt-L*it;if(it=S*it+L*bt,bt=Q,d[E+q]=j+bt,u[E+q]=X+it,d[E+q+w]=j-bt,u[E+q+w]=X-it,q!==g)Q=a*S-b*L,L=a*L+b*S,S=Q}}}},I.prototype.guessLen13b=function(l,c){var d=Math.max(c,l)|1,u=d&1,f=0;for(d=d/2|0;d;d=d>>>1)f++;return 1<<f+1+u},I.prototype.conjugate=function(l,c,d){if(d<=1)return;for(var u=0;u<d/2;u++){var f=l[u];l[u]=l[d-u-1],l[d-u-1]=f,f=c[u],c[u]=-c[d-u-1],c[d-u-1]=-f}},I.prototype.normalize13b=function(l,c){var d=0;for(var u=0;u<c/2;u++){var f=Math.round(l[2*u+1]/c)*8192+Math.round(l[2*u]/c)+d;if(l[u]=f&67108863,f<67108864)d=0;else d=f/67108864|0}return l},I.prototype.convert13b=function(l,c,d,u){var f=0;for(var x=0;x<c;x++)f=f+(l[x]|0),d[2*x]=f&8191,f=f>>>13,d[2*x+1]=f&8191,f=f>>>13;for(x=2*c;x<u;++x)d[x]=0;n(f===0),n((f&-8192)===0)},I.prototype.stub=function(l){var c=Array(l);for(var d=0;d<l;d++)c[d]=0;return c},I.prototype.mulp=function(l,c,d){var u=2*this.guessLen13b(l.length,c.length),f=this.makeRBT(u),x=this.stub(u),w=Array(u),g=Array(u),a=Array(u),b=Array(u),E=Array(u),S=Array(u),L=d.words;L.length=u,this.convert13b(l.words,l.length,w,u),this.convert13b(c.words,c.length,b,u),this.transform(w,x,g,a,u,f),this.transform(b,x,E,S,u,f);for(var q=0;q<u;q++){var j=g[q]*E[q]-a[q]*S[q];a[q]=g[q]*S[q]+a[q]*E[q],g[q]=j}return this.conjugate(g,a,u),this.transform(g,a,L,x,u,f),this.conjugate(L,x,u),this.normalize13b(L,u),d.negative=l.negative^c.negative,d.length=l.length+c.length,d.strip()},s.prototype.mul=function(l){var c=new s(null);return c.words=Array(this.length+l.length),this.mulTo(l,c)},s.prototype.mulf=function(l){var c=new s(null);return c.words=Array(this.length+l.length),T(this,l,c)},s.prototype.imul=function(l){return this.clone().mulTo(l,this)},s.prototype.imuln=function(l){n(typeof l==="number"),n(l<67108864);var c=0;for(var d=0;d<this.length;d++){var u=(this.words[d]|0)*l,f=(u&67108863)+(c&67108863);c>>=26,c+=u/67108864|0,c+=f>>>26,this.words[d]=f&67108863}if(c!==0)this.words[d]=c,this.length++;return this.length=l===0?1:this.length,this},s.prototype.muln=function(l){return this.clone().imuln(l)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(l){var c=M(l);if(c.length===0)return new s(1);var d=this;for(var u=0;u<c.length;u++,d=d.sqr())if(c[u]!==0)break;if(++u<c.length)for(var f=d.sqr();u<c.length;u++,f=f.sqr()){if(c[u]===0)continue;d=d.mul(f)}return d},s.prototype.iushln=function(l){n(typeof l==="number"&&l>=0);var c=l%26,d=(l-c)/26,u=67108863>>>26-c<<26-c,f;if(c!==0){var x=0;for(f=0;f<this.length;f++){var w=this.words[f]&u,g=(this.words[f]|0)-w<<c;this.words[f]=g|x,x=w>>>26-c}if(x)this.words[f]=x,this.length++}if(d!==0){for(f=this.length-1;f>=0;f--)this.words[f+d]=this.words[f];for(f=0;f<d;f++)this.words[f]=0;this.length+=d}return this.strip()},s.prototype.ishln=function(l){return n(this.negative===0),this.iushln(l)},s.prototype.iushrn=function(l,c,d){n(typeof l==="number"&&l>=0);var u;if(c)u=(c-c%26)/26;else u=0;var f=l%26,x=Math.min((l-f)/26,this.length),w=67108863^67108863>>>f<<f,g=d;if(u-=x,u=Math.max(0,u),g){for(var a=0;a<x;a++)g.words[a]=this.words[a];g.length=x}if(x===0);else if(this.length>x){this.length-=x;for(a=0;a<this.length;a++)this.words[a]=this.words[a+x]}else this.words[0]=0,this.length=1;var b=0;for(a=this.length-1;a>=0&&(b!==0||a>=u);a--){var E=this.words[a]|0;this.words[a]=b<<26-f|E>>>f,b=E&w}if(g&&b!==0)g.words[g.length++]=b;if(this.length===0)this.words[0]=0,this.length=1;return this.strip()},s.prototype.ishrn=function(l,c,d){return n(this.negative===0),this.iushrn(l,c,d)},s.prototype.shln=function(l){return this.clone().ishln(l)},s.prototype.ushln=function(l){return this.clone().iushln(l)},s.prototype.shrn=function(l){return this.clone().ishrn(l)},s.prototype.ushrn=function(l){return this.clone().iushrn(l)},s.prototype.testn=function(l){n(typeof l==="number"&&l>=0);var c=l%26,d=(l-c)/26,u=1<<c;if(this.length<=d)return!1;var f=this.words[d];return!!(f&u)},s.prototype.imaskn=function(l){n(typeof l==="number"&&l>=0);var c=l%26,d=(l-c)/26;if(n(this.negative===0,"imaskn works only with positive numbers"),this.length<=d)return this;if(c!==0)d++;if(this.length=Math.min(d,this.length),c!==0){var u=67108863^67108863>>>c<<c;this.words[this.length-1]&=u}return this.strip()},s.prototype.maskn=function(l){return this.clone().imaskn(l)},s.prototype.iaddn=function(l){if(n(typeof l==="number"),n(l<67108864),l<0)return this.isubn(-l);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<l)return this.words[0]=l-(this.words[0]|0),this.negative=0,this;return this.negative=0,this.isubn(l),this.negative=1,this}return this._iaddn(l)},s.prototype._iaddn=function(l){this.words[0]+=l;for(var c=0;c<this.length&&this.words[c]>=67108864;c++)if(this.words[c]-=67108864,c===this.length-1)this.words[c+1]=1;else this.words[c+1]++;return this.length=Math.max(this.length,c+1),this},s.prototype.isubn=function(l){if(n(typeof l==="number"),n(l<67108864),l<0)return this.iaddn(-l);if(this.negative!==0)return this.negative=0,this.iaddn(l),this.negative=1,this;if(this.words[0]-=l,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var c=0;c<this.length&&this.words[c]<0;c++)this.words[c]+=67108864,this.words[c+1]-=1;return this.strip()},s.prototype.addn=function(l){return this.clone().iaddn(l)},s.prototype.subn=function(l){return this.clone().isubn(l)},s.prototype.iabs=function(){return this.negative=0,this},s.prototype.abs=function(){return this.clone().iabs()},s.prototype._ishlnsubmul=function(l,c,d){var u=l.length+d,f;this._expand(u);var x,w=0;for(f=0;f<l.length;f++){x=(this.words[f+d]|0)+w;var g=(l.words[f]|0)*c;x-=g&67108863,w=(x>>26)-(g/67108864|0),this.words[f+d]=x&67108863}for(;f<this.length-d;f++)x=(this.words[f+d]|0)+w,w=x>>26,this.words[f+d]=x&67108863;if(w===0)return this.strip();n(w===-1),w=0;for(f=0;f<this.length;f++)x=-(this.words[f]|0)+w,w=x>>26,this.words[f]=x&67108863;return this.negative=1,this.strip()},s.prototype._wordDiv=function(l,c){var d=this.length-l.length,u=this.clone(),f=l,x=f.words[f.length-1]|0,w=this._countBits(x);if(d=26-w,d!==0)f=f.ushln(d),u.iushln(d),x=f.words[f.length-1]|0;var g=u.length-f.length,a;if(c!=="mod"){a=new s(null),a.length=g+1,a.words=Array(a.length);for(var b=0;b<a.length;b++)a.words[b]=0}var E=u.clone()._ishlnsubmul(f,1,g);if(E.negative===0){if(u=E,a)a.words[g]=1}for(var S=g-1;S>=0;S--){var L=(u.words[f.length+S]|0)*67108864+(u.words[f.length+S-1]|0);L=Math.min(L/x|0,67108863),u._ishlnsubmul(f,L,S);while(u.negative!==0)if(L--,u.negative=0,u._ishlnsubmul(f,1,S),!u.isZero())u.negative^=1;if(a)a.words[S]=L}if(a)a.strip();if(u.strip(),c!=="div"&&d!==0)u.iushrn(d);return{div:a||null,mod:u}},s.prototype.divmod=function(l,c,d){if(n(!l.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var u,f,x;if(this.negative!==0&&l.negative===0){if(x=this.neg().divmod(l,c),c!=="mod")u=x.div.neg();if(c!=="div"){if(f=x.mod.neg(),d&&f.negative!==0)f.iadd(l)}return{div:u,mod:f}}if(this.negative===0&&l.negative!==0){if(x=this.divmod(l.neg(),c),c!=="mod")u=x.div.neg();return{div:u,mod:x.mod}}if((this.negative&l.negative)!==0){if(x=this.neg().divmod(l.neg(),c),c!=="div"){if(f=x.mod.neg(),d&&f.negative!==0)f.isub(l)}return{div:x.div,mod:f}}if(l.length>this.length||this.cmp(l)<0)return{div:new s(0),mod:this};if(l.length===1){if(c==="div")return{div:this.divn(l.words[0]),mod:null};if(c==="mod")return{div:null,mod:new s(this.modn(l.words[0]))};return{div:this.divn(l.words[0]),mod:new s(this.modn(l.words[0]))}}return this._wordDiv(l,c)},s.prototype.div=function(l){return this.divmod(l,"div",!1).div},s.prototype.mod=function(l){return this.divmod(l,"mod",!1).mod},s.prototype.umod=function(l){return this.divmod(l,"mod",!0).mod},s.prototype.divRound=function(l){var c=this.divmod(l);if(c.mod.isZero())return c.div;var d=c.div.negative!==0?c.mod.isub(l):c.mod,u=l.ushrn(1),f=l.andln(1),x=d.cmp(u);if(x<0||f===1&&x===0)return c.div;return c.div.negative!==0?c.div.isubn(1):c.div.iaddn(1)},s.prototype.modn=function(l){n(l<=67108863);var c=67108864%l,d=0;for(var u=this.length-1;u>=0;u--)d=(c*d+(this.words[u]|0))%l;return d},s.prototype.idivn=function(l){n(l<=67108863);var c=0;for(var d=this.length-1;d>=0;d--){var u=(this.words[d]|0)+c*67108864;this.words[d]=u/l|0,c=u%l}return this.strip()},s.prototype.divn=function(l){return this.clone().idivn(l)},s.prototype.egcd=function(l){n(l.negative===0),n(!l.isZero());var c=this,d=l.clone();if(c.negative!==0)c=c.umod(l);else c=c.clone();var u=new s(1),f=new s(0),x=new s(0),w=new s(1),g=0;while(c.isEven()&&d.isEven())c.iushrn(1),d.iushrn(1),++g;var a=d.clone(),b=c.clone();while(!c.isZero()){for(var E=0,S=1;(c.words[0]&S)===0&&E<26;++E,S<<=1);if(E>0){c.iushrn(E);while(E-- >0){if(u.isOdd()||f.isOdd())u.iadd(a),f.isub(b);u.iushrn(1),f.iushrn(1)}}for(var L=0,q=1;(d.words[0]&q)===0&&L<26;++L,q<<=1);if(L>0){d.iushrn(L);while(L-- >0){if(x.isOdd()||w.isOdd())x.iadd(a),w.isub(b);x.iushrn(1),w.iushrn(1)}}if(c.cmp(d)>=0)c.isub(d),u.isub(x),f.isub(w);else d.isub(c),x.isub(u),w.isub(f)}return{a:x,b:w,gcd:d.iushln(g)}},s.prototype._invmp=function(l){n(l.negative===0),n(!l.isZero());var c=this,d=l.clone();if(c.negative!==0)c=c.umod(l);else c=c.clone();var u=new s(1),f=new s(0),x=d.clone();while(c.cmpn(1)>0&&d.cmpn(1)>0){for(var w=0,g=1;(c.words[0]&g)===0&&w<26;++w,g<<=1);if(w>0){c.iushrn(w);while(w-- >0){if(u.isOdd())u.iadd(x);u.iushrn(1)}}for(var a=0,b=1;(d.words[0]&b)===0&&a<26;++a,b<<=1);if(a>0){d.iushrn(a);while(a-- >0){if(f.isOdd())f.iadd(x);f.iushrn(1)}}if(c.cmp(d)>=0)c.isub(d),u.isub(f);else d.isub(c),f.isub(u)}var E;if(c.cmpn(1)===0)E=u;else E=f;if(E.cmpn(0)<0)E.iadd(l);return E},s.prototype.gcd=function(l){if(this.isZero())return l.abs();if(l.isZero())return this.abs();var c=this.clone(),d=l.clone();c.negative=0,d.negative=0;for(var u=0;c.isEven()&&d.isEven();u++)c.iushrn(1),d.iushrn(1);do{while(c.isEven())c.iushrn(1);while(d.isEven())d.iushrn(1);var f=c.cmp(d);if(f<0){var x=c;c=d,d=x}else if(f===0||d.cmpn(1)===0)break;c.isub(d)}while(!0);return d.iushln(u)},s.prototype.invm=function(l){return this.egcd(l).a.umod(l)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(l){return this.words[0]&l},s.prototype.bincn=function(l){n(typeof l==="number");var c=l%26,d=(l-c)/26,u=1<<c;if(this.length<=d)return this._expand(d+1),this.words[d]|=u,this;var f=u;for(var x=d;f!==0&&x<this.length;x++){var w=this.words[x]|0;w+=f,f=w>>>26,w&=67108863,this.words[x]=w}if(f!==0)this.words[x]=f,this.length++;return this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(l){var c=l<0;if(this.negative!==0&&!c)return-1;if(this.negative===0&&c)return 1;this.strip();var d;if(this.length>1)d=1;else{if(c)l=-l;n(l<=67108863,"Number is too big");var u=this.words[0]|0;d=u===l?0:u<l?-1:1}if(this.negative!==0)return-d|0;return d},s.prototype.cmp=function(l){if(this.negative!==0&&l.negative===0)return-1;if(this.negative===0&&l.negative!==0)return 1;var c=this.ucmp(l);if(this.negative!==0)return-c|0;return c},s.prototype.ucmp=function(l){if(this.length>l.length)return 1;if(this.length<l.length)return-1;var c=0;for(var d=this.length-1;d>=0;d--){var u=this.words[d]|0,f=l.words[d]|0;if(u===f)continue;if(u<f)c=-1;else if(u>f)c=1;break}return c},s.prototype.gtn=function(l){return this.cmpn(l)===1},s.prototype.gt=function(l){return this.cmp(l)===1},s.prototype.gten=function(l){return this.cmpn(l)>=0},s.prototype.gte=function(l){return this.cmp(l)>=0},s.prototype.ltn=function(l){return this.cmpn(l)===-1},s.prototype.lt=function(l){return this.cmp(l)===-1},s.prototype.lten=function(l){return this.cmpn(l)<=0},s.prototype.lte=function(l){return this.cmp(l)<=0},s.prototype.eqn=function(l){return this.cmpn(l)===0},s.prototype.eq=function(l){return this.cmp(l)===0},s.red=function(l){return new V(l)},s.prototype.toRed=function(l){return n(!this.red,"Already a number in reduction context"),n(this.negative===0,"red works only with positives"),l.convertTo(this)._forceRed(l)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(l){return this.red=l,this},s.prototype.forceRed=function(l){return n(!this.red,"Already a number in reduction context"),this._forceRed(l)},s.prototype.redAdd=function(l){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,l)},s.prototype.redIAdd=function(l){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,l)},s.prototype.redSub=function(l){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,l)},s.prototype.redISub=function(l){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,l)},s.prototype.redShl=function(l){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,l)},s.prototype.redMul=function(l){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,l),this.red.mul(this,l)},s.prototype.redIMul=function(l){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,l),this.red.imul(this,l)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(l){return n(this.red&&!l.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,l)};var P={k256:null,p224:null,p192:null,p25519:null};function F(l,c){this.name=l,this.p=new s(c,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}F.prototype._tmp=function(){var l=new s(null);return l.words=Array(Math.ceil(this.n/13)),l},F.prototype.ireduce=function(l){var c=l,d;do this.split(c,this.tmp),c=this.imulK(c),c=c.iadd(this.tmp),d=c.bitLength();while(d>this.n);var u=d<this.n?-1:c.ucmp(this.p);if(u===0)c.words[0]=0,c.length=1;else if(u>0)c.isub(this.p);else if(c.strip!==void 0)c.strip();else c._strip();return c},F.prototype.split=function(l,c){l.iushrn(this.n,0,c)},F.prototype.imulK=function(l){return l.imul(this.k)};function G(){F.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}o(G,F),G.prototype.split=function(l,c){var d=4194303,u=Math.min(l.length,9);for(var f=0;f<u;f++)c.words[f]=l.words[f];if(c.length=u,l.length<=9){l.words[0]=0,l.length=1;return}var x=l.words[9];c.words[c.length++]=x&d;for(f=10;f<l.length;f++){var w=l.words[f]|0;l.words[f-10]=(w&d)<<4|x>>>22,x=w}if(x>>>=22,l.words[f-10]=x,x===0&&l.length>10)l.length-=10;else l.length-=9},G.prototype.imulK=function(l){l.words[l.length]=0,l.words[l.length+1]=0,l.length+=2;var c=0;for(var d=0;d<l.length;d++){var u=l.words[d]|0;c+=u*977,l.words[d]=c&67108863,c=u*64+(c/67108864|0)}if(l.words[l.length-1]===0){if(l.length--,l.words[l.length-1]===0)l.length--}return l};function lt(){F.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}o(lt,F);function dt(){F.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}o(dt,F);function ut(){F.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}o(ut,F),ut.prototype.imulK=function(l){var c=0;for(var d=0;d<l.length;d++){var u=(l.words[d]|0)*19+c,f=u&67108863;u>>>=26,l.words[d]=f,c=u}if(c!==0)l.words[l.length++]=c;return l},s._prime=function(l){if(P[l])return P[l];var c;if(l==="k256")c=new G;else if(l==="p224")c=new lt;else if(l==="p192")c=new dt;else if(l==="p25519")c=new ut;else throw Error("Unknown prime "+l);return P[l]=c,c};function V(l){if(typeof l==="string"){var c=s._prime(l);this.m=c.p,this.prime=c}else n(l.gtn(1),"modulus must be greater than 1"),this.m=l,this.prime=null}V.prototype._verify1=function(l){n(l.negative===0,"red works only with positives"),n(l.red,"red works only with red numbers")},V.prototype._verify2=function(l,c){n((l.negative|c.negative)===0,"red works only with positives"),n(l.red&&l.red===c.red,"red works only with red numbers")},V.prototype.imod=function(l){if(this.prime)return this.prime.ireduce(l)._forceRed(this);return l.umod(this.m)._forceRed(this)},V.prototype.neg=function(l){if(l.isZero())return l.clone();return this.m.sub(l)._forceRed(this)},V.prototype.add=function(l,c){this._verify2(l,c);var d=l.add(c);if(d.cmp(this.m)>=0)d.isub(this.m);return d._forceRed(this)},V.prototype.iadd=function(l,c){this._verify2(l,c);var d=l.iadd(c);if(d.cmp(this.m)>=0)d.isub(this.m);return d},V.prototype.sub=function(l,c){this._verify2(l,c);var d=l.sub(c);if(d.cmpn(0)<0)d.iadd(this.m);return d._forceRed(this)},V.prototype.isub=function(l,c){this._verify2(l,c);var d=l.isub(c);if(d.cmpn(0)<0)d.iadd(this.m);return d},V.prototype.shl=function(l,c){return this._verify1(l),this.imod(l.ushln(c))},V.prototype.imul=function(l,c){return this._verify2(l,c),this.imod(l.imul(c))},V.prototype.mul=function(l,c){return this._verify2(l,c),this.imod(l.mul(c))},V.prototype.isqr=function(l){return this.imul(l,l.clone())},V.prototype.sqr=function(l){return this.mul(l,l)},V.prototype.sqrt=function(l){if(l.isZero())return l.clone();var c=this.m.andln(3);if(n(c%2===1),c===3){var d=this.m.add(new s(1)).iushrn(2);return this.pow(l,d)}var u=this.m.subn(1),f=0;while(!u.isZero()&&u.andln(1)===0)f++,u.iushrn(1);n(!u.isZero());var x=new s(1).toRed(this),w=x.redNeg(),g=this.m.subn(1).iushrn(1),a=this.m.bitLength();a=new s(2*a*a).toRed(this);while(this.pow(a,g).cmp(w)!==0)a.redIAdd(w);var b=this.pow(a,u),E=this.pow(l,u.addn(1).iushrn(1)),S=this.pow(l,u),L=f;while(S.cmp(x)!==0){var q=S;for(var j=0;q.cmp(x)!==0;j++)q=q.redSqr();n(j<L);var X=this.pow(b,new s(1).iushln(L-j-1));E=E.redMul(X),b=X.redSqr(),S=S.redMul(b),L=j}return E},V.prototype.invm=function(l){var c=l._invmp(this.m);if(c.negative!==0)return c.negative=0,this.imod(c).redNeg();else return this.imod(c)},V.prototype.pow=function(l,c){if(c.isZero())return new s(1).toRed(this);if(c.cmpn(1)===0)return l.clone();var d=4,u=Array(1<<d);u[0]=new s(1).toRed(this),u[1]=l;for(var f=2;f<u.length;f++)u[f]=this.mul(u[f-1],l);var x=u[0],w=0,g=0,a=c.bitLength()%26;if(a===0)a=26;for(f=c.length-1;f>=0;f--){var b=c.words[f];for(var E=a-1;E>=0;E--){var S=b>>E&1;if(x!==u[0])x=this.sqr(x);if(S===0&&w===0){g=0;continue}if(w<<=1,w|=S,g++,g!==d&&(f!==0||E!==0))continue;x=this.mul(x,u[w]),g=0,w=0}a=26}return x},V.prototype.convertTo=function(l){var c=l.umod(this.m);return c===l?c.clone():c},V.prototype.convertFrom=function(l){var c=l.clone();return c.red=null,c},s.mont=function(l){return new nt(l)};function nt(l){if(V.call(this,l),this.shift=this.m.bitLength(),this.shift%26!==0)this.shift+=26-this.shift%26;this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}o(nt,V),nt.prototype.convertTo=function(l){return this.imod(l.ushln(this.shift))},nt.prototype.convertFrom=function(l){var c=this.imod(l.mul(this.rinv));return c.red=null,c},nt.prototype.imul=function(l,c){if(l.isZero()||c.isZero())return l.words[0]=0,l.length=1,l;var d=l.imul(c),u=d.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),f=d.isub(u).iushrn(this.shift),x=f;if(f.cmp(this.m)>=0)x=f.isub(this.m);else if(f.cmpn(0)<0)x=f.iadd(this.m);return x._forceRed(this)},nt.prototype.mul=function(l,c){if(l.isZero()||c.isZero())return new s(0)._forceRed(this);var d=l.mul(c),u=d.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),f=d.isub(u).iushrn(this.shift),x=f;if(f.cmp(this.m)>=0)x=f.isub(this.m);else if(f.cmpn(0)<0)x=f.iadd(this.m);return x._forceRed(this)},nt.prototype.invm=function(l){var c=this.imod(l._invmp(this.m).mul(this.r2));return c._forceRed(this)}})(typeof e>"u"||e,t)}),gi=gt((t,e)=>{e.exports=r;function r(i,n){if(!i)throw Error(n||"Assertion failed")}r.equal=function(i,n,o){if(i!=n)throw Error(o||"Assertion failed: "+i+" != "+n)}}),jg=gt((t)=>{var e=t;function r(o,s){if(Array.isArray(o))return o.slice();if(!o)return[];var h=[];if(typeof o!=="string"){for(var m=0;m<o.length;m++)h[m]=o[m]|0;return h}if(s==="hex"){if(o=o.replace(/[^a-z0-9]+/ig,""),o.length%2!==0)o="0"+o;for(var m=0;m<o.length;m+=2)h.push(parseInt(o[m]+o[m+1],16))}else for(var m=0;m<o.length;m++){var p=o.charCodeAt(m),y=p>>8,_=p&255;if(y)h.push(y,_);else h.push(_)}return h}e.toArray=r;function i(o){if(o.length===1)return"0"+o;else return o}e.zero2=i;function n(o){var s="";for(var h=0;h<o.length;h++)s+=i(o[h].toString(16));return s}e.toHex=n,e.encode=function(o,s){if(s==="hex")return n(o);else return o}}),_n=gt((t)=>{var e=t,r=Jn(),i=gi(),n=jg();e.assert=i,e.toArray=n.toArray,e.zero2=n.zero2,e.toHex=n.toHex,e.encode=n.encode;function o(y,_,v){var C=Array(Math.max(y.bitLength(),v)+1),M;for(M=0;M<C.length;M+=1)C[M]=0;var A=1<<_+1,k=y.clone();for(M=0;M<C.length;M++){var R,T=k.andln(A-1);if(k.isOdd()){if(T>(A>>1)-1)R=(A>>1)-T;else R=T;k.isubn(R)}else R=0;C[M]=R,k.iushrn(1)}return C}e.getNAF=o;function s(y,_){var v=[[],[]];y=y.clone(),_=_.clone();var C=0,M=0,A;while(y.cmpn(-C)>0||_.cmpn(-M)>0){var k=y.andln(3)+C&3,R=_.andln(3)+M&3;if(k===3)k=-1;if(R===3)R=-1;var T;if((k&1)===0)T=0;else if(A=y.andln(7)+C&7,(A===3||A===5)&&R===2)T=-k;else T=k;v[0].push(T);var I;if((R&1)===0)I=0;else if(A=_.andln(7)+M&7,(A===3||A===5)&&k===2)I=-R;else I=R;if(v[1].push(I),2*C===T+1)C=1-C;if(2*M===I+1)M=1-M;y.iushrn(1),_.iushrn(1)}return v}e.getJSF=s;function h(y,_,v){var C="_"+_;y.prototype[_]=function(){return this[C]!==void 0?this[C]:this[C]=v.call(this)}}e.cachedProperty=h;function m(y){return typeof y==="string"?e.toArray(y,"hex"):y}e.parseBytes=m;function p(y){return new r(y,"hex","le")}e.intFromLE=p}),Wg=gt((t,e)=>{var r;e.exports=function(o){if(!r)r=new i(null);return r.generate(o)};function i(o){this.rand=o}if(e.exports.Rand=i,i.prototype.generate=function(o){return this._rand(o)},i.prototype._rand=function(o){if(this.rand.getBytes)return this.rand.getBytes(o);var s=new Uint8Array(o);for(var h=0;h<s.length;h++)s[h]=this.rand.getByte();return s},typeof self==="object"){if(self.crypto&&self.crypto.getRandomValues)i.prototype._rand=function(o){var s=new Uint8Array(o);return self.crypto.getRandomValues(s),s};else if(self.msCrypto&&self.msCrypto.getRandomValues)i.prototype._rand=function(o){var s=new Uint8Array(o);return self.msCrypto.getRandomValues(s),s};else if(typeof window==="object")i.prototype._rand=function(){throw Error("Not implemented yet")}}else try{if(n=(Jr(),ve(hn)),typeof n.randomBytes!=="function")throw Error("Not supported");i.prototype._rand=function(o){return n.randomBytes(o)}}catch(o){}var n}),Nu=gt((t,e)=>{var r=Jn(),i=_n(),{getNAF:n,getJSF:o,assert:s}=i;function h(p,y){this.type=p,this.p=new r(y.p,16),this.red=y.prime?r.red(y.prime):r.mont(this.p),this.zero=new r(0).toRed(this.red),this.one=new r(1).toRed(this.red),this.two=new r(2).toRed(this.red),this.n=y.n&&new r(y.n,16),this.g=y.g&&this.pointFromJSON(y.g,y.gRed),this._wnafT1=[,,,,],this._wnafT2=[,,,,],this._wnafT3=[,,,,],this._wnafT4=[,,,,],this._bitLength=this.n?this.n.bitLength():0;var _=this.n&&this.p.div(this.n);if(!_||_.cmpn(100)>0)this.redN=null;else this._maxwellTrick=!0,this.redN=this.n.toRed(this.red)}e.exports=h,h.prototype.point=function(){throw Error("Not implemented")},h.prototype.validate=function(){throw Error("Not implemented")},h.prototype._fixedNafMul=function(p,y){s(p.precomputed);var _=p._getDoubles(),v=n(y,1,this._bitLength),C=(1<<_.step+1)-(_.step%2===0?2:1);C/=3;var M=[],A,k;for(A=0;A<v.length;A+=_.step){k=0;for(var R=A+_.step-1;R>=A;R--)k=(k<<1)+v[R];M.push(k)}var T=this.jpoint(null,null,null),I=this.jpoint(null,null,null);for(var P=C;P>0;P--){for(A=0;A<M.length;A++)if(k=M[A],k===P)I=I.mixedAdd(_.points[A]);else if(k===-P)I=I.mixedAdd(_.points[A].neg());T=T.add(I)}return T.toP()},h.prototype._wnafMul=function(p,y){var _=4,v=p._getNAFPoints(_);_=v.wnd;var C=v.points,M=n(y,_,this._bitLength),A=this.jpoint(null,null,null);for(var k=M.length-1;k>=0;k--){for(var R=0;k>=0&&M[k]===0;k--)R++;if(k>=0)R++;if(A=A.dblp(R),k<0)break;var T=M[k];if(s(T!==0),p.type==="affine")if(T>0)A=A.mixedAdd(C[T-1>>1]);else A=A.mixedAdd(C[-T-1>>1].neg());else if(T>0)A=A.add(C[T-1>>1]);else A=A.add(C[-T-1>>1].neg())}return p.type==="affine"?A.toP():A},h.prototype._wnafMulAdd=function(p,y,_,v,C){var M=this._wnafT1,A=this._wnafT2,k=this._wnafT3,R=0,T,I,P;for(T=0;T<v;T++){P=y[T];var F=P._getNAFPoints(p);M[T]=F.wnd,A[T]=F.points}for(T=v-1;T>=1;T-=2){var G=T-1,lt=T;if(M[G]!==1||M[lt]!==1){k[G]=n(_[G],M[G],this._bitLength),k[lt]=n(_[lt],M[lt],this._bitLength),R=Math.max(k[G].length,R),R=Math.max(k[lt].length,R);continue}var dt=[y[G],null,null,y[lt]];if(y[G].y.cmp(y[lt].y)===0)dt[1]=y[G].add(y[lt]),dt[2]=y[G].toJ().mixedAdd(y[lt].neg());else if(y[G].y.cmp(y[lt].y.redNeg())===0)dt[1]=y[G].toJ().mixedAdd(y[lt]),dt[2]=y[G].add(y[lt].neg());else dt[1]=y[G].toJ().mixedAdd(y[lt]),dt[2]=y[G].toJ().mixedAdd(y[lt].neg());var ut=[-3,-1,-5,-7,0,7,5,1,3],V=o(_[G],_[lt]);R=Math.max(V[0].length,R),k[G]=Array(R),k[lt]=Array(R);for(I=0;I<R;I++){var nt=V[0][I]|0,l=V[1][I]|0;k[G][I]=ut[(nt+1)*3+(l+1)],k[lt][I]=0,A[G]=dt}}var c=this.jpoint(null,null,null),d=this._wnafT4;for(T=R;T>=0;T--){var u=0;while(T>=0){var f=!0;for(I=0;I<v;I++)if(d[I]=k[I][T]|0,d[I]!==0)f=!1;if(!f)break;u++,T--}if(T>=0)u++;if(c=c.dblp(u),T<0)break;for(I=0;I<v;I++){var x=d[I];if(x===0)continue;else if(x>0)P=A[I][x-1>>1];else if(x<0)P=A[I][-x-1>>1].neg();if(P.type==="affine")c=c.mixedAdd(P);else c=c.add(P)}}for(T=0;T<v;T++)A[T]=null;if(C)return c;else return c.toP()};function m(p,y){this.curve=p,this.type=y,this.precomputed=null}h.BasePoint=m,m.prototype.eq=function(){throw Error("Not implemented")},m.prototype.validate=function(){return this.curve.validate(this)},h.prototype.decodePoint=function(p,y){p=i.toArray(p,y);var _=this.p.byteLength();if((p[0]===4||p[0]===6||p[0]===7)&&p.length-1===2*_){if(p[0]===6)s(p[p.length-1]%2===0);else if(p[0]===7)s(p[p.length-1]%2===1);var v=this.point(p.slice(1,1+_),p.slice(1+_,1+2*_));return v}else if((p[0]===2||p[0]===3)&&p.length-1===_)return this.pointFromX(p.slice(1,1+_),p[0]===3);throw Error("Unknown point format")},m.prototype.encodeCompressed=function(p){return this.encode(p,!0)},m.prototype._encode=function(p){var y=this.curve.p.byteLength(),_=this.getX().toArray("be",y);if(p)return[this.getY().isEven()?2:3].concat(_);return[4].concat(_,this.getY().toArray("be",y))},m.prototype.encode=function(p,y){return i.encode(this._encode(y),p)},m.prototype.precompute=function(p){if(this.precomputed)return this;var y={doubles:null,naf:null,beta:null};return y.naf=this._getNAFPoints(8),y.doubles=this._getDoubles(4,p),y.beta=this._getBeta(),this.precomputed=y,this},m.prototype._hasDoubles=function(p){if(!this.precomputed)return!1;var y=this.precomputed.doubles;if(!y)return!1;return y.points.length>=Math.ceil((p.bitLength()+1)/y.step)},m.prototype._getDoubles=function(p,y){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;var _=[this],v=this;for(var C=0;C<y;C+=p){for(var M=0;M<p;M++)v=v.dbl();_.push(v)}return{step:p,points:_}},m.prototype._getNAFPoints=function(p){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;var y=[this],_=(1<<p)-1,v=_===1?null:this.dbl();for(var C=1;C<_;C++)y[C]=y[C-1].add(v);return{wnd:p,points:y}},m.prototype._getBeta=function(){return null},m.prototype.dblp=function(p){var y=this;for(var _=0;_<p;_++)y=y.dbl();return y}}),Dx=gt((t,e)=>{if(typeof Object.create==="function")e.exports=function(r,i){if(i)r.super_=i,r.prototype=Object.create(i.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}})};else e.exports=function(r,i){if(i){r.super_=i;var n=function(){};n.prototype=i.prototype,r.prototype=new n,r.prototype.constructor=r}}}),cn=gt((t,e)=>{try{if(r=(dg(),ve(fg)),typeof r.inherits!=="function")throw"";e.exports=r.inherits}catch(i){e.exports=Dx()}var r}),Fx=gt((t,e)=>{var r=_n(),i=Jn(),n=cn(),o=Nu(),s=r.assert;function h(y){o.call(this,"short",y),this.a=new i(y.a,16).toRed(this.red),this.b=new i(y.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=this.a.fromRed().cmpn(0)===0,this.threeA=this.a.fromRed().sub(this.p).cmpn(-3)===0,this.endo=this._getEndomorphism(y),this._endoWnafT1=[,,,,],this._endoWnafT2=[,,,,]}n(h,o),e.exports=h,h.prototype._getEndomorphism=function(y){if(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)return;var _,v;if(y.beta)_=new i(y.beta,16).toRed(this.red);else{var C=this._getEndoRoots(this.p);_=C[0].cmp(C[1])<0?C[0]:C[1],_=_.toRed(this.red)}if(y.lambda)v=new i(y.lambda,16);else{var M=this._getEndoRoots(this.n);if(this.g.mul(M[0]).x.cmp(this.g.x.redMul(_))===0)v=M[0];else v=M[1],s(this.g.mul(v).x.cmp(this.g.x.redMul(_))===0)}var A;if(y.basis)A=y.basis.map(function(k){return{a:new i(k.a,16),b:new i(k.b,16)}});else A=this._getEndoBasis(v);return{beta:_,lambda:v,basis:A}},h.prototype._getEndoRoots=function(y){var _=y===this.p?this.red:i.mont(y),v=new i(2).toRed(_).redInvm(),C=v.redNeg(),M=new i(3).toRed(_).redNeg().redSqrt().redMul(v),A=C.redAdd(M).fromRed(),k=C.redSub(M).fromRed();return[A,k]},h.prototype._getEndoBasis=function(y){var _=this.n.ushrn(Math.floor(this.n.bitLength()/2)),v=y,C=this.n.clone(),M=new i(1),A=new i(0),k=new i(0),R=new i(1),T,I,P,F,G,lt,dt,ut=0,V,nt;while(v.cmpn(0)!==0){var l=C.div(v);V=C.sub(l.mul(v)),nt=k.sub(l.mul(M));var c=R.sub(l.mul(A));if(!P&&V.cmp(_)<0)T=dt.neg(),I=M,P=V.neg(),F=nt;else if(P&&++ut===2)break;dt=V,C=v,v=V,k=M,M=nt,R=A,A=c}G=V.neg(),lt=nt;var d=P.sqr().add(F.sqr()),u=G.sqr().add(lt.sqr());if(u.cmp(d)>=0)G=T,lt=I;if(P.negative)P=P.neg(),F=F.neg();if(G.negative)G=G.neg(),lt=lt.neg();return[{a:P,b:F},{a:G,b:lt}]},h.prototype._endoSplit=function(y){var _=this.endo.basis,v=_[0],C=_[1],M=C.b.mul(y).divRound(this.n),A=v.b.neg().mul(y).divRound(this.n),k=M.mul(v.a),R=A.mul(C.a),T=M.mul(v.b),I=A.mul(C.b),P=y.sub(k).sub(R),F=T.add(I).neg();return{k1:P,k2:F}},h.prototype.pointFromX=function(y,_){if(y=new i(y,16),!y.red)y=y.toRed(this.red);var v=y.redSqr().redMul(y).redIAdd(y.redMul(this.a)).redIAdd(this.b),C=v.redSqrt();if(C.redSqr().redSub(v).cmp(this.zero)!==0)throw Error("invalid point");var M=C.fromRed().isOdd();if(_&&!M||!_&&M)C=C.redNeg();return this.point(y,C)},h.prototype.validate=function(y){if(y.inf)return!0;var{x:_,y:v}=y,C=this.a.redMul(_),M=_.redSqr().redMul(_).redIAdd(C).redIAdd(this.b);return v.redSqr().redISub(M).cmpn(0)===0},h.prototype._endoWnafMulAdd=function(y,_,v){var C=this._endoWnafT1,M=this._endoWnafT2;for(var A=0;A<y.length;A++){var k=this._endoSplit(_[A]),R=y[A],T=R._getBeta();if(k.k1.negative)k.k1.ineg(),R=R.neg(!0);if(k.k2.negative)k.k2.ineg(),T=T.neg(!0);C[A*2]=R,C[A*2+1]=T,M[A*2]=k.k1,M[A*2+1]=k.k2}var I=this._wnafMulAdd(1,C,M,A*2,v);for(var P=0;P<A*2;P++)C[P]=null,M[P]=null;return I};function m(y,_,v,C){if(o.BasePoint.call(this,y,"affine"),_===null&&v===null)this.x=null,this.y=null,this.inf=!0;else{if(this.x=new i(_,16),this.y=new i(v,16),C)this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red);if(!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.y.red)this.y=this.y.toRed(this.curve.red);this.inf=!1}}n(m,o.BasePoint),h.prototype.point=function(y,_,v){return new m(this,y,_,v)},h.prototype.pointFromJSON=function(y,_){return m.fromJSON(this,y,_)},m.prototype._getBeta=function(){if(!this.curve.endo)return;var y=this.precomputed;if(y&&y.beta)return y.beta;var _=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(y){var v=this.curve,C=function(M){return v.point(M.x.redMul(v.endo.beta),M.y)};y.beta=_,_.precomputed={beta:null,naf:y.naf&&{wnd:y.naf.wnd,points:y.naf.points.map(C)},doubles:y.doubles&&{step:y.doubles.step,points:y.doubles.points.map(C)}}}return _},m.prototype.toJSON=function(){if(!this.precomputed)return[this.x,this.y];return[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]},m.fromJSON=function(y,_,v){if(typeof _==="string")_=JSON.parse(_);var C=y.point(_[0],_[1],v);if(!_[2])return C;function M(k){return y.point(k[0],k[1],v)}var A=_[2];return C.precomputed={beta:null,doubles:A.doubles&&{step:A.doubles.step,points:[C].concat(A.doubles.points.map(M))},naf:A.naf&&{wnd:A.naf.wnd,points:[C].concat(A.naf.points.map(M))}},C},m.prototype.inspect=function(){if(this.isInfinity())return"<EC Point Infinity>";return"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},m.prototype.isInfinity=function(){return this.inf},m.prototype.add=function(y){if(this.inf)return y;if(y.inf)return this;if(this.eq(y))return this.dbl();if(this.neg().eq(y))return this.curve.point(null,null);if(this.x.cmp(y.x)===0)return this.curve.point(null,null);var _=this.y.redSub(y.y);if(_.cmpn(0)!==0)_=_.redMul(this.x.redSub(y.x).redInvm());var v=_.redSqr().redISub(this.x).redISub(y.x),C=_.redMul(this.x.redSub(v)).redISub(this.y);return this.curve.point(v,C)},m.prototype.dbl=function(){if(this.inf)return this;var y=this.y.redAdd(this.y);if(y.cmpn(0)===0)return this.curve.point(null,null);var _=this.curve.a,v=this.x.redSqr(),C=y.redInvm(),M=v.redAdd(v).redIAdd(v).redIAdd(_).redMul(C),A=M.redSqr().redISub(this.x.redAdd(this.x)),k=M.redMul(this.x.redSub(A)).redISub(this.y);return this.curve.point(A,k)},m.prototype.getX=function(){return this.x.fromRed()},m.prototype.getY=function(){return this.y.fromRed()},m.prototype.mul=function(y){if(y=new i(y,16),this.isInfinity())return this;else if(this._hasDoubles(y))return this.curve._fixedNafMul(this,y);else if(this.curve.endo)return this.curve._endoWnafMulAdd([this],[y]);else return this.curve._wnafMul(this,y)},m.prototype.mulAdd=function(y,_,v){var C=[this,_],M=[y,v];if(this.curve.endo)return this.curve._endoWnafMulAdd(C,M);else return this.curve._wnafMulAdd(1,C,M,2)},m.prototype.jmulAdd=function(y,_,v){var C=[this,_],M=[y,v];if(this.curve.endo)return this.curve._endoWnafMulAdd(C,M,!0);else return this.curve._wnafMulAdd(1,C,M,2,!0)},m.prototype.eq=function(y){return this===y||this.inf===y.inf&&(this.inf||this.x.cmp(y.x)===0&&this.y.cmp(y.y)===0)},m.prototype.neg=function(y){if(this.inf)return this;var _=this.curve.point(this.x,this.y.redNeg());if(y&&this.precomputed){var v=this.precomputed,C=function(M){return M.neg()};_.precomputed={naf:v.naf&&{wnd:v.naf.wnd,points:v.naf.points.map(C)},doubles:v.doubles&&{step:v.doubles.step,points:v.doubles.points.map(C)}}}return _},m.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var y=this.curve.jpoint(this.x,this.y,this.curve.one);return y};function p(y,_,v,C){if(o.BasePoint.call(this,y,"jacobian"),_===null&&v===null&&C===null)this.x=this.curve.one,this.y=this.curve.one,this.z=new i(0);else this.x=new i(_,16),this.y=new i(v,16),this.z=new i(C,16);if(!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.y.red)this.y=this.y.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red);this.zOne=this.z===this.curve.one}n(p,o.BasePoint),h.prototype.jpoint=function(y,_,v){return new p(this,y,_,v)},p.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var y=this.z.redInvm(),_=y.redSqr(),v=this.x.redMul(_),C=this.y.redMul(_).redMul(y);return this.curve.point(v,C)},p.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},p.prototype.add=function(y){if(this.isInfinity())return y;if(y.isInfinity())return this;var _=y.z.redSqr(),v=this.z.redSqr(),C=this.x.redMul(_),M=y.x.redMul(v),A=this.y.redMul(_.redMul(y.z)),k=y.y.redMul(v.redMul(this.z)),R=C.redSub(M),T=A.redSub(k);if(R.cmpn(0)===0)if(T.cmpn(0)!==0)return this.curve.jpoint(null,null,null);else return this.dbl();var I=R.redSqr(),P=I.redMul(R),F=C.redMul(I),G=T.redSqr().redIAdd(P).redISub(F).redISub(F),lt=T.redMul(F.redISub(G)).redISub(A.redMul(P)),dt=this.z.redMul(y.z).redMul(R);return this.curve.jpoint(G,lt,dt)},p.prototype.mixedAdd=function(y){if(this.isInfinity())return y.toJ();if(y.isInfinity())return this;var _=this.z.redSqr(),v=this.x,C=y.x.redMul(_),M=this.y,A=y.y.redMul(_).redMul(this.z),k=v.redSub(C),R=M.redSub(A);if(k.cmpn(0)===0)if(R.cmpn(0)!==0)return this.curve.jpoint(null,null,null);else return this.dbl();var T=k.redSqr(),I=T.redMul(k),P=v.redMul(T),F=R.redSqr().redIAdd(I).redISub(P).redISub(P),G=R.redMul(P.redISub(F)).redISub(M.redMul(I)),lt=this.z.redMul(k);return this.curve.jpoint(F,G,lt)},p.prototype.dblp=function(y){if(y===0)return this;if(this.isInfinity())return this;if(!y)return this.dbl();var _;if(this.curve.zeroA||this.curve.threeA){var v=this;for(_=0;_<y;_++)v=v.dbl();return v}var C=this.curve.a,M=this.curve.tinv,A=this.x,k=this.y,R=this.z,T=R.redSqr().redSqr(),I=k.redAdd(k);for(_=0;_<y;_++){var P=A.redSqr(),F=I.redSqr(),G=F.redSqr(),lt=P.redAdd(P).redIAdd(P).redIAdd(C.redMul(T)),dt=A.redMul(F),ut=lt.redSqr().redISub(dt.redAdd(dt)),V=dt.redISub(ut),nt=lt.redMul(V);nt=nt.redIAdd(nt).redISub(G);var l=I.redMul(R);if(_+1<y)T=T.redMul(G);A=ut,R=l,I=nt}return this.curve.jpoint(A,I.redMul(M),R)},p.prototype.dbl=function(){if(this.isInfinity())return this;if(this.curve.zeroA)return this._zeroDbl();else if(this.curve.threeA)return this._threeDbl();else return this._dbl()},p.prototype._zeroDbl=function(){var y,_,v;if(this.zOne){var C=this.x.redSqr(),M=this.y.redSqr(),A=M.redSqr(),k=this.x.redAdd(M).redSqr().redISub(C).redISub(A);k=k.redIAdd(k);var R=C.redAdd(C).redIAdd(C),T=R.redSqr().redISub(k).redISub(k),I=A.redIAdd(A);I=I.redIAdd(I),I=I.redIAdd(I),y=T,_=R.redMul(k.redISub(T)).redISub(I),v=this.y.redAdd(this.y)}else{var P=this.x.redSqr(),F=this.y.redSqr(),G=F.redSqr(),lt=this.x.redAdd(F).redSqr().redISub(P).redISub(G);lt=lt.redIAdd(lt);var dt=P.redAdd(P).redIAdd(P),ut=dt.redSqr(),V=G.redIAdd(G);V=V.redIAdd(V),V=V.redIAdd(V),y=ut.redISub(lt).redISub(lt),_=dt.redMul(lt.redISub(y)).redISub(V),v=this.y.redMul(this.z),v=v.redIAdd(v)}return this.curve.jpoint(y,_,v)},p.prototype._threeDbl=function(){var y,_,v;if(this.zOne){var C=this.x.redSqr(),M=this.y.redSqr(),A=M.redSqr(),k=this.x.redAdd(M).redSqr().redISub(C).redISub(A);k=k.redIAdd(k);var R=C.redAdd(C).redIAdd(C).redIAdd(this.curve.a),T=R.redSqr().redISub(k).redISub(k);y=T;var I=A.redIAdd(A);I=I.redIAdd(I),I=I.redIAdd(I),_=R.redMul(k.redISub(T)).redISub(I),v=this.y.redAdd(this.y)}else{var P=this.z.redSqr(),F=this.y.redSqr(),G=this.x.redMul(F),lt=this.x.redSub(P).redMul(this.x.redAdd(P));lt=lt.redAdd(lt).redIAdd(lt);var dt=G.redIAdd(G);dt=dt.redIAdd(dt);var ut=dt.redAdd(dt);y=lt.redSqr().redISub(ut),v=this.y.redAdd(this.z).redSqr().redISub(F).redISub(P);var V=F.redSqr();V=V.redIAdd(V),V=V.redIAdd(V),V=V.redIAdd(V),_=lt.redMul(dt.redISub(y)).redISub(V)}return this.curve.jpoint(y,_,v)},p.prototype._dbl=function(){var y=this.curve.a,_=this.x,v=this.y,C=this.z,M=C.redSqr().redSqr(),A=_.redSqr(),k=v.redSqr(),R=A.redAdd(A).redIAdd(A).redIAdd(y.redMul(M)),T=_.redAdd(_);T=T.redIAdd(T);var I=T.redMul(k),P=R.redSqr().redISub(I.redAdd(I)),F=I.redISub(P),G=k.redSqr();G=G.redIAdd(G),G=G.redIAdd(G),G=G.redIAdd(G);var lt=R.redMul(F).redISub(G),dt=v.redAdd(v).redMul(C);return this.curve.jpoint(P,lt,dt)},p.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var y=this.x.redSqr(),_=this.y.redSqr(),v=this.z.redSqr(),C=_.redSqr(),M=y.redAdd(y).redIAdd(y),A=M.redSqr(),k=this.x.redAdd(_).redSqr().redISub(y).redISub(C);k=k.redIAdd(k),k=k.redAdd(k).redIAdd(k),k=k.redISub(A);var R=k.redSqr(),T=C.redIAdd(C);T=T.redIAdd(T),T=T.redIAdd(T),T=T.redIAdd(T);var I=M.redIAdd(k).redSqr().redISub(A).redISub(R).redISub(T),P=_.redMul(I);P=P.redIAdd(P),P=P.redIAdd(P);var F=this.x.redMul(R).redISub(P);F=F.redIAdd(F),F=F.redIAdd(F);var G=this.y.redMul(I.redMul(T.redISub(I)).redISub(k.redMul(R)));G=G.redIAdd(G),G=G.redIAdd(G),G=G.redIAdd(G);var lt=this.z.redAdd(k).redSqr().redISub(v).redISub(R);return this.curve.jpoint(F,G,lt)},p.prototype.mul=function(y,_){return y=new i(y,_),this.curve._wnafMul(this,y)},p.prototype.eq=function(y){if(y.type==="affine")return this.eq(y.toJ());if(this===y)return!0;var _=this.z.redSqr(),v=y.z.redSqr();if(this.x.redMul(v).redISub(y.x.redMul(_)).cmpn(0)!==0)return!1;var C=_.redMul(this.z),M=v.redMul(y.z);return this.y.redMul(M).redISub(y.y.redMul(C)).cmpn(0)===0},p.prototype.eqXToP=function(y){var _=this.z.redSqr(),v=y.toRed(this.curve.red).redMul(_);if(this.x.cmp(v)===0)return!0;var C=y.clone(),M=this.curve.redN.redMul(_);for(;;){if(C.iadd(this.curve.n),C.cmp(this.curve.p)>=0)return!1;if(v.redIAdd(M),this.x.cmp(v)===0)return!0}},p.prototype.inspect=function(){if(this.isInfinity())return"<EC JPoint Infinity>";return"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},p.prototype.isInfinity=function(){return this.z.cmpn(0)===0}}),Bx=gt((t,e)=>{var r=Jn(),i=cn(),n=Nu(),o=_n();function s(m){n.call(this,"mont",m),this.a=new r(m.a,16).toRed(this.red),this.b=new r(m.b,16).toRed(this.red),this.i4=new r(4).toRed(this.red).redInvm(),this.two=new r(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}i(s,n),e.exports=s,s.prototype.validate=function(m){var p=m.normalize().x,y=p.redSqr(),_=y.redMul(p).redAdd(y.redMul(this.a)).redAdd(p),v=_.redSqrt();return v.redSqr().cmp(_)===0};function h(m,p,y){if(n.BasePoint.call(this,m,"projective"),p===null&&y===null)this.x=this.curve.one,this.z=this.curve.zero;else{if(this.x=new r(p,16),this.z=new r(y,16),!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red)}}i(h,n.BasePoint),s.prototype.decodePoint=function(m,p){return this.point(o.toArray(m,p),1)},s.prototype.point=function(m,p){return new h(this,m,p)},s.prototype.pointFromJSON=function(m){return h.fromJSON(this,m)},h.prototype.precompute=function(){},h.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},h.fromJSON=function(m,p){return new h(m,p[0],p[1]||m.one)},h.prototype.inspect=function(){if(this.isInfinity())return"<EC Point Infinity>";return"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},h.prototype.isInfinity=function(){return this.z.cmpn(0)===0},h.prototype.dbl=function(){var m=this.x.redAdd(this.z),p=m.redSqr(),y=this.x.redSub(this.z),_=y.redSqr(),v=p.redSub(_),C=p.redMul(_),M=v.redMul(_.redAdd(this.curve.a24.redMul(v)));return this.curve.point(C,M)},h.prototype.add=function(){throw Error("Not supported on Montgomery curve")},h.prototype.diffAdd=function(m,p){var y=this.x.redAdd(this.z),_=this.x.redSub(this.z),v=m.x.redAdd(m.z),C=m.x.redSub(m.z),M=C.redMul(y),A=v.redMul(_),k=p.z.redMul(M.redAdd(A).redSqr()),R=p.x.redMul(M.redISub(A).redSqr());return this.curve.point(k,R)},h.prototype.mul=function(m){var p=m.clone(),y=this,_=this.curve.point(null,null),v=this;for(var C=[];p.cmpn(0)!==0;p.iushrn(1))C.push(p.andln(1));for(var M=C.length-1;M>=0;M--)if(C[M]===0)y=y.diffAdd(_,v),_=_.dbl();else _=y.diffAdd(_,v),y=y.dbl();return _},h.prototype.mulAdd=function(){throw Error("Not supported on Montgomery curve")},h.prototype.jumlAdd=function(){throw Error("Not supported on Montgomery curve")},h.prototype.eq=function(m){return this.getX().cmp(m.getX())===0},h.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},h.prototype.getX=function(){return this.normalize(),this.x.fromRed()}}),Ux=gt((t,e)=>{var r=_n(),i=Jn(),n=cn(),o=Nu(),s=r.assert;function h(p){this.twisted=(p.a|0)!==1,this.mOneA=this.twisted&&(p.a|0)===-1,this.extended=this.mOneA,o.call(this,"edwards",p),this.a=new i(p.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new i(p.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new i(p.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),s(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(p.c|0)===1}n(h,o),e.exports=h,h.prototype._mulA=function(p){if(this.mOneA)return p.redNeg();else return this.a.redMul(p)},h.prototype._mulC=function(p){if(this.oneC)return p;else return this.c.redMul(p)},h.prototype.jpoint=function(p,y,_,v){return this.point(p,y,_,v)},h.prototype.pointFromX=function(p,y){if(p=new i(p,16),!p.red)p=p.toRed(this.red);var _=p.redSqr(),v=this.c2.redSub(this.a.redMul(_)),C=this.one.redSub(this.c2.redMul(this.d).redMul(_)),M=v.redMul(C.redInvm()),A=M.redSqrt();if(A.redSqr().redSub(M).cmp(this.zero)!==0)throw Error("invalid point");var k=A.fromRed().isOdd();if(y&&!k||!y&&k)A=A.redNeg();return this.point(p,A)},h.prototype.pointFromY=function(p,y){if(p=new i(p,16),!p.red)p=p.toRed(this.red);var _=p.redSqr(),v=_.redSub(this.c2),C=_.redMul(this.d).redMul(this.c2).redSub(this.a),M=v.redMul(C.redInvm());if(M.cmp(this.zero)===0)if(y)throw Error("invalid point");else return this.point(this.zero,p);var A=M.redSqrt();if(A.redSqr().redSub(M).cmp(this.zero)!==0)throw Error("invalid point");if(A.fromRed().isOdd()!==y)A=A.redNeg();return this.point(A,p)},h.prototype.validate=function(p){if(p.isInfinity())return!0;p.normalize();var y=p.x.redSqr(),_=p.y.redSqr(),v=y.redMul(this.a).redAdd(_),C=this.c2.redMul(this.one.redAdd(this.d.redMul(y).redMul(_)));return v.cmp(C)===0};function m(p,y,_,v,C){if(o.BasePoint.call(this,p,"projective"),y===null&&_===null&&v===null)this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0;else{if(this.x=new i(y,16),this.y=new i(_,16),this.z=v?new i(v,16):this.curve.one,this.t=C&&new i(C,16),!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.y.red)this.y=this.y.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red);if(this.t&&!this.t.red)this.t=this.t.toRed(this.curve.red);if(this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t){if(this.t=this.x.redMul(this.y),!this.zOne)this.t=this.t.redMul(this.z.redInvm())}}}n(m,o.BasePoint),h.prototype.pointFromJSON=function(p){return m.fromJSON(this,p)},h.prototype.point=function(p,y,_,v){return new m(this,p,y,_,v)},m.fromJSON=function(p,y){return new m(p,y[0],y[1],y[2])},m.prototype.inspect=function(){if(this.isInfinity())return"<EC Point Infinity>";return"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},m.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)},m.prototype._extDbl=function(){var p=this.x.redSqr(),y=this.y.redSqr(),_=this.z.redSqr();_=_.redIAdd(_);var v=this.curve._mulA(p),C=this.x.redAdd(this.y).redSqr().redISub(p).redISub(y),M=v.redAdd(y),A=M.redSub(_),k=v.redSub(y),R=C.redMul(A),T=M.redMul(k),I=C.redMul(k),P=A.redMul(M);return this.curve.point(R,T,P,I)},m.prototype._projDbl=function(){var p=this.x.redAdd(this.y).redSqr(),y=this.x.redSqr(),_=this.y.redSqr(),v,C,M,A,k,R;if(this.curve.twisted){A=this.curve._mulA(y);var T=A.redAdd(_);if(this.zOne)v=p.redSub(y).redSub(_).redMul(T.redSub(this.curve.two)),C=T.redMul(A.redSub(_)),M=T.redSqr().redSub(T).redSub(T);else k=this.z.redSqr(),R=T.redSub(k).redISub(k),v=p.redSub(y).redISub(_).redMul(R),C=T.redMul(A.redSub(_)),M=T.redMul(R)}else A=y.redAdd(_),k=this.curve._mulC(this.z).redSqr(),R=A.redSub(k).redSub(k),v=this.curve._mulC(p.redISub(A)).redMul(R),C=this.curve._mulC(A).redMul(y.redISub(_)),M=A.redMul(R);return this.curve.point(v,C,M)},m.prototype.dbl=function(){if(this.isInfinity())return this;if(this.curve.extended)return this._extDbl();else return this._projDbl()},m.prototype._extAdd=function(p){var y=this.y.redSub(this.x).redMul(p.y.redSub(p.x)),_=this.y.redAdd(this.x).redMul(p.y.redAdd(p.x)),v=this.t.redMul(this.curve.dd).redMul(p.t),C=this.z.redMul(p.z.redAdd(p.z)),M=_.redSub(y),A=C.redSub(v),k=C.redAdd(v),R=_.redAdd(y),T=M.redMul(A),I=k.redMul(R),P=M.redMul(R),F=A.redMul(k);return this.curve.point(T,I,F,P)},m.prototype._projAdd=function(p){var y=this.z.redMul(p.z),_=y.redSqr(),v=this.x.redMul(p.x),C=this.y.redMul(p.y),M=this.curve.d.redMul(v).redMul(C),A=_.redSub(M),k=_.redAdd(M),R=this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(v).redISub(C),T=y.redMul(A).redMul(R),I,P;if(this.curve.twisted)I=y.redMul(k).redMul(C.redSub(this.curve._mulA(v))),P=A.redMul(k);else I=y.redMul(k).redMul(C.redSub(v)),P=this.curve._mulC(A).redMul(k);return this.curve.point(T,I,P)},m.prototype.add=function(p){if(this.isInfinity())return p;if(p.isInfinity())return this;if(this.curve.extended)return this._extAdd(p);else return this._projAdd(p)},m.prototype.mul=function(p){if(this._hasDoubles(p))return this.curve._fixedNafMul(this,p);else return this.curve._wnafMul(this,p)},m.prototype.mulAdd=function(p,y,_){return this.curve._wnafMulAdd(1,[this,y],[p,_],2,!1)},m.prototype.jmulAdd=function(p,y,_){return this.curve._wnafMulAdd(1,[this,y],[p,_],2,!0)},m.prototype.normalize=function(){if(this.zOne)return this;var p=this.z.redInvm();if(this.x=this.x.redMul(p),this.y=this.y.redMul(p),this.t)this.t=this.t.redMul(p);return this.z=this.curve.one,this.zOne=!0,this},m.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},m.prototype.getX=function(){return this.normalize(),this.x.fromRed()},m.prototype.getY=function(){return this.normalize(),this.y.fromRed()},m.prototype.eq=function(p){return this===p||this.getX().cmp(p.getX())===0&&this.getY().cmp(p.getY())===0},m.prototype.eqXToP=function(p){var y=p.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(y)===0)return!0;var _=p.clone(),v=this.curve.redN.redMul(this.z);for(;;){if(_.iadd(this.curve.n),_.cmp(this.curve.p)>=0)return!1;if(y.redIAdd(v),this.x.cmp(y)===0)return!0}},m.prototype.toP=m.prototype.normalize,m.prototype.mixedAdd=m.prototype.add}),Gg=gt((t)=>{var e=t;e.base=Nu(),e.short=Fx(),e.mont=Bx(),e.edwards=Ux()}),qn=gt((t)=>{var e=gi(),r=cn();t.inherits=r;function i(c,d){if((c.charCodeAt(d)&64512)!==55296)return!1;if(d<0||d+1>=c.length)return!1;return(c.charCodeAt(d+1)&64512)===56320}function n(c,d){if(Array.isArray(c))return c.slice();if(!c)return[];var u=[];if(typeof c==="string"){if(!d){var f=0;for(var x=0;x<c.length;x++){var w=c.charCodeAt(x);if(w<128)u[f++]=w;else if(w<2048)u[f++]=w>>6|192,u[f++]=w&63|128;else if(i(c,x))w=65536+((w&1023)<<10)+(c.charCodeAt(++x)&1023),u[f++]=w>>18|240,u[f++]=w>>12&63|128,u[f++]=w>>6&63|128,u[f++]=w&63|128;else u[f++]=w>>12|224,u[f++]=w>>6&63|128,u[f++]=w&63|128}}else if(d==="hex"){if(c=c.replace(/[^a-z0-9]+/ig,""),c.length%2!==0)c="0"+c;for(x=0;x<c.length;x+=2)u.push(parseInt(c[x]+c[x+1],16))}}else for(x=0;x<c.length;x++)u[x]=c[x]|0;return u}t.toArray=n;function o(c){var d="";for(var u=0;u<c.length;u++)d+=m(c[u].toString(16));return d}t.toHex=o;function s(c){var d=c>>>24|c>>>8&65280|c<<8&16711680|(c&255)<<24;return d>>>0}t.htonl=s;function h(c,d){var u="";for(var f=0;f<c.length;f++){var x=c[f];if(d==="little")x=s(x);u+=p(x.toString(16))}return u}t.toHex32=h;function m(c){if(c.length===1)return"0"+c;else return c}t.zero2=m;function p(c){if(c.length===7)return"0"+c;else if(c.length===6)return"00"+c;else if(c.length===5)return"000"+c;else if(c.length===4)return"0000"+c;else if(c.length===3)return"00000"+c;else if(c.length===2)return"000000"+c;else if(c.length===1)return"0000000"+c;else return c}t.zero8=p;function y(c,d,u,f){var x=u-d;e(x%4===0);var w=Array(x/4);for(var g=0,a=d;g<w.length;g++,a+=4){var b;if(f==="big")b=c[a]<<24|c[a+1]<<16|c[a+2]<<8|c[a+3];else b=c[a+3]<<24|c[a+2]<<16|c[a+1]<<8|c[a];w[g]=b>>>0}return w}t.join32=y;function _(c,d){var u=Array(c.length*4);for(var f=0,x=0;f<c.length;f++,x+=4){var w=c[f];if(d==="big")u[x]=w>>>24,u[x+1]=w>>>16&255,u[x+2]=w>>>8&255,u[x+3]=w&255;else u[x+3]=w>>>24,u[x+2]=w>>>16&255,u[x+1]=w>>>8&255,u[x]=w&255}return u}t.split32=_;function v(c,d){return c>>>d|c<<32-d}t.rotr32=v;function C(c,d){return c<<d|c>>>32-d}t.rotl32=C;function M(c,d){return c+d>>>0}t.sum32=M;function A(c,d,u){return c+d+u>>>0}t.sum32_3=A;function k(c,d,u,f){return c+d+u+f>>>0}t.sum32_4=k;function R(c,d,u,f,x){return c+d+u+f+x>>>0}t.sum32_5=R;function T(c,d,u,f){var x=c[d],w=c[d+1],g=f+w>>>0,a=(g<f?1:0)+u+x;c[d]=a>>>0,c[d+1]=g}t.sum64=T;function I(c,d,u,f){var x=d+f>>>0,w=(x<d?1:0)+c+u;return w>>>0}t.sum64_hi=I;function P(c,d,u,f){var x=d+f;return x>>>0}t.sum64_lo=P;function F(c,d,u,f,x,w,g,a){var b=0,E=d;E=E+f>>>0,b+=E<d?1:0,E=E+w>>>0,b+=E<w?1:0,E=E+a>>>0,b+=E<a?1:0;var S=c+u+x+g+b;return S>>>0}t.sum64_4_hi=F;function G(c,d,u,f,x,w,g,a){var b=d+f+w+a;return b>>>0}t.sum64_4_lo=G;function lt(c,d,u,f,x,w,g,a,b,E){var S=0,L=d;L=L+f>>>0,S+=L<d?1:0,L=L+w>>>0,S+=L<w?1:0,L=L+a>>>0,S+=L<a?1:0,L=L+E>>>0,S+=L<E?1:0;var q=c+u+x+g+b+S;return q>>>0}t.sum64_5_hi=lt;function dt(c,d,u,f,x,w,g,a,b,E){var S=d+f+w+a+E;return S>>>0}t.sum64_5_lo=dt;function ut(c,d,u){var f=d<<32-u|c>>>u;return f>>>0}t.rotr64_hi=ut;function V(c,d,u){var f=c<<32-u|d>>>u;return f>>>0}t.rotr64_lo=V;function nt(c,d,u){return c>>>u}t.shr64_hi=nt;function l(c,d,u){var f=c<<32-u|d>>>u;return f>>>0}t.shr64_lo=l}),Yo=gt((t)=>{var e=qn(),r=gi();function i(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}t.BlockHash=i,i.prototype.update=function(n,o){if(n=e.toArray(n,o),!this.pending)this.pending=n;else this.pending=this.pending.concat(n);if(this.pendingTotal+=n.length,this.pending.length>=this._delta8){n=this.pending;var s=n.length%this._delta8;if(this.pending=n.slice(n.length-s,n.length),this.pending.length===0)this.pending=null;n=e.join32(n,0,n.length-s,this.endian);for(var h=0;h<n.length;h+=this._delta32)this._update(n,h,h+this._delta32)}return this},i.prototype.digest=function(n){return this.update(this._pad()),r(this.pending===null),this._digest(n)},i.prototype._pad=function(){var n=this.pendingTotal,o=this._delta8,s=o-(n+this.padLength)%o,h=Array(s+this.padLength);h[0]=128;for(var m=1;m<s;m++)h[m]=0;if(n<<=3,this.endian==="big"){for(var p=8;p<this.padLength;p++)h[m++]=0;h[m++]=0,h[m++]=0,h[m++]=0,h[m++]=0,h[m++]=n>>>24&255,h[m++]=n>>>16&255,h[m++]=n>>>8&255,h[m++]=n&255}else{h[m++]=n&255,h[m++]=n>>>8&255,h[m++]=n>>>16&255,h[m++]=n>>>24&255,h[m++]=0,h[m++]=0,h[m++]=0,h[m++]=0;for(p=8;p<this.padLength;p++)h[m++]=0}return h}}),Kg=gt((t)=>{var e=qn(),r=e.rotr32;function i(_,v,C,M){if(_===0)return n(v,C,M);if(_===1||_===3)return s(v,C,M);if(_===2)return o(v,C,M)}t.ft_1=i;function n(_,v,C){return _&v^~_&C}t.ch32=n;function o(_,v,C){return _&v^_&C^v&C}t.maj32=o;function s(_,v,C){return _^v^C}t.p32=s;function h(_){return r(_,2)^r(_,13)^r(_,22)}t.s0_256=h;function m(_){return r(_,6)^r(_,11)^r(_,25)}t.s1_256=m;function p(_){return r(_,7)^r(_,18)^_>>>3}t.g0_256=p;function y(_){return r(_,17)^r(_,19)^_>>>10}t.g1_256=y}),qx=gt((t,e)=>{var r=qn(),i=Yo(),n=Kg(),{rotl32:o,sum32:s,sum32_5:h}=r,m=n.ft_1,p=i.BlockHash,y=[1518500249,1859775393,2400959708,3395469782];function _(){if(!(this instanceof _))return new _;p.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=Array(80)}r.inherits(_,p),e.exports=_,_.blockSize=512,_.outSize=160,_.hmacStrength=80,_.padLength=64,_.prototype._update=function(v,C){var M=this.W;for(var A=0;A<16;A++)M[A]=v[C+A];for(;A<M.length;A++)M[A]=o(M[A-3]^M[A-8]^M[A-14]^M[A-16],1);var k=this.h[0],R=this.h[1],T=this.h[2],I=this.h[3],P=this.h[4];for(A=0;A<M.length;A++){var F=~~(A/20),G=h(o(k,5),m(F,R,T,I),P,M[A],y[F]);P=I,I=T,T=o(R,30),R=k,k=G}this.h[0]=s(this.h[0],k),this.h[1]=s(this.h[1],R),this.h[2]=s(this.h[2],T),this.h[3]=s(this.h[3],I),this.h[4]=s(this.h[4],P)},_.prototype._digest=function(v){if(v==="hex")return r.toHex32(this.h,"big");else return r.split32(this.h,"big")}}),Qg=gt((t,e)=>{var r=qn(),i=Yo(),n=Kg(),o=gi(),{sum32:s,sum32_4:h,sum32_5:m}=r,{ch32:p,maj32:y,s0_256:_,s1_256:v,g0_256:C,g1_256:M}=n,A=i.BlockHash,k=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function R(){if(!(this instanceof R))return new R;A.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=k,this.W=Array(64)}r.inherits(R,A),e.exports=R,R.blockSize=512,R.outSize=256,R.hmacStrength=192,R.padLength=64,R.prototype._update=function(T,I){var P=this.W;for(var F=0;F<16;F++)P[F]=T[I+F];for(;F<P.length;F++)P[F]=h(M(P[F-2]),P[F-7],C(P[F-15]),P[F-16]);var G=this.h[0],lt=this.h[1],dt=this.h[2],ut=this.h[3],V=this.h[4],nt=this.h[5],l=this.h[6],c=this.h[7];o(this.k.length===P.length);for(F=0;F<P.length;F++){var d=m(c,v(V),p(V,nt,l),this.k[F],P[F]),u=s(_(G),y(G,lt,dt));c=l,l=nt,nt=V,V=s(ut,d),ut=dt,dt=lt,lt=G,G=s(d,u)}this.h[0]=s(this.h[0],G),this.h[1]=s(this.h[1],lt),this.h[2]=s(this.h[2],dt),this.h[3]=s(this.h[3],ut),this.h[4]=s(this.h[4],V),this.h[5]=s(this.h[5],nt),this.h[6]=s(this.h[6],l),this.h[7]=s(this.h[7],c)},R.prototype._digest=function(T){if(T==="hex")return r.toHex32(this.h,"big");else return r.split32(this.h,"big")}}),Hx=gt((t,e)=>{var r=qn(),i=Qg();function n(){if(!(this instanceof n))return new n;i.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}r.inherits(n,i),e.exports=n,n.blockSize=512,n.outSize=224,n.hmacStrength=192,n.padLength=64,n.prototype._digest=function(o){if(o==="hex")return r.toHex32(this.h.slice(0,7),"big");else return r.split32(this.h.slice(0,7),"big")}}),Yg=gt((t,e)=>{var r=qn(),i=Yo(),n=gi(),{rotr64_hi:o,rotr64_lo:s,shr64_hi:h,shr64_lo:m,sum64:p,sum64_hi:y,sum64_lo:_,sum64_4_hi:v,sum64_4_lo:C,sum64_5_hi:M,sum64_5_lo:A}=r,k=i.BlockHash,R=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function T(){if(!(this instanceof T))return new T;k.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=R,this.W=Array(160)}r.inherits(T,k),e.exports=T,T.blockSize=1024,T.outSize=512,T.hmacStrength=192,T.padLength=128,T.prototype._prepareBlock=function(u,f){var x=this.W;for(var w=0;w<32;w++)x[w]=u[f+w];for(;w<x.length;w+=2){var g=c(x[w-4],x[w-3]),a=d(x[w-4],x[w-3]),b=x[w-14],E=x[w-13],S=nt(x[w-30],x[w-29]),L=l(x[w-30],x[w-29]),q=x[w-32],j=x[w-31];x[w]=v(g,a,b,E,S,L,q,j),x[w+1]=C(g,a,b,E,S,L,q,j)}},T.prototype._update=function(u,f){this._prepareBlock(u,f);var x=this.W,w=this.h[0],g=this.h[1],a=this.h[2],b=this.h[3],E=this.h[4],S=this.h[5],L=this.h[6],q=this.h[7],j=this.h[8],X=this.h[9],bt=this.h[10],it=this.h[11],Q=this.h[12],pt=this.h[13],J=this.h[14],at=this.h[15];n(this.k.length===x.length);for(var Kt=0;Kt<x.length;Kt+=2){var H=J,W=at,mt=ut(j,X),rt=V(j,X),ot=I(j,X,bt,it,Q,pt),Lt=P(j,X,bt,it,Q,pt),z=this.k[Kt],Z=this.k[Kt+1],jt=x[Kt],tt=x[Kt+1],ht=M(H,W,mt,rt,ot,Lt,z,Z,jt,tt),ae=A(H,W,mt,rt,ot,Lt,z,Z,jt,tt);H=lt(w,g),W=dt(w,g),mt=F(w,g,a,b,E,S),rt=G(w,g,a,b,E,S);var wt=y(H,W,mt,rt),vt=_(H,W,mt,rt);J=Q,at=pt,Q=bt,pt=it,bt=j,it=X,j=y(L,q,ht,ae),X=_(q,q,ht,ae),L=E,q=S,E=a,S=b,a=w,b=g,w=y(ht,ae,wt,vt),g=_(ht,ae,wt,vt)}p(this.h,0,w,g),p(this.h,2,a,b),p(this.h,4,E,S),p(this.h,6,L,q),p(this.h,8,j,X),p(this.h,10,bt,it),p(this.h,12,Q,pt),p(this.h,14,J,at)},T.prototype._digest=function(u){if(u==="hex")return r.toHex32(this.h,"big");else return r.split32(this.h,"big")};function I(u,f,x,w,g){var a=u&x^~u&g;if(a<0)a+=4294967296;return a}function P(u,f,x,w,g,a){var b=f&w^~f&a;if(b<0)b+=4294967296;return b}function F(u,f,x,w,g){var a=u&x^u&g^x&g;if(a<0)a+=4294967296;return a}function G(u,f,x,w,g,a){var b=f&w^f&a^w&a;if(b<0)b+=4294967296;return b}function lt(u,f){var x=o(u,f,28),w=o(f,u,2),g=o(f,u,7),a=x^w^g;if(a<0)a+=4294967296;return a}function dt(u,f){var x=s(u,f,28),w=s(f,u,2),g=s(f,u,7),a=x^w^g;if(a<0)a+=4294967296;return a}function ut(u,f){var x=o(u,f,14),w=o(u,f,18),g=o(f,u,9),a=x^w^g;if(a<0)a+=4294967296;return a}function V(u,f){var x=s(u,f,14),w=s(u,f,18),g=s(f,u,9),a=x^w^g;if(a<0)a+=4294967296;return a}function nt(u,f){var x=o(u,f,1),w=o(u,f,8),g=h(u,f,7),a=x^w^g;if(a<0)a+=4294967296;return a}function l(u,f){var x=s(u,f,1),w=s(u,f,8),g=m(u,f,7),a=x^w^g;if(a<0)a+=4294967296;return a}function c(u,f){var x=o(u,f,19),w=o(f,u,29),g=h(u,f,6),a=x^w^g;if(a<0)a+=4294967296;return a}function d(u,f){var x=s(u,f,19),w=s(f,u,29),g=m(u,f,6),a=x^w^g;if(a<0)a+=4294967296;return a}}),$x=gt((t,e)=>{var r=qn(),i=Yg();function n(){if(!(this instanceof n))return new n;i.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}r.inherits(n,i),e.exports=n,n.blockSize=1024,n.outSize=384,n.hmacStrength=192,n.padLength=128,n.prototype._digest=function(o){if(o==="hex")return r.toHex32(this.h.slice(0,12),"big");else return r.split32(this.h.slice(0,12),"big")}}),zx=gt((t)=>{t.sha1=qx(),t.sha224=Hx(),t.sha256=Qg(),t.sha384=$x(),t.sha512=Yg()}),Vx=gt((t)=>{var e=qn(),r=Yo(),{rotl32:i,sum32:n,sum32_3:o,sum32_4:s}=e,h=r.BlockHash;function m(){if(!(this instanceof m))return new m;h.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}e.inherits(m,h),t.ripemd160=m,m.blockSize=512,m.outSize=160,m.hmacStrength=192,m.padLength=64,m.prototype._update=function(k,R){var T=this.h[0],I=this.h[1],P=this.h[2],F=this.h[3],G=this.h[4],lt=T,dt=I,ut=P,V=F,nt=G;for(var l=0;l<80;l++){var c=n(i(s(T,p(l,I,P,F),k[v[l]+R],y(l)),M[l]),G);T=G,G=F,F=i(P,10),P=I,I=c,c=n(i(s(lt,p(79-l,dt,ut,V),k[C[l]+R],_(l)),A[l]),nt),lt=nt,nt=V,V=i(ut,10),ut=dt,dt=c}c=o(this.h[1],P,V),this.h[1]=o(this.h[2],F,nt),this.h[2]=o(this.h[3],G,lt),this.h[3]=o(this.h[4],T,dt),this.h[4]=o(this.h[0],I,ut),this.h[0]=c},m.prototype._digest=function(k){if(k==="hex")return e.toHex32(this.h,"little");else return e.split32(this.h,"little")};function p(k,R,T,I){if(k<=15)return R^T^I;else if(k<=31)return R&T|~R&I;else if(k<=47)return(R|~T)^I;else if(k<=63)return R&I|T&~I;else return R^(T|~I)}function y(k){if(k<=15)return 0;else if(k<=31)return 1518500249;else if(k<=47)return 1859775393;else if(k<=63)return 2400959708;else return 2840853838}function _(k){if(k<=15)return 1352829926;else if(k<=31)return 1548603684;else if(k<=47)return 1836072691;else if(k<=63)return 2053994217;else return 0}var v=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],C=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],M=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],A=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]}),jx=gt((t,e)=>{var r=qn(),i=gi();function n(o,s,h){if(!(this instanceof n))return new n(o,s,h);this.Hash=o,this.blockSize=o.blockSize/8,this.outSize=o.outSize/8,this.inner=null,this.outer=null,this._init(r.toArray(s,h))}e.exports=n,n.prototype._init=function(o){if(o.length>this.blockSize)o=new this.Hash().update(o).digest();i(o.length<=this.blockSize);for(var s=o.length;s<this.blockSize;s++)o.push(0);for(s=0;s<o.length;s++)o[s]^=54;this.inner=new this.Hash().update(o);for(s=0;s<o.length;s++)o[s]^=106;this.outer=new this.Hash().update(o)},n.prototype.update=function(o,s){return this.inner.update(o,s),this},n.prototype.digest=function(o){return this.outer.update(this.inner.digest()),this.outer.digest(o)}}),Df=gt((t)=>{var e=t;e.utils=qn(),e.common=Yo(),e.sha=zx(),e.ripemd=Vx(),e.hmac=jx(),e.sha1=e.sha.sha1,e.sha256=e.sha.sha256,e.sha224=e.sha.sha224,e.sha384=e.sha.sha384,e.sha512=e.sha.sha512,e.ripemd160=e.ripemd.ripemd160}),Wx=gt((t,e)=>{e.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}}),Ff=gt((t)=>{var e=t,r=Df(),i=Gg(),n=_n(),o=n.assert;function s(p){if(p.type==="short")this.curve=new i.short(p);else if(p.type==="edwards")this.curve=new i.edwards(p);else this.curve=new i.mont(p);this.g=this.curve.g,this.n=this.curve.n,this.hash=p.hash,o(this.g.validate(),"Invalid curve"),o(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}e.PresetCurve=s;function h(p,y){Object.defineProperty(e,p,{configurable:!0,enumerable:!0,get:function(){var _=new s(y);return Object.defineProperty(e,p,{configurable:!0,enumerable:!0,value:_}),_}})}h("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:r.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),h("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:r.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),h("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:r.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),h("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:r.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),h("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:r.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),h("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:r.sha256,gRed:!1,g:["9"]}),h("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:r.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var m;try{m=Wx()}catch(p){m=void 0}h("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:r.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",m]})}),Gx=gt((t,e)=>{var r=Df(),i=jg(),n=gi();function o(s){if(!(this instanceof o))return new o(s);this.hash=s.hash,this.predResist=!!s.predResist,this.outLen=this.hash.outSize,this.minEntropy=s.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var h=i.toArray(s.entropy,s.entropyEnc||"hex"),m=i.toArray(s.nonce,s.nonceEnc||"hex"),p=i.toArray(s.pers,s.persEnc||"hex");n(h.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(h,m,p)}e.exports=o,o.prototype._init=function(s,h,m){var p=s.concat(h).concat(m);this.K=Array(this.outLen/8),this.V=Array(this.outLen/8);for(var y=0;y<this.V.length;y++)this.K[y]=0,this.V[y]=1;this._update(p),this._reseed=1,this.reseedInterval=281474976710656},o.prototype._hmac=function(){return new r.hmac(this.hash,this.K)},o.prototype._update=function(s){var h=this._hmac().update(this.V).update([0]);if(s)h=h.update(s);if(this.K=h.digest(),this.V=this._hmac().update(this.V).digest(),!s)return;this.K=this._hmac().update(this.V).update([1]).update(s).digest(),this.V=this._hmac().update(this.V).digest()},o.prototype.reseed=function(s,h,m,p){if(typeof h!=="string")p=m,m=h,h=null;s=i.toArray(s,h),m=i.toArray(m,p),n(s.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(s.concat(m||[])),this._reseed=1},o.prototype.generate=function(s,h,m,p){if(this._reseed>this.reseedInterval)throw Error("Reseed is required");if(typeof h!=="string")p=m,m=h,h=null;if(m)m=i.toArray(m,p||"hex"),this._update(m);var y=[];while(y.length<s)this.V=this._hmac().update(this.V).digest(),y=y.concat(this.V);var _=y.slice(0,s);return this._update(m),this._reseed++,i.encode(_,h)}}),Kx=gt((t,e)=>{var r=Jn(),i=_n(),n=i.assert;function o(s,h){if(this.ec=s,this.priv=null,this.pub=null,h.priv)this._importPrivate(h.priv,h.privEnc);if(h.pub)this._importPublic(h.pub,h.pubEnc)}e.exports=o,o.fromPublic=function(s,h,m){if(h instanceof o)return h;return new o(s,{pub:h,pubEnc:m})},o.fromPrivate=function(s,h,m){if(h instanceof o)return h;return new o(s,{priv:h,privEnc:m})},o.prototype.validate=function(){var s=this.getPublic();if(s.isInfinity())return{result:!1,reason:"Invalid public key"};if(!s.validate())return{result:!1,reason:"Public key is not a point"};if(!s.mul(this.ec.curve.n).isInfinity())return{result:!1,reason:"Public key * N != O"};return{result:!0,reason:null}},o.prototype.getPublic=function(s,h){if(typeof s==="string")h=s,s=null;if(!this.pub)this.pub=this.ec.g.mul(this.priv);if(!h)return this.pub;return this.pub.encode(h,s)},o.prototype.getPrivate=function(s){if(s==="hex")return this.priv.toString(16,2);else return this.priv},o.prototype._importPrivate=function(s,h){this.priv=new r(s,h||16),this.priv=this.priv.umod(this.ec.curve.n)},o.prototype._importPublic=function(s,h){if(s.x||s.y){if(this.ec.curve.type==="mont")n(s.x,"Need x coordinate");else if(this.ec.curve.type==="short"||this.ec.curve.type==="edwards")n(s.x&&s.y,"Need both x and y coordinate");this.pub=this.ec.curve.point(s.x,s.y);return}this.pub=this.ec.curve.decodePoint(s,h)},o.prototype.derive=function(s){if(!s.validate())n(s.validate(),"public point not validated");return s.mul(this.priv).getX()},o.prototype.sign=function(s,h,m){return this.ec.sign(s,this,h,m)},o.prototype.verify=function(s,h,m){return this.ec.verify(s,h,this,void 0,m)},o.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"}}),Qx=gt((t,e)=>{var r=Jn(),i=_n(),n=i.assert;function o(y,_){if(y instanceof o)return y;if(this._importDER(y,_))return;if(n(y.r&&y.s,"Signature without r or s"),this.r=new r(y.r,16),this.s=new r(y.s,16),y.recoveryParam===void 0)this.recoveryParam=null;else this.recoveryParam=y.recoveryParam}e.exports=o;function s(){this.place=0}function h(y,_){var v=y[_.place++];if(!(v&128))return v;var C=v&15;if(C===0||C>4)return!1;if(y[_.place]===0)return!1;var M=0;for(var A=0,k=_.place;A<C;A++,k++)M<<=8,M|=y[k],M>>>=0;if(M<=127)return!1;return _.place=k,M}function m(y){var _=0,v=y.length-1;while(!y[_]&&!(y[_+1]&128)&&_<v)_++;if(_===0)return y;return y.slice(_)}o.prototype._importDER=function(y,_){y=i.toArray(y,_);var v=new s;if(y[v.place++]!==48)return!1;var C=h(y,v);if(C===!1)return!1;if(C+v.place!==y.length)return!1;if(y[v.place++]!==2)return!1;var M=h(y,v);if(M===!1)return!1;if((y[v.place]&128)!==0)return!1;var A=y.slice(v.place,M+v.place);if(v.place+=M,y[v.place++]!==2)return!1;var k=h(y,v);if(k===!1)return!1;if(y.length!==k+v.place)return!1;if((y[v.place]&128)!==0)return!1;var R=y.slice(v.place,k+v.place);if(A[0]===0)if(A[1]&128)A=A.slice(1);else return!1;if(R[0]===0)if(R[1]&128)R=R.slice(1);else return!1;return this.r=new r(A),this.s=new r(R),this.recoveryParam=null,!0};function p(y,_){if(_<128){y.push(_);return}var v=1+(Math.log(_)/Math.LN2>>>3);y.push(v|128);while(--v)y.push(_>>>(v<<3)&255);y.push(_)}o.prototype.toDER=function(y){var _=this.r.toArray(),v=this.s.toArray();if(_[0]&128)_=[0].concat(_);if(v[0]&128)v=[0].concat(v);_=m(_),v=m(v);while(!v[0]&&!(v[1]&128))v=v.slice(1);var C=[2];p(C,_.length),C=C.concat(_),C.push(2),p(C,v.length);var M=C.concat(v),A=[48];return p(A,M.length),A=A.concat(M),i.encode(A,y)}}),Yx=gt((t,e)=>{var r=Jn(),i=Gx(),n=_n(),o=Ff(),s=Wg(),h=n.assert,m=Kx(),p=Qx();function y(_){if(!(this instanceof y))return new y(_);if(typeof _==="string")h(Object.prototype.hasOwnProperty.call(o,_),"Unknown curve "+_),_=o[_];if(_ instanceof o.PresetCurve)_={curve:_};this.curve=_.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=_.curve.g,this.g.precompute(_.curve.n.bitLength()+1),this.hash=_.hash||_.curve.hash}e.exports=y,y.prototype.keyPair=function(_){return new m(this,_)},y.prototype.keyFromPrivate=function(_,v){return m.fromPrivate(this,_,v)},y.prototype.keyFromPublic=function(_,v){return m.fromPublic(this,_,v)},y.prototype.genKeyPair=function(_){if(!_)_={};var v=new i({hash:this.hash,pers:_.pers,persEnc:_.persEnc||"utf8",entropy:_.entropy||s(this.hash.hmacStrength),entropyEnc:_.entropy&&_.entropyEnc||"utf8",nonce:this.n.toArray()}),C=this.n.byteLength(),M=this.n.sub(new r(2));for(;;){var A=new r(v.generate(C));if(A.cmp(M)>0)continue;return A.iaddn(1),this.keyFromPrivate(A)}},y.prototype._truncateToN=function(_,v,C){var M;if(r.isBN(_)||typeof _==="number")_=new r(_,16),M=_.byteLength();else if(typeof _==="object")M=_.length,_=new r(_,16);else{var A=_.toString();M=A.length+1>>>1,_=new r(A,16)}if(typeof C!=="number")C=M*8;var k=C-this.n.bitLength();if(k>0)_=_.ushrn(k);if(!v&&_.cmp(this.n)>=0)return _.sub(this.n);else return _},y.prototype.sign=function(_,v,C,M){if(typeof C==="object")M=C,C=null;if(!M)M={};if(typeof _!=="string"&&typeof _!=="number"&&!r.isBN(_)){h(typeof _==="object"&&_&&typeof _.length==="number","Expected message to be an array-like, a hex string, or a BN instance"),h(_.length>>>0===_.length);for(var A=0;A<_.length;A++)h((_[A]&255)===_[A])}v=this.keyFromPrivate(v,C),_=this._truncateToN(_,!1,M.msgBitLength),h(!_.isNeg(),"Can not sign a negative message");var k=this.n.byteLength(),R=v.getPrivate().toArray("be",k),T=_.toArray("be",k);h(new r(T).eq(_),"Can not sign message");var I=new i({hash:this.hash,entropy:R,nonce:T,pers:M.pers,persEnc:M.persEnc||"utf8"}),P=this.n.sub(new r(1));for(var F=0;;F++){var G=M.k?M.k(F):new r(I.generate(this.n.byteLength()));if(G=this._truncateToN(G,!0),G.cmpn(1)<=0||G.cmp(P)>=0)continue;var lt=this.g.mul(G);if(lt.isInfinity())continue;var dt=lt.getX(),ut=dt.umod(this.n);if(ut.cmpn(0)===0)continue;var V=G.invm(this.n).mul(ut.mul(v.getPrivate()).iadd(_));if(V=V.umod(this.n),V.cmpn(0)===0)continue;var nt=(lt.getY().isOdd()?1:0)|(dt.cmp(ut)!==0?2:0);if(M.canonical&&V.cmp(this.nh)>0)V=this.n.sub(V),nt^=1;return new p({r:ut,s:V,recoveryParam:nt})}},y.prototype.verify=function(_,v,C,M,A){if(!A)A={};_=this._truncateToN(_,!1,A.msgBitLength),C=this.keyFromPublic(C,M),v=new p(v,"hex");var{r:k,s:R}=v;if(k.cmpn(1)<0||k.cmp(this.n)>=0)return!1;if(R.cmpn(1)<0||R.cmp(this.n)>=0)return!1;var T=R.invm(this.n),I=T.mul(_).umod(this.n),P=T.mul(k).umod(this.n),F;if(!this.curve._maxwellTrick){if(F=this.g.mulAdd(I,C.getPublic(),P),F.isInfinity())return!1;return F.getX().umod(this.n).cmp(k)===0}if(F=this.g.jmulAdd(I,C.getPublic(),P),F.isInfinity())return!1;return F.eqXToP(k)},y.prototype.recoverPubKey=function(_,v,C,M){h((3&C)===C,"The recovery param is more than two bits"),v=new p(v,M);var A=this.n,k=new r(_),R=v.r,T=v.s,I=C&1,P=C>>1;if(R.cmp(this.curve.p.umod(this.curve.n))>=0&&P)throw Error("Unable to find sencond key candinate");if(P)R=this.curve.pointFromX(R.add(this.curve.n),I);else R=this.curve.pointFromX(R,I);var F=v.r.invm(A),G=A.sub(k).mul(F).umod(A),lt=T.mul(F).umod(A);return this.g.mulAdd(G,R,lt)},y.prototype.getKeyRecoveryParam=function(_,v,C,M){if(v=new p(v,M),v.recoveryParam!==null)return v.recoveryParam;for(var A=0;A<4;A++){var k;try{k=this.recoverPubKey(_,v,A)}catch(R){continue}if(k.eq(C))return A}throw Error("Unable to find valid recovery factor")}}),Zx=gt((t,e)=>{var r=_n(),{assert:i,parseBytes:n,cachedProperty:o}=r;function s(h,m){if(this.eddsa=h,this._secret=n(m.secret),h.isPoint(m.pub))this._pub=m.pub;else this._pubBytes=n(m.pub)}s.fromPublic=function(h,m){if(m instanceof s)return m;return new s(h,{pub:m})},s.fromSecret=function(h,m){if(m instanceof s)return m;return new s(h,{secret:m})},s.prototype.secret=function(){return this._secret},o(s,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())}),o(s,"pub",function(){if(this._pubBytes)return this.eddsa.decodePoint(this._pubBytes);return this.eddsa.g.mul(this.priv())}),o(s,"privBytes",function(){var h=this.eddsa,m=this.hash(),p=h.encodingLength-1,y=m.slice(0,h.encodingLength);return y[0]&=248,y[p]&=127,y[p]|=64,y}),o(s,"priv",function(){return this.eddsa.decodeInt(this.privBytes())}),o(s,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()}),o(s,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)}),s.prototype.sign=function(h){return i(this._secret,"KeyPair can only verify"),this.eddsa.sign(h,this)},s.prototype.verify=function(h,m){return this.eddsa.verify(h,m,this)},s.prototype.getSecret=function(h){return i(this._secret,"KeyPair is public only"),r.encode(this.secret(),h)},s.prototype.getPublic=function(h){return r.encode(this.pubBytes(),h)},e.exports=s}),Xx=gt((t,e)=>{var r=Jn(),i=_n(),{assert:n,cachedProperty:o,parseBytes:s}=i;function h(m,p){if(this.eddsa=m,typeof p!=="object")p=s(p);if(Array.isArray(p))n(p.length===m.encodingLength*2,"Signature has invalid size"),p={R:p.slice(0,m.encodingLength),S:p.slice(m.encodingLength)};if(n(p.R&&p.S,"Signature without R or S"),m.isPoint(p.R))this._R=p.R;if(p.S instanceof r)this._S=p.S;this._Rencoded=Array.isArray(p.R)?p.R:p.Rencoded,this._Sencoded=Array.isArray(p.S)?p.S:p.Sencoded}o(h,"S",function(){return this.eddsa.decodeInt(this.Sencoded())}),o(h,"R",function(){return this.eddsa.decodePoint(this.Rencoded())}),o(h,"Rencoded",function(){return this.eddsa.encodePoint(this.R())}),o(h,"Sencoded",function(){return this.eddsa.encodeInt(this.S())}),h.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},h.prototype.toHex=function(){return i.encode(this.toBytes(),"hex").toUpperCase()},e.exports=h}),Jx=gt((t,e)=>{var r=Df(),i=Ff(),n=_n(),{assert:o,parseBytes:s}=n,h=Zx(),m=Xx();function p(y){if(o(y==="ed25519","only tested with ed25519 so far"),!(this instanceof p))return new p(y);y=i[y].curve,this.curve=y,this.g=y.g,this.g.precompute(y.n.bitLength()+1),this.pointClass=y.point().constructor,this.encodingLength=Math.ceil(y.n.bitLength()/8),this.hash=r.sha512}e.exports=p,p.prototype.sign=function(y,_){y=s(y);var v=this.keyFromSecret(_),C=this.hashInt(v.messagePrefix(),y),M=this.g.mul(C),A=this.encodePoint(M),k=this.hashInt(A,v.pubBytes(),y).mul(v.priv()),R=C.add(k).umod(this.curve.n);return this.makeSignature({R:M,S:R,Rencoded:A})},p.prototype.verify=function(y,_,v){if(y=s(y),_=this.makeSignature(_),_.S().gte(_.eddsa.curve.n)||_.S().isNeg())return!1;var C=this.keyFromPublic(v),M=this.hashInt(_.Rencoded(),C.pubBytes(),y),A=this.g.mul(_.S()),k=_.R().add(C.pub().mul(M));return k.eq(A)},p.prototype.hashInt=function(){var y=this.hash();for(var _=0;_<arguments.length;_++)y.update(arguments[_]);return n.intFromLE(y.digest()).umod(this.curve.n)},p.prototype.keyFromPublic=function(y){return h.fromPublic(this,y)},p.prototype.keyFromSecret=function(y){return h.fromSecret(this,y)},p.prototype.makeSignature=function(y){if(y instanceof m)return y;return new m(this,y)},p.prototype.encodePoint=function(y){var _=y.getY().toArray("le",this.encodingLength);return _[this.encodingLength-1]|=y.getX().isOdd()?128:0,_},p.prototype.decodePoint=function(y){y=n.parseBytes(y);var _=y.length-1,v=y.slice(0,_).concat(y[_]&-129),C=(y[_]&128)!==0,M=n.intFromLE(v);return this.curve.pointFromY(M,C)},p.prototype.encodeInt=function(y){return y.toArray("le",this.encodingLength)},p.prototype.decodeInt=function(y){return n.intFromLE(y)},p.prototype.isPoint=function(y){return y instanceof this.pointClass}}),t4=gt((t)=>{var e=t;e.version=Px().version,e.utils=_n(),e.rand=Wg(),e.curve=Gg(),e.curves=Ff(),e.ec=Yx(),e.eddsa=Jx()}),e4=gt((t,e)=>{(function(r,i){function n(l,c){if(!l)throw Error(c||"Assertion failed")}function o(l,c){l.super_=c;var d=function(){};d.prototype=c.prototype,l.prototype=new d,l.prototype.constructor=l}function s(l,c,d){if(s.isBN(l))return l;if(this.negative=0,this.words=null,this.length=0,this.red=null,l!==null){if(c==="le"||c==="be")d=c,c=10;this._init(l||0,c||10,d||"be")}}if(typeof r==="object")r.exports=s;else i.BN=s;s.BN=s,s.wordSize=26;var h;try{if(typeof window<"u"&&typeof window.Buffer<"u")h=window.Buffer;else h=(Nr(),ve(Tr)).Buffer}catch(l){}s.isBN=function(l){if(l instanceof s)return!0;return l!==null&&typeof l==="object"&&l.constructor.wordSize===s.wordSize&&Array.isArray(l.words)},s.max=function(l,c){if(l.cmp(c)>0)return l;return c},s.min=function(l,c){if(l.cmp(c)<0)return l;return c},s.prototype._init=function(l,c,d){if(typeof l==="number")return this._initNumber(l,c,d);if(typeof l==="object")return this._initArray(l,c,d);if(c==="hex")c=16;n(c===(c|0)&&c>=2&&c<=36),l=l.toString().replace(/\s+/g,"");var u=0;if(l[0]==="-")u++,this.negative=1;if(u<l.length){if(c===16)this._parseHex(l,u,d);else if(this._parseBase(l,c,u),d==="le")this._initArray(this.toArray(),c,d)}},s.prototype._initNumber=function(l,c,d){if(l<0)this.negative=1,l=-l;if(l<67108864)this.words=[l&67108863],this.length=1;else if(l<4503599627370496)this.words=[l&67108863,l/67108864&67108863],this.length=2;else n(l<9007199254740992),this.words=[l&67108863,l/67108864&67108863,1],this.length=3;if(d!=="le")return;this._initArray(this.toArray(),c,d)},s.prototype._initArray=function(l,c,d){if(n(typeof l.length==="number"),l.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(l.length/3),this.words=Array(this.length);for(var u=0;u<this.length;u++)this.words[u]=0;var f,x,w=0;if(d==="be"){for(u=l.length-1,f=0;u>=0;u-=3)if(x=l[u]|l[u-1]<<8|l[u-2]<<16,this.words[f]|=x<<w&67108863,this.words[f+1]=x>>>26-w&67108863,w+=24,w>=26)w-=26,f++}else if(d==="le"){for(u=0,f=0;u<l.length;u+=3)if(x=l[u]|l[u+1]<<8|l[u+2]<<16,this.words[f]|=x<<w&67108863,this.words[f+1]=x>>>26-w&67108863,w+=24,w>=26)w-=26,f++}return this.strip()};function m(l,c){var d=l.charCodeAt(c);if(d>=65&&d<=70)return d-55;else if(d>=97&&d<=102)return d-87;else return d-48&15}function p(l,c,d){var u=m(l,d);if(d-1>=c)u|=m(l,d-1)<<4;return u}s.prototype._parseHex=function(l,c,d){this.length=Math.ceil((l.length-c)/6),this.words=Array(this.length);for(var u=0;u<this.length;u++)this.words[u]=0;var f=0,x=0,w;if(d==="be")for(u=l.length-1;u>=c;u-=2)if(w=p(l,c,u)<<f,this.words[x]|=w&67108863,f>=18)f-=18,x+=1,this.words[x]|=w>>>26;else f+=8;else{var g=l.length-c;for(u=g%2===0?c+1:c;u<l.length;u+=2)if(w=p(l,c,u)<<f,this.words[x]|=w&67108863,f>=18)f-=18,x+=1,this.words[x]|=w>>>26;else f+=8}this.strip()};function y(l,c,d,u){var f=0,x=Math.min(l.length,d);for(var w=c;w<x;w++){var g=l.charCodeAt(w)-48;if(f*=u,g>=49)f+=g-49+10;else if(g>=17)f+=g-17+10;else f+=g}return f}s.prototype._parseBase=function(l,c,d){this.words=[0],this.length=1;for(var u=0,f=1;f<=67108863;f*=c)u++;u--,f=f/c|0;var x=l.length-d,w=x%u,g=Math.min(x,x-w)+d,a=0;for(var b=d;b<g;b+=u)if(a=y(l,b,b+u,c),this.imuln(f),this.words[0]+a<67108864)this.words[0]+=a;else this._iaddn(a);if(w!==0){var E=1;a=y(l,b,l.length,c);for(b=0;b<w;b++)E*=c;if(this.imuln(E),this.words[0]+a<67108864)this.words[0]+=a;else this._iaddn(a)}this.strip()},s.prototype.copy=function(l){l.words=Array(this.length);for(var c=0;c<this.length;c++)l.words[c]=this.words[c];l.length=this.length,l.negative=this.negative,l.red=this.red},s.prototype.clone=function(){var l=new s(null);return this.copy(l),l},s.prototype._expand=function(l){while(this.length<l)this.words[this.length++]=0;return this},s.prototype.strip=function(){while(this.length>1&&this.words[this.length-1]===0)this.length--;return this._normSign()},s.prototype._normSign=function(){if(this.length===1&&this.words[0]===0)this.negative=0;return this},s.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var _=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],v=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],C=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];if(s.prototype.toString=function(l,c){l=l||10,c=c|0||1;var d;if(l===16||l==="hex"){d="";var u=0,f=0;for(var x=0;x<this.length;x++){var w=this.words[x],g=((w<<u|f)&16777215).toString(16);if(f=w>>>24-u&16777215,u+=2,u>=26)u-=26,x--;if(f!==0||x!==this.length-1)d=_[6-g.length]+g+d;else d=g+d}if(f!==0)d=f.toString(16)+d;while(d.length%c!==0)d="0"+d;if(this.negative!==0)d="-"+d;return d}if(l===(l|0)&&l>=2&&l<=36){var a=v[l],b=C[l];d="";var E=this.clone();E.negative=0;while(!E.isZero()){var S=E.modn(b).toString(l);if(E=E.idivn(b),!E.isZero())d=_[a-S.length]+S+d;else d=S+d}if(this.isZero())d="0"+d;while(d.length%c!==0)d="0"+d;if(this.negative!==0)d="-"+d;return d}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var l=this.words[0];if(this.length===2)l+=this.words[1]*67108864;else if(this.length===3&&this.words[2]===1)l+=4503599627370496+this.words[1]*67108864;else if(this.length>2)n(!1,"Number can only safely store up to 53 bits");return this.negative!==0?-l:l},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(l,c){return n(typeof h<"u"),this.toArrayLike(h,l,c)},s.prototype.toArray=function(l,c){return this.toArrayLike(Array,l,c)},s.prototype.toArrayLike=function(l,c,d){var u=this.byteLength(),f=d||Math.max(1,u);n(u<=f,"byte array longer than desired length"),n(f>0,"Requested array length <= 0"),this.strip();var x=c==="le",w=new l(f),g,a,b=this.clone();if(!x){for(a=0;a<f-u;a++)w[a]=0;for(a=0;!b.isZero();a++)g=b.andln(255),b.iushrn(8),w[f-a-1]=g}else{for(a=0;!b.isZero();a++)g=b.andln(255),b.iushrn(8),w[a]=g;for(;a<f;a++)w[a]=0}return w},Math.clz32)s.prototype._countBits=function(l){return 32-Math.clz32(l)};else s.prototype._countBits=function(l){var c=l,d=0;if(c>=4096)d+=13,c>>>=13;if(c>=64)d+=7,c>>>=7;if(c>=8)d+=4,c>>>=4;if(c>=2)d+=2,c>>>=2;return d+c};s.prototype._zeroBits=function(l){if(l===0)return 26;var c=l,d=0;if((c&8191)===0)d+=13,c>>>=13;if((c&127)===0)d+=7,c>>>=7;if((c&15)===0)d+=4,c>>>=4;if((c&3)===0)d+=2,c>>>=2;if((c&1)===0)d++;return d},s.prototype.bitLength=function(){var l=this.words[this.length-1],c=this._countBits(l);return(this.length-1)*26+c};function M(l){var c=Array(l.bitLength());for(var d=0;d<c.length;d++){var u=d/26|0,f=d%26;c[d]=(l.words[u]&1<<f)>>>f}return c}s.prototype.zeroBits=function(){if(this.isZero())return 0;var l=0;for(var c=0;c<this.length;c++){var d=this._zeroBits(this.words[c]);if(l+=d,d!==26)break}return l},s.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},s.prototype.toTwos=function(l){if(this.negative!==0)return this.abs().inotn(l).iaddn(1);return this.clone()},s.prototype.fromTwos=function(l){if(this.testn(l-1))return this.notn(l).iaddn(1).ineg();return this.clone()},s.prototype.isNeg=function(){return this.negative!==0},s.prototype.neg=function(){return this.clone().ineg()},s.prototype.ineg=function(){if(!this.isZero())this.negative^=1;return this},s.prototype.iuor=function(l){while(this.length<l.length)this.words[this.length++]=0;for(var c=0;c<l.length;c++)this.words[c]=this.words[c]|l.words[c];return this.strip()},s.prototype.ior=function(l){return n((this.negative|l.negative)===0),this.iuor(l)},s.prototype.or=function(l){if(this.length>l.length)return this.clone().ior(l);return l.clone().ior(this)},s.prototype.uor=function(l){if(this.length>l.length)return this.clone().iuor(l);return l.clone().iuor(this)},s.prototype.iuand=function(l){var c;if(this.length>l.length)c=l;else c=this;for(var d=0;d<c.length;d++)this.words[d]=this.words[d]&l.words[d];return this.length=c.length,this.strip()},s.prototype.iand=function(l){return n((this.negative|l.negative)===0),this.iuand(l)},s.prototype.and=function(l){if(this.length>l.length)return this.clone().iand(l);return l.clone().iand(this)},s.prototype.uand=function(l){if(this.length>l.length)return this.clone().iuand(l);return l.clone().iuand(this)},s.prototype.iuxor=function(l){var c,d;if(this.length>l.length)c=this,d=l;else c=l,d=this;for(var u=0;u<d.length;u++)this.words[u]=c.words[u]^d.words[u];if(this!==c)for(;u<c.length;u++)this.words[u]=c.words[u];return this.length=c.length,this.strip()},s.prototype.ixor=function(l){return n((this.negative|l.negative)===0),this.iuxor(l)},s.prototype.xor=function(l){if(this.length>l.length)return this.clone().ixor(l);return l.clone().ixor(this)},s.prototype.uxor=function(l){if(this.length>l.length)return this.clone().iuxor(l);return l.clone().iuxor(this)},s.prototype.inotn=function(l){n(typeof l==="number"&&l>=0);var c=Math.ceil(l/26)|0,d=l%26;if(this._expand(c),d>0)c--;for(var u=0;u<c;u++)this.words[u]=~this.words[u]&67108863;if(d>0)this.words[u]=~this.words[u]&67108863>>26-d;return this.strip()},s.prototype.notn=function(l){return this.clone().inotn(l)},s.prototype.setn=function(l,c){n(typeof l==="number"&&l>=0);var d=l/26|0,u=l%26;if(this._expand(d+1),c)this.words[d]=this.words[d]|1<<u;else this.words[d]=this.words[d]&~(1<<u);return this.strip()},s.prototype.iadd=function(l){var c;if(this.negative!==0&&l.negative===0)return this.negative=0,c=this.isub(l),this.negative^=1,this._normSign();else if(this.negative===0&&l.negative!==0)return l.negative=0,c=this.isub(l),l.negative=1,c._normSign();var d,u;if(this.length>l.length)d=this,u=l;else d=l,u=this;var f=0;for(var x=0;x<u.length;x++)c=(d.words[x]|0)+(u.words[x]|0)+f,this.words[x]=c&67108863,f=c>>>26;for(;f!==0&&x<d.length;x++)c=(d.words[x]|0)+f,this.words[x]=c&67108863,f=c>>>26;if(this.length=d.length,f!==0)this.words[this.length]=f,this.length++;else if(d!==this)for(;x<d.length;x++)this.words[x]=d.words[x];return this},s.prototype.add=function(l){var c;if(l.negative!==0&&this.negative===0)return l.negative=0,c=this.sub(l),l.negative^=1,c;else if(l.negative===0&&this.negative!==0)return this.negative=0,c=l.sub(this),this.negative=1,c;if(this.length>l.length)return this.clone().iadd(l);return l.clone().iadd(this)},s.prototype.isub=function(l){if(l.negative!==0){l.negative=0;var c=this.iadd(l);return l.negative=1,c._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(l),this.negative=1,this._normSign();var d=this.cmp(l);if(d===0)return this.negative=0,this.length=1,this.words[0]=0,this;var u,f;if(d>0)u=this,f=l;else u=l,f=this;var x=0;for(var w=0;w<f.length;w++)c=(u.words[w]|0)-(f.words[w]|0)+x,x=c>>26,this.words[w]=c&67108863;for(;x!==0&&w<u.length;w++)c=(u.words[w]|0)+x,x=c>>26,this.words[w]=c&67108863;if(x===0&&w<u.length&&u!==this)for(;w<u.length;w++)this.words[w]=u.words[w];if(this.length=Math.max(this.length,w),u!==this)this.negative=1;return this.strip()},s.prototype.sub=function(l){return this.clone().isub(l)};function A(l,c,d){d.negative=c.negative^l.negative;var u=l.length+c.length|0;d.length=u,u=u-1|0;var f=l.words[0]|0,x=c.words[0]|0,w=f*x,g=w&67108863,a=w/67108864|0;d.words[0]=g;for(var b=1;b<u;b++){var E=a>>>26,S=a&67108863,L=Math.min(b,c.length-1);for(var q=Math.max(0,b-l.length+1);q<=L;q++){var j=b-q|0;f=l.words[j]|0,x=c.words[q]|0,w=f*x+S,E+=w/67108864|0,S=w&67108863}d.words[b]=S|0,a=E|0}if(a!==0)d.words[b]=a|0;else d.length--;return d.strip()}var k=function(l,c,d){var u=l.words,f=c.words,x=d.words,w=0,g,a,b,E=u[0]|0,S=E&8191,L=E>>>13,q=u[1]|0,j=q&8191,X=q>>>13,bt=u[2]|0,it=bt&8191,Q=bt>>>13,pt=u[3]|0,J=pt&8191,at=pt>>>13,Kt=u[4]|0,H=Kt&8191,W=Kt>>>13,mt=u[5]|0,rt=mt&8191,ot=mt>>>13,Lt=u[6]|0,z=Lt&8191,Z=Lt>>>13,jt=u[7]|0,tt=jt&8191,ht=jt>>>13,ae=u[8]|0,wt=ae&8191,vt=ae>>>13,Ge=u[9]|0,yt=Ge&8191,Mt=Ge>>>13,Xe=f[0]|0,Tt=Xe&8191,Rt=Xe>>>13,Br=f[1]|0,It=Br&8191,Ut=Br>>>13,Ur=f[2]|0,qt=Ur&8191,Ot=Ur>>>13,Ir=f[3]|0,Ht=Ir&8191,Pt=Ir>>>13,kr=f[4]|0,$t=kr&8191,zt=kr>>>13,Er=f[5]|0,Dt=Er&8191,B=Er>>>13,K=f[6]|0,st=K&8191,ct=K>>>13,Qt=f[7]|0,xt=Qt&8191,Et=Qt>>>13,Ke=f[8]|0,Ft=Ke&8191,Vt=Ke>>>13,Or=f[9]|0,Bt=Or&8191,Nt=Or>>>13;d.negative=l.negative^c.negative,d.length=19,g=Math.imul(S,Tt),a=Math.imul(S,Rt),a=a+Math.imul(L,Tt)|0,b=Math.imul(L,Rt);var Qe=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(Qe>>>26)|0,Qe&=67108863,g=Math.imul(j,Tt),a=Math.imul(j,Rt),a=a+Math.imul(X,Tt)|0,b=Math.imul(X,Rt),g=g+Math.imul(S,It)|0,a=a+Math.imul(S,Ut)|0,a=a+Math.imul(L,It)|0,b=b+Math.imul(L,Ut)|0;var de=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(de>>>26)|0,de&=67108863,g=Math.imul(it,Tt),a=Math.imul(it,Rt),a=a+Math.imul(Q,Tt)|0,b=Math.imul(Q,Rt),g=g+Math.imul(j,It)|0,a=a+Math.imul(j,Ut)|0,a=a+Math.imul(X,It)|0,b=b+Math.imul(X,Ut)|0,g=g+Math.imul(S,qt)|0,a=a+Math.imul(S,Ot)|0,a=a+Math.imul(L,qt)|0,b=b+Math.imul(L,Ot)|0;var ce=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(ce>>>26)|0,ce&=67108863,g=Math.imul(J,Tt),a=Math.imul(J,Rt),a=a+Math.imul(at,Tt)|0,b=Math.imul(at,Rt),g=g+Math.imul(it,It)|0,a=a+Math.imul(it,Ut)|0,a=a+Math.imul(Q,It)|0,b=b+Math.imul(Q,Ut)|0,g=g+Math.imul(j,qt)|0,a=a+Math.imul(j,Ot)|0,a=a+Math.imul(X,qt)|0,b=b+Math.imul(X,Ot)|0,g=g+Math.imul(S,Ht)|0,a=a+Math.imul(S,Pt)|0,a=a+Math.imul(L,Ht)|0,b=b+Math.imul(L,Pt)|0;var De=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(De>>>26)|0,De&=67108863,g=Math.imul(H,Tt),a=Math.imul(H,Rt),a=a+Math.imul(W,Tt)|0,b=Math.imul(W,Rt),g=g+Math.imul(J,It)|0,a=a+Math.imul(J,Ut)|0,a=a+Math.imul(at,It)|0,b=b+Math.imul(at,Ut)|0,g=g+Math.imul(it,qt)|0,a=a+Math.imul(it,Ot)|0,a=a+Math.imul(Q,qt)|0,b=b+Math.imul(Q,Ot)|0,g=g+Math.imul(j,Ht)|0,a=a+Math.imul(j,Pt)|0,a=a+Math.imul(X,Ht)|0,b=b+Math.imul(X,Pt)|0,g=g+Math.imul(S,$t)|0,a=a+Math.imul(S,zt)|0,a=a+Math.imul(L,$t)|0,b=b+Math.imul(L,zt)|0;var Le=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(Le>>>26)|0,Le&=67108863,g=Math.imul(rt,Tt),a=Math.imul(rt,Rt),a=a+Math.imul(ot,Tt)|0,b=Math.imul(ot,Rt),g=g+Math.imul(H,It)|0,a=a+Math.imul(H,Ut)|0,a=a+Math.imul(W,It)|0,b=b+Math.imul(W,Ut)|0,g=g+Math.imul(J,qt)|0,a=a+Math.imul(J,Ot)|0,a=a+Math.imul(at,qt)|0,b=b+Math.imul(at,Ot)|0,g=g+Math.imul(it,Ht)|0,a=a+Math.imul(it,Pt)|0,a=a+Math.imul(Q,Ht)|0,b=b+Math.imul(Q,Pt)|0,g=g+Math.imul(j,$t)|0,a=a+Math.imul(j,zt)|0,a=a+Math.imul(X,$t)|0,b=b+Math.imul(X,zt)|0,g=g+Math.imul(S,Dt)|0,a=a+Math.imul(S,B)|0,a=a+Math.imul(L,Dt)|0,b=b+Math.imul(L,B)|0;var ar=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(ar>>>26)|0,ar&=67108863,g=Math.imul(z,Tt),a=Math.imul(z,Rt),a=a+Math.imul(Z,Tt)|0,b=Math.imul(Z,Rt),g=g+Math.imul(rt,It)|0,a=a+Math.imul(rt,Ut)|0,a=a+Math.imul(ot,It)|0,b=b+Math.imul(ot,Ut)|0,g=g+Math.imul(H,qt)|0,a=a+Math.imul(H,Ot)|0,a=a+Math.imul(W,qt)|0,b=b+Math.imul(W,Ot)|0,g=g+Math.imul(J,Ht)|0,a=a+Math.imul(J,Pt)|0,a=a+Math.imul(at,Ht)|0,b=b+Math.imul(at,Pt)|0,g=g+Math.imul(it,$t)|0,a=a+Math.imul(it,zt)|0,a=a+Math.imul(Q,$t)|0,b=b+Math.imul(Q,zt)|0,g=g+Math.imul(j,Dt)|0,a=a+Math.imul(j,B)|0,a=a+Math.imul(X,Dt)|0,b=b+Math.imul(X,B)|0,g=g+Math.imul(S,st)|0,a=a+Math.imul(S,ct)|0,a=a+Math.imul(L,st)|0,b=b+Math.imul(L,ct)|0;var ur=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(ur>>>26)|0,ur&=67108863,g=Math.imul(tt,Tt),a=Math.imul(tt,Rt),a=a+Math.imul(ht,Tt)|0,b=Math.imul(ht,Rt),g=g+Math.imul(z,It)|0,a=a+Math.imul(z,Ut)|0,a=a+Math.imul(Z,It)|0,b=b+Math.imul(Z,Ut)|0,g=g+Math.imul(rt,qt)|0,a=a+Math.imul(rt,Ot)|0,a=a+Math.imul(ot,qt)|0,b=b+Math.imul(ot,Ot)|0,g=g+Math.imul(H,Ht)|0,a=a+Math.imul(H,Pt)|0,a=a+Math.imul(W,Ht)|0,b=b+Math.imul(W,Pt)|0,g=g+Math.imul(J,$t)|0,a=a+Math.imul(J,zt)|0,a=a+Math.imul(at,$t)|0,b=b+Math.imul(at,zt)|0,g=g+Math.imul(it,Dt)|0,a=a+Math.imul(it,B)|0,a=a+Math.imul(Q,Dt)|0,b=b+Math.imul(Q,B)|0,g=g+Math.imul(j,st)|0,a=a+Math.imul(j,ct)|0,a=a+Math.imul(X,st)|0,b=b+Math.imul(X,ct)|0,g=g+Math.imul(S,xt)|0,a=a+Math.imul(S,Et)|0,a=a+Math.imul(L,xt)|0,b=b+Math.imul(L,Et)|0;var cr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(cr>>>26)|0,cr&=67108863,g=Math.imul(wt,Tt),a=Math.imul(wt,Rt),a=a+Math.imul(vt,Tt)|0,b=Math.imul(vt,Rt),g=g+Math.imul(tt,It)|0,a=a+Math.imul(tt,Ut)|0,a=a+Math.imul(ht,It)|0,b=b+Math.imul(ht,Ut)|0,g=g+Math.imul(z,qt)|0,a=a+Math.imul(z,Ot)|0,a=a+Math.imul(Z,qt)|0,b=b+Math.imul(Z,Ot)|0,g=g+Math.imul(rt,Ht)|0,a=a+Math.imul(rt,Pt)|0,a=a+Math.imul(ot,Ht)|0,b=b+Math.imul(ot,Pt)|0,g=g+Math.imul(H,$t)|0,a=a+Math.imul(H,zt)|0,a=a+Math.imul(W,$t)|0,b=b+Math.imul(W,zt)|0,g=g+Math.imul(J,Dt)|0,a=a+Math.imul(J,B)|0,a=a+Math.imul(at,Dt)|0,b=b+Math.imul(at,B)|0,g=g+Math.imul(it,st)|0,a=a+Math.imul(it,ct)|0,a=a+Math.imul(Q,st)|0,b=b+Math.imul(Q,ct)|0,g=g+Math.imul(j,xt)|0,a=a+Math.imul(j,Et)|0,a=a+Math.imul(X,xt)|0,b=b+Math.imul(X,Et)|0,g=g+Math.imul(S,Ft)|0,a=a+Math.imul(S,Vt)|0,a=a+Math.imul(L,Ft)|0,b=b+Math.imul(L,Vt)|0;var hr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(hr>>>26)|0,hr&=67108863,g=Math.imul(yt,Tt),a=Math.imul(yt,Rt),a=a+Math.imul(Mt,Tt)|0,b=Math.imul(Mt,Rt),g=g+Math.imul(wt,It)|0,a=a+Math.imul(wt,Ut)|0,a=a+Math.imul(vt,It)|0,b=b+Math.imul(vt,Ut)|0,g=g+Math.imul(tt,qt)|0,a=a+Math.imul(tt,Ot)|0,a=a+Math.imul(ht,qt)|0,b=b+Math.imul(ht,Ot)|0,g=g+Math.imul(z,Ht)|0,a=a+Math.imul(z,Pt)|0,a=a+Math.imul(Z,Ht)|0,b=b+Math.imul(Z,Pt)|0,g=g+Math.imul(rt,$t)|0,a=a+Math.imul(rt,zt)|0,a=a+Math.imul(ot,$t)|0,b=b+Math.imul(ot,zt)|0,g=g+Math.imul(H,Dt)|0,a=a+Math.imul(H,B)|0,a=a+Math.imul(W,Dt)|0,b=b+Math.imul(W,B)|0,g=g+Math.imul(J,st)|0,a=a+Math.imul(J,ct)|0,a=a+Math.imul(at,st)|0,b=b+Math.imul(at,ct)|0,g=g+Math.imul(it,xt)|0,a=a+Math.imul(it,Et)|0,a=a+Math.imul(Q,xt)|0,b=b+Math.imul(Q,Et)|0,g=g+Math.imul(j,Ft)|0,a=a+Math.imul(j,Vt)|0,a=a+Math.imul(X,Ft)|0,b=b+Math.imul(X,Vt)|0,g=g+Math.imul(S,Bt)|0,a=a+Math.imul(S,Nt)|0,a=a+Math.imul(L,Bt)|0,b=b+Math.imul(L,Nt)|0;var fr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(fr>>>26)|0,fr&=67108863,g=Math.imul(yt,It),a=Math.imul(yt,Ut),a=a+Math.imul(Mt,It)|0,b=Math.imul(Mt,Ut),g=g+Math.imul(wt,qt)|0,a=a+Math.imul(wt,Ot)|0,a=a+Math.imul(vt,qt)|0,b=b+Math.imul(vt,Ot)|0,g=g+Math.imul(tt,Ht)|0,a=a+Math.imul(tt,Pt)|0,a=a+Math.imul(ht,Ht)|0,b=b+Math.imul(ht,Pt)|0,g=g+Math.imul(z,$t)|0,a=a+Math.imul(z,zt)|0,a=a+Math.imul(Z,$t)|0,b=b+Math.imul(Z,zt)|0,g=g+Math.imul(rt,Dt)|0,a=a+Math.imul(rt,B)|0,a=a+Math.imul(ot,Dt)|0,b=b+Math.imul(ot,B)|0,g=g+Math.imul(H,st)|0,a=a+Math.imul(H,ct)|0,a=a+Math.imul(W,st)|0,b=b+Math.imul(W,ct)|0,g=g+Math.imul(J,xt)|0,a=a+Math.imul(J,Et)|0,a=a+Math.imul(at,xt)|0,b=b+Math.imul(at,Et)|0,g=g+Math.imul(it,Ft)|0,a=a+Math.imul(it,Vt)|0,a=a+Math.imul(Q,Ft)|0,b=b+Math.imul(Q,Vt)|0,g=g+Math.imul(j,Bt)|0,a=a+Math.imul(j,Nt)|0,a=a+Math.imul(X,Bt)|0,b=b+Math.imul(X,Nt)|0;var dr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(dr>>>26)|0,dr&=67108863,g=Math.imul(yt,qt),a=Math.imul(yt,Ot),a=a+Math.imul(Mt,qt)|0,b=Math.imul(Mt,Ot),g=g+Math.imul(wt,Ht)|0,a=a+Math.imul(wt,Pt)|0,a=a+Math.imul(vt,Ht)|0,b=b+Math.imul(vt,Pt)|0,g=g+Math.imul(tt,$t)|0,a=a+Math.imul(tt,zt)|0,a=a+Math.imul(ht,$t)|0,b=b+Math.imul(ht,zt)|0,g=g+Math.imul(z,Dt)|0,a=a+Math.imul(z,B)|0,a=a+Math.imul(Z,Dt)|0,b=b+Math.imul(Z,B)|0,g=g+Math.imul(rt,st)|0,a=a+Math.imul(rt,ct)|0,a=a+Math.imul(ot,st)|0,b=b+Math.imul(ot,ct)|0,g=g+Math.imul(H,xt)|0,a=a+Math.imul(H,Et)|0,a=a+Math.imul(W,xt)|0,b=b+Math.imul(W,Et)|0,g=g+Math.imul(J,Ft)|0,a=a+Math.imul(J,Vt)|0,a=a+Math.imul(at,Ft)|0,b=b+Math.imul(at,Vt)|0,g=g+Math.imul(it,Bt)|0,a=a+Math.imul(it,Nt)|0,a=a+Math.imul(Q,Bt)|0,b=b+Math.imul(Q,Nt)|0;var pr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(pr>>>26)|0,pr&=67108863,g=Math.imul(yt,Ht),a=Math.imul(yt,Pt),a=a+Math.imul(Mt,Ht)|0,b=Math.imul(Mt,Pt),g=g+Math.imul(wt,$t)|0,a=a+Math.imul(wt,zt)|0,a=a+Math.imul(vt,$t)|0,b=b+Math.imul(vt,zt)|0,g=g+Math.imul(tt,Dt)|0,a=a+Math.imul(tt,B)|0,a=a+Math.imul(ht,Dt)|0,b=b+Math.imul(ht,B)|0,g=g+Math.imul(z,st)|0,a=a+Math.imul(z,ct)|0,a=a+Math.imul(Z,st)|0,b=b+Math.imul(Z,ct)|0,g=g+Math.imul(rt,xt)|0,a=a+Math.imul(rt,Et)|0,a=a+Math.imul(ot,xt)|0,b=b+Math.imul(ot,Et)|0,g=g+Math.imul(H,Ft)|0,a=a+Math.imul(H,Vt)|0,a=a+Math.imul(W,Ft)|0,b=b+Math.imul(W,Vt)|0,g=g+Math.imul(J,Bt)|0,a=a+Math.imul(J,Nt)|0,a=a+Math.imul(at,Bt)|0,b=b+Math.imul(at,Nt)|0;var mr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(mr>>>26)|0,mr&=67108863,g=Math.imul(yt,$t),a=Math.imul(yt,zt),a=a+Math.imul(Mt,$t)|0,b=Math.imul(Mt,zt),g=g+Math.imul(wt,Dt)|0,a=a+Math.imul(wt,B)|0,a=a+Math.imul(vt,Dt)|0,b=b+Math.imul(vt,B)|0,g=g+Math.imul(tt,st)|0,a=a+Math.imul(tt,ct)|0,a=a+Math.imul(ht,st)|0,b=b+Math.imul(ht,ct)|0,g=g+Math.imul(z,xt)|0,a=a+Math.imul(z,Et)|0,a=a+Math.imul(Z,xt)|0,b=b+Math.imul(Z,Et)|0,g=g+Math.imul(rt,Ft)|0,a=a+Math.imul(rt,Vt)|0,a=a+Math.imul(ot,Ft)|0,b=b+Math.imul(ot,Vt)|0,g=g+Math.imul(H,Bt)|0,a=a+Math.imul(H,Nt)|0,a=a+Math.imul(W,Bt)|0,b=b+Math.imul(W,Nt)|0;var gr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(gr>>>26)|0,gr&=67108863,g=Math.imul(yt,Dt),a=Math.imul(yt,B),a=a+Math.imul(Mt,Dt)|0,b=Math.imul(Mt,B),g=g+Math.imul(wt,st)|0,a=a+Math.imul(wt,ct)|0,a=a+Math.imul(vt,st)|0,b=b+Math.imul(vt,ct)|0,g=g+Math.imul(tt,xt)|0,a=a+Math.imul(tt,Et)|0,a=a+Math.imul(ht,xt)|0,b=b+Math.imul(ht,Et)|0,g=g+Math.imul(z,Ft)|0,a=a+Math.imul(z,Vt)|0,a=a+Math.imul(Z,Ft)|0,b=b+Math.imul(Z,Vt)|0,g=g+Math.imul(rt,Bt)|0,a=a+Math.imul(rt,Nt)|0,a=a+Math.imul(ot,Bt)|0,b=b+Math.imul(ot,Nt)|0;var _r=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(_r>>>26)|0,_r&=67108863,g=Math.imul(yt,st),a=Math.imul(yt,ct),a=a+Math.imul(Mt,st)|0,b=Math.imul(Mt,ct),g=g+Math.imul(wt,xt)|0,a=a+Math.imul(wt,Et)|0,a=a+Math.imul(vt,xt)|0,b=b+Math.imul(vt,Et)|0,g=g+Math.imul(tt,Ft)|0,a=a+Math.imul(tt,Vt)|0,a=a+Math.imul(ht,Ft)|0,b=b+Math.imul(ht,Vt)|0,g=g+Math.imul(z,Bt)|0,a=a+Math.imul(z,Nt)|0,a=a+Math.imul(Z,Bt)|0,b=b+Math.imul(Z,Nt)|0;var br=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(br>>>26)|0,br&=67108863,g=Math.imul(yt,xt),a=Math.imul(yt,Et),a=a+Math.imul(Mt,xt)|0,b=Math.imul(Mt,Et),g=g+Math.imul(wt,Ft)|0,a=a+Math.imul(wt,Vt)|0,a=a+Math.imul(vt,Ft)|0,b=b+Math.imul(vt,Vt)|0,g=g+Math.imul(tt,Bt)|0,a=a+Math.imul(tt,Nt)|0,a=a+Math.imul(ht,Bt)|0,b=b+Math.imul(ht,Nt)|0;var yr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(yr>>>26)|0,yr&=67108863,g=Math.imul(yt,Ft),a=Math.imul(yt,Vt),a=a+Math.imul(Mt,Ft)|0,b=Math.imul(Mt,Vt),g=g+Math.imul(wt,Bt)|0,a=a+Math.imul(wt,Nt)|0,a=a+Math.imul(vt,Bt)|0,b=b+Math.imul(vt,Nt)|0;var xr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(xr>>>26)|0,xr&=67108863,g=Math.imul(yt,Bt),a=Math.imul(yt,Nt),a=a+Math.imul(Mt,Bt)|0,b=Math.imul(Mt,Nt);var wr=(w+g|0)+((a&8191)<<13)|0;if(w=(b+(a>>>13)|0)+(wr>>>26)|0,wr&=67108863,x[0]=Qe,x[1]=de,x[2]=ce,x[3]=De,x[4]=Le,x[5]=ar,x[6]=ur,x[7]=cr,x[8]=hr,x[9]=fr,x[10]=dr,x[11]=pr,x[12]=mr,x[13]=gr,x[14]=_r,x[15]=br,x[16]=yr,x[17]=xr,x[18]=wr,w!==0)x[19]=w,d.length++;return d};if(!Math.imul)k=A;function R(l,c,d){d.negative=c.negative^l.negative,d.length=l.length+c.length;var u=0,f=0;for(var x=0;x<d.length-1;x++){var w=f;f=0;var g=u&67108863,a=Math.min(x,c.length-1);for(var b=Math.max(0,x-l.length+1);b<=a;b++){var E=x-b,S=l.words[E]|0,L=c.words[b]|0,q=S*L,j=q&67108863;w=w+(q/67108864|0)|0,j=j+g|0,g=j&67108863,w=w+(j>>>26)|0,f+=w>>>26,w&=67108863}d.words[x]=g,u=w,w=f}if(u!==0)d.words[x]=u;else d.length--;return d.strip()}function T(l,c,d){var u=new I;return u.mulp(l,c,d)}s.prototype.mulTo=function(l,c){var d,u=this.length+l.length;if(this.length===10&&l.length===10)d=k(this,l,c);else if(u<63)d=A(this,l,c);else if(u<1024)d=R(this,l,c);else d=T(this,l,c);return d};function I(l,c){this.x=l,this.y=c}I.prototype.makeRBT=function(l){var c=Array(l),d=s.prototype._countBits(l)-1;for(var u=0;u<l;u++)c[u]=this.revBin(u,d,l);return c},I.prototype.revBin=function(l,c,d){if(l===0||l===d-1)return l;var u=0;for(var f=0;f<c;f++)u|=(l&1)<<c-f-1,l>>=1;return u},I.prototype.permute=function(l,c,d,u,f,x){for(var w=0;w<x;w++)u[w]=c[l[w]],f[w]=d[l[w]]},I.prototype.transform=function(l,c,d,u,f,x){this.permute(x,l,c,d,u,f);for(var w=1;w<f;w<<=1){var g=w<<1,a=Math.cos(2*Math.PI/g),b=Math.sin(2*Math.PI/g);for(var E=0;E<f;E+=g){var S=a,L=b;for(var q=0;q<w;q++){var j=d[E+q],X=u[E+q],bt=d[E+q+w],it=u[E+q+w],Q=S*bt-L*it;if(it=S*it+L*bt,bt=Q,d[E+q]=j+bt,u[E+q]=X+it,d[E+q+w]=j-bt,u[E+q+w]=X-it,q!==g)Q=a*S-b*L,L=a*L+b*S,S=Q}}}},I.prototype.guessLen13b=function(l,c){var d=Math.max(c,l)|1,u=d&1,f=0;for(d=d/2|0;d;d=d>>>1)f++;return 1<<f+1+u},I.prototype.conjugate=function(l,c,d){if(d<=1)return;for(var u=0;u<d/2;u++){var f=l[u];l[u]=l[d-u-1],l[d-u-1]=f,f=c[u],c[u]=-c[d-u-1],c[d-u-1]=-f}},I.prototype.normalize13b=function(l,c){var d=0;for(var u=0;u<c/2;u++){var f=Math.round(l[2*u+1]/c)*8192+Math.round(l[2*u]/c)+d;if(l[u]=f&67108863,f<67108864)d=0;else d=f/67108864|0}return l},I.prototype.convert13b=function(l,c,d,u){var f=0;for(var x=0;x<c;x++)f=f+(l[x]|0),d[2*x]=f&8191,f=f>>>13,d[2*x+1]=f&8191,f=f>>>13;for(x=2*c;x<u;++x)d[x]=0;n(f===0),n((f&-8192)===0)},I.prototype.stub=function(l){var c=Array(l);for(var d=0;d<l;d++)c[d]=0;return c},I.prototype.mulp=function(l,c,d){var u=2*this.guessLen13b(l.length,c.length),f=this.makeRBT(u),x=this.stub(u),w=Array(u),g=Array(u),a=Array(u),b=Array(u),E=Array(u),S=Array(u),L=d.words;L.length=u,this.convert13b(l.words,l.length,w,u),this.convert13b(c.words,c.length,b,u),this.transform(w,x,g,a,u,f),this.transform(b,x,E,S,u,f);for(var q=0;q<u;q++){var j=g[q]*E[q]-a[q]*S[q];a[q]=g[q]*S[q]+a[q]*E[q],g[q]=j}return this.conjugate(g,a,u),this.transform(g,a,L,x,u,f),this.conjugate(L,x,u),this.normalize13b(L,u),d.negative=l.negative^c.negative,d.length=l.length+c.length,d.strip()},s.prototype.mul=function(l){var c=new s(null);return c.words=Array(this.length+l.length),this.mulTo(l,c)},s.prototype.mulf=function(l){var c=new s(null);return c.words=Array(this.length+l.length),T(this,l,c)},s.prototype.imul=function(l){return this.clone().mulTo(l,this)},s.prototype.imuln=function(l){n(typeof l==="number"),n(l<67108864);var c=0;for(var d=0;d<this.length;d++){var u=(this.words[d]|0)*l,f=(u&67108863)+(c&67108863);c>>=26,c+=u/67108864|0,c+=f>>>26,this.words[d]=f&67108863}if(c!==0)this.words[d]=c,this.length++;return this.length=l===0?1:this.length,this},s.prototype.muln=function(l){return this.clone().imuln(l)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(l){var c=M(l);if(c.length===0)return new s(1);var d=this;for(var u=0;u<c.length;u++,d=d.sqr())if(c[u]!==0)break;if(++u<c.length)for(var f=d.sqr();u<c.length;u++,f=f.sqr()){if(c[u]===0)continue;d=d.mul(f)}return d},s.prototype.iushln=function(l){n(typeof l==="number"&&l>=0);var c=l%26,d=(l-c)/26,u=67108863>>>26-c<<26-c,f;if(c!==0){var x=0;for(f=0;f<this.length;f++){var w=this.words[f]&u,g=(this.words[f]|0)-w<<c;this.words[f]=g|x,x=w>>>26-c}if(x)this.words[f]=x,this.length++}if(d!==0){for(f=this.length-1;f>=0;f--)this.words[f+d]=this.words[f];for(f=0;f<d;f++)this.words[f]=0;this.length+=d}return this.strip()},s.prototype.ishln=function(l){return n(this.negative===0),this.iushln(l)},s.prototype.iushrn=function(l,c,d){n(typeof l==="number"&&l>=0);var u;if(c)u=(c-c%26)/26;else u=0;var f=l%26,x=Math.min((l-f)/26,this.length),w=67108863^67108863>>>f<<f,g=d;if(u-=x,u=Math.max(0,u),g){for(var a=0;a<x;a++)g.words[a]=this.words[a];g.length=x}if(x===0);else if(this.length>x){this.length-=x;for(a=0;a<this.length;a++)this.words[a]=this.words[a+x]}else this.words[0]=0,this.length=1;var b=0;for(a=this.length-1;a>=0&&(b!==0||a>=u);a--){var E=this.words[a]|0;this.words[a]=b<<26-f|E>>>f,b=E&w}if(g&&b!==0)g.words[g.length++]=b;if(this.length===0)this.words[0]=0,this.length=1;return this.strip()},s.prototype.ishrn=function(l,c,d){return n(this.negative===0),this.iushrn(l,c,d)},s.prototype.shln=function(l){return this.clone().ishln(l)},s.prototype.ushln=function(l){return this.clone().iushln(l)},s.prototype.shrn=function(l){return this.clone().ishrn(l)},s.prototype.ushrn=function(l){return this.clone().iushrn(l)},s.prototype.testn=function(l){n(typeof l==="number"&&l>=0);var c=l%26,d=(l-c)/26,u=1<<c;if(this.length<=d)return!1;var f=this.words[d];return!!(f&u)},s.prototype.imaskn=function(l){n(typeof l==="number"&&l>=0);var c=l%26,d=(l-c)/26;if(n(this.negative===0,"imaskn works only with positive numbers"),this.length<=d)return this;if(c!==0)d++;if(this.length=Math.min(d,this.length),c!==0){var u=67108863^67108863>>>c<<c;this.words[this.length-1]&=u}return this.strip()},s.prototype.maskn=function(l){return this.clone().imaskn(l)},s.prototype.iaddn=function(l){if(n(typeof l==="number"),n(l<67108864),l<0)return this.isubn(-l);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<l)return this.words[0]=l-(this.words[0]|0),this.negative=0,this;return this.negative=0,this.isubn(l),this.negative=1,this}return this._iaddn(l)},s.prototype._iaddn=function(l){this.words[0]+=l;for(var c=0;c<this.length&&this.words[c]>=67108864;c++)if(this.words[c]-=67108864,c===this.length-1)this.words[c+1]=1;else this.words[c+1]++;return this.length=Math.max(this.length,c+1),this},s.prototype.isubn=function(l){if(n(typeof l==="number"),n(l<67108864),l<0)return this.iaddn(-l);if(this.negative!==0)return this.negative=0,this.iaddn(l),this.negative=1,this;if(this.words[0]-=l,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var c=0;c<this.length&&this.words[c]<0;c++)this.words[c]+=67108864,this.words[c+1]-=1;return this.strip()},s.prototype.addn=function(l){return this.clone().iaddn(l)},s.prototype.subn=function(l){return this.clone().isubn(l)},s.prototype.iabs=function(){return this.negative=0,this},s.prototype.abs=function(){return this.clone().iabs()},s.prototype._ishlnsubmul=function(l,c,d){var u=l.length+d,f;this._expand(u);var x,w=0;for(f=0;f<l.length;f++){x=(this.words[f+d]|0)+w;var g=(l.words[f]|0)*c;x-=g&67108863,w=(x>>26)-(g/67108864|0),this.words[f+d]=x&67108863}for(;f<this.length-d;f++)x=(this.words[f+d]|0)+w,w=x>>26,this.words[f+d]=x&67108863;if(w===0)return this.strip();n(w===-1),w=0;for(f=0;f<this.length;f++)x=-(this.words[f]|0)+w,w=x>>26,this.words[f]=x&67108863;return this.negative=1,this.strip()},s.prototype._wordDiv=function(l,c){var d=this.length-l.length,u=this.clone(),f=l,x=f.words[f.length-1]|0,w=this._countBits(x);if(d=26-w,d!==0)f=f.ushln(d),u.iushln(d),x=f.words[f.length-1]|0;var g=u.length-f.length,a;if(c!=="mod"){a=new s(null),a.length=g+1,a.words=Array(a.length);for(var b=0;b<a.length;b++)a.words[b]=0}var E=u.clone()._ishlnsubmul(f,1,g);if(E.negative===0){if(u=E,a)a.words[g]=1}for(var S=g-1;S>=0;S--){var L=(u.words[f.length+S]|0)*67108864+(u.words[f.length+S-1]|0);L=Math.min(L/x|0,67108863),u._ishlnsubmul(f,L,S);while(u.negative!==0)if(L--,u.negative=0,u._ishlnsubmul(f,1,S),!u.isZero())u.negative^=1;if(a)a.words[S]=L}if(a)a.strip();if(u.strip(),c!=="div"&&d!==0)u.iushrn(d);return{div:a||null,mod:u}},s.prototype.divmod=function(l,c,d){if(n(!l.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var u,f,x;if(this.negative!==0&&l.negative===0){if(x=this.neg().divmod(l,c),c!=="mod")u=x.div.neg();if(c!=="div"){if(f=x.mod.neg(),d&&f.negative!==0)f.iadd(l)}return{div:u,mod:f}}if(this.negative===0&&l.negative!==0){if(x=this.divmod(l.neg(),c),c!=="mod")u=x.div.neg();return{div:u,mod:x.mod}}if((this.negative&l.negative)!==0){if(x=this.neg().divmod(l.neg(),c),c!=="div"){if(f=x.mod.neg(),d&&f.negative!==0)f.isub(l)}return{div:x.div,mod:f}}if(l.length>this.length||this.cmp(l)<0)return{div:new s(0),mod:this};if(l.length===1){if(c==="div")return{div:this.divn(l.words[0]),mod:null};if(c==="mod")return{div:null,mod:new s(this.modn(l.words[0]))};return{div:this.divn(l.words[0]),mod:new s(this.modn(l.words[0]))}}return this._wordDiv(l,c)},s.prototype.div=function(l){return this.divmod(l,"div",!1).div},s.prototype.mod=function(l){return this.divmod(l,"mod",!1).mod},s.prototype.umod=function(l){return this.divmod(l,"mod",!0).mod},s.prototype.divRound=function(l){var c=this.divmod(l);if(c.mod.isZero())return c.div;var d=c.div.negative!==0?c.mod.isub(l):c.mod,u=l.ushrn(1),f=l.andln(1),x=d.cmp(u);if(x<0||f===1&&x===0)return c.div;return c.div.negative!==0?c.div.isubn(1):c.div.iaddn(1)},s.prototype.modn=function(l){n(l<=67108863);var c=67108864%l,d=0;for(var u=this.length-1;u>=0;u--)d=(c*d+(this.words[u]|0))%l;return d},s.prototype.idivn=function(l){n(l<=67108863);var c=0;for(var d=this.length-1;d>=0;d--){var u=(this.words[d]|0)+c*67108864;this.words[d]=u/l|0,c=u%l}return this.strip()},s.prototype.divn=function(l){return this.clone().idivn(l)},s.prototype.egcd=function(l){n(l.negative===0),n(!l.isZero());var c=this,d=l.clone();if(c.negative!==0)c=c.umod(l);else c=c.clone();var u=new s(1),f=new s(0),x=new s(0),w=new s(1),g=0;while(c.isEven()&&d.isEven())c.iushrn(1),d.iushrn(1),++g;var a=d.clone(),b=c.clone();while(!c.isZero()){for(var E=0,S=1;(c.words[0]&S)===0&&E<26;++E,S<<=1);if(E>0){c.iushrn(E);while(E-- >0){if(u.isOdd()||f.isOdd())u.iadd(a),f.isub(b);u.iushrn(1),f.iushrn(1)}}for(var L=0,q=1;(d.words[0]&q)===0&&L<26;++L,q<<=1);if(L>0){d.iushrn(L);while(L-- >0){if(x.isOdd()||w.isOdd())x.iadd(a),w.isub(b);x.iushrn(1),w.iushrn(1)}}if(c.cmp(d)>=0)c.isub(d),u.isub(x),f.isub(w);else d.isub(c),x.isub(u),w.isub(f)}return{a:x,b:w,gcd:d.iushln(g)}},s.prototype._invmp=function(l){n(l.negative===0),n(!l.isZero());var c=this,d=l.clone();if(c.negative!==0)c=c.umod(l);else c=c.clone();var u=new s(1),f=new s(0),x=d.clone();while(c.cmpn(1)>0&&d.cmpn(1)>0){for(var w=0,g=1;(c.words[0]&g)===0&&w<26;++w,g<<=1);if(w>0){c.iushrn(w);while(w-- >0){if(u.isOdd())u.iadd(x);u.iushrn(1)}}for(var a=0,b=1;(d.words[0]&b)===0&&a<26;++a,b<<=1);if(a>0){d.iushrn(a);while(a-- >0){if(f.isOdd())f.iadd(x);f.iushrn(1)}}if(c.cmp(d)>=0)c.isub(d),u.isub(f);else d.isub(c),f.isub(u)}var E;if(c.cmpn(1)===0)E=u;else E=f;if(E.cmpn(0)<0)E.iadd(l);return E},s.prototype.gcd=function(l){if(this.isZero())return l.abs();if(l.isZero())return this.abs();var c=this.clone(),d=l.clone();c.negative=0,d.negative=0;for(var u=0;c.isEven()&&d.isEven();u++)c.iushrn(1),d.iushrn(1);do{while(c.isEven())c.iushrn(1);while(d.isEven())d.iushrn(1);var f=c.cmp(d);if(f<0){var x=c;c=d,d=x}else if(f===0||d.cmpn(1)===0)break;c.isub(d)}while(!0);return d.iushln(u)},s.prototype.invm=function(l){return this.egcd(l).a.umod(l)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(l){return this.words[0]&l},s.prototype.bincn=function(l){n(typeof l==="number");var c=l%26,d=(l-c)/26,u=1<<c;if(this.length<=d)return this._expand(d+1),this.words[d]|=u,this;var f=u;for(var x=d;f!==0&&x<this.length;x++){var w=this.words[x]|0;w+=f,f=w>>>26,w&=67108863,this.words[x]=w}if(f!==0)this.words[x]=f,this.length++;return this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(l){var c=l<0;if(this.negative!==0&&!c)return-1;if(this.negative===0&&c)return 1;this.strip();var d;if(this.length>1)d=1;else{if(c)l=-l;n(l<=67108863,"Number is too big");var u=this.words[0]|0;d=u===l?0:u<l?-1:1}if(this.negative!==0)return-d|0;return d},s.prototype.cmp=function(l){if(this.negative!==0&&l.negative===0)return-1;if(this.negative===0&&l.negative!==0)return 1;var c=this.ucmp(l);if(this.negative!==0)return-c|0;return c},s.prototype.ucmp=function(l){if(this.length>l.length)return 1;if(this.length<l.length)return-1;var c=0;for(var d=this.length-1;d>=0;d--){var u=this.words[d]|0,f=l.words[d]|0;if(u===f)continue;if(u<f)c=-1;else if(u>f)c=1;break}return c},s.prototype.gtn=function(l){return this.cmpn(l)===1},s.prototype.gt=function(l){return this.cmp(l)===1},s.prototype.gten=function(l){return this.cmpn(l)>=0},s.prototype.gte=function(l){return this.cmp(l)>=0},s.prototype.ltn=function(l){return this.cmpn(l)===-1},s.prototype.lt=function(l){return this.cmp(l)===-1},s.prototype.lten=function(l){return this.cmpn(l)<=0},s.prototype.lte=function(l){return this.cmp(l)<=0},s.prototype.eqn=function(l){return this.cmpn(l)===0},s.prototype.eq=function(l){return this.cmp(l)===0},s.red=function(l){return new V(l)},s.prototype.toRed=function(l){return n(!this.red,"Already a number in reduction context"),n(this.negative===0,"red works only with positives"),l.convertTo(this)._forceRed(l)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(l){return this.red=l,this},s.prototype.forceRed=function(l){return n(!this.red,"Already a number in reduction context"),this._forceRed(l)},s.prototype.redAdd=function(l){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,l)},s.prototype.redIAdd=function(l){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,l)},s.prototype.redSub=function(l){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,l)},s.prototype.redISub=function(l){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,l)},s.prototype.redShl=function(l){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,l)},s.prototype.redMul=function(l){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,l),this.red.mul(this,l)},s.prototype.redIMul=function(l){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,l),this.red.imul(this,l)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(l){return n(this.red&&!l.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,l)};var P={k256:null,p224:null,p192:null,p25519:null};function F(l,c){this.name=l,this.p=new s(c,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}F.prototype._tmp=function(){var l=new s(null);return l.words=Array(Math.ceil(this.n/13)),l},F.prototype.ireduce=function(l){var c=l,d;do this.split(c,this.tmp),c=this.imulK(c),c=c.iadd(this.tmp),d=c.bitLength();while(d>this.n);var u=d<this.n?-1:c.ucmp(this.p);if(u===0)c.words[0]=0,c.length=1;else if(u>0)c.isub(this.p);else if(c.strip!==void 0)c.strip();else c._strip();return c},F.prototype.split=function(l,c){l.iushrn(this.n,0,c)},F.prototype.imulK=function(l){return l.imul(this.k)};function G(){F.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}o(G,F),G.prototype.split=function(l,c){var d=4194303,u=Math.min(l.length,9);for(var f=0;f<u;f++)c.words[f]=l.words[f];if(c.length=u,l.length<=9){l.words[0]=0,l.length=1;return}var x=l.words[9];c.words[c.length++]=x&d;for(f=10;f<l.length;f++){var w=l.words[f]|0;l.words[f-10]=(w&d)<<4|x>>>22,x=w}if(x>>>=22,l.words[f-10]=x,x===0&&l.length>10)l.length-=10;else l.length-=9},G.prototype.imulK=function(l){l.words[l.length]=0,l.words[l.length+1]=0,l.length+=2;var c=0;for(var d=0;d<l.length;d++){var u=l.words[d]|0;c+=u*977,l.words[d]=c&67108863,c=u*64+(c/67108864|0)}if(l.words[l.length-1]===0){if(l.length--,l.words[l.length-1]===0)l.length--}return l};function lt(){F.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}o(lt,F);function dt(){F.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}o(dt,F);function ut(){F.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}o(ut,F),ut.prototype.imulK=function(l){var c=0;for(var d=0;d<l.length;d++){var u=(l.words[d]|0)*19+c,f=u&67108863;u>>>=26,l.words[d]=f,c=u}if(c!==0)l.words[l.length++]=c;return l},s._prime=function(l){if(P[l])return P[l];var c;if(l==="k256")c=new G;else if(l==="p224")c=new lt;else if(l==="p192")c=new dt;else if(l==="p25519")c=new ut;else throw Error("Unknown prime "+l);return P[l]=c,c};function V(l){if(typeof l==="string"){var c=s._prime(l);this.m=c.p,this.prime=c}else n(l.gtn(1),"modulus must be greater than 1"),this.m=l,this.prime=null}V.prototype._verify1=function(l){n(l.negative===0,"red works only with positives"),n(l.red,"red works only with red numbers")},V.prototype._verify2=function(l,c){n((l.negative|c.negative)===0,"red works only with positives"),n(l.red&&l.red===c.red,"red works only with red numbers")},V.prototype.imod=function(l){if(this.prime)return this.prime.ireduce(l)._forceRed(this);return l.umod(this.m)._forceRed(this)},V.prototype.neg=function(l){if(l.isZero())return l.clone();return this.m.sub(l)._forceRed(this)},V.prototype.add=function(l,c){this._verify2(l,c);var d=l.add(c);if(d.cmp(this.m)>=0)d.isub(this.m);return d._forceRed(this)},V.prototype.iadd=function(l,c){this._verify2(l,c);var d=l.iadd(c);if(d.cmp(this.m)>=0)d.isub(this.m);return d},V.prototype.sub=function(l,c){this._verify2(l,c);var d=l.sub(c);if(d.cmpn(0)<0)d.iadd(this.m);return d._forceRed(this)},V.prototype.isub=function(l,c){this._verify2(l,c);var d=l.isub(c);if(d.cmpn(0)<0)d.iadd(this.m);return d},V.prototype.shl=function(l,c){return this._verify1(l),this.imod(l.ushln(c))},V.prototype.imul=function(l,c){return this._verify2(l,c),this.imod(l.imul(c))},V.prototype.mul=function(l,c){return this._verify2(l,c),this.imod(l.mul(c))},V.prototype.isqr=function(l){return this.imul(l,l.clone())},V.prototype.sqr=function(l){return this.mul(l,l)},V.prototype.sqrt=function(l){if(l.isZero())return l.clone();var c=this.m.andln(3);if(n(c%2===1),c===3){var d=this.m.add(new s(1)).iushrn(2);return this.pow(l,d)}var u=this.m.subn(1),f=0;while(!u.isZero()&&u.andln(1)===0)f++,u.iushrn(1);n(!u.isZero());var x=new s(1).toRed(this),w=x.redNeg(),g=this.m.subn(1).iushrn(1),a=this.m.bitLength();a=new s(2*a*a).toRed(this);while(this.pow(a,g).cmp(w)!==0)a.redIAdd(w);var b=this.pow(a,u),E=this.pow(l,u.addn(1).iushrn(1)),S=this.pow(l,u),L=f;while(S.cmp(x)!==0){var q=S;for(var j=0;q.cmp(x)!==0;j++)q=q.redSqr();n(j<L);var X=this.pow(b,new s(1).iushln(L-j-1));E=E.redMul(X),b=X.redSqr(),S=S.redMul(b),L=j}return E},V.prototype.invm=function(l){var c=l._invmp(this.m);if(c.negative!==0)return c.negative=0,this.imod(c).redNeg();else return this.imod(c)},V.prototype.pow=function(l,c){if(c.isZero())return new s(1).toRed(this);if(c.cmpn(1)===0)return l.clone();var d=4,u=Array(1<<d);u[0]=new s(1).toRed(this),u[1]=l;for(var f=2;f<u.length;f++)u[f]=this.mul(u[f-1],l);var x=u[0],w=0,g=0,a=c.bitLength()%26;if(a===0)a=26;for(f=c.length-1;f>=0;f--){var b=c.words[f];for(var E=a-1;E>=0;E--){var S=b>>E&1;if(x!==u[0])x=this.sqr(x);if(S===0&&w===0){g=0;continue}if(w<<=1,w|=S,g++,g!==d&&(f!==0||E!==0))continue;x=this.mul(x,u[w]),g=0,w=0}a=26}return x},V.prototype.convertTo=function(l){var c=l.umod(this.m);return c===l?c.clone():c},V.prototype.convertFrom=function(l){var c=l.clone();return c.red=null,c},s.mont=function(l){return new nt(l)};function nt(l){if(V.call(this,l),this.shift=this.m.bitLength(),this.shift%26!==0)this.shift+=26-this.shift%26;this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}o(nt,V),nt.prototype.convertTo=function(l){return this.imod(l.ushln(this.shift))},nt.prototype.convertFrom=function(l){var c=this.imod(l.mul(this.rinv));return c.red=null,c},nt.prototype.imul=function(l,c){if(l.isZero()||c.isZero())return l.words[0]=0,l.length=1,l;var d=l.imul(c),u=d.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),f=d.isub(u).iushrn(this.shift),x=f;if(f.cmp(this.m)>=0)x=f.isub(this.m);else if(f.cmpn(0)<0)x=f.iadd(this.m);return x._forceRed(this)},nt.prototype.mul=function(l,c){if(l.isZero()||c.isZero())return new s(0)._forceRed(this);var d=l.mul(c),u=d.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),f=d.isub(u).iushrn(this.shift),x=f;if(f.cmp(this.m)>=0)x=f.isub(this.m);else if(f.cmpn(0)<0)x=f.iadd(this.m);return x._forceRed(this)},nt.prototype.invm=function(l){var c=this.imod(l._invmp(this.m).mul(this.r2));return c._forceRed(this)}})(typeof e>"u"||e,t)}),r4=gt((t,e)=>{var r=t4(),i=e4();e.exports=function(h){return new o(h)};var n={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};n.p224=n.secp224r1,n.p256=n.secp256r1=n.prime256v1,n.p192=n.secp192r1=n.prime192v1,n.p384=n.secp384r1,n.p521=n.secp521r1;function o(h){if(this.curveType=n[h],!this.curveType)this.curveType={name:h};this.curve=new r.ec(this.curveType.name),this.keys=void 0}o.prototype.generateKeys=function(h,m){return this.keys=this.curve.genKeyPair(),this.getPublicKey(h,m)},o.prototype.computeSecret=function(h,m,p){if(m=m||"utf8",!Buffer.isBuffer(h))h=new Buffer(h,m);var y=this.curve.keyFromPublic(h).getPublic(),_=y.mul(this.keys.getPrivate()).getX();return s(_,p,this.curveType.byteLength)},o.prototype.getPublicKey=function(h,m){var p=this.keys.getPublic(m==="compressed",!0);if(m==="hybrid")if(p[p.length-1]%2)p[0]=7;else p[0]=6;return s(p,h)},o.prototype.getPrivateKey=function(h){return s(this.keys.getPrivate(),h)},o.prototype.setPublicKey=function(h,m){if(m=m||"utf8",!Buffer.isBuffer(h))h=new Buffer(h,m);return this.keys._importPublic(h),this},o.prototype.setPrivateKey=function(h,m){if(m=m||"utf8",!Buffer.isBuffer(h))h=new Buffer(h,m);var p=new i(h);return p=p.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(p),this};function s(h,m,p){if(!Array.isArray(h))h=h.toArray();var y=new Buffer(h);if(p&&y.length<p){var _=new Buffer(p-y.length);_.fill(0),y=Buffer.concat([_,y])}if(!m)return y;else return y.toString(m)}}),n4=gt((t,e)=>{var r=(Jr(),ve(hn)).createECDH;e.exports=r||r4()}),i4=gt((t,e)=>{(function(r,i){function n(l,c){if(!l)throw Error(c||"Assertion failed")}function o(l,c){l.super_=c;var d=function(){};d.prototype=c.prototype,l.prototype=new d,l.prototype.constructor=l}function s(l,c,d){if(s.isBN(l))return l;if(this.negative=0,this.words=null,this.length=0,this.red=null,l!==null){if(c==="le"||c==="be")d=c,c=10;this._init(l||0,c||10,d||"be")}}if(typeof r==="object")r.exports=s;else i.BN=s;s.BN=s,s.wordSize=26;var h;try{if(typeof window<"u"&&typeof window.Buffer<"u")h=window.Buffer;else h=(Nr(),ve(Tr)).Buffer}catch(l){}s.isBN=function(l){if(l instanceof s)return!0;return l!==null&&typeof l==="object"&&l.constructor.wordSize===s.wordSize&&Array.isArray(l.words)},s.max=function(l,c){if(l.cmp(c)>0)return l;return c},s.min=function(l,c){if(l.cmp(c)<0)return l;return c},s.prototype._init=function(l,c,d){if(typeof l==="number")return this._initNumber(l,c,d);if(typeof l==="object")return this._initArray(l,c,d);if(c==="hex")c=16;n(c===(c|0)&&c>=2&&c<=36),l=l.toString().replace(/\s+/g,"");var u=0;if(l[0]==="-")u++,this.negative=1;if(u<l.length){if(c===16)this._parseHex(l,u,d);else if(this._parseBase(l,c,u),d==="le")this._initArray(this.toArray(),c,d)}},s.prototype._initNumber=function(l,c,d){if(l<0)this.negative=1,l=-l;if(l<67108864)this.words=[l&67108863],this.length=1;else if(l<4503599627370496)this.words=[l&67108863,l/67108864&67108863],this.length=2;else n(l<9007199254740992),this.words=[l&67108863,l/67108864&67108863,1],this.length=3;if(d!=="le")return;this._initArray(this.toArray(),c,d)},s.prototype._initArray=function(l,c,d){if(n(typeof l.length==="number"),l.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(l.length/3),this.words=Array(this.length);for(var u=0;u<this.length;u++)this.words[u]=0;var f,x,w=0;if(d==="be"){for(u=l.length-1,f=0;u>=0;u-=3)if(x=l[u]|l[u-1]<<8|l[u-2]<<16,this.words[f]|=x<<w&67108863,this.words[f+1]=x>>>26-w&67108863,w+=24,w>=26)w-=26,f++}else if(d==="le"){for(u=0,f=0;u<l.length;u+=3)if(x=l[u]|l[u+1]<<8|l[u+2]<<16,this.words[f]|=x<<w&67108863,this.words[f+1]=x>>>26-w&67108863,w+=24,w>=26)w-=26,f++}return this.strip()};function m(l,c){var d=l.charCodeAt(c);if(d>=65&&d<=70)return d-55;else if(d>=97&&d<=102)return d-87;else return d-48&15}function p(l,c,d){var u=m(l,d);if(d-1>=c)u|=m(l,d-1)<<4;return u}s.prototype._parseHex=function(l,c,d){this.length=Math.ceil((l.length-c)/6),this.words=Array(this.length);for(var u=0;u<this.length;u++)this.words[u]=0;var f=0,x=0,w;if(d==="be")for(u=l.length-1;u>=c;u-=2)if(w=p(l,c,u)<<f,this.words[x]|=w&67108863,f>=18)f-=18,x+=1,this.words[x]|=w>>>26;else f+=8;else{var g=l.length-c;for(u=g%2===0?c+1:c;u<l.length;u+=2)if(w=p(l,c,u)<<f,this.words[x]|=w&67108863,f>=18)f-=18,x+=1,this.words[x]|=w>>>26;else f+=8}this.strip()};function y(l,c,d,u){var f=0,x=Math.min(l.length,d);for(var w=c;w<x;w++){var g=l.charCodeAt(w)-48;if(f*=u,g>=49)f+=g-49+10;else if(g>=17)f+=g-17+10;else f+=g}return f}s.prototype._parseBase=function(l,c,d){this.words=[0],this.length=1;for(var u=0,f=1;f<=67108863;f*=c)u++;u--,f=f/c|0;var x=l.length-d,w=x%u,g=Math.min(x,x-w)+d,a=0;for(var b=d;b<g;b+=u)if(a=y(l,b,b+u,c),this.imuln(f),this.words[0]+a<67108864)this.words[0]+=a;else this._iaddn(a);if(w!==0){var E=1;a=y(l,b,l.length,c);for(b=0;b<w;b++)E*=c;if(this.imuln(E),this.words[0]+a<67108864)this.words[0]+=a;else this._iaddn(a)}this.strip()},s.prototype.copy=function(l){l.words=Array(this.length);for(var c=0;c<this.length;c++)l.words[c]=this.words[c];l.length=this.length,l.negative=this.negative,l.red=this.red},s.prototype.clone=function(){var l=new s(null);return this.copy(l),l},s.prototype._expand=function(l){while(this.length<l)this.words[this.length++]=0;return this},s.prototype.strip=function(){while(this.length>1&&this.words[this.length-1]===0)this.length--;return this._normSign()},s.prototype._normSign=function(){if(this.length===1&&this.words[0]===0)this.negative=0;return this},s.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var _=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],v=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],C=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];if(s.prototype.toString=function(l,c){l=l||10,c=c|0||1;var d;if(l===16||l==="hex"){d="";var u=0,f=0;for(var x=0;x<this.length;x++){var w=this.words[x],g=((w<<u|f)&16777215).toString(16);if(f=w>>>24-u&16777215,u+=2,u>=26)u-=26,x--;if(f!==0||x!==this.length-1)d=_[6-g.length]+g+d;else d=g+d}if(f!==0)d=f.toString(16)+d;while(d.length%c!==0)d="0"+d;if(this.negative!==0)d="-"+d;return d}if(l===(l|0)&&l>=2&&l<=36){var a=v[l],b=C[l];d="";var E=this.clone();E.negative=0;while(!E.isZero()){var S=E.modn(b).toString(l);if(E=E.idivn(b),!E.isZero())d=_[a-S.length]+S+d;else d=S+d}if(this.isZero())d="0"+d;while(d.length%c!==0)d="0"+d;if(this.negative!==0)d="-"+d;return d}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var l=this.words[0];if(this.length===2)l+=this.words[1]*67108864;else if(this.length===3&&this.words[2]===1)l+=4503599627370496+this.words[1]*67108864;else if(this.length>2)n(!1,"Number can only safely store up to 53 bits");return this.negative!==0?-l:l},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(l,c){return n(typeof h<"u"),this.toArrayLike(h,l,c)},s.prototype.toArray=function(l,c){return this.toArrayLike(Array,l,c)},s.prototype.toArrayLike=function(l,c,d){var u=this.byteLength(),f=d||Math.max(1,u);n(u<=f,"byte array longer than desired length"),n(f>0,"Requested array length <= 0"),this.strip();var x=c==="le",w=new l(f),g,a,b=this.clone();if(!x){for(a=0;a<f-u;a++)w[a]=0;for(a=0;!b.isZero();a++)g=b.andln(255),b.iushrn(8),w[f-a-1]=g}else{for(a=0;!b.isZero();a++)g=b.andln(255),b.iushrn(8),w[a]=g;for(;a<f;a++)w[a]=0}return w},Math.clz32)s.prototype._countBits=function(l){return 32-Math.clz32(l)};else s.prototype._countBits=function(l){var c=l,d=0;if(c>=4096)d+=13,c>>>=13;if(c>=64)d+=7,c>>>=7;if(c>=8)d+=4,c>>>=4;if(c>=2)d+=2,c>>>=2;return d+c};s.prototype._zeroBits=function(l){if(l===0)return 26;var c=l,d=0;if((c&8191)===0)d+=13,c>>>=13;if((c&127)===0)d+=7,c>>>=7;if((c&15)===0)d+=4,c>>>=4;if((c&3)===0)d+=2,c>>>=2;if((c&1)===0)d++;return d},s.prototype.bitLength=function(){var l=this.words[this.length-1],c=this._countBits(l);return(this.length-1)*26+c};function M(l){var c=Array(l.bitLength());for(var d=0;d<c.length;d++){var u=d/26|0,f=d%26;c[d]=(l.words[u]&1<<f)>>>f}return c}s.prototype.zeroBits=function(){if(this.isZero())return 0;var l=0;for(var c=0;c<this.length;c++){var d=this._zeroBits(this.words[c]);if(l+=d,d!==26)break}return l},s.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},s.prototype.toTwos=function(l){if(this.negative!==0)return this.abs().inotn(l).iaddn(1);return this.clone()},s.prototype.fromTwos=function(l){if(this.testn(l-1))return this.notn(l).iaddn(1).ineg();return this.clone()},s.prototype.isNeg=function(){return this.negative!==0},s.prototype.neg=function(){return this.clone().ineg()},s.prototype.ineg=function(){if(!this.isZero())this.negative^=1;return this},s.prototype.iuor=function(l){while(this.length<l.length)this.words[this.length++]=0;for(var c=0;c<l.length;c++)this.words[c]=this.words[c]|l.words[c];return this.strip()},s.prototype.ior=function(l){return n((this.negative|l.negative)===0),this.iuor(l)},s.prototype.or=function(l){if(this.length>l.length)return this.clone().ior(l);return l.clone().ior(this)},s.prototype.uor=function(l){if(this.length>l.length)return this.clone().iuor(l);return l.clone().iuor(this)},s.prototype.iuand=function(l){var c;if(this.length>l.length)c=l;else c=this;for(var d=0;d<c.length;d++)this.words[d]=this.words[d]&l.words[d];return this.length=c.length,this.strip()},s.prototype.iand=function(l){return n((this.negative|l.negative)===0),this.iuand(l)},s.prototype.and=function(l){if(this.length>l.length)return this.clone().iand(l);return l.clone().iand(this)},s.prototype.uand=function(l){if(this.length>l.length)return this.clone().iuand(l);return l.clone().iuand(this)},s.prototype.iuxor=function(l){var c,d;if(this.length>l.length)c=this,d=l;else c=l,d=this;for(var u=0;u<d.length;u++)this.words[u]=c.words[u]^d.words[u];if(this!==c)for(;u<c.length;u++)this.words[u]=c.words[u];return this.length=c.length,this.strip()},s.prototype.ixor=function(l){return n((this.negative|l.negative)===0),this.iuxor(l)},s.prototype.xor=function(l){if(this.length>l.length)return this.clone().ixor(l);return l.clone().ixor(this)},s.prototype.uxor=function(l){if(this.length>l.length)return this.clone().iuxor(l);return l.clone().iuxor(this)},s.prototype.inotn=function(l){n(typeof l==="number"&&l>=0);var c=Math.ceil(l/26)|0,d=l%26;if(this._expand(c),d>0)c--;for(var u=0;u<c;u++)this.words[u]=~this.words[u]&67108863;if(d>0)this.words[u]=~this.words[u]&67108863>>26-d;return this.strip()},s.prototype.notn=function(l){return this.clone().inotn(l)},s.prototype.setn=function(l,c){n(typeof l==="number"&&l>=0);var d=l/26|0,u=l%26;if(this._expand(d+1),c)this.words[d]=this.words[d]|1<<u;else this.words[d]=this.words[d]&~(1<<u);return this.strip()},s.prototype.iadd=function(l){var c;if(this.negative!==0&&l.negative===0)return this.negative=0,c=this.isub(l),this.negative^=1,this._normSign();else if(this.negative===0&&l.negative!==0)return l.negative=0,c=this.isub(l),l.negative=1,c._normSign();var d,u;if(this.length>l.length)d=this,u=l;else d=l,u=this;var f=0;for(var x=0;x<u.length;x++)c=(d.words[x]|0)+(u.words[x]|0)+f,this.words[x]=c&67108863,f=c>>>26;for(;f!==0&&x<d.length;x++)c=(d.words[x]|0)+f,this.words[x]=c&67108863,f=c>>>26;if(this.length=d.length,f!==0)this.words[this.length]=f,this.length++;else if(d!==this)for(;x<d.length;x++)this.words[x]=d.words[x];return this},s.prototype.add=function(l){var c;if(l.negative!==0&&this.negative===0)return l.negative=0,c=this.sub(l),l.negative^=1,c;else if(l.negative===0&&this.negative!==0)return this.negative=0,c=l.sub(this),this.negative=1,c;if(this.length>l.length)return this.clone().iadd(l);return l.clone().iadd(this)},s.prototype.isub=function(l){if(l.negative!==0){l.negative=0;var c=this.iadd(l);return l.negative=1,c._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(l),this.negative=1,this._normSign();var d=this.cmp(l);if(d===0)return this.negative=0,this.length=1,this.words[0]=0,this;var u,f;if(d>0)u=this,f=l;else u=l,f=this;var x=0;for(var w=0;w<f.length;w++)c=(u.words[w]|0)-(f.words[w]|0)+x,x=c>>26,this.words[w]=c&67108863;for(;x!==0&&w<u.length;w++)c=(u.words[w]|0)+x,x=c>>26,this.words[w]=c&67108863;if(x===0&&w<u.length&&u!==this)for(;w<u.length;w++)this.words[w]=u.words[w];if(this.length=Math.max(this.length,w),u!==this)this.negative=1;return this.strip()},s.prototype.sub=function(l){return this.clone().isub(l)};function A(l,c,d){d.negative=c.negative^l.negative;var u=l.length+c.length|0;d.length=u,u=u-1|0;var f=l.words[0]|0,x=c.words[0]|0,w=f*x,g=w&67108863,a=w/67108864|0;d.words[0]=g;for(var b=1;b<u;b++){var E=a>>>26,S=a&67108863,L=Math.min(b,c.length-1);for(var q=Math.max(0,b-l.length+1);q<=L;q++){var j=b-q|0;f=l.words[j]|0,x=c.words[q]|0,w=f*x+S,E+=w/67108864|0,S=w&67108863}d.words[b]=S|0,a=E|0}if(a!==0)d.words[b]=a|0;else d.length--;return d.strip()}var k=function(l,c,d){var u=l.words,f=c.words,x=d.words,w=0,g,a,b,E=u[0]|0,S=E&8191,L=E>>>13,q=u[1]|0,j=q&8191,X=q>>>13,bt=u[2]|0,it=bt&8191,Q=bt>>>13,pt=u[3]|0,J=pt&8191,at=pt>>>13,Kt=u[4]|0,H=Kt&8191,W=Kt>>>13,mt=u[5]|0,rt=mt&8191,ot=mt>>>13,Lt=u[6]|0,z=Lt&8191,Z=Lt>>>13,jt=u[7]|0,tt=jt&8191,ht=jt>>>13,ae=u[8]|0,wt=ae&8191,vt=ae>>>13,Ge=u[9]|0,yt=Ge&8191,Mt=Ge>>>13,Xe=f[0]|0,Tt=Xe&8191,Rt=Xe>>>13,Br=f[1]|0,It=Br&8191,Ut=Br>>>13,Ur=f[2]|0,qt=Ur&8191,Ot=Ur>>>13,Ir=f[3]|0,Ht=Ir&8191,Pt=Ir>>>13,kr=f[4]|0,$t=kr&8191,zt=kr>>>13,Er=f[5]|0,Dt=Er&8191,B=Er>>>13,K=f[6]|0,st=K&8191,ct=K>>>13,Qt=f[7]|0,xt=Qt&8191,Et=Qt>>>13,Ke=f[8]|0,Ft=Ke&8191,Vt=Ke>>>13,Or=f[9]|0,Bt=Or&8191,Nt=Or>>>13;d.negative=l.negative^c.negative,d.length=19,g=Math.imul(S,Tt),a=Math.imul(S,Rt),a=a+Math.imul(L,Tt)|0,b=Math.imul(L,Rt);var Qe=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(Qe>>>26)|0,Qe&=67108863,g=Math.imul(j,Tt),a=Math.imul(j,Rt),a=a+Math.imul(X,Tt)|0,b=Math.imul(X,Rt),g=g+Math.imul(S,It)|0,a=a+Math.imul(S,Ut)|0,a=a+Math.imul(L,It)|0,b=b+Math.imul(L,Ut)|0;var de=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(de>>>26)|0,de&=67108863,g=Math.imul(it,Tt),a=Math.imul(it,Rt),a=a+Math.imul(Q,Tt)|0,b=Math.imul(Q,Rt),g=g+Math.imul(j,It)|0,a=a+Math.imul(j,Ut)|0,a=a+Math.imul(X,It)|0,b=b+Math.imul(X,Ut)|0,g=g+Math.imul(S,qt)|0,a=a+Math.imul(S,Ot)|0,a=a+Math.imul(L,qt)|0,b=b+Math.imul(L,Ot)|0;var ce=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(ce>>>26)|0,ce&=67108863,g=Math.imul(J,Tt),a=Math.imul(J,Rt),a=a+Math.imul(at,Tt)|0,b=Math.imul(at,Rt),g=g+Math.imul(it,It)|0,a=a+Math.imul(it,Ut)|0,a=a+Math.imul(Q,It)|0,b=b+Math.imul(Q,Ut)|0,g=g+Math.imul(j,qt)|0,a=a+Math.imul(j,Ot)|0,a=a+Math.imul(X,qt)|0,b=b+Math.imul(X,Ot)|0,g=g+Math.imul(S,Ht)|0,a=a+Math.imul(S,Pt)|0,a=a+Math.imul(L,Ht)|0,b=b+Math.imul(L,Pt)|0;var De=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(De>>>26)|0,De&=67108863,g=Math.imul(H,Tt),a=Math.imul(H,Rt),a=a+Math.imul(W,Tt)|0,b=Math.imul(W,Rt),g=g+Math.imul(J,It)|0,a=a+Math.imul(J,Ut)|0,a=a+Math.imul(at,It)|0,b=b+Math.imul(at,Ut)|0,g=g+Math.imul(it,qt)|0,a=a+Math.imul(it,Ot)|0,a=a+Math.imul(Q,qt)|0,b=b+Math.imul(Q,Ot)|0,g=g+Math.imul(j,Ht)|0,a=a+Math.imul(j,Pt)|0,a=a+Math.imul(X,Ht)|0,b=b+Math.imul(X,Pt)|0,g=g+Math.imul(S,$t)|0,a=a+Math.imul(S,zt)|0,a=a+Math.imul(L,$t)|0,b=b+Math.imul(L,zt)|0;var Le=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(Le>>>26)|0,Le&=67108863,g=Math.imul(rt,Tt),a=Math.imul(rt,Rt),a=a+Math.imul(ot,Tt)|0,b=Math.imul(ot,Rt),g=g+Math.imul(H,It)|0,a=a+Math.imul(H,Ut)|0,a=a+Math.imul(W,It)|0,b=b+Math.imul(W,Ut)|0,g=g+Math.imul(J,qt)|0,a=a+Math.imul(J,Ot)|0,a=a+Math.imul(at,qt)|0,b=b+Math.imul(at,Ot)|0,g=g+Math.imul(it,Ht)|0,a=a+Math.imul(it,Pt)|0,a=a+Math.imul(Q,Ht)|0,b=b+Math.imul(Q,Pt)|0,g=g+Math.imul(j,$t)|0,a=a+Math.imul(j,zt)|0,a=a+Math.imul(X,$t)|0,b=b+Math.imul(X,zt)|0,g=g+Math.imul(S,Dt)|0,a=a+Math.imul(S,B)|0,a=a+Math.imul(L,Dt)|0,b=b+Math.imul(L,B)|0;var ar=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(ar>>>26)|0,ar&=67108863,g=Math.imul(z,Tt),a=Math.imul(z,Rt),a=a+Math.imul(Z,Tt)|0,b=Math.imul(Z,Rt),g=g+Math.imul(rt,It)|0,a=a+Math.imul(rt,Ut)|0,a=a+Math.imul(ot,It)|0,b=b+Math.imul(ot,Ut)|0,g=g+Math.imul(H,qt)|0,a=a+Math.imul(H,Ot)|0,a=a+Math.imul(W,qt)|0,b=b+Math.imul(W,Ot)|0,g=g+Math.imul(J,Ht)|0,a=a+Math.imul(J,Pt)|0,a=a+Math.imul(at,Ht)|0,b=b+Math.imul(at,Pt)|0,g=g+Math.imul(it,$t)|0,a=a+Math.imul(it,zt)|0,a=a+Math.imul(Q,$t)|0,b=b+Math.imul(Q,zt)|0,g=g+Math.imul(j,Dt)|0,a=a+Math.imul(j,B)|0,a=a+Math.imul(X,Dt)|0,b=b+Math.imul(X,B)|0,g=g+Math.imul(S,st)|0,a=a+Math.imul(S,ct)|0,a=a+Math.imul(L,st)|0,b=b+Math.imul(L,ct)|0;var ur=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(ur>>>26)|0,ur&=67108863,g=Math.imul(tt,Tt),a=Math.imul(tt,Rt),a=a+Math.imul(ht,Tt)|0,b=Math.imul(ht,Rt),g=g+Math.imul(z,It)|0,a=a+Math.imul(z,Ut)|0,a=a+Math.imul(Z,It)|0,b=b+Math.imul(Z,Ut)|0,g=g+Math.imul(rt,qt)|0,a=a+Math.imul(rt,Ot)|0,a=a+Math.imul(ot,qt)|0,b=b+Math.imul(ot,Ot)|0,g=g+Math.imul(H,Ht)|0,a=a+Math.imul(H,Pt)|0,a=a+Math.imul(W,Ht)|0,b=b+Math.imul(W,Pt)|0,g=g+Math.imul(J,$t)|0,a=a+Math.imul(J,zt)|0,a=a+Math.imul(at,$t)|0,b=b+Math.imul(at,zt)|0,g=g+Math.imul(it,Dt)|0,a=a+Math.imul(it,B)|0,a=a+Math.imul(Q,Dt)|0,b=b+Math.imul(Q,B)|0,g=g+Math.imul(j,st)|0,a=a+Math.imul(j,ct)|0,a=a+Math.imul(X,st)|0,b=b+Math.imul(X,ct)|0,g=g+Math.imul(S,xt)|0,a=a+Math.imul(S,Et)|0,a=a+Math.imul(L,xt)|0,b=b+Math.imul(L,Et)|0;var cr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(cr>>>26)|0,cr&=67108863,g=Math.imul(wt,Tt),a=Math.imul(wt,Rt),a=a+Math.imul(vt,Tt)|0,b=Math.imul(vt,Rt),g=g+Math.imul(tt,It)|0,a=a+Math.imul(tt,Ut)|0,a=a+Math.imul(ht,It)|0,b=b+Math.imul(ht,Ut)|0,g=g+Math.imul(z,qt)|0,a=a+Math.imul(z,Ot)|0,a=a+Math.imul(Z,qt)|0,b=b+Math.imul(Z,Ot)|0,g=g+Math.imul(rt,Ht)|0,a=a+Math.imul(rt,Pt)|0,a=a+Math.imul(ot,Ht)|0,b=b+Math.imul(ot,Pt)|0,g=g+Math.imul(H,$t)|0,a=a+Math.imul(H,zt)|0,a=a+Math.imul(W,$t)|0,b=b+Math.imul(W,zt)|0,g=g+Math.imul(J,Dt)|0,a=a+Math.imul(J,B)|0,a=a+Math.imul(at,Dt)|0,b=b+Math.imul(at,B)|0,g=g+Math.imul(it,st)|0,a=a+Math.imul(it,ct)|0,a=a+Math.imul(Q,st)|0,b=b+Math.imul(Q,ct)|0,g=g+Math.imul(j,xt)|0,a=a+Math.imul(j,Et)|0,a=a+Math.imul(X,xt)|0,b=b+Math.imul(X,Et)|0,g=g+Math.imul(S,Ft)|0,a=a+Math.imul(S,Vt)|0,a=a+Math.imul(L,Ft)|0,b=b+Math.imul(L,Vt)|0;var hr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(hr>>>26)|0,hr&=67108863,g=Math.imul(yt,Tt),a=Math.imul(yt,Rt),a=a+Math.imul(Mt,Tt)|0,b=Math.imul(Mt,Rt),g=g+Math.imul(wt,It)|0,a=a+Math.imul(wt,Ut)|0,a=a+Math.imul(vt,It)|0,b=b+Math.imul(vt,Ut)|0,g=g+Math.imul(tt,qt)|0,a=a+Math.imul(tt,Ot)|0,a=a+Math.imul(ht,qt)|0,b=b+Math.imul(ht,Ot)|0,g=g+Math.imul(z,Ht)|0,a=a+Math.imul(z,Pt)|0,a=a+Math.imul(Z,Ht)|0,b=b+Math.imul(Z,Pt)|0,g=g+Math.imul(rt,$t)|0,a=a+Math.imul(rt,zt)|0,a=a+Math.imul(ot,$t)|0,b=b+Math.imul(ot,zt)|0,g=g+Math.imul(H,Dt)|0,a=a+Math.imul(H,B)|0,a=a+Math.imul(W,Dt)|0,b=b+Math.imul(W,B)|0,g=g+Math.imul(J,st)|0,a=a+Math.imul(J,ct)|0,a=a+Math.imul(at,st)|0,b=b+Math.imul(at,ct)|0,g=g+Math.imul(it,xt)|0,a=a+Math.imul(it,Et)|0,a=a+Math.imul(Q,xt)|0,b=b+Math.imul(Q,Et)|0,g=g+Math.imul(j,Ft)|0,a=a+Math.imul(j,Vt)|0,a=a+Math.imul(X,Ft)|0,b=b+Math.imul(X,Vt)|0,g=g+Math.imul(S,Bt)|0,a=a+Math.imul(S,Nt)|0,a=a+Math.imul(L,Bt)|0,b=b+Math.imul(L,Nt)|0;var fr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(fr>>>26)|0,fr&=67108863,g=Math.imul(yt,It),a=Math.imul(yt,Ut),a=a+Math.imul(Mt,It)|0,b=Math.imul(Mt,Ut),g=g+Math.imul(wt,qt)|0,a=a+Math.imul(wt,Ot)|0,a=a+Math.imul(vt,qt)|0,b=b+Math.imul(vt,Ot)|0,g=g+Math.imul(tt,Ht)|0,a=a+Math.imul(tt,Pt)|0,a=a+Math.imul(ht,Ht)|0,b=b+Math.imul(ht,Pt)|0,g=g+Math.imul(z,$t)|0,a=a+Math.imul(z,zt)|0,a=a+Math.imul(Z,$t)|0,b=b+Math.imul(Z,zt)|0,g=g+Math.imul(rt,Dt)|0,a=a+Math.imul(rt,B)|0,a=a+Math.imul(ot,Dt)|0,b=b+Math.imul(ot,B)|0,g=g+Math.imul(H,st)|0,a=a+Math.imul(H,ct)|0,a=a+Math.imul(W,st)|0,b=b+Math.imul(W,ct)|0,g=g+Math.imul(J,xt)|0,a=a+Math.imul(J,Et)|0,a=a+Math.imul(at,xt)|0,b=b+Math.imul(at,Et)|0,g=g+Math.imul(it,Ft)|0,a=a+Math.imul(it,Vt)|0,a=a+Math.imul(Q,Ft)|0,b=b+Math.imul(Q,Vt)|0,g=g+Math.imul(j,Bt)|0,a=a+Math.imul(j,Nt)|0,a=a+Math.imul(X,Bt)|0,b=b+Math.imul(X,Nt)|0;var dr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(dr>>>26)|0,dr&=67108863,g=Math.imul(yt,qt),a=Math.imul(yt,Ot),a=a+Math.imul(Mt,qt)|0,b=Math.imul(Mt,Ot),g=g+Math.imul(wt,Ht)|0,a=a+Math.imul(wt,Pt)|0,a=a+Math.imul(vt,Ht)|0,b=b+Math.imul(vt,Pt)|0,g=g+Math.imul(tt,$t)|0,a=a+Math.imul(tt,zt)|0,a=a+Math.imul(ht,$t)|0,b=b+Math.imul(ht,zt)|0,g=g+Math.imul(z,Dt)|0,a=a+Math.imul(z,B)|0,a=a+Math.imul(Z,Dt)|0,b=b+Math.imul(Z,B)|0,g=g+Math.imul(rt,st)|0,a=a+Math.imul(rt,ct)|0,a=a+Math.imul(ot,st)|0,b=b+Math.imul(ot,ct)|0,g=g+Math.imul(H,xt)|0,a=a+Math.imul(H,Et)|0,a=a+Math.imul(W,xt)|0,b=b+Math.imul(W,Et)|0,g=g+Math.imul(J,Ft)|0,a=a+Math.imul(J,Vt)|0,a=a+Math.imul(at,Ft)|0,b=b+Math.imul(at,Vt)|0,g=g+Math.imul(it,Bt)|0,a=a+Math.imul(it,Nt)|0,a=a+Math.imul(Q,Bt)|0,b=b+Math.imul(Q,Nt)|0;var pr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(pr>>>26)|0,pr&=67108863,g=Math.imul(yt,Ht),a=Math.imul(yt,Pt),a=a+Math.imul(Mt,Ht)|0,b=Math.imul(Mt,Pt),g=g+Math.imul(wt,$t)|0,a=a+Math.imul(wt,zt)|0,a=a+Math.imul(vt,$t)|0,b=b+Math.imul(vt,zt)|0,g=g+Math.imul(tt,Dt)|0,a=a+Math.imul(tt,B)|0,a=a+Math.imul(ht,Dt)|0,b=b+Math.imul(ht,B)|0,g=g+Math.imul(z,st)|0,a=a+Math.imul(z,ct)|0,a=a+Math.imul(Z,st)|0,b=b+Math.imul(Z,ct)|0,g=g+Math.imul(rt,xt)|0,a=a+Math.imul(rt,Et)|0,a=a+Math.imul(ot,xt)|0,b=b+Math.imul(ot,Et)|0,g=g+Math.imul(H,Ft)|0,a=a+Math.imul(H,Vt)|0,a=a+Math.imul(W,Ft)|0,b=b+Math.imul(W,Vt)|0,g=g+Math.imul(J,Bt)|0,a=a+Math.imul(J,Nt)|0,a=a+Math.imul(at,Bt)|0,b=b+Math.imul(at,Nt)|0;var mr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(mr>>>26)|0,mr&=67108863,g=Math.imul(yt,$t),a=Math.imul(yt,zt),a=a+Math.imul(Mt,$t)|0,b=Math.imul(Mt,zt),g=g+Math.imul(wt,Dt)|0,a=a+Math.imul(wt,B)|0,a=a+Math.imul(vt,Dt)|0,b=b+Math.imul(vt,B)|0,g=g+Math.imul(tt,st)|0,a=a+Math.imul(tt,ct)|0,a=a+Math.imul(ht,st)|0,b=b+Math.imul(ht,ct)|0,g=g+Math.imul(z,xt)|0,a=a+Math.imul(z,Et)|0,a=a+Math.imul(Z,xt)|0,b=b+Math.imul(Z,Et)|0,g=g+Math.imul(rt,Ft)|0,a=a+Math.imul(rt,Vt)|0,a=a+Math.imul(ot,Ft)|0,b=b+Math.imul(ot,Vt)|0,g=g+Math.imul(H,Bt)|0,a=a+Math.imul(H,Nt)|0,a=a+Math.imul(W,Bt)|0,b=b+Math.imul(W,Nt)|0;var gr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(gr>>>26)|0,gr&=67108863,g=Math.imul(yt,Dt),a=Math.imul(yt,B),a=a+Math.imul(Mt,Dt)|0,b=Math.imul(Mt,B),g=g+Math.imul(wt,st)|0,a=a+Math.imul(wt,ct)|0,a=a+Math.imul(vt,st)|0,b=b+Math.imul(vt,ct)|0,g=g+Math.imul(tt,xt)|0,a=a+Math.imul(tt,Et)|0,a=a+Math.imul(ht,xt)|0,b=b+Math.imul(ht,Et)|0,g=g+Math.imul(z,Ft)|0,a=a+Math.imul(z,Vt)|0,a=a+Math.imul(Z,Ft)|0,b=b+Math.imul(Z,Vt)|0,g=g+Math.imul(rt,Bt)|0,a=a+Math.imul(rt,Nt)|0,a=a+Math.imul(ot,Bt)|0,b=b+Math.imul(ot,Nt)|0;var _r=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(_r>>>26)|0,_r&=67108863,g=Math.imul(yt,st),a=Math.imul(yt,ct),a=a+Math.imul(Mt,st)|0,b=Math.imul(Mt,ct),g=g+Math.imul(wt,xt)|0,a=a+Math.imul(wt,Et)|0,a=a+Math.imul(vt,xt)|0,b=b+Math.imul(vt,Et)|0,g=g+Math.imul(tt,Ft)|0,a=a+Math.imul(tt,Vt)|0,a=a+Math.imul(ht,Ft)|0,b=b+Math.imul(ht,Vt)|0,g=g+Math.imul(z,Bt)|0,a=a+Math.imul(z,Nt)|0,a=a+Math.imul(Z,Bt)|0,b=b+Math.imul(Z,Nt)|0;var br=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(br>>>26)|0,br&=67108863,g=Math.imul(yt,xt),a=Math.imul(yt,Et),a=a+Math.imul(Mt,xt)|0,b=Math.imul(Mt,Et),g=g+Math.imul(wt,Ft)|0,a=a+Math.imul(wt,Vt)|0,a=a+Math.imul(vt,Ft)|0,b=b+Math.imul(vt,Vt)|0,g=g+Math.imul(tt,Bt)|0,a=a+Math.imul(tt,Nt)|0,a=a+Math.imul(ht,Bt)|0,b=b+Math.imul(ht,Nt)|0;var yr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(yr>>>26)|0,yr&=67108863,g=Math.imul(yt,Ft),a=Math.imul(yt,Vt),a=a+Math.imul(Mt,Ft)|0,b=Math.imul(Mt,Vt),g=g+Math.imul(wt,Bt)|0,a=a+Math.imul(wt,Nt)|0,a=a+Math.imul(vt,Bt)|0,b=b+Math.imul(vt,Nt)|0;var xr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(xr>>>26)|0,xr&=67108863,g=Math.imul(yt,Bt),a=Math.imul(yt,Nt),a=a+Math.imul(Mt,Bt)|0,b=Math.imul(Mt,Nt);var wr=(w+g|0)+((a&8191)<<13)|0;if(w=(b+(a>>>13)|0)+(wr>>>26)|0,wr&=67108863,x[0]=Qe,x[1]=de,x[2]=ce,x[3]=De,x[4]=Le,x[5]=ar,x[6]=ur,x[7]=cr,x[8]=hr,x[9]=fr,x[10]=dr,x[11]=pr,x[12]=mr,x[13]=gr,x[14]=_r,x[15]=br,x[16]=yr,x[17]=xr,x[18]=wr,w!==0)x[19]=w,d.length++;return d};if(!Math.imul)k=A;function R(l,c,d){d.negative=c.negative^l.negative,d.length=l.length+c.length;var u=0,f=0;for(var x=0;x<d.length-1;x++){var w=f;f=0;var g=u&67108863,a=Math.min(x,c.length-1);for(var b=Math.max(0,x-l.length+1);b<=a;b++){var E=x-b,S=l.words[E]|0,L=c.words[b]|0,q=S*L,j=q&67108863;w=w+(q/67108864|0)|0,j=j+g|0,g=j&67108863,w=w+(j>>>26)|0,f+=w>>>26,w&=67108863}d.words[x]=g,u=w,w=f}if(u!==0)d.words[x]=u;else d.length--;return d.strip()}function T(l,c,d){var u=new I;return u.mulp(l,c,d)}s.prototype.mulTo=function(l,c){var d,u=this.length+l.length;if(this.length===10&&l.length===10)d=k(this,l,c);else if(u<63)d=A(this,l,c);else if(u<1024)d=R(this,l,c);else d=T(this,l,c);return d};function I(l,c){this.x=l,this.y=c}I.prototype.makeRBT=function(l){var c=Array(l),d=s.prototype._countBits(l)-1;for(var u=0;u<l;u++)c[u]=this.revBin(u,d,l);return c},I.prototype.revBin=function(l,c,d){if(l===0||l===d-1)return l;var u=0;for(var f=0;f<c;f++)u|=(l&1)<<c-f-1,l>>=1;return u},I.prototype.permute=function(l,c,d,u,f,x){for(var w=0;w<x;w++)u[w]=c[l[w]],f[w]=d[l[w]]},I.prototype.transform=function(l,c,d,u,f,x){this.permute(x,l,c,d,u,f);for(var w=1;w<f;w<<=1){var g=w<<1,a=Math.cos(2*Math.PI/g),b=Math.sin(2*Math.PI/g);for(var E=0;E<f;E+=g){var S=a,L=b;for(var q=0;q<w;q++){var j=d[E+q],X=u[E+q],bt=d[E+q+w],it=u[E+q+w],Q=S*bt-L*it;if(it=S*it+L*bt,bt=Q,d[E+q]=j+bt,u[E+q]=X+it,d[E+q+w]=j-bt,u[E+q+w]=X-it,q!==g)Q=a*S-b*L,L=a*L+b*S,S=Q}}}},I.prototype.guessLen13b=function(l,c){var d=Math.max(c,l)|1,u=d&1,f=0;for(d=d/2|0;d;d=d>>>1)f++;return 1<<f+1+u},I.prototype.conjugate=function(l,c,d){if(d<=1)return;for(var u=0;u<d/2;u++){var f=l[u];l[u]=l[d-u-1],l[d-u-1]=f,f=c[u],c[u]=-c[d-u-1],c[d-u-1]=-f}},I.prototype.normalize13b=function(l,c){var d=0;for(var u=0;u<c/2;u++){var f=Math.round(l[2*u+1]/c)*8192+Math.round(l[2*u]/c)+d;if(l[u]=f&67108863,f<67108864)d=0;else d=f/67108864|0}return l},I.prototype.convert13b=function(l,c,d,u){var f=0;for(var x=0;x<c;x++)f=f+(l[x]|0),d[2*x]=f&8191,f=f>>>13,d[2*x+1]=f&8191,f=f>>>13;for(x=2*c;x<u;++x)d[x]=0;n(f===0),n((f&-8192)===0)},I.prototype.stub=function(l){var c=Array(l);for(var d=0;d<l;d++)c[d]=0;return c},I.prototype.mulp=function(l,c,d){var u=2*this.guessLen13b(l.length,c.length),f=this.makeRBT(u),x=this.stub(u),w=Array(u),g=Array(u),a=Array(u),b=Array(u),E=Array(u),S=Array(u),L=d.words;L.length=u,this.convert13b(l.words,l.length,w,u),this.convert13b(c.words,c.length,b,u),this.transform(w,x,g,a,u,f),this.transform(b,x,E,S,u,f);for(var q=0;q<u;q++){var j=g[q]*E[q]-a[q]*S[q];a[q]=g[q]*S[q]+a[q]*E[q],g[q]=j}return this.conjugate(g,a,u),this.transform(g,a,L,x,u,f),this.conjugate(L,x,u),this.normalize13b(L,u),d.negative=l.negative^c.negative,d.length=l.length+c.length,d.strip()},s.prototype.mul=function(l){var c=new s(null);return c.words=Array(this.length+l.length),this.mulTo(l,c)},s.prototype.mulf=function(l){var c=new s(null);return c.words=Array(this.length+l.length),T(this,l,c)},s.prototype.imul=function(l){return this.clone().mulTo(l,this)},s.prototype.imuln=function(l){n(typeof l==="number"),n(l<67108864);var c=0;for(var d=0;d<this.length;d++){var u=(this.words[d]|0)*l,f=(u&67108863)+(c&67108863);c>>=26,c+=u/67108864|0,c+=f>>>26,this.words[d]=f&67108863}if(c!==0)this.words[d]=c,this.length++;return this.length=l===0?1:this.length,this},s.prototype.muln=function(l){return this.clone().imuln(l)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(l){var c=M(l);if(c.length===0)return new s(1);var d=this;for(var u=0;u<c.length;u++,d=d.sqr())if(c[u]!==0)break;if(++u<c.length)for(var f=d.sqr();u<c.length;u++,f=f.sqr()){if(c[u]===0)continue;d=d.mul(f)}return d},s.prototype.iushln=function(l){n(typeof l==="number"&&l>=0);var c=l%26,d=(l-c)/26,u=67108863>>>26-c<<26-c,f;if(c!==0){var x=0;for(f=0;f<this.length;f++){var w=this.words[f]&u,g=(this.words[f]|0)-w<<c;this.words[f]=g|x,x=w>>>26-c}if(x)this.words[f]=x,this.length++}if(d!==0){for(f=this.length-1;f>=0;f--)this.words[f+d]=this.words[f];for(f=0;f<d;f++)this.words[f]=0;this.length+=d}return this.strip()},s.prototype.ishln=function(l){return n(this.negative===0),this.iushln(l)},s.prototype.iushrn=function(l,c,d){n(typeof l==="number"&&l>=0);var u;if(c)u=(c-c%26)/26;else u=0;var f=l%26,x=Math.min((l-f)/26,this.length),w=67108863^67108863>>>f<<f,g=d;if(u-=x,u=Math.max(0,u),g){for(var a=0;a<x;a++)g.words[a]=this.words[a];g.length=x}if(x===0);else if(this.length>x){this.length-=x;for(a=0;a<this.length;a++)this.words[a]=this.words[a+x]}else this.words[0]=0,this.length=1;var b=0;for(a=this.length-1;a>=0&&(b!==0||a>=u);a--){var E=this.words[a]|0;this.words[a]=b<<26-f|E>>>f,b=E&w}if(g&&b!==0)g.words[g.length++]=b;if(this.length===0)this.words[0]=0,this.length=1;return this.strip()},s.prototype.ishrn=function(l,c,d){return n(this.negative===0),this.iushrn(l,c,d)},s.prototype.shln=function(l){return this.clone().ishln(l)},s.prototype.ushln=function(l){return this.clone().iushln(l)},s.prototype.shrn=function(l){return this.clone().ishrn(l)},s.prototype.ushrn=function(l){return this.clone().iushrn(l)},s.prototype.testn=function(l){n(typeof l==="number"&&l>=0);var c=l%26,d=(l-c)/26,u=1<<c;if(this.length<=d)return!1;var f=this.words[d];return!!(f&u)},s.prototype.imaskn=function(l){n(typeof l==="number"&&l>=0);var c=l%26,d=(l-c)/26;if(n(this.negative===0,"imaskn works only with positive numbers"),this.length<=d)return this;if(c!==0)d++;if(this.length=Math.min(d,this.length),c!==0){var u=67108863^67108863>>>c<<c;this.words[this.length-1]&=u}return this.strip()},s.prototype.maskn=function(l){return this.clone().imaskn(l)},s.prototype.iaddn=function(l){if(n(typeof l==="number"),n(l<67108864),l<0)return this.isubn(-l);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<l)return this.words[0]=l-(this.words[0]|0),this.negative=0,this;return this.negative=0,this.isubn(l),this.negative=1,this}return this._iaddn(l)},s.prototype._iaddn=function(l){this.words[0]+=l;for(var c=0;c<this.length&&this.words[c]>=67108864;c++)if(this.words[c]-=67108864,c===this.length-1)this.words[c+1]=1;else this.words[c+1]++;return this.length=Math.max(this.length,c+1),this},s.prototype.isubn=function(l){if(n(typeof l==="number"),n(l<67108864),l<0)return this.iaddn(-l);if(this.negative!==0)return this.negative=0,this.iaddn(l),this.negative=1,this;if(this.words[0]-=l,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var c=0;c<this.length&&this.words[c]<0;c++)this.words[c]+=67108864,this.words[c+1]-=1;return this.strip()},s.prototype.addn=function(l){return this.clone().iaddn(l)},s.prototype.subn=function(l){return this.clone().isubn(l)},s.prototype.iabs=function(){return this.negative=0,this},s.prototype.abs=function(){return this.clone().iabs()},s.prototype._ishlnsubmul=function(l,c,d){var u=l.length+d,f;this._expand(u);var x,w=0;for(f=0;f<l.length;f++){x=(this.words[f+d]|0)+w;var g=(l.words[f]|0)*c;x-=g&67108863,w=(x>>26)-(g/67108864|0),this.words[f+d]=x&67108863}for(;f<this.length-d;f++)x=(this.words[f+d]|0)+w,w=x>>26,this.words[f+d]=x&67108863;if(w===0)return this.strip();n(w===-1),w=0;for(f=0;f<this.length;f++)x=-(this.words[f]|0)+w,w=x>>26,this.words[f]=x&67108863;return this.negative=1,this.strip()},s.prototype._wordDiv=function(l,c){var d=this.length-l.length,u=this.clone(),f=l,x=f.words[f.length-1]|0,w=this._countBits(x);if(d=26-w,d!==0)f=f.ushln(d),u.iushln(d),x=f.words[f.length-1]|0;var g=u.length-f.length,a;if(c!=="mod"){a=new s(null),a.length=g+1,a.words=Array(a.length);for(var b=0;b<a.length;b++)a.words[b]=0}var E=u.clone()._ishlnsubmul(f,1,g);if(E.negative===0){if(u=E,a)a.words[g]=1}for(var S=g-1;S>=0;S--){var L=(u.words[f.length+S]|0)*67108864+(u.words[f.length+S-1]|0);L=Math.min(L/x|0,67108863),u._ishlnsubmul(f,L,S);while(u.negative!==0)if(L--,u.negative=0,u._ishlnsubmul(f,1,S),!u.isZero())u.negative^=1;if(a)a.words[S]=L}if(a)a.strip();if(u.strip(),c!=="div"&&d!==0)u.iushrn(d);return{div:a||null,mod:u}},s.prototype.divmod=function(l,c,d){if(n(!l.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var u,f,x;if(this.negative!==0&&l.negative===0){if(x=this.neg().divmod(l,c),c!=="mod")u=x.div.neg();if(c!=="div"){if(f=x.mod.neg(),d&&f.negative!==0)f.iadd(l)}return{div:u,mod:f}}if(this.negative===0&&l.negative!==0){if(x=this.divmod(l.neg(),c),c!=="mod")u=x.div.neg();return{div:u,mod:x.mod}}if((this.negative&l.negative)!==0){if(x=this.neg().divmod(l.neg(),c),c!=="div"){if(f=x.mod.neg(),d&&f.negative!==0)f.isub(l)}return{div:x.div,mod:f}}if(l.length>this.length||this.cmp(l)<0)return{div:new s(0),mod:this};if(l.length===1){if(c==="div")return{div:this.divn(l.words[0]),mod:null};if(c==="mod")return{div:null,mod:new s(this.modn(l.words[0]))};return{div:this.divn(l.words[0]),mod:new s(this.modn(l.words[0]))}}return this._wordDiv(l,c)},s.prototype.div=function(l){return this.divmod(l,"div",!1).div},s.prototype.mod=function(l){return this.divmod(l,"mod",!1).mod},s.prototype.umod=function(l){return this.divmod(l,"mod",!0).mod},s.prototype.divRound=function(l){var c=this.divmod(l);if(c.mod.isZero())return c.div;var d=c.div.negative!==0?c.mod.isub(l):c.mod,u=l.ushrn(1),f=l.andln(1),x=d.cmp(u);if(x<0||f===1&&x===0)return c.div;return c.div.negative!==0?c.div.isubn(1):c.div.iaddn(1)},s.prototype.modn=function(l){n(l<=67108863);var c=67108864%l,d=0;for(var u=this.length-1;u>=0;u--)d=(c*d+(this.words[u]|0))%l;return d},s.prototype.idivn=function(l){n(l<=67108863);var c=0;for(var d=this.length-1;d>=0;d--){var u=(this.words[d]|0)+c*67108864;this.words[d]=u/l|0,c=u%l}return this.strip()},s.prototype.divn=function(l){return this.clone().idivn(l)},s.prototype.egcd=function(l){n(l.negative===0),n(!l.isZero());var c=this,d=l.clone();if(c.negative!==0)c=c.umod(l);else c=c.clone();var u=new s(1),f=new s(0),x=new s(0),w=new s(1),g=0;while(c.isEven()&&d.isEven())c.iushrn(1),d.iushrn(1),++g;var a=d.clone(),b=c.clone();while(!c.isZero()){for(var E=0,S=1;(c.words[0]&S)===0&&E<26;++E,S<<=1);if(E>0){c.iushrn(E);while(E-- >0){if(u.isOdd()||f.isOdd())u.iadd(a),f.isub(b);u.iushrn(1),f.iushrn(1)}}for(var L=0,q=1;(d.words[0]&q)===0&&L<26;++L,q<<=1);if(L>0){d.iushrn(L);while(L-- >0){if(x.isOdd()||w.isOdd())x.iadd(a),w.isub(b);x.iushrn(1),w.iushrn(1)}}if(c.cmp(d)>=0)c.isub(d),u.isub(x),f.isub(w);else d.isub(c),x.isub(u),w.isub(f)}return{a:x,b:w,gcd:d.iushln(g)}},s.prototype._invmp=function(l){n(l.negative===0),n(!l.isZero());var c=this,d=l.clone();if(c.negative!==0)c=c.umod(l);else c=c.clone();var u=new s(1),f=new s(0),x=d.clone();while(c.cmpn(1)>0&&d.cmpn(1)>0){for(var w=0,g=1;(c.words[0]&g)===0&&w<26;++w,g<<=1);if(w>0){c.iushrn(w);while(w-- >0){if(u.isOdd())u.iadd(x);u.iushrn(1)}}for(var a=0,b=1;(d.words[0]&b)===0&&a<26;++a,b<<=1);if(a>0){d.iushrn(a);while(a-- >0){if(f.isOdd())f.iadd(x);f.iushrn(1)}}if(c.cmp(d)>=0)c.isub(d),u.isub(f);else d.isub(c),f.isub(u)}var E;if(c.cmpn(1)===0)E=u;else E=f;if(E.cmpn(0)<0)E.iadd(l);return E},s.prototype.gcd=function(l){if(this.isZero())return l.abs();if(l.isZero())return this.abs();var c=this.clone(),d=l.clone();c.negative=0,d.negative=0;for(var u=0;c.isEven()&&d.isEven();u++)c.iushrn(1),d.iushrn(1);do{while(c.isEven())c.iushrn(1);while(d.isEven())d.iushrn(1);var f=c.cmp(d);if(f<0){var x=c;c=d,d=x}else if(f===0||d.cmpn(1)===0)break;c.isub(d)}while(!0);return d.iushln(u)},s.prototype.invm=function(l){return this.egcd(l).a.umod(l)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(l){return this.words[0]&l},s.prototype.bincn=function(l){n(typeof l==="number");var c=l%26,d=(l-c)/26,u=1<<c;if(this.length<=d)return this._expand(d+1),this.words[d]|=u,this;var f=u;for(var x=d;f!==0&&x<this.length;x++){var w=this.words[x]|0;w+=f,f=w>>>26,w&=67108863,this.words[x]=w}if(f!==0)this.words[x]=f,this.length++;return this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(l){var c=l<0;if(this.negative!==0&&!c)return-1;if(this.negative===0&&c)return 1;this.strip();var d;if(this.length>1)d=1;else{if(c)l=-l;n(l<=67108863,"Number is too big");var u=this.words[0]|0;d=u===l?0:u<l?-1:1}if(this.negative!==0)return-d|0;return d},s.prototype.cmp=function(l){if(this.negative!==0&&l.negative===0)return-1;if(this.negative===0&&l.negative!==0)return 1;var c=this.ucmp(l);if(this.negative!==0)return-c|0;return c},s.prototype.ucmp=function(l){if(this.length>l.length)return 1;if(this.length<l.length)return-1;var c=0;for(var d=this.length-1;d>=0;d--){var u=this.words[d]|0,f=l.words[d]|0;if(u===f)continue;if(u<f)c=-1;else if(u>f)c=1;break}return c},s.prototype.gtn=function(l){return this.cmpn(l)===1},s.prototype.gt=function(l){return this.cmp(l)===1},s.prototype.gten=function(l){return this.cmpn(l)>=0},s.prototype.gte=function(l){return this.cmp(l)>=0},s.prototype.ltn=function(l){return this.cmpn(l)===-1},s.prototype.lt=function(l){return this.cmp(l)===-1},s.prototype.lten=function(l){return this.cmpn(l)<=0},s.prototype.lte=function(l){return this.cmp(l)<=0},s.prototype.eqn=function(l){return this.cmpn(l)===0},s.prototype.eq=function(l){return this.cmp(l)===0},s.red=function(l){return new V(l)},s.prototype.toRed=function(l){return n(!this.red,"Already a number in reduction context"),n(this.negative===0,"red works only with positives"),l.convertTo(this)._forceRed(l)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(l){return this.red=l,this},s.prototype.forceRed=function(l){return n(!this.red,"Already a number in reduction context"),this._forceRed(l)},s.prototype.redAdd=function(l){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,l)},s.prototype.redIAdd=function(l){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,l)},s.prototype.redSub=function(l){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,l)},s.prototype.redISub=function(l){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,l)},s.prototype.redShl=function(l){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,l)},s.prototype.redMul=function(l){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,l),this.red.mul(this,l)},s.prototype.redIMul=function(l){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,l),this.red.imul(this,l)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(l){return n(this.red&&!l.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,l)};var P={k256:null,p224:null,p192:null,p25519:null};function F(l,c){this.name=l,this.p=new s(c,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}F.prototype._tmp=function(){var l=new s(null);return l.words=Array(Math.ceil(this.n/13)),l},F.prototype.ireduce=function(l){var c=l,d;do this.split(c,this.tmp),c=this.imulK(c),c=c.iadd(this.tmp),d=c.bitLength();while(d>this.n);var u=d<this.n?-1:c.ucmp(this.p);if(u===0)c.words[0]=0,c.length=1;else if(u>0)c.isub(this.p);else if(c.strip!==void 0)c.strip();else c._strip();return c},F.prototype.split=function(l,c){l.iushrn(this.n,0,c)},F.prototype.imulK=function(l){return l.imul(this.k)};function G(){F.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}o(G,F),G.prototype.split=function(l,c){var d=4194303,u=Math.min(l.length,9);for(var f=0;f<u;f++)c.words[f]=l.words[f];if(c.length=u,l.length<=9){l.words[0]=0,l.length=1;return}var x=l.words[9];c.words[c.length++]=x&d;for(f=10;f<l.length;f++){var w=l.words[f]|0;l.words[f-10]=(w&d)<<4|x>>>22,x=w}if(x>>>=22,l.words[f-10]=x,x===0&&l.length>10)l.length-=10;else l.length-=9},G.prototype.imulK=function(l){l.words[l.length]=0,l.words[l.length+1]=0,l.length+=2;var c=0;for(var d=0;d<l.length;d++){var u=l.words[d]|0;c+=u*977,l.words[d]=c&67108863,c=u*64+(c/67108864|0)}if(l.words[l.length-1]===0){if(l.length--,l.words[l.length-1]===0)l.length--}return l};function lt(){F.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}o(lt,F);function dt(){F.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}o(dt,F);function ut(){F.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}o(ut,F),ut.prototype.imulK=function(l){var c=0;for(var d=0;d<l.length;d++){var u=(l.words[d]|0)*19+c,f=u&67108863;u>>>=26,l.words[d]=f,c=u}if(c!==0)l.words[l.length++]=c;return l},s._prime=function(l){if(P[l])return P[l];var c;if(l==="k256")c=new G;else if(l==="p224")c=new lt;else if(l==="p192")c=new dt;else if(l==="p25519")c=new ut;else throw Error("Unknown prime "+l);return P[l]=c,c};function V(l){if(typeof l==="string"){var c=s._prime(l);this.m=c.p,this.prime=c}else n(l.gtn(1),"modulus must be greater than 1"),this.m=l,this.prime=null}V.prototype._verify1=function(l){n(l.negative===0,"red works only with positives"),n(l.red,"red works only with red numbers")},V.prototype._verify2=function(l,c){n((l.negative|c.negative)===0,"red works only with positives"),n(l.red&&l.red===c.red,"red works only with red numbers")},V.prototype.imod=function(l){if(this.prime)return this.prime.ireduce(l)._forceRed(this);return l.umod(this.m)._forceRed(this)},V.prototype.neg=function(l){if(l.isZero())return l.clone();return this.m.sub(l)._forceRed(this)},V.prototype.add=function(l,c){this._verify2(l,c);var d=l.add(c);if(d.cmp(this.m)>=0)d.isub(this.m);return d._forceRed(this)},V.prototype.iadd=function(l,c){this._verify2(l,c);var d=l.iadd(c);if(d.cmp(this.m)>=0)d.isub(this.m);return d},V.prototype.sub=function(l,c){this._verify2(l,c);var d=l.sub(c);if(d.cmpn(0)<0)d.iadd(this.m);return d._forceRed(this)},V.prototype.isub=function(l,c){this._verify2(l,c);var d=l.isub(c);if(d.cmpn(0)<0)d.iadd(this.m);return d},V.prototype.shl=function(l,c){return this._verify1(l),this.imod(l.ushln(c))},V.prototype.imul=function(l,c){return this._verify2(l,c),this.imod(l.imul(c))},V.prototype.mul=function(l,c){return this._verify2(l,c),this.imod(l.mul(c))},V.prototype.isqr=function(l){return this.imul(l,l.clone())},V.prototype.sqr=function(l){return this.mul(l,l)},V.prototype.sqrt=function(l){if(l.isZero())return l.clone();var c=this.m.andln(3);if(n(c%2===1),c===3){var d=this.m.add(new s(1)).iushrn(2);return this.pow(l,d)}var u=this.m.subn(1),f=0;while(!u.isZero()&&u.andln(1)===0)f++,u.iushrn(1);n(!u.isZero());var x=new s(1).toRed(this),w=x.redNeg(),g=this.m.subn(1).iushrn(1),a=this.m.bitLength();a=new s(2*a*a).toRed(this);while(this.pow(a,g).cmp(w)!==0)a.redIAdd(w);var b=this.pow(a,u),E=this.pow(l,u.addn(1).iushrn(1)),S=this.pow(l,u),L=f;while(S.cmp(x)!==0){var q=S;for(var j=0;q.cmp(x)!==0;j++)q=q.redSqr();n(j<L);var X=this.pow(b,new s(1).iushln(L-j-1));E=E.redMul(X),b=X.redSqr(),S=S.redMul(b),L=j}return E},V.prototype.invm=function(l){var c=l._invmp(this.m);if(c.negative!==0)return c.negative=0,this.imod(c).redNeg();else return this.imod(c)},V.prototype.pow=function(l,c){if(c.isZero())return new s(1).toRed(this);if(c.cmpn(1)===0)return l.clone();var d=4,u=Array(1<<d);u[0]=new s(1).toRed(this),u[1]=l;for(var f=2;f<u.length;f++)u[f]=this.mul(u[f-1],l);var x=u[0],w=0,g=0,a=c.bitLength()%26;if(a===0)a=26;for(f=c.length-1;f>=0;f--){var b=c.words[f];for(var E=a-1;E>=0;E--){var S=b>>E&1;if(x!==u[0])x=this.sqr(x);if(S===0&&w===0){g=0;continue}if(w<<=1,w|=S,g++,g!==d&&(f!==0||E!==0))continue;x=this.mul(x,u[w]),g=0,w=0}a=26}return x},V.prototype.convertTo=function(l){var c=l.umod(this.m);return c===l?c.clone():c},V.prototype.convertFrom=function(l){var c=l.clone();return c.red=null,c},s.mont=function(l){return new nt(l)};function nt(l){if(V.call(this,l),this.shift=this.m.bitLength(),this.shift%26!==0)this.shift+=26-this.shift%26;this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}o(nt,V),nt.prototype.convertTo=function(l){return this.imod(l.ushln(this.shift))},nt.prototype.convertFrom=function(l){var c=this.imod(l.mul(this.rinv));return c.red=null,c},nt.prototype.imul=function(l,c){if(l.isZero()||c.isZero())return l.words[0]=0,l.length=1,l;var d=l.imul(c),u=d.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),f=d.isub(u).iushrn(this.shift),x=f;if(f.cmp(this.m)>=0)x=f.isub(this.m);else if(f.cmpn(0)<0)x=f.iadd(this.m);return x._forceRed(this)},nt.prototype.mul=function(l,c){if(l.isZero()||c.isZero())return new s(0)._forceRed(this);var d=l.mul(c),u=d.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),f=d.isub(u).iushrn(this.shift),x=f;if(f.cmp(this.m)>=0)x=f.isub(this.m);else if(f.cmpn(0)<0)x=f.iadd(this.m);return x._forceRed(this)},nt.prototype.invm=function(l){var c=this.imod(l._invmp(this.m).mul(this.r2));return c._forceRed(this)}})(typeof e>"u"||e,t)}),s4=gt((t)=>{var e=Zo(),r=cn(),i=t;i.define=function(o,s){return new n(o,s)};function n(o,s){this.name=o,this.body=s,this.decoders={},this.encoders={}}n.prototype._createNamed=function(o){var s;try{s=(()=>{throw new Error("Cannot require module "+"vm");})().runInThisContext("(function "+this.name+`(entity) {
|
|
12
|
+
this._initNamed(entity);
|
|
13
|
+
})`)}catch(h){s=function(m){this._initNamed(m)}}return r(s,o),s.prototype._initNamed=function(h){o.call(this,h)},new s(this)},n.prototype._getDecoder=function(o){if(o=o||"der",!this.decoders.hasOwnProperty(o))this.decoders[o]=this._createNamed(e.decoders[o]);return this.decoders[o]},n.prototype.decode=function(o,s,h){return this._getDecoder(s).decode(o,h)},n.prototype._getEncoder=function(o){if(o=o||"der",!this.encoders.hasOwnProperty(o))this.encoders[o]=this._createNamed(e.encoders[o]);return this.encoders[o]},n.prototype.encode=function(o,s,h){return this._getEncoder(s).encode(o,h)}}),o4=gt((t)=>{var e=cn();function r(n){this._reporterState={obj:null,path:[],options:n||{},errors:[]}}t.Reporter=r,r.prototype.isError=function(n){return n instanceof i},r.prototype.save=function(){var n=this._reporterState;return{obj:n.obj,pathLen:n.path.length}},r.prototype.restore=function(n){var o=this._reporterState;o.obj=n.obj,o.path=o.path.slice(0,n.pathLen)},r.prototype.enterKey=function(n){return this._reporterState.path.push(n)},r.prototype.exitKey=function(n){var o=this._reporterState;o.path=o.path.slice(0,n-1)},r.prototype.leaveKey=function(n,o,s){var h=this._reporterState;if(this.exitKey(n),h.obj!==null)h.obj[o]=s},r.prototype.path=function(){return this._reporterState.path.join("/")},r.prototype.enterObject=function(){var n=this._reporterState,o=n.obj;return n.obj={},o},r.prototype.leaveObject=function(n){var o=this._reporterState,s=o.obj;return o.obj=n,s},r.prototype.error=function(n){var o,s=this._reporterState,h=n instanceof i;if(h)o=n;else o=new i(s.path.map(function(m){return"["+JSON.stringify(m)+"]"}).join(""),n.message||n,n.stack);if(!s.options.partial)throw o;if(!h)s.errors.push(o);return o},r.prototype.wrapResult=function(n){var o=this._reporterState;if(!o.options.partial)return n;return{result:this.isError(n)?null:n,errors:o.errors}};function i(n,o){this.path=n,this.rethrow(o)}e(i,Error),i.prototype.rethrow=function(n){if(this.message=n+" at: "+(this.path||"(shallow)"),Error.captureStackTrace)Error.captureStackTrace(this,i);if(!this.stack)try{throw Error(this.message)}catch(o){this.stack=o.stack}return this}}),Lg=gt((t)=>{var e=cn(),r=Wo().Reporter,i=(Nr(),ve(Tr)).Buffer;function n(s,h){if(r.call(this,h),!i.isBuffer(s)){this.error("Input not Buffer");return}this.base=s,this.offset=0,this.length=s.length}e(n,r),t.DecoderBuffer=n,n.prototype.save=function(){return{offset:this.offset,reporter:r.prototype.save.call(this)}},n.prototype.restore=function(s){var h=new n(this.base);return h.offset=s.offset,h.length=this.offset,this.offset=s.offset,r.prototype.restore.call(this,s.reporter),h},n.prototype.isEmpty=function(){return this.offset===this.length},n.prototype.readUInt8=function(s){if(this.offset+1<=this.length)return this.base.readUInt8(this.offset++,!0);else return this.error(s||"DecoderBuffer overrun")},n.prototype.skip=function(s,h){if(!(this.offset+s<=this.length))return this.error(h||"DecoderBuffer overrun");var m=new n(this.base);return m._reporterState=this._reporterState,m.offset=this.offset,m.length=this.offset+s,this.offset+=s,m},n.prototype.raw=function(s){return this.base.slice(s?s.offset:this.offset,this.length)};function o(s,h){if(Array.isArray(s))this.length=0,this.value=s.map(function(m){if(!(m instanceof o))m=new o(m,h);return this.length+=m.length,m},this);else if(typeof s==="number"){if(!(0<=s&&s<=255))return h.error("non-byte EncoderBuffer value");this.value=s,this.length=1}else if(typeof s==="string")this.value=s,this.length=i.byteLength(s);else if(i.isBuffer(s))this.value=s,this.length=s.length;else return h.error("Unsupported type: "+typeof s)}t.EncoderBuffer=o,o.prototype.join=function(s,h){if(!s)s=new i(this.length);if(!h)h=0;if(this.length===0)return s;if(Array.isArray(this.value))this.value.forEach(function(m){m.join(s,h),h+=m.length});else{if(typeof this.value==="number")s[h]=this.value;else if(typeof this.value==="string")s.write(this.value,h);else if(i.isBuffer(this.value))this.value.copy(s,h);h+=this.length}return s}}),l4=gt((t,e)=>{var r=Wo().Reporter,i=Wo().EncoderBuffer,n=Wo().DecoderBuffer,o=gi(),s=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],h=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(s),m=["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"];function p(_,v){var C={};if(this._baseState=C,C.enc=_,C.parent=v||null,C.children=null,C.tag=null,C.args=null,C.reverseArgs=null,C.choice=null,C.optional=!1,C.any=!1,C.obj=!1,C.use=null,C.useDecoder=null,C.key=null,C.default=null,C.explicit=null,C.implicit=null,C.contains=null,!C.parent)C.children=[],this._wrap()}e.exports=p;var y=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];p.prototype.clone=function(){var _=this._baseState,v={};y.forEach(function(M){v[M]=_[M]});var C=new this.constructor(v.parent);return C._baseState=v,C},p.prototype._wrap=function(){var _=this._baseState;h.forEach(function(v){this[v]=function(){var C=new this.constructor(this);return _.children.push(C),C[v].apply(C,arguments)}},this)},p.prototype._init=function(_){var v=this._baseState;o(v.parent===null),_.call(this),v.children=v.children.filter(function(C){return C._baseState.parent===this},this),o.equal(v.children.length,1,"Root node can have only one child")},p.prototype._useArgs=function(_){var v=this._baseState,C=_.filter(function(M){return M instanceof this.constructor},this);if(_=_.filter(function(M){return!(M instanceof this.constructor)},this),C.length!==0)o(v.children===null),v.children=C,C.forEach(function(M){M._baseState.parent=this},this);if(_.length!==0)o(v.args===null),v.args=_,v.reverseArgs=_.map(function(M){if(typeof M!=="object"||M.constructor!==Object)return M;var A={};return Object.keys(M).forEach(function(k){if(k==(k|0))k|=0;var R=M[k];A[R]=k}),A})},m.forEach(function(_){p.prototype[_]=function(){var v=this._baseState;throw Error(_+" not implemented for encoding: "+v.enc)}}),s.forEach(function(_){p.prototype[_]=function(){var v=this._baseState,C=Array.prototype.slice.call(arguments);return o(v.tag===null),v.tag=_,this._useArgs(C),this}}),p.prototype.use=function(_){o(_);var v=this._baseState;return o(v.use===null),v.use=_,this},p.prototype.optional=function(){var _=this._baseState;return _.optional=!0,this},p.prototype.def=function(_){var v=this._baseState;return o(v.default===null),v.default=_,v.optional=!0,this},p.prototype.explicit=function(_){var v=this._baseState;return o(v.explicit===null&&v.implicit===null),v.explicit=_,this},p.prototype.implicit=function(_){var v=this._baseState;return o(v.explicit===null&&v.implicit===null),v.implicit=_,this},p.prototype.obj=function(){var _=this._baseState,v=Array.prototype.slice.call(arguments);if(_.obj=!0,v.length!==0)this._useArgs(v);return this},p.prototype.key=function(_){var v=this._baseState;return o(v.key===null),v.key=_,this},p.prototype.any=function(){var _=this._baseState;return _.any=!0,this},p.prototype.choice=function(_){var v=this._baseState;return o(v.choice===null),v.choice=_,this._useArgs(Object.keys(_).map(function(C){return _[C]})),this},p.prototype.contains=function(_){var v=this._baseState;return o(v.use===null),v.contains=_,this},p.prototype._decode=function(_,v){var C=this._baseState;if(C.parent===null)return _.wrapResult(C.children[0]._decode(_,v));var M=C.default,A=!0,k=null;if(C.key!==null)k=_.enterKey(C.key);if(C.optional){var R=null;if(C.explicit!==null)R=C.explicit;else if(C.implicit!==null)R=C.implicit;else if(C.tag!==null)R=C.tag;if(R===null&&!C.any){var T=_.save();try{if(C.choice===null)this._decodeGeneric(C.tag,_,v);else this._decodeChoice(_,v);A=!0}catch(dt){A=!1}_.restore(T)}else if(A=this._peekTag(_,R,C.any),_.isError(A))return A}var I;if(C.obj&&A)I=_.enterObject();if(A){if(C.explicit!==null){var P=this._decodeTag(_,C.explicit);if(_.isError(P))return P;_=P}var F=_.offset;if(C.use===null&&C.choice===null){if(C.any)var T=_.save();var G=this._decodeTag(_,C.implicit!==null?C.implicit:C.tag,C.any);if(_.isError(G))return G;if(C.any)M=_.raw(T);else _=G}if(v&&v.track&&C.tag!==null)v.track(_.path(),F,_.length,"tagged");if(v&&v.track&&C.tag!==null)v.track(_.path(),_.offset,_.length,"content");if(C.any)M=M;else if(C.choice===null)M=this._decodeGeneric(C.tag,_,v);else M=this._decodeChoice(_,v);if(_.isError(M))return M;if(!C.any&&C.choice===null&&C.children!==null)C.children.forEach(function(dt){dt._decode(_,v)});if(C.contains&&(C.tag==="octstr"||C.tag==="bitstr")){var lt=new n(M);M=this._getUse(C.contains,_._reporterState.obj)._decode(lt,v)}}if(C.obj&&A)M=_.leaveObject(I);if(C.key!==null&&(M!==null||A===!0))_.leaveKey(k,C.key,M);else if(k!==null)_.exitKey(k);return M},p.prototype._decodeGeneric=function(_,v,C){var M=this._baseState;if(_==="seq"||_==="set")return null;if(_==="seqof"||_==="setof")return this._decodeList(v,_,M.args[0],C);else if(/str$/.test(_))return this._decodeStr(v,_,C);else if(_==="objid"&&M.args)return this._decodeObjid(v,M.args[0],M.args[1],C);else if(_==="objid")return this._decodeObjid(v,null,null,C);else if(_==="gentime"||_==="utctime")return this._decodeTime(v,_,C);else if(_==="null_")return this._decodeNull(v,C);else if(_==="bool")return this._decodeBool(v,C);else if(_==="objDesc")return this._decodeStr(v,_,C);else if(_==="int"||_==="enum")return this._decodeInt(v,M.args&&M.args[0],C);if(M.use!==null)return this._getUse(M.use,v._reporterState.obj)._decode(v,C);else return v.error("unknown tag: "+_)},p.prototype._getUse=function(_,v){var C=this._baseState;if(C.useDecoder=this._use(_,v),o(C.useDecoder._baseState.parent===null),C.useDecoder=C.useDecoder._baseState.children[0],C.implicit!==C.useDecoder._baseState.implicit)C.useDecoder=C.useDecoder.clone(),C.useDecoder._baseState.implicit=C.implicit;return C.useDecoder},p.prototype._decodeChoice=function(_,v){var C=this._baseState,M=null,A=!1;if(Object.keys(C.choice).some(function(k){var R=_.save(),T=C.choice[k];try{var I=T._decode(_,v);if(_.isError(I))return!1;M={type:k,value:I},A=!0}catch(P){return _.restore(R),!1}return!0},this),!A)return _.error("Choice not matched");return M},p.prototype._createEncoderBuffer=function(_){return new i(_,this.reporter)},p.prototype._encode=function(_,v,C){var M=this._baseState;if(M.default!==null&&M.default===_)return;var A=this._encodeValue(_,v,C);if(A===void 0)return;if(this._skipDefault(A,v,C))return;return A},p.prototype._encodeValue=function(_,v,C){var M=this._baseState;if(M.parent===null)return M.children[0]._encode(_,v||new r);var T=null;if(this.reporter=v,M.optional&&_===void 0)if(M.default!==null)_=M.default;else return;var A=null,k=!1;if(M.any)T=this._createEncoderBuffer(_);else if(M.choice)T=this._encodeChoice(_,v);else if(M.contains)A=this._getUse(M.contains,C)._encode(_,v),k=!0;else if(M.children)A=M.children.map(function(F){if(F._baseState.tag==="null_")return F._encode(null,v,_);if(F._baseState.key===null)return v.error("Child should have a key");var G=v.enterKey(F._baseState.key);if(typeof _!=="object")return v.error("Child expected, but input is not object");var lt=F._encode(_[F._baseState.key],v,_);return v.leaveKey(G),lt},this).filter(function(F){return F}),A=this._createEncoderBuffer(A);else if(M.tag==="seqof"||M.tag==="setof"){if(!(M.args&&M.args.length===1))return v.error("Too many args for : "+M.tag);if(!Array.isArray(_))return v.error("seqof/setof, but data is not Array");var R=this.clone();R._baseState.implicit=null,A=this._createEncoderBuffer(_.map(function(F){var G=this._baseState;return this._getUse(G.args[0],_)._encode(F,v)},R))}else if(M.use!==null)T=this._getUse(M.use,C)._encode(_,v);else A=this._encodePrimitive(M.tag,_),k=!0;var T;if(!M.any&&M.choice===null){var I=M.implicit!==null?M.implicit:M.tag,P=M.implicit===null?"universal":"context";if(I===null){if(M.use===null)v.error("Tag could be omitted only for .use()")}else if(M.use===null)T=this._encodeComposite(I,k,P,A)}if(M.explicit!==null)T=this._encodeComposite(M.explicit,!1,"context",T);return T},p.prototype._encodeChoice=function(_,v){var C=this._baseState,M=C.choice[_.type];if(!M)o(!1,_.type+" not found in "+JSON.stringify(Object.keys(C.choice)));return M._encode(_.value,v)},p.prototype._encodePrimitive=function(_,v){var C=this._baseState;if(/str$/.test(_))return this._encodeStr(v,_);else if(_==="objid"&&C.args)return this._encodeObjid(v,C.reverseArgs[0],C.args[1]);else if(_==="objid")return this._encodeObjid(v,null,null);else if(_==="gentime"||_==="utctime")return this._encodeTime(v,_);else if(_==="null_")return this._encodeNull();else if(_==="int"||_==="enum")return this._encodeInt(v,C.args&&C.reverseArgs[0]);else if(_==="bool")return this._encodeBool(v);else if(_==="objDesc")return this._encodeStr(v,_);else throw Error("Unsupported tag: "+_)},p.prototype._isNumstr=function(_){return/^[0-9 ]*$/.test(_)},p.prototype._isPrintstr=function(_){return/^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(_)}}),Wo=gt((t)=>{var e=t;e.Reporter=o4().Reporter,e.DecoderBuffer=Lg().DecoderBuffer,e.EncoderBuffer=Lg().EncoderBuffer,e.Node=l4()}),a4=gt((t)=>{var e=Zg();t.tagClass={0:"universal",1:"application",2:"context",3:"private"},t.tagClassByName=e._reverse(t.tagClass),t.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},t.tagByName=e._reverse(t.tag)}),Zg=gt((t)=>{var e=t;e._reverse=function(r){var i={};return Object.keys(r).forEach(function(n){if((n|0)==n)n=n|0;var o=r[n];i[o]=n}),i},e.der=a4()}),Xg=gt((t,e)=>{var r=cn(),i=Zo(),{base:n,bignum:o}=i,s=i.constants.der;function h(_){this.enc="der",this.name=_.name,this.entity=_,this.tree=new m,this.tree._init(_.body)}e.exports=h,h.prototype.decode=function(_,v){if(!(_ instanceof n.DecoderBuffer))_=new n.DecoderBuffer(_,v);return this.tree._decode(_,v)};function m(_){n.Node.call(this,"der",_)}r(m,n.Node),m.prototype._peekTag=function(_,v,C){if(_.isEmpty())return!1;var M=_.save(),A=p(_,'Failed to peek tag: "'+v+'"');if(_.isError(A))return A;return _.restore(M),A.tag===v||A.tagStr===v||A.tagStr+"of"===v||C},m.prototype._decodeTag=function(_,v,C){var M=p(_,'Failed to decode tag of "'+v+'"');if(_.isError(M))return M;var A=y(_,M.primitive,'Failed to get length of "'+v+'"');if(_.isError(A))return A;if(!C&&M.tag!==v&&M.tagStr!==v&&M.tagStr+"of"!==v)return _.error('Failed to match tag: "'+v+'"');if(M.primitive||A!==null)return _.skip(A,'Failed to match body of: "'+v+'"');var k=_.save(),R=this._skipUntilEnd(_,'Failed to skip indefinite length body: "'+this.tag+'"');if(_.isError(R))return R;return A=_.offset-k.offset,_.restore(k),_.skip(A,'Failed to match body of: "'+v+'"')},m.prototype._skipUntilEnd=function(_,v){while(!0){var C=p(_,v);if(_.isError(C))return C;var M=y(_,C.primitive,v);if(_.isError(M))return M;var A;if(C.primitive||M!==null)A=_.skip(M);else A=this._skipUntilEnd(_,v);if(_.isError(A))return A;if(C.tagStr==="end")break}},m.prototype._decodeList=function(_,v,C,M){var A=[];while(!_.isEmpty()){var k=this._peekTag(_,"end");if(_.isError(k))return k;var R=C.decode(_,"der",M);if(_.isError(R)&&k)break;A.push(R)}return A},m.prototype._decodeStr=function(_,v){if(v==="bitstr"){var C=_.readUInt8();if(_.isError(C))return C;return{unused:C,data:_.raw()}}else if(v==="bmpstr"){var M=_.raw();if(M.length%2===1)return _.error("Decoding of string type: bmpstr length mismatch");var A="";for(var k=0;k<M.length/2;k++)A+=String.fromCharCode(M.readUInt16BE(k*2));return A}else if(v==="numstr"){var R=_.raw().toString("ascii");if(!this._isNumstr(R))return _.error("Decoding of string type: numstr unsupported characters");return R}else if(v==="octstr")return _.raw();else if(v==="objDesc")return _.raw();else if(v==="printstr"){var T=_.raw().toString("ascii");if(!this._isPrintstr(T))return _.error("Decoding of string type: printstr unsupported characters");return T}else if(/str$/.test(v))return _.raw().toString();else return _.error("Decoding of string type: "+v+" unsupported")},m.prototype._decodeObjid=function(_,v,C){var M,A=[],k=0;while(!_.isEmpty()){var R=_.readUInt8();if(k<<=7,k|=R&127,(R&128)===0)A.push(k),k=0}if(R&128)A.push(k);var T=A[0]/40|0,I=A[0]%40;if(C)M=A;else M=[T,I].concat(A.slice(1));if(v){var P=v[M.join(" ")];if(P===void 0)P=v[M.join(".")];if(P!==void 0)M=P}return M},m.prototype._decodeTime=function(_,v){var C=_.raw().toString();if(v==="gentime")var M=C.slice(0,4)|0,A=C.slice(4,6)|0,k=C.slice(6,8)|0,R=C.slice(8,10)|0,T=C.slice(10,12)|0,I=C.slice(12,14)|0;else if(v==="utctime"){var M=C.slice(0,2)|0,A=C.slice(2,4)|0,k=C.slice(4,6)|0,R=C.slice(6,8)|0,T=C.slice(8,10)|0,I=C.slice(10,12)|0;if(M<70)M=2000+M;else M=1900+M}else return _.error("Decoding "+v+" time is not supported yet");return Date.UTC(M,A-1,k,R,T,I,0)},m.prototype._decodeNull=function(_){return null},m.prototype._decodeBool=function(_){var v=_.readUInt8();if(_.isError(v))return v;else return v!==0},m.prototype._decodeInt=function(_,v){var C=_.raw(),M=new o(C);if(v)M=v[M.toString(10)]||M;return M},m.prototype._use=function(_,v){if(typeof _==="function")_=_(v);return _._getDecoder("der").tree};function p(_,v){var C=_.readUInt8(v);if(_.isError(C))return C;var M=s.tagClass[C>>6],A=(C&32)===0;if((C&31)===31){var k=C;C=0;while((k&128)===128){if(k=_.readUInt8(v),_.isError(k))return k;C<<=7,C|=k&127}}else C&=31;var R=s.tag[C];return{cls:M,primitive:A,tag:C,tagStr:R}}function y(_,v,C){var M=_.readUInt8(C);if(_.isError(M))return M;if(!v&&M===128)return null;if((M&128)===0)return M;var A=M&127;if(A>4)return _.error("length octect is too long");M=0;for(var k=0;k<A;k++){M<<=8;var R=_.readUInt8(C);if(_.isError(R))return R;M|=R}return M}}),u4=gt((t,e)=>{var r=cn(),i=(Nr(),ve(Tr)).Buffer,n=Xg();function o(s){n.call(this,s),this.enc="pem"}r(o,n),e.exports=o,o.prototype.decode=function(s,h){var m=s.toString().split(/[\r\n]+/g),p=h.label.toUpperCase(),y=/^-----(BEGIN|END) ([^-]+)-----$/,_=-1,v=-1;for(var C=0;C<m.length;C++){var M=m[C].match(y);if(M===null)continue;if(M[2]!==p)continue;if(_===-1){if(M[1]!=="BEGIN")break;_=C}else{if(M[1]!=="END")break;v=C;break}}if(_===-1||v===-1)throw Error("PEM section not found for: "+p);var A=m.slice(_+1,v).join("");A.replace(/[^a-z0-9\+\/=]+/gi,"");var k=new i(A,"base64");return n.prototype.decode.call(this,k,h)}}),c4=gt((t)=>{var e=t;e.der=Xg(),e.pem=u4()}),Jg=gt((t,e)=>{var r=cn(),i=(Nr(),ve(Tr)).Buffer,n=Zo(),o=n.base,s=n.constants.der;function h(_){this.enc="der",this.name=_.name,this.entity=_,this.tree=new m,this.tree._init(_.body)}e.exports=h,h.prototype.encode=function(_,v){return this.tree._encode(_,v).join()};function m(_){o.Node.call(this,"der",_)}r(m,o.Node),m.prototype._encodeComposite=function(_,v,C,M){var A=y(_,v,C,this.reporter);if(M.length<128){var T=new i(2);return T[0]=A,T[1]=M.length,this._createEncoderBuffer([T,M])}var k=1;for(var R=M.length;R>=256;R>>=8)k++;var T=new i(2+k);T[0]=A,T[1]=128|k;for(var R=1+k,I=M.length;I>0;R--,I>>=8)T[R]=I&255;return this._createEncoderBuffer([T,M])},m.prototype._encodeStr=function(_,v){if(v==="bitstr")return this._createEncoderBuffer([_.unused|0,_.data]);else if(v==="bmpstr"){var C=new i(_.length*2);for(var M=0;M<_.length;M++)C.writeUInt16BE(_.charCodeAt(M),M*2);return this._createEncoderBuffer(C)}else if(v==="numstr"){if(!this._isNumstr(_))return this.reporter.error("Encoding of string type: numstr supports only digits and space");return this._createEncoderBuffer(_)}else if(v==="printstr"){if(!this._isPrintstr(_))return this.reporter.error("Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark");return this._createEncoderBuffer(_)}else if(/str$/.test(v))return this._createEncoderBuffer(_);else if(v==="objDesc")return this._createEncoderBuffer(_);else return this.reporter.error("Encoding of string type: "+v+" unsupported")},m.prototype._encodeObjid=function(_,v,C){if(typeof _==="string"){if(!v)return this.reporter.error("string objid given, but no values map found");if(!v.hasOwnProperty(_))return this.reporter.error("objid not found in values map");_=v[_].split(/[\s\.]+/g);for(var M=0;M<_.length;M++)_[M]|=0}else if(Array.isArray(_)){_=_.slice();for(var M=0;M<_.length;M++)_[M]|=0}if(!Array.isArray(_))return this.reporter.error("objid() should be either array or string, got: "+JSON.stringify(_));if(!C){if(_[1]>=40)return this.reporter.error("Second objid identifier OOB");_.splice(0,2,_[0]*40+_[1])}var A=0;for(var M=0;M<_.length;M++){var k=_[M];for(A++;k>=128;k>>=7)A++}var R=new i(A),T=R.length-1;for(var M=_.length-1;M>=0;M--){var k=_[M];R[T--]=k&127;while((k>>=7)>0)R[T--]=128|k&127}return this._createEncoderBuffer(R)};function p(_){if(_<10)return"0"+_;else return _}m.prototype._encodeTime=function(_,v){var C,M=new Date(_);if(v==="gentime")C=[p(M.getFullYear()),p(M.getUTCMonth()+1),p(M.getUTCDate()),p(M.getUTCHours()),p(M.getUTCMinutes()),p(M.getUTCSeconds()),"Z"].join("");else if(v==="utctime")C=[p(M.getFullYear()%100),p(M.getUTCMonth()+1),p(M.getUTCDate()),p(M.getUTCHours()),p(M.getUTCMinutes()),p(M.getUTCSeconds()),"Z"].join("");else this.reporter.error("Encoding "+v+" time is not supported yet");return this._encodeStr(C,"octstr")},m.prototype._encodeNull=function(){return this._createEncoderBuffer("")},m.prototype._encodeInt=function(_,v){if(typeof _==="string"){if(!v)return this.reporter.error("String int or enum given, but no values map");if(!v.hasOwnProperty(_))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(_));_=v[_]}if(typeof _!=="number"&&!i.isBuffer(_)){var C=_.toArray();if(!_.sign&&C[0]&128)C.unshift(0);_=new i(C)}if(i.isBuffer(_)){var M=_.length;if(_.length===0)M++;var k=new i(M);if(_.copy(k),_.length===0)k[0]=0;return this._createEncoderBuffer(k)}if(_<128)return this._createEncoderBuffer(_);if(_<256)return this._createEncoderBuffer([0,_]);var M=1;for(var A=_;A>=256;A>>=8)M++;var k=Array(M);for(var A=k.length-1;A>=0;A--)k[A]=_&255,_>>=8;if(k[0]&128)k.unshift(0);return this._createEncoderBuffer(new i(k))},m.prototype._encodeBool=function(_){return this._createEncoderBuffer(_?255:0)},m.prototype._use=function(_,v){if(typeof _==="function")_=_(v);return _._getEncoder("der").tree},m.prototype._skipDefault=function(_,v,C){var M=this._baseState,A;if(M.default===null)return!1;var k=_.join();if(M.defaultBuffer===void 0)M.defaultBuffer=this._encodeValue(M.default,v,C).join();if(k.length!==M.defaultBuffer.length)return!1;for(A=0;A<k.length;A++)if(k[A]!==M.defaultBuffer[A])return!1;return!0};function y(_,v,C,M){var A;if(_==="seqof")_="seq";else if(_==="setof")_="set";if(s.tagByName.hasOwnProperty(_))A=s.tagByName[_];else if(typeof _==="number"&&(_|0)===_)A=_;else return M.error("Unknown tag: "+_);if(A>=31)return M.error("Multi-octet tag encoding unsupported");if(!v)A|=32;return A|=s.tagClassByName[C||"universal"]<<6,A}}),h4=gt((t,e)=>{var r=cn(),i=Jg();function n(o){i.call(this,o),this.enc="pem"}r(n,i),e.exports=n,n.prototype.encode=function(o,s){var h=i.prototype.encode.call(this,o),m=h.toString("base64"),p=["-----BEGIN "+s.label+"-----"];for(var y=0;y<m.length;y+=64)p.push(m.slice(y,y+64));return p.push("-----END "+s.label+"-----"),p.join(`
|
|
14
|
+
`)}}),f4=gt((t)=>{var e=t;e.der=Jg(),e.pem=h4()}),Zo=gt((t)=>{var e=t;e.bignum=i4(),e.define=s4().define,e.base=Wo(),e.constants=Zg(),e.decoders=c4(),e.encoders=f4()}),d4=gt((t,e)=>{var r=Zo(),i=r.define("Time",function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})}),n=r.define("AttributeTypeValue",function(){this.seq().obj(this.key("type").objid(),this.key("value").any())}),o=r.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())}),s=r.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(o),this.key("subjectPublicKey").bitstr())}),h=r.define("RelativeDistinguishedName",function(){this.setof(n)}),m=r.define("RDNSequence",function(){this.seqof(h)}),p=r.define("Name",function(){this.choice({rdnSequence:this.use(m)})}),y=r.define("Validity",function(){this.seq().obj(this.key("notBefore").use(i),this.key("notAfter").use(i))}),_=r.define("Extension",function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())}),v=r.define("TBSCertificate",function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(o),this.key("issuer").use(p),this.key("validity").use(y),this.key("subject").use(p),this.key("subjectPublicKeyInfo").use(s),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(_).optional())}),C=r.define("X509Certificate",function(){this.seq().obj(this.key("tbsCertificate").use(v),this.key("signatureAlgorithm").use(o),this.key("signatureValue").bitstr())});e.exports=C}),p4=gt((t)=>{var e=Zo();t.certificate=d4();var r=e.define("RSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())});t.RSAPrivateKey=r;var i=e.define("RSAPublicKey",function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())});t.RSAPublicKey=i;var n=e.define("AlgorithmIdentifier",function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())}),o=e.define("SubjectPublicKeyInfo",function(){this.seq().obj(this.key("algorithm").use(n),this.key("subjectPublicKey").bitstr())});t.PublicKey=o;var s=e.define("PrivateKeyInfo",function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(n),this.key("subjectPrivateKey").octstr())});t.PrivateKey=s;var h=e.define("EncryptedPrivateKeyInfo",function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())});t.EncryptedPrivateKey=h;var m=e.define("DSAPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())});t.DSAPrivateKey=m,t.DSAparam=e.define("DSAparam",function(){this.int()});var p=e.define("ECParameters",function(){this.choice({namedCurve:this.objid()})}),y=e.define("ECPrivateKey",function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(p),this.key("publicKey").optional().explicit(1).bitstr())});t.ECPrivateKey=y,t.signature=e.define("signature",function(){this.seq().obj(this.key("r").int(),this.key("s").int())})}),m4=gt((t,e)=>{e.exports={"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}}),g4=gt((t,e)=>{var r=Gr().Buffer,i=Rf().Transform,n=cn();function o(p){i.call(this),this._block=r.allocUnsafe(p),this._blockSize=p,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}n(o,i),o.prototype._transform=function(p,y,_){var v=null;try{this.update(p,y)}catch(C){v=C}_(v)},o.prototype._flush=function(p){var y=null;try{this.push(this.digest())}catch(_){y=_}p(y)};var s=typeof Uint8Array<"u",h=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u"&&ArrayBuffer.isView&&(r.prototype instanceof Uint8Array||r.TYPED_ARRAY_SUPPORT);function m(p,y){if(p instanceof r)return p;if(typeof p==="string")return r.from(p,y);if(h&&ArrayBuffer.isView(p)){if(p.byteLength===0)return r.alloc(0);var _=r.from(p.buffer,p.byteOffset,p.byteLength);if(_.byteLength===p.byteLength)return _}if(s&&p instanceof Uint8Array)return r.from(p);if(r.isBuffer(p)&&p.constructor&&typeof p.constructor.isBuffer==="function"&&p.constructor.isBuffer(p))return r.from(p);throw TypeError('The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView.')}o.prototype.update=function(p,y){if(this._finalized)throw Error("Digest already called");p=m(p,y);var _=this._block,v=0;while(this._blockOffset+p.length-v>=this._blockSize){for(var C=this._blockOffset;C<this._blockSize;)_[C++]=p[v++];this._update(),this._blockOffset=0}while(v<p.length)_[this._blockOffset++]=p[v++];for(var M=0,A=p.length*8;A>0;++M)if(this._length[M]+=A,A=this._length[M]/4294967296|0,A>0)this._length[M]-=4294967296*A;return this},o.prototype._update=function(){throw Error("_update is not implemented")},o.prototype.digest=function(p){if(this._finalized)throw Error("Digest already called");this._finalized=!0;var y=this._digest();if(p!==void 0)y=y.toString(p);this._block.fill(0),this._blockOffset=0;for(var _=0;_<4;++_)this._length[_]=0;return y},o.prototype._digest=function(){throw Error("_digest is not implemented")},e.exports=o}),_4=gt((t,e)=>{var r=cn(),i=g4(),n=Gr().Buffer,o=Array(16);function s(){i.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}r(s,i),s.prototype._update=function(){var v=o;for(var C=0;C<16;++C)v[C]=this._block.readInt32LE(C*4);var M=this._a,A=this._b,k=this._c,R=this._d;M=m(M,A,k,R,v[0],3614090360,7),R=m(R,M,A,k,v[1],3905402710,12),k=m(k,R,M,A,v[2],606105819,17),A=m(A,k,R,M,v[3],3250441966,22),M=m(M,A,k,R,v[4],4118548399,7),R=m(R,M,A,k,v[5],1200080426,12),k=m(k,R,M,A,v[6],2821735955,17),A=m(A,k,R,M,v[7],4249261313,22),M=m(M,A,k,R,v[8],1770035416,7),R=m(R,M,A,k,v[9],2336552879,12),k=m(k,R,M,A,v[10],4294925233,17),A=m(A,k,R,M,v[11],2304563134,22),M=m(M,A,k,R,v[12],1804603682,7),R=m(R,M,A,k,v[13],4254626195,12),k=m(k,R,M,A,v[14],2792965006,17),A=m(A,k,R,M,v[15],1236535329,22),M=p(M,A,k,R,v[1],4129170786,5),R=p(R,M,A,k,v[6],3225465664,9),k=p(k,R,M,A,v[11],643717713,14),A=p(A,k,R,M,v[0],3921069994,20),M=p(M,A,k,R,v[5],3593408605,5),R=p(R,M,A,k,v[10],38016083,9),k=p(k,R,M,A,v[15],3634488961,14),A=p(A,k,R,M,v[4],3889429448,20),M=p(M,A,k,R,v[9],568446438,5),R=p(R,M,A,k,v[14],3275163606,9),k=p(k,R,M,A,v[3],4107603335,14),A=p(A,k,R,M,v[8],1163531501,20),M=p(M,A,k,R,v[13],2850285829,5),R=p(R,M,A,k,v[2],4243563512,9),k=p(k,R,M,A,v[7],1735328473,14),A=p(A,k,R,M,v[12],2368359562,20),M=y(M,A,k,R,v[5],4294588738,4),R=y(R,M,A,k,v[8],2272392833,11),k=y(k,R,M,A,v[11],1839030562,16),A=y(A,k,R,M,v[14],4259657740,23),M=y(M,A,k,R,v[1],2763975236,4),R=y(R,M,A,k,v[4],1272893353,11),k=y(k,R,M,A,v[7],4139469664,16),A=y(A,k,R,M,v[10],3200236656,23),M=y(M,A,k,R,v[13],681279174,4),R=y(R,M,A,k,v[0],3936430074,11),k=y(k,R,M,A,v[3],3572445317,16),A=y(A,k,R,M,v[6],76029189,23),M=y(M,A,k,R,v[9],3654602809,4),R=y(R,M,A,k,v[12],3873151461,11),k=y(k,R,M,A,v[15],530742520,16),A=y(A,k,R,M,v[2],3299628645,23),M=_(M,A,k,R,v[0],4096336452,6),R=_(R,M,A,k,v[7],1126891415,10),k=_(k,R,M,A,v[14],2878612391,15),A=_(A,k,R,M,v[5],4237533241,21),M=_(M,A,k,R,v[12],1700485571,6),R=_(R,M,A,k,v[3],2399980690,10),k=_(k,R,M,A,v[10],4293915773,15),A=_(A,k,R,M,v[1],2240044497,21),M=_(M,A,k,R,v[8],1873313359,6),R=_(R,M,A,k,v[15],4264355552,10),k=_(k,R,M,A,v[6],2734768916,15),A=_(A,k,R,M,v[13],1309151649,21),M=_(M,A,k,R,v[4],4149444226,6),R=_(R,M,A,k,v[11],3174756917,10),k=_(k,R,M,A,v[2],718787259,15),A=_(A,k,R,M,v[9],3951481745,21),this._a=this._a+M|0,this._b=this._b+A|0,this._c=this._c+k|0,this._d=this._d+R|0},s.prototype._digest=function(){if(this._block[this._blockOffset++]=128,this._blockOffset>56)this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0;this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var v=n.allocUnsafe(16);return v.writeInt32LE(this._a,0),v.writeInt32LE(this._b,4),v.writeInt32LE(this._c,8),v.writeInt32LE(this._d,12),v};function h(v,C){return v<<C|v>>>32-C}function m(v,C,M,A,k,R,T){return h(v+(C&M|~C&A)+k+R|0,T)+C|0}function p(v,C,M,A,k,R,T){return h(v+(C&A|M&~A)+k+R|0,T)+C|0}function y(v,C,M,A,k,R,T){return h(v+(C^M^A)+k+R|0,T)+C|0}function _(v,C,M,A,k,R,T){return h(v+(M^(C|~A))+k+R|0,T)+C|0}e.exports=s}),b4=gt((t,e)=>{var r=Gr().Buffer,i=_4();function n(o,s,h,m){if(!r.isBuffer(o))o=r.from(o,"binary");if(s){if(!r.isBuffer(s))s=r.from(s,"binary");if(s.length!==8)throw RangeError("salt should be Buffer with 8 byte length")}var p=h/8,y=r.alloc(p),_=r.alloc(m||0),v=r.alloc(0);while(p>0||m>0){var C=new i;if(C.update(v),C.update(o),s)C.update(s);v=C.digest();var M=0;if(p>0){var A=y.length-p;M=Math.min(p,v.length),v.copy(y,A,0,M),p-=M}if(M<v.length&&m>0){var k=_.length-m,R=Math.min(m,v.length-M);v.copy(_,k,M,M+R),m-=R}}return v.fill(0),{key:y,iv:_}}e.exports=n}),t_=gt((t)=>{var e=(Jr(),ve(hn));t.createCipher=t.Cipher=e.createCipher,t.createCipheriv=t.Cipheriv=e.createCipheriv,t.createDecipher=t.Decipher=e.createDecipher,t.createDecipheriv=t.Decipheriv=e.createDecipheriv,t.listCiphers=t.getCiphers=e.getCiphers}),y4=gt((t,e)=>{var r=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m,i=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,n=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,o=b4(),s=t_(),h=Gr().Buffer;e.exports=function(m,p){var y=m.toString(),_=y.match(r),v;if(!_){var C=y.match(n);v=h.from(C[2].replace(/[\r\n]/g,""),"base64")}else{var M="aes"+_[1],A=h.from(_[2],"hex"),k=h.from(_[3].replace(/[\r\n]/g,""),"base64"),R=o(p,A.slice(0,8),parseInt(_[1],10)).key,T=[],I=s.createDecipheriv(M,R,A);T.push(I.update(k)),T.push(I.final()),v=h.concat(T)}var P=y.match(i)[1];return{tag:P,data:v}}}),e_=gt((t,e)=>{var r=p4(),i=m4(),n=y4(),o=t_(),s=Vg().pbkdf2Sync,h=Gr().Buffer;function m(y,_){var v=y.algorithm.decrypt.kde.kdeparams.salt,C=parseInt(y.algorithm.decrypt.kde.kdeparams.iters.toString(),10),M=i[y.algorithm.decrypt.cipher.algo.join(".")],A=y.algorithm.decrypt.cipher.iv,k=y.subjectPrivateKey,R=parseInt(M.split("-")[1],10)/8,T=s(_,v,C,R,"sha1"),I=o.createDecipheriv(M,T,A),P=[];return P.push(I.update(k)),P.push(I.final()),h.concat(P)}function p(y){var _;if(typeof y==="object"&&!h.isBuffer(y))_=y.passphrase,y=y.key;if(typeof y==="string")y=h.from(y);var v=n(y,_),{tag:C,data:M}=v,A,k;switch(C){case"CERTIFICATE":k=r.certificate.decode(M,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":if(!k)k=r.PublicKey.decode(M,"der");switch(A=k.algorithm.algorithm.join("."),A){case"1.2.840.113549.1.1.1":return r.RSAPublicKey.decode(k.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return k.subjectPrivateKey=k.subjectPublicKey,{type:"ec",data:k};case"1.2.840.10040.4.1":return k.algorithm.params.pub_key=r.DSAparam.decode(k.subjectPublicKey.data,"der"),{type:"dsa",data:k.algorithm.params};default:throw Error("unknown key id "+A)}case"ENCRYPTED PRIVATE KEY":M=r.EncryptedPrivateKey.decode(M,"der"),M=m(M,_);case"PRIVATE KEY":switch(k=r.PrivateKey.decode(M,"der"),A=k.algorithm.algorithm.join("."),A){case"1.2.840.113549.1.1.1":return r.RSAPrivateKey.decode(k.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:k.algorithm.curve,privateKey:r.ECPrivateKey.decode(k.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return k.algorithm.params.priv_key=r.DSAparam.decode(k.subjectPrivateKey,"der"),{type:"dsa",params:k.algorithm.params};default:throw Error("unknown key id "+A)}case"RSA PUBLIC KEY":return r.RSAPublicKey.decode(M,"der");case"RSA PRIVATE KEY":return r.RSAPrivateKey.decode(M,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:r.DSAPrivateKey.decode(M,"der")};case"EC PRIVATE KEY":return M=r.ECPrivateKey.decode(M,"der"),{curve:M.parameters.value,privateKey:M.privateKey};default:throw Error("unknown key type "+C)}}p.signature=r.signature,e.exports=p}),r_=gt((t,e)=>{var r=Au(),i=Gr().Buffer;e.exports=function(o,s){var h=i.alloc(0),m=0,p;while(h.length<s)p=n(m++),h=i.concat([h,r("sha1").update(o).update(p).digest()]);return h.slice(0,s)};function n(o){var s=i.allocUnsafe(4);return s.writeUInt32BE(o,0),s}}),n_=gt((t,e)=>{e.exports=function(r,i){var n=r.length,o=-1;while(++o<n)r[o]^=i[o];return r}}),Bf=gt((t,e)=>{(function(r,i){function n(l,c){if(!l)throw Error(c||"Assertion failed")}function o(l,c){l.super_=c;var d=function(){};d.prototype=c.prototype,l.prototype=new d,l.prototype.constructor=l}function s(l,c,d){if(s.isBN(l))return l;if(this.negative=0,this.words=null,this.length=0,this.red=null,l!==null){if(c==="le"||c==="be")d=c,c=10;this._init(l||0,c||10,d||"be")}}if(typeof r==="object")r.exports=s;else i.BN=s;s.BN=s,s.wordSize=26;var h;try{if(typeof window<"u"&&typeof window.Buffer<"u")h=window.Buffer;else h=(Nr(),ve(Tr)).Buffer}catch(l){}s.isBN=function(l){if(l instanceof s)return!0;return l!==null&&typeof l==="object"&&l.constructor.wordSize===s.wordSize&&Array.isArray(l.words)},s.max=function(l,c){if(l.cmp(c)>0)return l;return c},s.min=function(l,c){if(l.cmp(c)<0)return l;return c},s.prototype._init=function(l,c,d){if(typeof l==="number")return this._initNumber(l,c,d);if(typeof l==="object")return this._initArray(l,c,d);if(c==="hex")c=16;n(c===(c|0)&&c>=2&&c<=36),l=l.toString().replace(/\s+/g,"");var u=0;if(l[0]==="-")u++,this.negative=1;if(u<l.length){if(c===16)this._parseHex(l,u,d);else if(this._parseBase(l,c,u),d==="le")this._initArray(this.toArray(),c,d)}},s.prototype._initNumber=function(l,c,d){if(l<0)this.negative=1,l=-l;if(l<67108864)this.words=[l&67108863],this.length=1;else if(l<4503599627370496)this.words=[l&67108863,l/67108864&67108863],this.length=2;else n(l<9007199254740992),this.words=[l&67108863,l/67108864&67108863,1],this.length=3;if(d!=="le")return;this._initArray(this.toArray(),c,d)},s.prototype._initArray=function(l,c,d){if(n(typeof l.length==="number"),l.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(l.length/3),this.words=Array(this.length);for(var u=0;u<this.length;u++)this.words[u]=0;var f,x,w=0;if(d==="be"){for(u=l.length-1,f=0;u>=0;u-=3)if(x=l[u]|l[u-1]<<8|l[u-2]<<16,this.words[f]|=x<<w&67108863,this.words[f+1]=x>>>26-w&67108863,w+=24,w>=26)w-=26,f++}else if(d==="le"){for(u=0,f=0;u<l.length;u+=3)if(x=l[u]|l[u+1]<<8|l[u+2]<<16,this.words[f]|=x<<w&67108863,this.words[f+1]=x>>>26-w&67108863,w+=24,w>=26)w-=26,f++}return this.strip()};function m(l,c){var d=l.charCodeAt(c);if(d>=65&&d<=70)return d-55;else if(d>=97&&d<=102)return d-87;else return d-48&15}function p(l,c,d){var u=m(l,d);if(d-1>=c)u|=m(l,d-1)<<4;return u}s.prototype._parseHex=function(l,c,d){this.length=Math.ceil((l.length-c)/6),this.words=Array(this.length);for(var u=0;u<this.length;u++)this.words[u]=0;var f=0,x=0,w;if(d==="be")for(u=l.length-1;u>=c;u-=2)if(w=p(l,c,u)<<f,this.words[x]|=w&67108863,f>=18)f-=18,x+=1,this.words[x]|=w>>>26;else f+=8;else{var g=l.length-c;for(u=g%2===0?c+1:c;u<l.length;u+=2)if(w=p(l,c,u)<<f,this.words[x]|=w&67108863,f>=18)f-=18,x+=1,this.words[x]|=w>>>26;else f+=8}this.strip()};function y(l,c,d,u){var f=0,x=Math.min(l.length,d);for(var w=c;w<x;w++){var g=l.charCodeAt(w)-48;if(f*=u,g>=49)f+=g-49+10;else if(g>=17)f+=g-17+10;else f+=g}return f}s.prototype._parseBase=function(l,c,d){this.words=[0],this.length=1;for(var u=0,f=1;f<=67108863;f*=c)u++;u--,f=f/c|0;var x=l.length-d,w=x%u,g=Math.min(x,x-w)+d,a=0;for(var b=d;b<g;b+=u)if(a=y(l,b,b+u,c),this.imuln(f),this.words[0]+a<67108864)this.words[0]+=a;else this._iaddn(a);if(w!==0){var E=1;a=y(l,b,l.length,c);for(b=0;b<w;b++)E*=c;if(this.imuln(E),this.words[0]+a<67108864)this.words[0]+=a;else this._iaddn(a)}this.strip()},s.prototype.copy=function(l){l.words=Array(this.length);for(var c=0;c<this.length;c++)l.words[c]=this.words[c];l.length=this.length,l.negative=this.negative,l.red=this.red},s.prototype.clone=function(){var l=new s(null);return this.copy(l),l},s.prototype._expand=function(l){while(this.length<l)this.words[this.length++]=0;return this},s.prototype.strip=function(){while(this.length>1&&this.words[this.length-1]===0)this.length--;return this._normSign()},s.prototype._normSign=function(){if(this.length===1&&this.words[0]===0)this.negative=0;return this},s.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var _=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],v=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],C=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];if(s.prototype.toString=function(l,c){l=l||10,c=c|0||1;var d;if(l===16||l==="hex"){d="";var u=0,f=0;for(var x=0;x<this.length;x++){var w=this.words[x],g=((w<<u|f)&16777215).toString(16);if(f=w>>>24-u&16777215,u+=2,u>=26)u-=26,x--;if(f!==0||x!==this.length-1)d=_[6-g.length]+g+d;else d=g+d}if(f!==0)d=f.toString(16)+d;while(d.length%c!==0)d="0"+d;if(this.negative!==0)d="-"+d;return d}if(l===(l|0)&&l>=2&&l<=36){var a=v[l],b=C[l];d="";var E=this.clone();E.negative=0;while(!E.isZero()){var S=E.modn(b).toString(l);if(E=E.idivn(b),!E.isZero())d=_[a-S.length]+S+d;else d=S+d}if(this.isZero())d="0"+d;while(d.length%c!==0)d="0"+d;if(this.negative!==0)d="-"+d;return d}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var l=this.words[0];if(this.length===2)l+=this.words[1]*67108864;else if(this.length===3&&this.words[2]===1)l+=4503599627370496+this.words[1]*67108864;else if(this.length>2)n(!1,"Number can only safely store up to 53 bits");return this.negative!==0?-l:l},s.prototype.toJSON=function(){return this.toString(16)},s.prototype.toBuffer=function(l,c){return n(typeof h<"u"),this.toArrayLike(h,l,c)},s.prototype.toArray=function(l,c){return this.toArrayLike(Array,l,c)},s.prototype.toArrayLike=function(l,c,d){var u=this.byteLength(),f=d||Math.max(1,u);n(u<=f,"byte array longer than desired length"),n(f>0,"Requested array length <= 0"),this.strip();var x=c==="le",w=new l(f),g,a,b=this.clone();if(!x){for(a=0;a<f-u;a++)w[a]=0;for(a=0;!b.isZero();a++)g=b.andln(255),b.iushrn(8),w[f-a-1]=g}else{for(a=0;!b.isZero();a++)g=b.andln(255),b.iushrn(8),w[a]=g;for(;a<f;a++)w[a]=0}return w},Math.clz32)s.prototype._countBits=function(l){return 32-Math.clz32(l)};else s.prototype._countBits=function(l){var c=l,d=0;if(c>=4096)d+=13,c>>>=13;if(c>=64)d+=7,c>>>=7;if(c>=8)d+=4,c>>>=4;if(c>=2)d+=2,c>>>=2;return d+c};s.prototype._zeroBits=function(l){if(l===0)return 26;var c=l,d=0;if((c&8191)===0)d+=13,c>>>=13;if((c&127)===0)d+=7,c>>>=7;if((c&15)===0)d+=4,c>>>=4;if((c&3)===0)d+=2,c>>>=2;if((c&1)===0)d++;return d},s.prototype.bitLength=function(){var l=this.words[this.length-1],c=this._countBits(l);return(this.length-1)*26+c};function M(l){var c=Array(l.bitLength());for(var d=0;d<c.length;d++){var u=d/26|0,f=d%26;c[d]=(l.words[u]&1<<f)>>>f}return c}s.prototype.zeroBits=function(){if(this.isZero())return 0;var l=0;for(var c=0;c<this.length;c++){var d=this._zeroBits(this.words[c]);if(l+=d,d!==26)break}return l},s.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},s.prototype.toTwos=function(l){if(this.negative!==0)return this.abs().inotn(l).iaddn(1);return this.clone()},s.prototype.fromTwos=function(l){if(this.testn(l-1))return this.notn(l).iaddn(1).ineg();return this.clone()},s.prototype.isNeg=function(){return this.negative!==0},s.prototype.neg=function(){return this.clone().ineg()},s.prototype.ineg=function(){if(!this.isZero())this.negative^=1;return this},s.prototype.iuor=function(l){while(this.length<l.length)this.words[this.length++]=0;for(var c=0;c<l.length;c++)this.words[c]=this.words[c]|l.words[c];return this.strip()},s.prototype.ior=function(l){return n((this.negative|l.negative)===0),this.iuor(l)},s.prototype.or=function(l){if(this.length>l.length)return this.clone().ior(l);return l.clone().ior(this)},s.prototype.uor=function(l){if(this.length>l.length)return this.clone().iuor(l);return l.clone().iuor(this)},s.prototype.iuand=function(l){var c;if(this.length>l.length)c=l;else c=this;for(var d=0;d<c.length;d++)this.words[d]=this.words[d]&l.words[d];return this.length=c.length,this.strip()},s.prototype.iand=function(l){return n((this.negative|l.negative)===0),this.iuand(l)},s.prototype.and=function(l){if(this.length>l.length)return this.clone().iand(l);return l.clone().iand(this)},s.prototype.uand=function(l){if(this.length>l.length)return this.clone().iuand(l);return l.clone().iuand(this)},s.prototype.iuxor=function(l){var c,d;if(this.length>l.length)c=this,d=l;else c=l,d=this;for(var u=0;u<d.length;u++)this.words[u]=c.words[u]^d.words[u];if(this!==c)for(;u<c.length;u++)this.words[u]=c.words[u];return this.length=c.length,this.strip()},s.prototype.ixor=function(l){return n((this.negative|l.negative)===0),this.iuxor(l)},s.prototype.xor=function(l){if(this.length>l.length)return this.clone().ixor(l);return l.clone().ixor(this)},s.prototype.uxor=function(l){if(this.length>l.length)return this.clone().iuxor(l);return l.clone().iuxor(this)},s.prototype.inotn=function(l){n(typeof l==="number"&&l>=0);var c=Math.ceil(l/26)|0,d=l%26;if(this._expand(c),d>0)c--;for(var u=0;u<c;u++)this.words[u]=~this.words[u]&67108863;if(d>0)this.words[u]=~this.words[u]&67108863>>26-d;return this.strip()},s.prototype.notn=function(l){return this.clone().inotn(l)},s.prototype.setn=function(l,c){n(typeof l==="number"&&l>=0);var d=l/26|0,u=l%26;if(this._expand(d+1),c)this.words[d]=this.words[d]|1<<u;else this.words[d]=this.words[d]&~(1<<u);return this.strip()},s.prototype.iadd=function(l){var c;if(this.negative!==0&&l.negative===0)return this.negative=0,c=this.isub(l),this.negative^=1,this._normSign();else if(this.negative===0&&l.negative!==0)return l.negative=0,c=this.isub(l),l.negative=1,c._normSign();var d,u;if(this.length>l.length)d=this,u=l;else d=l,u=this;var f=0;for(var x=0;x<u.length;x++)c=(d.words[x]|0)+(u.words[x]|0)+f,this.words[x]=c&67108863,f=c>>>26;for(;f!==0&&x<d.length;x++)c=(d.words[x]|0)+f,this.words[x]=c&67108863,f=c>>>26;if(this.length=d.length,f!==0)this.words[this.length]=f,this.length++;else if(d!==this)for(;x<d.length;x++)this.words[x]=d.words[x];return this},s.prototype.add=function(l){var c;if(l.negative!==0&&this.negative===0)return l.negative=0,c=this.sub(l),l.negative^=1,c;else if(l.negative===0&&this.negative!==0)return this.negative=0,c=l.sub(this),this.negative=1,c;if(this.length>l.length)return this.clone().iadd(l);return l.clone().iadd(this)},s.prototype.isub=function(l){if(l.negative!==0){l.negative=0;var c=this.iadd(l);return l.negative=1,c._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(l),this.negative=1,this._normSign();var d=this.cmp(l);if(d===0)return this.negative=0,this.length=1,this.words[0]=0,this;var u,f;if(d>0)u=this,f=l;else u=l,f=this;var x=0;for(var w=0;w<f.length;w++)c=(u.words[w]|0)-(f.words[w]|0)+x,x=c>>26,this.words[w]=c&67108863;for(;x!==0&&w<u.length;w++)c=(u.words[w]|0)+x,x=c>>26,this.words[w]=c&67108863;if(x===0&&w<u.length&&u!==this)for(;w<u.length;w++)this.words[w]=u.words[w];if(this.length=Math.max(this.length,w),u!==this)this.negative=1;return this.strip()},s.prototype.sub=function(l){return this.clone().isub(l)};function A(l,c,d){d.negative=c.negative^l.negative;var u=l.length+c.length|0;d.length=u,u=u-1|0;var f=l.words[0]|0,x=c.words[0]|0,w=f*x,g=w&67108863,a=w/67108864|0;d.words[0]=g;for(var b=1;b<u;b++){var E=a>>>26,S=a&67108863,L=Math.min(b,c.length-1);for(var q=Math.max(0,b-l.length+1);q<=L;q++){var j=b-q|0;f=l.words[j]|0,x=c.words[q]|0,w=f*x+S,E+=w/67108864|0,S=w&67108863}d.words[b]=S|0,a=E|0}if(a!==0)d.words[b]=a|0;else d.length--;return d.strip()}var k=function(l,c,d){var u=l.words,f=c.words,x=d.words,w=0,g,a,b,E=u[0]|0,S=E&8191,L=E>>>13,q=u[1]|0,j=q&8191,X=q>>>13,bt=u[2]|0,it=bt&8191,Q=bt>>>13,pt=u[3]|0,J=pt&8191,at=pt>>>13,Kt=u[4]|0,H=Kt&8191,W=Kt>>>13,mt=u[5]|0,rt=mt&8191,ot=mt>>>13,Lt=u[6]|0,z=Lt&8191,Z=Lt>>>13,jt=u[7]|0,tt=jt&8191,ht=jt>>>13,ae=u[8]|0,wt=ae&8191,vt=ae>>>13,Ge=u[9]|0,yt=Ge&8191,Mt=Ge>>>13,Xe=f[0]|0,Tt=Xe&8191,Rt=Xe>>>13,Br=f[1]|0,It=Br&8191,Ut=Br>>>13,Ur=f[2]|0,qt=Ur&8191,Ot=Ur>>>13,Ir=f[3]|0,Ht=Ir&8191,Pt=Ir>>>13,kr=f[4]|0,$t=kr&8191,zt=kr>>>13,Er=f[5]|0,Dt=Er&8191,B=Er>>>13,K=f[6]|0,st=K&8191,ct=K>>>13,Qt=f[7]|0,xt=Qt&8191,Et=Qt>>>13,Ke=f[8]|0,Ft=Ke&8191,Vt=Ke>>>13,Or=f[9]|0,Bt=Or&8191,Nt=Or>>>13;d.negative=l.negative^c.negative,d.length=19,g=Math.imul(S,Tt),a=Math.imul(S,Rt),a=a+Math.imul(L,Tt)|0,b=Math.imul(L,Rt);var Qe=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(Qe>>>26)|0,Qe&=67108863,g=Math.imul(j,Tt),a=Math.imul(j,Rt),a=a+Math.imul(X,Tt)|0,b=Math.imul(X,Rt),g=g+Math.imul(S,It)|0,a=a+Math.imul(S,Ut)|0,a=a+Math.imul(L,It)|0,b=b+Math.imul(L,Ut)|0;var de=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(de>>>26)|0,de&=67108863,g=Math.imul(it,Tt),a=Math.imul(it,Rt),a=a+Math.imul(Q,Tt)|0,b=Math.imul(Q,Rt),g=g+Math.imul(j,It)|0,a=a+Math.imul(j,Ut)|0,a=a+Math.imul(X,It)|0,b=b+Math.imul(X,Ut)|0,g=g+Math.imul(S,qt)|0,a=a+Math.imul(S,Ot)|0,a=a+Math.imul(L,qt)|0,b=b+Math.imul(L,Ot)|0;var ce=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(ce>>>26)|0,ce&=67108863,g=Math.imul(J,Tt),a=Math.imul(J,Rt),a=a+Math.imul(at,Tt)|0,b=Math.imul(at,Rt),g=g+Math.imul(it,It)|0,a=a+Math.imul(it,Ut)|0,a=a+Math.imul(Q,It)|0,b=b+Math.imul(Q,Ut)|0,g=g+Math.imul(j,qt)|0,a=a+Math.imul(j,Ot)|0,a=a+Math.imul(X,qt)|0,b=b+Math.imul(X,Ot)|0,g=g+Math.imul(S,Ht)|0,a=a+Math.imul(S,Pt)|0,a=a+Math.imul(L,Ht)|0,b=b+Math.imul(L,Pt)|0;var De=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(De>>>26)|0,De&=67108863,g=Math.imul(H,Tt),a=Math.imul(H,Rt),a=a+Math.imul(W,Tt)|0,b=Math.imul(W,Rt),g=g+Math.imul(J,It)|0,a=a+Math.imul(J,Ut)|0,a=a+Math.imul(at,It)|0,b=b+Math.imul(at,Ut)|0,g=g+Math.imul(it,qt)|0,a=a+Math.imul(it,Ot)|0,a=a+Math.imul(Q,qt)|0,b=b+Math.imul(Q,Ot)|0,g=g+Math.imul(j,Ht)|0,a=a+Math.imul(j,Pt)|0,a=a+Math.imul(X,Ht)|0,b=b+Math.imul(X,Pt)|0,g=g+Math.imul(S,$t)|0,a=a+Math.imul(S,zt)|0,a=a+Math.imul(L,$t)|0,b=b+Math.imul(L,zt)|0;var Le=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(Le>>>26)|0,Le&=67108863,g=Math.imul(rt,Tt),a=Math.imul(rt,Rt),a=a+Math.imul(ot,Tt)|0,b=Math.imul(ot,Rt),g=g+Math.imul(H,It)|0,a=a+Math.imul(H,Ut)|0,a=a+Math.imul(W,It)|0,b=b+Math.imul(W,Ut)|0,g=g+Math.imul(J,qt)|0,a=a+Math.imul(J,Ot)|0,a=a+Math.imul(at,qt)|0,b=b+Math.imul(at,Ot)|0,g=g+Math.imul(it,Ht)|0,a=a+Math.imul(it,Pt)|0,a=a+Math.imul(Q,Ht)|0,b=b+Math.imul(Q,Pt)|0,g=g+Math.imul(j,$t)|0,a=a+Math.imul(j,zt)|0,a=a+Math.imul(X,$t)|0,b=b+Math.imul(X,zt)|0,g=g+Math.imul(S,Dt)|0,a=a+Math.imul(S,B)|0,a=a+Math.imul(L,Dt)|0,b=b+Math.imul(L,B)|0;var ar=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(ar>>>26)|0,ar&=67108863,g=Math.imul(z,Tt),a=Math.imul(z,Rt),a=a+Math.imul(Z,Tt)|0,b=Math.imul(Z,Rt),g=g+Math.imul(rt,It)|0,a=a+Math.imul(rt,Ut)|0,a=a+Math.imul(ot,It)|0,b=b+Math.imul(ot,Ut)|0,g=g+Math.imul(H,qt)|0,a=a+Math.imul(H,Ot)|0,a=a+Math.imul(W,qt)|0,b=b+Math.imul(W,Ot)|0,g=g+Math.imul(J,Ht)|0,a=a+Math.imul(J,Pt)|0,a=a+Math.imul(at,Ht)|0,b=b+Math.imul(at,Pt)|0,g=g+Math.imul(it,$t)|0,a=a+Math.imul(it,zt)|0,a=a+Math.imul(Q,$t)|0,b=b+Math.imul(Q,zt)|0,g=g+Math.imul(j,Dt)|0,a=a+Math.imul(j,B)|0,a=a+Math.imul(X,Dt)|0,b=b+Math.imul(X,B)|0,g=g+Math.imul(S,st)|0,a=a+Math.imul(S,ct)|0,a=a+Math.imul(L,st)|0,b=b+Math.imul(L,ct)|0;var ur=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(ur>>>26)|0,ur&=67108863,g=Math.imul(tt,Tt),a=Math.imul(tt,Rt),a=a+Math.imul(ht,Tt)|0,b=Math.imul(ht,Rt),g=g+Math.imul(z,It)|0,a=a+Math.imul(z,Ut)|0,a=a+Math.imul(Z,It)|0,b=b+Math.imul(Z,Ut)|0,g=g+Math.imul(rt,qt)|0,a=a+Math.imul(rt,Ot)|0,a=a+Math.imul(ot,qt)|0,b=b+Math.imul(ot,Ot)|0,g=g+Math.imul(H,Ht)|0,a=a+Math.imul(H,Pt)|0,a=a+Math.imul(W,Ht)|0,b=b+Math.imul(W,Pt)|0,g=g+Math.imul(J,$t)|0,a=a+Math.imul(J,zt)|0,a=a+Math.imul(at,$t)|0,b=b+Math.imul(at,zt)|0,g=g+Math.imul(it,Dt)|0,a=a+Math.imul(it,B)|0,a=a+Math.imul(Q,Dt)|0,b=b+Math.imul(Q,B)|0,g=g+Math.imul(j,st)|0,a=a+Math.imul(j,ct)|0,a=a+Math.imul(X,st)|0,b=b+Math.imul(X,ct)|0,g=g+Math.imul(S,xt)|0,a=a+Math.imul(S,Et)|0,a=a+Math.imul(L,xt)|0,b=b+Math.imul(L,Et)|0;var cr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(cr>>>26)|0,cr&=67108863,g=Math.imul(wt,Tt),a=Math.imul(wt,Rt),a=a+Math.imul(vt,Tt)|0,b=Math.imul(vt,Rt),g=g+Math.imul(tt,It)|0,a=a+Math.imul(tt,Ut)|0,a=a+Math.imul(ht,It)|0,b=b+Math.imul(ht,Ut)|0,g=g+Math.imul(z,qt)|0,a=a+Math.imul(z,Ot)|0,a=a+Math.imul(Z,qt)|0,b=b+Math.imul(Z,Ot)|0,g=g+Math.imul(rt,Ht)|0,a=a+Math.imul(rt,Pt)|0,a=a+Math.imul(ot,Ht)|0,b=b+Math.imul(ot,Pt)|0,g=g+Math.imul(H,$t)|0,a=a+Math.imul(H,zt)|0,a=a+Math.imul(W,$t)|0,b=b+Math.imul(W,zt)|0,g=g+Math.imul(J,Dt)|0,a=a+Math.imul(J,B)|0,a=a+Math.imul(at,Dt)|0,b=b+Math.imul(at,B)|0,g=g+Math.imul(it,st)|0,a=a+Math.imul(it,ct)|0,a=a+Math.imul(Q,st)|0,b=b+Math.imul(Q,ct)|0,g=g+Math.imul(j,xt)|0,a=a+Math.imul(j,Et)|0,a=a+Math.imul(X,xt)|0,b=b+Math.imul(X,Et)|0,g=g+Math.imul(S,Ft)|0,a=a+Math.imul(S,Vt)|0,a=a+Math.imul(L,Ft)|0,b=b+Math.imul(L,Vt)|0;var hr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(hr>>>26)|0,hr&=67108863,g=Math.imul(yt,Tt),a=Math.imul(yt,Rt),a=a+Math.imul(Mt,Tt)|0,b=Math.imul(Mt,Rt),g=g+Math.imul(wt,It)|0,a=a+Math.imul(wt,Ut)|0,a=a+Math.imul(vt,It)|0,b=b+Math.imul(vt,Ut)|0,g=g+Math.imul(tt,qt)|0,a=a+Math.imul(tt,Ot)|0,a=a+Math.imul(ht,qt)|0,b=b+Math.imul(ht,Ot)|0,g=g+Math.imul(z,Ht)|0,a=a+Math.imul(z,Pt)|0,a=a+Math.imul(Z,Ht)|0,b=b+Math.imul(Z,Pt)|0,g=g+Math.imul(rt,$t)|0,a=a+Math.imul(rt,zt)|0,a=a+Math.imul(ot,$t)|0,b=b+Math.imul(ot,zt)|0,g=g+Math.imul(H,Dt)|0,a=a+Math.imul(H,B)|0,a=a+Math.imul(W,Dt)|0,b=b+Math.imul(W,B)|0,g=g+Math.imul(J,st)|0,a=a+Math.imul(J,ct)|0,a=a+Math.imul(at,st)|0,b=b+Math.imul(at,ct)|0,g=g+Math.imul(it,xt)|0,a=a+Math.imul(it,Et)|0,a=a+Math.imul(Q,xt)|0,b=b+Math.imul(Q,Et)|0,g=g+Math.imul(j,Ft)|0,a=a+Math.imul(j,Vt)|0,a=a+Math.imul(X,Ft)|0,b=b+Math.imul(X,Vt)|0,g=g+Math.imul(S,Bt)|0,a=a+Math.imul(S,Nt)|0,a=a+Math.imul(L,Bt)|0,b=b+Math.imul(L,Nt)|0;var fr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(fr>>>26)|0,fr&=67108863,g=Math.imul(yt,It),a=Math.imul(yt,Ut),a=a+Math.imul(Mt,It)|0,b=Math.imul(Mt,Ut),g=g+Math.imul(wt,qt)|0,a=a+Math.imul(wt,Ot)|0,a=a+Math.imul(vt,qt)|0,b=b+Math.imul(vt,Ot)|0,g=g+Math.imul(tt,Ht)|0,a=a+Math.imul(tt,Pt)|0,a=a+Math.imul(ht,Ht)|0,b=b+Math.imul(ht,Pt)|0,g=g+Math.imul(z,$t)|0,a=a+Math.imul(z,zt)|0,a=a+Math.imul(Z,$t)|0,b=b+Math.imul(Z,zt)|0,g=g+Math.imul(rt,Dt)|0,a=a+Math.imul(rt,B)|0,a=a+Math.imul(ot,Dt)|0,b=b+Math.imul(ot,B)|0,g=g+Math.imul(H,st)|0,a=a+Math.imul(H,ct)|0,a=a+Math.imul(W,st)|0,b=b+Math.imul(W,ct)|0,g=g+Math.imul(J,xt)|0,a=a+Math.imul(J,Et)|0,a=a+Math.imul(at,xt)|0,b=b+Math.imul(at,Et)|0,g=g+Math.imul(it,Ft)|0,a=a+Math.imul(it,Vt)|0,a=a+Math.imul(Q,Ft)|0,b=b+Math.imul(Q,Vt)|0,g=g+Math.imul(j,Bt)|0,a=a+Math.imul(j,Nt)|0,a=a+Math.imul(X,Bt)|0,b=b+Math.imul(X,Nt)|0;var dr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(dr>>>26)|0,dr&=67108863,g=Math.imul(yt,qt),a=Math.imul(yt,Ot),a=a+Math.imul(Mt,qt)|0,b=Math.imul(Mt,Ot),g=g+Math.imul(wt,Ht)|0,a=a+Math.imul(wt,Pt)|0,a=a+Math.imul(vt,Ht)|0,b=b+Math.imul(vt,Pt)|0,g=g+Math.imul(tt,$t)|0,a=a+Math.imul(tt,zt)|0,a=a+Math.imul(ht,$t)|0,b=b+Math.imul(ht,zt)|0,g=g+Math.imul(z,Dt)|0,a=a+Math.imul(z,B)|0,a=a+Math.imul(Z,Dt)|0,b=b+Math.imul(Z,B)|0,g=g+Math.imul(rt,st)|0,a=a+Math.imul(rt,ct)|0,a=a+Math.imul(ot,st)|0,b=b+Math.imul(ot,ct)|0,g=g+Math.imul(H,xt)|0,a=a+Math.imul(H,Et)|0,a=a+Math.imul(W,xt)|0,b=b+Math.imul(W,Et)|0,g=g+Math.imul(J,Ft)|0,a=a+Math.imul(J,Vt)|0,a=a+Math.imul(at,Ft)|0,b=b+Math.imul(at,Vt)|0,g=g+Math.imul(it,Bt)|0,a=a+Math.imul(it,Nt)|0,a=a+Math.imul(Q,Bt)|0,b=b+Math.imul(Q,Nt)|0;var pr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(pr>>>26)|0,pr&=67108863,g=Math.imul(yt,Ht),a=Math.imul(yt,Pt),a=a+Math.imul(Mt,Ht)|0,b=Math.imul(Mt,Pt),g=g+Math.imul(wt,$t)|0,a=a+Math.imul(wt,zt)|0,a=a+Math.imul(vt,$t)|0,b=b+Math.imul(vt,zt)|0,g=g+Math.imul(tt,Dt)|0,a=a+Math.imul(tt,B)|0,a=a+Math.imul(ht,Dt)|0,b=b+Math.imul(ht,B)|0,g=g+Math.imul(z,st)|0,a=a+Math.imul(z,ct)|0,a=a+Math.imul(Z,st)|0,b=b+Math.imul(Z,ct)|0,g=g+Math.imul(rt,xt)|0,a=a+Math.imul(rt,Et)|0,a=a+Math.imul(ot,xt)|0,b=b+Math.imul(ot,Et)|0,g=g+Math.imul(H,Ft)|0,a=a+Math.imul(H,Vt)|0,a=a+Math.imul(W,Ft)|0,b=b+Math.imul(W,Vt)|0,g=g+Math.imul(J,Bt)|0,a=a+Math.imul(J,Nt)|0,a=a+Math.imul(at,Bt)|0,b=b+Math.imul(at,Nt)|0;var mr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(mr>>>26)|0,mr&=67108863,g=Math.imul(yt,$t),a=Math.imul(yt,zt),a=a+Math.imul(Mt,$t)|0,b=Math.imul(Mt,zt),g=g+Math.imul(wt,Dt)|0,a=a+Math.imul(wt,B)|0,a=a+Math.imul(vt,Dt)|0,b=b+Math.imul(vt,B)|0,g=g+Math.imul(tt,st)|0,a=a+Math.imul(tt,ct)|0,a=a+Math.imul(ht,st)|0,b=b+Math.imul(ht,ct)|0,g=g+Math.imul(z,xt)|0,a=a+Math.imul(z,Et)|0,a=a+Math.imul(Z,xt)|0,b=b+Math.imul(Z,Et)|0,g=g+Math.imul(rt,Ft)|0,a=a+Math.imul(rt,Vt)|0,a=a+Math.imul(ot,Ft)|0,b=b+Math.imul(ot,Vt)|0,g=g+Math.imul(H,Bt)|0,a=a+Math.imul(H,Nt)|0,a=a+Math.imul(W,Bt)|0,b=b+Math.imul(W,Nt)|0;var gr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(gr>>>26)|0,gr&=67108863,g=Math.imul(yt,Dt),a=Math.imul(yt,B),a=a+Math.imul(Mt,Dt)|0,b=Math.imul(Mt,B),g=g+Math.imul(wt,st)|0,a=a+Math.imul(wt,ct)|0,a=a+Math.imul(vt,st)|0,b=b+Math.imul(vt,ct)|0,g=g+Math.imul(tt,xt)|0,a=a+Math.imul(tt,Et)|0,a=a+Math.imul(ht,xt)|0,b=b+Math.imul(ht,Et)|0,g=g+Math.imul(z,Ft)|0,a=a+Math.imul(z,Vt)|0,a=a+Math.imul(Z,Ft)|0,b=b+Math.imul(Z,Vt)|0,g=g+Math.imul(rt,Bt)|0,a=a+Math.imul(rt,Nt)|0,a=a+Math.imul(ot,Bt)|0,b=b+Math.imul(ot,Nt)|0;var _r=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(_r>>>26)|0,_r&=67108863,g=Math.imul(yt,st),a=Math.imul(yt,ct),a=a+Math.imul(Mt,st)|0,b=Math.imul(Mt,ct),g=g+Math.imul(wt,xt)|0,a=a+Math.imul(wt,Et)|0,a=a+Math.imul(vt,xt)|0,b=b+Math.imul(vt,Et)|0,g=g+Math.imul(tt,Ft)|0,a=a+Math.imul(tt,Vt)|0,a=a+Math.imul(ht,Ft)|0,b=b+Math.imul(ht,Vt)|0,g=g+Math.imul(z,Bt)|0,a=a+Math.imul(z,Nt)|0,a=a+Math.imul(Z,Bt)|0,b=b+Math.imul(Z,Nt)|0;var br=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(br>>>26)|0,br&=67108863,g=Math.imul(yt,xt),a=Math.imul(yt,Et),a=a+Math.imul(Mt,xt)|0,b=Math.imul(Mt,Et),g=g+Math.imul(wt,Ft)|0,a=a+Math.imul(wt,Vt)|0,a=a+Math.imul(vt,Ft)|0,b=b+Math.imul(vt,Vt)|0,g=g+Math.imul(tt,Bt)|0,a=a+Math.imul(tt,Nt)|0,a=a+Math.imul(ht,Bt)|0,b=b+Math.imul(ht,Nt)|0;var yr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(yr>>>26)|0,yr&=67108863,g=Math.imul(yt,Ft),a=Math.imul(yt,Vt),a=a+Math.imul(Mt,Ft)|0,b=Math.imul(Mt,Vt),g=g+Math.imul(wt,Bt)|0,a=a+Math.imul(wt,Nt)|0,a=a+Math.imul(vt,Bt)|0,b=b+Math.imul(vt,Nt)|0;var xr=(w+g|0)+((a&8191)<<13)|0;w=(b+(a>>>13)|0)+(xr>>>26)|0,xr&=67108863,g=Math.imul(yt,Bt),a=Math.imul(yt,Nt),a=a+Math.imul(Mt,Bt)|0,b=Math.imul(Mt,Nt);var wr=(w+g|0)+((a&8191)<<13)|0;if(w=(b+(a>>>13)|0)+(wr>>>26)|0,wr&=67108863,x[0]=Qe,x[1]=de,x[2]=ce,x[3]=De,x[4]=Le,x[5]=ar,x[6]=ur,x[7]=cr,x[8]=hr,x[9]=fr,x[10]=dr,x[11]=pr,x[12]=mr,x[13]=gr,x[14]=_r,x[15]=br,x[16]=yr,x[17]=xr,x[18]=wr,w!==0)x[19]=w,d.length++;return d};if(!Math.imul)k=A;function R(l,c,d){d.negative=c.negative^l.negative,d.length=l.length+c.length;var u=0,f=0;for(var x=0;x<d.length-1;x++){var w=f;f=0;var g=u&67108863,a=Math.min(x,c.length-1);for(var b=Math.max(0,x-l.length+1);b<=a;b++){var E=x-b,S=l.words[E]|0,L=c.words[b]|0,q=S*L,j=q&67108863;w=w+(q/67108864|0)|0,j=j+g|0,g=j&67108863,w=w+(j>>>26)|0,f+=w>>>26,w&=67108863}d.words[x]=g,u=w,w=f}if(u!==0)d.words[x]=u;else d.length--;return d.strip()}function T(l,c,d){var u=new I;return u.mulp(l,c,d)}s.prototype.mulTo=function(l,c){var d,u=this.length+l.length;if(this.length===10&&l.length===10)d=k(this,l,c);else if(u<63)d=A(this,l,c);else if(u<1024)d=R(this,l,c);else d=T(this,l,c);return d};function I(l,c){this.x=l,this.y=c}I.prototype.makeRBT=function(l){var c=Array(l),d=s.prototype._countBits(l)-1;for(var u=0;u<l;u++)c[u]=this.revBin(u,d,l);return c},I.prototype.revBin=function(l,c,d){if(l===0||l===d-1)return l;var u=0;for(var f=0;f<c;f++)u|=(l&1)<<c-f-1,l>>=1;return u},I.prototype.permute=function(l,c,d,u,f,x){for(var w=0;w<x;w++)u[w]=c[l[w]],f[w]=d[l[w]]},I.prototype.transform=function(l,c,d,u,f,x){this.permute(x,l,c,d,u,f);for(var w=1;w<f;w<<=1){var g=w<<1,a=Math.cos(2*Math.PI/g),b=Math.sin(2*Math.PI/g);for(var E=0;E<f;E+=g){var S=a,L=b;for(var q=0;q<w;q++){var j=d[E+q],X=u[E+q],bt=d[E+q+w],it=u[E+q+w],Q=S*bt-L*it;if(it=S*it+L*bt,bt=Q,d[E+q]=j+bt,u[E+q]=X+it,d[E+q+w]=j-bt,u[E+q+w]=X-it,q!==g)Q=a*S-b*L,L=a*L+b*S,S=Q}}}},I.prototype.guessLen13b=function(l,c){var d=Math.max(c,l)|1,u=d&1,f=0;for(d=d/2|0;d;d=d>>>1)f++;return 1<<f+1+u},I.prototype.conjugate=function(l,c,d){if(d<=1)return;for(var u=0;u<d/2;u++){var f=l[u];l[u]=l[d-u-1],l[d-u-1]=f,f=c[u],c[u]=-c[d-u-1],c[d-u-1]=-f}},I.prototype.normalize13b=function(l,c){var d=0;for(var u=0;u<c/2;u++){var f=Math.round(l[2*u+1]/c)*8192+Math.round(l[2*u]/c)+d;if(l[u]=f&67108863,f<67108864)d=0;else d=f/67108864|0}return l},I.prototype.convert13b=function(l,c,d,u){var f=0;for(var x=0;x<c;x++)f=f+(l[x]|0),d[2*x]=f&8191,f=f>>>13,d[2*x+1]=f&8191,f=f>>>13;for(x=2*c;x<u;++x)d[x]=0;n(f===0),n((f&-8192)===0)},I.prototype.stub=function(l){var c=Array(l);for(var d=0;d<l;d++)c[d]=0;return c},I.prototype.mulp=function(l,c,d){var u=2*this.guessLen13b(l.length,c.length),f=this.makeRBT(u),x=this.stub(u),w=Array(u),g=Array(u),a=Array(u),b=Array(u),E=Array(u),S=Array(u),L=d.words;L.length=u,this.convert13b(l.words,l.length,w,u),this.convert13b(c.words,c.length,b,u),this.transform(w,x,g,a,u,f),this.transform(b,x,E,S,u,f);for(var q=0;q<u;q++){var j=g[q]*E[q]-a[q]*S[q];a[q]=g[q]*S[q]+a[q]*E[q],g[q]=j}return this.conjugate(g,a,u),this.transform(g,a,L,x,u,f),this.conjugate(L,x,u),this.normalize13b(L,u),d.negative=l.negative^c.negative,d.length=l.length+c.length,d.strip()},s.prototype.mul=function(l){var c=new s(null);return c.words=Array(this.length+l.length),this.mulTo(l,c)},s.prototype.mulf=function(l){var c=new s(null);return c.words=Array(this.length+l.length),T(this,l,c)},s.prototype.imul=function(l){return this.clone().mulTo(l,this)},s.prototype.imuln=function(l){n(typeof l==="number"),n(l<67108864);var c=0;for(var d=0;d<this.length;d++){var u=(this.words[d]|0)*l,f=(u&67108863)+(c&67108863);c>>=26,c+=u/67108864|0,c+=f>>>26,this.words[d]=f&67108863}if(c!==0)this.words[d]=c,this.length++;return this.length=l===0?1:this.length,this},s.prototype.muln=function(l){return this.clone().imuln(l)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(l){var c=M(l);if(c.length===0)return new s(1);var d=this;for(var u=0;u<c.length;u++,d=d.sqr())if(c[u]!==0)break;if(++u<c.length)for(var f=d.sqr();u<c.length;u++,f=f.sqr()){if(c[u]===0)continue;d=d.mul(f)}return d},s.prototype.iushln=function(l){n(typeof l==="number"&&l>=0);var c=l%26,d=(l-c)/26,u=67108863>>>26-c<<26-c,f;if(c!==0){var x=0;for(f=0;f<this.length;f++){var w=this.words[f]&u,g=(this.words[f]|0)-w<<c;this.words[f]=g|x,x=w>>>26-c}if(x)this.words[f]=x,this.length++}if(d!==0){for(f=this.length-1;f>=0;f--)this.words[f+d]=this.words[f];for(f=0;f<d;f++)this.words[f]=0;this.length+=d}return this.strip()},s.prototype.ishln=function(l){return n(this.negative===0),this.iushln(l)},s.prototype.iushrn=function(l,c,d){n(typeof l==="number"&&l>=0);var u;if(c)u=(c-c%26)/26;else u=0;var f=l%26,x=Math.min((l-f)/26,this.length),w=67108863^67108863>>>f<<f,g=d;if(u-=x,u=Math.max(0,u),g){for(var a=0;a<x;a++)g.words[a]=this.words[a];g.length=x}if(x===0);else if(this.length>x){this.length-=x;for(a=0;a<this.length;a++)this.words[a]=this.words[a+x]}else this.words[0]=0,this.length=1;var b=0;for(a=this.length-1;a>=0&&(b!==0||a>=u);a--){var E=this.words[a]|0;this.words[a]=b<<26-f|E>>>f,b=E&w}if(g&&b!==0)g.words[g.length++]=b;if(this.length===0)this.words[0]=0,this.length=1;return this.strip()},s.prototype.ishrn=function(l,c,d){return n(this.negative===0),this.iushrn(l,c,d)},s.prototype.shln=function(l){return this.clone().ishln(l)},s.prototype.ushln=function(l){return this.clone().iushln(l)},s.prototype.shrn=function(l){return this.clone().ishrn(l)},s.prototype.ushrn=function(l){return this.clone().iushrn(l)},s.prototype.testn=function(l){n(typeof l==="number"&&l>=0);var c=l%26,d=(l-c)/26,u=1<<c;if(this.length<=d)return!1;var f=this.words[d];return!!(f&u)},s.prototype.imaskn=function(l){n(typeof l==="number"&&l>=0);var c=l%26,d=(l-c)/26;if(n(this.negative===0,"imaskn works only with positive numbers"),this.length<=d)return this;if(c!==0)d++;if(this.length=Math.min(d,this.length),c!==0){var u=67108863^67108863>>>c<<c;this.words[this.length-1]&=u}return this.strip()},s.prototype.maskn=function(l){return this.clone().imaskn(l)},s.prototype.iaddn=function(l){if(n(typeof l==="number"),n(l<67108864),l<0)return this.isubn(-l);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<l)return this.words[0]=l-(this.words[0]|0),this.negative=0,this;return this.negative=0,this.isubn(l),this.negative=1,this}return this._iaddn(l)},s.prototype._iaddn=function(l){this.words[0]+=l;for(var c=0;c<this.length&&this.words[c]>=67108864;c++)if(this.words[c]-=67108864,c===this.length-1)this.words[c+1]=1;else this.words[c+1]++;return this.length=Math.max(this.length,c+1),this},s.prototype.isubn=function(l){if(n(typeof l==="number"),n(l<67108864),l<0)return this.iaddn(-l);if(this.negative!==0)return this.negative=0,this.iaddn(l),this.negative=1,this;if(this.words[0]-=l,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var c=0;c<this.length&&this.words[c]<0;c++)this.words[c]+=67108864,this.words[c+1]-=1;return this.strip()},s.prototype.addn=function(l){return this.clone().iaddn(l)},s.prototype.subn=function(l){return this.clone().isubn(l)},s.prototype.iabs=function(){return this.negative=0,this},s.prototype.abs=function(){return this.clone().iabs()},s.prototype._ishlnsubmul=function(l,c,d){var u=l.length+d,f;this._expand(u);var x,w=0;for(f=0;f<l.length;f++){x=(this.words[f+d]|0)+w;var g=(l.words[f]|0)*c;x-=g&67108863,w=(x>>26)-(g/67108864|0),this.words[f+d]=x&67108863}for(;f<this.length-d;f++)x=(this.words[f+d]|0)+w,w=x>>26,this.words[f+d]=x&67108863;if(w===0)return this.strip();n(w===-1),w=0;for(f=0;f<this.length;f++)x=-(this.words[f]|0)+w,w=x>>26,this.words[f]=x&67108863;return this.negative=1,this.strip()},s.prototype._wordDiv=function(l,c){var d=this.length-l.length,u=this.clone(),f=l,x=f.words[f.length-1]|0,w=this._countBits(x);if(d=26-w,d!==0)f=f.ushln(d),u.iushln(d),x=f.words[f.length-1]|0;var g=u.length-f.length,a;if(c!=="mod"){a=new s(null),a.length=g+1,a.words=Array(a.length);for(var b=0;b<a.length;b++)a.words[b]=0}var E=u.clone()._ishlnsubmul(f,1,g);if(E.negative===0){if(u=E,a)a.words[g]=1}for(var S=g-1;S>=0;S--){var L=(u.words[f.length+S]|0)*67108864+(u.words[f.length+S-1]|0);L=Math.min(L/x|0,67108863),u._ishlnsubmul(f,L,S);while(u.negative!==0)if(L--,u.negative=0,u._ishlnsubmul(f,1,S),!u.isZero())u.negative^=1;if(a)a.words[S]=L}if(a)a.strip();if(u.strip(),c!=="div"&&d!==0)u.iushrn(d);return{div:a||null,mod:u}},s.prototype.divmod=function(l,c,d){if(n(!l.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var u,f,x;if(this.negative!==0&&l.negative===0){if(x=this.neg().divmod(l,c),c!=="mod")u=x.div.neg();if(c!=="div"){if(f=x.mod.neg(),d&&f.negative!==0)f.iadd(l)}return{div:u,mod:f}}if(this.negative===0&&l.negative!==0){if(x=this.divmod(l.neg(),c),c!=="mod")u=x.div.neg();return{div:u,mod:x.mod}}if((this.negative&l.negative)!==0){if(x=this.neg().divmod(l.neg(),c),c!=="div"){if(f=x.mod.neg(),d&&f.negative!==0)f.isub(l)}return{div:x.div,mod:f}}if(l.length>this.length||this.cmp(l)<0)return{div:new s(0),mod:this};if(l.length===1){if(c==="div")return{div:this.divn(l.words[0]),mod:null};if(c==="mod")return{div:null,mod:new s(this.modn(l.words[0]))};return{div:this.divn(l.words[0]),mod:new s(this.modn(l.words[0]))}}return this._wordDiv(l,c)},s.prototype.div=function(l){return this.divmod(l,"div",!1).div},s.prototype.mod=function(l){return this.divmod(l,"mod",!1).mod},s.prototype.umod=function(l){return this.divmod(l,"mod",!0).mod},s.prototype.divRound=function(l){var c=this.divmod(l);if(c.mod.isZero())return c.div;var d=c.div.negative!==0?c.mod.isub(l):c.mod,u=l.ushrn(1),f=l.andln(1),x=d.cmp(u);if(x<0||f===1&&x===0)return c.div;return c.div.negative!==0?c.div.isubn(1):c.div.iaddn(1)},s.prototype.modn=function(l){n(l<=67108863);var c=67108864%l,d=0;for(var u=this.length-1;u>=0;u--)d=(c*d+(this.words[u]|0))%l;return d},s.prototype.idivn=function(l){n(l<=67108863);var c=0;for(var d=this.length-1;d>=0;d--){var u=(this.words[d]|0)+c*67108864;this.words[d]=u/l|0,c=u%l}return this.strip()},s.prototype.divn=function(l){return this.clone().idivn(l)},s.prototype.egcd=function(l){n(l.negative===0),n(!l.isZero());var c=this,d=l.clone();if(c.negative!==0)c=c.umod(l);else c=c.clone();var u=new s(1),f=new s(0),x=new s(0),w=new s(1),g=0;while(c.isEven()&&d.isEven())c.iushrn(1),d.iushrn(1),++g;var a=d.clone(),b=c.clone();while(!c.isZero()){for(var E=0,S=1;(c.words[0]&S)===0&&E<26;++E,S<<=1);if(E>0){c.iushrn(E);while(E-- >0){if(u.isOdd()||f.isOdd())u.iadd(a),f.isub(b);u.iushrn(1),f.iushrn(1)}}for(var L=0,q=1;(d.words[0]&q)===0&&L<26;++L,q<<=1);if(L>0){d.iushrn(L);while(L-- >0){if(x.isOdd()||w.isOdd())x.iadd(a),w.isub(b);x.iushrn(1),w.iushrn(1)}}if(c.cmp(d)>=0)c.isub(d),u.isub(x),f.isub(w);else d.isub(c),x.isub(u),w.isub(f)}return{a:x,b:w,gcd:d.iushln(g)}},s.prototype._invmp=function(l){n(l.negative===0),n(!l.isZero());var c=this,d=l.clone();if(c.negative!==0)c=c.umod(l);else c=c.clone();var u=new s(1),f=new s(0),x=d.clone();while(c.cmpn(1)>0&&d.cmpn(1)>0){for(var w=0,g=1;(c.words[0]&g)===0&&w<26;++w,g<<=1);if(w>0){c.iushrn(w);while(w-- >0){if(u.isOdd())u.iadd(x);u.iushrn(1)}}for(var a=0,b=1;(d.words[0]&b)===0&&a<26;++a,b<<=1);if(a>0){d.iushrn(a);while(a-- >0){if(f.isOdd())f.iadd(x);f.iushrn(1)}}if(c.cmp(d)>=0)c.isub(d),u.isub(f);else d.isub(c),f.isub(u)}var E;if(c.cmpn(1)===0)E=u;else E=f;if(E.cmpn(0)<0)E.iadd(l);return E},s.prototype.gcd=function(l){if(this.isZero())return l.abs();if(l.isZero())return this.abs();var c=this.clone(),d=l.clone();c.negative=0,d.negative=0;for(var u=0;c.isEven()&&d.isEven();u++)c.iushrn(1),d.iushrn(1);do{while(c.isEven())c.iushrn(1);while(d.isEven())d.iushrn(1);var f=c.cmp(d);if(f<0){var x=c;c=d,d=x}else if(f===0||d.cmpn(1)===0)break;c.isub(d)}while(!0);return d.iushln(u)},s.prototype.invm=function(l){return this.egcd(l).a.umod(l)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(l){return this.words[0]&l},s.prototype.bincn=function(l){n(typeof l==="number");var c=l%26,d=(l-c)/26,u=1<<c;if(this.length<=d)return this._expand(d+1),this.words[d]|=u,this;var f=u;for(var x=d;f!==0&&x<this.length;x++){var w=this.words[x]|0;w+=f,f=w>>>26,w&=67108863,this.words[x]=w}if(f!==0)this.words[x]=f,this.length++;return this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(l){var c=l<0;if(this.negative!==0&&!c)return-1;if(this.negative===0&&c)return 1;this.strip();var d;if(this.length>1)d=1;else{if(c)l=-l;n(l<=67108863,"Number is too big");var u=this.words[0]|0;d=u===l?0:u<l?-1:1}if(this.negative!==0)return-d|0;return d},s.prototype.cmp=function(l){if(this.negative!==0&&l.negative===0)return-1;if(this.negative===0&&l.negative!==0)return 1;var c=this.ucmp(l);if(this.negative!==0)return-c|0;return c},s.prototype.ucmp=function(l){if(this.length>l.length)return 1;if(this.length<l.length)return-1;var c=0;for(var d=this.length-1;d>=0;d--){var u=this.words[d]|0,f=l.words[d]|0;if(u===f)continue;if(u<f)c=-1;else if(u>f)c=1;break}return c},s.prototype.gtn=function(l){return this.cmpn(l)===1},s.prototype.gt=function(l){return this.cmp(l)===1},s.prototype.gten=function(l){return this.cmpn(l)>=0},s.prototype.gte=function(l){return this.cmp(l)>=0},s.prototype.ltn=function(l){return this.cmpn(l)===-1},s.prototype.lt=function(l){return this.cmp(l)===-1},s.prototype.lten=function(l){return this.cmpn(l)<=0},s.prototype.lte=function(l){return this.cmp(l)<=0},s.prototype.eqn=function(l){return this.cmpn(l)===0},s.prototype.eq=function(l){return this.cmp(l)===0},s.red=function(l){return new V(l)},s.prototype.toRed=function(l){return n(!this.red,"Already a number in reduction context"),n(this.negative===0,"red works only with positives"),l.convertTo(this)._forceRed(l)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(l){return this.red=l,this},s.prototype.forceRed=function(l){return n(!this.red,"Already a number in reduction context"),this._forceRed(l)},s.prototype.redAdd=function(l){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,l)},s.prototype.redIAdd=function(l){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,l)},s.prototype.redSub=function(l){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,l)},s.prototype.redISub=function(l){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,l)},s.prototype.redShl=function(l){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,l)},s.prototype.redMul=function(l){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,l),this.red.mul(this,l)},s.prototype.redIMul=function(l){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,l),this.red.imul(this,l)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(l){return n(this.red&&!l.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,l)};var P={k256:null,p224:null,p192:null,p25519:null};function F(l,c){this.name=l,this.p=new s(c,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}F.prototype._tmp=function(){var l=new s(null);return l.words=Array(Math.ceil(this.n/13)),l},F.prototype.ireduce=function(l){var c=l,d;do this.split(c,this.tmp),c=this.imulK(c),c=c.iadd(this.tmp),d=c.bitLength();while(d>this.n);var u=d<this.n?-1:c.ucmp(this.p);if(u===0)c.words[0]=0,c.length=1;else if(u>0)c.isub(this.p);else if(c.strip!==void 0)c.strip();else c._strip();return c},F.prototype.split=function(l,c){l.iushrn(this.n,0,c)},F.prototype.imulK=function(l){return l.imul(this.k)};function G(){F.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}o(G,F),G.prototype.split=function(l,c){var d=4194303,u=Math.min(l.length,9);for(var f=0;f<u;f++)c.words[f]=l.words[f];if(c.length=u,l.length<=9){l.words[0]=0,l.length=1;return}var x=l.words[9];c.words[c.length++]=x&d;for(f=10;f<l.length;f++){var w=l.words[f]|0;l.words[f-10]=(w&d)<<4|x>>>22,x=w}if(x>>>=22,l.words[f-10]=x,x===0&&l.length>10)l.length-=10;else l.length-=9},G.prototype.imulK=function(l){l.words[l.length]=0,l.words[l.length+1]=0,l.length+=2;var c=0;for(var d=0;d<l.length;d++){var u=l.words[d]|0;c+=u*977,l.words[d]=c&67108863,c=u*64+(c/67108864|0)}if(l.words[l.length-1]===0){if(l.length--,l.words[l.length-1]===0)l.length--}return l};function lt(){F.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}o(lt,F);function dt(){F.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}o(dt,F);function ut(){F.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}o(ut,F),ut.prototype.imulK=function(l){var c=0;for(var d=0;d<l.length;d++){var u=(l.words[d]|0)*19+c,f=u&67108863;u>>>=26,l.words[d]=f,c=u}if(c!==0)l.words[l.length++]=c;return l},s._prime=function(l){if(P[l])return P[l];var c;if(l==="k256")c=new G;else if(l==="p224")c=new lt;else if(l==="p192")c=new dt;else if(l==="p25519")c=new ut;else throw Error("Unknown prime "+l);return P[l]=c,c};function V(l){if(typeof l==="string"){var c=s._prime(l);this.m=c.p,this.prime=c}else n(l.gtn(1),"modulus must be greater than 1"),this.m=l,this.prime=null}V.prototype._verify1=function(l){n(l.negative===0,"red works only with positives"),n(l.red,"red works only with red numbers")},V.prototype._verify2=function(l,c){n((l.negative|c.negative)===0,"red works only with positives"),n(l.red&&l.red===c.red,"red works only with red numbers")},V.prototype.imod=function(l){if(this.prime)return this.prime.ireduce(l)._forceRed(this);return l.umod(this.m)._forceRed(this)},V.prototype.neg=function(l){if(l.isZero())return l.clone();return this.m.sub(l)._forceRed(this)},V.prototype.add=function(l,c){this._verify2(l,c);var d=l.add(c);if(d.cmp(this.m)>=0)d.isub(this.m);return d._forceRed(this)},V.prototype.iadd=function(l,c){this._verify2(l,c);var d=l.iadd(c);if(d.cmp(this.m)>=0)d.isub(this.m);return d},V.prototype.sub=function(l,c){this._verify2(l,c);var d=l.sub(c);if(d.cmpn(0)<0)d.iadd(this.m);return d._forceRed(this)},V.prototype.isub=function(l,c){this._verify2(l,c);var d=l.isub(c);if(d.cmpn(0)<0)d.iadd(this.m);return d},V.prototype.shl=function(l,c){return this._verify1(l),this.imod(l.ushln(c))},V.prototype.imul=function(l,c){return this._verify2(l,c),this.imod(l.imul(c))},V.prototype.mul=function(l,c){return this._verify2(l,c),this.imod(l.mul(c))},V.prototype.isqr=function(l){return this.imul(l,l.clone())},V.prototype.sqr=function(l){return this.mul(l,l)},V.prototype.sqrt=function(l){if(l.isZero())return l.clone();var c=this.m.andln(3);if(n(c%2===1),c===3){var d=this.m.add(new s(1)).iushrn(2);return this.pow(l,d)}var u=this.m.subn(1),f=0;while(!u.isZero()&&u.andln(1)===0)f++,u.iushrn(1);n(!u.isZero());var x=new s(1).toRed(this),w=x.redNeg(),g=this.m.subn(1).iushrn(1),a=this.m.bitLength();a=new s(2*a*a).toRed(this);while(this.pow(a,g).cmp(w)!==0)a.redIAdd(w);var b=this.pow(a,u),E=this.pow(l,u.addn(1).iushrn(1)),S=this.pow(l,u),L=f;while(S.cmp(x)!==0){var q=S;for(var j=0;q.cmp(x)!==0;j++)q=q.redSqr();n(j<L);var X=this.pow(b,new s(1).iushln(L-j-1));E=E.redMul(X),b=X.redSqr(),S=S.redMul(b),L=j}return E},V.prototype.invm=function(l){var c=l._invmp(this.m);if(c.negative!==0)return c.negative=0,this.imod(c).redNeg();else return this.imod(c)},V.prototype.pow=function(l,c){if(c.isZero())return new s(1).toRed(this);if(c.cmpn(1)===0)return l.clone();var d=4,u=Array(1<<d);u[0]=new s(1).toRed(this),u[1]=l;for(var f=2;f<u.length;f++)u[f]=this.mul(u[f-1],l);var x=u[0],w=0,g=0,a=c.bitLength()%26;if(a===0)a=26;for(f=c.length-1;f>=0;f--){var b=c.words[f];for(var E=a-1;E>=0;E--){var S=b>>E&1;if(x!==u[0])x=this.sqr(x);if(S===0&&w===0){g=0;continue}if(w<<=1,w|=S,g++,g!==d&&(f!==0||E!==0))continue;x=this.mul(x,u[w]),g=0,w=0}a=26}return x},V.prototype.convertTo=function(l){var c=l.umod(this.m);return c===l?c.clone():c},V.prototype.convertFrom=function(l){var c=l.clone();return c.red=null,c},s.mont=function(l){return new nt(l)};function nt(l){if(V.call(this,l),this.shift=this.m.bitLength(),this.shift%26!==0)this.shift+=26-this.shift%26;this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}o(nt,V),nt.prototype.convertTo=function(l){return this.imod(l.ushln(this.shift))},nt.prototype.convertFrom=function(l){var c=this.imod(l.mul(this.rinv));return c.red=null,c},nt.prototype.imul=function(l,c){if(l.isZero()||c.isZero())return l.words[0]=0,l.length=1,l;var d=l.imul(c),u=d.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),f=d.isub(u).iushrn(this.shift),x=f;if(f.cmp(this.m)>=0)x=f.isub(this.m);else if(f.cmpn(0)<0)x=f.iadd(this.m);return x._forceRed(this)},nt.prototype.mul=function(l,c){if(l.isZero()||c.isZero())return new s(0)._forceRed(this);var d=l.mul(c),u=d.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),f=d.isub(u).iushrn(this.shift),x=f;if(f.cmp(this.m)>=0)x=f.isub(this.m);else if(f.cmpn(0)<0)x=f.iadd(this.m);return x._forceRed(this)},nt.prototype.invm=function(l){var c=this.imod(l._invmp(this.m).mul(this.r2));return c._forceRed(this)}})(typeof e>"u"||e,t)}),i_=gt((t,e)=>{var r=Bf(),i=Gr().Buffer;function n(o,s){return i.from(o.toRed(r.mont(s.modulus)).redPow(new r(s.publicExponent)).fromRed().toArray())}e.exports=n}),x4=gt((t,e)=>{(function(r,i){function n(u,f){if(!u)throw Error(f||"Assertion failed")}function o(u,f){u.super_=f;var x=function(){};x.prototype=f.prototype,u.prototype=new x,u.prototype.constructor=u}function s(u,f,x){if(s.isBN(u))return u;if(this.negative=0,this.words=null,this.length=0,this.red=null,u!==null){if(f==="le"||f==="be")x=f,f=10;this._init(u||0,f||10,x||"be")}}if(typeof r==="object")r.exports=s;else i.BN=s;s.BN=s,s.wordSize=26;var h;try{if(typeof window<"u"&&typeof window.Buffer<"u")h=window.Buffer;else h=(Nr(),ve(Tr)).Buffer}catch(u){}s.isBN=function(u){if(u instanceof s)return!0;return u!==null&&typeof u==="object"&&u.constructor.wordSize===s.wordSize&&Array.isArray(u.words)},s.max=function(u,f){if(u.cmp(f)>0)return u;return f},s.min=function(u,f){if(u.cmp(f)<0)return u;return f},s.prototype._init=function(u,f,x){if(typeof u==="number")return this._initNumber(u,f,x);if(typeof u==="object")return this._initArray(u,f,x);if(f==="hex")f=16;n(f===(f|0)&&f>=2&&f<=36),u=u.toString().replace(/\s+/g,"");var w=0;if(u[0]==="-")w++,this.negative=1;if(w<u.length){if(f===16)this._parseHex(u,w,x);else if(this._parseBase(u,f,w),x==="le")this._initArray(this.toArray(),f,x)}},s.prototype._initNumber=function(u,f,x){if(u<0)this.negative=1,u=-u;if(u<67108864)this.words=[u&67108863],this.length=1;else if(u<4503599627370496)this.words=[u&67108863,u/67108864&67108863],this.length=2;else n(u<9007199254740992),this.words=[u&67108863,u/67108864&67108863,1],this.length=3;if(x!=="le")return;this._initArray(this.toArray(),f,x)},s.prototype._initArray=function(u,f,x){if(n(typeof u.length==="number"),u.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(u.length/3),this.words=Array(this.length);for(var w=0;w<this.length;w++)this.words[w]=0;var g,a,b=0;if(x==="be"){for(w=u.length-1,g=0;w>=0;w-=3)if(a=u[w]|u[w-1]<<8|u[w-2]<<16,this.words[g]|=a<<b&67108863,this.words[g+1]=a>>>26-b&67108863,b+=24,b>=26)b-=26,g++}else if(x==="le"){for(w=0,g=0;w<u.length;w+=3)if(a=u[w]|u[w+1]<<8|u[w+2]<<16,this.words[g]|=a<<b&67108863,this.words[g+1]=a>>>26-b&67108863,b+=24,b>=26)b-=26,g++}return this._strip()};function m(u,f){var x=u.charCodeAt(f);if(x>=48&&x<=57)return x-48;else if(x>=65&&x<=70)return x-55;else if(x>=97&&x<=102)return x-87;else n(!1,"Invalid character in "+u)}function p(u,f,x){var w=m(u,x);if(x-1>=f)w|=m(u,x-1)<<4;return w}s.prototype._parseHex=function(u,f,x){this.length=Math.ceil((u.length-f)/6),this.words=Array(this.length);for(var w=0;w<this.length;w++)this.words[w]=0;var g=0,a=0,b;if(x==="be")for(w=u.length-1;w>=f;w-=2)if(b=p(u,f,w)<<g,this.words[a]|=b&67108863,g>=18)g-=18,a+=1,this.words[a]|=b>>>26;else g+=8;else{var E=u.length-f;for(w=E%2===0?f+1:f;w<u.length;w+=2)if(b=p(u,f,w)<<g,this.words[a]|=b&67108863,g>=18)g-=18,a+=1,this.words[a]|=b>>>26;else g+=8}this._strip()};function y(u,f,x,w){var g=0,a=0,b=Math.min(u.length,x);for(var E=f;E<b;E++){var S=u.charCodeAt(E)-48;if(g*=w,S>=49)a=S-49+10;else if(S>=17)a=S-17+10;else a=S;n(S>=0&&a<w,"Invalid character"),g+=a}return g}s.prototype._parseBase=function(u,f,x){this.words=[0],this.length=1;for(var w=0,g=1;g<=67108863;g*=f)w++;w--,g=g/f|0;var a=u.length-x,b=a%w,E=Math.min(a,a-b)+x,S=0;for(var L=x;L<E;L+=w)if(S=y(u,L,L+w,f),this.imuln(g),this.words[0]+S<67108864)this.words[0]+=S;else this._iaddn(S);if(b!==0){var q=1;S=y(u,L,u.length,f);for(L=0;L<b;L++)q*=f;if(this.imuln(q),this.words[0]+S<67108864)this.words[0]+=S;else this._iaddn(S)}this._strip()},s.prototype.copy=function(u){u.words=Array(this.length);for(var f=0;f<this.length;f++)u.words[f]=this.words[f];u.length=this.length,u.negative=this.negative,u.red=this.red};function _(u,f){u.words=f.words,u.length=f.length,u.negative=f.negative,u.red=f.red}if(s.prototype._move=function(u){_(u,this)},s.prototype.clone=function(){var u=new s(null);return this.copy(u),u},s.prototype._expand=function(u){while(this.length<u)this.words[this.length++]=0;return this},s.prototype._strip=function(){while(this.length>1&&this.words[this.length-1]===0)this.length--;return this._normSign()},s.prototype._normSign=function(){if(this.length===1&&this.words[0]===0)this.negative=0;return this},typeof Symbol<"u"&&typeof Symbol.for==="function")try{s.prototype[Symbol.for("nodejs.util.inspect.custom")]=v}catch(u){s.prototype.inspect=v}else s.prototype.inspect=v;function v(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var C=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],M=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],A=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];if(s.prototype.toString=function(u,f){u=u||10,f=f|0||1;var x;if(u===16||u==="hex"){x="";var w=0,g=0;for(var a=0;a<this.length;a++){var b=this.words[a],E=((b<<w|g)&16777215).toString(16);if(g=b>>>24-w&16777215,w+=2,w>=26)w-=26,a--;if(g!==0||a!==this.length-1)x=C[6-E.length]+E+x;else x=E+x}if(g!==0)x=g.toString(16)+x;while(x.length%f!==0)x="0"+x;if(this.negative!==0)x="-"+x;return x}if(u===(u|0)&&u>=2&&u<=36){var S=M[u],L=A[u];x="";var q=this.clone();q.negative=0;while(!q.isZero()){var j=q.modrn(L).toString(u);if(q=q.idivn(L),!q.isZero())x=C[S-j.length]+j+x;else x=j+x}if(this.isZero())x="0"+x;while(x.length%f!==0)x="0"+x;if(this.negative!==0)x="-"+x;return x}n(!1,"Base should be between 2 and 36")},s.prototype.toNumber=function(){var u=this.words[0];if(this.length===2)u+=this.words[1]*67108864;else if(this.length===3&&this.words[2]===1)u+=4503599627370496+this.words[1]*67108864;else if(this.length>2)n(!1,"Number can only safely store up to 53 bits");return this.negative!==0?-u:u},s.prototype.toJSON=function(){return this.toString(16,2)},h)s.prototype.toBuffer=function(u,f){return this.toArrayLike(h,u,f)};s.prototype.toArray=function(u,f){return this.toArrayLike(Array,u,f)};var k=function(u,f){if(u.allocUnsafe)return u.allocUnsafe(f);return new u(f)};if(s.prototype.toArrayLike=function(u,f,x){this._strip();var w=this.byteLength(),g=x||Math.max(1,w);n(w<=g,"byte array longer than desired length"),n(g>0,"Requested array length <= 0");var a=k(u,g),b=f==="le"?"LE":"BE";return this["_toArrayLike"+b](a,w),a},s.prototype._toArrayLikeLE=function(u,f){var x=0,w=0;for(var g=0,a=0;g<this.length;g++){var b=this.words[g]<<a|w;if(u[x++]=b&255,x<u.length)u[x++]=b>>8&255;if(x<u.length)u[x++]=b>>16&255;if(a===6){if(x<u.length)u[x++]=b>>24&255;w=0,a=0}else w=b>>>24,a+=2}if(x<u.length){u[x++]=w;while(x<u.length)u[x++]=0}},s.prototype._toArrayLikeBE=function(u,f){var x=u.length-1,w=0;for(var g=0,a=0;g<this.length;g++){var b=this.words[g]<<a|w;if(u[x--]=b&255,x>=0)u[x--]=b>>8&255;if(x>=0)u[x--]=b>>16&255;if(a===6){if(x>=0)u[x--]=b>>24&255;w=0,a=0}else w=b>>>24,a+=2}if(x>=0){u[x--]=w;while(x>=0)u[x--]=0}},Math.clz32)s.prototype._countBits=function(u){return 32-Math.clz32(u)};else s.prototype._countBits=function(u){var f=u,x=0;if(f>=4096)x+=13,f>>>=13;if(f>=64)x+=7,f>>>=7;if(f>=8)x+=4,f>>>=4;if(f>=2)x+=2,f>>>=2;return x+f};s.prototype._zeroBits=function(u){if(u===0)return 26;var f=u,x=0;if((f&8191)===0)x+=13,f>>>=13;if((f&127)===0)x+=7,f>>>=7;if((f&15)===0)x+=4,f>>>=4;if((f&3)===0)x+=2,f>>>=2;if((f&1)===0)x++;return x},s.prototype.bitLength=function(){var u=this.words[this.length-1],f=this._countBits(u);return(this.length-1)*26+f};function R(u){var f=Array(u.bitLength());for(var x=0;x<f.length;x++){var w=x/26|0,g=x%26;f[x]=u.words[w]>>>g&1}return f}s.prototype.zeroBits=function(){if(this.isZero())return 0;var u=0;for(var f=0;f<this.length;f++){var x=this._zeroBits(this.words[f]);if(u+=x,x!==26)break}return u},s.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},s.prototype.toTwos=function(u){if(this.negative!==0)return this.abs().inotn(u).iaddn(1);return this.clone()},s.prototype.fromTwos=function(u){if(this.testn(u-1))return this.notn(u).iaddn(1).ineg();return this.clone()},s.prototype.isNeg=function(){return this.negative!==0},s.prototype.neg=function(){return this.clone().ineg()},s.prototype.ineg=function(){if(!this.isZero())this.negative^=1;return this},s.prototype.iuor=function(u){while(this.length<u.length)this.words[this.length++]=0;for(var f=0;f<u.length;f++)this.words[f]=this.words[f]|u.words[f];return this._strip()},s.prototype.ior=function(u){return n((this.negative|u.negative)===0),this.iuor(u)},s.prototype.or=function(u){if(this.length>u.length)return this.clone().ior(u);return u.clone().ior(this)},s.prototype.uor=function(u){if(this.length>u.length)return this.clone().iuor(u);return u.clone().iuor(this)},s.prototype.iuand=function(u){var f;if(this.length>u.length)f=u;else f=this;for(var x=0;x<f.length;x++)this.words[x]=this.words[x]&u.words[x];return this.length=f.length,this._strip()},s.prototype.iand=function(u){return n((this.negative|u.negative)===0),this.iuand(u)},s.prototype.and=function(u){if(this.length>u.length)return this.clone().iand(u);return u.clone().iand(this)},s.prototype.uand=function(u){if(this.length>u.length)return this.clone().iuand(u);return u.clone().iuand(this)},s.prototype.iuxor=function(u){var f,x;if(this.length>u.length)f=this,x=u;else f=u,x=this;for(var w=0;w<x.length;w++)this.words[w]=f.words[w]^x.words[w];if(this!==f)for(;w<f.length;w++)this.words[w]=f.words[w];return this.length=f.length,this._strip()},s.prototype.ixor=function(u){return n((this.negative|u.negative)===0),this.iuxor(u)},s.prototype.xor=function(u){if(this.length>u.length)return this.clone().ixor(u);return u.clone().ixor(this)},s.prototype.uxor=function(u){if(this.length>u.length)return this.clone().iuxor(u);return u.clone().iuxor(this)},s.prototype.inotn=function(u){n(typeof u==="number"&&u>=0);var f=Math.ceil(u/26)|0,x=u%26;if(this._expand(f),x>0)f--;for(var w=0;w<f;w++)this.words[w]=~this.words[w]&67108863;if(x>0)this.words[w]=~this.words[w]&67108863>>26-x;return this._strip()},s.prototype.notn=function(u){return this.clone().inotn(u)},s.prototype.setn=function(u,f){n(typeof u==="number"&&u>=0);var x=u/26|0,w=u%26;if(this._expand(x+1),f)this.words[x]=this.words[x]|1<<w;else this.words[x]=this.words[x]&~(1<<w);return this._strip()},s.prototype.iadd=function(u){var f;if(this.negative!==0&&u.negative===0)return this.negative=0,f=this.isub(u),this.negative^=1,this._normSign();else if(this.negative===0&&u.negative!==0)return u.negative=0,f=this.isub(u),u.negative=1,f._normSign();var x,w;if(this.length>u.length)x=this,w=u;else x=u,w=this;var g=0;for(var a=0;a<w.length;a++)f=(x.words[a]|0)+(w.words[a]|0)+g,this.words[a]=f&67108863,g=f>>>26;for(;g!==0&&a<x.length;a++)f=(x.words[a]|0)+g,this.words[a]=f&67108863,g=f>>>26;if(this.length=x.length,g!==0)this.words[this.length]=g,this.length++;else if(x!==this)for(;a<x.length;a++)this.words[a]=x.words[a];return this},s.prototype.add=function(u){var f;if(u.negative!==0&&this.negative===0)return u.negative=0,f=this.sub(u),u.negative^=1,f;else if(u.negative===0&&this.negative!==0)return this.negative=0,f=u.sub(this),this.negative=1,f;if(this.length>u.length)return this.clone().iadd(u);return u.clone().iadd(this)},s.prototype.isub=function(u){if(u.negative!==0){u.negative=0;var f=this.iadd(u);return u.negative=1,f._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(u),this.negative=1,this._normSign();var x=this.cmp(u);if(x===0)return this.negative=0,this.length=1,this.words[0]=0,this;var w,g;if(x>0)w=this,g=u;else w=u,g=this;var a=0;for(var b=0;b<g.length;b++)f=(w.words[b]|0)-(g.words[b]|0)+a,a=f>>26,this.words[b]=f&67108863;for(;a!==0&&b<w.length;b++)f=(w.words[b]|0)+a,a=f>>26,this.words[b]=f&67108863;if(a===0&&b<w.length&&w!==this)for(;b<w.length;b++)this.words[b]=w.words[b];if(this.length=Math.max(this.length,b),w!==this)this.negative=1;return this._strip()},s.prototype.sub=function(u){return this.clone().isub(u)};function T(u,f,x){x.negative=f.negative^u.negative;var w=u.length+f.length|0;x.length=w,w=w-1|0;var g=u.words[0]|0,a=f.words[0]|0,b=g*a,E=b&67108863,S=b/67108864|0;x.words[0]=E;for(var L=1;L<w;L++){var q=S>>>26,j=S&67108863,X=Math.min(L,f.length-1);for(var bt=Math.max(0,L-u.length+1);bt<=X;bt++){var it=L-bt|0;g=u.words[it]|0,a=f.words[bt]|0,b=g*a+j,q+=b/67108864|0,j=b&67108863}x.words[L]=j|0,S=q|0}if(S!==0)x.words[L]=S|0;else x.length--;return x._strip()}var I=function(u,f,x){var w=u.words,g=f.words,a=x.words,b=0,E,S,L,q=w[0]|0,j=q&8191,X=q>>>13,bt=w[1]|0,it=bt&8191,Q=bt>>>13,pt=w[2]|0,J=pt&8191,at=pt>>>13,Kt=w[3]|0,H=Kt&8191,W=Kt>>>13,mt=w[4]|0,rt=mt&8191,ot=mt>>>13,Lt=w[5]|0,z=Lt&8191,Z=Lt>>>13,jt=w[6]|0,tt=jt&8191,ht=jt>>>13,ae=w[7]|0,wt=ae&8191,vt=ae>>>13,Ge=w[8]|0,yt=Ge&8191,Mt=Ge>>>13,Xe=w[9]|0,Tt=Xe&8191,Rt=Xe>>>13,Br=g[0]|0,It=Br&8191,Ut=Br>>>13,Ur=g[1]|0,qt=Ur&8191,Ot=Ur>>>13,Ir=g[2]|0,Ht=Ir&8191,Pt=Ir>>>13,kr=g[3]|0,$t=kr&8191,zt=kr>>>13,Er=g[4]|0,Dt=Er&8191,B=Er>>>13,K=g[5]|0,st=K&8191,ct=K>>>13,Qt=g[6]|0,xt=Qt&8191,Et=Qt>>>13,Ke=g[7]|0,Ft=Ke&8191,Vt=Ke>>>13,Or=g[8]|0,Bt=Or&8191,Nt=Or>>>13,Qe=g[9]|0,de=Qe&8191,ce=Qe>>>13;x.negative=u.negative^f.negative,x.length=19,E=Math.imul(j,It),S=Math.imul(j,Ut),S=S+Math.imul(X,It)|0,L=Math.imul(X,Ut);var De=(b+E|0)+((S&8191)<<13)|0;b=(L+(S>>>13)|0)+(De>>>26)|0,De&=67108863,E=Math.imul(it,It),S=Math.imul(it,Ut),S=S+Math.imul(Q,It)|0,L=Math.imul(Q,Ut),E=E+Math.imul(j,qt)|0,S=S+Math.imul(j,Ot)|0,S=S+Math.imul(X,qt)|0,L=L+Math.imul(X,Ot)|0;var Le=(b+E|0)+((S&8191)<<13)|0;b=(L+(S>>>13)|0)+(Le>>>26)|0,Le&=67108863,E=Math.imul(J,It),S=Math.imul(J,Ut),S=S+Math.imul(at,It)|0,L=Math.imul(at,Ut),E=E+Math.imul(it,qt)|0,S=S+Math.imul(it,Ot)|0,S=S+Math.imul(Q,qt)|0,L=L+Math.imul(Q,Ot)|0,E=E+Math.imul(j,Ht)|0,S=S+Math.imul(j,Pt)|0,S=S+Math.imul(X,Ht)|0,L=L+Math.imul(X,Pt)|0;var ar=(b+E|0)+((S&8191)<<13)|0;b=(L+(S>>>13)|0)+(ar>>>26)|0,ar&=67108863,E=Math.imul(H,It),S=Math.imul(H,Ut),S=S+Math.imul(W,It)|0,L=Math.imul(W,Ut),E=E+Math.imul(J,qt)|0,S=S+Math.imul(J,Ot)|0,S=S+Math.imul(at,qt)|0,L=L+Math.imul(at,Ot)|0,E=E+Math.imul(it,Ht)|0,S=S+Math.imul(it,Pt)|0,S=S+Math.imul(Q,Ht)|0,L=L+Math.imul(Q,Pt)|0,E=E+Math.imul(j,$t)|0,S=S+Math.imul(j,zt)|0,S=S+Math.imul(X,$t)|0,L=L+Math.imul(X,zt)|0;var ur=(b+E|0)+((S&8191)<<13)|0;b=(L+(S>>>13)|0)+(ur>>>26)|0,ur&=67108863,E=Math.imul(rt,It),S=Math.imul(rt,Ut),S=S+Math.imul(ot,It)|0,L=Math.imul(ot,Ut),E=E+Math.imul(H,qt)|0,S=S+Math.imul(H,Ot)|0,S=S+Math.imul(W,qt)|0,L=L+Math.imul(W,Ot)|0,E=E+Math.imul(J,Ht)|0,S=S+Math.imul(J,Pt)|0,S=S+Math.imul(at,Ht)|0,L=L+Math.imul(at,Pt)|0,E=E+Math.imul(it,$t)|0,S=S+Math.imul(it,zt)|0,S=S+Math.imul(Q,$t)|0,L=L+Math.imul(Q,zt)|0,E=E+Math.imul(j,Dt)|0,S=S+Math.imul(j,B)|0,S=S+Math.imul(X,Dt)|0,L=L+Math.imul(X,B)|0;var cr=(b+E|0)+((S&8191)<<13)|0;b=(L+(S>>>13)|0)+(cr>>>26)|0,cr&=67108863,E=Math.imul(z,It),S=Math.imul(z,Ut),S=S+Math.imul(Z,It)|0,L=Math.imul(Z,Ut),E=E+Math.imul(rt,qt)|0,S=S+Math.imul(rt,Ot)|0,S=S+Math.imul(ot,qt)|0,L=L+Math.imul(ot,Ot)|0,E=E+Math.imul(H,Ht)|0,S=S+Math.imul(H,Pt)|0,S=S+Math.imul(W,Ht)|0,L=L+Math.imul(W,Pt)|0,E=E+Math.imul(J,$t)|0,S=S+Math.imul(J,zt)|0,S=S+Math.imul(at,$t)|0,L=L+Math.imul(at,zt)|0,E=E+Math.imul(it,Dt)|0,S=S+Math.imul(it,B)|0,S=S+Math.imul(Q,Dt)|0,L=L+Math.imul(Q,B)|0,E=E+Math.imul(j,st)|0,S=S+Math.imul(j,ct)|0,S=S+Math.imul(X,st)|0,L=L+Math.imul(X,ct)|0;var hr=(b+E|0)+((S&8191)<<13)|0;b=(L+(S>>>13)|0)+(hr>>>26)|0,hr&=67108863,E=Math.imul(tt,It),S=Math.imul(tt,Ut),S=S+Math.imul(ht,It)|0,L=Math.imul(ht,Ut),E=E+Math.imul(z,qt)|0,S=S+Math.imul(z,Ot)|0,S=S+Math.imul(Z,qt)|0,L=L+Math.imul(Z,Ot)|0,E=E+Math.imul(rt,Ht)|0,S=S+Math.imul(rt,Pt)|0,S=S+Math.imul(ot,Ht)|0,L=L+Math.imul(ot,Pt)|0,E=E+Math.imul(H,$t)|0,S=S+Math.imul(H,zt)|0,S=S+Math.imul(W,$t)|0,L=L+Math.imul(W,zt)|0,E=E+Math.imul(J,Dt)|0,S=S+Math.imul(J,B)|0,S=S+Math.imul(at,Dt)|0,L=L+Math.imul(at,B)|0,E=E+Math.imul(it,st)|0,S=S+Math.imul(it,ct)|0,S=S+Math.imul(Q,st)|0,L=L+Math.imul(Q,ct)|0,E=E+Math.imul(j,xt)|0,S=S+Math.imul(j,Et)|0,S=S+Math.imul(X,xt)|0,L=L+Math.imul(X,Et)|0;var fr=(b+E|0)+((S&8191)<<13)|0;b=(L+(S>>>13)|0)+(fr>>>26)|0,fr&=67108863,E=Math.imul(wt,It),S=Math.imul(wt,Ut),S=S+Math.imul(vt,It)|0,L=Math.imul(vt,Ut),E=E+Math.imul(tt,qt)|0,S=S+Math.imul(tt,Ot)|0,S=S+Math.imul(ht,qt)|0,L=L+Math.imul(ht,Ot)|0,E=E+Math.imul(z,Ht)|0,S=S+Math.imul(z,Pt)|0,S=S+Math.imul(Z,Ht)|0,L=L+Math.imul(Z,Pt)|0,E=E+Math.imul(rt,$t)|0,S=S+Math.imul(rt,zt)|0,S=S+Math.imul(ot,$t)|0,L=L+Math.imul(ot,zt)|0,E=E+Math.imul(H,Dt)|0,S=S+Math.imul(H,B)|0,S=S+Math.imul(W,Dt)|0,L=L+Math.imul(W,B)|0,E=E+Math.imul(J,st)|0,S=S+Math.imul(J,ct)|0,S=S+Math.imul(at,st)|0,L=L+Math.imul(at,ct)|0,E=E+Math.imul(it,xt)|0,S=S+Math.imul(it,Et)|0,S=S+Math.imul(Q,xt)|0,L=L+Math.imul(Q,Et)|0,E=E+Math.imul(j,Ft)|0,S=S+Math.imul(j,Vt)|0,S=S+Math.imul(X,Ft)|0,L=L+Math.imul(X,Vt)|0;var dr=(b+E|0)+((S&8191)<<13)|0;b=(L+(S>>>13)|0)+(dr>>>26)|0,dr&=67108863,E=Math.imul(yt,It),S=Math.imul(yt,Ut),S=S+Math.imul(Mt,It)|0,L=Math.imul(Mt,Ut),E=E+Math.imul(wt,qt)|0,S=S+Math.imul(wt,Ot)|0,S=S+Math.imul(vt,qt)|0,L=L+Math.imul(vt,Ot)|0,E=E+Math.imul(tt,Ht)|0,S=S+Math.imul(tt,Pt)|0,S=S+Math.imul(ht,Ht)|0,L=L+Math.imul(ht,Pt)|0,E=E+Math.imul(z,$t)|0,S=S+Math.imul(z,zt)|0,S=S+Math.imul(Z,$t)|0,L=L+Math.imul(Z,zt)|0,E=E+Math.imul(rt,Dt)|0,S=S+Math.imul(rt,B)|0,S=S+Math.imul(ot,Dt)|0,L=L+Math.imul(ot,B)|0,E=E+Math.imul(H,st)|0,S=S+Math.imul(H,ct)|0,S=S+Math.imul(W,st)|0,L=L+Math.imul(W,ct)|0,E=E+Math.imul(J,xt)|0,S=S+Math.imul(J,Et)|0,S=S+Math.imul(at,xt)|0,L=L+Math.imul(at,Et)|0,E=E+Math.imul(it,Ft)|0,S=S+Math.imul(it,Vt)|0,S=S+Math.imul(Q,Ft)|0,L=L+Math.imul(Q,Vt)|0,E=E+Math.imul(j,Bt)|0,S=S+Math.imul(j,Nt)|0,S=S+Math.imul(X,Bt)|0,L=L+Math.imul(X,Nt)|0;var pr=(b+E|0)+((S&8191)<<13)|0;b=(L+(S>>>13)|0)+(pr>>>26)|0,pr&=67108863,E=Math.imul(Tt,It),S=Math.imul(Tt,Ut),S=S+Math.imul(Rt,It)|0,L=Math.imul(Rt,Ut),E=E+Math.imul(yt,qt)|0,S=S+Math.imul(yt,Ot)|0,S=S+Math.imul(Mt,qt)|0,L=L+Math.imul(Mt,Ot)|0,E=E+Math.imul(wt,Ht)|0,S=S+Math.imul(wt,Pt)|0,S=S+Math.imul(vt,Ht)|0,L=L+Math.imul(vt,Pt)|0,E=E+Math.imul(tt,$t)|0,S=S+Math.imul(tt,zt)|0,S=S+Math.imul(ht,$t)|0,L=L+Math.imul(ht,zt)|0,E=E+Math.imul(z,Dt)|0,S=S+Math.imul(z,B)|0,S=S+Math.imul(Z,Dt)|0,L=L+Math.imul(Z,B)|0,E=E+Math.imul(rt,st)|0,S=S+Math.imul(rt,ct)|0,S=S+Math.imul(ot,st)|0,L=L+Math.imul(ot,ct)|0,E=E+Math.imul(H,xt)|0,S=S+Math.imul(H,Et)|0,S=S+Math.imul(W,xt)|0,L=L+Math.imul(W,Et)|0,E=E+Math.imul(J,Ft)|0,S=S+Math.imul(J,Vt)|0,S=S+Math.imul(at,Ft)|0,L=L+Math.imul(at,Vt)|0,E=E+Math.imul(it,Bt)|0,S=S+Math.imul(it,Nt)|0,S=S+Math.imul(Q,Bt)|0,L=L+Math.imul(Q,Nt)|0,E=E+Math.imul(j,de)|0,S=S+Math.imul(j,ce)|0,S=S+Math.imul(X,de)|0,L=L+Math.imul(X,ce)|0;var mr=(b+E|0)+((S&8191)<<13)|0;b=(L+(S>>>13)|0)+(mr>>>26)|0,mr&=67108863,E=Math.imul(Tt,qt),S=Math.imul(Tt,Ot),S=S+Math.imul(Rt,qt)|0,L=Math.imul(Rt,Ot),E=E+Math.imul(yt,Ht)|0,S=S+Math.imul(yt,Pt)|0,S=S+Math.imul(Mt,Ht)|0,L=L+Math.imul(Mt,Pt)|0,E=E+Math.imul(wt,$t)|0,S=S+Math.imul(wt,zt)|0,S=S+Math.imul(vt,$t)|0,L=L+Math.imul(vt,zt)|0,E=E+Math.imul(tt,Dt)|0,S=S+Math.imul(tt,B)|0,S=S+Math.imul(ht,Dt)|0,L=L+Math.imul(ht,B)|0,E=E+Math.imul(z,st)|0,S=S+Math.imul(z,ct)|0,S=S+Math.imul(Z,st)|0,L=L+Math.imul(Z,ct)|0,E=E+Math.imul(rt,xt)|0,S=S+Math.imul(rt,Et)|0,S=S+Math.imul(ot,xt)|0,L=L+Math.imul(ot,Et)|0,E=E+Math.imul(H,Ft)|0,S=S+Math.imul(H,Vt)|0,S=S+Math.imul(W,Ft)|0,L=L+Math.imul(W,Vt)|0,E=E+Math.imul(J,Bt)|0,S=S+Math.imul(J,Nt)|0,S=S+Math.imul(at,Bt)|0,L=L+Math.imul(at,Nt)|0,E=E+Math.imul(it,de)|0,S=S+Math.imul(it,ce)|0,S=S+Math.imul(Q,de)|0,L=L+Math.imul(Q,ce)|0;var gr=(b+E|0)+((S&8191)<<13)|0;b=(L+(S>>>13)|0)+(gr>>>26)|0,gr&=67108863,E=Math.imul(Tt,Ht),S=Math.imul(Tt,Pt),S=S+Math.imul(Rt,Ht)|0,L=Math.imul(Rt,Pt),E=E+Math.imul(yt,$t)|0,S=S+Math.imul(yt,zt)|0,S=S+Math.imul(Mt,$t)|0,L=L+Math.imul(Mt,zt)|0,E=E+Math.imul(wt,Dt)|0,S=S+Math.imul(wt,B)|0,S=S+Math.imul(vt,Dt)|0,L=L+Math.imul(vt,B)|0,E=E+Math.imul(tt,st)|0,S=S+Math.imul(tt,ct)|0,S=S+Math.imul(ht,st)|0,L=L+Math.imul(ht,ct)|0,E=E+Math.imul(z,xt)|0,S=S+Math.imul(z,Et)|0,S=S+Math.imul(Z,xt)|0,L=L+Math.imul(Z,Et)|0,E=E+Math.imul(rt,Ft)|0,S=S+Math.imul(rt,Vt)|0,S=S+Math.imul(ot,Ft)|0,L=L+Math.imul(ot,Vt)|0,E=E+Math.imul(H,Bt)|0,S=S+Math.imul(H,Nt)|0,S=S+Math.imul(W,Bt)|0,L=L+Math.imul(W,Nt)|0,E=E+Math.imul(J,de)|0,S=S+Math.imul(J,ce)|0,S=S+Math.imul(at,de)|0,L=L+Math.imul(at,ce)|0;var _r=(b+E|0)+((S&8191)<<13)|0;b=(L+(S>>>13)|0)+(_r>>>26)|0,_r&=67108863,E=Math.imul(Tt,$t),S=Math.imul(Tt,zt),S=S+Math.imul(Rt,$t)|0,L=Math.imul(Rt,zt),E=E+Math.imul(yt,Dt)|0,S=S+Math.imul(yt,B)|0,S=S+Math.imul(Mt,Dt)|0,L=L+Math.imul(Mt,B)|0,E=E+Math.imul(wt,st)|0,S=S+Math.imul(wt,ct)|0,S=S+Math.imul(vt,st)|0,L=L+Math.imul(vt,ct)|0,E=E+Math.imul(tt,xt)|0,S=S+Math.imul(tt,Et)|0,S=S+Math.imul(ht,xt)|0,L=L+Math.imul(ht,Et)|0,E=E+Math.imul(z,Ft)|0,S=S+Math.imul(z,Vt)|0,S=S+Math.imul(Z,Ft)|0,L=L+Math.imul(Z,Vt)|0,E=E+Math.imul(rt,Bt)|0,S=S+Math.imul(rt,Nt)|0,S=S+Math.imul(ot,Bt)|0,L=L+Math.imul(ot,Nt)|0,E=E+Math.imul(H,de)|0,S=S+Math.imul(H,ce)|0,S=S+Math.imul(W,de)|0,L=L+Math.imul(W,ce)|0;var br=(b+E|0)+((S&8191)<<13)|0;b=(L+(S>>>13)|0)+(br>>>26)|0,br&=67108863,E=Math.imul(Tt,Dt),S=Math.imul(Tt,B),S=S+Math.imul(Rt,Dt)|0,L=Math.imul(Rt,B),E=E+Math.imul(yt,st)|0,S=S+Math.imul(yt,ct)|0,S=S+Math.imul(Mt,st)|0,L=L+Math.imul(Mt,ct)|0,E=E+Math.imul(wt,xt)|0,S=S+Math.imul(wt,Et)|0,S=S+Math.imul(vt,xt)|0,L=L+Math.imul(vt,Et)|0,E=E+Math.imul(tt,Ft)|0,S=S+Math.imul(tt,Vt)|0,S=S+Math.imul(ht,Ft)|0,L=L+Math.imul(ht,Vt)|0,E=E+Math.imul(z,Bt)|0,S=S+Math.imul(z,Nt)|0,S=S+Math.imul(Z,Bt)|0,L=L+Math.imul(Z,Nt)|0,E=E+Math.imul(rt,de)|0,S=S+Math.imul(rt,ce)|0,S=S+Math.imul(ot,de)|0,L=L+Math.imul(ot,ce)|0;var yr=(b+E|0)+((S&8191)<<13)|0;b=(L+(S>>>13)|0)+(yr>>>26)|0,yr&=67108863,E=Math.imul(Tt,st),S=Math.imul(Tt,ct),S=S+Math.imul(Rt,st)|0,L=Math.imul(Rt,ct),E=E+Math.imul(yt,xt)|0,S=S+Math.imul(yt,Et)|0,S=S+Math.imul(Mt,xt)|0,L=L+Math.imul(Mt,Et)|0,E=E+Math.imul(wt,Ft)|0,S=S+Math.imul(wt,Vt)|0,S=S+Math.imul(vt,Ft)|0,L=L+Math.imul(vt,Vt)|0,E=E+Math.imul(tt,Bt)|0,S=S+Math.imul(tt,Nt)|0,S=S+Math.imul(ht,Bt)|0,L=L+Math.imul(ht,Nt)|0,E=E+Math.imul(z,de)|0,S=S+Math.imul(z,ce)|0,S=S+Math.imul(Z,de)|0,L=L+Math.imul(Z,ce)|0;var xr=(b+E|0)+((S&8191)<<13)|0;b=(L+(S>>>13)|0)+(xr>>>26)|0,xr&=67108863,E=Math.imul(Tt,xt),S=Math.imul(Tt,Et),S=S+Math.imul(Rt,xt)|0,L=Math.imul(Rt,Et),E=E+Math.imul(yt,Ft)|0,S=S+Math.imul(yt,Vt)|0,S=S+Math.imul(Mt,Ft)|0,L=L+Math.imul(Mt,Vt)|0,E=E+Math.imul(wt,Bt)|0,S=S+Math.imul(wt,Nt)|0,S=S+Math.imul(vt,Bt)|0,L=L+Math.imul(vt,Nt)|0,E=E+Math.imul(tt,de)|0,S=S+Math.imul(tt,ce)|0,S=S+Math.imul(ht,de)|0,L=L+Math.imul(ht,ce)|0;var wr=(b+E|0)+((S&8191)<<13)|0;b=(L+(S>>>13)|0)+(wr>>>26)|0,wr&=67108863,E=Math.imul(Tt,Ft),S=Math.imul(Tt,Vt),S=S+Math.imul(Rt,Ft)|0,L=Math.imul(Rt,Vt),E=E+Math.imul(yt,Bt)|0,S=S+Math.imul(yt,Nt)|0,S=S+Math.imul(Mt,Bt)|0,L=L+Math.imul(Mt,Nt)|0,E=E+Math.imul(wt,de)|0,S=S+Math.imul(wt,ce)|0,S=S+Math.imul(vt,de)|0,L=L+Math.imul(vt,ce)|0;var Zu=(b+E|0)+((S&8191)<<13)|0;b=(L+(S>>>13)|0)+(Zu>>>26)|0,Zu&=67108863,E=Math.imul(Tt,Bt),S=Math.imul(Tt,Nt),S=S+Math.imul(Rt,Bt)|0,L=Math.imul(Rt,Nt),E=E+Math.imul(yt,de)|0,S=S+Math.imul(yt,ce)|0,S=S+Math.imul(Mt,de)|0,L=L+Math.imul(Mt,ce)|0;var Xu=(b+E|0)+((S&8191)<<13)|0;b=(L+(S>>>13)|0)+(Xu>>>26)|0,Xu&=67108863,E=Math.imul(Tt,de),S=Math.imul(Tt,ce),S=S+Math.imul(Rt,de)|0,L=Math.imul(Rt,ce);var Ju=(b+E|0)+((S&8191)<<13)|0;if(b=(L+(S>>>13)|0)+(Ju>>>26)|0,Ju&=67108863,a[0]=De,a[1]=Le,a[2]=ar,a[3]=ur,a[4]=cr,a[5]=hr,a[6]=fr,a[7]=dr,a[8]=pr,a[9]=mr,a[10]=gr,a[11]=_r,a[12]=br,a[13]=yr,a[14]=xr,a[15]=wr,a[16]=Zu,a[17]=Xu,a[18]=Ju,b!==0)a[19]=b,x.length++;return x};if(!Math.imul)I=T;function P(u,f,x){x.negative=f.negative^u.negative,x.length=u.length+f.length;var w=0,g=0;for(var a=0;a<x.length-1;a++){var b=g;g=0;var E=w&67108863,S=Math.min(a,f.length-1);for(var L=Math.max(0,a-u.length+1);L<=S;L++){var q=a-L,j=u.words[q]|0,X=f.words[L]|0,bt=j*X,it=bt&67108863;b=b+(bt/67108864|0)|0,it=it+E|0,E=it&67108863,b=b+(it>>>26)|0,g+=b>>>26,b&=67108863}x.words[a]=E,w=b,b=g}if(w!==0)x.words[a]=w;else x.length--;return x._strip()}function F(u,f,x){return P(u,f,x)}s.prototype.mulTo=function(u,f){var x,w=this.length+u.length;if(this.length===10&&u.length===10)x=I(this,u,f);else if(w<63)x=T(this,u,f);else if(w<1024)x=P(this,u,f);else x=F(this,u,f);return x};function G(u,f){this.x=u,this.y=f}G.prototype.makeRBT=function(u){var f=Array(u),x=s.prototype._countBits(u)-1;for(var w=0;w<u;w++)f[w]=this.revBin(w,x,u);return f},G.prototype.revBin=function(u,f,x){if(u===0||u===x-1)return u;var w=0;for(var g=0;g<f;g++)w|=(u&1)<<f-g-1,u>>=1;return w},G.prototype.permute=function(u,f,x,w,g,a){for(var b=0;b<a;b++)w[b]=f[u[b]],g[b]=x[u[b]]},G.prototype.transform=function(u,f,x,w,g,a){this.permute(a,u,f,x,w,g);for(var b=1;b<g;b<<=1){var E=b<<1,S=Math.cos(2*Math.PI/E),L=Math.sin(2*Math.PI/E);for(var q=0;q<g;q+=E){var j=S,X=L;for(var bt=0;bt<b;bt++){var it=x[q+bt],Q=w[q+bt],pt=x[q+bt+b],J=w[q+bt+b],at=j*pt-X*J;if(J=j*J+X*pt,pt=at,x[q+bt]=it+pt,w[q+bt]=Q+J,x[q+bt+b]=it-pt,w[q+bt+b]=Q-J,bt!==E)at=S*j-L*X,X=S*X+L*j,j=at}}}},G.prototype.guessLen13b=function(u,f){var x=Math.max(f,u)|1,w=x&1,g=0;for(x=x/2|0;x;x=x>>>1)g++;return 1<<g+1+w},G.prototype.conjugate=function(u,f,x){if(x<=1)return;for(var w=0;w<x/2;w++){var g=u[w];u[w]=u[x-w-1],u[x-w-1]=g,g=f[w],f[w]=-f[x-w-1],f[x-w-1]=-g}},G.prototype.normalize13b=function(u,f){var x=0;for(var w=0;w<f/2;w++){var g=Math.round(u[2*w+1]/f)*8192+Math.round(u[2*w]/f)+x;if(u[w]=g&67108863,g<67108864)x=0;else x=g/67108864|0}return u},G.prototype.convert13b=function(u,f,x,w){var g=0;for(var a=0;a<f;a++)g=g+(u[a]|0),x[2*a]=g&8191,g=g>>>13,x[2*a+1]=g&8191,g=g>>>13;for(a=2*f;a<w;++a)x[a]=0;n(g===0),n((g&-8192)===0)},G.prototype.stub=function(u){var f=Array(u);for(var x=0;x<u;x++)f[x]=0;return f},G.prototype.mulp=function(u,f,x){var w=2*this.guessLen13b(u.length,f.length),g=this.makeRBT(w),a=this.stub(w),b=Array(w),E=Array(w),S=Array(w),L=Array(w),q=Array(w),j=Array(w),X=x.words;X.length=w,this.convert13b(u.words,u.length,b,w),this.convert13b(f.words,f.length,L,w),this.transform(b,a,E,S,w,g),this.transform(L,a,q,j,w,g);for(var bt=0;bt<w;bt++){var it=E[bt]*q[bt]-S[bt]*j[bt];S[bt]=E[bt]*j[bt]+S[bt]*q[bt],E[bt]=it}return this.conjugate(E,S,w),this.transform(E,S,X,a,w,g),this.conjugate(X,a,w),this.normalize13b(X,w),x.negative=u.negative^f.negative,x.length=u.length+f.length,x._strip()},s.prototype.mul=function(u){var f=new s(null);return f.words=Array(this.length+u.length),this.mulTo(u,f)},s.prototype.mulf=function(u){var f=new s(null);return f.words=Array(this.length+u.length),F(this,u,f)},s.prototype.imul=function(u){return this.clone().mulTo(u,this)},s.prototype.imuln=function(u){var f=u<0;if(f)u=-u;n(typeof u==="number"),n(u<67108864);var x=0;for(var w=0;w<this.length;w++){var g=(this.words[w]|0)*u,a=(g&67108863)+(x&67108863);x>>=26,x+=g/67108864|0,x+=a>>>26,this.words[w]=a&67108863}if(x!==0)this.words[w]=x,this.length++;return this.length=u===0?1:this.length,f?this.ineg():this},s.prototype.muln=function(u){return this.clone().imuln(u)},s.prototype.sqr=function(){return this.mul(this)},s.prototype.isqr=function(){return this.imul(this.clone())},s.prototype.pow=function(u){var f=R(u);if(f.length===0)return new s(1);var x=this;for(var w=0;w<f.length;w++,x=x.sqr())if(f[w]!==0)break;if(++w<f.length)for(var g=x.sqr();w<f.length;w++,g=g.sqr()){if(f[w]===0)continue;x=x.mul(g)}return x},s.prototype.iushln=function(u){n(typeof u==="number"&&u>=0);var f=u%26,x=(u-f)/26,w=67108863>>>26-f<<26-f,g;if(f!==0){var a=0;for(g=0;g<this.length;g++){var b=this.words[g]&w,E=(this.words[g]|0)-b<<f;this.words[g]=E|a,a=b>>>26-f}if(a)this.words[g]=a,this.length++}if(x!==0){for(g=this.length-1;g>=0;g--)this.words[g+x]=this.words[g];for(g=0;g<x;g++)this.words[g]=0;this.length+=x}return this._strip()},s.prototype.ishln=function(u){return n(this.negative===0),this.iushln(u)},s.prototype.iushrn=function(u,f,x){n(typeof u==="number"&&u>=0);var w;if(f)w=(f-f%26)/26;else w=0;var g=u%26,a=Math.min((u-g)/26,this.length),b=67108863^67108863>>>g<<g,E=x;if(w-=a,w=Math.max(0,w),E){for(var S=0;S<a;S++)E.words[S]=this.words[S];E.length=a}if(a===0);else if(this.length>a){this.length-=a;for(S=0;S<this.length;S++)this.words[S]=this.words[S+a]}else this.words[0]=0,this.length=1;var L=0;for(S=this.length-1;S>=0&&(L!==0||S>=w);S--){var q=this.words[S]|0;this.words[S]=L<<26-g|q>>>g,L=q&b}if(E&&L!==0)E.words[E.length++]=L;if(this.length===0)this.words[0]=0,this.length=1;return this._strip()},s.prototype.ishrn=function(u,f,x){return n(this.negative===0),this.iushrn(u,f,x)},s.prototype.shln=function(u){return this.clone().ishln(u)},s.prototype.ushln=function(u){return this.clone().iushln(u)},s.prototype.shrn=function(u){return this.clone().ishrn(u)},s.prototype.ushrn=function(u){return this.clone().iushrn(u)},s.prototype.testn=function(u){n(typeof u==="number"&&u>=0);var f=u%26,x=(u-f)/26,w=1<<f;if(this.length<=x)return!1;var g=this.words[x];return!!(g&w)},s.prototype.imaskn=function(u){n(typeof u==="number"&&u>=0);var f=u%26,x=(u-f)/26;if(n(this.negative===0,"imaskn works only with positive numbers"),this.length<=x)return this;if(f!==0)x++;if(this.length=Math.min(x,this.length),f!==0){var w=67108863^67108863>>>f<<f;this.words[this.length-1]&=w}return this._strip()},s.prototype.maskn=function(u){return this.clone().imaskn(u)},s.prototype.iaddn=function(u){if(n(typeof u==="number"),n(u<67108864),u<0)return this.isubn(-u);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<=u)return this.words[0]=u-(this.words[0]|0),this.negative=0,this;return this.negative=0,this.isubn(u),this.negative=1,this}return this._iaddn(u)},s.prototype._iaddn=function(u){this.words[0]+=u;for(var f=0;f<this.length&&this.words[f]>=67108864;f++)if(this.words[f]-=67108864,f===this.length-1)this.words[f+1]=1;else this.words[f+1]++;return this.length=Math.max(this.length,f+1),this},s.prototype.isubn=function(u){if(n(typeof u==="number"),n(u<67108864),u<0)return this.iaddn(-u);if(this.negative!==0)return this.negative=0,this.iaddn(u),this.negative=1,this;if(this.words[0]-=u,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var f=0;f<this.length&&this.words[f]<0;f++)this.words[f]+=67108864,this.words[f+1]-=1;return this._strip()},s.prototype.addn=function(u){return this.clone().iaddn(u)},s.prototype.subn=function(u){return this.clone().isubn(u)},s.prototype.iabs=function(){return this.negative=0,this},s.prototype.abs=function(){return this.clone().iabs()},s.prototype._ishlnsubmul=function(u,f,x){var w=u.length+x,g;this._expand(w);var a,b=0;for(g=0;g<u.length;g++){a=(this.words[g+x]|0)+b;var E=(u.words[g]|0)*f;a-=E&67108863,b=(a>>26)-(E/67108864|0),this.words[g+x]=a&67108863}for(;g<this.length-x;g++)a=(this.words[g+x]|0)+b,b=a>>26,this.words[g+x]=a&67108863;if(b===0)return this._strip();n(b===-1),b=0;for(g=0;g<this.length;g++)a=-(this.words[g]|0)+b,b=a>>26,this.words[g]=a&67108863;return this.negative=1,this._strip()},s.prototype._wordDiv=function(u,f){var x=this.length-u.length,w=this.clone(),g=u,a=g.words[g.length-1]|0,b=this._countBits(a);if(x=26-b,x!==0)g=g.ushln(x),w.iushln(x),a=g.words[g.length-1]|0;var E=w.length-g.length,S;if(f!=="mod"){S=new s(null),S.length=E+1,S.words=Array(S.length);for(var L=0;L<S.length;L++)S.words[L]=0}var q=w.clone()._ishlnsubmul(g,1,E);if(q.negative===0){if(w=q,S)S.words[E]=1}for(var j=E-1;j>=0;j--){var X=(w.words[g.length+j]|0)*67108864+(w.words[g.length+j-1]|0);X=Math.min(X/a|0,67108863),w._ishlnsubmul(g,X,j);while(w.negative!==0)if(X--,w.negative=0,w._ishlnsubmul(g,1,j),!w.isZero())w.negative^=1;if(S)S.words[j]=X}if(S)S._strip();if(w._strip(),f!=="div"&&x!==0)w.iushrn(x);return{div:S||null,mod:w}},s.prototype.divmod=function(u,f,x){if(n(!u.isZero()),this.isZero())return{div:new s(0),mod:new s(0)};var w,g,a;if(this.negative!==0&&u.negative===0){if(a=this.neg().divmod(u,f),f!=="mod")w=a.div.neg();if(f!=="div"){if(g=a.mod.neg(),x&&g.negative!==0)g.iadd(u)}return{div:w,mod:g}}if(this.negative===0&&u.negative!==0){if(a=this.divmod(u.neg(),f),f!=="mod")w=a.div.neg();return{div:w,mod:a.mod}}if((this.negative&u.negative)!==0){if(a=this.neg().divmod(u.neg(),f),f!=="div"){if(g=a.mod.neg(),x&&g.negative!==0)g.isub(u)}return{div:a.div,mod:g}}if(u.length>this.length||this.cmp(u)<0)return{div:new s(0),mod:this};if(u.length===1){if(f==="div")return{div:this.divn(u.words[0]),mod:null};if(f==="mod")return{div:null,mod:new s(this.modrn(u.words[0]))};return{div:this.divn(u.words[0]),mod:new s(this.modrn(u.words[0]))}}return this._wordDiv(u,f)},s.prototype.div=function(u){return this.divmod(u,"div",!1).div},s.prototype.mod=function(u){return this.divmod(u,"mod",!1).mod},s.prototype.umod=function(u){return this.divmod(u,"mod",!0).mod},s.prototype.divRound=function(u){var f=this.divmod(u);if(f.mod.isZero())return f.div;var x=f.div.negative!==0?f.mod.isub(u):f.mod,w=u.ushrn(1),g=u.andln(1),a=x.cmp(w);if(a<0||g===1&&a===0)return f.div;return f.div.negative!==0?f.div.isubn(1):f.div.iaddn(1)},s.prototype.modrn=function(u){var f=u<0;if(f)u=-u;n(u<=67108863);var x=67108864%u,w=0;for(var g=this.length-1;g>=0;g--)w=(x*w+(this.words[g]|0))%u;return f?-w:w},s.prototype.modn=function(u){return this.modrn(u)},s.prototype.idivn=function(u){var f=u<0;if(f)u=-u;n(u<=67108863);var x=0;for(var w=this.length-1;w>=0;w--){var g=(this.words[w]|0)+x*67108864;this.words[w]=g/u|0,x=g%u}return this._strip(),f?this.ineg():this},s.prototype.divn=function(u){return this.clone().idivn(u)},s.prototype.egcd=function(u){n(u.negative===0),n(!u.isZero());var f=this,x=u.clone();if(f.negative!==0)f=f.umod(u);else f=f.clone();var w=new s(1),g=new s(0),a=new s(0),b=new s(1),E=0;while(f.isEven()&&x.isEven())f.iushrn(1),x.iushrn(1),++E;var S=x.clone(),L=f.clone();while(!f.isZero()){for(var q=0,j=1;(f.words[0]&j)===0&&q<26;++q,j<<=1);if(q>0){f.iushrn(q);while(q-- >0){if(w.isOdd()||g.isOdd())w.iadd(S),g.isub(L);w.iushrn(1),g.iushrn(1)}}for(var X=0,bt=1;(x.words[0]&bt)===0&&X<26;++X,bt<<=1);if(X>0){x.iushrn(X);while(X-- >0){if(a.isOdd()||b.isOdd())a.iadd(S),b.isub(L);a.iushrn(1),b.iushrn(1)}}if(f.cmp(x)>=0)f.isub(x),w.isub(a),g.isub(b);else x.isub(f),a.isub(w),b.isub(g)}return{a,b,gcd:x.iushln(E)}},s.prototype._invmp=function(u){n(u.negative===0),n(!u.isZero());var f=this,x=u.clone();if(f.negative!==0)f=f.umod(u);else f=f.clone();var w=new s(1),g=new s(0),a=x.clone();while(f.cmpn(1)>0&&x.cmpn(1)>0){for(var b=0,E=1;(f.words[0]&E)===0&&b<26;++b,E<<=1);if(b>0){f.iushrn(b);while(b-- >0){if(w.isOdd())w.iadd(a);w.iushrn(1)}}for(var S=0,L=1;(x.words[0]&L)===0&&S<26;++S,L<<=1);if(S>0){x.iushrn(S);while(S-- >0){if(g.isOdd())g.iadd(a);g.iushrn(1)}}if(f.cmp(x)>=0)f.isub(x),w.isub(g);else x.isub(f),g.isub(w)}var q;if(f.cmpn(1)===0)q=w;else q=g;if(q.cmpn(0)<0)q.iadd(u);return q},s.prototype.gcd=function(u){if(this.isZero())return u.abs();if(u.isZero())return this.abs();var f=this.clone(),x=u.clone();f.negative=0,x.negative=0;for(var w=0;f.isEven()&&x.isEven();w++)f.iushrn(1),x.iushrn(1);do{while(f.isEven())f.iushrn(1);while(x.isEven())x.iushrn(1);var g=f.cmp(x);if(g<0){var a=f;f=x,x=a}else if(g===0||x.cmpn(1)===0)break;f.isub(x)}while(!0);return x.iushln(w)},s.prototype.invm=function(u){return this.egcd(u).a.umod(u)},s.prototype.isEven=function(){return(this.words[0]&1)===0},s.prototype.isOdd=function(){return(this.words[0]&1)===1},s.prototype.andln=function(u){return this.words[0]&u},s.prototype.bincn=function(u){n(typeof u==="number");var f=u%26,x=(u-f)/26,w=1<<f;if(this.length<=x)return this._expand(x+1),this.words[x]|=w,this;var g=w;for(var a=x;g!==0&&a<this.length;a++){var b=this.words[a]|0;b+=g,g=b>>>26,b&=67108863,this.words[a]=b}if(g!==0)this.words[a]=g,this.length++;return this},s.prototype.isZero=function(){return this.length===1&&this.words[0]===0},s.prototype.cmpn=function(u){var f=u<0;if(this.negative!==0&&!f)return-1;if(this.negative===0&&f)return 1;this._strip();var x;if(this.length>1)x=1;else{if(f)u=-u;n(u<=67108863,"Number is too big");var w=this.words[0]|0;x=w===u?0:w<u?-1:1}if(this.negative!==0)return-x|0;return x},s.prototype.cmp=function(u){if(this.negative!==0&&u.negative===0)return-1;if(this.negative===0&&u.negative!==0)return 1;var f=this.ucmp(u);if(this.negative!==0)return-f|0;return f},s.prototype.ucmp=function(u){if(this.length>u.length)return 1;if(this.length<u.length)return-1;var f=0;for(var x=this.length-1;x>=0;x--){var w=this.words[x]|0,g=u.words[x]|0;if(w===g)continue;if(w<g)f=-1;else if(w>g)f=1;break}return f},s.prototype.gtn=function(u){return this.cmpn(u)===1},s.prototype.gt=function(u){return this.cmp(u)===1},s.prototype.gten=function(u){return this.cmpn(u)>=0},s.prototype.gte=function(u){return this.cmp(u)>=0},s.prototype.ltn=function(u){return this.cmpn(u)===-1},s.prototype.lt=function(u){return this.cmp(u)===-1},s.prototype.lten=function(u){return this.cmpn(u)<=0},s.prototype.lte=function(u){return this.cmp(u)<=0},s.prototype.eqn=function(u){return this.cmpn(u)===0},s.prototype.eq=function(u){return this.cmp(u)===0},s.red=function(u){return new c(u)},s.prototype.toRed=function(u){return n(!this.red,"Already a number in reduction context"),n(this.negative===0,"red works only with positives"),u.convertTo(this)._forceRed(u)},s.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},s.prototype._forceRed=function(u){return this.red=u,this},s.prototype.forceRed=function(u){return n(!this.red,"Already a number in reduction context"),this._forceRed(u)},s.prototype.redAdd=function(u){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,u)},s.prototype.redIAdd=function(u){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,u)},s.prototype.redSub=function(u){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,u)},s.prototype.redISub=function(u){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,u)},s.prototype.redShl=function(u){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,u)},s.prototype.redMul=function(u){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,u),this.red.mul(this,u)},s.prototype.redIMul=function(u){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,u),this.red.imul(this,u)},s.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},s.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},s.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},s.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},s.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},s.prototype.redPow=function(u){return n(this.red&&!u.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,u)};var lt={k256:null,p224:null,p192:null,p25519:null};function dt(u,f){this.name=u,this.p=new s(f,16),this.n=this.p.bitLength(),this.k=new s(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}dt.prototype._tmp=function(){var u=new s(null);return u.words=Array(Math.ceil(this.n/13)),u},dt.prototype.ireduce=function(u){var f=u,x;do this.split(f,this.tmp),f=this.imulK(f),f=f.iadd(this.tmp),x=f.bitLength();while(x>this.n);var w=x<this.n?-1:f.ucmp(this.p);if(w===0)f.words[0]=0,f.length=1;else if(w>0)f.isub(this.p);else if(f.strip!==void 0)f.strip();else f._strip();return f},dt.prototype.split=function(u,f){u.iushrn(this.n,0,f)},dt.prototype.imulK=function(u){return u.imul(this.k)};function ut(){dt.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}o(ut,dt),ut.prototype.split=function(u,f){var x=4194303,w=Math.min(u.length,9);for(var g=0;g<w;g++)f.words[g]=u.words[g];if(f.length=w,u.length<=9){u.words[0]=0,u.length=1;return}var a=u.words[9];f.words[f.length++]=a&x;for(g=10;g<u.length;g++){var b=u.words[g]|0;u.words[g-10]=(b&x)<<4|a>>>22,a=b}if(a>>>=22,u.words[g-10]=a,a===0&&u.length>10)u.length-=10;else u.length-=9},ut.prototype.imulK=function(u){u.words[u.length]=0,u.words[u.length+1]=0,u.length+=2;var f=0;for(var x=0;x<u.length;x++){var w=u.words[x]|0;f+=w*977,u.words[x]=f&67108863,f=w*64+(f/67108864|0)}if(u.words[u.length-1]===0){if(u.length--,u.words[u.length-1]===0)u.length--}return u};function V(){dt.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}o(V,dt);function nt(){dt.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}o(nt,dt);function l(){dt.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}o(l,dt),l.prototype.imulK=function(u){var f=0;for(var x=0;x<u.length;x++){var w=(u.words[x]|0)*19+f,g=w&67108863;w>>>=26,u.words[x]=g,f=w}if(f!==0)u.words[u.length++]=f;return u},s._prime=function(u){if(lt[u])return lt[u];var f;if(u==="k256")f=new ut;else if(u==="p224")f=new V;else if(u==="p192")f=new nt;else if(u==="p25519")f=new l;else throw Error("Unknown prime "+u);return lt[u]=f,f};function c(u){if(typeof u==="string"){var f=s._prime(u);this.m=f.p,this.prime=f}else n(u.gtn(1),"modulus must be greater than 1"),this.m=u,this.prime=null}c.prototype._verify1=function(u){n(u.negative===0,"red works only with positives"),n(u.red,"red works only with red numbers")},c.prototype._verify2=function(u,f){n((u.negative|f.negative)===0,"red works only with positives"),n(u.red&&u.red===f.red,"red works only with red numbers")},c.prototype.imod=function(u){if(this.prime)return this.prime.ireduce(u)._forceRed(this);return _(u,u.umod(this.m)._forceRed(this)),u},c.prototype.neg=function(u){if(u.isZero())return u.clone();return this.m.sub(u)._forceRed(this)},c.prototype.add=function(u,f){this._verify2(u,f);var x=u.add(f);if(x.cmp(this.m)>=0)x.isub(this.m);return x._forceRed(this)},c.prototype.iadd=function(u,f){this._verify2(u,f);var x=u.iadd(f);if(x.cmp(this.m)>=0)x.isub(this.m);return x},c.prototype.sub=function(u,f){this._verify2(u,f);var x=u.sub(f);if(x.cmpn(0)<0)x.iadd(this.m);return x._forceRed(this)},c.prototype.isub=function(u,f){this._verify2(u,f);var x=u.isub(f);if(x.cmpn(0)<0)x.iadd(this.m);return x},c.prototype.shl=function(u,f){return this._verify1(u),this.imod(u.ushln(f))},c.prototype.imul=function(u,f){return this._verify2(u,f),this.imod(u.imul(f))},c.prototype.mul=function(u,f){return this._verify2(u,f),this.imod(u.mul(f))},c.prototype.isqr=function(u){return this.imul(u,u.clone())},c.prototype.sqr=function(u){return this.mul(u,u)},c.prototype.sqrt=function(u){if(u.isZero())return u.clone();var f=this.m.andln(3);if(n(f%2===1),f===3){var x=this.m.add(new s(1)).iushrn(2);return this.pow(u,x)}var w=this.m.subn(1),g=0;while(!w.isZero()&&w.andln(1)===0)g++,w.iushrn(1);n(!w.isZero());var a=new s(1).toRed(this),b=a.redNeg(),E=this.m.subn(1).iushrn(1),S=this.m.bitLength();S=new s(2*S*S).toRed(this);while(this.pow(S,E).cmp(b)!==0)S.redIAdd(b);var L=this.pow(S,w),q=this.pow(u,w.addn(1).iushrn(1)),j=this.pow(u,w),X=g;while(j.cmp(a)!==0){var bt=j;for(var it=0;bt.cmp(a)!==0;it++)bt=bt.redSqr();n(it<X);var Q=this.pow(L,new s(1).iushln(X-it-1));q=q.redMul(Q),L=Q.redSqr(),j=j.redMul(L),X=it}return q},c.prototype.invm=function(u){var f=u._invmp(this.m);if(f.negative!==0)return f.negative=0,this.imod(f).redNeg();else return this.imod(f)},c.prototype.pow=function(u,f){if(f.isZero())return new s(1).toRed(this);if(f.cmpn(1)===0)return u.clone();var x=4,w=Array(1<<x);w[0]=new s(1).toRed(this),w[1]=u;for(var g=2;g<w.length;g++)w[g]=this.mul(w[g-1],u);var a=w[0],b=0,E=0,S=f.bitLength()%26;if(S===0)S=26;for(g=f.length-1;g>=0;g--){var L=f.words[g];for(var q=S-1;q>=0;q--){var j=L>>q&1;if(a!==w[0])a=this.sqr(a);if(j===0&&b===0){E=0;continue}if(b<<=1,b|=j,E++,E!==x&&(g!==0||q!==0))continue;a=this.mul(a,w[b]),E=0,b=0}S=26}return a},c.prototype.convertTo=function(u){var f=u.umod(this.m);return f===u?f.clone():f},c.prototype.convertFrom=function(u){var f=u.clone();return f.red=null,f},s.mont=function(u){return new d(u)};function d(u){if(c.call(this,u),this.shift=this.m.bitLength(),this.shift%26!==0)this.shift+=26-this.shift%26;this.r=new s(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}o(d,c),d.prototype.convertTo=function(u){return this.imod(u.ushln(this.shift))},d.prototype.convertFrom=function(u){var f=this.imod(u.mul(this.rinv));return f.red=null,f},d.prototype.imul=function(u,f){if(u.isZero()||f.isZero())return u.words[0]=0,u.length=1,u;var x=u.imul(f),w=x.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),g=x.isub(w).iushrn(this.shift),a=g;if(g.cmp(this.m)>=0)a=g.isub(this.m);else if(g.cmpn(0)<0)a=g.iadd(this.m);return a._forceRed(this)},d.prototype.mul=function(u,f){if(u.isZero()||f.isZero())return new s(0)._forceRed(this);var x=u.mul(f),w=x.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),g=x.isub(w).iushrn(this.shift),a=g;if(g.cmp(this.m)>=0)a=g.isub(this.m);else if(g.cmpn(0)<0)a=g.iadd(this.m);return a._forceRed(this)},d.prototype.invm=function(u){var f=this.imod(u._invmp(this.m).mul(this.r2));return f._forceRed(this)}})(typeof e>"u"||e,t)}),s_=gt((t,e)=>{var r=x4(),i=Ru(),n=Gr().Buffer;function o(m){var p=m.modulus.byteLength(),y;do y=new r(i(p));while(y.cmp(m.modulus)>=0||!y.umod(m.prime1)||!y.umod(m.prime2));return y}function s(m){var p=o(m),y=p.toRed(r.mont(m.modulus)).redPow(new r(m.publicExponent)).fromRed();return{blinder:y,unblinder:p.invm(m.modulus)}}function h(m,p){var y=s(p),_=p.modulus.byteLength(),v=new r(m).mul(y.blinder).umod(p.modulus),C=v.toRed(r.mont(p.prime1)),M=v.toRed(r.mont(p.prime2)),{coefficient:A,prime1:k,prime2:R}=p,T=C.redPow(p.exponent1).fromRed(),I=M.redPow(p.exponent2).fromRed(),P=T.isub(I).imul(A).umod(k).imul(R);return I.iadd(P).imul(y.unblinder).umod(p.modulus).toArrayLike(n,"be",_)}h.getr=o,e.exports=h}),w4=gt((t,e)=>{var r=e_(),i=Ru(),n=Au(),o=r_(),s=n_(),h=Bf(),m=i_(),p=s_(),y=Gr().Buffer;e.exports=function(M,A,k){var R;if(M.padding)R=M.padding;else if(k)R=1;else R=4;var T=r(M),I;if(R===4)I=_(T,A);else if(R===1)I=v(T,A,k);else if(R===3){if(I=new h(A),I.cmp(T.modulus)>=0)throw Error("data too long for modulus")}else throw Error("unknown padding");if(k)return p(I,T);else return m(I,T)};function _(M,A){var k=M.modulus.byteLength(),R=A.length,T=n("sha1").update(y.alloc(0)).digest(),I=T.length,P=2*I;if(R>k-P-2)throw Error("message too long");var F=y.alloc(k-R-P-2),G=k-I-1,lt=i(I),dt=s(y.concat([T,F,y.alloc(1,1),A],G),o(lt,G)),ut=s(lt,o(dt,I));return new h(y.concat([y.alloc(1),ut,dt],k))}function v(M,A,k){var R=A.length,T=M.modulus.byteLength();if(R>T-11)throw Error("message too long");var I;if(k)I=y.alloc(T-R-3,255);else I=C(T-R-3);return new h(y.concat([y.from([0,k?1:2]),I,y.alloc(1),A],T))}function C(M){var A=y.allocUnsafe(M),k=0,R=i(M*2),T=0,I;while(k<M){if(T===R.length)R=i(M*2),T=0;if(I=R[T++],I)A[k++]=I}return A}}),v4=gt((t,e)=>{var r=e_(),i=r_(),n=n_(),o=Bf(),s=s_(),h=Au(),m=i_(),p=Gr().Buffer;e.exports=function(C,M,A){var k;if(C.padding)k=C.padding;else if(A)k=1;else k=4;var R=r(C),T=R.modulus.byteLength();if(M.length>T||new o(M).cmp(R.modulus)>=0)throw Error("decryption error");var I;if(A)I=m(new o(M),R);else I=s(M,R);var P=p.alloc(T-I.length);if(I=p.concat([P,I],T),k===4)return y(R,I);else if(k===1)return _(R,I,A);else if(k===3)return I;else throw Error("unknown padding")};function y(C,M){var A=C.modulus.byteLength(),k=h("sha1").update(p.alloc(0)).digest(),R=k.length;if(M[0]!==0)throw Error("decryption error");var T=M.slice(1,R+1),I=M.slice(R+1),P=n(T,i(I,R)),F=n(I,i(P,A-R-1));if(v(k,F.slice(0,R)))throw Error("decryption error");var G=R;while(F[G]===0)G++;if(F[G++]!==1)throw Error("decryption error");return F.slice(G)}function _(C,M,A){var k=M.slice(0,2),R=2,T=0;while(M[R++]!==0)if(R>=M.length){T++;break}var I=M.slice(2,R-1);if(k.toString("hex")!=="0002"&&!A||k.toString("hex")!=="0001"&&A)T++;if(I.length<8)T++;if(T)throw Error("decryption error");return M.slice(R)}function v(C,M){C=p.from(C),M=p.from(M);var A=0,k=C.length;if(C.length!==M.length)A++,k=Math.min(C.length,M.length);var R=-1;while(++R<k)A+=C[R]^M[R];return A}}),Af=gt((t)=>{t.publicEncrypt=w4(),t.privateDecrypt=v4(),t.privateEncrypt=function(e,r){return t.publicEncrypt(e,r,!0)},t.publicDecrypt=function(e,r){return t.privateDecrypt(e,r,!0)}}),S4=gt((t)=>{var e=(Jr(),ve(hn));if(typeof e.publicEncrypt!=="function")e=Af();if(t.publicEncrypt=e.publicEncrypt,t.privateDecrypt=e.privateDecrypt,typeof e.privateEncrypt!=="function")t.privateEncrypt=Af().privateEncrypt;else t.privateEncrypt=e.privateEncrypt;if(typeof e.publicDecrypt!=="function")t.publicDecrypt=Af().publicDecrypt;else t.publicDecrypt=e.publicDecrypt}),C4=gt((t)=>{var e=Gr(),r=Ru(),{Buffer:i,kMaxLength:n}=e,o=globalThis.crypto||globalThis.msCrypto,s=Math.pow(2,32)-1;function h(v,C){if(typeof v!=="number"||v!==v)throw TypeError("offset must be a number");if(v>s||v<0)throw TypeError("offset must be a uint32");if(v>n||v>C)throw RangeError("offset out of range")}function m(v,C,M){if(typeof v!=="number"||v!==v)throw TypeError("size must be a number");if(v>s||v<0)throw TypeError("size must be a uint32");if(v+C>M||v>n)throw RangeError("buffer too small")}o&&o.getRandomValues,t.randomFill=p,t.randomFillSync=_;function p(v,C,M,A){if(!i.isBuffer(v)&&!(v instanceof globalThis.Uint8Array))throw TypeError('"buf" argument must be a Buffer or Uint8Array');if(typeof C==="function")A=C,C=0,M=v.length;else if(typeof M==="function")A=M,M=v.length-C;else if(typeof A!=="function")throw TypeError('"cb" argument must be a function');return h(C,v.length),m(M,C,v.length),y(v,C,M,A)}function y(v,C,M,A){if(!1)var k,R;if(A){r(M,function(I,P){if(I)return A(I);P.copy(v,C),A(null,v)});return}var T=r(M);return T.copy(v,C),v}function _(v,C,M){if(typeof C>"u")C=0;if(!i.isBuffer(v)&&!(v instanceof globalThis.Uint8Array))throw TypeError('"buf" argument must be a Buffer or Uint8Array');if(h(C,v.length),M===void 0)M=v.length-C;return m(M,C,v.length),y(v,C,M)}}),M4=gt((t,e)=>{var r=(Jr(),ve(hn));if(typeof r.randomFill==="function"&&typeof r.randomFillSync==="function")t.randomFill=r.randomFill,t.randomFillSync=r.randomFillSync;else e.exports=C4()}),k4=gt((t)=>{t.randomBytes=t.rng=t.pseudoRandomBytes=t.prng=Ru(),t.createHash=t.Hash=Au(),t.createHmac=t.Hmac=Ig();var e=Y3(),r=Object.keys(e),i=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(r);t.getHashes=function(){return i};var n=Vg();t.pbkdf2=n.pbkdf2,t.pbkdf2Sync=n.pbkdf2Sync;var o=Lx();t.Cipher=o.Cipher,t.createCipher=o.createCipher,t.Cipheriv=o.Cipheriv,t.createCipheriv=o.createCipheriv,t.Decipher=o.Decipher,t.createDecipher=o.createDecipher,t.Decipheriv=o.Decipheriv,t.createDecipheriv=o.createDecipheriv,t.getCiphers=o.getCiphers,t.listCiphers=o.listCiphers;var s=Ix();t.DiffieHellmanGroup=s.DiffieHellmanGroup,t.createDiffieHellmanGroup=s.createDiffieHellmanGroup,t.getDiffieHellman=s.getDiffieHellman,t.createDiffieHellman=s.createDiffieHellman,t.DiffieHellman=s.DiffieHellman;var h=Ox();t.createSign=h.createSign,t.Sign=h.Sign,t.createVerify=h.createVerify,t.Verify=h.Verify,t.createECDH=n4();var m=S4();t.publicEncrypt=m.publicEncrypt,t.privateEncrypt=m.privateEncrypt,t.publicDecrypt=m.publicDecrypt,t.privateDecrypt=m.privateDecrypt;var p=M4();t.randomFill=p.randomFill,t.randomFillSync=p.randomFillSync,t.createCredentials=function(){throw Error(`sorry, createCredentials is not implemented yet
|
|
15
|
+
we accept pull requests
|
|
16
|
+
https://github.com/browserify/crypto-browserify`)},t.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}}),pe=Q3(k4(),1),E4=pe.prng,R4=pe.pseudoRandomBytes,A4=pe.rng,T4=pe.randomBytes,N4=pe.Hash,Uf=pe.createHash,L4=pe.Hmac,I4=pe.createHmac,O4=pe.getHashes,P4=pe.pbkdf2,D4=pe.pbkdf2Sync,F4=pe.Cipher,B4=pe.createCipher,U4=pe.Cipheriv,q4=pe.createCipheriv,H4=pe.Decipher,$4=pe.createDecipher,z4=pe.Decipheriv,V4=pe.createDecipheriv,j4=pe.getCiphers,W4=pe.listCiphers,G4=pe.DiffieHellmanGroup,K4=pe.createDiffieHellmanGroup,Q4=pe.getDiffieHellman,Y4=pe.createDiffieHellman,Z4=pe.DiffieHellman,X4=pe.createSign,J4=pe.Sign,t8=pe.createVerify,e8=pe.Verify,r8=pe.createECDH,n8=pe.publicEncrypt,i8=pe.privateEncrypt,s8=pe.publicDecrypt,o8=pe.privateDecrypt,l8=pe.randomFill,a8=pe.randomFillSync,u8=pe.createCredentials,c8=pe.constants,p8=["p192","p224","p256","p384","p521","curve25519","ed25519","secp256k1","secp224r1","prime256v1","prime192v1","ed25519","secp384r1","secp521r1"];g8=crypto,_8=crypto});var f2={763:()=>{}},wd={};function wi(t){var e=wd[t];if(e!==void 0)return e.exports;var r=wd[t]={exports:{}};return f2[t](r,r.exports,wi),r.exports}wi.d=(t,e)=>{for(var r in e)wi.o(e,r)&&!wi.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},wi.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var ye={};wi.d(ye,{MG:()=>Ue,fr:()=>Tl,sR:()=>Rc,Zo:()=>oi,iH:()=>zd,rt:()=>Vn,jB:()=>Tc,M8:()=>Cc,$t:()=>Gs,aq:()=>kc,pG:()=>ss,eP:()=>Ol,KU:()=>Si,zW:()=>Pl,IX:()=>be,mY:()=>Yr,a7:()=>Ci,JG:()=>ze,ay:()=>$e,X2:()=>Ws,WU:()=>Il,Uw:()=>Mc,gw:()=>Vs,iX:()=>Dl,re:()=>wc,Pg:()=>Fl,tD:()=>vc,R$:()=>vr,Dj:()=>Wn,m7:()=>li,NZ:()=>ns,xo:()=>Sn,ou:()=>Gt,qC:()=>$n,mD:()=>zn,Ay:()=>M2});class Gt{constructor(){this.source=null,this.type=null,this.channel=null,this.start=null,this.stop=null,this.tokenIndex=null,this.line=null,this.column=null,this._text=null}getTokenSource(){return this.source[0]}getInputStream(){return this.source[1]}get text(){return this._text}set text(t){this._text=t}}function rs(t,e){if(!Array.isArray(t)||!Array.isArray(e))return!1;if(t===e)return!0;if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(!(t[r]===e[r]||t[r].equals&&t[r].equals(e[r])))return!1;return!0}Gt.INVALID_TYPE=0,Gt.EPSILON=-2,Gt.MIN_USER_TOKEN_TYPE=1,Gt.EOF=-1,Gt.DEFAULT_CHANNEL=0,Gt.HIDDEN_CHANNEL=1;var d2=Math.round(Math.random()*Math.pow(2,32));function kd(t){if(!t)return 0;let e=typeof t,r=e==="string"?t:!(e!=="object"||!t.toString)&&t.toString();if(!r)return 0;let i,n,o=3&r.length,s=r.length-o,h=d2,m=3432918353,p=461845907,y=0;for(;y<s;)n=255&r.charCodeAt(y)|(255&r.charCodeAt(++y))<<8|(255&r.charCodeAt(++y))<<16|(255&r.charCodeAt(++y))<<24,++y,n=(65535&n)*m+(((n>>>16)*m&65535)<<16)&4294967295,n=n<<15|n>>>17,n=(65535&n)*p+(((n>>>16)*p&65535)<<16)&4294967295,h^=n,h=h<<13|h>>>19,i=5*(65535&h)+((5*(h>>>16)&65535)<<16)&4294967295,h=27492+(65535&i)+((58964+(i>>>16)&65535)<<16);switch(n=0,o){case 3:n^=(255&r.charCodeAt(y+2))<<16;case 2:n^=(255&r.charCodeAt(y+1))<<8;case 1:n^=255&r.charCodeAt(y),n=(65535&n)*m+(((n>>>16)*m&65535)<<16)&4294967295,n=n<<15|n>>>17,n=(65535&n)*p+(((n>>>16)*p&65535)<<16)&4294967295,h^=n}return h^=r.length,h^=h>>>16,h=2246822507*(65535&h)+((2246822507*(h>>>16)&65535)<<16)&4294967295,h^=h>>>13,h=3266489909*(65535&h)+((3266489909*(h>>>16)&65535)<<16)&4294967295,h^=h>>>16,h>>>0}class nn{constructor(){this.count=0,this.hash=0}update(){for(let t=0;t<arguments.length;t++){let e=arguments[t];if(e!=null)if(Array.isArray(e))this.update.apply(this,e);else{let r=0;switch(typeof e){case"undefined":case"function":continue;case"number":case"boolean":r=e;break;case"string":r=kd(e);break;default:e.updateHashCode?e.updateHashCode(this):console.log("No updateHashCode for "+e.toString());continue}r*=3432918353,r=r<<15|r>>>17,r*=461845907,this.count=this.count+1;let i=this.hash^r;i=i<<13|i>>>19,i=5*i+3864292196,this.hash=i}}}finish(){let t=this.hash^4*this.count;return t^=t>>>16,t*=2246822507,t^=t>>>13,t*=3266489909,t^=t>>>16,t}static hashStuff(){let t=new nn;return t.update.apply(t,arguments),t.finish()}}function Ed(t){return t?typeof t=="string"?kd(t):t.hashCode():-1}function Rd(t,e){return t&&t.equals?t.equals(e):t===e}function p2(t){return t===null?"null":t}function zn(t){return Array.isArray(t)?"["+t.map(p2).join(", ")+"]":"null"}class Qr{constructor(t,e){this.buckets=Array(16),this.threshold=Math.floor(12),this.itemCount=0,this.hashFunction=t||Ed,this.equalsFunction=e||Rd}get(t){if(t==null)return t;let e=this._getBucket(t);if(!e)return null;for(let r of e)if(this.equalsFunction(r,t))return r;return null}add(t){return this.getOrAdd(t)===t}getOrAdd(t){this._expand();let e=this._getSlot(t),r=this.buckets[e];if(!r)return r=[t],this.buckets[e]=r,this.itemCount++,t;for(let i of r)if(this.equalsFunction(i,t))return i;return r.push(t),this.itemCount++,t}has(t){return this.get(t)!=null}values(){return this.buckets.filter((t)=>t!=null).flat(1)}toString(){return zn(this.values())}get length(){return this.itemCount}_getSlot(t){return this.hashFunction(t)&this.buckets.length-1}_getBucket(t){return this.buckets[this._getSlot(t)]}_expand(){if(this.itemCount<=this.threshold)return;let t=this.buckets,e=2*this.buckets.length;this.buckets=Array(e),this.threshold=Math.floor(0.75*e);for(let r of t)if(r)for(let i of r){let n=this._getSlot(i),o=this.buckets[n];o||(o=[],this.buckets[n]=o),o.push(i)}}}class Ce{hashCode(){let t=new nn;return this.updateHashCode(t),t.finish()}evaluate(t,e){}evalPrecedence(t,e){return this}static andContext(t,e){if(t===null||t===Ce.NONE)return e;if(e===null||e===Ce.NONE)return t;let r=new Us(t,e);return r.opnds.length===1?r.opnds[0]:r}static orContext(t,e){if(t===null)return e;if(e===null)return t;if(t===Ce.NONE||e===Ce.NONE)return Ce.NONE;let r=new qs(t,e);return r.opnds.length===1?r.opnds[0]:r}}class Us extends Ce{constructor(t,e){super();let r=new Qr;t instanceof Us?t.opnds.map(function(n){r.add(n)}):r.add(t),e instanceof Us?e.opnds.map(function(n){r.add(n)}):r.add(e);let i=Ad(r);if(i.length>0){let n=null;i.map(function(o){(n===null||o.precedence<n.precedence)&&(n=o)}),r.add(n)}this.opnds=Array.from(r.values())}equals(t){return this===t||t instanceof Us&&rs(this.opnds,t.opnds)}updateHashCode(t){t.update(this.opnds,"AND")}evaluate(t,e){for(let r=0;r<this.opnds.length;r++)if(!this.opnds[r].evaluate(t,e))return!1;return!0}evalPrecedence(t,e){let r=!1,i=[];for(let o=0;o<this.opnds.length;o++){let s=this.opnds[o],h=s.evalPrecedence(t,e);if(r|=h!==s,h===null)return null;h!==Ce.NONE&&i.push(h)}if(!r)return this;if(i.length===0)return Ce.NONE;let n=null;return i.map(function(o){n=n===null?o:Ce.andContext(n,o)}),n}toString(){let t=this.opnds.map((e)=>e.toString());return(t.length>3?t.slice(3):t).join("&&")}}class qs extends Ce{constructor(t,e){super();let r=new Qr;t instanceof qs?t.opnds.map(function(n){r.add(n)}):r.add(t),e instanceof qs?e.opnds.map(function(n){r.add(n)}):r.add(e);let i=Ad(r);if(i.length>0){let n=i.sort(function(s,h){return s.compareTo(h)}),o=n[n.length-1];r.add(o)}this.opnds=Array.from(r.values())}equals(t){return this===t||t instanceof qs&&rs(this.opnds,t.opnds)}updateHashCode(t){t.update(this.opnds,"OR")}evaluate(t,e){for(let r=0;r<this.opnds.length;r++)if(this.opnds[r].evaluate(t,e))return!0;return!1}evalPrecedence(t,e){let r=!1,i=[];for(let n=0;n<this.opnds.length;n++){let o=this.opnds[n],s=o.evalPrecedence(t,e);if(r|=s!==o,s===Ce.NONE)return Ce.NONE;s!==null&&i.push(s)}if(!r)return this;if(i.length===0)return null;return i.map(function(n){return n}),null}toString(){let t=this.opnds.map((e)=>e.toString());return(t.length>3?t.slice(3):t).join("||")}}function Ad(t){let e=[];return t.values().map(function(r){r instanceof Ce.PrecedencePredicate&&e.push(r)}),e}function vd(t,e){if(t===null){let r={state:null,alt:null,context:null,semanticContext:null};return e&&(r.reachesIntoOuterContext=0),r}{let r={};return r.state=t.state||null,r.alt=t.alt===void 0?null:t.alt,r.context=t.context||null,r.semanticContext=t.semanticContext||null,e&&(r.reachesIntoOuterContext=t.reachesIntoOuterContext||0,r.precedenceFilterSuppressed=t.precedenceFilterSuppressed||!1),r}}class Ye{constructor(t,e){this.checkContext(t,e),t=vd(t),e=vd(e,!0),this.state=t.state!==null?t.state:e.state,this.alt=t.alt!==null?t.alt:e.alt,this.context=t.context!==null?t.context:e.context,this.semanticContext=t.semanticContext!==null?t.semanticContext:e.semanticContext!==null?e.semanticContext:Ce.NONE,this.reachesIntoOuterContext=e.reachesIntoOuterContext,this.precedenceFilterSuppressed=e.precedenceFilterSuppressed}checkContext(t,e){t.context!==null&&t.context!==void 0||e!==null&&e.context!==null&&e.context!==void 0||(this.context=null)}hashCode(){let t=new nn;return this.updateHashCode(t),t.finish()}updateHashCode(t){t.update(this.state.stateNumber,this.alt,this.context,this.semanticContext)}equals(t){return this===t||t instanceof Ye&&this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&(this.context===null?t.context===null:this.context.equals(t.context))&&this.semanticContext.equals(t.semanticContext)&&this.precedenceFilterSuppressed===t.precedenceFilterSuppressed}hashCodeForConfigSet(){let t=new nn;return t.update(this.state.stateNumber,this.alt,this.semanticContext),t.finish()}equalsForConfigSet(t){return this===t||t instanceof Ye&&this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&this.semanticContext.equals(t.semanticContext)}toString(){return"("+this.state+","+this.alt+(this.context!==null?",["+this.context.toString()+"]":"")+(this.semanticContext!==Ce.NONE?","+this.semanticContext.toString():"")+(this.reachesIntoOuterContext>0?",up="+this.reachesIntoOuterContext:"")+")"}}class be{constructor(t,e){this.start=t,this.stop=e}clone(){return new be(this.start,this.stop)}contains(t){return t>=this.start&&t<this.stop}toString(){return this.start===this.stop-1?this.start.toString():this.start.toString()+".."+(this.stop-1).toString()}get length(){return this.stop-this.start}}be.INVALID_INTERVAL=new be(-1,-2);class Yr{constructor(){this.intervals=null,this.readOnly=!1}first(t){return this.intervals===null||this.intervals.length===0?Gt.INVALID_TYPE:this.intervals[0].start}addOne(t){this.addInterval(new be(t,t+1))}addRange(t,e){this.addInterval(new be(t,e+1))}addInterval(t){if(this.intervals===null)this.intervals=[],this.intervals.push(t.clone());else{for(let e=0;e<this.intervals.length;e++){let r=this.intervals[e];if(t.stop<r.start)return void this.intervals.splice(e,0,t);if(t.stop===r.start)return void(this.intervals[e]=new be(t.start,r.stop));if(t.start<=r.stop)return this.intervals[e]=new be(Math.min(r.start,t.start),Math.max(r.stop,t.stop)),void this.reduce(e)}this.intervals.push(t.clone())}}addSet(t){return t.intervals!==null&&t.intervals.forEach((e)=>this.addInterval(e),this),this}reduce(t){if(t<this.intervals.length-1){let e=this.intervals[t],r=this.intervals[t+1];e.stop>=r.stop?(this.intervals.splice(t+1,1),this.reduce(t)):e.stop>=r.start&&(this.intervals[t]=new be(e.start,r.stop),this.intervals.splice(t+1,1))}}complement(t,e){let r=new Yr;return r.addInterval(new be(t,e+1)),this.intervals!==null&&this.intervals.forEach((i)=>r.removeRange(i)),r}contains(t){if(this.intervals===null)return!1;for(let e=0;e<this.intervals.length;e++)if(this.intervals[e].contains(t))return!0;return!1}removeRange(t){if(t.start===t.stop-1)this.removeOne(t.start);else if(this.intervals!==null){let e=0;for(let r=0;r<this.intervals.length;r++){let i=this.intervals[e];if(t.stop<=i.start)return;if(t.start>i.start&&t.stop<i.stop){this.intervals[e]=new be(i.start,t.start);let n=new be(t.stop,i.stop);return void this.intervals.splice(e,0,n)}t.start<=i.start&&t.stop>=i.stop?(this.intervals.splice(e,1),e-=1):t.start<i.stop?this.intervals[e]=new be(i.start,t.start):t.stop<i.stop&&(this.intervals[e]=new be(t.stop,i.stop)),e+=1}}}removeOne(t){if(this.intervals!==null)for(let e=0;e<this.intervals.length;e++){let r=this.intervals[e];if(t<r.start)return;if(t===r.start&&t===r.stop-1)return void this.intervals.splice(e,1);if(t===r.start)return void(this.intervals[e]=new be(r.start+1,r.stop));if(t===r.stop-1)return void(this.intervals[e]=new be(r.start,r.stop-1));if(t<r.stop-1){let i=new be(r.start,t);return r.start=t+1,void this.intervals.splice(e,0,i)}}}toString(t,e,r){return t=t||null,e=e||null,r=r||!1,this.intervals===null?"{}":t!==null||e!==null?this.toTokenString(t,e):r?this.toCharString():this.toIndexString()}toCharString(){let t=[];for(let e=0;e<this.intervals.length;e++){let r=this.intervals[e];r.stop===r.start+1?r.start===Gt.EOF?t.push("<EOF>"):t.push("'"+String.fromCharCode(r.start)+"'"):t.push("'"+String.fromCharCode(r.start)+"'..'"+String.fromCharCode(r.stop-1)+"'")}return t.length>1?"{"+t.join(", ")+"}":t[0]}toIndexString(){let t=[];for(let e=0;e<this.intervals.length;e++){let r=this.intervals[e];r.stop===r.start+1?r.start===Gt.EOF?t.push("<EOF>"):t.push(r.start.toString()):t.push(r.start.toString()+".."+(r.stop-1).toString())}return t.length>1?"{"+t.join(", ")+"}":t[0]}toTokenString(t,e){let r=[];for(let i=0;i<this.intervals.length;i++){let n=this.intervals[i];for(let o=n.start;o<n.stop;o++)r.push(this.elementName(t,e,o))}return r.length>1?"{"+r.join(", ")+"}":r[0]}elementName(t,e,r){return r===Gt.EOF?"<EOF>":r===Gt.EPSILON?"<EPSILON>":t[r]||e[r]}get length(){return this.intervals.map((t)=>t.length).reduce((t,e)=>t+e)}}class te{constructor(){this.atn=null,this.stateNumber=te.INVALID_STATE_NUMBER,this.stateType=null,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.nextTokenWithinRule=null}toString(){return this.stateNumber}equals(t){return t instanceof te&&this.stateNumber===t.stateNumber}isNonGreedyExitState(){return!1}addTransition(t,e){e===void 0&&(e=-1),this.transitions.length===0?this.epsilonOnlyTransitions=t.isEpsilon:this.epsilonOnlyTransitions!==t.isEpsilon&&(this.epsilonOnlyTransitions=!1),e===-1?this.transitions.push(t):this.transitions.splice(e,1,t)}}te.INVALID_TYPE=0,te.BASIC=1,te.RULE_START=2,te.BLOCK_START=3,te.PLUS_BLOCK_START=4,te.STAR_BLOCK_START=5,te.TOKEN_START=6,te.RULE_STOP=7,te.BLOCK_END=8,te.STAR_LOOP_BACK=9,te.STAR_LOOP_ENTRY=10,te.PLUS_LOOP_BACK=11,te.LOOP_END=12,te.serializationNames=["INVALID","BASIC","RULE_START","BLOCK_START","PLUS_BLOCK_START","STAR_BLOCK_START","TOKEN_START","RULE_STOP","BLOCK_END","STAR_LOOP_BACK","STAR_LOOP_ENTRY","PLUS_LOOP_BACK","LOOP_END"],te.INVALID_STATE_NUMBER=-1;class qr extends te{constructor(){return super(),this.stateType=te.RULE_STOP,this}}class Zt{constructor(t){if(t==null)throw"target cannot be null.";this.target=t,this.isEpsilon=!1,this.label=null}}Zt.EPSILON=1,Zt.RANGE=2,Zt.RULE=3,Zt.PREDICATE=4,Zt.ATOM=5,Zt.ACTION=6,Zt.SET=7,Zt.NOT_SET=8,Zt.WILDCARD=9,Zt.PRECEDENCE=10,Zt.serializationNames=["INVALID","EPSILON","RANGE","RULE","PREDICATE","ATOM","ACTION","SET","NOT_SET","WILDCARD","PRECEDENCE"],Zt.serializationTypes={EpsilonTransition:Zt.EPSILON,RangeTransition:Zt.RANGE,RuleTransition:Zt.RULE,PredicateTransition:Zt.PREDICATE,AtomTransition:Zt.ATOM,ActionTransition:Zt.ACTION,SetTransition:Zt.SET,NotSetTransition:Zt.NOT_SET,WildcardTransition:Zt.WILDCARD,PrecedencePredicateTransition:Zt.PRECEDENCE};class $s extends Zt{constructor(t,e,r,i){super(t),this.ruleIndex=e,this.precedence=r,this.followState=i,this.serializationType=Zt.RULE,this.isEpsilon=!0}matches(t,e,r){return!1}}class Ml extends Zt{constructor(t,e){super(t),this.serializationType=Zt.SET,e!=null?this.label=e:(this.label=new Yr,this.label.addOne(Gt.INVALID_TYPE))}matches(t,e,r){return this.label.contains(t)}toString(){return this.label.toString()}}class kl extends Ml{constructor(t,e){super(t,e),this.serializationType=Zt.NOT_SET}matches(t,e,r){return t>=e&&t<=r&&!super.matches(t,e,r)}toString(){return"~"+super.toString()}}class cc extends Zt{constructor(t){super(t),this.serializationType=Zt.WILDCARD}matches(t,e,r){return t>=e&&t<=r}toString(){return"."}}class El extends Zt{constructor(t){super(t)}}class Td{}class Nd extends Td{}class hc extends Nd{}class ns extends hc{get ruleContext(){throw Error("missing interface implementation")}}class Sn extends hc{}class js extends Sn{}var Hn={toStringTree:function(t,e,r){e=e||null,(r=r||null)!==null&&(e=r.ruleNames);let i=Hn.getNodeText(t,e);i=function(s){return s=s.replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r")}(i);let n=t.getChildCount();if(n===0)return i;let o="("+i+" ";n>0&&(i=Hn.toStringTree(t.getChild(0),e),o=o.concat(i));for(let s=1;s<n;s++)i=Hn.toStringTree(t.getChild(s),e),o=o.concat(" "+i);return o=o.concat(")"),o},getNodeText:function(t,e,r){if(e=e||null,(r=r||null)!==null&&(e=r.ruleNames),e!==null){if(t instanceof ns){let n=t.ruleContext.getAltNumber();return n!=0?e[t.ruleIndex]+":"+n:e[t.ruleIndex]}if(t instanceof js)return t.toString();if(t instanceof Sn&&t.symbol!==null)return t.symbol.text}let i=t.getPayload();return i instanceof Gt?i.text:t.getPayload().toString()},getChildren:function(t){let e=[];for(let r=0;r<t.getChildCount();r++)e.push(t.getChild(r));return e},getAncestors:function(t){let e=[];for(t=t.getParent();t!==null;)e=[t].concat(e),t=t.getParent();return e},findAllTokenNodes:function(t,e){return Hn.findAllNodes(t,e,!0)},findAllRuleNodes:function(t,e){return Hn.findAllNodes(t,e,!1)},findAllNodes:function(t,e,r){let i=[];return Hn._findAllNodes(t,e,r,i),i},_findAllNodes:function(t,e,r,i){r&&t instanceof Sn?t.symbol.type===e&&i.push(t):!r&&t instanceof ns&&t.ruleIndex===e&&i.push(t);for(let n=0;n<t.getChildCount();n++)Hn._findAllNodes(t.getChild(n),e,r,i)},descendants:function(t){let e=[t];for(let r=0;r<t.getChildCount();r++)e=e.concat(Hn.descendants(t.getChild(r)));return e}},Ld=Hn;class li extends ns{constructor(t,e){super(),this.parentCtx=t||null,this.invokingState=e||-1}depth(){let t=0,e=this;for(;e!==null;)e=e.parentCtx,t+=1;return t}isEmpty(){return this.invokingState===-1}getSourceInterval(){return be.INVALID_INTERVAL}get ruleContext(){return this}getPayload(){return this}getText(){return this.getChildCount()===0?"":this.children.map(function(t){return t.getText()}).join("")}getAltNumber(){return 0}setAltNumber(t){}getChild(t){return null}getChildCount(){return 0}accept(t){return t.visitChildren(this)}toStringTree(t,e){return Ld.toStringTree(this,t,e)}toString(t,e){t=t||null,e=e||null;let r=this,i="[";for(;r!==null&&r!==e;){if(t===null)r.isEmpty()||(i+=r.invokingState);else{let n=r.ruleIndex;i+=n>=0&&n<t.length?t[n]:""+n}r.parentCtx===null||t===null&&r.parentCtx.isEmpty()||(i+=" "),r=r.parentCtx}return i+="]",i}}class ue{constructor(t){this.cachedHashCode=t}isEmpty(){return this===ue.EMPTY}hasEmptyPath(){return this.getReturnState(this.length-1)===ue.EMPTY_RETURN_STATE}hashCode(){return this.cachedHashCode}updateHashCode(t){t.update(this.cachedHashCode)}}ue.EMPTY=null,ue.EMPTY_RETURN_STATE=2147483647,ue.globalNodeCount=1,ue.id=ue.globalNodeCount,ue.trace_atn_sim=!1;class Ln extends ue{constructor(t,e){let r=new nn;return r.update(t,e),super(r.finish()),this.parents=t,this.returnStates=e,this}isEmpty(){return this.returnStates[0]===ue.EMPTY_RETURN_STATE}getParent(t){return this.parents[t]}getReturnState(t){return this.returnStates[t]}equals(t){return this===t||t instanceof Ln&&this.hashCode()===t.hashCode()&&rs(this.returnStates,t.returnStates)&&rs(this.parents,t.parents)}toString(){if(this.isEmpty())return"[]";{let t="[";for(let e=0;e<this.returnStates.length;e++)e>0&&(t+=", "),this.returnStates[e]!==ue.EMPTY_RETURN_STATE?(t+=this.returnStates[e],this.parents[e]!==null?t=t+" "+this.parents[e]:t+="null"):t+="$";return t+"]"}}get length(){return this.returnStates.length}}class $r extends ue{constructor(t,e){let r=0,i=new nn;t!==null?i.update(t,e):i.update(1),r=i.finish(),super(r),this.parentCtx=t,this.returnState=e}getParent(t){return this.parentCtx}getReturnState(t){return this.returnState}equals(t){return this===t||t instanceof $r&&this.hashCode()===t.hashCode()&&this.returnState===t.returnState&&(this.parentCtx==null?t.parentCtx==null:this.parentCtx.equals(t.parentCtx))}toString(){let t=this.parentCtx===null?"":this.parentCtx.toString();return t.length===0?this.returnState===ue.EMPTY_RETURN_STATE?"$":""+this.returnState:this.returnState+" "+t}get length(){return 1}static create(t,e){return e===ue.EMPTY_RETURN_STATE&&t===null?ue.EMPTY:new $r(t,e)}}class bl extends $r{constructor(){super(null,ue.EMPTY_RETURN_STATE)}isEmpty(){return!0}getParent(t){return null}getReturnState(t){return this.returnState}equals(t){return this===t}toString(){return"$"}}ue.EMPTY=new bl;class is{constructor(t,e){this.buckets=Array(16),this.threshold=Math.floor(12),this.itemCount=0,this.hashFunction=t||Ed,this.equalsFunction=e||Rd}set(t,e){this._expand();let r=this._getSlot(t),i=this.buckets[r];if(!i)return i=[[t,e]],this.buckets[r]=i,this.itemCount++,e;let n=i.find((o)=>this.equalsFunction(o[0],t),this);if(n){let o=n[1];return n[1]=e,o}return i.push([t,e]),this.itemCount++,e}containsKey(t){let e=this._getBucket(t);return!!e&&!!e.find((r)=>this.equalsFunction(r[0],t),this)}get(t){let e=this._getBucket(t);if(!e)return null;let r=e.find((i)=>this.equalsFunction(i[0],t),this);return r?r[1]:null}entries(){return this.buckets.filter((t)=>t!=null).flat(1)}getKeys(){return this.entries().map((t)=>t[0])}getValues(){return this.entries().map((t)=>t[1])}toString(){return"["+this.entries().map((t)=>"{"+t[0]+":"+t[1]+"}").join(", ")+"]"}get length(){return this.itemCount}_getSlot(t){return this.hashFunction(t)&this.buckets.length-1}_getBucket(t){return this.buckets[this._getSlot(t)]}_expand(){if(this.itemCount<=this.threshold)return;let t=this.buckets,e=2*this.buckets.length;this.buckets=Array(e),this.threshold=Math.floor(0.75*e);for(let r of t)if(r)for(let i of r){let n=this._getSlot(i[0]),o=this.buckets[n];o||(o=[],this.buckets[n]=o),o.push(i)}}}function fc(t,e){if(e==null&&(e=li.EMPTY),e.parentCtx===null||e===li.EMPTY)return ue.EMPTY;let r=fc(t,e.parentCtx),i=t.states[e.invokingState].transitions[0];return $r.create(r,i.followState.stateNumber)}function Id(t,e,r){if(t.isEmpty())return t;let i=r.get(t)||null;if(i!==null)return i;if(i=e.get(t),i!==null)return r.set(t,i),i;let n=!1,o=[];for(let h=0;h<o.length;h++){let m=Id(t.getParent(h),e,r);if(n||m!==t.getParent(h)){if(!n){o=[];for(let p=0;p<t.length;p++)o[p]=t.getParent(p);n=!0}o[h]=m}}if(!n)return e.add(t),r.set(t,t),t;let s=null;return s=o.length===0?ue.EMPTY:o.length===1?$r.create(o[0],t.getReturnState(0)):new Ln(o,t.returnStates),e.add(s),r.set(s,s),r.set(t,s),s}function ec(t,e,r,i){if(t===e)return t;if(t instanceof $r&&e instanceof $r)return function(n,o,s,h){if(h!==null){let p=h.get(n,o);if(p!==null)return p;if(p=h.get(o,n),p!==null)return p}let m=function(p,y,_){if(_){if(p===ue.EMPTY)return ue.EMPTY;if(y===ue.EMPTY)return ue.EMPTY}else{if(p===ue.EMPTY&&y===ue.EMPTY)return ue.EMPTY;if(p===ue.EMPTY){let v=[y.returnState,ue.EMPTY_RETURN_STATE],C=[y.parentCtx,null];return new Ln(C,v)}if(y===ue.EMPTY){let v=[p.returnState,ue.EMPTY_RETURN_STATE],C=[p.parentCtx,null];return new Ln(C,v)}}return null}(n,o,s);if(m!==null)return h!==null&&h.set(n,o,m),m;if(n.returnState===o.returnState){let p=ec(n.parentCtx,o.parentCtx,s,h);if(p===n.parentCtx)return n;if(p===o.parentCtx)return o;let y=$r.create(p,n.returnState);return h!==null&&h.set(n,o,y),y}{let p=null;if((n===o||n.parentCtx!==null&&n.parentCtx===o.parentCtx)&&(p=n.parentCtx),p!==null){let C=[n.returnState,o.returnState];n.returnState>o.returnState&&(C[0]=o.returnState,C[1]=n.returnState);let M=new Ln([p,p],C);return h!==null&&h.set(n,o,M),M}let y=[n.returnState,o.returnState],_=[n.parentCtx,o.parentCtx];n.returnState>o.returnState&&(y[0]=o.returnState,y[1]=n.returnState,_=[o.parentCtx,n.parentCtx]);let v=new Ln(_,y);return h!==null&&h.set(n,o,v),v}}(t,e,r,i);if(r){if(t instanceof bl)return t;if(e instanceof bl)return e}return t instanceof $r&&(t=new Ln([t.getParent()],[t.returnState])),e instanceof $r&&(e=new Ln([e.getParent()],[e.returnState])),function(n,o,s,h){if(h!==null){let M=h.get(n,o);if(M!==null)return ue.trace_atn_sim&&console.log("mergeArrays a="+n+",b="+o+" -> previous"),M;if(M=h.get(o,n),M!==null)return ue.trace_atn_sim&&console.log("mergeArrays a="+n+",b="+o+" -> previous"),M}let m=0,p=0,y=0,_=Array(n.returnStates.length+o.returnStates.length).fill(0),v=Array(n.returnStates.length+o.returnStates.length).fill(null);for(;m<n.returnStates.length&&p<o.returnStates.length;){let M=n.parents[m],A=o.parents[p];if(n.returnStates[m]===o.returnStates[p]){let k=n.returnStates[m];k===ue.EMPTY_RETURN_STATE&&M===null&&A===null||M!==null&&A!==null&&M===A?(v[y]=M,_[y]=k):(v[y]=ec(M,A,s,h),_[y]=k),m+=1,p+=1}else n.returnStates[m]<o.returnStates[p]?(v[y]=M,_[y]=n.returnStates[m],m+=1):(v[y]=A,_[y]=o.returnStates[p],p+=1);y+=1}if(m<n.returnStates.length)for(let M=m;M<n.returnStates.length;M++)v[y]=n.parents[M],_[y]=n.returnStates[M],y+=1;else for(let M=p;M<o.returnStates.length;M++)v[y]=o.parents[M],_[y]=o.returnStates[M],y+=1;if(y<v.length){if(y===1){let M=$r.create(v[0],_[0]);return h!==null&&h.set(n,o,M),M}v=v.slice(0,y),_=_.slice(0,y)}let C=new Ln(v,_);return C.equals(n)?(h!==null&&h.set(n,o,n),ue.trace_atn_sim&&console.log("mergeArrays a="+n+",b="+o+" -> a"),n):C.equals(o)?(h!==null&&h.set(n,o,o),ue.trace_atn_sim&&console.log("mergeArrays a="+n+",b="+o+" -> b"),o):(function(M){let A=new is;for(let k=0;k<M.length;k++){let R=M[k];A.containsKey(R)||A.set(R,R)}for(let k=0;k<M.length;k++)M[k]=A.get(M[k])}(v),h!==null&&h.set(n,o,C),ue.trace_atn_sim&&console.log("mergeArrays a="+n+",b="+o+" -> "+C),C)}(t,e,r,i)}class zr{constructor(){this.data=new Uint32Array(1)}set(t){zr._checkIndex(t),this._resize(t),this.data[t>>>5]|=1<<t%32}get(t){zr._checkIndex(t);let e=t>>>5;return!(e>=this.data.length||!(this.data[e]&1<<t%32))}clear(t){zr._checkIndex(t);let e=t>>>5;e<this.data.length&&(this.data[e]&=~(1<<t))}or(t){let e=Math.min(this.data.length,t.data.length);for(let r=0;r<e;++r)this.data[r]|=t.data[r];if(this.data.length<t.data.length){this._resize((t.data.length<<5)-1);let r=t.data.length;for(let i=e;i<r;++i)this.data[i]=t.data[i]}}values(){let t=Array(this.length),e=0,r=this.data.length;for(let i=0;i<r;++i){let n=this.data[i];for(;n!==0;){let o=n&-n;t[e++]=(i<<5)+zr._bitCount(o-1),n^=o}}return t}minValue(){for(let t=0;t<this.data.length;++t){let e=this.data[t];if(e!==0){let r=0;for(;!(1&e);)r++,e>>=1;return r+32*t}}return 0}hashCode(){return nn.hashStuff(this.values())}equals(t){return t instanceof zr&&rs(this.data,t.data)}toString(){return"{"+this.values().join(", ")+"}"}get length(){return this.data.map((t)=>zr._bitCount(t)).reduce((t,e)=>t+e,0)}_resize(t){let e=t+32>>>5;if(e<=this.data.length)return;let r=new Uint32Array(e);r.set(this.data),r.fill(0,this.data.length),this.data=r}static _checkIndex(t){if(t<0)throw RangeError("index cannot be negative")}static _bitCount(t){return t=(t=(858993459&(t-=t>>1&1431655765))+(t>>2&858993459))+(t>>4)&252645135,t+=t>>8,0+(t+=t>>16)&63}}class Ci{constructor(t){this.atn=t}getDecisionLookahead(t){if(t===null)return null;let e=t.transitions.length,r=[];for(let i=0;i<e;i++){r[i]=new Yr;let n=new Qr,o=!1;this._LOOK(t.transition(i).target,null,ue.EMPTY,r[i],n,new zr,o,!1),(r[i].length===0||r[i].contains(Ci.HIT_PRED))&&(r[i]=null)}return r}LOOK(t,e,r){let i=new Yr,n=(r=r||null)!==null?fc(t.atn,r):null;return this._LOOK(t,e,n,i,new Qr,new zr,!0,!0),i}_LOOK(t,e,r,i,n,o,s,h){let m=new Ye({state:t,alt:0,context:r},null);if(!n.has(m)){if(n.add(m),t===e){if(r===null)return void i.addOne(Gt.EPSILON);if(r.isEmpty()&&h)return void i.addOne(Gt.EOF)}if(t instanceof qr){if(r===null)return void i.addOne(Gt.EPSILON);if(r.isEmpty()&&h)return void i.addOne(Gt.EOF);if(r!==ue.EMPTY){let p=o.get(t.ruleIndex);try{o.clear(t.ruleIndex);for(let y=0;y<r.length;y++){let _=this.atn.states[r.getReturnState(y)];this._LOOK(_,e,r.getParent(y),i,n,o,s,h)}}finally{p&&o.set(t.ruleIndex)}return}}for(let p=0;p<t.transitions.length;p++){let y=t.transitions[p];if(y.constructor===$s){if(o.get(y.target.ruleIndex))continue;let _=$r.create(r,y.followState.stateNumber);try{o.set(y.target.ruleIndex),this._LOOK(y.target,e,_,i,n,o,s,h)}finally{o.clear(y.target.ruleIndex)}}else if(y instanceof El)s?this._LOOK(y.target,e,r,i,n,o,s,h):i.addOne(Ci.HIT_PRED);else if(y.isEpsilon)this._LOOK(y.target,e,r,i,n,o,s,h);else if(y.constructor===cc)i.addRange(Gt.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType);else{let _=y.label;_!==null&&(y instanceof kl&&(_=_.complement(Gt.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType)),i.addSet(_))}}}}}Ci.HIT_PRED=Gt.INVALID_TYPE;class Ue{constructor(t,e){this.grammarType=t,this.maxTokenType=e,this.states=[],this.decisionToState=[],this.ruleToStartState=[],this.ruleToStopState=null,this.modeNameToStartState={},this.ruleToTokenType=null,this.lexerActions=null,this.modeToStartState=[]}nextTokensInContext(t,e){return new Ci(this).LOOK(t,null,e)}nextTokensNoContext(t){return t.nextTokenWithinRule!==null||(t.nextTokenWithinRule=this.nextTokensInContext(t,null),t.nextTokenWithinRule.readOnly=!0),t.nextTokenWithinRule}nextTokens(t,e){return e===void 0?this.nextTokensNoContext(t):this.nextTokensInContext(t,e)}addState(t){t!==null&&(t.atn=this,t.stateNumber=this.states.length),this.states.push(t)}removeState(t){this.states[t.stateNumber]=null}defineDecisionState(t){return this.decisionToState.push(t),t.decision=this.decisionToState.length-1,t.decision}getDecisionState(t){return this.decisionToState.length===0?null:this.decisionToState[t]}getExpectedTokens(t,e){if(t<0||t>=this.states.length)throw"Invalid state number.";let r=this.states[t],i=this.nextTokens(r);if(!i.contains(Gt.EPSILON))return i;let n=new Yr;for(n.addSet(i),n.removeOne(Gt.EPSILON);e!==null&&e.invokingState>=0&&i.contains(Gt.EPSILON);){let o=this.states[e.invokingState].transitions[0];i=this.nextTokens(o.followState),n.addSet(i),n.removeOne(Gt.EPSILON),e=e.parentCtx}return i.contains(Gt.EPSILON)&&n.addOne(Gt.EOF),n}}Ue.INVALID_ALT_NUMBER=0;class rc extends te{constructor(){super(),this.stateType=te.BASIC}}class Mi extends te{constructor(){return super(),this.decision=-1,this.nonGreedy=!1,this}}class vi extends Mi{constructor(){return super(),this.endState=null,this}}class pl extends te{constructor(){return super(),this.stateType=te.BLOCK_END,this.startState=null,this}}class yi extends te{constructor(){return super(),this.stateType=te.LOOP_END,this.loopBackState=null,this}}class nc extends te{constructor(){return super(),this.stateType=te.RULE_START,this.stopState=null,this.isPrecedenceRule=!1,this}}class Od extends Mi{constructor(){return super(),this.stateType=te.TOKEN_START,this}}class ic extends Mi{constructor(){return super(),this.stateType=te.PLUS_LOOP_BACK,this}}class ml extends te{constructor(){return super(),this.stateType=te.STAR_LOOP_BACK,this}}class si extends Mi{constructor(){return super(),this.stateType=te.STAR_LOOP_ENTRY,this.loopBackState=null,this.isPrecedenceDecision=null,this}}class gl extends vi{constructor(){return super(),this.stateType=te.PLUS_BLOCK_START,this.loopBackState=null,this}}class _l extends vi{constructor(){return super(),this.stateType=te.STAR_BLOCK_START,this}}class sc extends vi{constructor(){return super(),this.stateType=te.BLOCK_START,this}}class yl extends Zt{constructor(t,e){super(t),this.label_=e,this.label=this.makeLabel(),this.serializationType=Zt.ATOM}makeLabel(){let t=new Yr;return t.addOne(this.label_),t}matches(t,e,r){return this.label_===t}toString(){return this.label_}}class Pd extends Zt{constructor(t,e,r){super(t),this.serializationType=Zt.RANGE,this.start=e,this.stop=r,this.label=this.makeLabel()}makeLabel(){let t=new Yr;return t.addRange(this.start,this.stop),t}matches(t,e,r){return t>=this.start&&t<=this.stop}toString(){return"'"+String.fromCharCode(this.start)+"'..'"+String.fromCharCode(this.stop)+"'"}}class dc extends Zt{constructor(t,e,r,i){super(t),this.serializationType=Zt.ACTION,this.ruleIndex=e,this.actionIndex=r===void 0?-1:r,this.isCtxDependent=i!==void 0&&i,this.isEpsilon=!0}matches(t,e,r){return!1}toString(){return"action_"+this.ruleIndex+":"+this.actionIndex}}class Ji extends Zt{constructor(t,e){super(t),this.serializationType=Zt.EPSILON,this.isEpsilon=!0,this.outermostPrecedenceReturn=e}matches(t,e,r){return!1}toString(){return"epsilon"}}class Rl extends Ce{constructor(t,e,r){super(),this.ruleIndex=t===void 0?-1:t,this.predIndex=e===void 0?-1:e,this.isCtxDependent=r!==void 0&&r}evaluate(t,e){let r=this.isCtxDependent?e:null;return t.sempred(r,this.ruleIndex,this.predIndex)}updateHashCode(t){t.update(this.ruleIndex,this.predIndex,this.isCtxDependent)}equals(t){return this===t||t instanceof Rl&&this.ruleIndex===t.ruleIndex&&this.predIndex===t.predIndex&&this.isCtxDependent===t.isCtxDependent}toString(){return"{"+this.ruleIndex+":"+this.predIndex+"}?"}}Ce.NONE=new Rl;class pc extends El{constructor(t,e,r,i){super(t),this.serializationType=Zt.PREDICATE,this.ruleIndex=e,this.predIndex=r,this.isCtxDependent=i,this.isEpsilon=!0}matches(t,e,r){return!1}getPredicate(){return new Rl(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return"pred_"+this.ruleIndex+":"+this.predIndex}}class Al extends Ce{constructor(t){super(),this.precedence=t===void 0?0:t}evaluate(t,e){return t.precpred(e,this.precedence)}evalPrecedence(t,e){return t.precpred(e,this.precedence)?Ce.NONE:null}compareTo(t){return this.precedence-t.precedence}updateHashCode(t){t.update(this.precedence)}equals(t){return this===t||t instanceof Al&&this.precedence===t.precedence}toString(){return"{"+this.precedence+">=prec}?"}}Ce.PrecedencePredicate=Al;class Dd extends El{constructor(t,e){super(t),this.serializationType=Zt.PRECEDENCE,this.precedence=e,this.isEpsilon=!0}matches(t,e,r){return!1}getPredicate(){return new Al(this.precedence)}toString(){return this.precedence+" >= _p"}}class es{constructor(t){t===void 0&&(t=null),this.readOnly=!1,this.verifyATN=t===null||t.verifyATN,this.generateRuleBypassTransitions=t!==null&&t.generateRuleBypassTransitions}}es.defaultOptions=new es,es.defaultOptions.readOnly=!0;class In{constructor(t){this.actionType=t,this.isPositionDependent=!1}hashCode(){let t=new nn;return this.updateHashCode(t),t.finish()}updateHashCode(t){t.update(this.actionType)}equals(t){return this===t}}class xl extends In{constructor(){super(6)}execute(t){t.skip()}toString(){return"skip"}}xl.INSTANCE=new xl;class mc extends In{constructor(t){super(0),this.channel=t}execute(t){t._channel=this.channel}updateHashCode(t){t.update(this.actionType,this.channel)}equals(t){return this===t||t instanceof mc&&this.channel===t.channel}toString(){return"channel("+this.channel+")"}}class gc extends In{constructor(t,e){super(1),this.ruleIndex=t,this.actionIndex=e,this.isPositionDependent=!0}execute(t){t.action(null,this.ruleIndex,this.actionIndex)}updateHashCode(t){t.update(this.actionType,this.ruleIndex,this.actionIndex)}equals(t){return this===t||t instanceof gc&&this.ruleIndex===t.ruleIndex&&this.actionIndex===t.actionIndex}}class wl extends In{constructor(){super(3)}execute(t){t.more()}toString(){return"more"}}wl.INSTANCE=new wl;class _c extends In{constructor(t){super(7),this.type=t}execute(t){t.type=this.type}updateHashCode(t){t.update(this.actionType,this.type)}equals(t){return this===t||t instanceof _c&&this.type===t.type}toString(){return"type("+this.type+")"}}class bc extends In{constructor(t){super(5),this.mode=t}execute(t){t.pushMode(this.mode)}updateHashCode(t){t.update(this.actionType,this.mode)}equals(t){return this===t||t instanceof bc&&this.mode===t.mode}toString(){return"pushMode("+this.mode+")"}}class vl extends In{constructor(){super(4)}execute(t){t.popMode()}toString(){return"popMode"}}vl.INSTANCE=new vl;class yc extends In{constructor(t){super(2),this.mode=t}execute(t){t.setMode(this.mode)}updateHashCode(t){t.update(this.actionType,this.mode)}equals(t){return this===t||t instanceof yc&&this.mode===t.mode}toString(){return"mode("+this.mode+")"}}function dl(t,e){let r=[];return r[t-1]=e,r.map(function(i){return e})}class Tl{constructor(t){t==null&&(t=es.defaultOptions),this.deserializationOptions=t,this.stateFactories=null,this.actionFactories=null}deserialize(t){let e=this.reset(t);this.checkVersion(e),e&&this.skipUUID();let r=this.readATN();this.readStates(r,e),this.readRules(r,e),this.readModes(r);let i=[];return this.readSets(r,i,this.readInt.bind(this)),e&&this.readSets(r,i,this.readInt32.bind(this)),this.readEdges(r,i),this.readDecisions(r),this.readLexerActions(r,e),this.markPrecedenceDecisions(r),this.verifyATN(r),this.deserializationOptions.generateRuleBypassTransitions&&r.grammarType===1&&(this.generateRuleBypassTransitions(r),this.verifyATN(r)),r}reset(t){if((t.charCodeAt?t.charCodeAt(0):t[0])===3){let e=function(i){let n=i.charCodeAt(0);return n>1?n-2:n+65534},r=t.split("").map(e);return r[0]=t.charCodeAt(0),this.data=r,this.pos=0,!0}return this.data=t,this.pos=0,!1}skipUUID(){let t=0;for(;t++<8;)this.readInt()}checkVersion(t){let e=this.readInt();if(!t&&e!==4)throw"Could not deserialize ATN with version "+e+" (expected 4)."}readATN(){let t=this.readInt(),e=this.readInt();return new Ue(t,e)}readStates(t,e){let r,i,n,o=[],s=[],h=this.readInt();for(let y=0;y<h;y++){let _=this.readInt();if(_===te.INVALID_TYPE){t.addState(null);continue}let v=this.readInt();e&&v===65535&&(v=-1);let C=this.stateFactory(_,v);if(_===te.LOOP_END){let M=this.readInt();o.push([C,M])}else if(C instanceof vi){let M=this.readInt();s.push([C,M])}t.addState(C)}for(r=0;r<o.length;r++)i=o[r],i[0].loopBackState=t.states[i[1]];for(r=0;r<s.length;r++)i=s[r],i[0].endState=t.states[i[1]];let m=this.readInt();for(r=0;r<m;r++)n=this.readInt(),t.states[n].nonGreedy=!0;let p=this.readInt();for(r=0;r<p;r++)n=this.readInt(),t.states[n].isPrecedenceRule=!0}readRules(t,e){let r,i=this.readInt();for(t.grammarType===0&&(t.ruleToTokenType=dl(i,0)),t.ruleToStartState=dl(i,0),r=0;r<i;r++){let n=this.readInt();if(t.ruleToStartState[r]=t.states[n],t.grammarType===0){let o=this.readInt();e&&o===65535&&(o=Gt.EOF),t.ruleToTokenType[r]=o}}for(t.ruleToStopState=dl(i,0),r=0;r<t.states.length;r++){let n=t.states[r];n instanceof qr&&(t.ruleToStopState[n.ruleIndex]=n,t.ruleToStartState[n.ruleIndex].stopState=n)}}readModes(t){let e=this.readInt();for(let r=0;r<e;r++){let i=this.readInt();t.modeToStartState.push(t.states[i])}}readSets(t,e,r){let i=this.readInt();for(let n=0;n<i;n++){let o=new Yr;e.push(o);let s=this.readInt();this.readInt()!==0&&o.addOne(-1);for(let h=0;h<s;h++){let m=r(),p=r();o.addRange(m,p)}}}readEdges(t,e){let r,i,n,o,s,h=this.readInt();for(r=0;r<h;r++){let m=this.readInt(),p=this.readInt(),y=this.readInt(),_=this.readInt(),v=this.readInt(),C=this.readInt();o=this.edgeFactory(t,y,m,p,_,v,C,e),t.states[m].addTransition(o)}for(r=0;r<t.states.length;r++)for(n=t.states[r],i=0;i<n.transitions.length;i++){let m=n.transitions[i];if(!(m instanceof $s))continue;let p=-1;t.ruleToStartState[m.target.ruleIndex].isPrecedenceRule&&m.precedence===0&&(p=m.target.ruleIndex),o=new Ji(m.followState,p),t.ruleToStopState[m.target.ruleIndex].addTransition(o)}for(r=0;r<t.states.length;r++){if(n=t.states[r],n instanceof vi){if(n.endState===null)throw"IllegalState";if(n.endState.startState!==null)throw"IllegalState";n.endState.startState=n}if(n instanceof ic)for(i=0;i<n.transitions.length;i++)s=n.transitions[i].target,s instanceof gl&&(s.loopBackState=n);else if(n instanceof ml)for(i=0;i<n.transitions.length;i++)s=n.transitions[i].target,s instanceof si&&(s.loopBackState=n)}}readDecisions(t){let e=this.readInt();for(let r=0;r<e;r++){let i=this.readInt(),n=t.states[i];t.decisionToState.push(n),n.decision=r}}readLexerActions(t,e){if(t.grammarType===0){let r=this.readInt();t.lexerActions=dl(r,null);for(let i=0;i<r;i++){let n=this.readInt(),o=this.readInt();e&&o===65535&&(o=-1);let s=this.readInt();e&&s===65535&&(s=-1),t.lexerActions[i]=this.lexerActionFactory(n,o,s)}}}generateRuleBypassTransitions(t){let e,r=t.ruleToStartState.length;for(e=0;e<r;e++)t.ruleToTokenType[e]=t.maxTokenType+e+1;for(e=0;e<r;e++)this.generateRuleBypassTransition(t,e)}generateRuleBypassTransition(t,e){let r,i,n=new sc;n.ruleIndex=e,t.addState(n);let o=new pl;o.ruleIndex=e,t.addState(o),n.endState=o,t.defineDecisionState(n),o.startState=n;let s=null,h=null;if(t.ruleToStartState[e].isPrecedenceRule){for(h=null,r=0;r<t.states.length;r++)if(i=t.states[r],this.stateIsEndStateFor(i,e)){h=i,s=i.loopBackState.transitions[0];break}if(s===null)throw"Couldn't identify final state of the precedence rule prefix section."}else h=t.ruleToStopState[e];for(r=0;r<t.states.length;r++){i=t.states[r];for(let _=0;_<i.transitions.length;_++){let v=i.transitions[_];v!==s&&v.target===h&&(v.target=o)}}let m=t.ruleToStartState[e],p=m.transitions.length;for(;p>0;)n.addTransition(m.transitions[p-1]),m.transitions=m.transitions.slice(-1);t.ruleToStartState[e].addTransition(new Ji(n)),o.addTransition(new Ji(h));let y=new rc;t.addState(y),y.addTransition(new yl(o,t.ruleToTokenType[e])),n.addTransition(new Ji(y))}stateIsEndStateFor(t,e){if(t.ruleIndex!==e)return null;if(!(t instanceof si))return null;let r=t.transitions[t.transitions.length-1].target;return r instanceof yi&&r.epsilonOnlyTransitions&&r.transitions[0].target instanceof qr?t:null}markPrecedenceDecisions(t){for(let e=0;e<t.states.length;e++){let r=t.states[e];if(r instanceof si&&t.ruleToStartState[r.ruleIndex].isPrecedenceRule){let i=r.transitions[r.transitions.length-1].target;i instanceof yi&&i.epsilonOnlyTransitions&&i.transitions[0].target instanceof qr&&(r.isPrecedenceDecision=!0)}}}verifyATN(t){if(this.deserializationOptions.verifyATN)for(let e=0;e<t.states.length;e++){let r=t.states[e];if(r!==null)if(this.checkCondition(r.epsilonOnlyTransitions||r.transitions.length<=1),r instanceof gl)this.checkCondition(r.loopBackState!==null);else if(r instanceof si)if(this.checkCondition(r.loopBackState!==null),this.checkCondition(r.transitions.length===2),r.transitions[0].target instanceof _l)this.checkCondition(r.transitions[1].target instanceof yi),this.checkCondition(!r.nonGreedy);else{if(!(r.transitions[0].target instanceof yi))throw"IllegalState";this.checkCondition(r.transitions[1].target instanceof _l),this.checkCondition(r.nonGreedy)}else r instanceof ml?(this.checkCondition(r.transitions.length===1),this.checkCondition(r.transitions[0].target instanceof si)):r instanceof yi?this.checkCondition(r.loopBackState!==null):r instanceof nc?this.checkCondition(r.stopState!==null):r instanceof vi?this.checkCondition(r.endState!==null):r instanceof pl?this.checkCondition(r.startState!==null):r instanceof Mi?this.checkCondition(r.transitions.length<=1||r.decision>=0):this.checkCondition(r.transitions.length<=1||r instanceof qr)}}checkCondition(t,e){if(!t)throw e==null&&(e="IllegalState"),e}readInt(){return this.data[this.pos++]}readInt32(){return this.readInt()|this.readInt()<<16}edgeFactory(t,e,r,i,n,o,s,h){let m=t.states[i];switch(e){case Zt.EPSILON:return new Ji(m);case Zt.RANGE:return new Pd(m,s!==0?Gt.EOF:n,o);case Zt.RULE:return new $s(t.states[n],o,s,m);case Zt.PREDICATE:return new pc(m,n,o,s!==0);case Zt.PRECEDENCE:return new Dd(m,n);case Zt.ATOM:return new yl(m,s!==0?Gt.EOF:n);case Zt.ACTION:return new dc(m,n,o,s!==0);case Zt.SET:return new Ml(m,h[n]);case Zt.NOT_SET:return new kl(m,h[n]);case Zt.WILDCARD:return new cc(m);default:throw"The specified transition type: "+e+" is not valid."}}stateFactory(t,e){if(this.stateFactories===null){let r=[];r[te.INVALID_TYPE]=null,r[te.BASIC]=()=>new rc,r[te.RULE_START]=()=>new nc,r[te.BLOCK_START]=()=>new sc,r[te.PLUS_BLOCK_START]=()=>new gl,r[te.STAR_BLOCK_START]=()=>new _l,r[te.TOKEN_START]=()=>new Od,r[te.RULE_STOP]=()=>new qr,r[te.BLOCK_END]=()=>new pl,r[te.STAR_LOOP_BACK]=()=>new ml,r[te.STAR_LOOP_ENTRY]=()=>new si,r[te.PLUS_LOOP_BACK]=()=>new ic,r[te.LOOP_END]=()=>new yi,this.stateFactories=r}if(t>this.stateFactories.length||this.stateFactories[t]===null)throw"The specified state type "+t+" is not valid.";{let r=this.stateFactories[t]();if(r!==null)return r.ruleIndex=e,r}}lexerActionFactory(t,e,r){if(this.actionFactories===null){let i=[];i[0]=(n,o)=>new mc(n),i[1]=(n,o)=>new gc(n,o),i[2]=(n,o)=>new yc(n),i[3]=(n,o)=>wl.INSTANCE,i[4]=(n,o)=>vl.INSTANCE,i[5]=(n,o)=>new bc(n),i[6]=(n,o)=>xl.INSTANCE,i[7]=(n,o)=>new _c(n),this.actionFactories=i}if(t>this.actionFactories.length||this.actionFactories[t]===null)throw"The specified lexer action type "+t+" is not valid.";return this.actionFactories[t](e,r)}}class ss{syntaxError(t,e,r,i,n,o){}reportAmbiguity(t,e,r,i,n,o,s){}reportAttemptingFullContext(t,e,r,i,n,o){}reportContextSensitivity(t,e,r,i,n,o){}}class Sl extends ss{constructor(){super()}syntaxError(t,e,r,i,n,o){console.error("line "+r+":"+i+" "+n)}}Sl.INSTANCE=new Sl;class Fd extends ss{constructor(t){if(super(),t===null)throw"delegates";return this.delegates=t,this}syntaxError(t,e,r,i,n,o){this.delegates.map((s)=>s.syntaxError(t,e,r,i,n,o))}reportAmbiguity(t,e,r,i,n,o,s){this.delegates.map((h)=>h.reportAmbiguity(t,e,r,i,n,o,s))}reportAttemptingFullContext(t,e,r,i,n,o){this.delegates.map((s)=>s.reportAttemptingFullContext(t,e,r,i,n,o))}reportContextSensitivity(t,e,r,i,n,o){this.delegates.map((s)=>s.reportContextSensitivity(t,e,r,i,n,o))}}class zs{constructor(){this._listeners=[Sl.INSTANCE],this._interp=null,this._stateNumber=-1}checkVersion(t){t!=="4.13.2"&&console.log("ANTLR runtime and generated code versions disagree: 4.13.2!="+t)}addErrorListener(t){this._listeners.push(t)}removeErrorListeners(){this._listeners=[]}getLiteralNames(){return Object.getPrototypeOf(this).constructor.literalNames||[]}getSymbolicNames(){return Object.getPrototypeOf(this).constructor.symbolicNames||[]}getTokenNames(){if(!this.tokenNames){let t=this.getLiteralNames(),e=this.getSymbolicNames(),r=t.length>e.length?t.length:e.length;this.tokenNames=[];for(let i=0;i<r;i++)this.tokenNames[i]=t[i]||e[i]||"<INVALID"}return this.tokenNames}getTokenTypeMap(){let t=this.getTokenNames();if(t===null)throw"The current recognizer does not provide a list of token names.";let e=this.tokenTypeMapCache[t];return e===void 0&&(e=t.reduce(function(r,i,n){r[i]=n}),e.EOF=Gt.EOF,this.tokenTypeMapCache[t]=e),e}getRuleIndexMap(){let t=this.ruleNames;if(t===null)throw"The current recognizer does not provide a list of rule names.";let e=this.ruleIndexMapCache[t];return e===void 0&&(e=t.reduce(function(r,i,n){r[i]=n}),this.ruleIndexMapCache[t]=e),e}getTokenType(t){let e=this.getTokenTypeMap()[t];return e!==void 0?e:Gt.INVALID_TYPE}getErrorHeader(t){return"line "+t.getOffendingToken().line+":"+t.getOffendingToken().column}getTokenErrorDisplay(t){if(t===null)return"<no token>";let e=t.text;return e===null&&(e=t.type===Gt.EOF?"<EOF>":"<"+t.type+">"),e=e.replace(`
|
|
17
|
+
`,"\\n").replace("\r","\\r").replace("\t","\\t"),"'"+e+"'"}getErrorListenerDispatch(){return console.warn("Calling deprecated method in Recognizer class: getErrorListenerDispatch()"),this.getErrorListener()}getErrorListener(){return new Fd(this._listeners)}sempred(t,e,r){return!0}precpred(t,e){return!0}get atn(){return this._interp.atn}get state(){return this._stateNumber}set state(t){this._stateNumber=t}}zs.tokenTypeMapCache={},zs.ruleIndexMapCache={};class Vn extends Gt{constructor(t,e,r,i,n){super(),this.source=t!==void 0?t:Vn.EMPTY_SOURCE,this.type=e!==void 0?e:null,this.channel=r!==void 0?r:Gt.DEFAULT_CHANNEL,this.start=i!==void 0?i:-1,this.stop=n!==void 0?n:-1,this.tokenIndex=-1,this.source[0]!==null?(this.line=t[0].line,this.column=t[0].column):this.column=-1}clone(){let t=new Vn(this.source,this.type,this.channel,this.start,this.stop);return t.tokenIndex=this.tokenIndex,t.line=this.line,t.column=this.column,t.text=this.text,t}cloneWithType(t){let e=new Vn(this.source,t,this.channel,this.start,this.stop);return e.tokenIndex=this.tokenIndex,e.line=this.line,e.column=this.column,t===Gt.EOF&&(e.text=""),e}toString(){let t=this.text;return t=t!==null?t.replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t"):"<no text>","[@"+this.tokenIndex+","+this.start+":"+this.stop+"='"+t+"',<"+this.type+">"+(this.channel>0?",channel="+this.channel:"")+","+this.line+":"+this.column+"]"}get text(){if(this._text!==null)return this._text;let t=this.getInputStream();if(t===null)return null;let e=t.size;return this.start<e&&this.stop<e?t.getText(this.start,this.stop):"<EOF>"}set text(t){this._text=t}}Vn.EMPTY_SOURCE=[null,null];class Bd{}class Cl extends Bd{constructor(t){super(),this.copyText=t!==void 0&&t}create(t,e,r,i,n,o,s,h){let m=new Vn(t,e,i,n,o);return m.line=s,m.column=h,r!==null?m.text=r:this.copyText&&t[1]!==null&&(m.text=t[1].getText(n,o)),m}createThin(t,e){let r=new Vn(null,t);return r.text=e,r}}Cl.DEFAULT=new Cl;class Wn extends Error{constructor(t){super(t.message),Error.captureStackTrace&&Error.captureStackTrace(this,Wn),this.message=t.message,this.recognizer=t.recognizer,this.input=t.input,this.ctx=t.ctx,this.offendingToken=null,this.offendingState=-1,this.recognizer!==null&&(this.offendingState=this.recognizer.state)}getExpectedTokens(){return this.recognizer!==null?this.recognizer.atn.getExpectedTokens(this.offendingState,this.ctx):null}toString(){return this.message}}class Nl extends Wn{constructor(t,e,r,i){super({message:"",recognizer:t,input:e,ctx:null}),this.startIndex=r,this.deadEndConfigs=i}toString(){let t="";return this.startIndex>=0&&this.startIndex<this.input.size&&(t=this.input.getText(new be(this.startIndex,this.startIndex))),"LexerNoViableAltException"+t}}class ze extends zs{constructor(t){super(),this._input=t,this._factory=Cl.DEFAULT,this._tokenFactorySourcePair=[this,t],this._interp=null,this._token=null,this._tokenStartCharIndex=-1,this._tokenStartLine=-1,this._tokenStartColumn=-1,this._hitEOF=!1,this._channel=Gt.DEFAULT_CHANNEL,this._type=Gt.INVALID_TYPE,this._modeStack=[],this._mode=ze.DEFAULT_MODE,this._text=null}reset(){this._input!==null&&this._input.seek(0),this._token=null,this._type=Gt.INVALID_TYPE,this._channel=Gt.DEFAULT_CHANNEL,this._tokenStartCharIndex=-1,this._tokenStartColumn=-1,this._tokenStartLine=-1,this._text=null,this._hitEOF=!1,this._mode=ze.DEFAULT_MODE,this._modeStack=[],this._interp.reset()}nextToken(){if(this._input===null)throw"nextToken requires a non-null input stream.";let t=this._input.mark();try{for(;;){if(this._hitEOF)return this.emitEOF(),this._token;this._token=null,this._channel=Gt.DEFAULT_CHANNEL,this._tokenStartCharIndex=this._input.index,this._tokenStartColumn=this._interp.column,this._tokenStartLine=this._interp.line,this._text=null;let e=!1;for(;;){this._type=Gt.INVALID_TYPE;let r=ze.SKIP;try{r=this._interp.match(this._input,this._mode)}catch(i){if(!(i instanceof Wn))throw console.log(i.stack),i;this.notifyListeners(i),this.recover(i)}if(this._input.LA(1)===Gt.EOF&&(this._hitEOF=!0),this._type===Gt.INVALID_TYPE&&(this._type=r),this._type===ze.SKIP){e=!0;break}if(this._type!==ze.MORE)break}if(!e)return this._token===null&&this.emit(),this._token}}finally{this._input.release(t)}}skip(){this._type=ze.SKIP}more(){this._type=ze.MORE}mode(t){console.warn("Calling deprecated method in Lexer class: mode(...)"),this.setMode(t)}setMode(t){this._mode=t}getMode(){return this._mode}getModeStack(){return this._modeStack}pushMode(t){this._interp.debug&&console.log("pushMode "+t),this._modeStack.push(this._mode),this.setMode(t)}popMode(){if(this._modeStack.length===0)throw"Empty Stack";return this._interp.debug&&console.log("popMode back to "+this._modeStack.slice(0,-1)),this.setMode(this._modeStack.pop()),this._mode}emitToken(t){this._token=t}emit(){let t=this._factory.create(this._tokenFactorySourcePair,this._type,this._text,this._channel,this._tokenStartCharIndex,this.getCharIndex()-1,this._tokenStartLine,this._tokenStartColumn);return this.emitToken(t),t}emitEOF(){let t=this.column,e=this.line,r=this._factory.create(this._tokenFactorySourcePair,Gt.EOF,null,Gt.DEFAULT_CHANNEL,this._input.index,this._input.index-1,e,t);return this.emitToken(r),r}getCharIndex(){return this._input.index}getAllTokens(){let t=[],e=this.nextToken();for(;e.type!==Gt.EOF;)t.push(e),e=this.nextToken();return t}notifyListeners(t){let e=this._tokenStartCharIndex,r=this._input.index,i=this._input.getText(e,r),n="token recognition error at: '"+this.getErrorDisplay(i)+"'";this.getErrorListener().syntaxError(this,null,this._tokenStartLine,this._tokenStartColumn,n,t)}getErrorDisplay(t){let e=[];for(let r=0;r<t.length;r++)e.push(t[r]);return e.join("")}getErrorDisplayForChar(t){return t.charCodeAt(0)===Gt.EOF?"<EOF>":t===`
|
|
18
|
+
`?"\\n":t==="\t"?"\\t":t==="\r"?"\\r":t}getCharErrorDisplay(t){return"'"+this.getErrorDisplayForChar(t)+"'"}recover(t){this._input.LA(1)!==Gt.EOF&&(t instanceof Nl?this._interp.consume(this._input):this._input.consume())}get inputStream(){return this._input}set inputStream(t){this._input=null,this._tokenFactorySourcePair=[this,this._input],this.reset(),this._input=t,this._tokenFactorySourcePair=[this,this._input]}get sourceName(){return this._input.sourceName}get type(){return this._type}set type(t){this._type=t}get line(){return this._interp.line}set line(t){this._interp.line=t}get column(){return this._interp.column}set column(t){this._interp.column=t}get text(){return this._text!==null?this._text:this._interp.getText(this._input)}set text(t){this._text=t}}function m2(t){return t.hashCodeForConfigSet()}function g2(t,e){return t===e||t!==null&&e!==null&&t.equalsForConfigSet(e)}ze.DEFAULT_MODE=0,ze.MORE=-2,ze.SKIP=-3,ze.DEFAULT_TOKEN_CHANNEL=Gt.DEFAULT_CHANNEL,ze.HIDDEN=Gt.HIDDEN_CHANNEL,ze.MIN_CHAR_VALUE=0,ze.MAX_CHAR_VALUE=1114111;class Hr{constructor(t){this.configLookup=new Qr(m2,g2),this.fullCtx=t===void 0||t,this.readOnly=!1,this.configs=[],this.uniqueAlt=0,this.conflictingAlts=null,this.hasSemanticContext=!1,this.dipsIntoOuterContext=!1,this.cachedHashCode=-1}add(t,e){if(e===void 0&&(e=null),this.readOnly)throw"This set is readonly";t.semanticContext!==Ce.NONE&&(this.hasSemanticContext=!0),t.reachesIntoOuterContext>0&&(this.dipsIntoOuterContext=!0);let r=this.configLookup.getOrAdd(t);if(r===t)return this.cachedHashCode=-1,this.configs.push(t),!0;let i=!this.fullCtx,n=ec(r.context,t.context,i,e);return r.reachesIntoOuterContext=Math.max(r.reachesIntoOuterContext,t.reachesIntoOuterContext),t.precedenceFilterSuppressed&&(r.precedenceFilterSuppressed=!0),r.context=n,!0}getStates(){let t=new Qr;for(let e=0;e<this.configs.length;e++)t.add(this.configs[e].state);return t}getPredicates(){let t=[];for(let e=0;e<this.configs.length;e++){let r=this.configs[e].semanticContext;r!==Ce.NONE&&t.push(r.semanticContext)}return t}optimizeConfigs(t){if(this.readOnly)throw"This set is readonly";if(this.configLookup.length!==0)for(let e=0;e<this.configs.length;e++){let r=this.configs[e];r.context=t.getCachedContext(r.context)}}addAll(t){for(let e=0;e<t.length;e++)this.add(t[e]);return!1}equals(t){return this===t||t instanceof Hr&&rs(this.configs,t.configs)&&this.fullCtx===t.fullCtx&&this.uniqueAlt===t.uniqueAlt&&this.conflictingAlts===t.conflictingAlts&&this.hasSemanticContext===t.hasSemanticContext&&this.dipsIntoOuterContext===t.dipsIntoOuterContext}hashCode(){let t=new nn;return t.update(this.configs),t.finish()}updateHashCode(t){this.readOnly?(this.cachedHashCode===-1&&(this.cachedHashCode=this.hashCode()),t.update(this.cachedHashCode)):t.update(this.hashCode())}isEmpty(){return this.configs.length===0}contains(t){if(this.configLookup===null)throw"This method is not implemented for readonly sets.";return this.configLookup.contains(t)}containsFast(t){if(this.configLookup===null)throw"This method is not implemented for readonly sets.";return this.configLookup.containsFast(t)}clear(){if(this.readOnly)throw"This set is readonly";this.configs=[],this.cachedHashCode=-1,this.configLookup=new Qr}setReadonly(t){this.readOnly=t,t&&(this.configLookup=null)}toString(){return zn(this.configs)+(this.hasSemanticContext?",hasSemanticContext="+this.hasSemanticContext:"")+(this.uniqueAlt!==Ue.INVALID_ALT_NUMBER?",uniqueAlt="+this.uniqueAlt:"")+(this.conflictingAlts!==null?",conflictingAlts="+this.conflictingAlts:"")+(this.dipsIntoOuterContext?",dipsIntoOuterContext":"")}get items(){return this.configs}get length(){return this.configs.length}}class jn{constructor(t,e){return t===null&&(t=-1),e===null&&(e=new Hr),this.stateNumber=t,this.configs=e,this.edges=null,this.isAcceptState=!1,this.prediction=0,this.lexerActionExecutor=null,this.requiresFullContext=!1,this.predicates=null,this}getAltSet(){let t=new Qr;if(this.configs!==null)for(let e=0;e<this.configs.length;e++){let r=this.configs[e];t.add(r.alt)}return t.length===0?null:t}equals(t){return this===t||t instanceof jn&&this.configs.equals(t.configs)}toString(){let t=this.stateNumber+":"+this.configs;return this.isAcceptState&&(t+="=>",this.predicates!==null?t+=this.predicates:t+=this.prediction),t}hashCode(){let t=new nn;return t.update(this.configs),t.finish()}}class vn{constructor(t,e){return this.atn=t,this.sharedContextCache=e,this}getCachedContext(t){if(this.sharedContextCache===null)return t;let e=new is;return Id(t,this.sharedContextCache,e)}}vn.ERROR=new jn(2147483647,new Hr);class oc extends Hr{constructor(){super(),this.configLookup=new Qr}}class Kr extends Ye{constructor(t,e){super(t,e);let r=t.lexerActionExecutor||null;return this.lexerActionExecutor=r||(e!==null?e.lexerActionExecutor:null),this.passedThroughNonGreedyDecision=e!==null&&this.checkNonGreedyDecision(e,this.state),this.hashCodeForConfigSet=Kr.prototype.hashCode,this.equalsForConfigSet=Kr.prototype.equals,this}updateHashCode(t){t.update(this.state.stateNumber,this.alt,this.context,this.semanticContext,this.passedThroughNonGreedyDecision,this.lexerActionExecutor)}equals(t){return this===t||t instanceof Kr&&this.passedThroughNonGreedyDecision===t.passedThroughNonGreedyDecision&&(this.lexerActionExecutor?this.lexerActionExecutor.equals(t.lexerActionExecutor):!t.lexerActionExecutor)&&super.equals(t)}checkNonGreedyDecision(t,e){return t.passedThroughNonGreedyDecision||e instanceof Mi&&e.nonGreedy}}class Hs extends In{constructor(t,e){super(e.actionType),this.offset=t,this.action=e,this.isPositionDependent=!0}execute(t){this.action.execute(t)}updateHashCode(t){t.update(this.actionType,this.offset,this.action)}equals(t){return this===t||t instanceof Hs&&this.offset===t.offset&&this.action===t.action}}class ts{constructor(t){return this.lexerActions=t===null?[]:t,this.cachedHashCode=nn.hashStuff(t),this}fixOffsetBeforeMatch(t){let e=null;for(let r=0;r<this.lexerActions.length;r++)!this.lexerActions[r].isPositionDependent||this.lexerActions[r]instanceof Hs||(e===null&&(e=this.lexerActions.concat([])),e[r]=new Hs(t,this.lexerActions[r]));return e===null?this:new ts(e)}execute(t,e,r){let i=!1,n=e.index;try{for(let o=0;o<this.lexerActions.length;o++){let s=this.lexerActions[o];if(s instanceof Hs){let h=s.offset;e.seek(r+h),s=s.action,i=r+h!==n}else s.isPositionDependent&&(e.seek(n),i=!1);s.execute(t)}}finally{i&&e.seek(n)}}hashCode(){return this.cachedHashCode}updateHashCode(t){t.update(this.cachedHashCode)}equals(t){if(this===t)return!0;if(t instanceof ts){if(this.cachedHashCode!=t.cachedHashCode)return!1;if(this.lexerActions.length!=t.lexerActions.length)return!1;{let e=this.lexerActions.length;for(let r=0;r<e;++r)if(!this.lexerActions[r].equals(t.lexerActions[r]))return!1;return!0}}return!1}static append(t,e){if(t===null)return new ts([e]);let r=t.lexerActions.concat([e]);return new ts(r)}}function Sd(t){t.index=-1,t.line=0,t.column=-1,t.dfaState=null}class Ud{constructor(){Sd(this)}reset(){Sd(this)}}class $e extends vn{constructor(t,e,r,i){super(e,i),this.decisionToDFA=r,this.recog=t,this.startIndex=-1,this.line=1,this.column=0,this.mode=ze.DEFAULT_MODE,this.prevAccept=new Ud}copyState(t){this.column=t.column,this.line=t.line,this.mode=t.mode,this.startIndex=t.startIndex}match(t,e){this.mode=e;let r=t.mark();try{this.startIndex=t.index,this.prevAccept.reset();let i=this.decisionToDFA[e];return i.s0===null?this.matchATN(t):this.execATN(t,i.s0)}finally{t.release(r)}}reset(){this.prevAccept.reset(),this.startIndex=-1,this.line=1,this.column=0,this.mode=ze.DEFAULT_MODE}matchATN(t){let e=this.atn.modeToStartState[this.mode];$e.debug&&console.log("matchATN mode "+this.mode+" start: "+e);let r=this.mode,i=this.computeStartState(t,e),n=i.hasSemanticContext;i.hasSemanticContext=!1;let o=this.addDFAState(i);n||(this.decisionToDFA[this.mode].s0=o);let s=this.execATN(t,o);return $e.debug&&console.log("DFA after matchATN: "+this.decisionToDFA[r].toLexerString()),s}execATN(t,e){$e.debug&&console.log("start state closure="+e.configs),e.isAcceptState&&this.captureSimState(this.prevAccept,t,e);let r=t.LA(1),i=e;for(;;){$e.debug&&console.log("execATN loop starting closure: "+i.configs);let n=this.getExistingTargetState(i,r);if(n===null&&(n=this.computeTargetState(t,i,r)),n===vn.ERROR)break;if(r!==Gt.EOF&&this.consume(t),n.isAcceptState&&(this.captureSimState(this.prevAccept,t,n),r===Gt.EOF))break;r=t.LA(1),i=n}return this.failOrAccept(this.prevAccept,t,i.configs,r)}getExistingTargetState(t,e){if(t.edges===null||e<$e.MIN_DFA_EDGE||e>$e.MAX_DFA_EDGE)return null;let r=t.edges[e-$e.MIN_DFA_EDGE];return r===void 0&&(r=null),$e.debug&&r!==null&&console.log("reuse state "+t.stateNumber+" edge to "+r.stateNumber),r}computeTargetState(t,e,r){let i=new oc;return this.getReachableConfigSet(t,e.configs,i,r),i.items.length===0?(i.hasSemanticContext||this.addDFAEdge(e,r,vn.ERROR),vn.ERROR):this.addDFAEdge(e,r,null,i)}failOrAccept(t,e,r,i){if(this.prevAccept.dfaState!==null){let n=t.dfaState.lexerActionExecutor;return this.accept(e,n,this.startIndex,t.index,t.line,t.column),t.dfaState.prediction}if(i===Gt.EOF&&e.index===this.startIndex)return Gt.EOF;throw new Nl(this.recog,e,this.startIndex,r)}getReachableConfigSet(t,e,r,i){let n=Ue.INVALID_ALT_NUMBER;for(let o=0;o<e.items.length;o++){let s=e.items[o],h=s.alt===n;if(!h||!s.passedThroughNonGreedyDecision){$e.debug&&console.log(`testing %s at %s
|
|
19
|
+
`,this.getTokenName(i),s.toString(this.recog,!0));for(let m=0;m<s.state.transitions.length;m++){let p=s.state.transitions[m],y=this.getReachableTarget(p,i);if(y!==null){let _=s.lexerActionExecutor;_!==null&&(_=_.fixOffsetBeforeMatch(t.index-this.startIndex));let v=i===Gt.EOF,C=new Kr({state:y,lexerActionExecutor:_},s);this.closure(t,C,r,h,!0,v)&&(n=s.alt)}}}}}accept(t,e,r,i,n,o){$e.debug&&console.log(`ACTION %s
|
|
20
|
+
`,e),t.seek(i),this.line=n,this.column=o,e!==null&&this.recog!==null&&e.execute(this.recog,t,r)}getReachableTarget(t,e){return t.matches(e,0,ze.MAX_CHAR_VALUE)?t.target:null}computeStartState(t,e){let r=ue.EMPTY,i=new oc;for(let n=0;n<e.transitions.length;n++){let o=e.transitions[n].target,s=new Kr({state:o,alt:n+1,context:r},null);this.closure(t,s,i,!1,!1,!1)}return i}closure(t,e,r,i,n,o){let s=null;if($e.debug&&console.log("closure("+e.toString(this.recog,!0)+")"),e.state instanceof qr){if($e.debug&&(this.recog!==null?console.log(`closure at %s rule stop %s
|
|
21
|
+
`,this.recog.ruleNames[e.state.ruleIndex],e):console.log(`closure at rule stop %s
|
|
22
|
+
`,e)),e.context===null||e.context.hasEmptyPath()){if(e.context===null||e.context.isEmpty())return r.add(e),!0;r.add(new Kr({state:e.state,context:ue.EMPTY},e)),i=!0}if(e.context!==null&&!e.context.isEmpty()){for(let h=0;h<e.context.length;h++)if(e.context.getReturnState(h)!==ue.EMPTY_RETURN_STATE){let m=e.context.getParent(h),p=this.atn.states[e.context.getReturnState(h)];s=new Kr({state:p,context:m},e),i=this.closure(t,s,r,i,n,o)}}return i}e.state.epsilonOnlyTransitions||i&&e.passedThroughNonGreedyDecision||r.add(e);for(let h=0;h<e.state.transitions.length;h++){let m=e.state.transitions[h];s=this.getEpsilonTarget(t,e,m,r,n,o),s!==null&&(i=this.closure(t,s,r,i,n,o))}return i}getEpsilonTarget(t,e,r,i,n,o){let s=null;if(r.serializationType===Zt.RULE){let h=$r.create(e.context,r.followState.stateNumber);s=new Kr({state:r.target,context:h},e)}else{if(r.serializationType===Zt.PRECEDENCE)throw"Precedence predicates are not supported in lexers.";if(r.serializationType===Zt.PREDICATE)$e.debug&&console.log("EVAL rule "+r.ruleIndex+":"+r.predIndex),i.hasSemanticContext=!0,this.evaluatePredicate(t,r.ruleIndex,r.predIndex,n)&&(s=new Kr({state:r.target},e));else if(r.serializationType===Zt.ACTION)if(e.context===null||e.context.hasEmptyPath()){let h=ts.append(e.lexerActionExecutor,this.atn.lexerActions[r.actionIndex]);s=new Kr({state:r.target,lexerActionExecutor:h},e)}else s=new Kr({state:r.target},e);else r.serializationType===Zt.EPSILON?s=new Kr({state:r.target},e):r.serializationType!==Zt.ATOM&&r.serializationType!==Zt.RANGE&&r.serializationType!==Zt.SET||o&&r.matches(Gt.EOF,0,ze.MAX_CHAR_VALUE)&&(s=new Kr({state:r.target},e))}return s}evaluatePredicate(t,e,r,i){if(this.recog===null)return!0;if(!i)return this.recog.sempred(null,e,r);let n=this.column,o=this.line,s=t.index,h=t.mark();try{return this.consume(t),this.recog.sempred(null,e,r)}finally{this.column=n,this.line=o,t.seek(s),t.release(h)}}captureSimState(t,e,r){t.index=e.index,t.line=this.line,t.column=this.column,t.dfaState=r}addDFAEdge(t,e,r,i){if(r===void 0&&(r=null),i===void 0&&(i=null),r===null&&i!==null){let n=i.hasSemanticContext;if(i.hasSemanticContext=!1,r=this.addDFAState(i),n)return r}return e<$e.MIN_DFA_EDGE||e>$e.MAX_DFA_EDGE||($e.debug&&console.log("EDGE "+t+" -> "+r+" upon "+e),t.edges===null&&(t.edges=[]),t.edges[e-$e.MIN_DFA_EDGE]=r),r}addDFAState(t){let e=new jn(null,t),r=null;for(let s=0;s<t.items.length;s++){let h=t.items[s];if(h.state instanceof qr){r=h;break}}r!==null&&(e.isAcceptState=!0,e.lexerActionExecutor=r.lexerActionExecutor,e.prediction=this.atn.ruleToTokenType[r.state.ruleIndex]);let i=this.decisionToDFA[this.mode],n=i.states.get(e);if(n!==null)return n;let o=e;return o.stateNumber=i.states.length,t.setReadonly(!0),o.configs=t,i.states.add(o),o}getDFA(t){return this.decisionToDFA[t]}getText(t){return t.getText(this.startIndex,t.index-1)}consume(t){t.LA(1)===10?(this.line+=1,this.column=0):this.column+=1,t.consume()}getTokenName(t){return t===-1?"EOF":"'"+String.fromCharCode(t)+"'"}}$e.debug=!1,$e.dfa_debug=!1,$e.MIN_DFA_EDGE=0,$e.MAX_DFA_EDGE=127;class xc{constructor(t,e){this.alt=e,this.pred=t}toString(){return"("+this.pred+", "+this.alt+")"}}class qd{constructor(){this.data={}}get(t){return this.data["k-"+t]||null}set(t,e){this.data["k-"+t]=e}values(){return Object.keys(this.data).filter((t)=>t.startsWith("k-")).map((t)=>this.data[t],this)}}var Nn={SLL:0,LL:1,LL_EXACT_AMBIG_DETECTION:2,hasSLLConflictTerminatingPrediction:function(t,e){if(Nn.allConfigsInRuleStopStates(e))return!0;if(t===Nn.SLL&&e.hasSemanticContext){let i=new Hr;for(let n=0;n<e.items.length;n++){let o=e.items[n];o=new Ye({semanticContext:Ce.NONE},o),i.add(o)}e=i}let r=Nn.getConflictingAltSubsets(e);return Nn.hasConflictingAltSet(r)&&!Nn.hasStateAssociatedWithOneAlt(e)},hasConfigInRuleStopState:function(t){for(let e=0;e<t.items.length;e++)if(t.items[e].state instanceof qr)return!0;return!1},allConfigsInRuleStopStates:function(t){for(let e=0;e<t.items.length;e++)if(!(t.items[e].state instanceof qr))return!1;return!0},resolvesToJustOneViableAlt:function(t){return Nn.getSingleViableAlt(t)},allSubsetsConflict:function(t){return!Nn.hasNonConflictingAltSet(t)},hasNonConflictingAltSet:function(t){for(let e=0;e<t.length;e++)if(t[e].length===1)return!0;return!1},hasConflictingAltSet:function(t){for(let e=0;e<t.length;e++)if(t[e].length>1)return!0;return!1},allSubsetsEqual:function(t){let e=null;for(let r=0;r<t.length;r++){let i=t[r];if(e===null)e=i;else if(i!==e)return!1}return!0},getUniqueAlt:function(t){let e=Nn.getAlts(t);return e.length===1?e.minValue():Ue.INVALID_ALT_NUMBER},getAlts:function(t){let e=new zr;return t.map(function(r){e.or(r)}),e},getConflictingAltSubsets:function(t){let e=new is;return e.hashFunction=function(r){nn.hashStuff(r.state.stateNumber,r.context)},e.equalsFunction=function(r,i){return r.state.stateNumber===i.state.stateNumber&&r.context.equals(i.context)},t.items.map(function(r){let i=e.get(r);i===null&&(i=new zr,e.set(r,i)),i.set(r.alt)}),e.getValues()},getStateToAltMap:function(t){let e=new qd;return t.items.map(function(r){let i=e.get(r.state);i===null&&(i=new zr,e.set(r.state,i)),i.set(r.alt)}),e},hasStateAssociatedWithOneAlt:function(t){let e=Nn.getStateToAltMap(t).values();for(let r=0;r<e.length;r++)if(e[r].length===1)return!0;return!1},getSingleViableAlt:function(t){let e=null;for(let r=0;r<t.length;r++){let i=t[r].minValue();if(e===null)e=i;else if(e!==i)return Ue.INVALID_ALT_NUMBER}return e}},vr=Nn;class Ws extends Wn{constructor(t,e,r,i,n,o){o=o||t._ctx,i=i||t.getCurrentToken(),r=r||t.getCurrentToken(),e=e||t.getInputStream(),super({message:"",recognizer:t,input:e,ctx:o}),this.deadEndConfigs=n,this.startToken=r,this.offendingToken=i}}class Hd{constructor(t){this.defaultMapCtor=t||is,this.cacheMap=new this.defaultMapCtor}get(t,e){let r=this.cacheMap.get(t)||null;return r===null?null:r.get(e)||null}set(t,e,r){let i=this.cacheMap.get(t)||null;i===null&&(i=new this.defaultMapCtor,this.cacheMap.set(t,i)),i.set(e,r)}}class wc extends vn{constructor(t,e,r,i){super(e,i),this.parser=t,this.decisionToDFA=r,this.predictionMode=vr.LL,this._input=null,this._startIndex=0,this._outerContext=null,this._dfa=null,this.mergeCache=null,this.debug=!1,this.debug_closure=!1,this.debug_add=!1,this.trace_atn_sim=!1,this.dfa_debug=!1,this.retry_debug=!1}reset(){}adaptivePredict(t,e,r){(this.debug||this.trace_atn_sim)&&console.log("adaptivePredict decision "+e+" exec LA(1)=="+this.getLookaheadName(t)+" line "+t.LT(1).line+":"+t.LT(1).column),this._input=t,this._startIndex=t.index,this._outerContext=r;let i=this.decisionToDFA[e];this._dfa=i;let n=t.mark(),o=t.index;try{let s;if(s=i.precedenceDfa?i.getPrecedenceStartState(this.parser.getPrecedence()):i.s0,s===null){r===null&&(r=li.EMPTY),this.debug&&console.log("predictATN decision "+i.decision+" exec LA(1)=="+this.getLookaheadName(t)+", outerContext="+r.toString(this.parser.ruleNames));let m=!1,p=this.computeStartState(i.atnStartState,li.EMPTY,m);i.precedenceDfa?(i.s0.configs=p,p=this.applyPrecedenceFilter(p),s=this.addDFAState(i,new jn(null,p)),i.setPrecedenceStartState(this.parser.getPrecedence(),s)):(s=this.addDFAState(i,new jn(null,p)),i.s0=s)}let h=this.execATN(i,s,t,o,r);return this.debug&&console.log("DFA after predictATN: "+i.toString(this.parser.literalNames,this.parser.symbolicNames)),h}finally{this._dfa=null,this.mergeCache=null,t.seek(o),t.release(n)}}execATN(t,e,r,i,n){let o;(this.debug||this.trace_atn_sim)&&console.log("execATN decision "+t.decision+", DFA state "+e+", LA(1)=="+this.getLookaheadName(r)+" line "+r.LT(1).line+":"+r.LT(1).column);let s=e;this.debug&&console.log("s0 = "+e);let h=r.LA(1);for(;;){let m=this.getExistingTargetState(s,h);if(m===null&&(m=this.computeTargetState(t,s,h)),m===vn.ERROR){let p=this.noViableAlt(r,n,s.configs,i);if(r.seek(i),o=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(s.configs,n),o!==Ue.INVALID_ALT_NUMBER)return o;throw p}if(m.requiresFullContext&&this.predictionMode!==vr.SLL){let p=null;if(m.predicates!==null){this.debug&&console.log("DFA state has preds in DFA sim LL failover");let v=r.index;if(v!==i&&r.seek(i),p=this.evalSemanticContext(m.predicates,n,!0),p.length===1)return this.debug&&console.log("Full LL avoided"),p.minValue();v!==i&&r.seek(v)}this.dfa_debug&&console.log("ctx sensitive state "+n+" in "+m);let y=!0,_=this.computeStartState(t.atnStartState,n,y);return this.reportAttemptingFullContext(t,p,m.configs,i,r.index),o=this.execATNWithFullContext(t,m,_,r,i,n),o}if(m.isAcceptState){if(m.predicates===null)return m.prediction;let p=r.index;r.seek(i);let y=this.evalSemanticContext(m.predicates,n,!0);if(y.length===0)throw this.noViableAlt(r,n,m.configs,i);return y.length===1||this.reportAmbiguity(t,m,i,p,!1,y,m.configs),y.minValue()}s=m,h!==Gt.EOF&&(r.consume(),h=r.LA(1))}}getExistingTargetState(t,e){let r=t.edges;return r===null?null:r[e+1]||null}computeTargetState(t,e,r){let i=this.computeReachSet(e.configs,r,!1);if(i===null)return this.addDFAEdge(t,e,r,vn.ERROR),vn.ERROR;let n=new jn(null,i),o=this.getUniqueAlt(i);if(this.debug){let s=vr.getConflictingAltSubsets(i);console.log("SLL altSubSets="+zn(s)+", configs="+i+", predict="+o+", allSubsetsConflict="+vr.allSubsetsConflict(s)+", conflictingAlts="+this.getConflictingAlts(i))}return o!==Ue.INVALID_ALT_NUMBER?(n.isAcceptState=!0,n.configs.uniqueAlt=o,n.prediction=o):vr.hasSLLConflictTerminatingPrediction(this.predictionMode,i)&&(n.configs.conflictingAlts=this.getConflictingAlts(i),n.requiresFullContext=!0,n.isAcceptState=!0,n.prediction=n.configs.conflictingAlts.minValue()),n.isAcceptState&&n.configs.hasSemanticContext&&(this.predicateDFAState(n,this.atn.getDecisionState(t.decision)),n.predicates!==null&&(n.prediction=Ue.INVALID_ALT_NUMBER)),n=this.addDFAEdge(t,e,r,n),n}predicateDFAState(t,e){let r=e.transitions.length,i=this.getConflictingAltsOrUniqueAlt(t.configs),n=this.getPredsForAmbigAlts(i,t.configs,r);n!==null?(t.predicates=this.getPredicatePredictions(i,n),t.prediction=Ue.INVALID_ALT_NUMBER):t.prediction=i.minValue()}execATNWithFullContext(t,e,r,i,n,o){(this.debug||this.trace_atn_sim)&&console.log("execATNWithFullContext "+r);let s,h=!1,m=r;i.seek(n);let p=i.LA(1),y=-1;for(;;){if(s=this.computeReachSet(m,p,!0),s===null){let v=this.noViableAlt(i,o,m,n);i.seek(n);let C=this.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(m,o);if(C!==Ue.INVALID_ALT_NUMBER)return C;throw v}let _=vr.getConflictingAltSubsets(s);if(this.debug&&console.log("LL altSubSets="+_+", predict="+vr.getUniqueAlt(_)+", resolvesToJustOneViableAlt="+vr.resolvesToJustOneViableAlt(_)),s.uniqueAlt=this.getUniqueAlt(s),s.uniqueAlt!==Ue.INVALID_ALT_NUMBER){y=s.uniqueAlt;break}if(this.predictionMode!==vr.LL_EXACT_AMBIG_DETECTION){if(y=vr.resolvesToJustOneViableAlt(_),y!==Ue.INVALID_ALT_NUMBER)break}else if(vr.allSubsetsConflict(_)&&vr.allSubsetsEqual(_)){h=!0,y=vr.getSingleViableAlt(_);break}m=s,p!==Gt.EOF&&(i.consume(),p=i.LA(1))}return s.uniqueAlt!==Ue.INVALID_ALT_NUMBER?(this.reportContextSensitivity(t,y,s,n,i.index),y):(this.reportAmbiguity(t,e,n,i.index,h,null,s),y)}computeReachSet(t,e,r){this.debug&&console.log("in computeReachSet, starting closure: "+t),this.mergeCache===null&&(this.mergeCache=new Hd);let i=new Hr(r),n=null;for(let s=0;s<t.items.length;s++){let h=t.items[s];if(this.debug&&console.log("testing "+this.getTokenName(e)+" at "+h),h.state instanceof qr)(r||e===Gt.EOF)&&(n===null&&(n=[]),n.push(h),this.debug_add&&console.log("added "+h+" to skippedStopStates"));else for(let m=0;m<h.state.transitions.length;m++){let p=h.state.transitions[m],y=this.getReachableTarget(p,e);if(y!==null){let _=new Ye({state:y},h);i.add(_,this.mergeCache),this.debug_add&&console.log("added "+_+" to intermediate")}}}let o=null;if(n===null&&e!==Gt.EOF&&(i.items.length===1||this.getUniqueAlt(i)!==Ue.INVALID_ALT_NUMBER)&&(o=i),o===null){o=new Hr(r);let s=new Qr,h=e===Gt.EOF;for(let m=0;m<i.items.length;m++)this.closure(i.items[m],o,s,!1,r,h)}if(e===Gt.EOF&&(o=this.removeAllConfigsNotInRuleStopState(o,o===i)),!(n===null||r&&vr.hasConfigInRuleStopState(o)))for(let s=0;s<n.length;s++)o.add(n[s],this.mergeCache);return this.trace_atn_sim&&console.log("computeReachSet "+t+" -> "+o),o.items.length===0?null:o}removeAllConfigsNotInRuleStopState(t,e){if(vr.allConfigsInRuleStopStates(t))return t;let r=new Hr(t.fullCtx);for(let i=0;i<t.items.length;i++){let n=t.items[i];if(n.state instanceof qr)r.add(n,this.mergeCache);else if(e&&n.state.epsilonOnlyTransitions&&this.atn.nextTokens(n.state).contains(Gt.EPSILON)){let o=this.atn.ruleToStopState[n.state.ruleIndex];r.add(new Ye({state:o},n),this.mergeCache)}}return r}computeStartState(t,e,r){let i=fc(this.atn,e),n=new Hr(r);this.trace_atn_sim&&console.log("computeStartState from ATN state "+t+" initialContext="+i.toString(this.parser));for(let o=0;o<t.transitions.length;o++){let s=t.transitions[o].target,h=new Ye({state:s,alt:o+1,context:i},null),m=new Qr;this.closure(h,n,m,!0,r,!1)}return n}applyPrecedenceFilter(t){let e,r=[],i=new Hr(t.fullCtx);for(let n=0;n<t.items.length;n++){if(e=t.items[n],e.alt!==1)continue;let o=e.semanticContext.evalPrecedence(this.parser,this._outerContext);o!==null&&(r[e.state.stateNumber]=e.context,o!==e.semanticContext?i.add(new Ye({semanticContext:o},e),this.mergeCache):i.add(e,this.mergeCache))}for(let n=0;n<t.items.length;n++)if(e=t.items[n],e.alt!==1){if(!e.precedenceFilterSuppressed){let o=r[e.state.stateNumber]||null;if(o!==null&&o.equals(e.context))continue}i.add(e,this.mergeCache)}return i}getReachableTarget(t,e){return t.matches(e,0,this.atn.maxTokenType)?t.target:null}getPredsForAmbigAlts(t,e,r){let i=[];for(let o=0;o<e.items.length;o++){let s=e.items[o];t.get(s.alt)&&(i[s.alt]=Ce.orContext(i[s.alt]||null,s.semanticContext))}let n=0;for(let o=1;o<r+1;o++){let s=i[o]||null;s===null?i[o]=Ce.NONE:s!==Ce.NONE&&(n+=1)}return n===0&&(i=null),this.debug&&console.log("getPredsForAmbigAlts result "+zn(i)),i}getPredicatePredictions(t,e){let r=[],i=!1;for(let n=1;n<e.length;n++){let o=e[n];t!==null&&t.get(n)&&r.push(new xc(o,n)),o!==Ce.NONE&&(i=!0)}return i?r:null}getSynValidOrSemInvalidAltThatFinishedDecisionEntryRule(t,e){let r=this.splitAccordingToSemanticValidity(t,e),i=r[0],n=r[1],o=this.getAltThatFinishedDecisionEntryRule(i);return o!==Ue.INVALID_ALT_NUMBER||n.items.length>0&&(o=this.getAltThatFinishedDecisionEntryRule(n),o!==Ue.INVALID_ALT_NUMBER)?o:Ue.INVALID_ALT_NUMBER}getAltThatFinishedDecisionEntryRule(t){let e=[];for(let r=0;r<t.items.length;r++){let i=t.items[r];(i.reachesIntoOuterContext>0||i.state instanceof qr&&i.context.hasEmptyPath())&&e.indexOf(i.alt)<0&&e.push(i.alt)}return e.length===0?Ue.INVALID_ALT_NUMBER:Math.min.apply(null,e)}splitAccordingToSemanticValidity(t,e){let r=new Hr(t.fullCtx),i=new Hr(t.fullCtx);for(let n=0;n<t.items.length;n++){let o=t.items[n];o.semanticContext!==Ce.NONE?o.semanticContext.evaluate(this.parser,e)?r.add(o):i.add(o):r.add(o)}return[r,i]}evalSemanticContext(t,e,r){let i=new zr;for(let n=0;n<t.length;n++){let o=t[n];if(o.pred===Ce.NONE){if(i.set(o.alt),!r)break;continue}let s=o.pred.evaluate(this.parser,e);if((this.debug||this.dfa_debug)&&console.log("eval pred "+o+"="+s),s&&((this.debug||this.dfa_debug)&&console.log("PREDICT "+o.alt),i.set(o.alt),!r))break}return i}closure(t,e,r,i,n,o){this.closureCheckingStopState(t,e,r,i,n,0,o)}closureCheckingStopState(t,e,r,i,n,o,s){if((this.trace_atn_sim||this.debug_closure)&&console.log("closure("+t.toString(this.parser,!0)+")"),t.state instanceof qr){if(!t.context.isEmpty()){for(let h=0;h<t.context.length;h++){if(t.context.getReturnState(h)===ue.EMPTY_RETURN_STATE){if(n){e.add(new Ye({state:t.state,context:ue.EMPTY},t),this.mergeCache);continue}this.debug&&console.log("FALLING off rule "+this.getRuleName(t.state.ruleIndex)),this.closure_(t,e,r,i,n,o,s);continue}let m=this.atn.states[t.context.getReturnState(h)],p=t.context.getParent(h),y={state:m,alt:t.alt,context:p,semanticContext:t.semanticContext},_=new Ye(y,null);_.reachesIntoOuterContext=t.reachesIntoOuterContext,this.closureCheckingStopState(_,e,r,i,n,o-1,s)}return}if(n)return void e.add(t,this.mergeCache);this.debug&&console.log("FALLING off rule "+this.getRuleName(t.state.ruleIndex))}this.closure_(t,e,r,i,n,o,s)}closure_(t,e,r,i,n,o,s){let h=t.state;h.epsilonOnlyTransitions||e.add(t,this.mergeCache);for(let m=0;m<h.transitions.length;m++){if(m===0&&this.canDropLoopEntryEdgeInLeftRecursiveRule(t))continue;let p=h.transitions[m],y=i&&!(p instanceof dc),_=this.getEpsilonTarget(t,p,y,o===0,n,s);if(_!==null){let v=o;if(t.state instanceof qr){if(this._dfa!==null&&this._dfa.precedenceDfa&&p.outermostPrecedenceReturn===this._dfa.atnStartState.ruleIndex&&(_.precedenceFilterSuppressed=!0),_.reachesIntoOuterContext+=1,r.getOrAdd(_)!==_)continue;e.dipsIntoOuterContext=!0,v-=1,this.debug&&console.log("dips into outer ctx: "+_)}else{if(!p.isEpsilon&&r.getOrAdd(_)!==_)continue;p instanceof $s&&v>=0&&(v+=1)}this.closureCheckingStopState(_,e,r,y,n,v,s)}}}canDropLoopEntryEdgeInLeftRecursiveRule(t){let e=t.state;if(e.stateType!==te.STAR_LOOP_ENTRY)return!1;if(e.stateType!==te.STAR_LOOP_ENTRY||!e.isPrecedenceDecision||t.context.isEmpty()||t.context.hasEmptyPath())return!1;let r=t.context.length;for(let o=0;o<r;o++)if(this.atn.states[t.context.getReturnState(o)].ruleIndex!==e.ruleIndex)return!1;let i=e.transitions[0].target.endState.stateNumber,n=this.atn.states[i];for(let o=0;o<r;o++){let s=t.context.getReturnState(o),h=this.atn.states[s];if(h.transitions.length!==1||!h.transitions[0].isEpsilon)return!1;let m=h.transitions[0].target;if(!(h.stateType===te.BLOCK_END&&m===e||h===n||m===n||m.stateType===te.BLOCK_END&&m.transitions.length===1&&m.transitions[0].isEpsilon&&m.transitions[0].target===e))return!1}return!0}getRuleName(t){return this.parser!==null&&t>=0?this.parser.ruleNames[t]:"<rule "+t+">"}getEpsilonTarget(t,e,r,i,n,o){switch(e.serializationType){case Zt.RULE:return this.ruleTransition(t,e);case Zt.PRECEDENCE:return this.precedenceTransition(t,e,r,i,n);case Zt.PREDICATE:return this.predTransition(t,e,r,i,n);case Zt.ACTION:return this.actionTransition(t,e);case Zt.EPSILON:return new Ye({state:e.target},t);case Zt.ATOM:case Zt.RANGE:case Zt.SET:return o&&e.matches(Gt.EOF,0,1)?new Ye({state:e.target},t):null;default:return null}}actionTransition(t,e){if(this.debug){let r=e.actionIndex===-1?65535:e.actionIndex;console.log("ACTION edge "+e.ruleIndex+":"+r)}return new Ye({state:e.target},t)}precedenceTransition(t,e,r,i,n){this.debug&&(console.log("PRED (collectPredicates="+r+") "+e.precedence+">=_p, ctx dependent=true"),this.parser!==null&&console.log("context surrounding pred is "+zn(this.parser.getRuleInvocationStack())));let o=null;if(r&&i)if(n){let s=this._input.index;this._input.seek(this._startIndex);let h=e.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(s),h&&(o=new Ye({state:e.target},t))}else{let s=Ce.andContext(t.semanticContext,e.getPredicate());o=new Ye({state:e.target,semanticContext:s},t)}else o=new Ye({state:e.target},t);return this.debug&&console.log("config from pred transition="+o),o}predTransition(t,e,r,i,n){this.debug&&(console.log("PRED (collectPredicates="+r+") "+e.ruleIndex+":"+e.predIndex+", ctx dependent="+e.isCtxDependent),this.parser!==null&&console.log("context surrounding pred is "+zn(this.parser.getRuleInvocationStack())));let o=null;if(r&&(e.isCtxDependent&&i||!e.isCtxDependent))if(n){let s=this._input.index;this._input.seek(this._startIndex);let h=e.getPredicate().evaluate(this.parser,this._outerContext);this._input.seek(s),h&&(o=new Ye({state:e.target},t))}else{let s=Ce.andContext(t.semanticContext,e.getPredicate());o=new Ye({state:e.target,semanticContext:s},t)}else o=new Ye({state:e.target},t);return this.debug&&console.log("config from pred transition="+o),o}ruleTransition(t,e){this.debug&&console.log("CALL rule "+this.getRuleName(e.target.ruleIndex)+", ctx="+t.context);let r=e.followState,i=$r.create(t.context,r.stateNumber);return new Ye({state:e.target,context:i},t)}getConflictingAlts(t){let e=vr.getConflictingAltSubsets(t);return vr.getAlts(e)}getConflictingAltsOrUniqueAlt(t){let e=null;return t.uniqueAlt!==Ue.INVALID_ALT_NUMBER?(e=new zr,e.set(t.uniqueAlt)):e=t.conflictingAlts,e}getTokenName(t){if(t===Gt.EOF)return"EOF";if(this.parser!==null&&this.parser.literalNames!==null){if(!(t>=this.parser.literalNames.length&&t>=this.parser.symbolicNames.length))return(this.parser.literalNames[t]||this.parser.symbolicNames[t])+"<"+t+">";console.log(t+" ttype out of range: "+this.parser.literalNames),console.log(""+this.parser.getInputStream().getTokens())}return""+t}getLookaheadName(t){return this.getTokenName(t.LA(1))}dumpDeadEndConfigs(t){console.log("dead end configs: ");let e=t.getDeadEndConfigs();for(let r=0;r<e.length;r++){let i=e[r],n="no edges";if(i.state.transitions.length>0){let o=i.state.transitions[0];o instanceof yl?n="Atom "+this.getTokenName(o.label):o instanceof Ml&&(n=(o instanceof kl?"~":"")+"Set "+o.set)}console.error(i.toString(this.parser,!0)+":"+n)}}noViableAlt(t,e,r,i){return new Ws(this.parser,t,t.get(i),t.LT(1),r,e)}getUniqueAlt(t){let e=Ue.INVALID_ALT_NUMBER;for(let r=0;r<t.items.length;r++){let i=t.items[r];if(e===Ue.INVALID_ALT_NUMBER)e=i.alt;else if(i.alt!==e)return Ue.INVALID_ALT_NUMBER}return e}addDFAEdge(t,e,r,i){if(this.debug&&console.log("EDGE "+e+" -> "+i+" upon "+this.getTokenName(r)),i===null)return null;if(i=this.addDFAState(t,i),e===null||r<-1||r>this.atn.maxTokenType)return i;if(e.edges===null&&(e.edges=[]),e.edges[r+1]=i,this.debug){let n=this.parser===null?null:this.parser.literalNames,o=this.parser===null?null:this.parser.symbolicNames;console.log(`DFA=
|
|
23
|
+
`+t.toString(n,o))}return i}addDFAState(t,e){if(e===vn.ERROR)return e;let r=t.states.get(e);return r!==null?(this.trace_atn_sim&&console.log("addDFAState "+e+" exists"),r):(e.stateNumber=t.states.length,e.configs.readOnly||(e.configs.optimizeConfigs(this),e.configs.setReadonly(!0)),this.trace_atn_sim&&console.log("addDFAState new "+e),t.states.add(e),this.debug&&console.log("adding new DFA state: "+e),e)}reportAttemptingFullContext(t,e,r,i,n){if(this.debug||this.retry_debug){let o=new be(i,n+1);console.log("reportAttemptingFullContext decision="+t.decision+":"+r+", input="+this.parser.getTokenStream().getText(o))}this.parser!==null&&this.parser.getErrorListener().reportAttemptingFullContext(this.parser,t,i,n,e,r)}reportContextSensitivity(t,e,r,i,n){if(this.debug||this.retry_debug){let o=new be(i,n+1);console.log("reportContextSensitivity decision="+t.decision+":"+r+", input="+this.parser.getTokenStream().getText(o))}this.parser!==null&&this.parser.getErrorListener().reportContextSensitivity(this.parser,t,i,n,e,r)}reportAmbiguity(t,e,r,i,n,o,s){if(this.debug||this.retry_debug){let h=new be(r,i+1);console.log("reportAmbiguity "+o+":"+s+", input="+this.parser.getTokenStream().getText(h))}this.parser!==null&&this.parser.getErrorListener().reportAmbiguity(this.parser,t,r,i,n,o,s)}}class vc{constructor(){this.cache=new is}add(t){if(t===ue.EMPTY)return ue.EMPTY;let e=this.cache.get(t)||null;return e!==null?e:(this.cache.set(t,t),t)}get(t){return this.cache.get(t)||null}get length(){return this.cache.length}}var _2={ATN:Ue,ATNDeserializer:Tl,LexerATNSimulator:$e,ParserATNSimulator:wc,PredictionMode:vr,PredictionContextCache:vc};class Ll{constructor(t,e,r){this.dfa=t,this.literalNames=e||[],this.symbolicNames=r||[]}toString(){if(this.dfa.s0===null)return null;let t="",e=this.dfa.sortedStates();for(let r=0;r<e.length;r++){let i=e[r];if(i.edges!==null){let n=i.edges.length;for(let o=0;o<n;o++){let s=i.edges[o]||null;s!==null&&s.stateNumber!==2147483647&&(t=t.concat(this.getStateString(i)),t=t.concat("-"),t=t.concat(this.getEdgeLabel(o)),t=t.concat("->"),t=t.concat(this.getStateString(s)),t=t.concat(`
|
|
24
|
+
`))}}}return t.length===0?null:t}getEdgeLabel(t){return t===0?"EOF":this.literalNames!==null||this.symbolicNames!==null?this.literalNames[t-1]||this.symbolicNames[t-1]:String.fromCharCode(t-1)}getStateString(t){let e=(t.isAcceptState?":":"")+"s"+t.stateNumber+(t.requiresFullContext?"^":"");return t.isAcceptState?t.predicates!==null?e+"=>"+zn(t.predicates):e+"=>"+t.prediction.toString():e}}class Sc extends Ll{constructor(t){super(t,null)}getEdgeLabel(t){return"'"+String.fromCharCode(t)+"'"}}class Cc{constructor(t,e){if(e===void 0&&(e=0),this.atnStartState=t,this.decision=e,this._states=new Qr,this.s0=null,this.precedenceDfa=!1,t instanceof si&&t.isPrecedenceDecision){this.precedenceDfa=!0;let r=new jn(null,new Hr);r.edges=[],r.isAcceptState=!1,r.requiresFullContext=!1,this.s0=r}}getPrecedenceStartState(t){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";return t<0||t>=this.s0.edges.length?null:this.s0.edges[t]||null}setPrecedenceStartState(t,e){if(!this.precedenceDfa)throw"Only precedence DFAs may contain a precedence start state.";t<0||(this.s0.edges[t]=e)}setPrecedenceDfa(t){if(this.precedenceDfa!==t){if(this._states=new Qr,t){let e=new jn(null,new Hr);e.edges=[],e.isAcceptState=!1,e.requiresFullContext=!1,this.s0=e}else this.s0=null;this.precedenceDfa=t}}sortedStates(){return this._states.values().sort(function(t,e){return t.stateNumber-e.stateNumber})}toString(t,e){return t=t||null,e=e||null,this.s0===null?"":new Ll(this,t,e).toString()}toLexerString(){return this.s0===null?"":new Sc(this).toString()}get states(){return this._states}}var b2={DFA:Cc,DFASerializer:Ll,LexerDFASerializer:Sc,PredPrediction:xc},y2={PredictionContext:ue},x2={Interval:be,IntervalSet:Yr};class Il{visitTerminal(t){}visitErrorNode(t){}enterEveryRule(t){}exitEveryRule(t){}}class Mc{visit(t){return Array.isArray(t)?t.map(function(e){return e.accept(this)},this):t.accept(this)}visitChildren(t){return t.children?this.visit(t.children):null}visitTerminal(t){}visitErrorNode(t){}}class Vs{walk(t,e){if(e instanceof js||e.isErrorNode!==void 0&&e.isErrorNode())t.visitErrorNode(e);else if(e instanceof Sn)t.visitTerminal(e);else{this.enterRule(t,e);for(let r=0;r<e.getChildCount();r++){let i=e.getChild(r);this.walk(t,i)}this.exitRule(t,e)}}enterRule(t,e){let r=e.ruleContext;t.enterEveryRule(r),r.enterRule(t)}exitRule(t,e){let r=e.ruleContext;r.exitRule(t),t.exitEveryRule(r)}}Vs.DEFAULT=new Vs;var w2={Trees:Ld,RuleNode:ns,ErrorNode:js,TerminalNode:Sn,ParseTreeListener:Il,ParseTreeVisitor:Mc,ParseTreeWalker:Vs};class Si extends Wn{constructor(t){super({message:"",recognizer:t,input:t.getInputStream(),ctx:t._ctx}),this.offendingToken=t.getCurrentToken()}}class Ol extends Wn{constructor(t,e,r){super({message:v2(e,r||null),recognizer:t,input:t.getInputStream(),ctx:t._ctx});let i=t._interp.atn.states[t.state].transitions[0];i instanceof pc?(this.ruleIndex=i.ruleIndex,this.predicateIndex=i.predIndex):(this.ruleIndex=0,this.predicateIndex=0),this.predicate=e,this.offendingToken=t.getCurrentToken()}}function v2(t,e){return e!==null?e:"failed predicate: {"+t+"}?"}class kc extends ss{constructor(t){super(),t=t||!0,this.exactOnly=t}reportAmbiguity(t,e,r,i,n,o,s){if(this.exactOnly&&!n)return;let h="reportAmbiguity d="+this.getDecisionDescription(t,e)+": ambigAlts="+this.getConflictingAlts(o,s)+", input='"+t.getTokenStream().getText(new be(r,i))+"'";t.notifyErrorListeners(h)}reportAttemptingFullContext(t,e,r,i,n,o){let s="reportAttemptingFullContext d="+this.getDecisionDescription(t,e)+", input='"+t.getTokenStream().getText(new be(r,i))+"'";t.notifyErrorListeners(s)}reportContextSensitivity(t,e,r,i,n,o){let s="reportContextSensitivity d="+this.getDecisionDescription(t,e)+", input='"+t.getTokenStream().getText(new be(r,i))+"'";t.notifyErrorListeners(s)}getDecisionDescription(t,e){let r=e.decision,i=e.atnStartState.ruleIndex,n=t.ruleNames;if(i<0||i>=n.length)return""+r;let o=n[i]||null;return o===null||o.length===0?""+r:`${r} (${o})`}getConflictingAlts(t,e){if(t!==null)return t;let r=new zr;for(let i=0;i<e.items.length;i++)r.set(e.items[i].alt);return`{${r.values().join(", ")}}`}}class Ec extends Error{constructor(){super(),Error.captureStackTrace(this,Ec)}}class $d{reset(t){}recoverInline(t){}recover(t,e){}sync(t){}inErrorRecoveryMode(t){}reportError(t){}}class Gs extends $d{constructor(){super(),this.errorRecoveryMode=!1,this.lastErrorIndex=-1,this.lastErrorStates=null,this.nextTokensContext=null,this.nextTokenState=0}reset(t){this.endErrorCondition(t)}beginErrorCondition(t){this.errorRecoveryMode=!0}inErrorRecoveryMode(t){return this.errorRecoveryMode}endErrorCondition(t){this.errorRecoveryMode=!1,this.lastErrorStates=null,this.lastErrorIndex=-1}reportMatch(t){this.endErrorCondition(t)}reportError(t,e){this.inErrorRecoveryMode(t)||(this.beginErrorCondition(t),e instanceof Ws?this.reportNoViableAlternative(t,e):e instanceof Si?this.reportInputMismatch(t,e):e instanceof Ol?this.reportFailedPredicate(t,e):(console.log("unknown recognition error type: "+e.constructor.name),console.log(e.stack),t.notifyErrorListeners(e.getOffendingToken(),e.getMessage(),e)))}recover(t,e){this.lastErrorIndex===t.getInputStream().index&&this.lastErrorStates!==null&&this.lastErrorStates.indexOf(t.state)>=0&&t.consume(),this.lastErrorIndex=t._input.index,this.lastErrorStates===null&&(this.lastErrorStates=[]),this.lastErrorStates.push(t.state);let r=this.getErrorRecoverySet(t);this.consumeUntil(t,r)}sync(t){if(this.inErrorRecoveryMode(t))return;let e=t._interp.atn.states[t.state],r=t.getTokenStream().LA(1),i=t.atn.nextTokens(e);if(i.contains(r))return this.nextTokensContext=null,void(this.nextTokenState=te.INVALID_STATE_NUMBER);if(i.contains(Gt.EPSILON))this.nextTokensContext===null&&(this.nextTokensContext=t._ctx,this.nextTokensState=t._stateNumber);else switch(e.stateType){case te.BLOCK_START:case te.STAR_BLOCK_START:case te.PLUS_BLOCK_START:case te.STAR_LOOP_ENTRY:if(this.singleTokenDeletion(t)!==null)return;throw new Si(t);case te.PLUS_LOOP_BACK:case te.STAR_LOOP_BACK:{this.reportUnwantedToken(t);let n=new Yr;n.addSet(t.getExpectedTokens());let o=n.addSet(this.getErrorRecoverySet(t));this.consumeUntil(t,o)}}}reportNoViableAlternative(t,e){let r=t.getTokenStream(),i;i=r!==null?e.startToken.type===Gt.EOF?"<EOF>":r.getText(new be(e.startToken.tokenIndex,e.offendingToken.tokenIndex)):"<unknown input>";let n="no viable alternative at input "+this.escapeWSAndQuote(i);t.notifyErrorListeners(n,e.offendingToken,e)}reportInputMismatch(t,e){let r="mismatched input "+this.getTokenErrorDisplay(e.offendingToken)+" expecting "+e.getExpectedTokens().toString(t.literalNames,t.symbolicNames);t.notifyErrorListeners(r,e.offendingToken,e)}reportFailedPredicate(t,e){let r="rule "+t.ruleNames[t._ctx.ruleIndex]+" "+e.message;t.notifyErrorListeners(r,e.offendingToken,e)}reportUnwantedToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);let e=t.getCurrentToken(),r="extraneous input "+this.getTokenErrorDisplay(e)+" expecting "+this.getExpectedTokens(t).toString(t.literalNames,t.symbolicNames);t.notifyErrorListeners(r,e,null)}reportMissingToken(t){if(this.inErrorRecoveryMode(t))return;this.beginErrorCondition(t);let e=t.getCurrentToken(),r="missing "+this.getExpectedTokens(t).toString(t.literalNames,t.symbolicNames)+" at "+this.getTokenErrorDisplay(e);t.notifyErrorListeners(r,e,null)}recoverInline(t){let e=this.singleTokenDeletion(t);if(e!==null)return t.consume(),e;if(this.singleTokenInsertion(t))return this.getMissingSymbol(t);throw new Si(t)}singleTokenInsertion(t){let e=t.getTokenStream().LA(1),r=t._interp.atn,i=r.states[t.state].transitions[0].target;return!!r.nextTokens(i,t._ctx).contains(e)&&(this.reportMissingToken(t),!0)}singleTokenDeletion(t){let e=t.getTokenStream().LA(2);if(this.getExpectedTokens(t).contains(e)){this.reportUnwantedToken(t),t.consume();let r=t.getCurrentToken();return this.reportMatch(t),r}return null}getMissingSymbol(t){let e=t.getCurrentToken(),r=this.getExpectedTokens(t).first(),i;i=r===Gt.EOF?"<missing EOF>":"<missing "+t.literalNames[r]+">";let n=e,o=t.getTokenStream().LT(-1);return n.type===Gt.EOF&&o!==null&&(n=o),t.getTokenFactory().create(n.source,r,i,Gt.DEFAULT_CHANNEL,-1,-1,n.line,n.column)}getExpectedTokens(t){return t.getExpectedTokens()}getTokenErrorDisplay(t){if(t===null)return"<no token>";let e=t.text;return e===null&&(e=t.type===Gt.EOF?"<EOF>":"<"+t.type+">"),this.escapeWSAndQuote(e)}escapeWSAndQuote(t){return"'"+(t=(t=(t=t.replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace(/\t/g,"\\t"))+"'"}getErrorRecoverySet(t){let e=t._interp.atn,r=t._ctx,i=new Yr;for(;r!==null&&r.invokingState>=0;){let n=e.states[r.invokingState].transitions[0],o=e.nextTokens(n.followState);i.addSet(o),r=r.parentCtx}return i.removeOne(Gt.EPSILON),i}consumeUntil(t,e){let r=t.getTokenStream().LA(1);for(;r!==Gt.EOF&&!e.contains(r);)t.consume(),r=t.getTokenStream().LA(1)}}class Rc extends Gs{constructor(){super()}recover(t,e){let r=t._ctx;for(;r!==null;)r.exception=e,r=r.parentCtx;throw new Ec(e)}recoverInline(t){this.recover(t,new Si(t))}sync(t){}}var S2={RecognitionException:Wn,NoViableAltException:Ws,LexerNoViableAltException:Nl,InputMismatchException:Si,FailedPredicateException:Ol,DiagnosticErrorListener:kc,BailErrorStrategy:Rc,DefaultErrorStrategy:Gs,ErrorListener:ss};class oi{constructor(t,e){if(this.name="<empty>",this.strdata=t,this.decodeToUnicodeCodePoints=e||!1,this._index=0,this.data=[],this.decodeToUnicodeCodePoints)for(let r=0;r<this.strdata.length;){let i=this.strdata.codePointAt(r);this.data.push(i),r+=i<=65535?1:2}else{this.data=Array(this.strdata.length);for(let r=0;r<this.strdata.length;r++)this.data[r]=this.strdata.charCodeAt(r)}this._size=this.data.length}reset(){this._index=0}consume(){if(this._index>=this._size)throw"cannot consume EOF";this._index+=1}LA(t){if(t===0)return 0;t<0&&(t+=1);let e=this._index+t-1;return e<0||e>=this._size?Gt.EOF:this.data[e]}LT(t){return this.LA(t)}mark(){return-1}release(t){}seek(t){t<=this._index?this._index=t:this._index=Math.min(t,this._size)}getText(t,e){if(e>=this._size&&(e=this._size-1),t>=this._size)return"";if(this.decodeToUnicodeCodePoints){let r="";for(let i=t;i<=e;i++)r+=String.fromCodePoint(this.data[i]);return r}return this.strdata.slice(t,e+1)}toString(){return this.strdata}get index(){return this._index}get size(){return this._size}}class Pl extends oi{constructor(t,e){super(t,e)}}var Cd=wi(763),Md=typeof process<"u"&&process.versions!=null&&process.versions.node!=null;class lc extends Pl{static fromPath(t,e,r){if(!Md)throw Error("FileStream is only available when running in Node!");Cd.readFile(t,e,function(i,n){let o=null;n!==null&&(o=new oi(n,!0)),r(i,o)})}constructor(t,e,r){if(!Md)throw Error("FileStream is only available when running in Node!");super(Cd.readFileSync(t,e||"utf-8"),r),this.fileName=t}}var zd={fromString:function(t){return new oi(t,!0)},fromBlob:function(t,e,r,i){let n=new window.FileReader;n.onload=function(o){let s=new oi(o.target.result,!0);r(s)},n.onerror=i,n.readAsText(t,e)},fromBuffer:function(t,e){return new oi(t.toString(e),!0)},fromPath:function(t,e,r){lc.fromPath(t,e,r)},fromPathSync:function(t,e){return new lc(t,e)}},C2={arrayToString:zn,stringToCharArray:function(t){let e=new Uint16Array(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}};class Vd{}class Ac extends Vd{constructor(t){super(),this.tokenSource=t,this.tokens=[],this.index=-1,this.fetchedEOF=!1}mark(){return 0}release(t){}reset(){this.seek(0)}seek(t){this.lazyInit(),this.index=this.adjustSeekIndex(t)}get size(){return this.tokens.length}get(t){return this.lazyInit(),this.tokens[t]}consume(){let t=!1;if(t=this.index>=0&&(this.fetchedEOF?this.index<this.tokens.length-1:this.index<this.tokens.length),!t&&this.LA(1)===Gt.EOF)throw"cannot consume EOF";this.sync(this.index+1)&&(this.index=this.adjustSeekIndex(this.index+1))}sync(t){let e=t-this.tokens.length+1;return!(e>0)||this.fetch(e)>=e}fetch(t){if(this.fetchedEOF)return 0;for(let e=0;e<t;e++){let r=this.tokenSource.nextToken();if(r.tokenIndex=this.tokens.length,this.tokens.push(r),r.type===Gt.EOF)return this.fetchedEOF=!0,e+1}return t}getTokens(t,e,r){if(r===void 0&&(r=null),t<0||e<0)return null;this.lazyInit();let i=[];e>=this.tokens.length&&(e=this.tokens.length-1);for(let n=t;n<e;n++){let o=this.tokens[n];if(o.type===Gt.EOF)break;(r===null||r.contains(o.type))&&i.push(o)}return i}LA(t){return this.LT(t).type}LB(t){return this.index-t<0?null:this.tokens[this.index-t]}LT(t){if(this.lazyInit(),t===0)return null;if(t<0)return this.LB(-t);let e=this.index+t-1;return this.sync(e),e>=this.tokens.length?this.tokens[this.tokens.length-1]:this.tokens[e]}adjustSeekIndex(t){return t}lazyInit(){this.index===-1&&this.setup()}setup(){this.sync(0),this.index=this.adjustSeekIndex(0)}setTokenSource(t){this.tokenSource=t,this.tokens=[],this.index=-1,this.fetchedEOF=!1}nextTokenOnChannel(t,e){if(this.sync(t),t>=this.tokens.length)return-1;let r=this.tokens[t];for(;r.channel!==e;){if(r.type===Gt.EOF)return-1;t+=1,this.sync(t),r=this.tokens[t]}return t}previousTokenOnChannel(t,e){for(;t>=0&&this.tokens[t].channel!==e;)t-=1;return t}getHiddenTokensToRight(t,e){if(e===void 0&&(e=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw t+" not in 0.."+this.tokens.length-1;let r=this.nextTokenOnChannel(t+1,ze.DEFAULT_TOKEN_CHANNEL),i=t+1,n=r===-1?this.tokens.length-1:r;return this.filterForChannel(i,n,e)}getHiddenTokensToLeft(t,e){if(e===void 0&&(e=-1),this.lazyInit(),t<0||t>=this.tokens.length)throw t+" not in 0.."+this.tokens.length-1;let r=this.previousTokenOnChannel(t-1,ze.DEFAULT_TOKEN_CHANNEL);if(r===t-1)return null;let i=r+1,n=t-1;return this.filterForChannel(i,n,e)}filterForChannel(t,e,r){let i=[];for(let n=t;n<e+1;n++){let o=this.tokens[n];r===-1?o.channel!==ze.DEFAULT_TOKEN_CHANNEL&&i.push(o):o.channel===r&&i.push(o)}return i.length===0?null:i}getSourceName(){return this.tokenSource.getSourceName()}getText(t){this.lazyInit(),this.fill(),t||(t=new be(0,this.tokens.length-1));let e=t.start;e instanceof Gt&&(e=e.tokenIndex);let r=t.stop;if(r instanceof Gt&&(r=r.tokenIndex),e===null||r===null||e<0||r<0)return"";r>=this.tokens.length&&(r=this.tokens.length-1);let i="";for(let n=e;n<r+1;n++){let o=this.tokens[n];if(o.type===Gt.EOF)break;i+=o.text}return i}fill(){for(this.lazyInit();this.fetch(1000)===1000;);}}Object.defineProperty(Ac,"size",{get:function(){return this.tokens.length}});class Tc extends Ac{constructor(t,e){super(t),this.channel=e===void 0?Gt.DEFAULT_CHANNEL:e}adjustSeekIndex(t){return this.nextTokenOnChannel(t,this.channel)}LB(t){if(t===0||this.index-t<0)return null;let e=this.index,r=1;for(;r<=t;)e=this.previousTokenOnChannel(e-1,this.channel),r+=1;return e<0?null:this.tokens[e]}LT(t){if(this.lazyInit(),t===0)return null;if(t<0)return this.LB(-t);let e=this.index,r=1;for(;r<t;)this.sync(e+1)&&(e=this.nextTokenOnChannel(e+1,this.channel)),r+=1;return this.tokens[e]}getNumberOfOnChannelTokens(){let t=0;this.fill();for(let e=0;e<this.tokens.length;e++){let r=this.tokens[e];if(r.channel===this.channel&&(t+=1),r.type===Gt.EOF)break}return t}}class jd extends Il{constructor(t){super(),this.parser=t}enterEveryRule(t){console.log("enter "+this.parser.ruleNames[t.ruleIndex]+", LT(1)="+this.parser._input.LT(1).text)}visitTerminal(t){console.log("consume "+t.symbol+" rule "+this.parser.ruleNames[this.parser._ctx.ruleIndex])}exitEveryRule(t){console.log("exit "+this.parser.ruleNames[t.ruleIndex]+", LT(1)="+this.parser._input.LT(1).text)}}class Dl extends zs{constructor(t){super(),this._input=null,this._errHandler=new Gs,this._precedenceStack=[],this._precedenceStack.push(0),this._ctx=null,this.buildParseTrees=!0,this._tracer=null,this._parseListeners=null,this._syntaxErrors=0,this.setInputStream(t)}reset(){this._input!==null&&this._input.seek(0),this._errHandler.reset(this),this._ctx=null,this._syntaxErrors=0,this.setTrace(!1),this._precedenceStack=[],this._precedenceStack.push(0),this._interp!==null&&this._interp.reset()}match(t){let e=this.getCurrentToken();return e.type===t?(this._errHandler.reportMatch(this),this.consume()):(e=this._errHandler.recoverInline(this),this.buildParseTrees&&e.tokenIndex===-1&&this._ctx.addErrorNode(e)),e}matchWildcard(){let t=this.getCurrentToken();return t.type>0?(this._errHandler.reportMatch(this),this.consume()):(t=this._errHandler.recoverInline(this),this.buildParseTrees&&t.tokenIndex===-1&&this._ctx.addErrorNode(t)),t}getParseListeners(){return this._parseListeners||[]}addParseListener(t){if(t===null)throw"listener";this._parseListeners===null&&(this._parseListeners=[]),this._parseListeners.push(t)}removeParseListener(t){if(this._parseListeners!==null){let e=this._parseListeners.indexOf(t);e>=0&&this._parseListeners.splice(e,1),this._parseListeners.length===0&&(this._parseListeners=null)}}removeParseListeners(){this._parseListeners=null}triggerEnterRuleEvent(){if(this._parseListeners!==null){let t=this._ctx;this._parseListeners.forEach(function(e){e.enterEveryRule(t),t.enterRule(e)})}}triggerExitRuleEvent(){if(this._parseListeners!==null){let t=this._ctx;this._parseListeners.slice(0).reverse().forEach(function(e){t.exitRule(e),e.exitEveryRule(t)})}}getTokenFactory(){return this._input.tokenSource._factory}setTokenFactory(t){this._input.tokenSource._factory=t}getATNWithBypassAlts(){let t=this.getSerializedATN();if(t===null)throw"The current parser does not support an ATN with bypass alternatives.";let e=this.bypassAltsAtnCache[t];if(e===null){let r=new es;r.generateRuleBypassTransitions=!0,e=new Tl(r).deserialize(t),this.bypassAltsAtnCache[t]=e}return e}getInputStream(){return this.getTokenStream()}setInputStream(t){this.setTokenStream(t)}getTokenStream(){return this._input}setTokenStream(t){this._input=null,this.reset(),this._input=t}get syntaxErrorsCount(){return this._syntaxErrors}getCurrentToken(){return this._input.LT(1)}notifyErrorListeners(t,e,r){r=r||null,(e=e||null)===null&&(e=this.getCurrentToken()),this._syntaxErrors+=1;let i=e.line,n=e.column;this.getErrorListener().syntaxError(this,e,i,n,t,r)}consume(){let t=this.getCurrentToken();t.type!==Gt.EOF&&this.getInputStream().consume();let e=this._parseListeners!==null&&this._parseListeners.length>0;if(this.buildParseTrees||e){let r;r=this._errHandler.inErrorRecoveryMode(this)?this._ctx.addErrorNode(t):this._ctx.addTokenNode(t),r.invokingState=this.state,e&&this._parseListeners.forEach(function(i){r instanceof js||r.isErrorNode!==void 0&&r.isErrorNode()?i.visitErrorNode(r):r instanceof Sn&&i.visitTerminal(r)})}return t}addContextToParseTree(){this._ctx.parentCtx!==null&&this._ctx.parentCtx.addChild(this._ctx)}enterRule(t,e,r){this.state=e,this._ctx=t,this._ctx.start=this._input.LT(1),this.buildParseTrees&&this.addContextToParseTree(),this.triggerEnterRuleEvent()}exitRule(){this._ctx.stop=this._input.LT(-1),this.triggerExitRuleEvent(),this.state=this._ctx.invokingState,this._ctx=this._ctx.parentCtx}enterOuterAlt(t,e){t.setAltNumber(e),this.buildParseTrees&&this._ctx!==t&&this._ctx.parentCtx!==null&&(this._ctx.parentCtx.removeLastChild(),this._ctx.parentCtx.addChild(t)),this._ctx=t}getPrecedence(){return this._precedenceStack.length===0?-1:this._precedenceStack[this._precedenceStack.length-1]}enterRecursionRule(t,e,r,i){this.state=e,this._precedenceStack.push(i),this._ctx=t,this._ctx.start=this._input.LT(1),this.triggerEnterRuleEvent()}pushNewRecursionContext(t,e,r){let i=this._ctx;i.parentCtx=t,i.invokingState=e,i.stop=this._input.LT(-1),this._ctx=t,this._ctx.start=i.start,this.buildParseTrees&&this._ctx.addChild(i),this.triggerEnterRuleEvent()}unrollRecursionContexts(t){this._precedenceStack.pop(),this._ctx.stop=this._input.LT(-1);let e=this._ctx,r=this.getParseListeners();if(r!==null&&r.length>0)for(;this._ctx!==t;)this.triggerExitRuleEvent(),this._ctx=this._ctx.parentCtx;else this._ctx=t;e.parentCtx=t,this.buildParseTrees&&t!==null&&t.addChild(e)}getInvokingContext(t){let e=this._ctx;for(;e!==null;){if(e.ruleIndex===t)return e;e=e.parentCtx}return null}precpred(t,e){return e>=this._precedenceStack[this._precedenceStack.length-1]}inContext(t){return!1}isExpectedToken(t){let e=this._interp.atn,r=this._ctx,i=e.states[this.state],n=e.nextTokens(i);if(n.contains(t))return!0;if(!n.contains(Gt.EPSILON))return!1;for(;r!==null&&r.invokingState>=0&&n.contains(Gt.EPSILON);){let o=e.states[r.invokingState].transitions[0];if(n=e.nextTokens(o.followState),n.contains(t))return!0;r=r.parentCtx}return!(!n.contains(Gt.EPSILON)||t!==Gt.EOF)}getExpectedTokens(){return this._interp.atn.getExpectedTokens(this.state,this._ctx)}getExpectedTokensWithinCurrentRule(){let t=this._interp.atn,e=t.states[this.state];return t.nextTokens(e)}getRuleIndex(t){let e=this.getRuleIndexMap()[t];return e!==null?e:-1}getRuleInvocationStack(t){(t=t||null)===null&&(t=this._ctx);let e=[];for(;t!==null;){let r=t.ruleIndex;r<0?e.push("n/a"):e.push(this.ruleNames[r]),t=t.parentCtx}return e}getDFAStrings(){return this._interp.decisionToDFA.toString()}dumpDFA(){let t=!1;for(let e=0;e<this._interp.decisionToDFA.length;e++){let r=this._interp.decisionToDFA[e];r.states.length>0&&(t&&console.log(),this.printer.println("Decision "+r.decision+":"),this.printer.print(r.toString(this.literalNames,this.symbolicNames)),t=!0)}}getSourceName(){return this._input.getSourceName()}setTrace(t){t?(this._tracer!==null&&this.removeParseListener(this._tracer),this._tracer=new jd(this),this.addParseListener(this._tracer)):(this.removeParseListener(this._tracer),this._tracer=null)}}Dl.bypassAltsAtnCache={};class Nc extends Sn{constructor(t){super(),this.parentCtx=null,this.symbol=t}getChild(t){return null}getSymbol(){return this.symbol}getParent(){return this.parentCtx}getPayload(){return this.symbol}getSourceInterval(){if(this.symbol===null)return be.INVALID_INTERVAL;let t=this.symbol.tokenIndex;return new be(t,t)}getChildCount(){return 0}accept(t){return t.visitTerminal(this)}getText(){return this.symbol.text}toString(){return this.symbol.type===Gt.EOF?"<EOF>":this.symbol.text}}class ac extends Nc{constructor(t){super(t)}isErrorNode(){return!0}accept(t){return t.visitErrorNode(this)}}class Fl extends li{constructor(t,e){super(t,e),this.children=null,this.start=null,this.stop=null,this.exception=null}copyFrom(t){this.parentCtx=t.parentCtx,this.invokingState=t.invokingState,this.children=null,this.start=t.start,this.stop=t.stop,t.children&&(this.children=[],t.children.map(function(e){e instanceof ac&&(this.children.push(e),e.parentCtx=this)},this))}enterRule(t){}exitRule(t){}addChild(t){return this.children===null&&(this.children=[]),this.children.push(t),t}removeLastChild(){this.children!==null&&this.children.pop()}addTokenNode(t){let e=new Nc(t);return this.addChild(e),e.parentCtx=this,e}addErrorNode(t){let e=new ac(t);return this.addChild(e),e.parentCtx=this,e}getChild(t,e){if(e=e||null,this.children===null||t<0||t>=this.children.length)return null;if(e===null)return this.children[t];for(let r=0;r<this.children.length;r++){let i=this.children[r];if(i instanceof e){if(t===0)return i;t-=1}}return null}getToken(t,e){if(this.children===null||e<0||e>=this.children.length)return null;for(let r=0;r<this.children.length;r++){let i=this.children[r];if(i instanceof Sn&&i.symbol.type===t){if(e===0)return i;e-=1}}return null}getTokens(t){if(this.children===null)return[];{let e=[];for(let r=0;r<this.children.length;r++){let i=this.children[r];i instanceof Sn&&i.symbol.type===t&&e.push(i)}return e}}getTypedRuleContext(t,e){return this.getChild(e,t)}getTypedRuleContexts(t){if(this.children===null)return[];{let e=[];for(let r=0;r<this.children.length;r++){let i=this.children[r];i instanceof t&&e.push(i)}return e}}getChildCount(){return this.children===null?0:this.children.length}getSourceInterval(){return this.start===null||this.stop===null?be.INVALID_INTERVAL:new be(this.start.tokenIndex,this.stop.tokenIndex)}}li.EMPTY=new Fl;class $n{static DEFAULT_PROGRAM_NAME="default";constructor(t){this.tokens=t,this.programs=new Map}getTokenStream(){return this.tokens}insertAfter(t,e){let r,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:$n.DEFAULT_PROGRAM_NAME;r=typeof t=="number"?t:t.tokenIndex;let n=this.getProgram(i),o=new uc(this.tokens,r,n.length,e);n.push(o)}insertBefore(t,e){let r,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:$n.DEFAULT_PROGRAM_NAME;r=typeof t=="number"?t:t.tokenIndex;let n=this.getProgram(i),o=new xi(this.tokens,r,n.length,e);n.push(o)}replaceSingle(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:$n.DEFAULT_PROGRAM_NAME;this.replace(t,t,e,r)}replace(t,e,r){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:$n.DEFAULT_PROGRAM_NAME;if(typeof t!="number"&&(t=t.tokenIndex),typeof e!="number"&&(e=e.tokenIndex),t>e||t<0||e<0||e>=this.tokens.size)throw RangeError(`replace: range invalid: ${t}..${e}(size=${this.tokens.size})`);let n=this.getProgram(i),o=new Bs(this.tokens,t,e,n.length,r);n.push(o)}delete(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:$n.DEFAULT_PROGRAM_NAME;e===void 0&&(e=t),this.replace(t,e,null,r)}getProgram(t){let e=this.programs.get(t);return e==null&&(e=this.initializeProgram(t)),e}initializeProgram(t){let e=[];return this.programs.set(t,e),e}getText(t){let e,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:$n.DEFAULT_PROGRAM_NAME;e=t instanceof be?t:new be(0,this.tokens.size-1),typeof t=="string"&&(r=t);let i=this.programs.get(r),n=e.start,o=e.stop;if(o>this.tokens.size-1&&(o=this.tokens.size-1),n<0&&(n=0),i==null||i.length===0)return this.tokens.getText(new be(n,o));let s=[],h=this.reduceToSingleOperationPerIndex(i),m=n;for(;m<=o&&m<this.tokens.size;){let p=h.get(m);h.delete(m);let y=this.tokens.get(m);p==null?(y.type!==Gt.EOF&&s.push(String(y.text)),m++):m=p.execute(s)}if(o===this.tokens.size-1)for(let p of h.values())p.index>=this.tokens.size-1&&s.push(p.text.toString());return s.join("")}reduceToSingleOperationPerIndex(t){for(let r=0;r<t.length;r++){let i=t[r];if(i==null)continue;if(!(i instanceof Bs))continue;let n=i,o=this.getKindOfOps(t,xi,r);for(let h of o)h.index===n.index?(t[h.instructionIndex]=void 0,n.text=h.text.toString()+(n.text!=null?n.text.toString():"")):h.index>n.index&&h.index<=n.lastIndex&&(t[h.instructionIndex]=void 0);let s=this.getKindOfOps(t,Bs,r);for(let h of s){if(h.index>=n.index&&h.lastIndex<=n.lastIndex){t[h.instructionIndex]=void 0;continue}let m=h.lastIndex<n.index||h.index>n.lastIndex;if(h.text!=null||n.text!=null||m){if(!m)throw Error(`replace op boundaries of ${n} overlap with previous ${h}`)}else t[h.instructionIndex]=void 0,n.index=Math.min(h.index,n.index),n.lastIndex=Math.max(h.lastIndex,n.lastIndex)}}for(let r=0;r<t.length;r++){let i=t[r];if(i==null)continue;if(!(i instanceof xi))continue;let n=i,o=this.getKindOfOps(t,xi,r);for(let h of o)h.index===n.index&&(h instanceof uc?(n.text=this.catOpText(h.text,n.text),t[h.instructionIndex]=void 0):h instanceof xi&&(n.text=this.catOpText(n.text,h.text),t[h.instructionIndex]=void 0));let s=this.getKindOfOps(t,Bs,r);for(let h of s)if(n.index!==h.index){if(n.index>=h.index&&n.index<=h.lastIndex)throw Error(`insert op ${n} within boundaries of previous ${h}`)}else h.text=this.catOpText(n.text,h.text),t[r]=void 0}let e=new Map;for(let r of t)if(r!=null){if(e.get(r.index)!=null)throw Error("should only be one op per index");e.set(r.index,r)}return e}catOpText(t,e){let r="",i="";return t!=null&&(r=t.toString()),e!=null&&(i=e.toString()),r+i}getKindOfOps(t,e,r){return t.slice(0,r).filter((i)=>i&&i instanceof e)}}class Lc{constructor(t,e,r,i){this.tokens=t,this.instructionIndex=r,this.index=e,this.text=i===void 0?"":i}toString(){let t=this.constructor.name,e=t.indexOf("$");return t=t.substring(e+1,t.length),"<"+t+"@"+this.tokens.get(this.index)+':"'+this.text+'">'}}class xi extends Lc{constructor(t,e,r,i){super(t,e,r,i)}execute(t){return this.text&&t.push(this.text.toString()),this.tokens.get(this.index).type!==Gt.EOF&&t.push(String(this.tokens.get(this.index).text)),this.index+1}}class uc extends xi{constructor(t,e,r,i){super(t,e+1,r,i)}}class Bs extends Lc{constructor(t,e,r,i,n){super(t,e,i,n),this.lastIndex=r}execute(t){return this.text&&t.push(this.text.toString()),this.lastIndex+1}toString(){return this.text==null?"<DeleteOp@"+this.tokens.get(this.index)+".."+this.tokens.get(this.lastIndex)+">":"<ReplaceOp@"+this.tokens.get(this.index)+".."+this.tokens.get(this.lastIndex)+':"'+this.text+'">'}}var M2={atn:_2,dfa:b2,context:y2,misc:x2,tree:w2,error:S2,Token:Gt,CommonToken:Vn,CharStreams:zd,CharStream:oi,InputStream:Pl,CommonTokenStream:Tc,Lexer:ze,Parser:Dl,ParserRuleContext:Fl,Interval:be,IntervalSet:Yr,LL1Analyzer:Ci,Utils:C2,TokenStreamRewriter:$n},{MG:ir,fr:Bl,sR:V7,Zo:j7,iH:Ic,rt:W7,jB:Wd,M8:Ul,$t:G7,aq:K7,pG:Gd,eP:Kd,KU:Q7,zW:Y7,IX:Z7,mY:X7,a7:J7,JG:Qd,ay:Yd,X2:dn,WU:tv,Uw:Zd,gw:ev,iX:Xd,re:Jd,Pg:St,tD:ql,R$:rv,Dj:Ct,m7:nv,NZ:iv,xo:sv,ou:Je,qC:ov,mD:lv,Ay:av}=ye;class Hl extends Zd{visitStart;visitStart_script;visitStart_expression;visitStart_comments;visitStatements;visitStatement;visitCompound_statement;visitSimple_statements;visitTrailing_structure_statements;visitSimple_statement;visitCompound_assignment;visitCompound_variable_initialization;visitCompound_name_initialization;visitCompound_tuple_initialization;visitCompound_reassignment;visitCompound_augassignment;visitFunction_declaration;visitParameter_list;visitParameter_definition;visitMethod_declaration;visitMethod_parameter_list;visitMethod_parameter_definition;visitType_declaration;visitField_definitions;visitField_definition;visitEnum_declaration;visitEnum_definitions;visitEnum_definition;visitValue_structure;visitStructure;visitStructure_statement;visitStructure_expression;visitIf_structure;visitElif_structure;visitIf_tail;visitElse_block;visitFor_structure;visitFor_structure_to;visitFor_structure_in;visitFor_iterator;visitWhile_structure;visitSwitch_structure;visitOnce_structure;visitSwitch_case;visitSwitch_cases;visitSwitch_pattern_case;visitSwitch_patterns;visitSwitch_default_case;visitLocal_block;visitIndented_local_block;visitInline_local_block;visitSimple_assignment;visitSimple_variable_initialization;visitSimple_name_initialization;visitSimple_tuple_initialization;visitSimple_reassignment;visitSimple_augassignment;visitExpression;visitExpression_statement;visitConditional_expression;visitDisjunction_expression;visitConjunction_expression;visitBitwise_or_expression;visitBitwise_xor_expression;visitBitwise_and_expression;visitEquality_expression;visitEquality_trailing_pair;visitEqual_trailing_pair;visitNot_equal_trailing_pair;visitInequality_expression;visitInequality_trailing_pair;visitLess_than_equal_trailing_pair;visitLess_than_trailing_pair;visitGreater_than_equal_trailing_pair;visitGreater_than_trailing_pair;visitShift_expression;visitShift_op;visitAdditive_expression;visitAdditive_op;visitMultiplicative_expression;visitMultiplicative_op;visitUnary_expression;visitUnary_op;visitPrimary_expression_attribute;visitPrimary_expression_call;visitPrimary_expression_fallback;visitPrimary_expression_subscript;visitArgument_list;visitArgument_definition;visitSubscript_slice;visitAtomic_expression;visitLiteral_expression;visitLiteral_number;visitLiteral_string;visitLiteral_bool;visitLiteral_color;visitGrouped_expression;visitTuple_expression;visitImport_statement;visitBreak_statement;visitContinue_statement;visitVariable_declaration;visitTuple_declaration;visitDeclaration_mode;visitAssignment_target;visitAssignment_target_attribute;visitAssignment_target_subscript;visitAssignment_target_name;visitAssignment_target_group;visitAugassign_op;visitType_specification;visitType_qualifier;visitAttributed_type_name;visitTemplate_spec_suffix;visitRshift_closed_type_args;visitArray_type_suffix;visitType_argument_list;visitName;visitName_load;visitName_store;visitComments;visitComment}var sn={kind:"Load"},ki={kind:"Store"},tp={kind:"Var"},Oc={kind:"VarIp"},Ks={kind:"Add"},Pc={kind:"Sub"},$l={kind:"Mult"},Dc={kind:"Div"},Fc={kind:"Mod"},ep={kind:"BitAnd"},rp={kind:"BitOr"},np={kind:"BitXor"},Bc={kind:"LShift"},ip={kind:"RShift"},sp={kind:"Const"},op={kind:"Input"},lp={kind:"Simple"},ap={kind:"Series"},Uc={kind:"UAdd"},up={kind:"USub"},cp={kind:"Not"},hp={kind:"Invert"},fp={kind:"Eq"},dp={kind:"NotEq"},pp={kind:"Lt"},mp={kind:"LtE"},gp={kind:"Gt"},_p={kind:"GtE"},bp={kind:"And"},yp={kind:"Or"};function xp(t=[],e=[]){return{kind:"Script",body:t,annotations:e}}function wp(t){return{kind:"Expression",body:t}}function Qs(t){return{kind:"Expr",value:t}}function vp(t,e=[]){return{kind:"Call",func:t,args:e}}function qc(t,e=sn){return{kind:"Name",id:t,ctx:e}}function Sp(t,e=null){return{kind:"Constant",value:t,kind_lit:e}}function Cp(t,e=null){return{kind:"Arg",value:t,name:e}}function zl(t,e,r=sn){return{kind:"Attribute",value:t,attr:e,ctx:r}}function Vl(t,e=null,r=sn){return{kind:"Subscript",value:t,slice:e,ctx:r}}function Ei(t,e,r){return{kind:"BinOp",left:t,op:e,right:r}}function Mp(t,e){return{kind:"UnaryOp",op:t,operand:e}}function os(t,e,r=null,i=null,n=null,o=[]){return{kind:"Assign",target:t,value:e,type:r,mode:i,export:n,annotations:o}}function Hc(t,e){return{kind:"ReAssign",target:t,value:e}}function $c(t,e,r){return{kind:"AugAssign",target:t,op:e,value:r}}function kp(t,e){return{kind:"Qualify",qualifier:t,value:e}}function zc(t,e=null){return{kind:"Specialize",value:t,args:e}}function Vc(t,e=[],r=[],i=null,n=null,o=[],s=null){return{kind:"FunctionDef",name:t,args:e,body:r,returns:s,method:i,export:n,annotations:o}}function Ep(t,e=[],r=null,i=[]){return{kind:"TypeDef",name:t,body:e,export:r,annotations:i}}function Rp(t,e=[],r=null,i=[]){return{kind:"EnumDef",name:t,body:e,export:r,annotations:i}}function jc(t,e=null,r=null){return{kind:"Param",name:t,default:e,type:r}}function Wc(t,e,r){return{kind:"Compare",left:t,ops:e,comparators:r}}function Gc(t,e=[],r=[]){return{kind:"If",test:t,body:e,orelse:r}}function ls(t,e=ki){return{kind:"Tuple",elts:t,ctx:e}}function Ap(t,e,r){return{kind:"Conditional",test:t,body:e,orelse:r}}function Tp(t,e,r,i,n=null){return{kind:"ForTo",target:t,start:e,end:r,body:i,step:n}}function Np(t,e,r){return{kind:"ForIn",target:t,iter:e,body:r}}function Lp(t,e=[]){return{kind:"While",test:t,body:e}}function Ip(t=[],e=null){return{kind:"Switch",cases:t,subject:e}}function Kc(t=[],e=null){return{kind:"Case",body:t,pattern:e}}function Op(t=null,e=[]){return{kind:"Once",test:t,body:e}}function Qc(t,e=[]){return{kind:"BoolOp",op:t,values:e}}function Pp(){return{kind:"Break"}}function Dp(){return{kind:"Continue"}}function Fp(t,e,r,i=null){return{kind:"Import",namespace:t,name:e,version:r,alias:i}}function Jt(t,e){let r=e.start,i=e.stop??e.start;if(r)t.lineno=r.line,t.col_offset=r.column;if(i){t.end_lineno=i.line;let n=i.text??"";t.end_col_offset=i.column+n.length}}function k2(t){let e=t.replaceAll("_","");if(/^0[xX]/.test(e))return Number.parseInt(e,16);if(/^0[bB]/.test(e))return Number.parseInt(e.slice(2),2);if(/^0[oO]/.test(e))return Number.parseInt(e.slice(2),8);return Number(e)}function E2(t){let e="";for(let r=0;r<t.length;r++){let i=t[r];if(i!=="\\"||r+1>=t.length){e+=i;continue}let n=t[++r];switch(n){case"n":e+=`
|
|
25
|
+
`;break;case"r":e+="\r";break;case"t":e+="\t";break;case"\\":case"'":case'"':e+=n;break;default:e+=n;break}}return e}function R2(t){if(t.startsWith('"""')&&t.endsWith('"""')||t.startsWith("'''")&&t.endsWith("'''"))return t.slice(3,-3);if(t.length>=2){let e=t[0];if((e==='"'||e==="'")&&t.endsWith(e))return E2(t.slice(1,-1))}return t}function Gn(t){while(Array.isArray(t)&&t.length===1)t=t[0];if(Array.isArray(t))return t.map(Gn);return t}function qe(t){if(t==null||typeof t!=="object")return!1;if(!("symbol"in t))return!1;return t.symbol!=null}function he(t){return t!=null&&typeof t==="object"&&"ruleIndex"in t&&typeof t.ruleIndex==="number"}function jl(t){if(t.kind==="Name"||t.kind==="Attribute"||t.kind==="Subscript")t.ctx=ki;return t}class Yc extends Hl{visitChildren(t){let e=t.children??[],r=[];for(let i of e){if(!he(i))continue;let n=i.accept;if(typeof n!=="function")continue;let o=Gn(n.call(i,this));if(o!==void 0&&o!==null)r.push(o)}if(r.length===0)return;if(r.length===1)return r[0];return r}visitStart_script=(t)=>{let e=t.statements(),r=e?this.visit(e):[];return xp(r)};visitStart_expression=(t)=>wp(this.visit(t.expression()));visitStatements=(t)=>{let e=[];for(let r of t.statement_list()){let i=Gn(this.visit(r));if(Array.isArray(i))e.push(...i);else if(i)e.push(i)}return e};visitStatement=(t)=>{let e=t.compound_statement(),r=t.simple_statements(),i=t.trailing_structure_statements();if(e)return[this.visit(e)];if(r)return this.visit(r);if(i)return this.visit(i);return[]};visitSimple_statements=(t)=>t.simple_statement_list().map((e)=>this.visit(e));visitExpression_statement=(t)=>{let e=Qs(this.visit(t.expression()));return Jt(e,t),e};visitConditional_expression=(t)=>{let e=this.visit(t.disjunction_expression());if(qe(t.QUESTION())){let r=this.visit(t.expression(0)),i=this.visit(t.expression(1)),n=Ap(e,r,i);return Jt(n,t),n}return e};visitDisjunction_expression=(t)=>{let e=t.conjunction_expression_list()??[];if(e.length>1){let r=e.map((n)=>this.visit(n)),i=Qc(yp,r);return Jt(i,t),i}return this.visit(e[0])};visitConjunction_expression=(t)=>{let e=t.bitwise_or_expression_list()??[];if(e.length>1){let r=e.map((n)=>this.visit(n)),i=Qc(bp,r);return Jt(i,t),i}return this.visit(e[0])};visitBitwise_or_expression=(t)=>{if(qe(t.PIPE())){let e=Ei(this.visit(t.bitwise_or_expression()),rp,this.visit(t.bitwise_xor_expression()));return Jt(e,t),e}return this.visit(t.bitwise_xor_expression())};visitBitwise_xor_expression=(t)=>{if(qe(t.CARET())){let e=Ei(this.visit(t.bitwise_xor_expression()),np,this.visit(t.bitwise_and_expression()));return Jt(e,t),e}return this.visit(t.bitwise_and_expression())};visitBitwise_and_expression=(t)=>{if(qe(t.AMP())){let e=Ei(this.visit(t.bitwise_and_expression()),ep,this.visit(t.equality_expression()));return Jt(e,t),e}return this.visit(t.equality_expression())};visitShift_op=(t)=>{if(qe(t.LSHIFT()))return Bc;if(qe(t.RSHIFT()))return ip;return Bc};visitShift_expression=(t)=>{if(he(t.shift_op())){let e=Ei(this.visit(t.shift_expression()),this.visit(t.shift_op()),this.visit(t.additive_expression()));return Jt(e,t),e}return this.visit(t.additive_expression())};visitAdditive_expression=(t)=>{if(t.additive_op()){let e=Ei(this.visit(t.additive_expression()),this.visit(t.additive_op()),this.visit(t.multiplicative_expression()));return Jt(e,t),e}return this.visit(t.multiplicative_expression())};visitAdditive_op=(t)=>{if(t.PLUS())return Ks;if(t.MINUS())return Pc;return Ks};visitMultiplicative_expression=(t)=>{if(t.multiplicative_op()){let e=Ei(this.visit(t.multiplicative_expression()),this.visit(t.multiplicative_op()),this.visit(t.unary_expression()));return Jt(e,t),e}return this.visit(t.unary_expression())};visitMultiplicative_op=(t)=>{if(t.STAR())return $l;if(t.SLASH())return Dc;if(t.PERCENT())return Fc;return $l};visitUnary_expression=(t)=>{if(t.unary_op()){let e=Mp(this.visit(t.unary_op()),this.visit(t.unary_expression()));return Jt(e,t),e}return this.visit(t.primary_expression())};visitUnary_op=(t)=>{if(t.NOT())return cp;if(t.PLUS())return Uc;if(t.MINUS())return up;if(t.TILDE())return hp;return Uc};visitPrimary_expression_call=(t)=>{let e=this.visit(t.primary_expression()),r=t.template_spec_suffix();if(he(r)){let s=this.visit(r)??null,h=zc(e,s);if(h.lineno=e.lineno,h.col_offset=e.col_offset,s)h.end_lineno=s.end_lineno??null,h.end_col_offset=s.end_col_offset??null;else Jt(h,r),h.lineno=e.lineno,h.col_offset=e.col_offset;e=h}let i=t.argument_list(),n=he(i)?A2(this.visit(i)):[],o=vp(e,n);return Jt(o,t),o};visitPrimary_expression_attribute=(t)=>{let e=this.visit(t.primary_expression()),r=this.visit(t.name_load()),i=zl(e,r.id,sn);return Jt(i,t),i};visitPrimary_expression_subscript=(t)=>{let e=this.visit(t.primary_expression()),r=this.visit(t.subscript_slice()),i=Vl(e,r,sn);return Jt(i,t),i};visitArgument_list=(t)=>t.argument_definition_list().map((e)=>this.visit(e));visitArgument_definition=(t)=>{let e=t.name_store(),r=null;if(he(e)&&qe(t.EQUAL())){let n=this.visit(e);if(typeof n==="string")r=n;else if(N2(n))r=n.id;else{let o=e.getText();r=o.length>0?o:null}}let i=Cp(this.visit(t.expression()),r);return Jt(i,t),i};visitSubscript_slice=(t)=>{let e=t.expression_list().map((i)=>this.visit(i));if(e.length<=1)return e[0];let r=ls(e,sn);return Jt(r,t),r};visitLiteral_expression=(t)=>{let e=t.getChild(0),r=this.visit(e),i=Sp(r);if(Jt(i,t),he(t.literal_color()))i.kind_lit="#";return i};visitLiteral_number=(t)=>k2(t.getText());visitLiteral_string=(t)=>R2(t.getText());visitLiteral_bool=(t)=>{if(t.TRUE())return!0;if(t.FALSE())return!1;return!1};visitLiteral_color=(t)=>t.getText();visitName=(t)=>t.getText();visitName_load=(t)=>{let e=qc(t.name().getText(),sn);return Jt(e,t),e};visitName_store=(t)=>{let e=qc(t.name().getText(),ki);return Jt(e,t),e};visitGrouped_expression=(t)=>this.visit(t.expression());visitTuple_expression=(t)=>{let e=(t.expression_list()??[]).map((i)=>this.visit(i)),r=ls(e,sn);return Jt(r,t),r};visitType_specification=(t)=>{let e=this.visit(t.attributed_type_name()),r=t.template_spec_suffix();if(he(r)){let o=this.visit(r)??null,s=zc(e,o);Jt(s,r),s.lineno=e.lineno,s.col_offset=e.col_offset,e=s}let i=t.array_type_suffix();if(he(i)){let o=Vl(e,null,sn);Jt(o,i),o.lineno=e.lineno,o.col_offset=e.col_offset,e=o}let n=t.type_qualifier();if(he(n)){let o=this.visit(n);if(o){let s=kp(o,e);Jt(s,n),s.end_lineno=e.end_lineno??null,s.end_col_offset=e.end_col_offset??null,e=s}}return e};visitType_qualifier=(t)=>{if(qe(t.CONST()))return sp;if(qe(t.INPUT()))return op;if(qe(t.SIMPLE()))return lp;if(qe(t.SERIES()))return ap;return};visitTemplate_spec_suffix=(t)=>{let e=t.type_argument_list();if(!he(e))return null;return this.visit(e)};visitType_argument_list=(t)=>{let e=(t.type_specification_list()??[]).map((i)=>this.visit(i));if(e.length===1)return e[0];let r=ls(e,sn);return Jt(r,t),r};visitAttributed_type_name=(t)=>{let e=(t.name_load_list()??[]).map((i)=>this.visit(i));if(e.length===0)return;let r=e[0];for(let i=1;i<e.length;i++){let n=e[i],o=zl(r,n.id,sn);o.lineno=r.lineno,o.col_offset=r.col_offset,o.end_lineno=n.end_lineno??null,o.end_col_offset=n.end_col_offset??null,r=o}return r};visitSimple_name_initialization=(t)=>{let e=this.visit(t.variable_declaration());if(e.value=this.visit(t.expression()),qe(t.EXPORT()))e.export=1;return Jt(e,t),e};visitCompound_name_initialization=(t)=>{let e=this.visit(t.variable_declaration()),r=t.structure_expression();if(he(r))e.value=this.visit(r);if(qe(t.EXPORT()))e.export=1;return Jt(e,t),e};visitCompound_tuple_initialization=(t)=>{let e=this.visit(t.tuple_declaration()),r=this.visit(t.structure_expression()),i=os(e,r);return Jt(i,t),i};visitCompound_reassignment=(t)=>{let e=jl(this.visit(t.primary_expression())),r=this.visit(t.structure_expression()),i=Hc(e,r);return Jt(i,t),i};visitStructure_expression=(t)=>this.visit(t.value_structure());visitTrailing_structure_statements=(t)=>{let e=[];for(let o of t.simple_statement_list()??[]){let s=Gn(this.visit(o));if(Array.isArray(s))e.push(...s);else if(s)e.push(s)}let r=this.visit(t.structure()),i=Qs(r),n=t.structure();if(he(n))Jt(i,n);else Jt(i,t);return e.push(i),e};visitSimple_tuple_initialization=(t)=>{let e=this.visit(t.tuple_declaration()),r=this.visit(t.expression()),i=os(e,r);return Jt(i,t),i};visitSimple_augassignment=(t)=>{let e=jl(this.visit(t.primary_expression())),r=this.visit(t.augassign_op()),i=this.visit(t.expression()),n=$c(e,r,i);return Jt(n,t),n};visitCompound_augassignment=(t)=>{let e=jl(this.visit(t.primary_expression())),r=this.visit(t.augassign_op()),i=this.visit(t.structure_expression()),n=$c(e,r,i);return Jt(n,t),n};visitAugassign_op=(t)=>{if(qe(t.STAREQUAL()))return $l;if(qe(t.SLASHEQUAL()))return Dc;if(qe(t.PERCENTEQUAL()))return Fc;if(qe(t.PLUSEQUAL()))return Ks;if(qe(t.MINEQUAL()))return Pc;return Ks};visitSimple_reassignment=(t)=>{let e=t.assignment_target_attribute(),r=t.assignment_target_subscript(),i;if(he(e))i=this.visit(e);else if(he(r))i=this.visit(r);else i=jl(this.visit(t.primary_expression()));let n=this.visit(t.expression()),o=Hc(i,n);return Jt(o,t),o};visitAssignment_target_attribute=(t)=>{let e=this.visit(t.primary_expression()),r=this.visit(t.name_store()),i=zl(e,r.id,ki);return Jt(i,t),i};visitAssignment_target_subscript=(t)=>{let e=this.visit(t.primary_expression()),r=this.visit(t.subscript_slice()),i=Vl(e,r,ki);return Jt(i,t),i};visitVariable_declaration=(t)=>{let e=this.visit(t.name_store()),r=t.type_specification(),i=t.declaration_mode(),n=he(r)?this.visit(r)??null:null,o=he(i)?this.visit(i)??null:null,s=os(e,null,n,o);return Jt(s,t),s};visitTuple_declaration=(t)=>{let e=t.name_store_list().map((i)=>this.visit(i)),r=ls(e,ki);return Jt(r,t),r};visitDeclaration_mode=(t)=>{if(qe(t.VARIP()))return Oc;if(qe(t.VAR()))return tp;return};visitFunction_declaration=(t)=>{let e=this.visit(t.name()),r=t.parameter_list(),i=he(r)?Bp(this.visit(r)):[],n=Vr(this.visit(t.local_block())),o=qe(t.EXPORT())?1:0,s=t.type_specification(),h=he(s)?this.visit(s)??null:null,m=Vc(e,i,n,0,o,[],h);return Jt(m,t),m};visitParameter_list=(t)=>t.parameter_definition_list().map((e)=>this.visit(e));visitParameter_definition=(t)=>{let e=this.visit(t.name_store()),r=t.expression(),i=t.type_specification(),n=he(r)?this.visit(r)??null:null,o=he(i)?this.visit(i)??null:null,s=jc(e.id,n,o);return Jt(s,t),s};visitMethod_declaration=(t)=>{let e=this.visit(t.name()),r=t.method_parameter_list(),i=he(r)?Bp(this.visit(r)):[],n=Vr(this.visit(t.local_block())),o=qe(t.EXPORT())?1:0,s=t.type_specification(),h=he(s)?this.visit(s)??null:null,m=Vc(e,i,n,1,o,[],h);return Jt(m,t),m};visitMethod_parameter_list=(t)=>t.method_parameter_definition_list().map((e)=>this.visit(e));visitMethod_parameter_definition=(t)=>{let e=t.type_specification(),r=t.name_store();if(he(e)&&he(r)){let i=this.visit(e)??null,n=this.visit(r),o=jc(n.id,null,i);return Jt(o,t),o}return this.visit(t.parameter_definition())};visitType_declaration=(t)=>{let e=this.visit(t.name()),r=Vr(this.visit(t.field_definitions())),i=qe(t.EXPORT())?1:0,n=Ep(e,r,i);return Jt(n,t),n};visitEnum_declaration=(t)=>{let e=this.visit(t.name()),r=Vr(this.visit(t.enum_definitions())),i=qe(t.EXPORT())?1:0,n=Rp(e,r,i);return Jt(n,t),n};visitField_definitions=(t)=>t.field_definition_list().map((e)=>this.visit(e));visitField_definition=(t)=>{let e=this.visit(t.name_store()),r=t.expression(),i=t.type_specification(),n=he(r)?this.visit(r)??null:null,o=he(i)?this.visit(i)??null:null,s=qe(t.VARIP())?Oc:null,h=os(e,n,o,s);return Jt(h,t),h};visitEnum_definitions=(t)=>t.enum_definition_list().map((e)=>this.visit(e));visitEnum_definition=(t)=>{let e=this.visit(t.name_store()),r=t.expression(),i=he(r)?this.visit(r)??null:null,n=os(e,i);return Jt(n,t),n};visitStructure_statement=(t)=>{let e=Qs(this.visit(t.structure()));return Jt(e,t),e};visitIf_structure=(t)=>{let e=this.visit(t.expression()),r=Vr(this.visit(t.local_block())),i=t.if_tail(),n=he(i)?Vr(this.visit(i)):[],o=Gc(e,r,n);return Jt(o,t),o};visitFor_structure=(t)=>{let e=t.for_structure_to();if(he(e))return this.visit(e);let r=t.for_structure_in();if(he(r))return this.visit(r);return this.visitChildren(t)};visitFor_iterator=(t)=>{let e=t.tuple_declaration();if(he(e))return this.visit(e);return this.visit(t.name_store())};visitFor_structure_to=(t)=>{let e=this.visit(t.for_iterator()),r=this.visit(t.expression(0)),i=this.visit(t.expression(1)),n=t.expression(2),o=he(n)?this.visit(n)??null:null,s=Vr(this.visit(t.local_block())),h=Tp(e,r,i,s,o);return Jt(h,t),h};visitFor_structure_in=(t)=>{let e=this.visit(t.for_iterator()),r=this.visit(t.expression()),i=Vr(this.visit(t.local_block())),n=Np(e,r,i);return Jt(n,t),n};visitWhile_structure=(t)=>{let e=this.visit(t.expression()),r=Vr(this.visit(t.local_block())),i=Lp(e,r);return Jt(i,t),i};visitOnce_structure=(t)=>{let e=t.expression(),r=he(e)?this.visit(e)??null:null,i=Vr(this.visit(t.local_block())),n=Op(r,i);return Jt(n,t),n};visitSwitch_structure=(t)=>{let e=T2(this.visit(t.switch_cases())),r=t.expression(),i=he(r)?this.visit(r)??null:null,n=Ip(e,i);return Jt(n,t),n};visitSwitch_cases=(t)=>(t.switch_case_list()??[]).map((e)=>this.visit(e));visitSwitch_case=(t)=>{let e=t.switch_pattern_case();if(he(e))return this.visit(e);return this.visit(t.switch_default_case())};visitSwitch_pattern_case=(t)=>{let e=Vr(this.visit(t.local_block())),r=t.switch_patterns(),i=he(r)?(r.expression_list()??[]).map((s)=>this.visit(s)):[],n=null;if(i.length===1)n=i[0];else if(i.length>1)n=ls(i,sn),Jt(n,r);let o=Kc(e,n);return Jt(o,t),o};visitSwitch_default_case=(t)=>{let e=Vr(this.visit(t.local_block())),r=Kc(e,null);return Jt(r,t),r};visitElif_structure=(t)=>{let e=this.visit(t.expression()),r=Vr(this.visit(t.local_block())),i=t.if_tail(),n=he(i)?Vr(this.visit(i)):[],o=Gc(e,r,n);Jt(o,t);let s=Qs(o);return Jt(s,t),[s]};visitIf_tail=(t)=>{let e=t.elif_structure();if(he(e))return this.visit(e);let r=t.else_block();if(he(r))return this.visit(r);return[]};visitElse_block=(t)=>this.visit(t.local_block());visitLocal_block=(t)=>{let e=t.indented_local_block();if(he(e))return this.visit(e);let r=t.inline_local_block();if(he(r))return this.visit(r);return[]};visitIndented_local_block=(t)=>this.visit(t.statements());visitInline_local_block=(t)=>Vr(this.visit(t.statement()));visitEquality_expression=(t)=>{let e=this.visit(t.inequality_expression()),r=t.equality_trailing_pair_list()??[];if(r.length===0)return e;let i=[],n=[];for(let s of r){let h=this.visit(s);i.push(h[0]),n.push(h[1])}let o=Wc(e,i,n);return Jt(o,t),o};visitEqual_trailing_pair=(t)=>[fp,this.visit(t.inequality_expression())];visitNot_equal_trailing_pair=(t)=>[dp,this.visit(t.inequality_expression())];visitInequality_expression=(t)=>{let e=this.visit(t.shift_expression()),r=t.inequality_trailing_pair_list()??[];if(r.length===0)return e;let i=[],n=[];for(let s of r){let h=Gn(this.visit(s));i.push(h[0]),n.push(h[1])}let o=Wc(e,i,n);return Jt(o,t),o};visitLess_than_equal_trailing_pair=(t)=>[mp,this.visit(t.shift_expression())];visitLess_than_trailing_pair=(t)=>[pp,this.visit(t.shift_expression())];visitGreater_than_equal_trailing_pair=(t)=>[_p,this.visit(t.shift_expression())];visitGreater_than_trailing_pair=(t)=>[gp,this.visit(t.shift_expression())];visitBreak_statement=(t)=>{let e=Pp();return Jt(e,t),e};visitContinue_statement=(t)=>{let e=Dp();return Jt(e,t),e};visitImport_statement=(t)=>{let e=String(this.visit(t.name(0))??""),r=String(this.visit(t.name(1))??""),i=this.visit(t.literal_number()),n=typeof i==="number"&&Number.isFinite(i)?Math.trunc(i):1,o=t.AS()?t.name(2):void 0,s=o?String(this.visit(o)??""):null,h=Fp(e,r,n,s||null);return Jt(h,t),h}}function Vr(t){let e=Gn(t);if(e==null)return[];if(Array.isArray(e))return e.filter(Boolean);return[e]}function Bp(t){let e=Gn(t);if(e==null)return[];if(Array.isArray(e))return e.filter(Boolean);return[e]}function A2(t){let e=Gn(t);if(e==null)return[];if(Array.isArray(e))return e.filter(Boolean);return[e]}function T2(t){let e=Gn(t);if(e==null)return[];if(Array.isArray(e))return e.filter(Boolean);return[e]}function N2(t){return t!=null&&typeof t==="object"&&t.kind==="Name"&&typeof t.id==="string"}function Wl(t,e){if(t==null)return"None";if(typeof t==="boolean")return t?"True":"False";if(typeof t==="string")return JSON.stringify(t);if(typeof t==="number")return String(t);if(Array.isArray(t))return`[${t.map((r)=>Wl(r,e)).join(", ")}]`;if(typeof t==="object"&&t!==null&&"kind"in t)return Zc(t,{annotate_fields:e});return String(t)}var L2=new Set(["kind","lineno","col_offset","end_lineno","end_col_offset","kind_lit"]);function Zc(t,e={}){let r=e.annotate_fields!==!1,i=t,n=[];for(let[o,s]of Object.entries(i)){if(L2.has(o))continue;if(o==="annotations"&&Array.isArray(s)&&s.length===0)continue;if(s===void 0)continue;let h=Wl(s,r);n.push(r?`${o}=${h}`:h)}if(t.kind==="Constant"&&i.kind_lit)n.push(r?`kind=${Wl(i.kind_lit,r)}`:Wl(i.kind_lit,r));return`${t.kind}(${n.join(", ")})`}var Up={Add:"+",Sub:"-",Mult:"*",Div:"/",Mod:"%",BitAnd:"&",BitOr:"|",BitXor:"^",LShift:"<<",RShift:">>"},I2={Const:"const",Input:"input",Simple:"simple",Series:"series"},O2={UAdd:"+",USub:"-",Not:"not ",Invert:"~"},P2={Eq:"==",NotEq:"!=",Lt:"<",LtE:"<=",Gt:">",GtE:">="},D2={And:"and",Or:"or"},Ve={TEST:1,OR:2,AND:3,BITOR:4,BITXOR:5,BITAND:6,EQ:7,INEQ:8,SHIFT:9,EXPR:10,ARITH:11,TERM:12,FACTOR:13,ATOM:14};function Xc(t){return Math.min(t+1,Ve.ATOM)}var qp={Add:Ve.ARITH,Sub:Ve.ARITH,Mult:Ve.TERM,Div:Ve.TERM,Mod:Ve.TERM,BitAnd:Ve.BITAND,BitOr:Ve.BITOR,BitXor:Ve.BITXOR,LShift:Ve.SHIFT,RShift:Ve.SHIFT},Hp=Ve.FACTOR,$p={And:Ve.AND,Or:Ve.OR},zp=Ve.INEQ;function F2(t){switch(t.kind){case"BinOp":return qp[t.op.kind];case"UnaryOp":return Hp;case"BoolOp":return $p[t.op.kind];case"Compare":return zp;case"Conditional":return Ve.TEST;default:return}}function pn(t,e){let r=ge(t),i=F2(t);return i!==void 0&&e>i?`(${r})`:r}function B2(t){if(t.includes(`
|
|
26
|
+
`)||t.includes("\r")){if(!t.includes('"""'))return`"""${t}"""`;if(!t.includes("'''"))return`'''${t}'''`}return JSON.stringify(t)}function ge(t){switch(t.kind){case"Name":return t.id;case"Constant":return o1(t);case"Call":return a1(t);case"Attribute":return`${pn(t.value,Ve.ATOM)}.${t.attr}`;case"Subscript":return`${ge(t.value)}[${Zp(t.slice)}]`;case"BinOp":return Gp(t);case"UnaryOp":return Kp(t);case"Compare":return Wp(t);case"If":return Qp(t);case"Tuple":return Yp(t);case"Conditional":return Xp(t);case"ForTo":return t1(t);case"ForIn":return e1(t);case"While":return r1(t);case"Switch":return i1(t);case"Once":return H2(t);case"BoolOp":return s1(t);case"Qualify":return Vp(t);case"Specialize":return jp(t);case"AugAssign":return Jc(t)}}function U2(t){return I2[t.kind]??t.kind.toLowerCase()}function Vp(t){return`${U2(t.qualifier)} ${ge(t.value)}`}function q2(t){if(t==null)return"";if(t.kind==="Tuple")return t.elts.map(ge).join(", ");return ge(t)}function jp(t){return`${ge(t.value)}<${q2(t.args)}>`}function Wp(t){let e=Xc(zp),r=pn(t.left,e);for(let i=0;i<t.ops.length;i++)r+=` ${P2[t.ops[i].kind]??"??"} ${pn(t.comparators[i],e)}`;return r}function Gp(t){let e=qp[t.op.kind]??Ve.TEST;return`${pn(t.left,e)} ${Up[t.op.kind]??"?"} ${pn(t.right,Xc(e))}`}function Kp(t){return`${O2[t.op.kind]??""}${pn(t.operand,Hp)}`}function Qp(t){let e=t.body.map(Ri).join("; ");if(t.orelse.length===0)return`if ${ge(t.test)}
|
|
27
|
+
${e}`;let r=t.orelse.map(Ri).join("; ");return`if ${ge(t.test)}
|
|
28
|
+
${e}
|
|
14
29
|
else
|
|
15
|
-
${
|
|
16
|
-
`))return` ${
|
|
17
|
-
${
|
|
30
|
+
${r}`}function Yp(t){return`[${t.elts.map(ge).join(", ")}]`}function Zp(t){if(t==null)return"";if(t.kind==="Tuple")return t.elts.map(ge).join(", ");return ge(t)}function Xp(t){return`${pn(t.test,Ve.OR)} ? ${pn(t.body,Ve.OR)} : ${pn(t.orelse,Ve.TEST)}`}function Jp(t){if(!t.length)return"";let e=t.map(Ri);if(e.length===1&&!e[0].includes(`
|
|
31
|
+
`))return` ${e[0]}`;return e.map((r)=>`
|
|
32
|
+
${r.replaceAll(`
|
|
18
33
|
`,`
|
|
19
|
-
`)}`).join("")}function
|
|
20
|
-
${
|
|
34
|
+
`)}`).join("")}function t1(t){let e=`for ${ge(t.target)} = ${ge(t.start)} to ${ge(t.end)}`;if(t.step)e+=` by ${ge(t.step)}`;return e+Jp(t.body)}function e1(t){return`for ${ge(t.target)} in ${ge(t.iter)}${Jp(t.body)}`}function Gl(t){if(!t.length)return"";return t.map((e)=>`
|
|
35
|
+
${Ri(e).replaceAll(`
|
|
21
36
|
`,`
|
|
22
|
-
`)}`).join("")}function
|
|
23
|
-
`))return` ${
|
|
24
|
-
${
|
|
37
|
+
`)}`).join("")}function r1(t){return`while ${ge(t.test)}${Gl(t.body)}`}function H2(t){return(t.test?`once ${ge(t.test)}`:"once")+Gl(t.body)}function $2(t){if(!t.length)return"";if(t.length===1&&t[0].kind==="Expr")return` ${ge(t[0].value)}`;let e=t.map(Ri);if(e.length===1&&!e[0].includes(`
|
|
38
|
+
`))return` ${e[0]}`;return e.map((r)=>`
|
|
39
|
+
${r.replaceAll(`
|
|
25
40
|
`,`
|
|
26
|
-
`)}`).join("")}function
|
|
27
|
-
${
|
|
41
|
+
`)}`).join("")}function n1(t){return(t.pattern?`${ge(t.pattern)} =>`:"=>")+$2(t.body)}function i1(t){let e=t.subject?`switch ${ge(t.subject)}`:"switch";if(!t.cases.length)return e;return e+t.cases.map((r)=>`
|
|
42
|
+
${n1(r).replaceAll(`
|
|
28
43
|
`,`
|
|
29
|
-
`)}`).join("")}function
|
|
44
|
+
`)}`).join("")}function s1(t){let e=D2[t.op.kind]??"and",i=$p[t.op.kind]??Ve.AND;return t.values.map((n)=>(i=Xc(i),pn(n,i))).join(` ${e} `)}function o1(t){if(t.kind_lit)return String(t.value);let e=t.value;if(e===!0)return"true";if(e===!1)return"false";if(e===null||e===void 0)return"na";if(typeof e==="string")return B2(e);return String(e)}function l1(t){let e=ge(t.value);return t.name?`${t.name}=${e}`:e}function z2(t){if(t==null)return[];return Array.isArray(t)?t:[t]}function a1(t){return`${pn(t.func,Ve.ATOM)}(${z2(t.args).map(l1).join(", ")})`}function u1(t){let e=`import ${t.namespace}/${t.name}/${t.version}`;return t.alias?`${e} as ${t.alias}`:e}function Ri(t){if(t==null||typeof t!=="object")return"";if(t.kind==="Expr")return ge(t.value);if(t.kind==="Assign")return p1(t);if(t.kind==="ReAssign")return m1(t);if(t.kind==="AugAssign")return Jc(t);if(t.kind==="FunctionDef")return d1(t);if(t.kind==="TypeDef")return h1(t);if(t.kind==="EnumDef")return f1(t);if(t.kind==="Import")return u1(t);if(t.kind==="Break")return"break";if(t.kind==="Continue")return"continue";return""}function V2(t){if(t==null)return[];return Array.isArray(t)?t:[t]}function c1(t){let e=t.name;if(t.type)e=`${ge(t.type)} ${e}`;if(t.default)e+=`=${ge(t.default)}`;return e}function h1(t){let e=[];if(t.export)e.push("export");e.push("type"),e.push(t.name);let r=`${e.join(" ")}${Gl(t.body)}`;if(t.annotations.length)return`${t.annotations.join(`
|
|
30
45
|
`)}
|
|
31
|
-
${
|
|
46
|
+
${r}`;return r}function f1(t){let e=[];if(t.export)e.push("export");e.push("enum"),e.push(t.name);let r=`${e.join(" ")}${Gl(t.body)}`;if(t.annotations.length)return`${t.annotations.join(`
|
|
32
47
|
`)}
|
|
33
|
-
${
|
|
34
|
-
${
|
|
48
|
+
${r}`;return r}function d1(t){let e=[];if(t.export)e.push("export");if(t.method)e.push("method");if(t.returns)e.push(ge(t.returns));e.push(`${t.name}(${V2(t.args).map(c1).join(", ")}) =>`);let r=e.join(" "),i=t.body,n;if(i.length===1&&i[0].kind==="Expr")n=`${r} ${ge(i[0].value)}`;else if(!i.length)n=r;else n=`${r}${i.map((o)=>`
|
|
49
|
+
${Ri(o).replaceAll(`
|
|
35
50
|
`,`
|
|
36
|
-
`)}`).join("")}`;if(
|
|
51
|
+
`)}`).join("")}`;if(t.annotations.length)return`${t.annotations.join(`
|
|
37
52
|
`)}
|
|
38
|
-
${
|
|
53
|
+
${n}`;return n}function p1(t){let e=[];if(t.export)e.push("export");if(t.mode)e.push(t.mode.kind==="VarIp"?"varip":"var");if(t.type)e.push(ge(t.type));e.push(ge(t.target));let r=e.join(" "),i=t.value==null?r:`${r} = ${ge(t.value)}`;if(t.annotations.length)return`${t.annotations.join(`
|
|
39
54
|
`)}
|
|
40
|
-
${
|
|
41
|
-
`)}if(
|
|
42
|
-
`)&&!T.includes("\r")){this._addPendingToken(this._currentToken);return}let L=T.replace(CL,"$1");if(L=L.replace(PL,""),T.length===L.length)this._addPendingToken(this._currentToken);else{let I=this._currentToken.clone();this._currentToken.text=L,this._addPendingToken(this._currentToken),this._hideAndAddPendingToken(I)}}_insertTrailingTokens(){let T=this._lastPendingTokenTypeFromDefaultChannel;if(T!==this.C.NEWLINE&&T!==this.C.DEDENT)this._createAndAddPendingToken(this.C.NEWLINE,L0.DEFAULT_CHANNEL,null,this._followingToken);this._insertIndentOrDedentToken(0)}_handleEOFToken(){if(this._lastPendingTokenTypeFromDefaultChannel>0)this._insertTrailingTokens();this._addPendingToken(this._currentToken)}_reportLexerError(T,L){this.getErrorListener().syntaxError(this,L.type,L.line,L.column,T,void 0)}reset(){this._resetInternalStates(),super.reset()}}class S0 extends L2{static INDENT=1;static DEDENT=2;static AND=3;static AS=4;static BREAK=5;static BY=6;static CONST=7;static CONTINUE=8;static ELSE=9;static ENUM=10;static EXPORT=11;static FALSE=12;static FOR=13;static IF=14;static IMPORT=15;static IN=16;static INPUT=17;static METHOD=18;static NOT=19;static OR=20;static SERIES=21;static SIMPLE=22;static SWITCH=23;static TO=24;static TYPE=25;static TRUE=26;static VAR=27;static VARIP=28;static WHILE=29;static LPAR=30;static RPAR=31;static LSQB=32;static RSQB=33;static LSHIFT=34;static RSHIFT=35;static LESSEQUAL=36;static GREATEREQUAL=37;static EQEQUAL=38;static NOTEQUAL=39;static LESS=40;static GREATER=41;static EQUAL=42;static RARROW=43;static DOT=44;static COMMA=45;static COLON=46;static QUESTION=47;static TILDE=48;static AMP=49;static PIPE=50;static CARET=51;static PLUS=52;static MINUS=53;static STAR=54;static SLASH=55;static PERCENT=56;static PLUSEQUAL=57;static MINEQUAL=58;static STAREQUAL=59;static SLASHEQUAL=60;static PERCENTEQUAL=61;static COLONEQUAL=62;static NAME=63;static NUMBER=64;static STRING=65;static COLOR=66;static NEWLINE=67;static WS=68;static COMMENT=69;static UNICODE_NOISE=70;static ERROR_TOKEN=71;static EOF=L0.EOF;static COMMENT_CHANNEL=2;static channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN","COMMENT_CHANNEL"];static literalNames=[null,null,null,"'and'","'as'","'break'","'by'","'const'","'continue'","'else'","'enum'","'export'","'false'","'for'","'if'","'import'","'in'","'input'","'method'","'not'","'or'","'series'","'simple'","'switch'","'to'","'type'","'true'","'var'","'varip'","'while'","'('","')'","'['","']'","'<<'","'>>'","'<='","'>='","'=='","'!='","'<'","'>'","'='","'=>'","'.'","','","':'","'?'","'~'","'&'","'|'","'^'","'+'","'-'","'*'","'/'","'%'","'+='","'-='","'*='","'/='","'%='","':='"];static symbolicNames=[null,"INDENT","DEDENT","AND","AS","BREAK","BY","CONST","CONTINUE","ELSE","ENUM","EXPORT","FALSE","FOR","IF","IMPORT","IN","INPUT","METHOD","NOT","OR","SERIES","SIMPLE","SWITCH","TO","TYPE","TRUE","VAR","VARIP","WHILE","LPAR","RPAR","LSQB","RSQB","LSHIFT","RSHIFT","LESSEQUAL","GREATEREQUAL","EQEQUAL","NOTEQUAL","LESS","GREATER","EQUAL","RARROW","DOT","COMMA","COLON","QUESTION","TILDE","AMP","PIPE","CARET","PLUS","MINUS","STAR","SLASH","PERCENT","PLUSEQUAL","MINEQUAL","STAREQUAL","SLASHEQUAL","PERCENTEQUAL","COLONEQUAL","NAME","NUMBER","STRING","COLOR","NEWLINE","WS","COMMENT","UNICODE_NOISE","ERROR_TOKEN"];static modeNames=["DEFAULT_MODE"];static ruleNames=["AND","AS","BREAK","BY","CONST","CONTINUE","ELSE","ENUM","EXPORT","FALSE","FOR","IF","IMPORT","IN","INPUT","METHOD","NOT","OR","SERIES","SIMPLE","SWITCH","TO","TYPE","TRUE","VAR","VARIP","WHILE","LPAR","RPAR","LSQB","RSQB","LSHIFT","RSHIFT","LESSEQUAL","GREATEREQUAL","EQEQUAL","NOTEQUAL","LESS","GREATER","EQUAL","RARROW","DOT","COMMA","COLON","QUESTION","TILDE","AMP","PIPE","CARET","PLUS","MINUS","STAR","SLASH","PERCENT","PLUSEQUAL","MINEQUAL","STAREQUAL","SLASHEQUAL","PERCENTEQUAL","COLONEQUAL","NAME","NUMBER","STRING","COLOR","NEWLINE","WS","COMMENT","HASH_COMMENT","BACKTICKS","UNICODE_NOISE","ERROR_TOKEN","TRIPLE_DQ_STRING","TRIPLE_SQ_STRING","STRING_LITERAL","SINGLE_QUOTED_STRING","DOUBLE_QUOTED_STRING","STRING_ITEM_FOR_SINGLE_QUOTE","STRING_ITEM_FOR_DOUBLE_QUOTE","STRING_CHAR_NO_SINGLE_QUOTE","STRING_CHAR_NO_DOUBLE_QUOTE","STRING_ESCAPE_SEQ","COLOR_LITERAL","COLOR_LITERAL_RGBA","COLOR_LITERAL_RGB","NUMBER_LITERAL","INTEGER","DEC_INTEGER","BIN_INTEGER","OCT_INTEGER","HEX_INTEGER","NON_ZERO_DIGIT","DIGIT","BIN_DIGIT","OCT_DIGIT","HEX_DIGIT","FLOAT_NUMBER","POINT_FLOAT","EXPONENT_FLOAT","DIGIT_PART","FRACTION","EXPONENT","IMAG_NUMBER","OS_INDEPENDENT_NL","ID_START","ID_CONTINUE"];constructor(T){super(T);this._interp=new c3(this,S0._ATN,S0.DecisionsToDFA,new n6)}get grammarFileName(){return"PinescriptLexer.g4"}get literalNames(){return S0.literalNames}get symbolicNames(){return S0.symbolicNames}get ruleNames(){return S0.ruleNames}get serializedATN(){return S0._serializedATN}get channelNames(){return S0.channelNames}get modeNames(){return S0.modeNames}static _serializedATN=[4,0,71,729,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,22,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,28,1,28,1,29,1,29,1,30,1,30,1,31,1,31,1,31,1,32,1,32,1,32,1,33,1,33,1,33,1,34,1,34,1,34,1,35,1,35,1,35,1,36,1,36,1,36,1,37,1,37,1,38,1,38,1,39,1,39,1,40,1,40,1,40,1,41,1,41,1,42,1,42,1,43,1,43,1,44,1,44,1,45,1,45,1,46,1,46,1,47,1,47,1,48,1,48,1,49,1,49,1,50,1,50,1,51,1,51,1,52,1,52,1,53,1,53,1,54,1,54,1,54,1,55,1,55,1,55,1,56,1,56,1,56,1,57,1,57,1,57,1,58,1,58,1,58,1,59,1,59,1,59,1,60,1,60,5,60,434,8,60,10,60,12,60,437,9,60,1,61,1,61,1,62,1,62,1,63,1,63,1,64,1,64,1,65,4,65,448,8,65,11,65,12,65,449,1,65,1,65,1,66,1,66,1,66,1,66,5,66,458,8,66,10,66,12,66,461,9,66,1,66,1,66,1,67,1,67,1,67,5,67,468,8,67,10,67,12,67,471,9,67,1,67,1,67,5,67,475,8,67,10,67,12,67,478,9,67,3,67,480,8,67,1,67,1,67,1,67,1,68,4,68,486,8,68,11,68,12,68,487,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,5,71,510,8,71,10,71,12,71,513,9,71,1,71,1,71,1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,1,72,5,72,532,8,72,10,72,12,72,535,9,72,1,72,1,72,1,72,1,72,1,72,1,72,1,73,1,73,3,73,545,8,73,1,74,1,74,5,74,549,8,74,10,74,12,74,552,9,74,1,74,1,74,1,75,1,75,5,75,558,8,75,10,75,12,75,561,9,75,1,75,1,75,1,76,1,76,3,76,567,8,76,1,77,1,77,3,77,571,8,77,1,78,1,78,1,79,1,79,1,80,1,80,1,80,1,81,1,81,3,81,582,8,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,84,1,84,1,84,3,84,605,8,84,1,85,1,85,1,85,1,85,3,85,611,8,85,1,86,1,86,3,86,615,8,86,1,86,5,86,618,8,86,10,86,12,86,621,9,86,1,86,1,86,3,86,625,8,86,1,86,5,86,628,8,86,10,86,12,86,631,9,86,3,86,633,8,86,1,87,1,87,1,87,3,87,638,8,87,1,87,4,87,641,8,87,11,87,12,87,642,1,88,1,88,1,88,3,88,648,8,88,1,88,4,88,651,8,88,11,88,12,88,652,1,89,1,89,1,89,3,89,658,8,89,1,89,4,89,661,8,89,11,89,12,89,662,1,90,1,90,1,91,1,91,1,92,1,92,1,93,1,93,1,94,1,94,3,94,675,8,94,1,95,1,95,3,95,679,8,95,1,96,3,96,682,8,96,1,96,1,96,1,96,1,96,3,96,688,8,96,1,97,1,97,3,97,692,8,97,1,97,1,97,1,98,1,98,3,98,698,8,98,1,98,5,98,701,8,98,10,98,12,98,704,9,98,1,99,1,99,1,99,1,100,1,100,3,100,711,8,100,1,100,1,100,1,101,1,101,3,101,717,8,101,1,101,1,101,1,102,3,102,722,8,102,1,102,1,102,1,103,1,103,1,104,1,104,0,0,105,1,3,3,4,5,5,7,6,9,7,11,8,13,9,15,10,17,11,19,12,21,13,23,14,25,15,27,16,29,17,31,18,33,19,35,20,37,21,39,22,41,23,43,24,45,25,47,26,49,27,51,28,53,29,55,30,57,31,59,32,61,33,63,34,65,35,67,36,69,37,71,38,73,39,75,40,77,41,79,42,81,43,83,44,85,45,87,46,89,47,91,48,93,49,95,50,97,51,99,52,101,53,103,54,105,55,107,56,109,57,111,58,113,59,115,60,117,61,119,62,121,63,123,64,125,65,127,66,129,67,131,68,133,69,135,0,137,0,139,70,141,71,143,0,145,0,147,0,149,0,151,0,153,0,155,0,157,0,159,0,161,0,163,0,165,0,167,0,169,0,171,0,173,0,175,0,177,0,179,0,181,0,183,0,185,0,187,0,189,0,191,0,193,0,195,0,197,0,199,0,201,0,203,0,205,0,207,0,209,0,1,0,20,3,0,9,9,12,12,32,32,2,0,10,10,13,13,5,0,10,10,13,13,48,57,65,70,97,102,7,0,183,183,8211,8212,8216,8217,8220,8221,8226,8226,8592,8595,8656,8659,1,0,34,34,1,0,39,39,2,0,39,39,92,92,2,0,34,34,92,92,2,0,66,66,98,98,2,0,79,79,111,111,2,0,88,88,120,120,1,0,49,57,1,0,48,57,1,0,48,55,2,0,65,70,97,102,2,0,69,69,101,101,2,0,43,43,45,45,2,0,74,74,106,106,660,0,65,90,95,95,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2160,2183,2185,2190,2208,2249,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3165,3165,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3293,3294,3296,3297,3313,3314,3332,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5873,5880,5888,5905,5919,5937,5952,5969,5984,5996,5998,6000,6016,6067,6103,6103,6108,6108,6176,6264,6272,6276,6279,6312,6314,6314,6320,6389,6400,6430,6480,6509,6512,6516,6528,6571,6576,6601,6656,6678,6688,6740,6823,6823,6917,6963,6981,6988,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8579,8580,11264,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12294,12337,12341,12347,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12735,12784,12799,13312,19903,19968,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42653,42656,42725,42775,42783,42786,42888,42891,42954,42960,42961,42963,42963,42965,42969,42994,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43261,43262,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43488,43492,43494,43503,43514,43518,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43881,43888,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,66176,66204,66208,66256,66304,66335,66349,66368,66370,66377,66384,66421,66432,66461,66464,66499,66504,66511,66560,66717,66736,66771,66776,66811,66816,66855,66864,66915,66928,66938,66940,66954,66956,66962,66964,66965,66967,66977,66979,66993,66995,67001,67003,67004,67072,67382,67392,67413,67424,67431,67456,67461,67463,67504,67506,67514,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,69248,69289,69296,69297,69376,69404,69415,69415,69424,69445,69488,69505,69552,69572,69600,69622,69635,69687,69745,69746,69749,69749,69763,69807,69840,69864,69891,69926,69956,69956,69959,69959,69968,70002,70006,70006,70019,70066,70081,70084,70106,70106,70108,70108,70144,70161,70163,70187,70207,70208,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70751,70753,70784,70831,70852,70853,70855,70855,71040,71086,71128,71131,71168,71215,71236,71236,71296,71338,71352,71352,71424,71450,71488,71494,71680,71723,71840,71903,71935,71942,71945,71945,71948,71955,71957,71958,71960,71983,71999,71999,72001,72001,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72368,72440,72704,72712,72714,72750,72768,72768,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73056,73061,73063,73064,73066,73097,73112,73112,73440,73458,73474,73474,73476,73488,73490,73523,73648,73648,73728,74649,74880,75075,77712,77808,77824,78895,78913,78918,82944,83526,92160,92728,92736,92766,92784,92862,92880,92909,92928,92975,92992,92995,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101589,101632,101640,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,122624,122654,122661,122666,122928,122989,123136,123180,123191,123197,123214,123214,123536,123565,123584,123627,124112,124139,124896,124902,124904,124907,124909,124910,124912,124926,124928,125124,125184,125251,125259,125259,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173791,173824,177977,177984,178205,178208,183969,183984,191456,194560,195101,196608,201546,201552,205743,706,0,48,57,65,90,95,95,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1632,1641,1646,1647,1649,1747,1749,1749,1765,1766,1774,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1984,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2160,2183,2185,2190,2208,2249,2308,2361,2365,2365,2384,2384,2392,2401,2406,2415,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2534,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2662,2671,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2790,2799,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2918,2927,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3046,3055,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3165,3165,3168,3169,3174,3183,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3293,3294,3296,3297,3302,3311,3313,3314,3332,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3430,3439,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3558,3567,3585,3632,3634,3635,3648,3654,3664,3673,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3792,3801,3804,3807,3840,3840,3872,3881,3904,3911,3913,3948,3976,3980,4096,4138,4159,4169,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4240,4249,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5873,5880,5888,5905,5919,5937,5952,5969,5984,5996,5998,6000,6016,6067,6103,6103,6108,6108,6112,6121,6160,6169,6176,6264,6272,6276,6279,6312,6314,6314,6320,6389,6400,6430,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6678,6688,6740,6784,6793,6800,6809,6823,6823,6917,6963,6981,6988,6992,7001,7043,7072,7086,7141,7168,7203,7232,7241,7245,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8579,8580,11264,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12294,12337,12341,12347,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12735,12784,12799,13312,19903,19968,42124,42192,42237,42240,42508,42512,42539,42560,42606,42623,42653,42656,42725,42775,42783,42786,42888,42891,42954,42960,42961,42963,42963,42965,42969,42994,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43216,43225,43250,43255,43259,43259,43261,43262,43264,43301,43312,43334,43360,43388,43396,43442,43471,43481,43488,43492,43494,43518,43520,43560,43584,43586,43588,43595,43600,43609,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43881,43888,44002,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65296,65305,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,66176,66204,66208,66256,66304,66335,66349,66368,66370,66377,66384,66421,66432,66461,66464,66499,66504,66511,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,66928,66938,66940,66954,66956,66962,66964,66965,66967,66977,66979,66993,66995,67001,67003,67004,67072,67382,67392,67413,67424,67431,67456,67461,67463,67504,67506,67514,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,68912,68921,69248,69289,69296,69297,69376,69404,69415,69415,69424,69445,69488,69505,69552,69572,69600,69622,69635,69687,69734,69743,69745,69746,69749,69749,69763,69807,69840,69864,69872,69881,69891,69926,69942,69951,69956,69956,69959,69959,69968,70002,70006,70006,70019,70066,70081,70084,70096,70106,70108,70108,70144,70161,70163,70187,70207,70208,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70384,70393,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70736,70745,70751,70753,70784,70831,70852,70853,70855,70855,70864,70873,71040,71086,71128,71131,71168,71215,71236,71236,71248,71257,71296,71338,71352,71352,71360,71369,71424,71450,71472,71481,71488,71494,71680,71723,71840,71913,71935,71942,71945,71945,71948,71955,71957,71958,71960,71983,71999,71999,72001,72001,72016,72025,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72368,72440,72704,72712,72714,72750,72768,72768,72784,72793,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73040,73049,73056,73061,73063,73064,73066,73097,73112,73112,73120,73129,73440,73458,73474,73474,73476,73488,73490,73523,73552,73561,73648,73648,73728,74649,74880,75075,77712,77808,77824,78895,78913,78918,82944,83526,92160,92728,92736,92766,92768,92777,92784,92862,92864,92873,92880,92909,92928,92975,92992,92995,93008,93017,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101589,101632,101640,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,120782,120831,122624,122654,122661,122666,122928,122989,123136,123180,123191,123197,123200,123209,123214,123214,123536,123565,123584,123627,123632,123641,124112,124139,124144,124153,124896,124902,124904,124907,124909,124910,124912,124926,124928,125124,125184,125251,125259,125259,125264,125273,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,130032,130041,131072,173791,173824,177977,177984,178205,178208,183969,183984,191456,194560,195101,196608,201546,201552,205743,741,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,1,211,1,0,0,0,3,215,1,0,0,0,5,218,1,0,0,0,7,224,1,0,0,0,9,227,1,0,0,0,11,233,1,0,0,0,13,242,1,0,0,0,15,247,1,0,0,0,17,252,1,0,0,0,19,259,1,0,0,0,21,265,1,0,0,0,23,269,1,0,0,0,25,272,1,0,0,0,27,279,1,0,0,0,29,282,1,0,0,0,31,288,1,0,0,0,33,295,1,0,0,0,35,299,1,0,0,0,37,302,1,0,0,0,39,309,1,0,0,0,41,316,1,0,0,0,43,323,1,0,0,0,45,326,1,0,0,0,47,331,1,0,0,0,49,336,1,0,0,0,51,340,1,0,0,0,53,346,1,0,0,0,55,352,1,0,0,0,57,354,1,0,0,0,59,356,1,0,0,0,61,358,1,0,0,0,63,360,1,0,0,0,65,363,1,0,0,0,67,366,1,0,0,0,69,369,1,0,0,0,71,372,1,0,0,0,73,375,1,0,0,0,75,378,1,0,0,0,77,380,1,0,0,0,79,382,1,0,0,0,81,384,1,0,0,0,83,387,1,0,0,0,85,389,1,0,0,0,87,391,1,0,0,0,89,393,1,0,0,0,91,395,1,0,0,0,93,397,1,0,0,0,95,399,1,0,0,0,97,401,1,0,0,0,99,403,1,0,0,0,101,405,1,0,0,0,103,407,1,0,0,0,105,409,1,0,0,0,107,411,1,0,0,0,109,413,1,0,0,0,111,416,1,0,0,0,113,419,1,0,0,0,115,422,1,0,0,0,117,425,1,0,0,0,119,428,1,0,0,0,121,431,1,0,0,0,123,438,1,0,0,0,125,440,1,0,0,0,127,442,1,0,0,0,129,444,1,0,0,0,131,447,1,0,0,0,133,453,1,0,0,0,135,464,1,0,0,0,137,485,1,0,0,0,139,492,1,0,0,0,141,496,1,0,0,0,143,498,1,0,0,0,145,520,1,0,0,0,147,544,1,0,0,0,149,546,1,0,0,0,151,555,1,0,0,0,153,566,1,0,0,0,155,570,1,0,0,0,157,572,1,0,0,0,159,574,1,0,0,0,161,576,1,0,0,0,163,581,1,0,0,0,165,583,1,0,0,0,167,593,1,0,0,0,169,604,1,0,0,0,171,610,1,0,0,0,173,632,1,0,0,0,175,634,1,0,0,0,177,644,1,0,0,0,179,654,1,0,0,0,181,664,1,0,0,0,183,666,1,0,0,0,185,668,1,0,0,0,187,670,1,0,0,0,189,674,1,0,0,0,191,678,1,0,0,0,193,687,1,0,0,0,195,691,1,0,0,0,197,695,1,0,0,0,199,705,1,0,0,0,201,708,1,0,0,0,203,716,1,0,0,0,205,721,1,0,0,0,207,725,1,0,0,0,209,727,1,0,0,0,211,212,5,97,0,0,212,213,5,110,0,0,213,214,5,100,0,0,214,2,1,0,0,0,215,216,5,97,0,0,216,217,5,115,0,0,217,4,1,0,0,0,218,219,5,98,0,0,219,220,5,114,0,0,220,221,5,101,0,0,221,222,5,97,0,0,222,223,5,107,0,0,223,6,1,0,0,0,224,225,5,98,0,0,225,226,5,121,0,0,226,8,1,0,0,0,227,228,5,99,0,0,228,229,5,111,0,0,229,230,5,110,0,0,230,231,5,115,0,0,231,232,5,116,0,0,232,10,1,0,0,0,233,234,5,99,0,0,234,235,5,111,0,0,235,236,5,110,0,0,236,237,5,116,0,0,237,238,5,105,0,0,238,239,5,110,0,0,239,240,5,117,0,0,240,241,5,101,0,0,241,12,1,0,0,0,242,243,5,101,0,0,243,244,5,108,0,0,244,245,5,115,0,0,245,246,5,101,0,0,246,14,1,0,0,0,247,248,5,101,0,0,248,249,5,110,0,0,249,250,5,117,0,0,250,251,5,109,0,0,251,16,1,0,0,0,252,253,5,101,0,0,253,254,5,120,0,0,254,255,5,112,0,0,255,256,5,111,0,0,256,257,5,114,0,0,257,258,5,116,0,0,258,18,1,0,0,0,259,260,5,102,0,0,260,261,5,97,0,0,261,262,5,108,0,0,262,263,5,115,0,0,263,264,5,101,0,0,264,20,1,0,0,0,265,266,5,102,0,0,266,267,5,111,0,0,267,268,5,114,0,0,268,22,1,0,0,0,269,270,5,105,0,0,270,271,5,102,0,0,271,24,1,0,0,0,272,273,5,105,0,0,273,274,5,109,0,0,274,275,5,112,0,0,275,276,5,111,0,0,276,277,5,114,0,0,277,278,5,116,0,0,278,26,1,0,0,0,279,280,5,105,0,0,280,281,5,110,0,0,281,28,1,0,0,0,282,283,5,105,0,0,283,284,5,110,0,0,284,285,5,112,0,0,285,286,5,117,0,0,286,287,5,116,0,0,287,30,1,0,0,0,288,289,5,109,0,0,289,290,5,101,0,0,290,291,5,116,0,0,291,292,5,104,0,0,292,293,5,111,0,0,293,294,5,100,0,0,294,32,1,0,0,0,295,296,5,110,0,0,296,297,5,111,0,0,297,298,5,116,0,0,298,34,1,0,0,0,299,300,5,111,0,0,300,301,5,114,0,0,301,36,1,0,0,0,302,303,5,115,0,0,303,304,5,101,0,0,304,305,5,114,0,0,305,306,5,105,0,0,306,307,5,101,0,0,307,308,5,115,0,0,308,38,1,0,0,0,309,310,5,115,0,0,310,311,5,105,0,0,311,312,5,109,0,0,312,313,5,112,0,0,313,314,5,108,0,0,314,315,5,101,0,0,315,40,1,0,0,0,316,317,5,115,0,0,317,318,5,119,0,0,318,319,5,105,0,0,319,320,5,116,0,0,320,321,5,99,0,0,321,322,5,104,0,0,322,42,1,0,0,0,323,324,5,116,0,0,324,325,5,111,0,0,325,44,1,0,0,0,326,327,5,116,0,0,327,328,5,121,0,0,328,329,5,112,0,0,329,330,5,101,0,0,330,46,1,0,0,0,331,332,5,116,0,0,332,333,5,114,0,0,333,334,5,117,0,0,334,335,5,101,0,0,335,48,1,0,0,0,336,337,5,118,0,0,337,338,5,97,0,0,338,339,5,114,0,0,339,50,1,0,0,0,340,341,5,118,0,0,341,342,5,97,0,0,342,343,5,114,0,0,343,344,5,105,0,0,344,345,5,112,0,0,345,52,1,0,0,0,346,347,5,119,0,0,347,348,5,104,0,0,348,349,5,105,0,0,349,350,5,108,0,0,350,351,5,101,0,0,351,54,1,0,0,0,352,353,5,40,0,0,353,56,1,0,0,0,354,355,5,41,0,0,355,58,1,0,0,0,356,357,5,91,0,0,357,60,1,0,0,0,358,359,5,93,0,0,359,62,1,0,0,0,360,361,5,60,0,0,361,362,5,60,0,0,362,64,1,0,0,0,363,364,5,62,0,0,364,365,5,62,0,0,365,66,1,0,0,0,366,367,5,60,0,0,367,368,5,61,0,0,368,68,1,0,0,0,369,370,5,62,0,0,370,371,5,61,0,0,371,70,1,0,0,0,372,373,5,61,0,0,373,374,5,61,0,0,374,72,1,0,0,0,375,376,5,33,0,0,376,377,5,61,0,0,377,74,1,0,0,0,378,379,5,60,0,0,379,76,1,0,0,0,380,381,5,62,0,0,381,78,1,0,0,0,382,383,5,61,0,0,383,80,1,0,0,0,384,385,5,61,0,0,385,386,5,62,0,0,386,82,1,0,0,0,387,388,5,46,0,0,388,84,1,0,0,0,389,390,5,44,0,0,390,86,1,0,0,0,391,392,5,58,0,0,392,88,1,0,0,0,393,394,5,63,0,0,394,90,1,0,0,0,395,396,5,126,0,0,396,92,1,0,0,0,397,398,5,38,0,0,398,94,1,0,0,0,399,400,5,124,0,0,400,96,1,0,0,0,401,402,5,94,0,0,402,98,1,0,0,0,403,404,5,43,0,0,404,100,1,0,0,0,405,406,5,45,0,0,406,102,1,0,0,0,407,408,5,42,0,0,408,104,1,0,0,0,409,410,5,47,0,0,410,106,1,0,0,0,411,412,5,37,0,0,412,108,1,0,0,0,413,414,5,43,0,0,414,415,5,61,0,0,415,110,1,0,0,0,416,417,5,45,0,0,417,418,5,61,0,0,418,112,1,0,0,0,419,420,5,42,0,0,420,421,5,61,0,0,421,114,1,0,0,0,422,423,5,47,0,0,423,424,5,61,0,0,424,116,1,0,0,0,425,426,5,37,0,0,426,427,5,61,0,0,427,118,1,0,0,0,428,429,5,58,0,0,429,430,5,61,0,0,430,120,1,0,0,0,431,435,3,207,103,0,432,434,3,209,104,0,433,432,1,0,0,0,434,437,1,0,0,0,435,433,1,0,0,0,435,436,1,0,0,0,436,122,1,0,0,0,437,435,1,0,0,0,438,439,3,169,84,0,439,124,1,0,0,0,440,441,3,147,73,0,441,126,1,0,0,0,442,443,3,163,81,0,443,128,1,0,0,0,444,445,3,205,102,0,445,130,1,0,0,0,446,448,7,0,0,0,447,446,1,0,0,0,448,449,1,0,0,0,449,447,1,0,0,0,449,450,1,0,0,0,450,451,1,0,0,0,451,452,6,65,0,0,452,132,1,0,0,0,453,454,5,47,0,0,454,455,5,47,0,0,455,459,1,0,0,0,456,458,8,1,0,0,457,456,1,0,0,0,458,461,1,0,0,0,459,457,1,0,0,0,459,460,1,0,0,0,460,462,1,0,0,0,461,459,1,0,0,0,462,463,6,66,1,0,463,134,1,0,0,0,464,479,5,35,0,0,465,469,7,0,0,0,466,468,8,1,0,0,467,466,1,0,0,0,468,471,1,0,0,0,469,467,1,0,0,0,469,470,1,0,0,0,470,480,1,0,0,0,471,469,1,0,0,0,472,476,8,2,0,0,473,475,8,1,0,0,474,473,1,0,0,0,475,478,1,0,0,0,476,474,1,0,0,0,476,477,1,0,0,0,477,480,1,0,0,0,478,476,1,0,0,0,479,465,1,0,0,0,479,472,1,0,0,0,480,481,1,0,0,0,481,482,6,67,2,0,482,483,6,67,1,0,483,136,1,0,0,0,484,486,5,96,0,0,485,484,1,0,0,0,486,487,1,0,0,0,487,485,1,0,0,0,487,488,1,0,0,0,488,489,1,0,0,0,489,490,6,68,2,0,490,491,6,68,1,0,491,138,1,0,0,0,492,493,7,3,0,0,493,494,1,0,0,0,494,495,6,69,0,0,495,140,1,0,0,0,496,497,9,0,0,0,497,142,1,0,0,0,498,499,5,34,0,0,499,500,5,34,0,0,500,501,5,34,0,0,501,511,1,0,0,0,502,510,8,4,0,0,503,504,5,34,0,0,504,510,8,4,0,0,505,506,5,34,0,0,506,507,5,34,0,0,507,508,1,0,0,0,508,510,8,4,0,0,509,502,1,0,0,0,509,503,1,0,0,0,509,505,1,0,0,0,510,513,1,0,0,0,511,509,1,0,0,0,511,512,1,0,0,0,512,514,1,0,0,0,513,511,1,0,0,0,514,515,5,34,0,0,515,516,5,34,0,0,516,517,5,34,0,0,517,518,1,0,0,0,518,519,6,71,3,0,519,144,1,0,0,0,520,521,5,39,0,0,521,522,5,39,0,0,522,523,5,39,0,0,523,533,1,0,0,0,524,532,8,5,0,0,525,526,5,39,0,0,526,532,8,5,0,0,527,528,5,39,0,0,528,529,5,39,0,0,529,530,1,0,0,0,530,532,8,5,0,0,531,524,1,0,0,0,531,525,1,0,0,0,531,527,1,0,0,0,532,535,1,0,0,0,533,531,1,0,0,0,533,534,1,0,0,0,534,536,1,0,0,0,535,533,1,0,0,0,536,537,5,39,0,0,537,538,5,39,0,0,538,539,5,39,0,0,539,540,1,0,0,0,540,541,6,72,3,0,541,146,1,0,0,0,542,545,3,149,74,0,543,545,3,151,75,0,544,542,1,0,0,0,544,543,1,0,0,0,545,148,1,0,0,0,546,550,5,39,0,0,547,549,3,153,76,0,548,547,1,0,0,0,549,552,1,0,0,0,550,548,1,0,0,0,550,551,1,0,0,0,551,553,1,0,0,0,552,550,1,0,0,0,553,554,5,39,0,0,554,150,1,0,0,0,555,559,5,34,0,0,556,558,3,155,77,0,557,556,1,0,0,0,558,561,1,0,0,0,559,557,1,0,0,0,559,560,1,0,0,0,560,562,1,0,0,0,561,559,1,0,0,0,562,563,5,34,0,0,563,152,1,0,0,0,564,567,3,157,78,0,565,567,3,161,80,0,566,564,1,0,0,0,566,565,1,0,0,0,567,154,1,0,0,0,568,571,3,159,79,0,569,571,3,161,80,0,570,568,1,0,0,0,570,569,1,0,0,0,571,156,1,0,0,0,572,573,8,6,0,0,573,158,1,0,0,0,574,575,8,7,0,0,575,160,1,0,0,0,576,577,5,92,0,0,577,578,9,0,0,0,578,162,1,0,0,0,579,582,3,165,82,0,580,582,3,167,83,0,581,579,1,0,0,0,581,580,1,0,0,0,582,164,1,0,0,0,583,584,5,35,0,0,584,585,3,189,94,0,585,586,3,189,94,0,586,587,3,189,94,0,587,588,3,189,94,0,588,589,3,189,94,0,589,590,3,189,94,0,590,591,3,189,94,0,591,592,3,189,94,0,592,166,1,0,0,0,593,594,5,35,0,0,594,595,3,189,94,0,595,596,3,189,94,0,596,597,3,189,94,0,597,598,3,189,94,0,598,599,3,189,94,0,599,600,3,189,94,0,600,168,1,0,0,0,601,605,3,171,85,0,602,605,3,191,95,0,603,605,3,203,101,0,604,601,1,0,0,0,604,602,1,0,0,0,604,603,1,0,0,0,605,170,1,0,0,0,606,611,3,173,86,0,607,611,3,175,87,0,608,611,3,177,88,0,609,611,3,179,89,0,610,606,1,0,0,0,610,607,1,0,0,0,610,608,1,0,0,0,610,609,1,0,0,0,611,172,1,0,0,0,612,619,3,181,90,0,613,615,5,95,0,0,614,613,1,0,0,0,614,615,1,0,0,0,615,616,1,0,0,0,616,618,3,183,91,0,617,614,1,0,0,0,618,621,1,0,0,0,619,617,1,0,0,0,619,620,1,0,0,0,620,633,1,0,0,0,621,619,1,0,0,0,622,629,5,48,0,0,623,625,5,95,0,0,624,623,1,0,0,0,624,625,1,0,0,0,625,626,1,0,0,0,626,628,3,183,91,0,627,624,1,0,0,0,628,631,1,0,0,0,629,627,1,0,0,0,629,630,1,0,0,0,630,633,1,0,0,0,631,629,1,0,0,0,632,612,1,0,0,0,632,622,1,0,0,0,633,174,1,0,0,0,634,635,5,48,0,0,635,640,7,8,0,0,636,638,5,95,0,0,637,636,1,0,0,0,637,638,1,0,0,0,638,639,1,0,0,0,639,641,3,185,92,0,640,637,1,0,0,0,641,642,1,0,0,0,642,640,1,0,0,0,642,643,1,0,0,0,643,176,1,0,0,0,644,645,5,48,0,0,645,650,7,9,0,0,646,648,5,95,0,0,647,646,1,0,0,0,647,648,1,0,0,0,648,649,1,0,0,0,649,651,3,187,93,0,650,647,1,0,0,0,651,652,1,0,0,0,652,650,1,0,0,0,652,653,1,0,0,0,653,178,1,0,0,0,654,655,5,48,0,0,655,660,7,10,0,0,656,658,5,95,0,0,657,656,1,0,0,0,657,658,1,0,0,0,658,659,1,0,0,0,659,661,3,189,94,0,660,657,1,0,0,0,661,662,1,0,0,0,662,660,1,0,0,0,662,663,1,0,0,0,663,180,1,0,0,0,664,665,7,11,0,0,665,182,1,0,0,0,666,667,7,12,0,0,667,184,1,0,0,0,668,669,2,48,49,0,669,186,1,0,0,0,670,671,7,13,0,0,671,188,1,0,0,0,672,675,3,183,91,0,673,675,7,14,0,0,674,672,1,0,0,0,674,673,1,0,0,0,675,190,1,0,0,0,676,679,3,193,96,0,677,679,3,195,97,0,678,676,1,0,0,0,678,677,1,0,0,0,679,192,1,0,0,0,680,682,3,197,98,0,681,680,1,0,0,0,681,682,1,0,0,0,682,683,1,0,0,0,683,688,3,199,99,0,684,685,3,197,98,0,685,686,5,46,0,0,686,688,1,0,0,0,687,681,1,0,0,0,687,684,1,0,0,0,688,194,1,0,0,0,689,692,3,197,98,0,690,692,3,193,96,0,691,689,1,0,0,0,691,690,1,0,0,0,692,693,1,0,0,0,693,694,3,201,100,0,694,196,1,0,0,0,695,702,3,183,91,0,696,698,5,95,0,0,697,696,1,0,0,0,697,698,1,0,0,0,698,699,1,0,0,0,699,701,3,183,91,0,700,697,1,0,0,0,701,704,1,0,0,0,702,700,1,0,0,0,702,703,1,0,0,0,703,198,1,0,0,0,704,702,1,0,0,0,705,706,5,46,0,0,706,707,3,197,98,0,707,200,1,0,0,0,708,710,7,15,0,0,709,711,7,16,0,0,710,709,1,0,0,0,710,711,1,0,0,0,711,712,1,0,0,0,712,713,3,197,98,0,713,202,1,0,0,0,714,717,3,191,95,0,715,717,3,197,98,0,716,714,1,0,0,0,716,715,1,0,0,0,717,718,1,0,0,0,718,719,7,17,0,0,719,204,1,0,0,0,720,722,5,13,0,0,721,720,1,0,0,0,721,722,1,0,0,0,722,723,1,0,0,0,723,724,5,10,0,0,724,206,1,0,0,0,725,726,7,18,0,0,726,208,1,0,0,0,727,728,7,19,0,0,728,210,1,0,0,0,41,0,435,449,459,469,476,479,487,509,511,531,533,544,550,559,566,570,581,604,610,614,619,624,629,632,637,642,647,652,657,662,674,678,681,687,691,697,702,710,716,721,4,0,1,0,0,2,0,7,69,0,7,65,0];static __ATN;static get _ATN(){if(!S0.__ATN)S0.__ATN=new s6().deserialize(S0._serializedATN);return S0.__ATN}static DecisionsToDFA=S0._ATN.decisionToState.map((T,L)=>new a6(T,L))}class I2 extends d3{constructor(T){super(T)}isEqualToCurrentTokenText(T){return this.getCurrentToken().text===T}isNotEqualToCurrentTokenText(T){return!this.isEqualToCurrentTokenText(T)}}class S extends I2{static INDENT=1;static DEDENT=2;static AND=3;static AS=4;static BREAK=5;static BY=6;static CONST=7;static CONTINUE=8;static ELSE=9;static ENUM=10;static EXPORT=11;static FALSE=12;static FOR=13;static IF=14;static IMPORT=15;static IN=16;static INPUT=17;static METHOD=18;static NOT=19;static OR=20;static SERIES=21;static SIMPLE=22;static SWITCH=23;static TO=24;static TYPE=25;static TRUE=26;static VAR=27;static VARIP=28;static WHILE=29;static LPAR=30;static RPAR=31;static LSQB=32;static RSQB=33;static LSHIFT=34;static RSHIFT=35;static LESSEQUAL=36;static GREATEREQUAL=37;static EQEQUAL=38;static NOTEQUAL=39;static LESS=40;static GREATER=41;static EQUAL=42;static RARROW=43;static DOT=44;static COMMA=45;static COLON=46;static QUESTION=47;static TILDE=48;static AMP=49;static PIPE=50;static CARET=51;static PLUS=52;static MINUS=53;static STAR=54;static SLASH=55;static PERCENT=56;static PLUSEQUAL=57;static MINEQUAL=58;static STAREQUAL=59;static SLASHEQUAL=60;static PERCENTEQUAL=61;static COLONEQUAL=62;static NAME=63;static NUMBER=64;static STRING=65;static COLOR=66;static NEWLINE=67;static WS=68;static COMMENT=69;static UNICODE_NOISE=70;static ERROR_TOKEN=71;static EOF=L0.EOF;static RULE_start=0;static RULE_start_script=1;static RULE_start_expression=2;static RULE_start_comments=3;static RULE_statements=4;static RULE_statement=5;static RULE_compound_statement=6;static RULE_simple_statements=7;static RULE_trailing_structure_statements=8;static RULE_simple_statement=9;static RULE_compound_assignment=10;static RULE_compound_variable_initialization=11;static RULE_compound_name_initialization=12;static RULE_compound_tuple_initialization=13;static RULE_compound_reassignment=14;static RULE_compound_augassignment=15;static RULE_function_declaration=16;static RULE_parameter_list=17;static RULE_parameter_definition=18;static RULE_method_declaration=19;static RULE_method_parameter_list=20;static RULE_method_parameter_definition=21;static RULE_type_declaration=22;static RULE_field_definitions=23;static RULE_field_definition=24;static RULE_enum_declaration=25;static RULE_enum_definitions=26;static RULE_enum_definition=27;static RULE_structure=28;static RULE_structure_statement=29;static RULE_structure_expression=30;static RULE_if_structure=31;static RULE_elif_structure=32;static RULE_if_tail=33;static RULE_else_block=34;static RULE_for_structure=35;static RULE_for_structure_to=36;static RULE_for_structure_in=37;static RULE_for_iterator=38;static RULE_while_structure=39;static RULE_switch_structure=40;static RULE_switch_cases=41;static RULE_switch_pattern_case=42;static RULE_switch_default_case=43;static RULE_local_block=44;static RULE_indented_local_block=45;static RULE_inline_local_block=46;static RULE_simple_assignment=47;static RULE_simple_variable_initialization=48;static RULE_simple_name_initialization=49;static RULE_simple_tuple_initialization=50;static RULE_simple_reassignment=51;static RULE_simple_augassignment=52;static RULE_expression=53;static RULE_expression_statement=54;static RULE_conditional_expression=55;static RULE_disjunction_expression=56;static RULE_conjunction_expression=57;static RULE_bitwise_or_expression=58;static RULE_bitwise_xor_expression=59;static RULE_bitwise_and_expression=60;static RULE_equality_expression=61;static RULE_equality_trailing_pair=62;static RULE_equal_trailing_pair=63;static RULE_not_equal_trailing_pair=64;static RULE_inequality_expression=65;static RULE_inequality_trailing_pair=66;static RULE_less_than_equal_trailing_pair=67;static RULE_less_than_trailing_pair=68;static RULE_greater_than_equal_trailing_pair=69;static RULE_greater_than_trailing_pair=70;static RULE_shift_expression=71;static RULE_shift_op=72;static RULE_additive_expression=73;static RULE_additive_op=74;static RULE_multiplicative_expression=75;static RULE_multiplicative_op=76;static RULE_unary_expression=77;static RULE_unary_op=78;static RULE_primary_expression=79;static RULE_argument_list=80;static RULE_argument_definition=81;static RULE_subscript_slice=82;static RULE_atomic_expression=83;static RULE_literal_expression=84;static RULE_literal_number=85;static RULE_literal_string=86;static RULE_literal_bool=87;static RULE_literal_color=88;static RULE_grouped_expression=89;static RULE_tuple_expression=90;static RULE_import_statement=91;static RULE_break_statement=92;static RULE_continue_statement=93;static RULE_variable_declaration=94;static RULE_tuple_declaration=95;static RULE_declaration_mode=96;static RULE_assignment_target=97;static RULE_assignment_target_attribute=98;static RULE_assignment_target_subscript=99;static RULE_assignment_target_name=100;static RULE_assignment_target_group=101;static RULE_augassign_op=102;static RULE_type_specification=103;static RULE_type_qualifier=104;static RULE_attributed_type_name=105;static RULE_template_spec_suffix=106;static RULE_array_type_suffix=107;static RULE_type_argument_list=108;static RULE_name=109;static RULE_name_load=110;static RULE_name_store=111;static RULE_comments=112;static RULE_comment=113;static literalNames=[null,null,null,"'and'","'as'","'break'","'by'","'const'","'continue'","'else'","'enum'","'export'","'false'","'for'","'if'","'import'","'in'","'input'","'method'","'not'","'or'","'series'","'simple'","'switch'","'to'","'type'","'true'","'var'","'varip'","'while'","'('","')'","'['","']'","'<<'","'>>'","'<='","'>='","'=='","'!='","'<'","'>'","'='","'=>'","'.'","','","':'","'?'","'~'","'&'","'|'","'^'","'+'","'-'","'*'","'/'","'%'","'+='","'-='","'*='","'/='","'%='","':='"];static symbolicNames=[null,"INDENT","DEDENT","AND","AS","BREAK","BY","CONST","CONTINUE","ELSE","ENUM","EXPORT","FALSE","FOR","IF","IMPORT","IN","INPUT","METHOD","NOT","OR","SERIES","SIMPLE","SWITCH","TO","TYPE","TRUE","VAR","VARIP","WHILE","LPAR","RPAR","LSQB","RSQB","LSHIFT","RSHIFT","LESSEQUAL","GREATEREQUAL","EQEQUAL","NOTEQUAL","LESS","GREATER","EQUAL","RARROW","DOT","COMMA","COLON","QUESTION","TILDE","AMP","PIPE","CARET","PLUS","MINUS","STAR","SLASH","PERCENT","PLUSEQUAL","MINEQUAL","STAREQUAL","SLASHEQUAL","PERCENTEQUAL","COLONEQUAL","NAME","NUMBER","STRING","COLOR","NEWLINE","WS","COMMENT","UNICODE_NOISE","ERROR_TOKEN"];static ruleNames=["start","start_script","start_expression","start_comments","statements","statement","compound_statement","simple_statements","trailing_structure_statements","simple_statement","compound_assignment","compound_variable_initialization","compound_name_initialization","compound_tuple_initialization","compound_reassignment","compound_augassignment","function_declaration","parameter_list","parameter_definition","method_declaration","method_parameter_list","method_parameter_definition","type_declaration","field_definitions","field_definition","enum_declaration","enum_definitions","enum_definition","structure","structure_statement","structure_expression","if_structure","elif_structure","if_tail","else_block","for_structure","for_structure_to","for_structure_in","for_iterator","while_structure","switch_structure","switch_cases","switch_pattern_case","switch_default_case","local_block","indented_local_block","inline_local_block","simple_assignment","simple_variable_initialization","simple_name_initialization","simple_tuple_initialization","simple_reassignment","simple_augassignment","expression","expression_statement","conditional_expression","disjunction_expression","conjunction_expression","bitwise_or_expression","bitwise_xor_expression","bitwise_and_expression","equality_expression","equality_trailing_pair","equal_trailing_pair","not_equal_trailing_pair","inequality_expression","inequality_trailing_pair","less_than_equal_trailing_pair","less_than_trailing_pair","greater_than_equal_trailing_pair","greater_than_trailing_pair","shift_expression","shift_op","additive_expression","additive_op","multiplicative_expression","multiplicative_op","unary_expression","unary_op","primary_expression","argument_list","argument_definition","subscript_slice","atomic_expression","literal_expression","literal_number","literal_string","literal_bool","literal_color","grouped_expression","tuple_expression","import_statement","break_statement","continue_statement","variable_declaration","tuple_declaration","declaration_mode","assignment_target","assignment_target_attribute","assignment_target_subscript","assignment_target_name","assignment_target_group","augassign_op","type_specification","type_qualifier","attributed_type_name","template_spec_suffix","array_type_suffix","type_argument_list","name","name_load","name_store","comments","comment"];get grammarFileName(){return"PinescriptParser.g4"}get literalNames(){return S.literalNames}get symbolicNames(){return S.symbolicNames}get ruleNames(){return S.ruleNames}get serializedATN(){return S._serializedATN}createFailedPredicateException(T,L){return new p3(this,T,L)}constructor(T){super(T);this._interp=new l3(this,S._ATN,S.DecisionsToDFA,new n6)}start(){let T=new a8(this,this._ctx,this.state);this.enterRule(T,0,S.RULE_start);try{this.enterOuterAlt(T,1),this.state=228,this.start_script()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}start_script(){let T=new p4(this,this._ctx,this.state);this.enterRule(T,2,S.RULE_start_script);let L;try{this.enterOuterAlt(T,1);{if(this.state=231,this._errHandler.sync(this),L=this._input.LA(1),(L-4&-32)===0&&(1<<L-4&402583519)!==0||(L-48&-32)===0&&(1<<L-48&491569)!==0)this.state=230,this.statements();this.state=233,this.match(S.EOF)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}start_expression(){let T=new n8(this,this._ctx,this.state);this.enterRule(T,4,S.RULE_start_expression);let L;try{this.enterOuterAlt(T,1);{if(this.state=235,this.expression(),this.state=237,this._errHandler.sync(this),L=this._input.LA(1),L===67)this.state=236,this.match(S.NEWLINE);this.state=239,this.match(S.EOF)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}start_comments(){let T=new t8(this,this._ctx,this.state);this.enterRule(T,6,S.RULE_start_comments);let L;try{this.enterOuterAlt(T,1);{if(this.state=242,this._errHandler.sync(this),L=this._input.LA(1),L===69)this.state=241,this.comments();this.state=244,this.match(S.EOF)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}statements(){let T=new Z2(this,this._ctx,this.state);this.enterRule(T,8,S.RULE_statements);let L;try{this.enterOuterAlt(T,1);{this.state=247,this._errHandler.sync(this),L=this._input.LA(1);do this.state=246,this.statement(),this.state=249,this._errHandler.sync(this),L=this._input.LA(1);while((L-4&-32)===0&&(1<<L-4&402583519)!==0||(L-48&-32)===0&&(1<<L-48&491569)!==0)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}statement(){let T=new I6(this,this._ctx,this.state);this.enterRule(T,10,S.RULE_statement);try{switch(this.state=254,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,4,this._ctx)){case 1:this.enterOuterAlt(T,1),this.state=251,this.compound_statement();break;case 2:this.enterOuterAlt(T,2),this.state=252,this.simple_statements();break;case 3:this.enterOuterAlt(T,3),this.state=253,this.trailing_structure_statements();break}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}compound_statement(){let T=new x4(this,this._ctx,this.state);this.enterRule(T,12,S.RULE_compound_statement);try{switch(this.state=262,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,5,this._ctx)){case 1:this.enterOuterAlt(T,1),this.state=256,this.compound_assignment();break;case 2:this.enterOuterAlt(T,2),this.state=257,this.type_declaration();break;case 3:this.enterOuterAlt(T,3),this.state=258,this.enum_declaration();break;case 4:this.enterOuterAlt(T,4),this.state=259,this.structure_statement();break;case 5:this.enterOuterAlt(T,5),this.state=260,this.method_declaration();break;case 6:this.enterOuterAlt(T,6),this.state=261,this.function_declaration();break}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}simple_statements(){let T=new c4(this,this._ctx,this.state);this.enterRule(T,14,S.RULE_simple_statements);let L;try{let I;this.enterOuterAlt(T,1);{this.state=264,this.simple_statement(),this.state=269,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,6,this._ctx);while(I!==2&&I!==U0.INVALID_ALT_NUMBER){if(I===1)this.state=265,this.match(S.COMMA),this.state=266,this.simple_statement();this.state=271,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,6,this._ctx)}if(this.state=273,this._errHandler.sync(this),L=this._input.LA(1),L===45)this.state=272,this.match(S.COMMA);this.state=275,this.match(S.NEWLINE)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}trailing_structure_statements(){let T=new m4(this,this._ctx,this.state);this.enterRule(T,16,S.RULE_trailing_structure_statements);try{let L;this.enterOuterAlt(T,1);{this.state=277,this.simple_statement(),this.state=282,this._errHandler.sync(this),L=this._interp.adaptivePredict(this._input,8,this._ctx);while(L!==2&&L!==U0.INVALID_ALT_NUMBER){if(L===1)this.state=278,this.match(S.COMMA),this.state=279,this.simple_statement();this.state=284,this._errHandler.sync(this),L=this._interp.adaptivePredict(this._input,8,this._ctx)}this.state=285,this.match(S.COMMA),this.state=286,this.structure()}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}simple_statement(){let T=new y1(this,this._ctx,this.state);this.enterRule(T,18,S.RULE_simple_statement);try{switch(this.state=293,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,9,this._ctx)){case 1:this.enterOuterAlt(T,1),this.state=288,this.simple_assignment();break;case 2:this.enterOuterAlt(T,2),this.state=289,this.expression_statement();break;case 3:this.enterOuterAlt(T,3),this.state=290,this.import_statement();break;case 4:this.enterOuterAlt(T,4),this.state=291,this.break_statement();break;case 5:this.enterOuterAlt(T,5),this.state=292,this.continue_statement();break}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}compound_assignment(){let T=new d4(this,this._ctx,this.state);this.enterRule(T,20,S.RULE_compound_assignment);try{switch(this.state=298,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,10,this._ctx)){case 1:this.enterOuterAlt(T,1),this.state=295,this.compound_variable_initialization();break;case 2:this.enterOuterAlt(T,2),this.state=296,this.compound_reassignment();break;case 3:this.enterOuterAlt(T,3),this.state=297,this.compound_augassignment();break}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}compound_variable_initialization(){let T=new l4(this,this._ctx,this.state);this.enterRule(T,22,S.RULE_compound_variable_initialization);try{switch(this.state=302,this._errHandler.sync(this),this._input.LA(1)){case 4:case 6:case 7:case 10:case 11:case 17:case 18:case 21:case 22:case 24:case 25:case 27:case 28:case 63:this.enterOuterAlt(T,1),this.state=300,this.compound_name_initialization();break;case 32:this.enterOuterAlt(T,2),this.state=301,this.compound_tuple_initialization();break;default:throw new x0(this)}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}compound_name_initialization(){let T=new o4(this,this._ctx,this.state);this.enterRule(T,24,S.RULE_compound_name_initialization);let L;try{this.enterOuterAlt(T,1);{if(this.state=305,this._errHandler.sync(this),L=this._input.LA(1),L===11)this.state=304,this.match(S.EXPORT);this.state=307,this.variable_declaration(),this.state=308,this.match(S.EQUAL),this.state=309,this.structure_expression()}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}compound_tuple_initialization(){let T=new v4(this,this._ctx,this.state);this.enterRule(T,26,S.RULE_compound_tuple_initialization);try{this.enterOuterAlt(T,1),this.state=311,this.tuple_declaration(),this.state=312,this.match(S.EQUAL),this.state=313,this.structure_expression()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}compound_reassignment(){let T=new i4(this,this._ctx,this.state);this.enterRule(T,28,S.RULE_compound_reassignment);try{this.enterOuterAlt(T,1),this.state=315,this.primary_expression(0),this.state=316,this.match(S.COLONEQUAL),this.state=317,this.structure_expression()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}compound_augassignment(){let T=new r4(this,this._ctx,this.state);this.enterRule(T,30,S.RULE_compound_augassignment);try{this.enterOuterAlt(T,1),this.state=319,this.primary_expression(0),this.state=320,this.augassign_op(),this.state=321,this.structure_expression()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}function_declaration(){let T=new s4(this,this._ctx,this.state);this.enterRule(T,32,S.RULE_function_declaration);let L;try{this.enterOuterAlt(T,1);{if(this.state=324,this._errHandler.sync(this),L=this._input.LA(1),L===11)this.state=323,this.match(S.EXPORT);switch(this.state=327,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,14,this._ctx)){case 1:this.state=326,this.type_specification();break}if(this.state=329,this.name(),this.state=330,this.match(S.LPAR),this.state=332,this._errHandler.sync(this),L=this._input.LA(1),(L&-32)===0&&(1<<L&57017552)!==0||L===63)this.state=331,this.parameter_list();this.state=334,this.match(S.RPAR),this.state=335,this.match(S.RARROW),this.state=336,this.local_block()}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}parameter_list(){let T=new a4(this,this._ctx,this.state);this.enterRule(T,34,S.RULE_parameter_list);let L;try{let I;this.enterOuterAlt(T,1);{this.state=338,this.parameter_definition(),this.state=343,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,16,this._ctx);while(I!==2&&I!==U0.INVALID_ALT_NUMBER){if(I===1)this.state=339,this.match(S.COMMA),this.state=340,this.parameter_definition();this.state=345,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,16,this._ctx)}if(this.state=347,this._errHandler.sync(this),L=this._input.LA(1),L===45)this.state=346,this.match(S.COMMA)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}parameter_definition(){let T=new _6(this,this._ctx,this.state);this.enterRule(T,36,S.RULE_parameter_definition);let L;try{this.enterOuterAlt(T,1);{switch(this.state=350,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,18,this._ctx)){case 1:this.state=349,this.type_specification();break}if(this.state=352,this.name_store(),this.state=355,this._errHandler.sync(this),L=this._input.LA(1),L===42)this.state=353,this.match(S.EQUAL),this.state=354,this.expression()}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}method_declaration(){let T=new n4(this,this._ctx,this.state);this.enterRule(T,38,S.RULE_method_declaration);let L;try{this.enterOuterAlt(T,1);{if(this.state=358,this._errHandler.sync(this),L=this._input.LA(1),L===11)this.state=357,this.match(S.EXPORT);switch(this.state=360,this.match(S.METHOD),this.state=362,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,21,this._ctx)){case 1:this.state=361,this.type_specification();break}if(this.state=364,this.name(),this.state=365,this.match(S.LPAR),this.state=367,this._errHandler.sync(this),L=this._input.LA(1),(L&-32)===0&&(1<<L&57017552)!==0||L===63)this.state=366,this.method_parameter_list();this.state=369,this.match(S.RPAR),this.state=370,this.match(S.RARROW),this.state=371,this.local_block()}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}method_parameter_list(){let T=new t4(this,this._ctx,this.state);this.enterRule(T,40,S.RULE_method_parameter_list);let L;try{let I;this.enterOuterAlt(T,1);{this.state=373,this.method_parameter_definition(),this.state=378,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,23,this._ctx);while(I!==2&&I!==U0.INVALID_ALT_NUMBER){if(I===1)this.state=374,this.match(S.COMMA),this.state=375,this.method_parameter_definition();this.state=380,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,23,this._ctx)}if(this.state=382,this._errHandler.sync(this),L=this._input.LA(1),L===45)this.state=381,this.match(S.COMMA)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}method_parameter_definition(){let T=new _2(this,this._ctx,this.state);this.enterRule(T,42,S.RULE_method_parameter_definition);try{switch(this.state=388,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,25,this._ctx)){case 1:this.enterOuterAlt(T,1),this.state=384,this.type_specification(),this.state=385,this.name_store();break;case 2:this.enterOuterAlt(T,2),this.state=387,this.parameter_definition();break}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}type_declaration(){let T=new e4(this,this._ctx,this.state);this.enterRule(T,44,S.RULE_type_declaration);let L;try{this.enterOuterAlt(T,1);{if(this.state=391,this._errHandler.sync(this),L=this._input.LA(1),L===11)this.state=390,this.match(S.EXPORT);this.state=393,this.match(S.TYPE),this.state=394,this.name(),this.state=395,this.match(S.NEWLINE),this.state=396,this.match(S.INDENT),this.state=397,this.field_definitions(),this.state=398,this.match(S.DEDENT)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}field_definitions(){let T=new T7(this,this._ctx,this.state);this.enterRule(T,46,S.RULE_field_definitions);let L;try{this.enterOuterAlt(T,1);{this.state=401,this._errHandler.sync(this),L=this._input.LA(1);do this.state=400,this.field_definition(),this.state=403,this._errHandler.sync(this),L=this._input.LA(1);while((L&-32)===0&&(1<<L&325453008)!==0||L===63)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}field_definition(){let T=new R2(this,this._ctx,this.state);this.enterRule(T,48,S.RULE_field_definition);let L;try{this.enterOuterAlt(T,1);{if(this.state=406,this._errHandler.sync(this),L=this._input.LA(1),L===28)this.state=405,this.match(S.VARIP);if(this.state=408,this.type_specification(),this.state=409,this.name_store(),this.state=412,this._errHandler.sync(this),L=this._input.LA(1),L===42)this.state=410,this.match(S.EQUAL),this.state=411,this.expression();this.state=414,this.match(S.NEWLINE)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}enum_declaration(){let T=new L7(this,this._ctx,this.state);this.enterRule(T,50,S.RULE_enum_declaration);let L;try{this.enterOuterAlt(T,1);{if(this.state=417,this._errHandler.sync(this),L=this._input.LA(1),L===11)this.state=416,this.match(S.EXPORT);this.state=419,this.match(S.ENUM),this.state=420,this.name(),this.state=421,this.match(S.NEWLINE),this.state=422,this.match(S.INDENT),this.state=423,this.enum_definitions(),this.state=424,this.match(S.DEDENT)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}enum_definitions(){let T=new I7(this,this._ctx,this.state);this.enterRule(T,52,S.RULE_enum_definitions);let L;try{this.enterOuterAlt(T,1);{this.state=427,this._errHandler.sync(this),L=this._input.LA(1);do this.state=426,this.enum_definition(),this.state=429,this._errHandler.sync(this),L=this._input.LA(1);while((L&-32)===0&&(1<<L&57017552)!==0||L===63)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}enum_definition(){let T=new $2(this,this._ctx,this.state);this.enterRule(T,54,S.RULE_enum_definition);let L;try{this.enterOuterAlt(T,1);{if(this.state=431,this.name_store(),this.state=434,this._errHandler.sync(this),L=this._input.LA(1),L===42)this.state=432,this.match(S.EQUAL),this.state=433,this.expression();this.state=436,this.match(S.NEWLINE)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}structure(){let T=new U6(this,this._ctx,this.state);this.enterRule(T,56,S.RULE_structure);try{switch(this.state=442,this._errHandler.sync(this),this._input.LA(1)){case 14:this.enterOuterAlt(T,1),this.state=438,this.if_structure();break;case 13:this.enterOuterAlt(T,2),this.state=439,this.for_structure();break;case 29:this.enterOuterAlt(T,3),this.state=440,this.while_structure();break;case 23:this.enterOuterAlt(T,4),this.state=441,this.switch_structure();break;default:throw new x0(this)}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}structure_statement(){let T=new _7(this,this._ctx,this.state);this.enterRule(T,58,S.RULE_structure_statement);try{this.enterOuterAlt(T,1),this.state=444,this.structure()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}structure_expression(){let T=new w1(this,this._ctx,this.state);this.enterRule(T,60,S.RULE_structure_expression);try{this.enterOuterAlt(T,1),this.state=446,this.structure()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}if_structure(){let T=new R7(this,this._ctx,this.state);this.enterRule(T,62,S.RULE_if_structure);try{switch(this.enterOuterAlt(T,1),this.state=448,this.match(S.IF),this.state=449,this.expression(),this.state=450,this.local_block(),this.state=452,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,34,this._ctx)){case 1:this.state=451,this.if_tail();break}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}elif_structure(){let T=new $7(this,this._ctx,this.state);this.enterRule(T,64,S.RULE_elif_structure);try{switch(this.enterOuterAlt(T,1),this.state=454,this.match(S.ELSE),this.state=455,this.match(S.IF),this.state=456,this.expression(),this.state=457,this.local_block(),this.state=459,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,35,this._ctx)){case 1:this.state=458,this.if_tail();break}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}if_tail(){let T=new W2(this,this._ctx,this.state);this.enterRule(T,66,S.RULE_if_tail);try{switch(this.state=463,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,36,this._ctx)){case 1:this.enterOuterAlt(T,1),this.state=461,this.elif_structure();break;case 2:this.enterOuterAlt(T,2),this.state=462,this.else_block();break}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}else_block(){let T=new G7(this,this._ctx,this.state);this.enterRule(T,68,S.RULE_else_block);try{this.enterOuterAlt(T,1),this.state=465,this.match(S.ELSE),this.state=466,this.local_block()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}for_structure(){let T=new Q7(this,this._ctx,this.state);this.enterRule(T,70,S.RULE_for_structure);try{switch(this.state=470,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,37,this._ctx)){case 1:this.enterOuterAlt(T,1),this.state=468,this.for_structure_to();break;case 2:this.enterOuterAlt(T,2),this.state=469,this.for_structure_in();break}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}for_structure_to(){let T=new U7(this,this._ctx,this.state);this.enterRule(T,72,S.RULE_for_structure_to);try{this.enterOuterAlt(T,1);{switch(this.state=472,this.match(S.FOR),this.state=473,this.for_iterator(),this.state=474,this.match(S.EQUAL),this.state=475,this.expression(),this.state=476,this.match(S.TO),this.state=477,this.expression(),this.state=480,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,38,this._ctx)){case 1:this.state=478,this.match(S.BY),this.state=479,this.expression();break}this.state=482,this.local_block()}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}for_structure_in(){let T=new S7(this,this._ctx,this.state);this.enterRule(T,74,S.RULE_for_structure_in);try{this.enterOuterAlt(T,1),this.state=484,this.match(S.FOR),this.state=485,this.for_iterator(),this.state=486,this.match(S.IN),this.state=487,this.expression(),this.state=488,this.local_block()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}for_iterator(){let T=new D2(this,this._ctx,this.state);this.enterRule(T,76,S.RULE_for_iterator);try{switch(this.state=495,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,39,this._ctx)){case 1:this.enterOuterAlt(T,1),this.state=490,this.type_specification(),this.state=491,this.name_store();break;case 2:this.enterOuterAlt(T,2),this.state=493,this.name_store();break;case 3:this.enterOuterAlt(T,3),this.state=494,this.tuple_declaration();break}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}while_structure(){let T=new O7(this,this._ctx,this.state);this.enterRule(T,78,S.RULE_while_structure);try{this.enterOuterAlt(T,1),this.state=497,this.match(S.WHILE),this.state=498,this.expression(),this.state=499,this.local_block()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}switch_structure(){let T=new J7(this,this._ctx,this.state);this.enterRule(T,80,S.RULE_switch_structure);let L;try{this.enterOuterAlt(T,1);{if(this.state=501,this.match(S.SWITCH),this.state=503,this._errHandler.sync(this),L=this._input.LA(1),(L-4&-32)===0&&(1<<L-4&343335245)!==0||(L-48&-32)===0&&(1<<L-48&491569)!==0)this.state=502,this.expression();this.state=505,this.match(S.NEWLINE),this.state=506,this.match(S.INDENT),this.state=507,this.switch_cases(),this.state=508,this.match(S.DEDENT)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}switch_cases(){let T=new Z7(this,this._ctx,this.state);this.enterRule(T,82,S.RULE_switch_cases);let L;try{this.enterOuterAlt(T,1);{this.state=511,this._errHandler.sync(this),L=this._input.LA(1);do this.state=510,this.switch_pattern_case(),this.state=513,this._errHandler.sync(this),L=this._input.LA(1);while((L-4&-32)===0&&(1<<L-4&343335245)!==0||(L-48&-32)===0&&(1<<L-48&491569)!==0);if(this.state=516,this._errHandler.sync(this),L=this._input.LA(1),L===43)this.state=515,this.switch_default_case()}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}switch_pattern_case(){let T=new G2(this,this._ctx,this.state);this.enterRule(T,84,S.RULE_switch_pattern_case);try{this.enterOuterAlt(T,1),this.state=518,this.expression(),this.state=519,this.match(S.RARROW),this.state=520,this.local_block()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}switch_default_case(){let T=new W7(this,this._ctx,this.state);this.enterRule(T,86,S.RULE_switch_default_case);try{this.enterOuterAlt(T,1),this.state=522,this.match(S.RARROW),this.state=523,this.local_block()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}local_block(){let T=new C0(this,this._ctx,this.state);this.enterRule(T,88,S.RULE_local_block);try{switch(this.state=527,this._errHandler.sync(this),this._input.LA(1)){case 67:this.enterOuterAlt(T,1),this.state=525,this.indented_local_block();break;case 4:case 5:case 6:case 7:case 8:case 10:case 11:case 12:case 13:case 14:case 15:case 17:case 18:case 19:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 32:case 48:case 52:case 53:case 63:case 64:case 65:case 66:this.enterOuterAlt(T,2),this.state=526,this.inline_local_block();break;default:throw new x0(this)}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}indented_local_block(){let T=new D7(this,this._ctx,this.state);this.enterRule(T,90,S.RULE_indented_local_block);try{this.enterOuterAlt(T,1),this.state=529,this.match(S.NEWLINE),this.state=530,this.match(S.INDENT),this.state=531,this.statements(),this.state=532,this.match(S.DEDENT)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}inline_local_block(){let T=new K7(this,this._ctx,this.state);this.enterRule(T,92,S.RULE_inline_local_block);try{this.enterOuterAlt(T,1),this.state=534,this.statement()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}simple_assignment(){let T=new Y7(this,this._ctx,this.state);this.enterRule(T,94,S.RULE_simple_assignment);try{switch(this.state=539,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,44,this._ctx)){case 1:this.enterOuterAlt(T,1),this.state=536,this.simple_variable_initialization();break;case 2:this.enterOuterAlt(T,2),this.state=537,this.simple_reassignment();break;case 3:this.enterOuterAlt(T,3),this.state=538,this.simple_augassignment();break}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}simple_variable_initialization(){let T=new X7(this,this._ctx,this.state);this.enterRule(T,96,S.RULE_simple_variable_initialization);try{switch(this.state=543,this._errHandler.sync(this),this._input.LA(1)){case 4:case 6:case 7:case 10:case 11:case 17:case 18:case 21:case 22:case 24:case 25:case 27:case 28:case 63:this.enterOuterAlt(T,1),this.state=541,this.simple_name_initialization();break;case 32:this.enterOuterAlt(T,2),this.state=542,this.simple_tuple_initialization();break;default:throw new x0(this)}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}simple_name_initialization(){let T=new B7(this,this._ctx,this.state);this.enterRule(T,98,S.RULE_simple_name_initialization);let L;try{this.enterOuterAlt(T,1);{if(this.state=546,this._errHandler.sync(this),L=this._input.LA(1),L===11)this.state=545,this.match(S.EXPORT);this.state=548,this.variable_declaration(),this.state=549,this.match(S.EQUAL),this.state=550,this.expression()}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}simple_tuple_initialization(){let T=new z7(this,this._ctx,this.state);this.enterRule(T,100,S.RULE_simple_tuple_initialization);try{this.enterOuterAlt(T,1),this.state=552,this.tuple_declaration(),this.state=553,this.match(S.EQUAL),this.state=554,this.expression()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}simple_reassignment(){let T=new H7(this,this._ctx,this.state);this.enterRule(T,102,S.RULE_simple_reassignment);let L;try{this.enterOuterAlt(T,1);{if(this.state=556,this.primary_expression(0),this.state=557,L=this._input.LA(1),!(L===42||L===62))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume();this.state=558,this.expression()}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}simple_augassignment(){let T=new V7(this,this._ctx,this.state);this.enterRule(T,104,S.RULE_simple_augassignment);try{this.enterOuterAlt(T,1),this.state=560,this.primary_expression(0),this.state=561,this.augassign_op(),this.state=562,this.expression()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}expression(){let T=new r(this,this._ctx,this.state);this.enterRule(T,106,S.RULE_expression);try{this.enterOuterAlt(T,1),this.state=564,this.conditional_expression()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}expression_statement(){let T=new F7(this,this._ctx,this.state);this.enterRule(T,108,S.RULE_expression_statement);try{this.enterOuterAlt(T,1),this.state=566,this.expression()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}conditional_expression(){let T=new q7(this,this._ctx,this.state);this.enterRule(T,110,S.RULE_conditional_expression);let L;try{if(this.enterOuterAlt(T,1),this.state=568,this.disjunction_expression(),this.state=574,this._errHandler.sync(this),L=this._input.LA(1),L===47)this.state=569,this.match(S.QUESTION),this.state=570,this.expression(),this.state=571,this.match(S.COLON),this.state=572,this.expression()}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}disjunction_expression(){let T=new k7(this,this._ctx,this.state);this.enterRule(T,112,S.RULE_disjunction_expression);let L;try{this.enterOuterAlt(T,1);{this.state=576,this.conjunction_expression(),this.state=581,this._errHandler.sync(this),L=this._input.LA(1);while(L===20)this.state=577,this.match(S.OR),this.state=578,this.conjunction_expression(),this.state=583,this._errHandler.sync(this),L=this._input.LA(1)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}conjunction_expression(){let T=new Q2(this,this._ctx,this.state);this.enterRule(T,114,S.RULE_conjunction_expression);let L;try{this.enterOuterAlt(T,1);{this.state=584,this.bitwise_or_expression(0),this.state=589,this._errHandler.sync(this),L=this._input.LA(1);while(L===3)this.state=585,this.match(S.AND),this.state=586,this.bitwise_or_expression(0),this.state=591,this._errHandler.sync(this),L=this._input.LA(1)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}bitwise_or_expression(T){if(T===void 0)T=0;let L=this._ctx,I=this.state,_=new b1(this,this._ctx,I),R=_,$=116;this.enterRecursionRule(_,116,S.RULE_bitwise_or_expression,T);try{let G;this.enterOuterAlt(_,1);{this.state=593,this.bitwise_xor_expression(0),this._ctx.stop=this._input.LT(-1),this.state=600,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,50,this._ctx);while(G!==2&&G!==U0.INVALID_ALT_NUMBER){if(G===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();R=_;{if(_=new b1(this,L,I),this.pushNewRecursionContext(_,$,S.RULE_bitwise_or_expression),this.state=595,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=596,this.match(S.PIPE),this.state=597,this.bitwise_xor_expression(0)}}this.state=602,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,50,this._ctx)}}}catch(G){if(G instanceof q)_.exception=G,this._errHandler.reportError(this,G),this._errHandler.recover(this,G);else throw G}finally{this.unrollRecursionContexts(L)}return _}bitwise_xor_expression(T){if(T===void 0)T=0;let L=this._ctx,I=this.state,_=new R6(this,this._ctx,I),R=_,$=118;this.enterRecursionRule(_,118,S.RULE_bitwise_xor_expression,T);try{let G;this.enterOuterAlt(_,1);{this.state=604,this.bitwise_and_expression(0),this._ctx.stop=this._input.LT(-1),this.state=611,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,51,this._ctx);while(G!==2&&G!==U0.INVALID_ALT_NUMBER){if(G===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();R=_;{if(_=new R6(this,L,I),this.pushNewRecursionContext(_,$,S.RULE_bitwise_xor_expression),this.state=606,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=607,this.match(S.CARET),this.state=608,this.bitwise_and_expression(0)}}this.state=613,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,51,this._ctx)}}}catch(G){if(G instanceof q)_.exception=G,this._errHandler.reportError(this,G),this._errHandler.recover(this,G);else throw G}finally{this.unrollRecursionContexts(L)}return _}bitwise_and_expression(T){if(T===void 0)T=0;let L=this._ctx,I=this.state,_=new $6(this,this._ctx,I),R=_,$=120;this.enterRecursionRule(_,120,S.RULE_bitwise_and_expression,T);try{let G;this.enterOuterAlt(_,1);{this.state=615,this.equality_expression(),this._ctx.stop=this._input.LT(-1),this.state=622,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,52,this._ctx);while(G!==2&&G!==U0.INVALID_ALT_NUMBER){if(G===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();R=_;{if(_=new $6(this,L,I),this.pushNewRecursionContext(_,$,S.RULE_bitwise_and_expression),this.state=617,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=618,this.match(S.AMP),this.state=619,this.equality_expression()}}this.state=624,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,52,this._ctx)}}}catch(G){if(G instanceof q)_.exception=G,this._errHandler.reportError(this,G),this._errHandler.recover(this,G);else throw G}finally{this.unrollRecursionContexts(L)}return _}equality_expression(){let T=new M7(this,this._ctx,this.state);this.enterRule(T,122,S.RULE_equality_expression);try{let L;this.enterOuterAlt(T,1);{this.state=625,this.inequality_expression(),this.state=629,this._errHandler.sync(this),L=this._interp.adaptivePredict(this._input,53,this._ctx);while(L!==2&&L!==U0.INVALID_ALT_NUMBER){if(L===1)this.state=626,this.equality_trailing_pair();this.state=631,this._errHandler.sync(this),L=this._interp.adaptivePredict(this._input,53,this._ctx)}}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}equality_trailing_pair(){let T=new U2(this,this._ctx,this.state);this.enterRule(T,124,S.RULE_equality_trailing_pair);try{switch(this.state=634,this._errHandler.sync(this),this._input.LA(1)){case 38:this.enterOuterAlt(T,1),this.state=632,this.equal_trailing_pair();break;case 39:this.enterOuterAlt(T,2),this.state=633,this.not_equal_trailing_pair();break;default:throw new x0(this)}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}equal_trailing_pair(){let T=new E7(this,this._ctx,this.state);this.enterRule(T,126,S.RULE_equal_trailing_pair);try{this.enterOuterAlt(T,1),this.state=636,this.match(S.EQEQUAL),this.state=637,this.inequality_expression()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}not_equal_trailing_pair(){let T=new j7(this,this._ctx,this.state);this.enterRule(T,128,S.RULE_not_equal_trailing_pair);try{this.enterOuterAlt(T,1),this.state=639,this.match(S.NOTEQUAL),this.state=640,this.inequality_expression()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}inequality_expression(){let T=new S6(this,this._ctx,this.state);this.enterRule(T,130,S.RULE_inequality_expression);try{let L;this.enterOuterAlt(T,1);{this.state=642,this.shift_expression(0),this.state=646,this._errHandler.sync(this),L=this._interp.adaptivePredict(this._input,55,this._ctx);while(L!==2&&L!==U0.INVALID_ALT_NUMBER){if(L===1)this.state=643,this.inequality_trailing_pair();this.state=648,this._errHandler.sync(this),L=this._interp.adaptivePredict(this._input,55,this._ctx)}}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}inequality_trailing_pair(){let T=new S2(this,this._ctx,this.state);this.enterRule(T,132,S.RULE_inequality_trailing_pair);try{switch(this.state=653,this._errHandler.sync(this),this._input.LA(1)){case 36:this.enterOuterAlt(T,1),this.state=649,this.less_than_equal_trailing_pair();break;case 40:this.enterOuterAlt(T,2),this.state=650,this.less_than_trailing_pair();break;case 37:this.enterOuterAlt(T,3),this.state=651,this.greater_than_equal_trailing_pair();break;case 41:this.enterOuterAlt(T,4),this.state=652,this.greater_than_trailing_pair();break;default:throw new x0(this)}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}less_than_equal_trailing_pair(){let T=new C7(this,this._ctx,this.state);this.enterRule(T,134,S.RULE_less_than_equal_trailing_pair);try{this.enterOuterAlt(T,1),this.state=655,this.match(S.LESSEQUAL),this.state=656,this.shift_expression(0)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}less_than_trailing_pair(){let T=new P7(this,this._ctx,this.state);this.enterRule(T,136,S.RULE_less_than_trailing_pair);try{this.enterOuterAlt(T,1),this.state=658,this.match(S.LESS),this.state=659,this.shift_expression(0)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}greater_than_equal_trailing_pair(){let T=new N7(this,this._ctx,this.state);this.enterRule(T,138,S.RULE_greater_than_equal_trailing_pair);try{this.enterOuterAlt(T,1),this.state=661,this.match(S.GREATEREQUAL),this.state=662,this.shift_expression(0)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}greater_than_trailing_pair(){let T=new y7(this,this._ctx,this.state);this.enterRule(T,140,S.RULE_greater_than_trailing_pair);try{this.enterOuterAlt(T,1),this.state=664,this.match(S.GREATER),this.state=665,this.shift_expression(0)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}shift_expression(T){if(T===void 0)T=0;let L=this._ctx,I=this.state,_=new a0(this,this._ctx,I),R=_,$=142;this.enterRecursionRule(_,142,S.RULE_shift_expression,T);try{let G;this.enterOuterAlt(_,1);{this.state=668,this.additive_expression(0),this._ctx.stop=this._input.LT(-1),this.state=676,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,57,this._ctx);while(G!==2&&G!==U0.INVALID_ALT_NUMBER){if(G===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();R=_;{if(_=new a0(this,L,I),this.pushNewRecursionContext(_,$,S.RULE_shift_expression),this.state=670,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=671,this.shift_op(),this.state=672,this.additive_expression(0)}}this.state=678,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,57,this._ctx)}}}catch(G){if(G instanceof q)_.exception=G,this._errHandler.reportError(this,G),this._errHandler.recover(this,G);else throw G}finally{this.unrollRecursionContexts(L)}return _}shift_op(){let T=new b7(this,this._ctx,this.state);this.enterRule(T,144,S.RULE_shift_op);let L;try{if(this.enterOuterAlt(T,1),this.state=679,L=this._input.LA(1),!(L===34||L===35))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}additive_expression(T){if(T===void 0)T=0;let L=this._ctx,I=this.state,_=new G6(this,this._ctx,I),R=_,$=146;this.enterRecursionRule(_,146,S.RULE_additive_expression,T);try{let G;this.enterOuterAlt(_,1);{this.state=682,this.multiplicative_expression(0),this._ctx.stop=this._input.LT(-1),this.state=690,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,58,this._ctx);while(G!==2&&G!==U0.INVALID_ALT_NUMBER){if(G===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();R=_;{if(_=new G6(this,L,I),this.pushNewRecursionContext(_,$,S.RULE_additive_expression),this.state=684,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=685,this.additive_op(),this.state=686,this.multiplicative_expression(0)}}this.state=692,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,58,this._ctx)}}}catch(G){if(G instanceof q)_.exception=G,this._errHandler.reportError(this,G),this._errHandler.recover(this,G);else throw G}finally{this.unrollRecursionContexts(L)}return _}additive_op(){let T=new h7(this,this._ctx,this.state);this.enterRule(T,148,S.RULE_additive_op);let L;try{if(this.enterOuterAlt(T,1),this.state=693,L=this._input.LA(1),!(L===52||L===53))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}multiplicative_expression(T){if(T===void 0)T=0;let L=this._ctx,I=this.state,_=new Q6(this,this._ctx,I),R=_,$=150;this.enterRecursionRule(_,150,S.RULE_multiplicative_expression,T);try{let G;this.enterOuterAlt(_,1);{this.state=696,this.unary_expression(),this._ctx.stop=this._input.LT(-1),this.state=704,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,59,this._ctx);while(G!==2&&G!==U0.INVALID_ALT_NUMBER){if(G===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();R=_;{if(_=new Q6(this,L,I),this.pushNewRecursionContext(_,$,S.RULE_multiplicative_expression),this.state=698,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=699,this.multiplicative_op(),this.state=700,this.unary_expression()}}this.state=706,this._errHandler.sync(this),G=this._interp.adaptivePredict(this._input,59,this._ctx)}}}catch(G){if(G instanceof q)_.exception=G,this._errHandler.reportError(this,G),this._errHandler.recover(this,G);else throw G}finally{this.unrollRecursionContexts(L)}return _}multiplicative_op(){let T=new w7(this,this._ctx,this.state);this.enterRule(T,152,S.RULE_multiplicative_op);let L;try{if(this.enterOuterAlt(T,1),this.state=707,L=this._input.LA(1),!((L-54&-32)===0&&(1<<L-54&7)!==0))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}unary_expression(){let T=new K2(this,this._ctx,this.state);this.enterRule(T,154,S.RULE_unary_expression);try{switch(this.state=713,this._errHandler.sync(this),this._input.LA(1)){case 19:case 48:case 52:case 53:this.enterOuterAlt(T,1),this.state=709,this.unary_op(),this.state=710,this.unary_expression();break;case 4:case 6:case 7:case 10:case 12:case 17:case 18:case 21:case 22:case 24:case 25:case 26:case 30:case 32:case 63:case 64:case 65:case 66:this.enterOuterAlt(T,2),this.state=712,this.primary_expression(0);break;default:throw new x0(this)}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}unary_op(){let T=new A7(this,this._ctx,this.state);this.enterRule(T,156,S.RULE_unary_op);let L;try{if(this.enterOuterAlt(T,1),this.state=715,L=this._input.LA(1),!(L===19||(L-48&-32)===0&&(1<<L-48&49)!==0))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}primary_expression(T){if(T===void 0)T=0;let L=this._ctx,I=this.state,_=new O0(this,this._ctx,I),R=_,$=158;this.enterRecursionRule(_,158,S.RULE_primary_expression,T);let G;try{let Q;this.enterOuterAlt(_,1);{_=new L9(this,_),this._ctx=_,R=_,this.state=718,this.atomic_expression(),this._ctx.stop=this._input.LT(-1),this.state=739,this._errHandler.sync(this),Q=this._interp.adaptivePredict(this._input,64,this._ctx);while(Q!==2&&Q!==U0.INVALID_ALT_NUMBER){if(Q===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();switch(R=_,this.state=737,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,63,this._ctx)){case 1:{if(_=new e8(this,new O0(this,L,I)),this.pushNewRecursionContext(_,$,S.RULE_primary_expression),this.state=720,!this.precpred(this._ctx,4))throw this.createFailedPredicateException("this.precpred(this._ctx, 4)");this.state=721,this.match(S.DOT),this.state=722,this.name_load()}break;case 2:{if(_=new T9(this,new O0(this,L,I)),this.pushNewRecursionContext(_,$,S.RULE_primary_expression),this.state=723,!this.precpred(this._ctx,3))throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");if(this.state=725,this._errHandler.sync(this),G=this._input.LA(1),G===40)this.state=724,this.template_spec_suffix();if(this.state=727,this.match(S.LPAR),this.state=729,this._errHandler.sync(this),G=this._input.LA(1),(G-4&-32)===0&&(1<<G-4&343335245)!==0||(G-48&-32)===0&&(1<<G-48&491569)!==0)this.state=728,this.argument_list();this.state=731,this.match(S.RPAR)}break;case 3:{if(_=new I9(this,new O0(this,L,I)),this.pushNewRecursionContext(_,$,S.RULE_primary_expression),this.state=732,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=733,this.match(S.LSQB),this.state=734,this.subscript_slice(),this.state=735,this.match(S.RSQB)}break}}this.state=741,this._errHandler.sync(this),Q=this._interp.adaptivePredict(this._input,64,this._ctx)}}}catch(Q){if(Q instanceof q)_.exception=Q,this._errHandler.reportError(this,Q),this._errHandler.recover(this,Q);else throw Q}finally{this.unrollRecursionContexts(L)}return _}argument_list(){let T=new u7(this,this._ctx,this.state);this.enterRule(T,160,S.RULE_argument_list);let L;try{let I;this.enterOuterAlt(T,1);{this.state=742,this.argument_definition(),this.state=747,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,65,this._ctx);while(I!==2&&I!==U0.INVALID_ALT_NUMBER){if(I===1)this.state=743,this.match(S.COMMA),this.state=744,this.argument_definition();this.state=749,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,65,this._ctx)}if(this.state=751,this._errHandler.sync(this),L=this._input.LA(1),L===45)this.state=750,this.match(S.COMMA)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}argument_definition(){let T=new O2(this,this._ctx,this.state);this.enterRule(T,162,S.RULE_argument_definition);try{this.enterOuterAlt(T,1);{switch(this.state=756,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,67,this._ctx)){case 1:this.state=753,this.name_store(),this.state=754,this.match(S.EQUAL);break}this.state=758,this.expression()}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}subscript_slice(){let T=new Y2(this,this._ctx,this.state);this.enterRule(T,164,S.RULE_subscript_slice);let L;try{let I;this.enterOuterAlt(T,1);{this.state=760,this.expression(),this.state=765,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,68,this._ctx);while(I!==2&&I!==U0.INVALID_ALT_NUMBER){if(I===1)this.state=761,this.match(S.COMMA),this.state=762,this.expression();this.state=767,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,68,this._ctx)}if(this.state=769,this._errHandler.sync(this),L=this._input.LA(1),L===45)this.state=768,this.match(S.COMMA)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}atomic_expression(){let T=new g7(this,this._ctx,this.state);this.enterRule(T,166,S.RULE_atomic_expression);try{switch(this.state=775,this._errHandler.sync(this),this._input.LA(1)){case 4:case 6:case 7:case 10:case 17:case 18:case 21:case 22:case 24:case 25:case 63:this.enterOuterAlt(T,1),this.state=771,this.name_load();break;case 12:case 26:case 64:case 65:case 66:this.enterOuterAlt(T,2),this.state=772,this.literal_expression();break;case 30:this.enterOuterAlt(T,3),this.state=773,this.grouped_expression();break;case 32:this.enterOuterAlt(T,4),this.state=774,this.tuple_expression();break;default:throw new x0(this)}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}literal_expression(){let T=new f7(this,this._ctx,this.state);this.enterRule(T,168,S.RULE_literal_expression);try{switch(this.state=781,this._errHandler.sync(this),this._input.LA(1)){case 64:this.enterOuterAlt(T,1),this.state=777,this.literal_number();break;case 65:this.enterOuterAlt(T,2),this.state=778,this.literal_string();break;case 12:case 26:this.enterOuterAlt(T,3),this.state=779,this.literal_bool();break;case 66:this.enterOuterAlt(T,4),this.state=780,this.literal_color();break;default:throw new x0(this)}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}literal_number(){let T=new X2(this,this._ctx,this.state);this.enterRule(T,170,S.RULE_literal_number);try{this.enterOuterAlt(T,1),this.state=783,this.match(S.NUMBER)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}literal_string(){let T=new p7(this,this._ctx,this.state);this.enterRule(T,172,S.RULE_literal_string);try{this.enterOuterAlt(T,1),this.state=785,this.match(S.STRING)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}literal_bool(){let T=new x7(this,this._ctx,this.state);this.enterRule(T,174,S.RULE_literal_bool);let L;try{if(this.enterOuterAlt(T,1),this.state=787,L=this._input.LA(1),!(L===12||L===26))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}literal_color(){let T=new c7(this,this._ctx,this.state);this.enterRule(T,176,S.RULE_literal_color);try{this.enterOuterAlt(T,1),this.state=789,this.match(S.COLOR)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}grouped_expression(){let T=new m7(this,this._ctx,this.state);this.enterRule(T,178,S.RULE_grouped_expression);try{this.enterOuterAlt(T,1),this.state=791,this.match(S.LPAR),this.state=792,this.expression(),this.state=793,this.match(S.RPAR)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}tuple_expression(){let T=new d7(this,this._ctx,this.state);this.enterRule(T,180,S.RULE_tuple_expression);let L;try{let I;this.enterOuterAlt(T,1);{if(this.state=795,this.match(S.LSQB),this.state=807,this._errHandler.sync(this),L=this._input.LA(1),(L-4&-32)===0&&(1<<L-4&343335245)!==0||(L-48&-32)===0&&(1<<L-48&491569)!==0){this.state=796,this.expression(),this.state=801,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,72,this._ctx);while(I!==2&&I!==U0.INVALID_ALT_NUMBER){if(I===1)this.state=797,this.match(S.COMMA),this.state=798,this.expression();this.state=803,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,72,this._ctx)}if(this.state=805,this._errHandler.sync(this),L=this._input.LA(1),L===45)this.state=804,this.match(S.COMMA)}this.state=809,this.match(S.RSQB)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}import_statement(){let T=new l7(this,this._ctx,this.state);this.enterRule(T,182,S.RULE_import_statement);let L;try{if(this.enterOuterAlt(T,1),this.state=811,this.match(S.IMPORT),this.state=812,this.name(),this.state=813,this.match(S.SLASH),this.state=814,this.name(),this.state=815,this.match(S.SLASH),this.state=816,this.literal_number(),this.state=819,this._errHandler.sync(this),L=this._input.LA(1),L===4)this.state=817,this.match(S.AS),this.state=818,this.name()}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}break_statement(){let T=new o7(this,this._ctx,this.state);this.enterRule(T,184,S.RULE_break_statement);try{this.enterOuterAlt(T,1),this.state=821,this.match(S.BREAK)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}continue_statement(){let T=new v7(this,this._ctx,this.state);this.enterRule(T,186,S.RULE_continue_statement);try{this.enterOuterAlt(T,1),this.state=823,this.match(S.CONTINUE)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}variable_declaration(){let T=new B2(this,this._ctx,this.state);this.enterRule(T,188,S.RULE_variable_declaration);let L;try{this.enterOuterAlt(T,1);{if(this.state=826,this._errHandler.sync(this),L=this._input.LA(1),L===27||L===28)this.state=825,this.declaration_mode();switch(this.state=829,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,77,this._ctx)){case 1:this.state=828,this.type_specification();break}this.state=831,this.name_store()}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}tuple_declaration(){let T=new O6(this,this._ctx,this.state);this.enterRule(T,190,S.RULE_tuple_declaration);let L;try{let I;this.enterOuterAlt(T,1);{this.state=833,this.match(S.LSQB),this.state=834,this.name_store(),this.state=839,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,78,this._ctx);while(I!==2&&I!==U0.INVALID_ALT_NUMBER){if(I===1)this.state=835,this.match(S.COMMA),this.state=836,this.name_store();this.state=841,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,78,this._ctx)}if(this.state=843,this._errHandler.sync(this),L=this._input.LA(1),L===45)this.state=842,this.match(S.COMMA);this.state=845,this.match(S.RSQB)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}declaration_mode(){let T=new i7(this,this._ctx,this.state);this.enterRule(T,192,S.RULE_declaration_mode);let L;try{if(this.enterOuterAlt(T,1),this.state=847,L=this._input.LA(1),!(L===27||L===28))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}assignment_target(){let T=new r7(this,this._ctx,this.state);this.enterRule(T,194,S.RULE_assignment_target);try{switch(this.state=853,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,80,this._ctx)){case 1:this.enterOuterAlt(T,1),this.state=849,this.assignment_target_attribute();break;case 2:this.enterOuterAlt(T,2),this.state=850,this.assignment_target_subscript();break;case 3:this.enterOuterAlt(T,3),this.state=851,this.assignment_target_name();break;case 4:this.enterOuterAlt(T,4),this.state=852,this.assignment_target_group();break}}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}assignment_target_attribute(){let T=new s7(this,this._ctx,this.state);this.enterRule(T,196,S.RULE_assignment_target_attribute);try{this.enterOuterAlt(T,1),this.state=855,this.primary_expression(0),this.state=856,this.match(S.DOT),this.state=857,this.name_store()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}assignment_target_subscript(){let T=new a7(this,this._ctx,this.state);this.enterRule(T,198,S.RULE_assignment_target_subscript);try{this.enterOuterAlt(T,1),this.state=859,this.primary_expression(0),this.state=860,this.match(S.LSQB),this.state=861,this.subscript_slice(),this.state=862,this.match(S.RSQB)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}assignment_target_name(){let T=new n7(this,this._ctx,this.state);this.enterRule(T,200,S.RULE_assignment_target_name);try{this.enterOuterAlt(T,1),this.state=864,this.name_store()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}assignment_target_group(){let T=new t7(this,this._ctx,this.state);this.enterRule(T,202,S.RULE_assignment_target_group);try{this.enterOuterAlt(T,1),this.state=866,this.match(S.LPAR),this.state=867,this.assignment_target(),this.state=868,this.match(S.RPAR)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}augassign_op(){let T=new z2(this,this._ctx,this.state);this.enterRule(T,204,S.RULE_augassign_op);let L;try{if(this.enterOuterAlt(T,1),this.state=870,L=this._input.LA(1),!((L-57&-32)===0&&(1<<L-57&31)!==0))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}type_specification(){let T=new w0(this,this._ctx,this.state);this.enterRule(T,206,S.RULE_type_specification);let L;try{this.enterOuterAlt(T,1);{switch(this.state=873,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,81,this._ctx)){case 1:this.state=872,this.type_qualifier();break}if(this.state=875,this.attributed_type_name(),this.state=877,this._errHandler.sync(this),L=this._input.LA(1),L===40)this.state=876,this.template_spec_suffix();if(this.state=880,this._errHandler.sync(this),L=this._input.LA(1),L===32)this.state=879,this.array_type_suffix()}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}type_qualifier(){let T=new e7(this,this._ctx,this.state);this.enterRule(T,208,S.RULE_type_qualifier);let L;try{if(this.enterOuterAlt(T,1),this.state=882,L=this._input.LA(1),!((L&-32)===0&&(1<<L&6422656)!==0))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}attributed_type_name(){let T=new T5(this,this._ctx,this.state);this.enterRule(T,210,S.RULE_attributed_type_name);let L;try{this.enterOuterAlt(T,1);{this.state=884,this.name_load(),this.state=889,this._errHandler.sync(this),L=this._input.LA(1);while(L===44)this.state=885,this.match(S.DOT),this.state=886,this.name_load(),this.state=891,this._errHandler.sync(this),L=this._input.LA(1)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}template_spec_suffix(){let T=new H2(this,this._ctx,this.state);this.enterRule(T,212,S.RULE_template_spec_suffix);let L;try{this.enterOuterAlt(T,1);{if(this.state=892,this.match(S.LESS),this.state=894,this._errHandler.sync(this),L=this._input.LA(1),(L&-32)===0&&(1<<L&57017552)!==0||L===63)this.state=893,this.type_argument_list();this.state=896,this.match(S.GREATER)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}array_type_suffix(){let T=new L5(this,this._ctx,this.state);this.enterRule(T,214,S.RULE_array_type_suffix);try{this.enterOuterAlt(T,1),this.state=898,this.match(S.LSQB),this.state=899,this.match(S.RSQB)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}type_argument_list(){let T=new I5(this,this._ctx,this.state);this.enterRule(T,216,S.RULE_type_argument_list);let L;try{let I;this.enterOuterAlt(T,1);{this.state=901,this.type_specification(),this.state=906,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,86,this._ctx);while(I!==2&&I!==U0.INVALID_ALT_NUMBER){if(I===1)this.state=902,this.match(S.COMMA),this.state=903,this.type_specification();this.state=908,this._errHandler.sync(this),I=this._interp.adaptivePredict(this._input,86,this._ctx)}if(this.state=910,this._errHandler.sync(this),L=this._input.LA(1),L===45)this.state=909,this.match(S.COMMA)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}name(){let T=new c0(this,this._ctx,this.state);this.enterRule(T,218,S.RULE_name);let L;try{if(this.enterOuterAlt(T,1),this.state=912,L=this._input.LA(1),!((L&-32)===0&&(1<<L&57017552)!==0||L===63))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}name_load(){let T=new h1(this,this._ctx,this.state);this.enterRule(T,220,S.RULE_name_load);try{this.enterOuterAlt(T,1),this.state=914,this.name()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}name_store(){let T=new M0(this,this._ctx,this.state);this.enterRule(T,222,S.RULE_name_store);try{this.enterOuterAlt(T,1),this.state=916,this.name()}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}comments(){let T=new _5(this,this._ctx,this.state);this.enterRule(T,224,S.RULE_comments);let L;try{this.enterOuterAlt(T,1);{this.state=919,this._errHandler.sync(this),L=this._input.LA(1);do this.state=918,this.comment(),this.state=921,this._errHandler.sync(this),L=this._input.LA(1);while(L===69)}}catch(I){if(I instanceof q)T.exception=I,this._errHandler.reportError(this,I),this._errHandler.recover(this,I);else throw I}finally{this.exitRule()}return T}comment(){let T=new J2(this,this._ctx,this.state);this.enterRule(T,226,S.RULE_comment);try{this.enterOuterAlt(T,1),this.state=923,this.match(S.COMMENT)}catch(L){if(L instanceof q)T.exception=L,this._errHandler.reportError(this,L),this._errHandler.recover(this,L);else throw L}finally{this.exitRule()}return T}sempred(T,L,I){switch(L){case 58:return this.bitwise_or_expression_sempred(T,I);case 59:return this.bitwise_xor_expression_sempred(T,I);case 60:return this.bitwise_and_expression_sempred(T,I);case 71:return this.shift_expression_sempred(T,I);case 73:return this.additive_expression_sempred(T,I);case 75:return this.multiplicative_expression_sempred(T,I);case 79:return this.primary_expression_sempred(T,I)}return!0}bitwise_or_expression_sempred(T,L){switch(L){case 0:return this.precpred(this._ctx,2)}return!0}bitwise_xor_expression_sempred(T,L){switch(L){case 1:return this.precpred(this._ctx,2)}return!0}bitwise_and_expression_sempred(T,L){switch(L){case 2:return this.precpred(this._ctx,2)}return!0}shift_expression_sempred(T,L){switch(L){case 3:return this.precpred(this._ctx,2)}return!0}additive_expression_sempred(T,L){switch(L){case 4:return this.precpred(this._ctx,2)}return!0}multiplicative_expression_sempred(T,L){switch(L){case 5:return this.precpred(this._ctx,2)}return!0}primary_expression_sempred(T,L){switch(L){case 6:return this.precpred(this._ctx,4);case 7:return this.precpred(this._ctx,3);case 8:return this.precpred(this._ctx,2)}return!0}static _serializedATN=[4,1,71,926,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,1,0,1,0,1,1,3,1,232,8,1,1,1,1,1,1,2,1,2,3,2,238,8,2,1,2,1,2,1,3,3,3,243,8,3,1,3,1,3,1,4,4,4,248,8,4,11,4,12,4,249,1,5,1,5,1,5,3,5,255,8,5,1,6,1,6,1,6,1,6,1,6,1,6,3,6,263,8,6,1,7,1,7,1,7,5,7,268,8,7,10,7,12,7,271,9,7,1,7,3,7,274,8,7,1,7,1,7,1,8,1,8,1,8,5,8,281,8,8,10,8,12,8,284,9,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,9,3,9,294,8,9,1,10,1,10,1,10,3,10,299,8,10,1,11,1,11,3,11,303,8,11,1,12,3,12,306,8,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,16,3,16,325,8,16,1,16,3,16,328,8,16,1,16,1,16,1,16,3,16,333,8,16,1,16,1,16,1,16,1,16,1,17,1,17,1,17,5,17,342,8,17,10,17,12,17,345,9,17,1,17,3,17,348,8,17,1,18,3,18,351,8,18,1,18,1,18,1,18,3,18,356,8,18,1,19,3,19,359,8,19,1,19,1,19,3,19,363,8,19,1,19,1,19,1,19,3,19,368,8,19,1,19,1,19,1,19,1,19,1,20,1,20,1,20,5,20,377,8,20,10,20,12,20,380,9,20,1,20,3,20,383,8,20,1,21,1,21,1,21,1,21,3,21,389,8,21,1,22,3,22,392,8,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,23,4,23,402,8,23,11,23,12,23,403,1,24,3,24,407,8,24,1,24,1,24,1,24,1,24,3,24,413,8,24,1,24,1,24,1,25,3,25,418,8,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,26,4,26,428,8,26,11,26,12,26,429,1,27,1,27,1,27,3,27,435,8,27,1,27,1,27,1,28,1,28,1,28,1,28,3,28,443,8,28,1,29,1,29,1,30,1,30,1,31,1,31,1,31,1,31,3,31,453,8,31,1,32,1,32,1,32,1,32,1,32,3,32,460,8,32,1,33,1,33,3,33,464,8,33,1,34,1,34,1,34,1,35,1,35,3,35,471,8,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,481,8,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,3,38,496,8,38,1,39,1,39,1,39,1,39,1,40,1,40,3,40,504,8,40,1,40,1,40,1,40,1,40,1,40,1,41,4,41,512,8,41,11,41,12,41,513,1,41,3,41,517,8,41,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,44,1,44,3,44,528,8,44,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,47,1,47,1,47,3,47,540,8,47,1,48,1,48,3,48,544,8,48,1,49,3,49,547,8,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,53,1,53,1,54,1,54,1,55,1,55,1,55,1,55,1,55,1,55,3,55,575,8,55,1,56,1,56,1,56,5,56,580,8,56,10,56,12,56,583,9,56,1,57,1,57,1,57,5,57,588,8,57,10,57,12,57,591,9,57,1,58,1,58,1,58,1,58,1,58,1,58,5,58,599,8,58,10,58,12,58,602,9,58,1,59,1,59,1,59,1,59,1,59,1,59,5,59,610,8,59,10,59,12,59,613,9,59,1,60,1,60,1,60,1,60,1,60,1,60,5,60,621,8,60,10,60,12,60,624,9,60,1,61,1,61,5,61,628,8,61,10,61,12,61,631,9,61,1,62,1,62,3,62,635,8,62,1,63,1,63,1,63,1,64,1,64,1,64,1,65,1,65,5,65,645,8,65,10,65,12,65,648,9,65,1,66,1,66,1,66,1,66,3,66,654,8,66,1,67,1,67,1,67,1,68,1,68,1,68,1,69,1,69,1,69,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,71,1,71,5,71,675,8,71,10,71,12,71,678,9,71,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,73,1,73,5,73,689,8,73,10,73,12,73,692,9,73,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,5,75,703,8,75,10,75,12,75,706,9,75,1,76,1,76,1,77,1,77,1,77,1,77,3,77,714,8,77,1,78,1,78,1,79,1,79,1,79,1,79,1,79,1,79,1,79,1,79,3,79,726,8,79,1,79,1,79,3,79,730,8,79,1,79,1,79,1,79,1,79,1,79,1,79,5,79,738,8,79,10,79,12,79,741,9,79,1,80,1,80,1,80,5,80,746,8,80,10,80,12,80,749,9,80,1,80,3,80,752,8,80,1,81,1,81,1,81,3,81,757,8,81,1,81,1,81,1,82,1,82,1,82,5,82,764,8,82,10,82,12,82,767,9,82,1,82,3,82,770,8,82,1,83,1,83,1,83,1,83,3,83,776,8,83,1,84,1,84,1,84,1,84,3,84,782,8,84,1,85,1,85,1,86,1,86,1,87,1,87,1,88,1,88,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,5,90,800,8,90,10,90,12,90,803,9,90,1,90,3,90,806,8,90,3,90,808,8,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,3,91,820,8,91,1,92,1,92,1,93,1,93,1,94,3,94,827,8,94,1,94,3,94,830,8,94,1,94,1,94,1,95,1,95,1,95,1,95,5,95,838,8,95,10,95,12,95,841,9,95,1,95,3,95,844,8,95,1,95,1,95,1,96,1,96,1,97,1,97,1,97,1,97,3,97,854,8,97,1,98,1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,101,1,101,1,101,1,101,1,102,1,102,1,103,3,103,874,8,103,1,103,1,103,3,103,878,8,103,1,103,3,103,881,8,103,1,104,1,104,1,105,1,105,1,105,5,105,888,8,105,10,105,12,105,891,9,105,1,106,1,106,3,106,895,8,106,1,106,1,106,1,107,1,107,1,107,1,108,1,108,1,108,5,108,905,8,108,10,108,12,108,908,9,108,1,108,3,108,911,8,108,1,109,1,109,1,110,1,110,1,111,1,111,1,112,4,112,920,8,112,11,112,12,112,921,1,113,1,113,1,113,0,7,116,118,120,142,146,150,158,114,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,0,10,2,0,42,42,62,62,1,0,34,35,1,0,52,53,1,0,54,56,3,0,19,19,48,48,52,53,2,0,12,12,26,26,1,0,27,28,1,0,57,61,3,0,7,7,17,17,21,22,7,0,4,4,6,7,10,10,17,18,21,22,24,25,63,63,922,0,228,1,0,0,0,2,231,1,0,0,0,4,235,1,0,0,0,6,242,1,0,0,0,8,247,1,0,0,0,10,254,1,0,0,0,12,262,1,0,0,0,14,264,1,0,0,0,16,277,1,0,0,0,18,293,1,0,0,0,20,298,1,0,0,0,22,302,1,0,0,0,24,305,1,0,0,0,26,311,1,0,0,0,28,315,1,0,0,0,30,319,1,0,0,0,32,324,1,0,0,0,34,338,1,0,0,0,36,350,1,0,0,0,38,358,1,0,0,0,40,373,1,0,0,0,42,388,1,0,0,0,44,391,1,0,0,0,46,401,1,0,0,0,48,406,1,0,0,0,50,417,1,0,0,0,52,427,1,0,0,0,54,431,1,0,0,0,56,442,1,0,0,0,58,444,1,0,0,0,60,446,1,0,0,0,62,448,1,0,0,0,64,454,1,0,0,0,66,463,1,0,0,0,68,465,1,0,0,0,70,470,1,0,0,0,72,472,1,0,0,0,74,484,1,0,0,0,76,495,1,0,0,0,78,497,1,0,0,0,80,501,1,0,0,0,82,511,1,0,0,0,84,518,1,0,0,0,86,522,1,0,0,0,88,527,1,0,0,0,90,529,1,0,0,0,92,534,1,0,0,0,94,539,1,0,0,0,96,543,1,0,0,0,98,546,1,0,0,0,100,552,1,0,0,0,102,556,1,0,0,0,104,560,1,0,0,0,106,564,1,0,0,0,108,566,1,0,0,0,110,568,1,0,0,0,112,576,1,0,0,0,114,584,1,0,0,0,116,592,1,0,0,0,118,603,1,0,0,0,120,614,1,0,0,0,122,625,1,0,0,0,124,634,1,0,0,0,126,636,1,0,0,0,128,639,1,0,0,0,130,642,1,0,0,0,132,653,1,0,0,0,134,655,1,0,0,0,136,658,1,0,0,0,138,661,1,0,0,0,140,664,1,0,0,0,142,667,1,0,0,0,144,679,1,0,0,0,146,681,1,0,0,0,148,693,1,0,0,0,150,695,1,0,0,0,152,707,1,0,0,0,154,713,1,0,0,0,156,715,1,0,0,0,158,717,1,0,0,0,160,742,1,0,0,0,162,756,1,0,0,0,164,760,1,0,0,0,166,775,1,0,0,0,168,781,1,0,0,0,170,783,1,0,0,0,172,785,1,0,0,0,174,787,1,0,0,0,176,789,1,0,0,0,178,791,1,0,0,0,180,795,1,0,0,0,182,811,1,0,0,0,184,821,1,0,0,0,186,823,1,0,0,0,188,826,1,0,0,0,190,833,1,0,0,0,192,847,1,0,0,0,194,853,1,0,0,0,196,855,1,0,0,0,198,859,1,0,0,0,200,864,1,0,0,0,202,866,1,0,0,0,204,870,1,0,0,0,206,873,1,0,0,0,208,882,1,0,0,0,210,884,1,0,0,0,212,892,1,0,0,0,214,898,1,0,0,0,216,901,1,0,0,0,218,912,1,0,0,0,220,914,1,0,0,0,222,916,1,0,0,0,224,919,1,0,0,0,226,923,1,0,0,0,228,229,3,2,1,0,229,1,1,0,0,0,230,232,3,8,4,0,231,230,1,0,0,0,231,232,1,0,0,0,232,233,1,0,0,0,233,234,5,0,0,1,234,3,1,0,0,0,235,237,3,106,53,0,236,238,5,67,0,0,237,236,1,0,0,0,237,238,1,0,0,0,238,239,1,0,0,0,239,240,5,0,0,1,240,5,1,0,0,0,241,243,3,224,112,0,242,241,1,0,0,0,242,243,1,0,0,0,243,244,1,0,0,0,244,245,5,0,0,1,245,7,1,0,0,0,246,248,3,10,5,0,247,246,1,0,0,0,248,249,1,0,0,0,249,247,1,0,0,0,249,250,1,0,0,0,250,9,1,0,0,0,251,255,3,12,6,0,252,255,3,14,7,0,253,255,3,16,8,0,254,251,1,0,0,0,254,252,1,0,0,0,254,253,1,0,0,0,255,11,1,0,0,0,256,263,3,20,10,0,257,263,3,44,22,0,258,263,3,50,25,0,259,263,3,58,29,0,260,263,3,38,19,0,261,263,3,32,16,0,262,256,1,0,0,0,262,257,1,0,0,0,262,258,1,0,0,0,262,259,1,0,0,0,262,260,1,0,0,0,262,261,1,0,0,0,263,13,1,0,0,0,264,269,3,18,9,0,265,266,5,45,0,0,266,268,3,18,9,0,267,265,1,0,0,0,268,271,1,0,0,0,269,267,1,0,0,0,269,270,1,0,0,0,270,273,1,0,0,0,271,269,1,0,0,0,272,274,5,45,0,0,273,272,1,0,0,0,273,274,1,0,0,0,274,275,1,0,0,0,275,276,5,67,0,0,276,15,1,0,0,0,277,282,3,18,9,0,278,279,5,45,0,0,279,281,3,18,9,0,280,278,1,0,0,0,281,284,1,0,0,0,282,280,1,0,0,0,282,283,1,0,0,0,283,285,1,0,0,0,284,282,1,0,0,0,285,286,5,45,0,0,286,287,3,56,28,0,287,17,1,0,0,0,288,294,3,94,47,0,289,294,3,108,54,0,290,294,3,182,91,0,291,294,3,184,92,0,292,294,3,186,93,0,293,288,1,0,0,0,293,289,1,0,0,0,293,290,1,0,0,0,293,291,1,0,0,0,293,292,1,0,0,0,294,19,1,0,0,0,295,299,3,22,11,0,296,299,3,28,14,0,297,299,3,30,15,0,298,295,1,0,0,0,298,296,1,0,0,0,298,297,1,0,0,0,299,21,1,0,0,0,300,303,3,24,12,0,301,303,3,26,13,0,302,300,1,0,0,0,302,301,1,0,0,0,303,23,1,0,0,0,304,306,5,11,0,0,305,304,1,0,0,0,305,306,1,0,0,0,306,307,1,0,0,0,307,308,3,188,94,0,308,309,5,42,0,0,309,310,3,60,30,0,310,25,1,0,0,0,311,312,3,190,95,0,312,313,5,42,0,0,313,314,3,60,30,0,314,27,1,0,0,0,315,316,3,158,79,0,316,317,5,62,0,0,317,318,3,60,30,0,318,29,1,0,0,0,319,320,3,158,79,0,320,321,3,204,102,0,321,322,3,60,30,0,322,31,1,0,0,0,323,325,5,11,0,0,324,323,1,0,0,0,324,325,1,0,0,0,325,327,1,0,0,0,326,328,3,206,103,0,327,326,1,0,0,0,327,328,1,0,0,0,328,329,1,0,0,0,329,330,3,218,109,0,330,332,5,30,0,0,331,333,3,34,17,0,332,331,1,0,0,0,332,333,1,0,0,0,333,334,1,0,0,0,334,335,5,31,0,0,335,336,5,43,0,0,336,337,3,88,44,0,337,33,1,0,0,0,338,343,3,36,18,0,339,340,5,45,0,0,340,342,3,36,18,0,341,339,1,0,0,0,342,345,1,0,0,0,343,341,1,0,0,0,343,344,1,0,0,0,344,347,1,0,0,0,345,343,1,0,0,0,346,348,5,45,0,0,347,346,1,0,0,0,347,348,1,0,0,0,348,35,1,0,0,0,349,351,3,206,103,0,350,349,1,0,0,0,350,351,1,0,0,0,351,352,1,0,0,0,352,355,3,222,111,0,353,354,5,42,0,0,354,356,3,106,53,0,355,353,1,0,0,0,355,356,1,0,0,0,356,37,1,0,0,0,357,359,5,11,0,0,358,357,1,0,0,0,358,359,1,0,0,0,359,360,1,0,0,0,360,362,5,18,0,0,361,363,3,206,103,0,362,361,1,0,0,0,362,363,1,0,0,0,363,364,1,0,0,0,364,365,3,218,109,0,365,367,5,30,0,0,366,368,3,40,20,0,367,366,1,0,0,0,367,368,1,0,0,0,368,369,1,0,0,0,369,370,5,31,0,0,370,371,5,43,0,0,371,372,3,88,44,0,372,39,1,0,0,0,373,378,3,42,21,0,374,375,5,45,0,0,375,377,3,42,21,0,376,374,1,0,0,0,377,380,1,0,0,0,378,376,1,0,0,0,378,379,1,0,0,0,379,382,1,0,0,0,380,378,1,0,0,0,381,383,5,45,0,0,382,381,1,0,0,0,382,383,1,0,0,0,383,41,1,0,0,0,384,385,3,206,103,0,385,386,3,222,111,0,386,389,1,0,0,0,387,389,3,36,18,0,388,384,1,0,0,0,388,387,1,0,0,0,389,43,1,0,0,0,390,392,5,11,0,0,391,390,1,0,0,0,391,392,1,0,0,0,392,393,1,0,0,0,393,394,5,25,0,0,394,395,3,218,109,0,395,396,5,67,0,0,396,397,5,1,0,0,397,398,3,46,23,0,398,399,5,2,0,0,399,45,1,0,0,0,400,402,3,48,24,0,401,400,1,0,0,0,402,403,1,0,0,0,403,401,1,0,0,0,403,404,1,0,0,0,404,47,1,0,0,0,405,407,5,28,0,0,406,405,1,0,0,0,406,407,1,0,0,0,407,408,1,0,0,0,408,409,3,206,103,0,409,412,3,222,111,0,410,411,5,42,0,0,411,413,3,106,53,0,412,410,1,0,0,0,412,413,1,0,0,0,413,414,1,0,0,0,414,415,5,67,0,0,415,49,1,0,0,0,416,418,5,11,0,0,417,416,1,0,0,0,417,418,1,0,0,0,418,419,1,0,0,0,419,420,5,10,0,0,420,421,3,218,109,0,421,422,5,67,0,0,422,423,5,1,0,0,423,424,3,52,26,0,424,425,5,2,0,0,425,51,1,0,0,0,426,428,3,54,27,0,427,426,1,0,0,0,428,429,1,0,0,0,429,427,1,0,0,0,429,430,1,0,0,0,430,53,1,0,0,0,431,434,3,222,111,0,432,433,5,42,0,0,433,435,3,106,53,0,434,432,1,0,0,0,434,435,1,0,0,0,435,436,1,0,0,0,436,437,5,67,0,0,437,55,1,0,0,0,438,443,3,62,31,0,439,443,3,70,35,0,440,443,3,78,39,0,441,443,3,80,40,0,442,438,1,0,0,0,442,439,1,0,0,0,442,440,1,0,0,0,442,441,1,0,0,0,443,57,1,0,0,0,444,445,3,56,28,0,445,59,1,0,0,0,446,447,3,56,28,0,447,61,1,0,0,0,448,449,5,14,0,0,449,450,3,106,53,0,450,452,3,88,44,0,451,453,3,66,33,0,452,451,1,0,0,0,452,453,1,0,0,0,453,63,1,0,0,0,454,455,5,9,0,0,455,456,5,14,0,0,456,457,3,106,53,0,457,459,3,88,44,0,458,460,3,66,33,0,459,458,1,0,0,0,459,460,1,0,0,0,460,65,1,0,0,0,461,464,3,64,32,0,462,464,3,68,34,0,463,461,1,0,0,0,463,462,1,0,0,0,464,67,1,0,0,0,465,466,5,9,0,0,466,467,3,88,44,0,467,69,1,0,0,0,468,471,3,72,36,0,469,471,3,74,37,0,470,468,1,0,0,0,470,469,1,0,0,0,471,71,1,0,0,0,472,473,5,13,0,0,473,474,3,76,38,0,474,475,5,42,0,0,475,476,3,106,53,0,476,477,5,24,0,0,477,480,3,106,53,0,478,479,5,6,0,0,479,481,3,106,53,0,480,478,1,0,0,0,480,481,1,0,0,0,481,482,1,0,0,0,482,483,3,88,44,0,483,73,1,0,0,0,484,485,5,13,0,0,485,486,3,76,38,0,486,487,5,16,0,0,487,488,3,106,53,0,488,489,3,88,44,0,489,75,1,0,0,0,490,491,3,206,103,0,491,492,3,222,111,0,492,496,1,0,0,0,493,496,3,222,111,0,494,496,3,190,95,0,495,490,1,0,0,0,495,493,1,0,0,0,495,494,1,0,0,0,496,77,1,0,0,0,497,498,5,29,0,0,498,499,3,106,53,0,499,500,3,88,44,0,500,79,1,0,0,0,501,503,5,23,0,0,502,504,3,106,53,0,503,502,1,0,0,0,503,504,1,0,0,0,504,505,1,0,0,0,505,506,5,67,0,0,506,507,5,1,0,0,507,508,3,82,41,0,508,509,5,2,0,0,509,81,1,0,0,0,510,512,3,84,42,0,511,510,1,0,0,0,512,513,1,0,0,0,513,511,1,0,0,0,513,514,1,0,0,0,514,516,1,0,0,0,515,517,3,86,43,0,516,515,1,0,0,0,516,517,1,0,0,0,517,83,1,0,0,0,518,519,3,106,53,0,519,520,5,43,0,0,520,521,3,88,44,0,521,85,1,0,0,0,522,523,5,43,0,0,523,524,3,88,44,0,524,87,1,0,0,0,525,528,3,90,45,0,526,528,3,92,46,0,527,525,1,0,0,0,527,526,1,0,0,0,528,89,1,0,0,0,529,530,5,67,0,0,530,531,5,1,0,0,531,532,3,8,4,0,532,533,5,2,0,0,533,91,1,0,0,0,534,535,3,10,5,0,535,93,1,0,0,0,536,540,3,96,48,0,537,540,3,102,51,0,538,540,3,104,52,0,539,536,1,0,0,0,539,537,1,0,0,0,539,538,1,0,0,0,540,95,1,0,0,0,541,544,3,98,49,0,542,544,3,100,50,0,543,541,1,0,0,0,543,542,1,0,0,0,544,97,1,0,0,0,545,547,5,11,0,0,546,545,1,0,0,0,546,547,1,0,0,0,547,548,1,0,0,0,548,549,3,188,94,0,549,550,5,42,0,0,550,551,3,106,53,0,551,99,1,0,0,0,552,553,3,190,95,0,553,554,5,42,0,0,554,555,3,106,53,0,555,101,1,0,0,0,556,557,3,158,79,0,557,558,7,0,0,0,558,559,3,106,53,0,559,103,1,0,0,0,560,561,3,158,79,0,561,562,3,204,102,0,562,563,3,106,53,0,563,105,1,0,0,0,564,565,3,110,55,0,565,107,1,0,0,0,566,567,3,106,53,0,567,109,1,0,0,0,568,574,3,112,56,0,569,570,5,47,0,0,570,571,3,106,53,0,571,572,5,46,0,0,572,573,3,106,53,0,573,575,1,0,0,0,574,569,1,0,0,0,574,575,1,0,0,0,575,111,1,0,0,0,576,581,3,114,57,0,577,578,5,20,0,0,578,580,3,114,57,0,579,577,1,0,0,0,580,583,1,0,0,0,581,579,1,0,0,0,581,582,1,0,0,0,582,113,1,0,0,0,583,581,1,0,0,0,584,589,3,116,58,0,585,586,5,3,0,0,586,588,3,116,58,0,587,585,1,0,0,0,588,591,1,0,0,0,589,587,1,0,0,0,589,590,1,0,0,0,590,115,1,0,0,0,591,589,1,0,0,0,592,593,6,58,-1,0,593,594,3,118,59,0,594,600,1,0,0,0,595,596,10,2,0,0,596,597,5,50,0,0,597,599,3,118,59,0,598,595,1,0,0,0,599,602,1,0,0,0,600,598,1,0,0,0,600,601,1,0,0,0,601,117,1,0,0,0,602,600,1,0,0,0,603,604,6,59,-1,0,604,605,3,120,60,0,605,611,1,0,0,0,606,607,10,2,0,0,607,608,5,51,0,0,608,610,3,120,60,0,609,606,1,0,0,0,610,613,1,0,0,0,611,609,1,0,0,0,611,612,1,0,0,0,612,119,1,0,0,0,613,611,1,0,0,0,614,615,6,60,-1,0,615,616,3,122,61,0,616,622,1,0,0,0,617,618,10,2,0,0,618,619,5,49,0,0,619,621,3,122,61,0,620,617,1,0,0,0,621,624,1,0,0,0,622,620,1,0,0,0,622,623,1,0,0,0,623,121,1,0,0,0,624,622,1,0,0,0,625,629,3,130,65,0,626,628,3,124,62,0,627,626,1,0,0,0,628,631,1,0,0,0,629,627,1,0,0,0,629,630,1,0,0,0,630,123,1,0,0,0,631,629,1,0,0,0,632,635,3,126,63,0,633,635,3,128,64,0,634,632,1,0,0,0,634,633,1,0,0,0,635,125,1,0,0,0,636,637,5,38,0,0,637,638,3,130,65,0,638,127,1,0,0,0,639,640,5,39,0,0,640,641,3,130,65,0,641,129,1,0,0,0,642,646,3,142,71,0,643,645,3,132,66,0,644,643,1,0,0,0,645,648,1,0,0,0,646,644,1,0,0,0,646,647,1,0,0,0,647,131,1,0,0,0,648,646,1,0,0,0,649,654,3,134,67,0,650,654,3,136,68,0,651,654,3,138,69,0,652,654,3,140,70,0,653,649,1,0,0,0,653,650,1,0,0,0,653,651,1,0,0,0,653,652,1,0,0,0,654,133,1,0,0,0,655,656,5,36,0,0,656,657,3,142,71,0,657,135,1,0,0,0,658,659,5,40,0,0,659,660,3,142,71,0,660,137,1,0,0,0,661,662,5,37,0,0,662,663,3,142,71,0,663,139,1,0,0,0,664,665,5,41,0,0,665,666,3,142,71,0,666,141,1,0,0,0,667,668,6,71,-1,0,668,669,3,146,73,0,669,676,1,0,0,0,670,671,10,2,0,0,671,672,3,144,72,0,672,673,3,146,73,0,673,675,1,0,0,0,674,670,1,0,0,0,675,678,1,0,0,0,676,674,1,0,0,0,676,677,1,0,0,0,677,143,1,0,0,0,678,676,1,0,0,0,679,680,7,1,0,0,680,145,1,0,0,0,681,682,6,73,-1,0,682,683,3,150,75,0,683,690,1,0,0,0,684,685,10,2,0,0,685,686,3,148,74,0,686,687,3,150,75,0,687,689,1,0,0,0,688,684,1,0,0,0,689,692,1,0,0,0,690,688,1,0,0,0,690,691,1,0,0,0,691,147,1,0,0,0,692,690,1,0,0,0,693,694,7,2,0,0,694,149,1,0,0,0,695,696,6,75,-1,0,696,697,3,154,77,0,697,704,1,0,0,0,698,699,10,2,0,0,699,700,3,152,76,0,700,701,3,154,77,0,701,703,1,0,0,0,702,698,1,0,0,0,703,706,1,0,0,0,704,702,1,0,0,0,704,705,1,0,0,0,705,151,1,0,0,0,706,704,1,0,0,0,707,708,7,3,0,0,708,153,1,0,0,0,709,710,3,156,78,0,710,711,3,154,77,0,711,714,1,0,0,0,712,714,3,158,79,0,713,709,1,0,0,0,713,712,1,0,0,0,714,155,1,0,0,0,715,716,7,4,0,0,716,157,1,0,0,0,717,718,6,79,-1,0,718,719,3,166,83,0,719,739,1,0,0,0,720,721,10,4,0,0,721,722,5,44,0,0,722,738,3,220,110,0,723,725,10,3,0,0,724,726,3,212,106,0,725,724,1,0,0,0,725,726,1,0,0,0,726,727,1,0,0,0,727,729,5,30,0,0,728,730,3,160,80,0,729,728,1,0,0,0,729,730,1,0,0,0,730,731,1,0,0,0,731,738,5,31,0,0,732,733,10,2,0,0,733,734,5,32,0,0,734,735,3,164,82,0,735,736,5,33,0,0,736,738,1,0,0,0,737,720,1,0,0,0,737,723,1,0,0,0,737,732,1,0,0,0,738,741,1,0,0,0,739,737,1,0,0,0,739,740,1,0,0,0,740,159,1,0,0,0,741,739,1,0,0,0,742,747,3,162,81,0,743,744,5,45,0,0,744,746,3,162,81,0,745,743,1,0,0,0,746,749,1,0,0,0,747,745,1,0,0,0,747,748,1,0,0,0,748,751,1,0,0,0,749,747,1,0,0,0,750,752,5,45,0,0,751,750,1,0,0,0,751,752,1,0,0,0,752,161,1,0,0,0,753,754,3,222,111,0,754,755,5,42,0,0,755,757,1,0,0,0,756,753,1,0,0,0,756,757,1,0,0,0,757,758,1,0,0,0,758,759,3,106,53,0,759,163,1,0,0,0,760,765,3,106,53,0,761,762,5,45,0,0,762,764,3,106,53,0,763,761,1,0,0,0,764,767,1,0,0,0,765,763,1,0,0,0,765,766,1,0,0,0,766,769,1,0,0,0,767,765,1,0,0,0,768,770,5,45,0,0,769,768,1,0,0,0,769,770,1,0,0,0,770,165,1,0,0,0,771,776,3,220,110,0,772,776,3,168,84,0,773,776,3,178,89,0,774,776,3,180,90,0,775,771,1,0,0,0,775,772,1,0,0,0,775,773,1,0,0,0,775,774,1,0,0,0,776,167,1,0,0,0,777,782,3,170,85,0,778,782,3,172,86,0,779,782,3,174,87,0,780,782,3,176,88,0,781,777,1,0,0,0,781,778,1,0,0,0,781,779,1,0,0,0,781,780,1,0,0,0,782,169,1,0,0,0,783,784,5,64,0,0,784,171,1,0,0,0,785,786,5,65,0,0,786,173,1,0,0,0,787,788,7,5,0,0,788,175,1,0,0,0,789,790,5,66,0,0,790,177,1,0,0,0,791,792,5,30,0,0,792,793,3,106,53,0,793,794,5,31,0,0,794,179,1,0,0,0,795,807,5,32,0,0,796,801,3,106,53,0,797,798,5,45,0,0,798,800,3,106,53,0,799,797,1,0,0,0,800,803,1,0,0,0,801,799,1,0,0,0,801,802,1,0,0,0,802,805,1,0,0,0,803,801,1,0,0,0,804,806,5,45,0,0,805,804,1,0,0,0,805,806,1,0,0,0,806,808,1,0,0,0,807,796,1,0,0,0,807,808,1,0,0,0,808,809,1,0,0,0,809,810,5,33,0,0,810,181,1,0,0,0,811,812,5,15,0,0,812,813,3,218,109,0,813,814,5,55,0,0,814,815,3,218,109,0,815,816,5,55,0,0,816,819,3,170,85,0,817,818,5,4,0,0,818,820,3,218,109,0,819,817,1,0,0,0,819,820,1,0,0,0,820,183,1,0,0,0,821,822,5,5,0,0,822,185,1,0,0,0,823,824,5,8,0,0,824,187,1,0,0,0,825,827,3,192,96,0,826,825,1,0,0,0,826,827,1,0,0,0,827,829,1,0,0,0,828,830,3,206,103,0,829,828,1,0,0,0,829,830,1,0,0,0,830,831,1,0,0,0,831,832,3,222,111,0,832,189,1,0,0,0,833,834,5,32,0,0,834,839,3,222,111,0,835,836,5,45,0,0,836,838,3,222,111,0,837,835,1,0,0,0,838,841,1,0,0,0,839,837,1,0,0,0,839,840,1,0,0,0,840,843,1,0,0,0,841,839,1,0,0,0,842,844,5,45,0,0,843,842,1,0,0,0,843,844,1,0,0,0,844,845,1,0,0,0,845,846,5,33,0,0,846,191,1,0,0,0,847,848,7,6,0,0,848,193,1,0,0,0,849,854,3,196,98,0,850,854,3,198,99,0,851,854,3,200,100,0,852,854,3,202,101,0,853,849,1,0,0,0,853,850,1,0,0,0,853,851,1,0,0,0,853,852,1,0,0,0,854,195,1,0,0,0,855,856,3,158,79,0,856,857,5,44,0,0,857,858,3,222,111,0,858,197,1,0,0,0,859,860,3,158,79,0,860,861,5,32,0,0,861,862,3,164,82,0,862,863,5,33,0,0,863,199,1,0,0,0,864,865,3,222,111,0,865,201,1,0,0,0,866,867,5,30,0,0,867,868,3,194,97,0,868,869,5,31,0,0,869,203,1,0,0,0,870,871,7,7,0,0,871,205,1,0,0,0,872,874,3,208,104,0,873,872,1,0,0,0,873,874,1,0,0,0,874,875,1,0,0,0,875,877,3,210,105,0,876,878,3,212,106,0,877,876,1,0,0,0,877,878,1,0,0,0,878,880,1,0,0,0,879,881,3,214,107,0,880,879,1,0,0,0,880,881,1,0,0,0,881,207,1,0,0,0,882,883,7,8,0,0,883,209,1,0,0,0,884,889,3,220,110,0,885,886,5,44,0,0,886,888,3,220,110,0,887,885,1,0,0,0,888,891,1,0,0,0,889,887,1,0,0,0,889,890,1,0,0,0,890,211,1,0,0,0,891,889,1,0,0,0,892,894,5,40,0,0,893,895,3,216,108,0,894,893,1,0,0,0,894,895,1,0,0,0,895,896,1,0,0,0,896,897,5,41,0,0,897,213,1,0,0,0,898,899,5,32,0,0,899,900,5,33,0,0,900,215,1,0,0,0,901,906,3,206,103,0,902,903,5,45,0,0,903,905,3,206,103,0,904,902,1,0,0,0,905,908,1,0,0,0,906,904,1,0,0,0,906,907,1,0,0,0,907,910,1,0,0,0,908,906,1,0,0,0,909,911,5,45,0,0,910,909,1,0,0,0,910,911,1,0,0,0,911,217,1,0,0,0,912,913,7,9,0,0,913,219,1,0,0,0,914,915,3,218,109,0,915,221,1,0,0,0,916,917,3,218,109,0,917,223,1,0,0,0,918,920,3,226,113,0,919,918,1,0,0,0,920,921,1,0,0,0,921,919,1,0,0,0,921,922,1,0,0,0,922,225,1,0,0,0,923,924,5,69,0,0,924,227,1,0,0,0,89,231,237,242,249,254,262,269,273,282,293,298,302,305,324,327,332,343,347,350,355,358,362,367,378,382,388,391,403,406,412,417,429,434,442,452,459,463,470,480,495,503,513,516,527,539,543,546,574,581,589,600,611,622,629,634,646,653,676,690,704,713,725,729,737,739,747,751,756,765,769,775,781,801,805,807,819,826,829,839,843,853,873,877,880,889,894,906,910,921];static __ATN;static get _ATN(){if(!S.__ATN)S.__ATN=new s6().deserialize(S._serializedATN);return S.__ATN}static DecisionsToDFA=S._ATN.decisionToState.map((T,L)=>new a6(T,L))}class a8 extends F{constructor(T,L,I){super(L,I);this.parser=T}start_script(){return this.getTypedRuleContext(p4,0)}get ruleIndex(){return S.RULE_start}accept(T){if(T.visitStart)return T.visitStart(this);else return T.visitChildren(this)}}class p4 extends F{constructor(T,L,I){super(L,I);this.parser=T}EOF(){return this.getToken(S.EOF,0)}statements(){return this.getTypedRuleContext(Z2,0)}get ruleIndex(){return S.RULE_start_script}accept(T){if(T.visitStart_script)return T.visitStart_script(this);else return T.visitChildren(this)}}class n8 extends F{constructor(T,L,I){super(L,I);this.parser=T}expression(){return this.getTypedRuleContext(r,0)}EOF(){return this.getToken(S.EOF,0)}NEWLINE(){return this.getToken(S.NEWLINE,0)}get ruleIndex(){return S.RULE_start_expression}accept(T){if(T.visitStart_expression)return T.visitStart_expression(this);else return T.visitChildren(this)}}class t8 extends F{constructor(T,L,I){super(L,I);this.parser=T}EOF(){return this.getToken(S.EOF,0)}comments(){return this.getTypedRuleContext(_5,0)}get ruleIndex(){return S.RULE_start_comments}accept(T){if(T.visitStart_comments)return T.visitStart_comments(this);else return T.visitChildren(this)}}class Z2 extends F{constructor(T,L,I){super(L,I);this.parser=T}statement_list(){return this.getTypedRuleContexts(I6)}statement(T){return this.getTypedRuleContext(I6,T)}get ruleIndex(){return S.RULE_statements}accept(T){if(T.visitStatements)return T.visitStatements(this);else return T.visitChildren(this)}}class I6 extends F{constructor(T,L,I){super(L,I);this.parser=T}compound_statement(){return this.getTypedRuleContext(x4,0)}simple_statements(){return this.getTypedRuleContext(c4,0)}trailing_structure_statements(){return this.getTypedRuleContext(m4,0)}get ruleIndex(){return S.RULE_statement}accept(T){if(T.visitStatement)return T.visitStatement(this);else return T.visitChildren(this)}}class x4 extends F{constructor(T,L,I){super(L,I);this.parser=T}compound_assignment(){return this.getTypedRuleContext(d4,0)}type_declaration(){return this.getTypedRuleContext(e4,0)}enum_declaration(){return this.getTypedRuleContext(L7,0)}structure_statement(){return this.getTypedRuleContext(_7,0)}method_declaration(){return this.getTypedRuleContext(n4,0)}function_declaration(){return this.getTypedRuleContext(s4,0)}get ruleIndex(){return S.RULE_compound_statement}accept(T){if(T.visitCompound_statement)return T.visitCompound_statement(this);else return T.visitChildren(this)}}class c4 extends F{constructor(T,L,I){super(L,I);this.parser=T}simple_statement_list(){return this.getTypedRuleContexts(y1)}simple_statement(T){return this.getTypedRuleContext(y1,T)}NEWLINE(){return this.getToken(S.NEWLINE,0)}COMMA_list(){return this.getTokens(S.COMMA)}COMMA(T){return this.getToken(S.COMMA,T)}get ruleIndex(){return S.RULE_simple_statements}accept(T){if(T.visitSimple_statements)return T.visitSimple_statements(this);else return T.visitChildren(this)}}class m4 extends F{constructor(T,L,I){super(L,I);this.parser=T}simple_statement_list(){return this.getTypedRuleContexts(y1)}simple_statement(T){return this.getTypedRuleContext(y1,T)}COMMA_list(){return this.getTokens(S.COMMA)}COMMA(T){return this.getToken(S.COMMA,T)}structure(){return this.getTypedRuleContext(U6,0)}get ruleIndex(){return S.RULE_trailing_structure_statements}accept(T){if(T.visitTrailing_structure_statements)return T.visitTrailing_structure_statements(this);else return T.visitChildren(this)}}class y1 extends F{constructor(T,L,I){super(L,I);this.parser=T}simple_assignment(){return this.getTypedRuleContext(Y7,0)}expression_statement(){return this.getTypedRuleContext(F7,0)}import_statement(){return this.getTypedRuleContext(l7,0)}break_statement(){return this.getTypedRuleContext(o7,0)}continue_statement(){return this.getTypedRuleContext(v7,0)}get ruleIndex(){return S.RULE_simple_statement}accept(T){if(T.visitSimple_statement)return T.visitSimple_statement(this);else return T.visitChildren(this)}}class d4 extends F{constructor(T,L,I){super(L,I);this.parser=T}compound_variable_initialization(){return this.getTypedRuleContext(l4,0)}compound_reassignment(){return this.getTypedRuleContext(i4,0)}compound_augassignment(){return this.getTypedRuleContext(r4,0)}get ruleIndex(){return S.RULE_compound_assignment}accept(T){if(T.visitCompound_assignment)return T.visitCompound_assignment(this);else return T.visitChildren(this)}}class l4 extends F{constructor(T,L,I){super(L,I);this.parser=T}compound_name_initialization(){return this.getTypedRuleContext(o4,0)}compound_tuple_initialization(){return this.getTypedRuleContext(v4,0)}get ruleIndex(){return S.RULE_compound_variable_initialization}accept(T){if(T.visitCompound_variable_initialization)return T.visitCompound_variable_initialization(this);else return T.visitChildren(this)}}class o4 extends F{constructor(T,L,I){super(L,I);this.parser=T}variable_declaration(){return this.getTypedRuleContext(B2,0)}EQUAL(){return this.getToken(S.EQUAL,0)}structure_expression(){return this.getTypedRuleContext(w1,0)}EXPORT(){return this.getToken(S.EXPORT,0)}get ruleIndex(){return S.RULE_compound_name_initialization}accept(T){if(T.visitCompound_name_initialization)return T.visitCompound_name_initialization(this);else return T.visitChildren(this)}}class v4 extends F{constructor(T,L,I){super(L,I);this.parser=T}tuple_declaration(){return this.getTypedRuleContext(O6,0)}EQUAL(){return this.getToken(S.EQUAL,0)}structure_expression(){return this.getTypedRuleContext(w1,0)}get ruleIndex(){return S.RULE_compound_tuple_initialization}accept(T){if(T.visitCompound_tuple_initialization)return T.visitCompound_tuple_initialization(this);else return T.visitChildren(this)}}class i4 extends F{constructor(T,L,I){super(L,I);this.parser=T}primary_expression(){return this.getTypedRuleContext(O0,0)}COLONEQUAL(){return this.getToken(S.COLONEQUAL,0)}structure_expression(){return this.getTypedRuleContext(w1,0)}get ruleIndex(){return S.RULE_compound_reassignment}accept(T){if(T.visitCompound_reassignment)return T.visitCompound_reassignment(this);else return T.visitChildren(this)}}class r4 extends F{constructor(T,L,I){super(L,I);this.parser=T}primary_expression(){return this.getTypedRuleContext(O0,0)}augassign_op(){return this.getTypedRuleContext(z2,0)}structure_expression(){return this.getTypedRuleContext(w1,0)}get ruleIndex(){return S.RULE_compound_augassignment}accept(T){if(T.visitCompound_augassignment)return T.visitCompound_augassignment(this);else return T.visitChildren(this)}}class s4 extends F{constructor(T,L,I){super(L,I);this.parser=T}name(){return this.getTypedRuleContext(c0,0)}LPAR(){return this.getToken(S.LPAR,0)}RPAR(){return this.getToken(S.RPAR,0)}RARROW(){return this.getToken(S.RARROW,0)}local_block(){return this.getTypedRuleContext(C0,0)}EXPORT(){return this.getToken(S.EXPORT,0)}type_specification(){return this.getTypedRuleContext(w0,0)}parameter_list(){return this.getTypedRuleContext(a4,0)}get ruleIndex(){return S.RULE_function_declaration}accept(T){if(T.visitFunction_declaration)return T.visitFunction_declaration(this);else return T.visitChildren(this)}}class a4 extends F{constructor(T,L,I){super(L,I);this.parser=T}parameter_definition_list(){return this.getTypedRuleContexts(_6)}parameter_definition(T){return this.getTypedRuleContext(_6,T)}COMMA_list(){return this.getTokens(S.COMMA)}COMMA(T){return this.getToken(S.COMMA,T)}get ruleIndex(){return S.RULE_parameter_list}accept(T){if(T.visitParameter_list)return T.visitParameter_list(this);else return T.visitChildren(this)}}class _6 extends F{constructor(T,L,I){super(L,I);this.parser=T}name_store(){return this.getTypedRuleContext(M0,0)}type_specification(){return this.getTypedRuleContext(w0,0)}EQUAL(){return this.getToken(S.EQUAL,0)}expression(){return this.getTypedRuleContext(r,0)}get ruleIndex(){return S.RULE_parameter_definition}accept(T){if(T.visitParameter_definition)return T.visitParameter_definition(this);else return T.visitChildren(this)}}class n4 extends F{constructor(T,L,I){super(L,I);this.parser=T}METHOD(){return this.getToken(S.METHOD,0)}name(){return this.getTypedRuleContext(c0,0)}LPAR(){return this.getToken(S.LPAR,0)}RPAR(){return this.getToken(S.RPAR,0)}RARROW(){return this.getToken(S.RARROW,0)}local_block(){return this.getTypedRuleContext(C0,0)}EXPORT(){return this.getToken(S.EXPORT,0)}type_specification(){return this.getTypedRuleContext(w0,0)}method_parameter_list(){return this.getTypedRuleContext(t4,0)}get ruleIndex(){return S.RULE_method_declaration}accept(T){if(T.visitMethod_declaration)return T.visitMethod_declaration(this);else return T.visitChildren(this)}}class t4 extends F{constructor(T,L,I){super(L,I);this.parser=T}method_parameter_definition_list(){return this.getTypedRuleContexts(_2)}method_parameter_definition(T){return this.getTypedRuleContext(_2,T)}COMMA_list(){return this.getTokens(S.COMMA)}COMMA(T){return this.getToken(S.COMMA,T)}get ruleIndex(){return S.RULE_method_parameter_list}accept(T){if(T.visitMethod_parameter_list)return T.visitMethod_parameter_list(this);else return T.visitChildren(this)}}class _2 extends F{constructor(T,L,I){super(L,I);this.parser=T}type_specification(){return this.getTypedRuleContext(w0,0)}name_store(){return this.getTypedRuleContext(M0,0)}parameter_definition(){return this.getTypedRuleContext(_6,0)}get ruleIndex(){return S.RULE_method_parameter_definition}accept(T){if(T.visitMethod_parameter_definition)return T.visitMethod_parameter_definition(this);else return T.visitChildren(this)}}class e4 extends F{constructor(T,L,I){super(L,I);this.parser=T}TYPE(){return this.getToken(S.TYPE,0)}name(){return this.getTypedRuleContext(c0,0)}NEWLINE(){return this.getToken(S.NEWLINE,0)}INDENT(){return this.getToken(S.INDENT,0)}field_definitions(){return this.getTypedRuleContext(T7,0)}DEDENT(){return this.getToken(S.DEDENT,0)}EXPORT(){return this.getToken(S.EXPORT,0)}get ruleIndex(){return S.RULE_type_declaration}accept(T){if(T.visitType_declaration)return T.visitType_declaration(this);else return T.visitChildren(this)}}class T7 extends F{constructor(T,L,I){super(L,I);this.parser=T}field_definition_list(){return this.getTypedRuleContexts(R2)}field_definition(T){return this.getTypedRuleContext(R2,T)}get ruleIndex(){return S.RULE_field_definitions}accept(T){if(T.visitField_definitions)return T.visitField_definitions(this);else return T.visitChildren(this)}}class R2 extends F{constructor(T,L,I){super(L,I);this.parser=T}type_specification(){return this.getTypedRuleContext(w0,0)}name_store(){return this.getTypedRuleContext(M0,0)}NEWLINE(){return this.getToken(S.NEWLINE,0)}VARIP(){return this.getToken(S.VARIP,0)}EQUAL(){return this.getToken(S.EQUAL,0)}expression(){return this.getTypedRuleContext(r,0)}get ruleIndex(){return S.RULE_field_definition}accept(T){if(T.visitField_definition)return T.visitField_definition(this);else return T.visitChildren(this)}}class L7 extends F{constructor(T,L,I){super(L,I);this.parser=T}ENUM(){return this.getToken(S.ENUM,0)}name(){return this.getTypedRuleContext(c0,0)}NEWLINE(){return this.getToken(S.NEWLINE,0)}INDENT(){return this.getToken(S.INDENT,0)}enum_definitions(){return this.getTypedRuleContext(I7,0)}DEDENT(){return this.getToken(S.DEDENT,0)}EXPORT(){return this.getToken(S.EXPORT,0)}get ruleIndex(){return S.RULE_enum_declaration}accept(T){if(T.visitEnum_declaration)return T.visitEnum_declaration(this);else return T.visitChildren(this)}}class I7 extends F{constructor(T,L,I){super(L,I);this.parser=T}enum_definition_list(){return this.getTypedRuleContexts($2)}enum_definition(T){return this.getTypedRuleContext($2,T)}get ruleIndex(){return S.RULE_enum_definitions}accept(T){if(T.visitEnum_definitions)return T.visitEnum_definitions(this);else return T.visitChildren(this)}}class $2 extends F{constructor(T,L,I){super(L,I);this.parser=T}name_store(){return this.getTypedRuleContext(M0,0)}NEWLINE(){return this.getToken(S.NEWLINE,0)}EQUAL(){return this.getToken(S.EQUAL,0)}expression(){return this.getTypedRuleContext(r,0)}get ruleIndex(){return S.RULE_enum_definition}accept(T){if(T.visitEnum_definition)return T.visitEnum_definition(this);else return T.visitChildren(this)}}class U6 extends F{constructor(T,L,I){super(L,I);this.parser=T}if_structure(){return this.getTypedRuleContext(R7,0)}for_structure(){return this.getTypedRuleContext(Q7,0)}while_structure(){return this.getTypedRuleContext(O7,0)}switch_structure(){return this.getTypedRuleContext(J7,0)}get ruleIndex(){return S.RULE_structure}accept(T){if(T.visitStructure)return T.visitStructure(this);else return T.visitChildren(this)}}class _7 extends F{constructor(T,L,I){super(L,I);this.parser=T}structure(){return this.getTypedRuleContext(U6,0)}get ruleIndex(){return S.RULE_structure_statement}accept(T){if(T.visitStructure_statement)return T.visitStructure_statement(this);else return T.visitChildren(this)}}class w1 extends F{constructor(T,L,I){super(L,I);this.parser=T}structure(){return this.getTypedRuleContext(U6,0)}get ruleIndex(){return S.RULE_structure_expression}accept(T){if(T.visitStructure_expression)return T.visitStructure_expression(this);else return T.visitChildren(this)}}class R7 extends F{constructor(T,L,I){super(L,I);this.parser=T}IF(){return this.getToken(S.IF,0)}expression(){return this.getTypedRuleContext(r,0)}local_block(){return this.getTypedRuleContext(C0,0)}if_tail(){return this.getTypedRuleContext(W2,0)}get ruleIndex(){return S.RULE_if_structure}accept(T){if(T.visitIf_structure)return T.visitIf_structure(this);else return T.visitChildren(this)}}class $7 extends F{constructor(T,L,I){super(L,I);this.parser=T}ELSE(){return this.getToken(S.ELSE,0)}IF(){return this.getToken(S.IF,0)}expression(){return this.getTypedRuleContext(r,0)}local_block(){return this.getTypedRuleContext(C0,0)}if_tail(){return this.getTypedRuleContext(W2,0)}get ruleIndex(){return S.RULE_elif_structure}accept(T){if(T.visitElif_structure)return T.visitElif_structure(this);else return T.visitChildren(this)}}class W2 extends F{constructor(T,L,I){super(L,I);this.parser=T}elif_structure(){return this.getTypedRuleContext($7,0)}else_block(){return this.getTypedRuleContext(G7,0)}get ruleIndex(){return S.RULE_if_tail}accept(T){if(T.visitIf_tail)return T.visitIf_tail(this);else return T.visitChildren(this)}}class G7 extends F{constructor(T,L,I){super(L,I);this.parser=T}ELSE(){return this.getToken(S.ELSE,0)}local_block(){return this.getTypedRuleContext(C0,0)}get ruleIndex(){return S.RULE_else_block}accept(T){if(T.visitElse_block)return T.visitElse_block(this);else return T.visitChildren(this)}}class Q7 extends F{constructor(T,L,I){super(L,I);this.parser=T}for_structure_to(){return this.getTypedRuleContext(U7,0)}for_structure_in(){return this.getTypedRuleContext(S7,0)}get ruleIndex(){return S.RULE_for_structure}accept(T){if(T.visitFor_structure)return T.visitFor_structure(this);else return T.visitChildren(this)}}class U7 extends F{constructor(T,L,I){super(L,I);this.parser=T}FOR(){return this.getToken(S.FOR,0)}for_iterator(){return this.getTypedRuleContext(D2,0)}EQUAL(){return this.getToken(S.EQUAL,0)}expression_list(){return this.getTypedRuleContexts(r)}expression(T){return this.getTypedRuleContext(r,T)}TO(){return this.getToken(S.TO,0)}local_block(){return this.getTypedRuleContext(C0,0)}BY(){return this.getToken(S.BY,0)}get ruleIndex(){return S.RULE_for_structure_to}accept(T){if(T.visitFor_structure_to)return T.visitFor_structure_to(this);else return T.visitChildren(this)}}class S7 extends F{constructor(T,L,I){super(L,I);this.parser=T}FOR(){return this.getToken(S.FOR,0)}for_iterator(){return this.getTypedRuleContext(D2,0)}IN(){return this.getToken(S.IN,0)}expression(){return this.getTypedRuleContext(r,0)}local_block(){return this.getTypedRuleContext(C0,0)}get ruleIndex(){return S.RULE_for_structure_in}accept(T){if(T.visitFor_structure_in)return T.visitFor_structure_in(this);else return T.visitChildren(this)}}class D2 extends F{constructor(T,L,I){super(L,I);this.parser=T}type_specification(){return this.getTypedRuleContext(w0,0)}name_store(){return this.getTypedRuleContext(M0,0)}tuple_declaration(){return this.getTypedRuleContext(O6,0)}get ruleIndex(){return S.RULE_for_iterator}accept(T){if(T.visitFor_iterator)return T.visitFor_iterator(this);else return T.visitChildren(this)}}class O7 extends F{constructor(T,L,I){super(L,I);this.parser=T}WHILE(){return this.getToken(S.WHILE,0)}expression(){return this.getTypedRuleContext(r,0)}local_block(){return this.getTypedRuleContext(C0,0)}get ruleIndex(){return S.RULE_while_structure}accept(T){if(T.visitWhile_structure)return T.visitWhile_structure(this);else return T.visitChildren(this)}}class J7 extends F{constructor(T,L,I){super(L,I);this.parser=T}SWITCH(){return this.getToken(S.SWITCH,0)}NEWLINE(){return this.getToken(S.NEWLINE,0)}INDENT(){return this.getToken(S.INDENT,0)}switch_cases(){return this.getTypedRuleContext(Z7,0)}DEDENT(){return this.getToken(S.DEDENT,0)}expression(){return this.getTypedRuleContext(r,0)}get ruleIndex(){return S.RULE_switch_structure}accept(T){if(T.visitSwitch_structure)return T.visitSwitch_structure(this);else return T.visitChildren(this)}}class Z7 extends F{constructor(T,L,I){super(L,I);this.parser=T}switch_pattern_case_list(){return this.getTypedRuleContexts(G2)}switch_pattern_case(T){return this.getTypedRuleContext(G2,T)}switch_default_case(){return this.getTypedRuleContext(W7,0)}get ruleIndex(){return S.RULE_switch_cases}accept(T){if(T.visitSwitch_cases)return T.visitSwitch_cases(this);else return T.visitChildren(this)}}class G2 extends F{constructor(T,L,I){super(L,I);this.parser=T}expression(){return this.getTypedRuleContext(r,0)}RARROW(){return this.getToken(S.RARROW,0)}local_block(){return this.getTypedRuleContext(C0,0)}get ruleIndex(){return S.RULE_switch_pattern_case}accept(T){if(T.visitSwitch_pattern_case)return T.visitSwitch_pattern_case(this);else return T.visitChildren(this)}}class W7 extends F{constructor(T,L,I){super(L,I);this.parser=T}RARROW(){return this.getToken(S.RARROW,0)}local_block(){return this.getTypedRuleContext(C0,0)}get ruleIndex(){return S.RULE_switch_default_case}accept(T){if(T.visitSwitch_default_case)return T.visitSwitch_default_case(this);else return T.visitChildren(this)}}class C0 extends F{constructor(T,L,I){super(L,I);this.parser=T}indented_local_block(){return this.getTypedRuleContext(D7,0)}inline_local_block(){return this.getTypedRuleContext(K7,0)}get ruleIndex(){return S.RULE_local_block}accept(T){if(T.visitLocal_block)return T.visitLocal_block(this);else return T.visitChildren(this)}}class D7 extends F{constructor(T,L,I){super(L,I);this.parser=T}NEWLINE(){return this.getToken(S.NEWLINE,0)}INDENT(){return this.getToken(S.INDENT,0)}statements(){return this.getTypedRuleContext(Z2,0)}DEDENT(){return this.getToken(S.DEDENT,0)}get ruleIndex(){return S.RULE_indented_local_block}accept(T){if(T.visitIndented_local_block)return T.visitIndented_local_block(this);else return T.visitChildren(this)}}class K7 extends F{constructor(T,L,I){super(L,I);this.parser=T}statement(){return this.getTypedRuleContext(I6,0)}get ruleIndex(){return S.RULE_inline_local_block}accept(T){if(T.visitInline_local_block)return T.visitInline_local_block(this);else return T.visitChildren(this)}}class Y7 extends F{constructor(T,L,I){super(L,I);this.parser=T}simple_variable_initialization(){return this.getTypedRuleContext(X7,0)}simple_reassignment(){return this.getTypedRuleContext(H7,0)}simple_augassignment(){return this.getTypedRuleContext(V7,0)}get ruleIndex(){return S.RULE_simple_assignment}accept(T){if(T.visitSimple_assignment)return T.visitSimple_assignment(this);else return T.visitChildren(this)}}class X7 extends F{constructor(T,L,I){super(L,I);this.parser=T}simple_name_initialization(){return this.getTypedRuleContext(B7,0)}simple_tuple_initialization(){return this.getTypedRuleContext(z7,0)}get ruleIndex(){return S.RULE_simple_variable_initialization}accept(T){if(T.visitSimple_variable_initialization)return T.visitSimple_variable_initialization(this);else return T.visitChildren(this)}}class B7 extends F{constructor(T,L,I){super(L,I);this.parser=T}variable_declaration(){return this.getTypedRuleContext(B2,0)}EQUAL(){return this.getToken(S.EQUAL,0)}expression(){return this.getTypedRuleContext(r,0)}EXPORT(){return this.getToken(S.EXPORT,0)}get ruleIndex(){return S.RULE_simple_name_initialization}accept(T){if(T.visitSimple_name_initialization)return T.visitSimple_name_initialization(this);else return T.visitChildren(this)}}class z7 extends F{constructor(T,L,I){super(L,I);this.parser=T}tuple_declaration(){return this.getTypedRuleContext(O6,0)}EQUAL(){return this.getToken(S.EQUAL,0)}expression(){return this.getTypedRuleContext(r,0)}get ruleIndex(){return S.RULE_simple_tuple_initialization}accept(T){if(T.visitSimple_tuple_initialization)return T.visitSimple_tuple_initialization(this);else return T.visitChildren(this)}}class H7 extends F{constructor(T,L,I){super(L,I);this.parser=T}primary_expression(){return this.getTypedRuleContext(O0,0)}expression(){return this.getTypedRuleContext(r,0)}COLONEQUAL(){return this.getToken(S.COLONEQUAL,0)}EQUAL(){return this.getToken(S.EQUAL,0)}get ruleIndex(){return S.RULE_simple_reassignment}accept(T){if(T.visitSimple_reassignment)return T.visitSimple_reassignment(this);else return T.visitChildren(this)}}class V7 extends F{constructor(T,L,I){super(L,I);this.parser=T}primary_expression(){return this.getTypedRuleContext(O0,0)}augassign_op(){return this.getTypedRuleContext(z2,0)}expression(){return this.getTypedRuleContext(r,0)}get ruleIndex(){return S.RULE_simple_augassignment}accept(T){if(T.visitSimple_augassignment)return T.visitSimple_augassignment(this);else return T.visitChildren(this)}}class r extends F{constructor(T,L,I){super(L,I);this.parser=T}conditional_expression(){return this.getTypedRuleContext(q7,0)}get ruleIndex(){return S.RULE_expression}accept(T){if(T.visitExpression)return T.visitExpression(this);else return T.visitChildren(this)}}class F7 extends F{constructor(T,L,I){super(L,I);this.parser=T}expression(){return this.getTypedRuleContext(r,0)}get ruleIndex(){return S.RULE_expression_statement}accept(T){if(T.visitExpression_statement)return T.visitExpression_statement(this);else return T.visitChildren(this)}}class q7 extends F{constructor(T,L,I){super(L,I);this.parser=T}disjunction_expression(){return this.getTypedRuleContext(k7,0)}QUESTION(){return this.getToken(S.QUESTION,0)}expression_list(){return this.getTypedRuleContexts(r)}expression(T){return this.getTypedRuleContext(r,T)}COLON(){return this.getToken(S.COLON,0)}get ruleIndex(){return S.RULE_conditional_expression}accept(T){if(T.visitConditional_expression)return T.visitConditional_expression(this);else return T.visitChildren(this)}}class k7 extends F{constructor(T,L,I){super(L,I);this.parser=T}conjunction_expression_list(){return this.getTypedRuleContexts(Q2)}conjunction_expression(T){return this.getTypedRuleContext(Q2,T)}OR_list(){return this.getTokens(S.OR)}OR(T){return this.getToken(S.OR,T)}get ruleIndex(){return S.RULE_disjunction_expression}accept(T){if(T.visitDisjunction_expression)return T.visitDisjunction_expression(this);else return T.visitChildren(this)}}class Q2 extends F{constructor(T,L,I){super(L,I);this.parser=T}bitwise_or_expression_list(){return this.getTypedRuleContexts(b1)}bitwise_or_expression(T){return this.getTypedRuleContext(b1,T)}AND_list(){return this.getTokens(S.AND)}AND(T){return this.getToken(S.AND,T)}get ruleIndex(){return S.RULE_conjunction_expression}accept(T){if(T.visitConjunction_expression)return T.visitConjunction_expression(this);else return T.visitChildren(this)}}class b1 extends F{constructor(T,L,I){super(L,I);this.parser=T}bitwise_xor_expression(){return this.getTypedRuleContext(R6,0)}bitwise_or_expression(){return this.getTypedRuleContext(b1,0)}PIPE(){return this.getToken(S.PIPE,0)}get ruleIndex(){return S.RULE_bitwise_or_expression}accept(T){if(T.visitBitwise_or_expression)return T.visitBitwise_or_expression(this);else return T.visitChildren(this)}}class R6 extends F{constructor(T,L,I){super(L,I);this.parser=T}bitwise_and_expression(){return this.getTypedRuleContext($6,0)}bitwise_xor_expression(){return this.getTypedRuleContext(R6,0)}CARET(){return this.getToken(S.CARET,0)}get ruleIndex(){return S.RULE_bitwise_xor_expression}accept(T){if(T.visitBitwise_xor_expression)return T.visitBitwise_xor_expression(this);else return T.visitChildren(this)}}class $6 extends F{constructor(T,L,I){super(L,I);this.parser=T}equality_expression(){return this.getTypedRuleContext(M7,0)}bitwise_and_expression(){return this.getTypedRuleContext($6,0)}AMP(){return this.getToken(S.AMP,0)}get ruleIndex(){return S.RULE_bitwise_and_expression}accept(T){if(T.visitBitwise_and_expression)return T.visitBitwise_and_expression(this);else return T.visitChildren(this)}}class M7 extends F{constructor(T,L,I){super(L,I);this.parser=T}inequality_expression(){return this.getTypedRuleContext(S6,0)}equality_trailing_pair_list(){return this.getTypedRuleContexts(U2)}equality_trailing_pair(T){return this.getTypedRuleContext(U2,T)}get ruleIndex(){return S.RULE_equality_expression}accept(T){if(T.visitEquality_expression)return T.visitEquality_expression(this);else return T.visitChildren(this)}}class U2 extends F{constructor(T,L,I){super(L,I);this.parser=T}equal_trailing_pair(){return this.getTypedRuleContext(E7,0)}not_equal_trailing_pair(){return this.getTypedRuleContext(j7,0)}get ruleIndex(){return S.RULE_equality_trailing_pair}accept(T){if(T.visitEquality_trailing_pair)return T.visitEquality_trailing_pair(this);else return T.visitChildren(this)}}class E7 extends F{constructor(T,L,I){super(L,I);this.parser=T}EQEQUAL(){return this.getToken(S.EQEQUAL,0)}inequality_expression(){return this.getTypedRuleContext(S6,0)}get ruleIndex(){return S.RULE_equal_trailing_pair}accept(T){if(T.visitEqual_trailing_pair)return T.visitEqual_trailing_pair(this);else return T.visitChildren(this)}}class j7 extends F{constructor(T,L,I){super(L,I);this.parser=T}NOTEQUAL(){return this.getToken(S.NOTEQUAL,0)}inequality_expression(){return this.getTypedRuleContext(S6,0)}get ruleIndex(){return S.RULE_not_equal_trailing_pair}accept(T){if(T.visitNot_equal_trailing_pair)return T.visitNot_equal_trailing_pair(this);else return T.visitChildren(this)}}class S6 extends F{constructor(T,L,I){super(L,I);this.parser=T}shift_expression(){return this.getTypedRuleContext(a0,0)}inequality_trailing_pair_list(){return this.getTypedRuleContexts(S2)}inequality_trailing_pair(T){return this.getTypedRuleContext(S2,T)}get ruleIndex(){return S.RULE_inequality_expression}accept(T){if(T.visitInequality_expression)return T.visitInequality_expression(this);else return T.visitChildren(this)}}class S2 extends F{constructor(T,L,I){super(L,I);this.parser=T}less_than_equal_trailing_pair(){return this.getTypedRuleContext(C7,0)}less_than_trailing_pair(){return this.getTypedRuleContext(P7,0)}greater_than_equal_trailing_pair(){return this.getTypedRuleContext(N7,0)}greater_than_trailing_pair(){return this.getTypedRuleContext(y7,0)}get ruleIndex(){return S.RULE_inequality_trailing_pair}accept(T){if(T.visitInequality_trailing_pair)return T.visitInequality_trailing_pair(this);else return T.visitChildren(this)}}class C7 extends F{constructor(T,L,I){super(L,I);this.parser=T}LESSEQUAL(){return this.getToken(S.LESSEQUAL,0)}shift_expression(){return this.getTypedRuleContext(a0,0)}get ruleIndex(){return S.RULE_less_than_equal_trailing_pair}accept(T){if(T.visitLess_than_equal_trailing_pair)return T.visitLess_than_equal_trailing_pair(this);else return T.visitChildren(this)}}class P7 extends F{constructor(T,L,I){super(L,I);this.parser=T}LESS(){return this.getToken(S.LESS,0)}shift_expression(){return this.getTypedRuleContext(a0,0)}get ruleIndex(){return S.RULE_less_than_trailing_pair}accept(T){if(T.visitLess_than_trailing_pair)return T.visitLess_than_trailing_pair(this);else return T.visitChildren(this)}}class N7 extends F{constructor(T,L,I){super(L,I);this.parser=T}GREATEREQUAL(){return this.getToken(S.GREATEREQUAL,0)}shift_expression(){return this.getTypedRuleContext(a0,0)}get ruleIndex(){return S.RULE_greater_than_equal_trailing_pair}accept(T){if(T.visitGreater_than_equal_trailing_pair)return T.visitGreater_than_equal_trailing_pair(this);else return T.visitChildren(this)}}class y7 extends F{constructor(T,L,I){super(L,I);this.parser=T}GREATER(){return this.getToken(S.GREATER,0)}shift_expression(){return this.getTypedRuleContext(a0,0)}get ruleIndex(){return S.RULE_greater_than_trailing_pair}accept(T){if(T.visitGreater_than_trailing_pair)return T.visitGreater_than_trailing_pair(this);else return T.visitChildren(this)}}class a0 extends F{constructor(T,L,I){super(L,I);this.parser=T}additive_expression(){return this.getTypedRuleContext(G6,0)}shift_expression(){return this.getTypedRuleContext(a0,0)}shift_op(){return this.getTypedRuleContext(b7,0)}get ruleIndex(){return S.RULE_shift_expression}accept(T){if(T.visitShift_expression)return T.visitShift_expression(this);else return T.visitChildren(this)}}class b7 extends F{constructor(T,L,I){super(L,I);this.parser=T}LSHIFT(){return this.getToken(S.LSHIFT,0)}RSHIFT(){return this.getToken(S.RSHIFT,0)}get ruleIndex(){return S.RULE_shift_op}accept(T){if(T.visitShift_op)return T.visitShift_op(this);else return T.visitChildren(this)}}class G6 extends F{constructor(T,L,I){super(L,I);this.parser=T}multiplicative_expression(){return this.getTypedRuleContext(Q6,0)}additive_expression(){return this.getTypedRuleContext(G6,0)}additive_op(){return this.getTypedRuleContext(h7,0)}get ruleIndex(){return S.RULE_additive_expression}accept(T){if(T.visitAdditive_expression)return T.visitAdditive_expression(this);else return T.visitChildren(this)}}class h7 extends F{constructor(T,L,I){super(L,I);this.parser=T}PLUS(){return this.getToken(S.PLUS,0)}MINUS(){return this.getToken(S.MINUS,0)}get ruleIndex(){return S.RULE_additive_op}accept(T){if(T.visitAdditive_op)return T.visitAdditive_op(this);else return T.visitChildren(this)}}class Q6 extends F{constructor(T,L,I){super(L,I);this.parser=T}unary_expression(){return this.getTypedRuleContext(K2,0)}multiplicative_expression(){return this.getTypedRuleContext(Q6,0)}multiplicative_op(){return this.getTypedRuleContext(w7,0)}get ruleIndex(){return S.RULE_multiplicative_expression}accept(T){if(T.visitMultiplicative_expression)return T.visitMultiplicative_expression(this);else return T.visitChildren(this)}}class w7 extends F{constructor(T,L,I){super(L,I);this.parser=T}STAR(){return this.getToken(S.STAR,0)}SLASH(){return this.getToken(S.SLASH,0)}PERCENT(){return this.getToken(S.PERCENT,0)}get ruleIndex(){return S.RULE_multiplicative_op}accept(T){if(T.visitMultiplicative_op)return T.visitMultiplicative_op(this);else return T.visitChildren(this)}}class K2 extends F{constructor(T,L,I){super(L,I);this.parser=T}unary_op(){return this.getTypedRuleContext(A7,0)}unary_expression(){return this.getTypedRuleContext(K2,0)}primary_expression(){return this.getTypedRuleContext(O0,0)}get ruleIndex(){return S.RULE_unary_expression}accept(T){if(T.visitUnary_expression)return T.visitUnary_expression(this);else return T.visitChildren(this)}}class A7 extends F{constructor(T,L,I){super(L,I);this.parser=T}NOT(){return this.getToken(S.NOT,0)}PLUS(){return this.getToken(S.PLUS,0)}MINUS(){return this.getToken(S.MINUS,0)}TILDE(){return this.getToken(S.TILDE,0)}get ruleIndex(){return S.RULE_unary_op}accept(T){if(T.visitUnary_op)return T.visitUnary_op(this);else return T.visitChildren(this)}}class O0 extends F{constructor(T,L,I){super(L,I);this.parser=T}get ruleIndex(){return S.RULE_primary_expression}copyFrom(T){super.copyFrom(T)}}class e8 extends O0{constructor(T,L){super(T,L.parentCtx,L.invokingState);super.copyFrom(L)}primary_expression(){return this.getTypedRuleContext(O0,0)}DOT(){return this.getToken(S.DOT,0)}name_load(){return this.getTypedRuleContext(h1,0)}accept(T){if(T.visitPrimary_expression_attribute)return T.visitPrimary_expression_attribute(this);else return T.visitChildren(this)}}class T9 extends O0{constructor(T,L){super(T,L.parentCtx,L.invokingState);super.copyFrom(L)}primary_expression(){return this.getTypedRuleContext(O0,0)}LPAR(){return this.getToken(S.LPAR,0)}RPAR(){return this.getToken(S.RPAR,0)}template_spec_suffix(){return this.getTypedRuleContext(H2,0)}argument_list(){return this.getTypedRuleContext(u7,0)}accept(T){if(T.visitPrimary_expression_call)return T.visitPrimary_expression_call(this);else return T.visitChildren(this)}}class L9 extends O0{constructor(T,L){super(T,L.parentCtx,L.invokingState);super.copyFrom(L)}atomic_expression(){return this.getTypedRuleContext(g7,0)}accept(T){if(T.visitPrimary_expression_fallback)return T.visitPrimary_expression_fallback(this);else return T.visitChildren(this)}}class I9 extends O0{constructor(T,L){super(T,L.parentCtx,L.invokingState);super.copyFrom(L)}primary_expression(){return this.getTypedRuleContext(O0,0)}LSQB(){return this.getToken(S.LSQB,0)}subscript_slice(){return this.getTypedRuleContext(Y2,0)}RSQB(){return this.getToken(S.RSQB,0)}accept(T){if(T.visitPrimary_expression_subscript)return T.visitPrimary_expression_subscript(this);else return T.visitChildren(this)}}class u7 extends F{constructor(T,L,I){super(L,I);this.parser=T}argument_definition_list(){return this.getTypedRuleContexts(O2)}argument_definition(T){return this.getTypedRuleContext(O2,T)}COMMA_list(){return this.getTokens(S.COMMA)}COMMA(T){return this.getToken(S.COMMA,T)}get ruleIndex(){return S.RULE_argument_list}accept(T){if(T.visitArgument_list)return T.visitArgument_list(this);else return T.visitChildren(this)}}class O2 extends F{constructor(T,L,I){super(L,I);this.parser=T}expression(){return this.getTypedRuleContext(r,0)}name_store(){return this.getTypedRuleContext(M0,0)}EQUAL(){return this.getToken(S.EQUAL,0)}get ruleIndex(){return S.RULE_argument_definition}accept(T){if(T.visitArgument_definition)return T.visitArgument_definition(this);else return T.visitChildren(this)}}class Y2 extends F{constructor(T,L,I){super(L,I);this.parser=T}expression_list(){return this.getTypedRuleContexts(r)}expression(T){return this.getTypedRuleContext(r,T)}COMMA_list(){return this.getTokens(S.COMMA)}COMMA(T){return this.getToken(S.COMMA,T)}get ruleIndex(){return S.RULE_subscript_slice}accept(T){if(T.visitSubscript_slice)return T.visitSubscript_slice(this);else return T.visitChildren(this)}}class g7 extends F{constructor(T,L,I){super(L,I);this.parser=T}name_load(){return this.getTypedRuleContext(h1,0)}literal_expression(){return this.getTypedRuleContext(f7,0)}grouped_expression(){return this.getTypedRuleContext(m7,0)}tuple_expression(){return this.getTypedRuleContext(d7,0)}get ruleIndex(){return S.RULE_atomic_expression}accept(T){if(T.visitAtomic_expression)return T.visitAtomic_expression(this);else return T.visitChildren(this)}}class f7 extends F{constructor(T,L,I){super(L,I);this.parser=T}literal_number(){return this.getTypedRuleContext(X2,0)}literal_string(){return this.getTypedRuleContext(p7,0)}literal_bool(){return this.getTypedRuleContext(x7,0)}literal_color(){return this.getTypedRuleContext(c7,0)}get ruleIndex(){return S.RULE_literal_expression}accept(T){if(T.visitLiteral_expression)return T.visitLiteral_expression(this);else return T.visitChildren(this)}}class X2 extends F{constructor(T,L,I){super(L,I);this.parser=T}NUMBER(){return this.getToken(S.NUMBER,0)}get ruleIndex(){return S.RULE_literal_number}accept(T){if(T.visitLiteral_number)return T.visitLiteral_number(this);else return T.visitChildren(this)}}class p7 extends F{constructor(T,L,I){super(L,I);this.parser=T}STRING(){return this.getToken(S.STRING,0)}get ruleIndex(){return S.RULE_literal_string}accept(T){if(T.visitLiteral_string)return T.visitLiteral_string(this);else return T.visitChildren(this)}}class x7 extends F{constructor(T,L,I){super(L,I);this.parser=T}TRUE(){return this.getToken(S.TRUE,0)}FALSE(){return this.getToken(S.FALSE,0)}get ruleIndex(){return S.RULE_literal_bool}accept(T){if(T.visitLiteral_bool)return T.visitLiteral_bool(this);else return T.visitChildren(this)}}class c7 extends F{constructor(T,L,I){super(L,I);this.parser=T}COLOR(){return this.getToken(S.COLOR,0)}get ruleIndex(){return S.RULE_literal_color}accept(T){if(T.visitLiteral_color)return T.visitLiteral_color(this);else return T.visitChildren(this)}}class m7 extends F{constructor(T,L,I){super(L,I);this.parser=T}LPAR(){return this.getToken(S.LPAR,0)}expression(){return this.getTypedRuleContext(r,0)}RPAR(){return this.getToken(S.RPAR,0)}get ruleIndex(){return S.RULE_grouped_expression}accept(T){if(T.visitGrouped_expression)return T.visitGrouped_expression(this);else return T.visitChildren(this)}}class d7 extends F{constructor(T,L,I){super(L,I);this.parser=T}LSQB(){return this.getToken(S.LSQB,0)}RSQB(){return this.getToken(S.RSQB,0)}expression_list(){return this.getTypedRuleContexts(r)}expression(T){return this.getTypedRuleContext(r,T)}COMMA_list(){return this.getTokens(S.COMMA)}COMMA(T){return this.getToken(S.COMMA,T)}get ruleIndex(){return S.RULE_tuple_expression}accept(T){if(T.visitTuple_expression)return T.visitTuple_expression(this);else return T.visitChildren(this)}}class l7 extends F{constructor(T,L,I){super(L,I);this.parser=T}IMPORT(){return this.getToken(S.IMPORT,0)}name_list(){return this.getTypedRuleContexts(c0)}name(T){return this.getTypedRuleContext(c0,T)}SLASH_list(){return this.getTokens(S.SLASH)}SLASH(T){return this.getToken(S.SLASH,T)}literal_number(){return this.getTypedRuleContext(X2,0)}AS(){return this.getToken(S.AS,0)}get ruleIndex(){return S.RULE_import_statement}accept(T){if(T.visitImport_statement)return T.visitImport_statement(this);else return T.visitChildren(this)}}class o7 extends F{constructor(T,L,I){super(L,I);this.parser=T}BREAK(){return this.getToken(S.BREAK,0)}get ruleIndex(){return S.RULE_break_statement}accept(T){if(T.visitBreak_statement)return T.visitBreak_statement(this);else return T.visitChildren(this)}}class v7 extends F{constructor(T,L,I){super(L,I);this.parser=T}CONTINUE(){return this.getToken(S.CONTINUE,0)}get ruleIndex(){return S.RULE_continue_statement}accept(T){if(T.visitContinue_statement)return T.visitContinue_statement(this);else return T.visitChildren(this)}}class B2 extends F{constructor(T,L,I){super(L,I);this.parser=T}name_store(){return this.getTypedRuleContext(M0,0)}declaration_mode(){return this.getTypedRuleContext(i7,0)}type_specification(){return this.getTypedRuleContext(w0,0)}get ruleIndex(){return S.RULE_variable_declaration}accept(T){if(T.visitVariable_declaration)return T.visitVariable_declaration(this);else return T.visitChildren(this)}}class O6 extends F{constructor(T,L,I){super(L,I);this.parser=T}LSQB(){return this.getToken(S.LSQB,0)}name_store_list(){return this.getTypedRuleContexts(M0)}name_store(T){return this.getTypedRuleContext(M0,T)}RSQB(){return this.getToken(S.RSQB,0)}COMMA_list(){return this.getTokens(S.COMMA)}COMMA(T){return this.getToken(S.COMMA,T)}get ruleIndex(){return S.RULE_tuple_declaration}accept(T){if(T.visitTuple_declaration)return T.visitTuple_declaration(this);else return T.visitChildren(this)}}class i7 extends F{constructor(T,L,I){super(L,I);this.parser=T}VARIP(){return this.getToken(S.VARIP,0)}VAR(){return this.getToken(S.VAR,0)}get ruleIndex(){return S.RULE_declaration_mode}accept(T){if(T.visitDeclaration_mode)return T.visitDeclaration_mode(this);else return T.visitChildren(this)}}class r7 extends F{constructor(T,L,I){super(L,I);this.parser=T}assignment_target_attribute(){return this.getTypedRuleContext(s7,0)}assignment_target_subscript(){return this.getTypedRuleContext(a7,0)}assignment_target_name(){return this.getTypedRuleContext(n7,0)}assignment_target_group(){return this.getTypedRuleContext(t7,0)}get ruleIndex(){return S.RULE_assignment_target}accept(T){if(T.visitAssignment_target)return T.visitAssignment_target(this);else return T.visitChildren(this)}}class s7 extends F{constructor(T,L,I){super(L,I);this.parser=T}primary_expression(){return this.getTypedRuleContext(O0,0)}DOT(){return this.getToken(S.DOT,0)}name_store(){return this.getTypedRuleContext(M0,0)}get ruleIndex(){return S.RULE_assignment_target_attribute}accept(T){if(T.visitAssignment_target_attribute)return T.visitAssignment_target_attribute(this);else return T.visitChildren(this)}}class a7 extends F{constructor(T,L,I){super(L,I);this.parser=T}primary_expression(){return this.getTypedRuleContext(O0,0)}LSQB(){return this.getToken(S.LSQB,0)}subscript_slice(){return this.getTypedRuleContext(Y2,0)}RSQB(){return this.getToken(S.RSQB,0)}get ruleIndex(){return S.RULE_assignment_target_subscript}accept(T){if(T.visitAssignment_target_subscript)return T.visitAssignment_target_subscript(this);else return T.visitChildren(this)}}class n7 extends F{constructor(T,L,I){super(L,I);this.parser=T}name_store(){return this.getTypedRuleContext(M0,0)}get ruleIndex(){return S.RULE_assignment_target_name}accept(T){if(T.visitAssignment_target_name)return T.visitAssignment_target_name(this);else return T.visitChildren(this)}}class t7 extends F{constructor(T,L,I){super(L,I);this.parser=T}LPAR(){return this.getToken(S.LPAR,0)}assignment_target(){return this.getTypedRuleContext(r7,0)}RPAR(){return this.getToken(S.RPAR,0)}get ruleIndex(){return S.RULE_assignment_target_group}accept(T){if(T.visitAssignment_target_group)return T.visitAssignment_target_group(this);else return T.visitChildren(this)}}class z2 extends F{constructor(T,L,I){super(L,I);this.parser=T}STAREQUAL(){return this.getToken(S.STAREQUAL,0)}SLASHEQUAL(){return this.getToken(S.SLASHEQUAL,0)}PERCENTEQUAL(){return this.getToken(S.PERCENTEQUAL,0)}PLUSEQUAL(){return this.getToken(S.PLUSEQUAL,0)}MINEQUAL(){return this.getToken(S.MINEQUAL,0)}get ruleIndex(){return S.RULE_augassign_op}accept(T){if(T.visitAugassign_op)return T.visitAugassign_op(this);else return T.visitChildren(this)}}class w0 extends F{constructor(T,L,I){super(L,I);this.parser=T}attributed_type_name(){return this.getTypedRuleContext(T5,0)}type_qualifier(){return this.getTypedRuleContext(e7,0)}template_spec_suffix(){return this.getTypedRuleContext(H2,0)}array_type_suffix(){return this.getTypedRuleContext(L5,0)}get ruleIndex(){return S.RULE_type_specification}accept(T){if(T.visitType_specification)return T.visitType_specification(this);else return T.visitChildren(this)}}class e7 extends F{constructor(T,L,I){super(L,I);this.parser=T}CONST(){return this.getToken(S.CONST,0)}INPUT(){return this.getToken(S.INPUT,0)}SIMPLE(){return this.getToken(S.SIMPLE,0)}SERIES(){return this.getToken(S.SERIES,0)}get ruleIndex(){return S.RULE_type_qualifier}accept(T){if(T.visitType_qualifier)return T.visitType_qualifier(this);else return T.visitChildren(this)}}class T5 extends F{constructor(T,L,I){super(L,I);this.parser=T}name_load_list(){return this.getTypedRuleContexts(h1)}name_load(T){return this.getTypedRuleContext(h1,T)}DOT_list(){return this.getTokens(S.DOT)}DOT(T){return this.getToken(S.DOT,T)}get ruleIndex(){return S.RULE_attributed_type_name}accept(T){if(T.visitAttributed_type_name)return T.visitAttributed_type_name(this);else return T.visitChildren(this)}}class H2 extends F{constructor(T,L,I){super(L,I);this.parser=T}LESS(){return this.getToken(S.LESS,0)}GREATER(){return this.getToken(S.GREATER,0)}type_argument_list(){return this.getTypedRuleContext(I5,0)}get ruleIndex(){return S.RULE_template_spec_suffix}accept(T){if(T.visitTemplate_spec_suffix)return T.visitTemplate_spec_suffix(this);else return T.visitChildren(this)}}class L5 extends F{constructor(T,L,I){super(L,I);this.parser=T}LSQB(){return this.getToken(S.LSQB,0)}RSQB(){return this.getToken(S.RSQB,0)}get ruleIndex(){return S.RULE_array_type_suffix}accept(T){if(T.visitArray_type_suffix)return T.visitArray_type_suffix(this);else return T.visitChildren(this)}}class I5 extends F{constructor(T,L,I){super(L,I);this.parser=T}type_specification_list(){return this.getTypedRuleContexts(w0)}type_specification(T){return this.getTypedRuleContext(w0,T)}COMMA_list(){return this.getTokens(S.COMMA)}COMMA(T){return this.getToken(S.COMMA,T)}get ruleIndex(){return S.RULE_type_argument_list}accept(T){if(T.visitType_argument_list)return T.visitType_argument_list(this);else return T.visitChildren(this)}}class c0 extends F{constructor(T,L,I){super(L,I);this.parser=T}NAME(){return this.getToken(S.NAME,0)}TYPE(){return this.getToken(S.TYPE,0)}METHOD(){return this.getToken(S.METHOD,0)}CONST(){return this.getToken(S.CONST,0)}INPUT(){return this.getToken(S.INPUT,0)}SIMPLE(){return this.getToken(S.SIMPLE,0)}SERIES(){return this.getToken(S.SERIES,0)}ENUM(){return this.getToken(S.ENUM,0)}AS(){return this.getToken(S.AS,0)}BY(){return this.getToken(S.BY,0)}TO(){return this.getToken(S.TO,0)}get ruleIndex(){return S.RULE_name}accept(T){if(T.visitName)return T.visitName(this);else return T.visitChildren(this)}}class h1 extends F{constructor(T,L,I){super(L,I);this.parser=T}name(){return this.getTypedRuleContext(c0,0)}get ruleIndex(){return S.RULE_name_load}accept(T){if(T.visitName_load)return T.visitName_load(this);else return T.visitChildren(this)}}class M0 extends F{constructor(T,L,I){super(L,I);this.parser=T}name(){return this.getTypedRuleContext(c0,0)}get ruleIndex(){return S.RULE_name_store}accept(T){if(T.visitName_store)return T.visitName_store(this);else return T.visitChildren(this)}}class _5 extends F{constructor(T,L,I){super(L,I);this.parser=T}comment_list(){return this.getTypedRuleContexts(J2)}comment(T){return this.getTypedRuleContext(J2,T)}get ruleIndex(){return S.RULE_comments}accept(T){if(T.visitComments)return T.visitComments(this);else return T.visitChildren(this)}}class J2 extends F{constructor(T,L,I){super(L,I);this.parser=T}COMMENT(){return this.getToken(S.COMMENT,0)}get ruleIndex(){return S.RULE_comment}accept(T){if(T.visitComment)return T.visitComment(this);else return T.visitChildren(this)}}class J6 extends Error{name="PinescriptSyntaxError";lineno;col_offset;constructor(T,L=null,I=null){super(T);this.lineno=L,this.col_offset=I}}class Z6 extends f3{static INSTANCE=new Z6;syntaxError(T,L,I,_,R,$){throw new J6(`${R} (${I}:${_})`,I,_)}}function NL(T,L){if(T.kind!=="Script")return;let I=T;L.fill();let _=[];for(let R of L.tokens){if(R==null||R.type!==S0.COMMENT)continue;let $=(R.text??"").trim();if($.startsWith("//@"))_.push($)}if(_.length)I.annotations=_}function V2(T,L="<unknown>",I="exec"){if(I!=="exec"&&I!=="eval")throw Error(`invalid argument mode: ${I}`);let _=H4.fromString(T),R=new S0(_),$=new g3(R),G=new S($),Q=Z6.INSTANCE;R.removeErrorListeners(),G.removeErrorListeners(),R.addErrorListener(Q),G.addErrorListener(Q);let U=I==="exec"?G.start_script():G.start_expression(),J=new u4().visit(U);if(!J||typeof J!=="object"||!("kind"in J))throw new J6("parse produced no AST");if(I==="exec"&&T.includes("@"))NL(J,$);return J}function yL(T){let L=H4.fromString(T),I=new S0(L);I.removeErrorListeners(),I.addErrorListener(Z6.INSTANCE);let _=[];for(;;){let R=I.nextToken();if(_.push(R),R.type===L0.EOF)break}return _}function R5(T,L){if(!Number.isFinite(T))return null;let I=Math.trunc(T);if(I<0)I=L+I;if(I<0||I>=L)return null;return I}function A1(T){return T!==null&&Number.isFinite(T)}function _9(T){return T!==null&&T!==0}function $5(T,L){if(T===null)return!1;if(L===null)return!0;return T<L}function G5(T,L){if(T===null&&L===null)return!0;if(T===null||L===null)return!1;return T===L}function W6(T){let L=0;for(let I of T)L+=I;return L/T.length}class G0{cells=[];constructor(T,L){if(T===void 0)return;if(!Number.isFinite(T)||T<0)return;let I=Math.min(Math.trunc(T),1e6),_=L===void 0?null:L;for(let R=0;R<I;R++)this.cells.push(_)}size(){return this.cells.length}get(T){let L=R5(T,this.cells.length);return L===null?null:this.cells[L]}set(T,L){let I=R5(T,this.cells.length);if(I===null)return;this.cells[I]=L}push(T){if(this.cells.length>=1e6)return;this.cells.push(T)}pop(){if(this.cells.length===0)return null;return this.cells.pop()}unshift(T){if(this.cells.length>=1e6)return;this.cells.unshift(T)}shift(){if(this.cells.length===0)return null;return this.cells.shift()}clear(){this.cells.length=0}includes(T){return this.cells.includes(T)}first(){return this.cells.length===0?null:this.cells[0]}last(){return this.cells.length===0?null:this.cells[this.cells.length-1]}insert(T,L){if(this.cells.length>=1e6)return;if(!Number.isFinite(T))return;let I=Math.trunc(T);if(I<0)I=this.cells.length+I;if(I<0)I=0;if(I>this.cells.length)I=this.cells.length;this.cells.splice(I,0,L)}remove(T){let L=R5(T,this.cells.length);if(L===null)return null;return this.cells.splice(L,1)[0]}fill(T){for(let L=0;L<this.cells.length;L++)this.cells[L]=T}slice(T,L){let I=this.cells.length,_=Number.isFinite(T)?Math.trunc(T):0,R=L===void 0||!Number.isFinite(L)?I:Math.trunc(L);if(_<0)_=0;let $=new G0;if(R<_)return $;for(let G of this.cells.slice(_,R))$.push(G);return $}copy(){let T=new G0;for(let L of this.cells)T.push(L);return T}reverse(){this.cells.reverse()}sort(T="asc"){this.cells.sort((L,I)=>{if(L===null&&I===null)return 0;if(L===null)return 1;if(I===null)return-1;return T==="desc"?I-L:L-I})}indexof(T){for(let L=0;L<this.cells.length;L++)if(Object.is(this.cells[L],T))return L;return-1}avg(){let T=this.finiteAll();if(T===null||T.length===0)return null;let L=0;for(let I of T)L+=I;return L/T.length}min(){let T=this.finiteAll();if(T===null||T.length===0)return null;let L=T[0];for(let I of T)if(I<L)L=I;return L}max(){let T=this.finiteAll();if(T===null||T.length===0)return null;let L=T[0];for(let I of T)if(I>L)L=I;return L}sum(){let T=this.finiteAll();if(T===null||T.length===0)return null;let L=0;for(let I of T)L+=I;return L}join(T=","){return this.cells.map((L)=>L===null?"":String(L)).join(T)}static from(...T){let L=new G0,I=Math.min(T.length,1e6);for(let _=0;_<I;_++)L.push(T[_]);return L}lastIndexOf(T){for(let L=this.cells.length-1;L>=0;L--)if(Object.is(this.cells[L],T))return L;return-1}concat(T){for(let L of T.cells){if(this.cells.length>=1e6)break;this.cells.push(L)}return this}abs(){let T=new G0;for(let L of this.cells)T.push(L===null?null:Math.abs(L));return T}every(){for(let T of this.cells)if(!_9(T))return!1;return!0}some(){for(let T of this.cells)if(_9(T))return!0;return!1}median(){let T=this.finiteAll();if(T===null||T.length===0)return null;let L=T.slice().sort((_,R)=>_-R),I=L.length>>1;if(L.length%2===1)return L[I];return(L[I-1]+L[I])/2}range(){let T=this.max(),L=this.min();if(T===null||L===null)return null;return T-L}mode(){let T=new Map,L=null,I=0;for(let _ of this.cells){if(!A1(_))continue;let R=(T.get(_)??0)+1;if(T.set(_,R),R>I)I=R,L=_}return L}binarySearch(T){return this.binarySearchBy(T,"any")}binarySearchLeftmost(T){if(T===null||this.cells.some((L)=>L===null)){let L=this.indexof(T);return typeof L==="number"?L:-1}return this.binarySearchBy(T,"left")}binarySearchRightmost(T){if(T===null||this.cells.some((L)=>L===null)){let L=this.lastIndexOf(T);return typeof L==="number"?L:-1}return this.binarySearchBy(T,"right")}stdev(T=!0){let L=this.finiteSkip();if(L.length<2)return null;let I=W6(L),_=0;for(let G of L)_+=(G-I)**2;let R=T?L.length:L.length-1;if(R<=0)return null;let $=Math.sqrt(_/R);return Number.isFinite($)?$:null}variance(T=!0){let L=this.finiteSkip();if(L.length<2)return null;let I=W6(L),_=0;for(let G of L)_+=(G-I)**2;let R=T?L.length:L.length-1;if(R<=0)return null;let $=_/R;return Number.isFinite($)?$:null}covariance(T,L=!0){let I=this.finiteSkip(),_=T.finiteSkip(),R=Math.min(I.length,_.length);if(R<2)return null;let $=I.slice(0,R),G=_.slice(0,R),Q=W6($),U=W6(G),O=0;for(let B=0;B<R;B++)O+=($[B]-Q)*(G[B]-U);let J=L?R:R-1;if(J<=0)return null;let D=O/J;return Number.isFinite(D)?D:null}percentileLinearInterpolation(T){if(!Number.isFinite(T)||T<0||T>100)return null;let L=this.finiteSkip().sort((G,Q)=>G-Q);if(L.length===0)return null;let I=L.length,_=T/100*(I-1),R=Math.trunc(_),$=_-R;if(R>=I-1)return L[I-1];if(R<0)return L[0];return L[R]*(1-$)+L[R+1]*$}percentileNearestRank(T){if(!Number.isFinite(T)||T<0||T>100)return null;let L=this.finiteSkip().sort((R,$)=>R-$);if(L.length===0)return null;let I=L.length,_=Math.max(1,Math.trunc(T/100*I+0.5));return L[Math.min(_,I)-1]}percentrank(T){if(!A1(T))return null;let L=this.finiteSkip();if(L.length===0)return null;if(L.length===1)return 0;let I=0;for(let _ of L)if(_<=T)I+=1;return(I-1)/(L.length-1)*100}standardize(){let T=this.finiteSkip();if(T.length<2)return null;let L=W6(T),I=0;for(let $ of T)I+=($-L)**2;let _=Math.sqrt(I/(T.length-1));if(_===0||!Number.isFinite(_))return null;let R=new G0;for(let $ of this.cells)R.push(A1($)?($-L)/_:null);return R}sortIndices(T="asc"){let L=[],I=[];for(let R=0;R<this.cells.length;R++){let $=this.cells[R];if(!A1($)){I.push(R);continue}L.push({key:$,idx:R})}let _=T==="desc";return L.sort((R,$)=>{let G=R.key-$.key;if(G!==0)return _?-G:G;return R.idx-$.idx}),L.map((R)=>R.idx).concat(I)}binarySearchBy(T,L){let I=this.cells,_=I.length;if(L==="left"){let G=0,Q=_;while(G<Q){let U=Math.trunc((G+Q)/2);if($5(I[U],T))G=U+1;else Q=U}if(G<_&&G5(I[G],T))return G;return-1}if(L==="right"){let G=0,Q=_;while(G<Q){let U=Math.trunc((G+Q)/2);if($5(T,I[U]))Q=U;else G=U+1}if(G>0&&G5(I[G-1],T))return G-1;return-1}let R=0,$=_-1;while(R<=$){let G=Math.trunc((R+$)/2),Q=I[G];if(G5(Q,T))return G;if($5(Q,T))R=G+1;else $=G-1}return-1}finiteAll(){let T=[];for(let L of this.cells){if(!A1(L))return null;T.push(L)}return T}finiteSkip(){let T=[];for(let L of this.cells)if(A1(L))T.push(L);return T}toValues(){return this.cells.slice()}}var bL=/^#([0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/;function A0(T){return typeof T==="number"&&Number.isFinite(T)}function X1(T){return Math.max(0,Math.min(255,Math.round(T)))}function R9(T,L,I,_){return{r:X1(T),g:X1(L),b:X1(I),a:X1(_)}}function Q5(T){if(typeof T!=="object"||T===null)return!1;let L=T;return A0(L.r)&&A0(L.g)&&A0(L.b)&&A0(L.a)}function hL(T){return 255*(1-Math.max(0,Math.min(100,T))/100)}function wL(T){return Math.max(0,Math.min(100,Math.round((1-T/255)*100)))}function U5(T){if(typeof T!=="string")return null;let L=bL.exec(T.trim());if(!L)return null;let I=L[1],_=parseInt(I.slice(0,2),16),R=parseInt(I.slice(2,4),16),$=parseInt(I.slice(4,6),16),G=I.length===8?parseInt(I.slice(6,8),16):255;if(![_,R,$,G].every((Q)=>Number.isFinite(Q)))return null;return{r:_,g:R,b:$,a:G}}function S5(T,L,I,_){if(!A0(T)||!A0(L)||!A0(I))return null;let R=A0(_)?hL(_):255;return R9(T,L,I,R)}function $9(T,L,I,_){return S5(T,L,I,_)}function G9(T,L,I,_,R){if(!A0(T)||!A0(L)||!A0(I))return null;if(!Q5(_)||!Q5(R))return null;let $=I-L,G=$===0?0:Math.max(0,Math.min(1,(T-L)/$));return R9(_.r+(R.r-_.r)*G,_.g+(R.g-_.g)*G,_.b+(R.b-_.b)*G,_.a+(R.a-_.a)*G)}var AL={red:{r:255,g:0,b:0,a:255},green:{r:0,g:128,b:0,a:255},blue:{r:0,g:0,b:255,a:255},black:{r:0,g:0,b:0,a:255},white:{r:255,g:255,b:255,a:255},gray:{r:128,g:128,b:128,a:255},grey:{r:128,g:128,b:128,a:255},silver:{r:192,g:192,b:192,a:255},yellow:{r:255,g:255,b:0,a:255},orange:{r:255,g:165,b:0,a:255},purple:{r:128,g:0,b:128,a:255},aqua:{r:0,g:255,b:255,a:255},fuchsia:{r:255,g:0,b:255,a:255},lime:{r:0,g:255,b:0,a:255},maroon:{r:128,g:0,b:0,a:255},navy:{r:0,g:0,b:128,a:255},olive:{r:128,g:128,b:0,a:255},teal:{r:0,g:128,b:128,a:255}};function O5(T){if(typeof T!=="string")return null;let L=T.trim().toLowerCase();if(L.startsWith("color."))L=L.slice(6);let I=AL[L];return I?{...I}:null}function u1(T){if(Q5(T))return T;if(typeof T!=="string")return null;return U5(T)??O5(T)}function Q9(T){let L=u1(T);return L?X1(L.r):null}function U9(T){let L=u1(T);return L?X1(L.g):null}function S9(T){let L=u1(T);return L?X1(L.b):null}function O9(T){let L=u1(T);return L?wL(L.a):null}class m0{name;fields;methods=new Map;isExported=!1;constructor(T,L){this.name=T;this.fields=L.map((I)=>({name:I.name,default:I.default??null}))}addMethod(T,L){this.methods.set(T,L)}getMethod(T){return this.methods.get(T)}cloneType(){let T=new m0(this.name,this.fields.map((L)=>({name:L.name,default:L.default})));T.isExported=this.isExported;for(let[L,I]of this.methods)T.addMethod(L,I);return T}newInstance(T){let L=new R1(this);if(T){for(let I of this.fields)if(Object.hasOwn(T,I.name))L.set(I.name,T[I.name])}return L}}class R1{type;typeName;values=new Map;constructor(T){this.type=T,this.typeName=T.name;for(let L of T.fields)this.values.set(L.name,L.default??null)}get(T){return this.values.has(T)?this.values.get(T):null}set(T,L){if(!this.values.has(T))return;this.values.set(T,L)}getMethod(T){return this.type.getMethod(T)}}class $1{enumName;name;value;constructor(T,L,I){this.enumName=T;this.name=L;this.value=I}equals(T){return T instanceof $1&&T.enumName===this.enumName&&T.name===this.name}toString(){return this.name}}class g1{name;members;constructor(T,L){this.name=T;this.members=L}}function J9(T,L){return new m0(T,L)}function Z9(T,L){let I=new Map;for(let _ of L)I.set(_,new $1(T,_));return new g1(T,I)}var uL=new Set(["request.security","request.security_lower_tf","request.dividends","request.earnings","request.splits","request.financial","request.economic","request.quandl","request.currency_rate","request.seed","request.footprint"]),gL=null,J5=60,Z5=1440,W5=10080,D6=43200,fL={H:J5,"1H":J5,D:Z5,"1D":Z5,W:W5,"1W":W5,M:D6,MO:D6,"1M":D6,"1MO":D6};function Y9(T){return T!=null&&uL.has(T)}function B1(T){if(T==null)return null;let L=T.trim();if(L==="")return null;if(/^\d+$/.test(L)){let G=Number(L);return G>0?G:null}let I=L.toUpperCase(),_=fL[I];if(_!=null)return _;let R=/^(\d+)(MO|H|D|W|M)$/.exec(I);if(R==null)return null;let $=Number(R[1]);if(!($>0))return null;switch(R[2]){case"MO":return $*D6;case"H":return $*J5;case"D":return $*Z5;case"W":return $*W5;case"M":return $;default:return null}}function pL(T){return typeof T==="number"&&Number.isFinite(T)?T:null}function q2(T,L,I,_){let R=I??{};if(!X9(R.symbol,T??""))return null;let $=pL(_),G=B1(R.timeframe),Q=B1(L);if(G!=null&&Q!=null&&G>Q)return $;return $}function xL(T,L){let I=B1(T),_=B1(L);return I!=null&&_!=null&&I<_}function cL(T,L,I,_){let R=I??{};if(!X9(R.symbol,T??""))return null;if(xL(R.timeframe,L))return null;return q2(T,L,R,_)}function X9(T,L){let I=(T??"").trim();if(I==="")return!0;return W9(I)===W9(L)}function W9(T){let L=T.trim().toUpperCase(),I=L.lastIndexOf(":");return I>=0?L.slice(I+1):L}function mL(){return null}function dL(T,L){let[I,_]=iL(T,L);if(I!==""&&I===_)return 1;return null}function lL(T){return gL=rL(T??0),null}function k2(T,L,I={}){if(T==="request.security"){let{sec:_,value:R}=D9(I);return q2(L.symbol,L.timeframe??null,_,R)}if(T==="request.security_lower_tf"){let{sec:_,value:R}=D9(I);return cL(L.symbol,L.timeframe??null,_,R)}if(T==="request.currency_rate"){let[_,R]=oL(I);return dL(_,R)}if(T==="request.seed")return lL(vL(I));return mL()}function D5(T){return!Array.isArray(T)}function D9(T){if(!D5(T))return{sec:{symbol:F2(T[0]),timeframe:F2(T[1]),expression:T[2]},value:sL(T[2])};return{sec:{symbol:T.symbol,timeframe:T.timeframe,expression:T.expression},value:T.sameSymbolValue??null}}function oL(T){if(!D5(T))return[F2(T[0]),F2(T[1])];let L=T.from??T.from_currency??null,I=T.to??T.to_currency??null;return[L,I]}function vL(T){if(!D5(T))return T[0]??0;return T.seed??0}function iL(T,L){let I=(T??"").trim().toUpperCase(),_=(L??"").trim().toUpperCase();if(_!=="")return[I,_];let R=I.indexOf("/");if(R>=0)return[I.slice(0,R),I.slice(R+1)];if(/^[A-Z]{6}$/.test(I))return[I.slice(0,3),I.slice(3)];return[I,_]}function rL(T){if(typeof T==="number"&&Number.isFinite(T))return Math.trunc(T);if(typeof T==="string"){let L=Number(T);if(T.trim()!==""&&Number.isFinite(L))return Math.trunc(L);return K9(T)}if(T==null)return 0;return K9(String(T))}function K9(T){let L=2166136261;for(let I=0;I<T.length;I++)L^=T.charCodeAt(I),L=Math.imul(L,16777619);return L>>>0}function F2(T){if(T==null)return null;return typeof T==="string"?T:String(T)}function sL(T){if(T==null)return null;if(typeof T==="number")return Number.isFinite(T)?T:null;return null}var M2=60,K5=86400,Y5=604800,X5=2592000;function B9(T){let L=B1(T);return L==null?null:L*M2}function z9(T){if(!Number.isFinite(T)||T<=0)return null;if(T<=M2)return"1";if(T<=K5){let I=Math.ceil(T/M2);return I>=K5/M2?"D":String(I)}if(T<=Y5){let I=Math.ceil(T/K5);if(I>=7)return"W";return I<=1?"D":`${I}D`}if(T<=X5){let I=Math.ceil(T/Y5);if(I*Y5>=X5)return"M";return I<=1?"W":`${I}W`}let L=Math.ceil(T/X5);return L<=1?"M":`${L}M`}function H9(T){if(B5(T)||z5(T)||H5(T))return!1;return B1(T)!=null}function B5(T){let L=V5(T);if(L==null||/^\d+$/.test(L))return!1;return L==="D"||L==="DAY"||L==="DAYS"||/^\d+D$/.test(L)}function z5(T){let L=V5(T);if(L==null||/^\d+$/.test(L))return!1;return L==="W"||L==="WEEK"||L==="WEEKS"||/^\d+W$/.test(L)}function H5(T){let L=V5(T);if(L==null||/^\d+$/.test(L))return!1;return L==="M"||L==="1M"||L==="MO"||L==="MONTH"||L==="MONTHS"||/^\d+MO$/.test(L)}function V9(T){if(T==null||T==="")return 1;let L=T.trim().match(/^(\d+)/);return L?Number(L[1]):1}function V5(T){if(T==null)return null;let L=T.trim().toUpperCase();return L===""?null:L}function n0(T){return typeof T==="number"&&Number.isFinite(T)}function E2(T,L,I){if(T==null||typeof T!=="number"||!Number.isFinite(T))return L;return Math.max(1,Math.min(I,Math.trunc(T)))}function F9(T){return n0(T)?T:0}function F5(T){if(T==null||typeof T!=="object"||Array.isArray(T))return;return{...T}}function Y0(T,L,I){if(n0(I))T[L]=I}function F0(T,L,I){T[L]=I}function aL(T,L){if(!n0(T)||!n0(L))return;return`${T},${L}`}class j2{items=[];byId=new Map;nextId=0;maxLines=50;maxLabels=50;maxBoxes=50;maxPolylines=50;constructor(T){if(T!=null)this.configure(T)}configure(T){if(T==null||typeof T!=="object")return;if(T.max_lines_count!==void 0)this.maxLines=E2(T.max_lines_count,this.maxLines,500);if(T.max_labels_count!==void 0)this.maxLabels=E2(T.max_labels_count,this.maxLabels,500);if(T.max_boxes_count!==void 0)this.maxBoxes=E2(T.max_boxes_count,this.maxBoxes,500);if(T.max_polylines_count!==void 0)this.maxPolylines=E2(T.max_polylines_count,this.maxPolylines,100);this.gc("line",this.maxLines),this.gc("label",this.maxLabels),this.gc("box",this.maxBoxes),this.gc("polyline",this.maxPolylines)}get(T){return this.byId.get(T)}all(T){return this.items.filter((L)=>L.kind===T&&!L.deleted)}lineNew(T,L){return this.push("line",T,{extra:L,cap:this.maxLines})}labelNew(T,L){return this.push("label",T,{text:L,cap:this.maxLabels})}boxNew(T){return this.push("box",T,{cap:this.maxBoxes})}tableNew(T){return this.push("table",T)}polylineNew(T){return this.push("polyline",T,{cap:this.maxPolylines})}linefillNew(T,L,I){let _={},R=F5(L);if(R!=null)Object.assign(_,R);else{if(n0(L))_.id1=L;if(n0(I))_.id2=I}return this.push("linefill",T,{extra:Object.keys(_).length?_:void 0})}alert(T,L){this.items.push({kind:"alert",bar:F9(T),text:L==null?"":String(L)})}lineSetXy(T,L,I,_,R){let $=this.extraOf(T);if(!$)return;Y0($,"x1",L),Y0($,"y1",I),Y0($,"x2",_),Y0($,"y2",R)}lineSetXy1(T,L,I){let _=this.extraOf(T);if(!_)return;Y0(_,"x1",L),Y0(_,"y1",I)}lineSetXy2(T,L,I){let _=this.extraOf(T);if(!_)return;Y0(_,"x2",L),Y0(_,"y2",I)}labelSetText(T,L){let I=this.byId.get(T);if(!I)return;I.text=L==null?"":String(L)}labelSetXy(T,L,I){let _=this.extraOf(T);if(!_)return;Y0(_,"x",L),Y0(_,"y",I)}boxSet(T,L){let I=this.byId.get(T),_=F5(L);if(!I||_==null)return;I.extra={...I.extra??{},..._}}boxSetCorners(T,L,I,_,R){let $=this.extraOf(T,"box");if(!$)return;Y0($,"left",L),Y0($,"top",I),Y0($,"right",_),Y0($,"bottom",R)}lineSetColor(T,L){let I=this.extraOf(T,"line");if(!I)return;F0(I,"color",L)}lineSetWidth(T,L){let I=this.extraOf(T,"line");if(!I)return;Y0(I,"width",L)}lineSetStyle(T,L){let I=this.extraOf(T,"line");if(!I)return;F0(I,"style",L)}lineSetExtend(T,L){let I=this.extraOf(T,"line");if(!I)return;F0(I,"extend",L)}lineGetX1(T){return this.lineGetNum(T,"x1")}lineGetY1(T){return this.lineGetNum(T,"y1")}lineGetX2(T){return this.lineGetNum(T,"x2")}lineGetY2(T){return this.lineGetNum(T,"y2")}getX1(T){return this.extraNum(T,"x1")}getY1(T){return this.extraNum(T,"y1")}getX2(T){return this.extraNum(T,"x2")}getY2(T){return this.extraNum(T,"y2")}labelGetX(T){let L=this.byId.get(T);if(!L||L.kind!=="label")return null;return this.extraNum(T,"x")}labelGetY(T){let L=this.byId.get(T);if(!L||L.kind!=="label")return null;return this.extraNum(T,"y")}labelGetText(T){let L=this.byId.get(T);if(!L||L.kind!=="label")return null;if(L.text!==void 0)return L.text;let I=L.extra?.text;return I==null?null:String(I)}lineGetPrice(T,L){if(!n0(L))return null;let I=this.lineGetNum(T,"x1"),_=this.lineGetNum(T,"y1"),R=this.lineGetNum(T,"x2"),$=this.lineGetNum(T,"y2");if(I==null||_==null||R==null||$==null)return null;if(I===R)return _;let G=(L-I)/(R-I);return _+G*($-_)}labelSetColor(T,L){let I=this.extraOf(T,"label");if(!I)return;F0(I,"color",L)}labelSetStyle(T,L){let I=this.extraOf(T,"label");if(!I)return;F0(I,"style",L)}labelSetSize(T,L){let I=this.extraOf(T,"label");if(!I)return;F0(I,"size",L)}labelSetTextalign(T,L){let I=this.extraOf(T,"label");if(!I)return;F0(I,"textalign",L)}labelSetTooltip(T,L){let I=this.extraOf(T,"label");if(!I)return;F0(I,"tooltip",L)}boxSetBgcolor(T,L){let I=this.extraOf(T,"box");if(!I)return;F0(I,"bgcolor",L)}boxSetBorderColor(T,L){let I=this.extraOf(T,"box");if(!I)return;F0(I,"border_color",L)}boxSetText(T,L){let I=this.extraOf(T,"box");if(!I)return;F0(I,"text",L==null?"":String(L))}boxSetExtend(T,L){let I=this.extraOf(T,"box");if(!I)return;F0(I,"extend",L)}tableCell(T,L,I,_){this.upsertCell(T,L,I,_,_!==void 0)}tableCellSetText(T,L,I,_){this.upsertCell(T,L,I,_,!0)}tableSetPosition(T,L){let I=this.extraOf(T,"table");if(!I)return;F0(I,"position",L)}linefillSetColor(T,L){let I=this.extraOf(T,"linefill");if(!I)return;F0(I,"color",L)}exportForApi(){let T=[];for(let L of this.items){if(L.deleted)continue;let I={kind:L.kind,bar:L.bar};if(L.text!==void 0)I.text=L.text;if(L.extra!==void 0)I.extra={...L.extra};T.push(I)}return T}lineDelete(T){this.markDeleted(T)}labelDelete(T){this.markDeleted(T)}boxDelete(T){this.markDeleted(T)}push(T,L,I){let _=this.nextId++,R={kind:T,bar:F9(L)};if(I?.text!==void 0&&I.text!==null)R.text=String(I.text);let $=F5(I?.extra);if($!==void 0)R.extra=$;if(this.items.push(R),this.byId.set(_,R),I?.cap!=null)this.gc(T,I.cap);return _}extraOf(T,L){let I=this.byId.get(T);if(!I)return;if(L!=null&&I.kind!==L)return;if(I.extra==null)I.extra={};return I.extra}lineGetNum(T,L){let I=this.byId.get(T);if(!I||I.kind!=="line")return null;let _=I.extra?.[L];return n0(_)?_:null}extraNum(T,L){let I=this.byId.get(T);if(!I)return null;let _=I.extra?.[L];return n0(_)?_:null}upsertCell(T,L,I,_,R){let $=this.extraOf(T,"table"),G=aL(L,I);if(!$||G==null)return;let Q=$.cells,U=Q!=null&&typeof Q==="object"&&!Array.isArray(Q)?Q:{};if(U!==Q)$.cells=U;let O=U[G],J=O!=null&&typeof O==="object"&&!Array.isArray(O)?O:{};if(R)J.text=_==null?"":String(_);else if(J.text===void 0)J.text="";U[G]=J}markDeleted(T){let L=this.byId.get(T);if(!L)return;L.deleted=!0}gc(T,L){let I=L>0?L:50,_=0;for(let $ of this.items)if($.kind===T&&!$.deleted)_++;let R=_-I;if(R<=0)return;for(let $=0;$<this.items.length&&R>0;){let G=this.items[$];if(G.kind===T&&!G.deleted)G.deleted=!0,this.items.splice($,1),this.forget(G),R--;else $++}}forget(T){for(let[L,I]of this.byId)if(I===T){this.byId.delete(L);return}}}class C2{records=[];info(T,L){this.records.push({level:"INFO",bar:T,message:L})}warning(T,L){this.records.push({level:"WARNING",bar:T,message:L})}error(T,L){this.records.push({level:"ERROR",bar:T,message:L})}clear(){this.records.length=0}snapshot(){return this.records.slice()}}class q5 extends Error{name="RuntimeError";constructor(T){super(T)}}function k5(T){throw new q5(T)}function M5(T){if(T.length===0)return"";let L=T[0];if(typeof L==="string"&&T.length>1&&/\{[0-9]/.test(L))return L.replace(/\{(\d+)\}/g,(I,_)=>q9(T[Number(_)+1]));return T.map(q9).join(" ")}function q9(T){if(T==null)return"na";if(typeof T==="number"&&!Number.isFinite(T))return"na";return String(T)}class I0{symbol;session;adjust;heikinashi=!1;renko=!1;kagi=!1;linebreak=!1;pointfigure=!1;constructor(T,L,I){this.symbol=T;this.session=L;this.adjust=I}toString(){return this.symbol}}function E5(T,L,I){return new I0(T,L,I)}function j5(T){let L=new I0(typeof T==="string"?T:String(T));return L.heikinashi=!0,L}function C5(T){return new I0(T)}function P5(T){let L=new I0(T);return L.renko=!0,L}function N5(T){let L=new I0(typeof T==="string"?T:String(T));return L.kagi=!0,L}function y5(T){let L=new I0(typeof T==="string"?T:String(T));return L.linebreak=!0,L}function b5(T){let L=new I0(typeof T==="string"?T:String(T));return L.pointfigure=!0,L}function h5(T,L){let I=typeof T==="string"?new I0(T):T,_=new I0(L?.symbol??I.symbol,L?.session??I.session,L?.adjust??L?.adjustment??I.adjust);return _.heikinashi=I.heikinashi,_.renko=I.renko,_.kagi=I.kagi,_.linebreak=I.linebreak,_.pointfigure=I.pointfigure,_}var nL=new Set(["input","input.bool","input.int","input.float","input.price","input.string","input.symbol","input.session","input.source","input.time","input.timeframe","input.color","input.enum","input.text_area"]);function k9(T){return T!=null&&nL.has(T)}function tL(T,L={}){if(L.defval!==void 0)return L.defval;return T[0]}function M9(T,L,I={}){let _=tL(L,I);switch(T){case"input.bool":return _==null?!1:Boolean(_);case"input.int":case"input.time":return TI(_,0);case"input.float":case"input.price":return E9(_,0);case"input.string":case"input.symbol":case"input.session":case"input.source":case"input.timeframe":case"input.color":case"input.enum":case"input.text_area":return _==null?"":String(_);default:return eL(_)}}function w5(T){if(T==null)return null;if(typeof T==="boolean")return T?1:0;if(typeof T==="number")return Number.isFinite(T)?T:null;let L=Number(T);return Number.isFinite(L)?L:null}function eL(T){if(T==null)return null;if(typeof T==="boolean"||typeof T==="string")return T;if(typeof T==="number")return Number.isFinite(T)?T:null;return null}function E9(T,L){if(typeof T==="number"&&Number.isFinite(T))return T;if(typeof T==="boolean")return T?1:0;if(typeof T==="string"&&T!==""){let I=Number(T);if(Number.isFinite(I))return I}return L}function TI(T,L){return Math.trunc(E9(T,L))}function s(T){return T!==null&&Number.isFinite(T)?T:null}function _0(T){return Number.isFinite(T)?T:null}function j9(T){return T>=0?Math.round(T):-Math.round(-T)}function C9(T){let L=s(T);return L===null?null:Math.abs(L)}function P9(T){let L=s(T);if(L===null)return null;if(L>0)return 1;if(L<0)return-1;return 0}function N9(T){let L=s(T);if(L===null||L<0)return null;return _0(Math.sqrt(L))}function y9(T,L){let I=s(T);if(I===null||I<=0)return null;if(L===void 0)return _0(Math.log(I));let _=s(L);if(_===null||_<=0||_===1)return null;return _0(Math.log(I)/Math.log(_))}function b9(T){let L=s(T);if(L===null||L<=0)return null;return _0(Math.log10(L))}function h9(T){let L=s(T);return L===null?null:_0(Math.exp(L))}function w9(T,L){let I=s(T),_=s(L);if(I===null||_===null)return null;return _0(Math.pow(I,_))}function A9(...T){if(T.length===0)return null;let L=-1/0;for(let I of T){let _=s(I);if(_===null)return null;if(_>L)L=_}return _0(L)}function u9(...T){if(T.length===0)return null;let L=1/0;for(let I of T){let _=s(I);if(_===null)return null;if(_<L)L=_}return _0(L)}function g9(T,L){let I=s(T);if(I===null)return null;if(L===void 0)return j9(I);let _=s(L);if(_===null)return null;let R=10**Math.trunc(_);if(!Number.isFinite(R))return null;return _0(j9(I*R)/R)}function f9(T){let L=s(T);return L===null?null:Math.floor(L)}function p9(T){let L=s(T);return L===null?null:Math.ceil(L)}function x9(...T){if(T.length===0)return null;let L=0;for(let I of T){let _=s(I);if(_===null)return null;L+=_}return _0(L/T.length)}function c9(...T){if(T.length===0)return null;let L=0;for(let I of T){let _=s(I);if(_===null)return null;L+=_}return _0(L)}function P2(T,L){let I=s(T);return I===null?null:_0(L(I))}function m9(T){return P2(T,Math.sin)}function d9(T){return P2(T,Math.cos)}function l9(T){return P2(T,Math.tan)}function o9(T){let L=s(T);if(L===null||L<-1||L>1)return null;return _0(Math.asin(L))}function v9(T){let L=s(T);if(L===null||L<-1||L>1)return null;return _0(Math.acos(L))}function i9(T){return P2(T,Math.atan)}function r9(T){let L=s(T);return L===null?null:_0(L*180/Math.PI)}function s9(T){let L=s(T);return L===null?null:_0(L*Math.PI/180)}function a9(T){if(T===null)return null;return Number.isFinite(T)?1:0}function n9(T,L=0.01){let I=s(T),_=s(L);if(I===null||_===null||_<=0)return I===null?null:_0(Number(I.toFixed(8)));return _0(Math.round(I/_)*_)}function t9(T,L,I=Math.random){if(T===void 0&&L===void 0)return _0(I());if(L===void 0){let $=s(T);if($===null)return null;return _0($*I())}let _=s(T),R=s(L);if(_===null||R===null)return null;return _0(_+(R-_)*I())}function K6(T){let L=Number.isFinite(T)?Math.trunc(T/1000):0;if(L<-62167219200)L=-62167219200;else if(L>253402300799)L=253402300799;let I=Math.trunc(L/86400),_=L%86400;if(_<0)I-=1,_+=86400;let R=Math.trunc(_/3600);_%=3600;let $=Math.trunc(_/60),G=_%60,U=(((I+3)%7+7)%7+1)%7+1,O=I+719468,J=Math.trunc((O>=0?O:O-146096)/146097),D=O-J*146097,B=Math.trunc((D-Math.trunc(D/1460)+Math.trunc(D/36524)-Math.trunc(D/146096))/365),H=B+J*400,z=D-(365*B+Math.trunc(B/4)-Math.trunc(B/100)),X=Math.trunc((5*z+2)/153),k=z-Math.trunc((153*X+2)/5)+1,C=X<10?X+3:X-9;return{year:H+(C<=2?1:0),month:C,dayofmonth:k,hour:R,minute:$,second:G,dayofweek:U}}var e9=86400000,f5=86400,TT={jan:1,january:1,feb:2,february:2,mar:3,march:3,apr:4,april:4,may:5,jun:6,june:6,jul:7,july:7,aug:8,august:8,sep:9,september:9,oct:10,october:10,nov:11,november:11,dec:12,december:12};function z1(T,L){return Math.floor(T/L)}function _T(T,L){return(T%L+L)%L}function c5(T,L,I){T-=L<=2?1:0;let _=z1(T>=0?T:T-399,400),R=T-_*400,$=z1(153*(L+(L>2?-3:9))+2,5)+I-1,G=R*365+z1(R,4)-z1(R,100)+$;return _*146097+G-719468}function LI(T){return T%4===0&&(T%100!==0||T%400===0)}function II(T,L){if(L===2)return LI(T)?29:28;return L===4||L===6||L===9||L===11?30:31}function _I(T,L,I,_,R,$){return(c5(T,L,I)*f5+_*3600+R*60+$)*1000}function RI(T,L){let I=T,_=L;if(_===0)_=1;else if(_<1||_>12){let R=_-1;I+=z1(R,12),_=_T(R,12)+1}if(I<1)I=1;else if(I>9999)I=9999;return[I,_]}function y2(T){if(T==null)return null;if(typeof T==="number")return Number.isFinite(T)?Math.trunc(T):null;if(typeof T==="string"){let L=T.trim();if(!L)return null;let I=Number(L);return Number.isFinite(I)?Math.trunc(I):null}return null}function A5(T,L=0){if(T==null)return L;if(typeof T==="number")return Number.isFinite(T)?Math.trunc(T):L;if(typeof T==="string"){let I=T.trim();if(!I)return L;let _=Number(I);return Number.isFinite(_)?Math.trunc(_):L}return L}function f1(T,L,I){return(T==="+"?1:-1)*(L*60+I)}function u5(T,L){if(!L||L.length>4||!/^\d+$/.test(L))return null;if(L.length<=2)return f1(T,Number(L),0);let I=L.padStart(4,"0");return f1(T,Number(I.slice(0,2)),Number(I.slice(2)))}function $I(T){let L=T.trim();if(!L||/^(?:syminfo\.timezone|UTC|utc|Etc\/UTC|GMT|gmt)$/.test(L))return 0;let I=/^(?:(?:UTC|GMT)\s*)?([+-])\s*(\d{1,2})(?::(\d{2})|(\d{2}))?$/i.exec(L);if(!I)return 0;return f1(I[1],Number(I[2]),Number(I[3]||I[4]||0))}function LT(T){let L=T.trim().replace(/\s+/g," ");return L=L.replace(/\b0000-/,"0001-"),L=L.replace(/(\d{4}-\d{2}-\d{2}):(\d{1,2}:\d{2})/,"$1 $2"),L=L.replace(/(\d)([A-Za-z]{3,})/g,"$1 $2"),L=L.replace(/\bSept\b/gi,"Sep"),L=L.replace(/\bJanv\b/gi,"Jan"),L}function GI(T){let L=0,I=/^(?:UTC|GMT)\s+/i.exec(T);if(I)T=T.slice(I[0].length).trim();let _=/\s*(?:GMT|UTC)\s*([+-])(\d{1,2})(?::?(\d{2}))?\s*$/i.exec(T);if(_&&_.index!==void 0)return L=f1(_[1],Number(_[2]),_[3]?Number(_[3]):0),{date:T.slice(0,_.index).trim(),offsetMin:L};if(_=/Z\s*$/i.exec(T),_&&T.length>1&&_.index!==void 0)return{date:T.slice(0,_.index).trim(),offsetMin:L};if(_=/\s+([+-])(\d{1,2}):(\d{2})\s*$/.exec(T),_&&_.index!==void 0)return L=f1(_[1],Number(_[2]),Number(_[3])),{date:T.slice(0,_.index).trim(),offsetMin:L};if(_=/\s+([+-])(\d{1,4})\s*$/.exec(T),_&&_.index!==void 0){let R=u5(_[1],_[2]);if(R!=null)return{date:T.slice(0,_.index).trim(),offsetMin:R}}if(_=/(?<=\d)([+-])(\d{2}):(\d{2})\s*$/.exec(T),_&&_.index!==void 0)return L=f1(_[1],Number(_[2]),Number(_[3])),{date:T.slice(0,_.index).trim(),offsetMin:L};if(_=/(?<=\d)([+-])(\d{4})\s*$/.exec(T),_&&_.index!==void 0){let R=u5(_[1],_[2]);if(R!=null)return{date:T.slice(0,_.index).trim(),offsetMin:R}}if(_=/(?<=\d)([+-])(\d{2})\s*$/.exec(T),_&&_.index!==void 0){let R=T.slice(0,_.index);if(/\d{1,2}:\d{2}$/.test(R)||R.endsWith("T")||/T\d/.test(R)){let $=u5(_[1],_[2]);if($!=null)return{date:R.trim(),offsetMin:$}}}return{date:T.replace(/\s+(?:GMT|UTC)\s*$/i,"").trim(),offsetMin:L}}function N2(T,L,I,_,R,$){if(T<1||T>9999)return null;if(L<1||L>12)return null;if(I<1||I>II(T,L))return null;if(_<0||_>23||R<0||R>59||$<0||$>59)return null;return _I(T,L,I,_,R,$)}function QI(T){let L=/^([A-Za-z]+)\s+(\d{1,2}),?\s+(\d{4})(?:\s+(\d{1,2}):(\d{2})(?::(\d{2}))?)?$/.exec(T);if(L){let I=TT[L[1].toLowerCase()];if(I==null)return null;return N2(Number(L[3]),I,Number(L[2]),Number(L[4]??0),Number(L[5]??0),Number(L[6]??0))}if(L=/^(\d{1,2})\s+([A-Za-z]+),?\s+(\d{4})(?:\s+(\d{1,2}):(\d{2})(?::(\d{2}))?)?$/.exec(T),L){let I=TT[L[2].toLowerCase()];if(I==null)return null;return N2(Number(L[3]),I,Number(L[1]),Number(L[4]??0),Number(L[5]??0),Number(L[6]??0))}if(L=/^(\d{4})-(\d{2})-(\d{2})(?:[ T](\d{1,2}):(\d{2})(?::(\d{2}))?)?$/.exec(T),L)return N2(Number(L[1]),Number(L[2]),Number(L[3]),Number(L[4]??0),Number(L[5]??0),Number(L[6]??0));if(L=/^(\d{4})\s+(\d{1,2})\s+(\d{1,2})(?:\s+(\d{1,2}):(\d{2})(?::(\d{2}))?)?$/.exec(T),L)return N2(Number(L[1]),Number(L[2]),Number(L[3]),Number(L[4]??0),Number(L[5]??0),Number(L[6]??0));return null}function IT(T,L){let I=QI(T);if(I==null)return null;return I-L*60000}function RT(T,L,I){return c5(T,L,I)+719163}function g5(T){let L=RT(T,1,1),I=_T(L+6,7),_=L-I;if(I>3)_+=7;return _}function UI(T,L,I){let _=RT(T,L,I),R=g5(T),$=z1(_-R,7);if($<0)R=g5(T-1),$=z1(_-R,7);else if($>=52&&_>=g5(T+1))$=0;return $+1}function p5(T,L,I,_=0,R=0,$=0,G){let Q=y2(T),U=y2(L),O=y2(I);if(Q==null||U==null||O==null)return null;let J=A5(_,0),D=A5(R,0),B=A5($,0),[H,z]=RI(Q,U),k=c5(H,z,1)*f5+(O-1)*f5+J*3600+D*60+B;if(G!=null&&Number.isFinite(G))k-=Math.trunc(G)*60;return k*1000}function x5(T){let L=T.trim();if(!L)return null;let I=LT(L),_=IT(I,0);if(_!=null)return _;let R=GI(I),$=LT(R.date);if(!$)return null;return IT($,R.offsetMin)}function m5(...T){let L=T.length;if(L===0)return null;if(L===1){let I=T[0];if(typeof I==="string")return x5(I);return y2(I)}if(typeof T[0]==="string"){let I=T[0].trim(),_=I!==""&&/^[+-]?\d+(?:\.\d+)?$/.test(I);if(L>=4&&!_)return p5(T[1],T[2],T[3],L>4?T[4]:0,L>5?T[5]:0,L>6?T[6]:0,$I(T[0]));if(L<4)return x5(T[0])}if(L>=3)return p5(T[0],T[1],T[2],L>3?T[3]:0,L>4?T[4]:0,L>5?T[5]:0);return null}function d5(T){if(!Number.isFinite(T))return null;let L=K6(T);return UI(L.year,L.month,L.dayofmonth)}function l5(T){if(!Number.isFinite(T))return null;return Math.floor(T/e9)*e9}function o5(T){if(T==null||typeof T!=="object"||Array.isArray(T))return!1;let L=Object.getPrototypeOf(T);return L===Object.prototype||L===null}function Y6(T){if(T==null)return null;if(typeof T==="boolean")return T?1:0;if(typeof T==="number"){if(!Number.isFinite(T))return null;return Math.trunc(T)}if(typeof T==="bigint"){let L=Number(T);if(!Number.isFinite(L))return null;return Math.trunc(L)}if(typeof T==="string"){let L=T.trim();if(!/^[+-]?\d+$/.test(L))return null;let I=Number(L);if(!Number.isFinite(I))return null;return Math.trunc(I)}return null}function $T(T,L,I){let _=T.slice();for(let[R,$]of Object.entries(L)){let G=I.indexOf(R);if(G<0)continue;while(_.length<=G)_.push(null);if(G<T.length&&T[G]!=null)continue;_[G]=$}return _}function GT(T,L){if(L!==void 0)return{args:T,kwargs:L};if(T.length===0)return{args:[],kwargs:{}};if(T.length===1&&o5(T[0]))return{args:[],kwargs:T[0]};if(Array.isArray(T[0])&&(T.length===1||T.length===2)&&(T[1]===void 0||o5(T[1])))return{args:T[0],kwargs:T[1]??{}};let I=T[T.length-1];if(T.length>1&&o5(I))return{args:T.slice(0,-1),kwargs:I};return{args:T,kwargs:{}}}function QT(T,L){let I=["dimension_x","dimension_y","index_x","index_y"],_={dim_x:"dimension_x",dim_y:"dimension_y",ix:"index_x",iy:"index_y"},R={};for(let[O,J]of Object.entries(L))R[_[O]??O]=J;let $=$T(T,R,I);if($.length<4)return null;let G=Y6($[1]),Q=Y6($[2]),U=Y6($[3]);if(G==null||Q==null||U==null)return null;return Q*G+U}function UT(T,L){let I=["dimension_x","dimension_y","index"],_={dim_x:"dimension_x",dim_y:"dimension_y",i:"index"},R={};for(let[J,D]of Object.entries(L))R[_[J]??J]=D;let $=$T(T,R,I);if($.length<3)return null;let G=Y6($[1]),Q=Y6($[2]);if(G==null||Q==null||G===0)return null;let U=Math.floor(Q/G),O=(Q%G+G)%G;return[U,O]}function SI(...T){let L=GT(T);return QT(L.args,L.kwargs)}function OI(...T){let L=GT(T);return UT(L.args,L.kwargs)}var G1={index_2d_to_1d:SI,index_1d_to_2d:OI};function JI(T,L=[],I={}){if(T==="index_2d_to_1d")return QT(L,I);if(T==="index_1d_to_2d")return UT(L,I);let _=G1[T];if(_==null)return;return _(L,I)}function ZI(T){if(T==null)return new Map;if(T instanceof Map)return T;return new Map(Object.entries(T))}class H1{title;namespace;version;exports;kinds;resolveStubs;constructor(T,L){this.title=T,this.namespace=L?.namespace??null,this.version=L?.version??null,this.exports=ZI(L?.exports),this.kinds=new Map,this.resolveStubs=L?.resolveStubs===!0}get(T){if(this.exports.has(T))return this.exports.get(T);if(this.resolveStubs&&Object.hasOwn(G1,T))return G1[T];return}has(T){if(this.exports.has(T))return!0;return this.resolveStubs&&Object.hasOwn(G1,T)}setExport(T,L){this.putExport(T,L,"const")}exportType(T,L){this.putExport(T,L,"type")}exportEnum(T,L){this.putExport(T,L,"enum")}exportFn(T,L){this.putExport(T,L,"fn")}kindOf(T){let L=this.kinds.get(T);if(L!==void 0)return L;if(this.resolveStubs&&Object.hasOwn(G1,T))return"fn";return}allExports(){let T={};for(let[L,I]of this.exports)T[L]=I;return T}putExport(T,L,I){this.exports.set(T,L),this.kinds.set(T,I)}}function v5(T){return new H1(T,{resolveStubs:!0})}function b2(T,L,I){return`${T}\x00${L}\x00${Math.trunc(I)}`}class X6{byPath=new Map;byTitle=new Map;sources=new Map;register(T){if(this.byTitle.set(T.title,T),T.namespace!=null&&T.version!=null)this.byPath.set(b2(T.namespace,T.title,T.version),T)}registerSource(T,L,I,_){this.sources.set(b2(T,L,Math.trunc(I)),_)}getSource(T,L,I){return this.sources.get(b2(T,L,Math.trunc(I)))??null}lookup(T){let{namespace:L,name:I,version:_}=T;if(L!=null&&_!=null){let R=this.byPath.get(b2(L,I,_));if(R!=null)return R}return this.byTitle.get(I)??null}clear(){this.byPath.clear(),this.byTitle.clear(),this.sources.clear()}}var K=null;class p1{data=[];push(T){this.data.push(T)}setCurrent(T){if(this.data.length===0)this.data.push(T);else this.data[this.data.length-1]=T}get current(){return this.data.length===0?null:this.data[this.data.length-1]}get(T){if(typeof T!=="number"||!Number.isFinite(T)||T<0)return null;let L=this.data.length;if(L===0)return null;let I=L-1-Math.trunc(T);if(I<0||I>=L)return null;let _=this.data[I];if(_==null)return null;if(typeof _==="number"&&!Number.isFinite(_))return null;return _}get length(){return this.data.length}}function i(T){if(T==null)return null;return typeof T==="string"?T:String(T)}function r5(T){return i(T)??""}function OT(T){let L=i(T);return L==null?null:L.length}function JT(T,L){let I=i(T),_=i(L);if(I==null||_==null)return null;return I.includes(_)}function ZT(T){let L=i(T);return L==null?null:L.toUpperCase()}function WT(T){let L=i(T);return L==null?null:L.toLowerCase()}function DT(T,L,I,_){if(T==null)return null;let R=i(T)??"",$=i(L)??"",G=i(I)??"",Q=typeof _==="number"&&Number.isFinite(_)?Math.trunc(_):0;if(Q<0)return R;if($===""){if(Q>R.length)return R;return R.slice(0,Q)+G+R.slice(Q)}let U=0;for(let O=0;O<=Q;O++){let J=R.indexOf($,U);if(J<0)return R;if(O===Q)return R.slice(0,J)+G+R.slice(J+$.length);U=J+$.length}return R}function i5(T){if(T==null)return null;if(typeof T==="boolean")return T?1:0;if(typeof T==="number")return Number.isFinite(T)?Math.trunc(T):null;if(typeof T==="string"){let L=Number(T.trim());return Number.isFinite(L)?Math.trunc(L):null}return null}function WI(T){if(T===0)return"0";let L=T.toPrecision(6);if(/[eE]/.test(L))return L.replace(/\.?0+([eE])/,"$1");return String(Number(L))}function KT(T,L){let I=i(T),_=i(L);if(I==null||_==null)return null;return I.startsWith(_)}function YT(T,L){let I=i(T),_=i(L);if(I==null||_==null)return null;return I.endsWith(_)}function XT(T,L,I){if(T==null)return null;let _=i(T)??"";if(L==null)return null;let R=i5(L);if(R==null)return null;if(I===void 0)return _.slice(R);if(I==null)return null;let $=i5(I);if($==null)return null;return _.slice(R,$)}var DI=1e6;function BT(T,L){if(T==null||L==null)return null;let I=i(T)??"",_=i5(L);if(_==null)return null;if(_<0)_=0;if(I.length>0&&_>Math.floor(DI/I.length))return null;return I.repeat(_)}function zT(T){let L=i(T);return L==null?null:L.trim()}function HT(T,L){let I=T==null?"":i(T)??"";if(L===void 0||L==null){let R=I.trim();return R===""?[]:R.split(/\s+/)}let _=i(L)??"";if(_==="")return[...I];return I.split(_)}function VT(T){if(T==null)return null;if(typeof T==="boolean")return T?1:0;if(typeof T==="number")return Number.isFinite(T)?T:null;let L=(i(T)??"").trim();if(!L)return null;let I=Number(L);return Number.isFinite(I)?I:null}function FT(T,L){let I=i(T),_=i(L);if(I==null||_==null)return null;return I.indexOf(_)}function qT(T,L){let I=i(T),_=i(L);if(I==null||_==null)return null;try{let R=I.match(new RegExp(_));return R==null?null:R[0]}catch{return null}}var ST="yyyy-MM-dd'T'HH:mm:ssZ",KI=["January","February","March","April","May","June","July","August","September","October","November","December"],YI=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Q1(T){return T<10?`0${T}`:String(T)}function XI(T){let L=new Date(T);return{year:L.getUTCFullYear(),month:L.getUTCMonth()+1,day:L.getUTCDate(),hour:L.getUTCHours(),minute:L.getUTCMinutes(),second:L.getUTCSeconds()}}function BI(T){let L=T;if(Array.isArray(L))L=L.length?L[L.length-1]:null;if(typeof L!=="string")return 0;let I=L.trim();if(!I||I==="syminfo.timezone"||I==="UTC"||I==="utc"||I==="Etc/UTC"||I==="GMT")return 0;if(I.toUpperCase().includes("GMT")||I.startsWith("UTC+")||I.startsWith("UTC-")||I.startsWith("utc+")||I.startsWith("utc-")){let _=I.toUpperCase().replaceAll("GMT","").replaceAll("UTC","").trim();if(!_||!/^[+-]?\d+$/.test(_))return 0;let R=Number.parseInt(_,10);return Number.isFinite(R)?R:0}return 0}function zI(T){let L=T;if(L!=null&&typeof L==="object"&&"current"in L)L=L.current;if(L==null||typeof L==="boolean"||typeof L==="string")return null;if(typeof L!=="number"||!Number.isFinite(L))return null;let I=Math.trunc(L);if(I>0&&I<10000000000)I*=1000;return I}function HI(T){return`${T>=0?"+":"-"}${Q1(Math.abs(T))}00`}function VI(T){if(T===0)return"UTC";return`UTC${T>=0?"+":"-"}${Q1(Math.abs(T))}:00`}function kT(T,L,I){let _=zI(T);if(_==null)return"NaN";let R=L==null?ST:i(L)??ST,$=BI(I),G=XI(_+$*3600000),Q=(G.hour-1)%12+1,U={yyyy:String(G.year),yy:String(G.year).slice(-2),MMMM:KI[G.month-1]??"",MMM:YI[G.month-1]??"",MM:Q1(G.month),M:String(G.month),dd:Q1(G.day),d:String(G.day),HH:Q1(G.hour),H:String(G.hour),hh:Q1(Q),h:String(Q),mm:Q1(G.minute),m:String(G.minute),ss:Q1(G.second),s:String(G.second),a:G.hour<12?"AM":"PM",zzz:VI($),z:HI($)},O=R;for(let J of Object.keys(U).sort((D,B)=>B.length-D.length))O=O.split(J).join(U[J]);return O.replaceAll("'","")}function MT(T,...L){if(T==null)return"NaN";return(typeof T==="string"?T:String(T)).replace(/\{([^{}]+)\}/g,(_,R)=>{let $=R.split(",").map((J)=>J.trim()),G=Number.parseInt($[0]??"",10);if(!Number.isFinite(G))return _;if(G<0||G>=L.length)return"";let Q=L[G];if(Q==null)return"NaN";let U=($[1]??"").toLowerCase(),O=$[2]??"";if(U===""||U==="string")return String(Q);if(U==="number"){let J=typeof Q==="number"?Q:Number(Q);if(!Number.isFinite(J))return String(Q);if(O){if(O.includes(".")){let D=O.split(".",2)[1].length;return J.toFixed(D)}return String(Math.trunc(J))}return WI(J)}if(U==="integer"){let J=typeof Q==="number"?Q:Number(Q);if(!Number.isFinite(J))return String(Q);return String(Math.trunc(J))}return String(Q)})}function ET(T,L){if(T==null)return null;if(!Array.isArray(T))return null;let I=L==null?"":i(L)??"";return T.map((_)=>_==null?"":String(_)).join(I)}function FI(T,L,I){if(L==="")return T;return T.split(L).join(I)}function jT(T,L,I){if(T==null)return null;let _=i(T)??"",R=i(L)??"",$=i(I)??"";return FI(_,R,$)}function E(T){return typeof T==="number"&&Number.isFinite(T)}function CT(T){return E(T)?T:null}function qI(T,L,I,_){let{limit:R,stop:$,direction:G}=T;if(R!=null&&$!=null){if(G==="long"&&I>=$&&_<=R)return R;if(G==="short"&&_<=$&&I>=R)return R;return null}if(R!=null){if(G==="long"&&_<=R)return Math.min(R,L);if(G==="short"&&I>=R)return Math.max(R,L);return null}if($!=null){if(G==="long"&&I>=$)return Math.max($,L);if(G==="short"&&_<=$)return Math.min($,L);return null}return null}function PT(T,L){return E(T)?T:L}function NT(T){if(T==null||!E(T))return;return Math.max(0,Math.trunc(T))}function h2(T){if(T===1||T==="1")return"long";if(T===-1||T==="-1")return"short";let L=String(T??"").toLowerCase();if(L.includes("long"))return"long";if(L.includes("short"))return"short";return"long"}function yT(T){let L=Math.trunc(T);if(L>10000000000)return Math.trunc(L/86400000);if(L>1e7)return Math.trunc(L/86400);return L}function kI(T){let L=String(T??"none").trim().toLowerCase();if(L==="cancel"||L==="oca.cancel"||L==="strategy.oca.cancel")return"cancel";if(L==="reduce"||L==="oca.reduce"||L==="strategy.oca.reduce")return"reduce";return"none"}class s5{events=[];position={qty:0,avgPrice:null};fills=[];pending=[];openTrades=[];closedTrades=[];commissionPaid=0;realizedPnl=0;closedCount=0;wintrades=0;losstrades=0;eventrades=0;grossprofit=0;grossloss=0;initialCapital=1e6;allow_entry_in="all";max_position_size_percent;max_drawdown_risk;max_drawdown_risk_percent;max_cons_loss_days;max_intraday_loss=Number.POSITIVE_INFINITY;max_intraday_filled_orders;entries_blocked=!1;consecutive_loss_days=0;get opentrades(){return this.openTrades.length}get closedtrades(){return this.closedTrades.length}commission;slippage;pyramiding;sameDirAdds=0;lastTradeDay=null;dayPnl=0;fillsDay=null;dayFilledOrders=0;equityPeak;equityTrough;maxDrawdownAbs=0;maxDdPercent=0;maxRunupAbs=0;maxRuPercent=0;maxHeldAll=0;maxHeldLong=0;maxHeldShort=0;constructor(T){this.commission=PT(T?.commission,0),this.slippage=PT(T?.slippage,0),this.pyramiding=NT(T?.pyramiding),this.equityPeak=this.initialCapital,this.equityTrough=this.initialCapital}equity(T){this.ensureSanePosition();let L=this.position.qty,I=this.position.avgPrice,_=E(this.realizedPnl)?this.realizedPnl:0,R=E(this.commissionPaid)?this.commissionPaid:0,$=L===0||!E(I)||!E(T)?0:L*(T-I),G=this.initialCapital+_-R+$;return this.trackEquityCurve(G),G}closedTrade(T){return this.pickTrade(this.closedTrades,T)}openTrade(T){return this.pickTrade(this.openTrades,T)}closedEntryBar(T){return this.closedTrade(T)?.entryBar??null}closedEntryPrice(T){return this.closedTrade(T)?.entryPrice??null}closedExitBar(T){return this.closedTrade(T)?.exitBar??null}closedExitPrice(T){return this.closedTrade(T)?.exitPrice??null}closedProfit(T){let L=this.closedTrade(T);return L!=null&&L.profit!==void 0?L.profit:null}closedSize(T){return this.closedTrade(T)?.qty??null}closedId(T){return this.closedTrade(T)?.id??null}closedCommission(T){return this.closedTrade(T)?.commission??null}openEntryBar(T){return this.openTrade(T)?.entryBar??null}openEntryPrice(T){return this.openTrade(T)?.entryPrice??null}openSize(T){return this.openTrade(T)?.qty??null}openId(T){return this.openTrade(T)?.id??null}openProfit(T,L){let I=this.openTrade(T);if(I==null||!E(L))return null;return this.markProfit(I,L)}avgTrade(){let T=this.closedTrades.length;return T===0?0:(this.grossprofit-this.grossloss)/T}avgWinningTrade(){return this.wintrades===0?0:this.grossprofit/this.wintrades}avgLosingTrade(){return this.losstrades===0?0:this.grossloss/this.losstrades}netprofit(){return E(this.realizedPnl)?this.realizedPnl:0}netprofitPercent(T){return this.pctOfInitial(this.netprofit())}openprofit(T){this.ensureSanePosition();let L=this.position.qty,I=this.position.avgPrice;if(L===0||!E(I)||!E(T))return 0;return L*(T-I)}openprofitPercent(T){return this.pctOfInitial(this.openprofit(T))}grossprofitPercent(){return this.pctOfInitial(this.grossprofit)}grosslossPercent(){return this.pctOfInitial(this.grossloss)}avgTradePercent(){return this.pctOfInitial(this.avgTrade())}avgWinningTradePercent(){return this.pctOfInitial(this.avgWinningTrade())}avgLosingTradePercent(){return this.pctOfInitial(this.avgLosingTrade())}maxDrawdown(){return this.maxDrawdownAbs}maxDrawdownPercent(){return this.maxDdPercent}maxRunup(){return this.maxRunupAbs}maxRunupPercent(){return this.maxRuPercent}percentProfitable(){let T=this.closedTrades.length;return T===0?0:100*this.wintrades/T}profitFactor(){let T=this.grossprofit,L=this.grossloss;if(!E(T)||!E(L))return 0;if(L>0)return T/L;return T>0?999.99:0}maxContractsHeldAll(){return this.maxHeldAll}maxContractsHeldLong(){return this.maxHeldLong}maxContractsHeldShort(){return this.maxHeldShort}summary(T){return{netprofit:this.netprofit(),netprofitPercent:this.netprofitPercent(T),openprofit:this.openprofit(T),equity:this.equity(T),wintrades:this.wintrades,losstrades:this.losstrades,eventrades:this.eventrades,closedtrades:this.closedtrades,opentrades:this.opentrades,grossprofit:this.grossprofit,grossloss:this.grossloss,avgTrade:this.avgTrade(),avgWinningTrade:this.avgWinningTrade(),avgLosingTrade:this.avgLosingTrade(),percentProfitable:this.percentProfitable(),profitFactor:this.profitFactor(),maxDrawdown:this.maxDrawdown(),maxDrawdownPercent:this.maxDrawdownPercent(),maxRunup:this.maxRunup(),maxRunupPercent:this.maxRunupPercent(),initialCapital:this.initialCapital}}markOpenTrades(T,L,I){if(this.openTrades.length===0)return;for(let _ of this.openTrades){let R=_.direction==="long"?E(T)?T:I:E(L)?L:I,$=_.direction==="long"?E(L)?L:I:E(T)?T:I;if(E(R)){let G=this.markProfit(_,R);if(G>0)_.max_runup=Math.max(_.max_runup??0,G)}if(E($)){let G=this.markProfit(_,$);if(G<0)_.max_drawdown=Math.max(_.max_drawdown??0,-G)}}}configure(T){if(E(T.commission))this.commission=T.commission;if(E(T.slippage))this.slippage=T.slippage;if(T.pyramiding!==void 0){let L=NT(T.pyramiding);if(L!==void 0||T.pyramiding==null)this.pyramiding=L}}riskAllowEntryIn(T="all"){let L=String(T??"all").replace(/strategy\./gi,"").trim().toLowerCase();this.allow_entry_in=L==="long"||L==="short"||L==="all"?L:"all"}riskMaxPositionSize(T){if(T==null||!E(T)||T<=0)return;this.max_position_size_percent=T}riskMaxDrawdown(T,L="absolute"){if(T==null||!E(T)||T<0)return;let I=String(L??"absolute").replace(/strategy\./gi,"").trim().toLowerCase();if(I==="percent"||I==="percentage"||I==="percent_of_equity"||I==="%")this.max_drawdown_risk_percent=T;else this.max_drawdown_risk=T}riskMaxConsLossDays(T){if(T==null||!E(T))return;let L=Math.trunc(T);if(L<0)return;this.max_cons_loss_days=L}riskMaxIntradayLoss(T){if(T==null||!E(T)||T<0)return;this.max_intraday_loss=T}riskMaxIntradayFilledOrders(T){if(T==null||!E(T))return;let L=Math.trunc(T);if(L<0)return;this.max_intraday_filled_orders=L}noteClosedTradeDay(T,L){if(!E(T)||!E(L))return;let I=yT(T);if(this.lastTradeDay==null||I!==this.lastTradeDay){if(this.lastTradeDay!=null){if(this.dayPnl<0)this.consecutive_loss_days+=1;else if(this.dayPnl>0)this.consecutive_loss_days=0}this.lastTradeDay=I,this.dayPnl=0}if(this.dayPnl+=L,this.max_cons_loss_days!=null&&this.consecutive_loss_days>=this.max_cons_loss_days)this.entries_blocked=!0;if(Number.isFinite(this.max_intraday_loss)&&this.max_intraday_loss<Number.POSITIVE_INFINITY&&this.initialCapital>0&&this.dayPnl<0){if(100*-this.dayPnl/this.initialCapital>=this.max_intraday_loss)this.entries_blocked=!0}}entry(T,L,I,_){let R={type:"entry",id:String(L??""),direction:h2(I),bar:E(T)?T:0};if(_!==void 0)R.qty=_;this.events.push(R)}close(T,L){this.events.push({type:"close",id:String(L??""),bar:E(T)?T:0})}exit(T,L){this.events.push({type:"exit",id:String(L??""),bar:E(T)?T:0})}cancel(T,L){this.dropPending(String(L??"")),this.events.push({type:"cancel",id:String(L??""),bar:E(T)?T:0})}closeAll(T,L){let I=E(T)?T:0;if(this.dropPending(),E(L)&&this.position.qty!==0)this.flattenAt(I,"close_all",L);this.events.push({type:"close_all",id:"",bar:I})}cancelAll(T){this.dropPending(),this.events.push({type:"cancel_all",id:"",bar:E(T)?T:0})}placeEntry(T,L,I,_,R){let $=CT(R?.limit),G=CT(R?.stop);if($==null&&G==null){if(E(R?.price)){let z=h2(I),X=E(R?.time)?R.time:T;if(this.updateEquityExtremes(R.price),!this.riskAllowsEntry(z,X))return;this.fillEntry(T,L,I,_,R.price,R)}else this.entry(T,L,I,_);return}let Q=h2(I),U=E(_)?Math.abs(_):Number.NaN,O=E(T)?T:0,J=String(L??"");if(this.entry(O,J,Q,E(U)?U:_),!E(U)||U===0)return;let D={id:J,direction:Q,qty:U,limit:$,stop:G,bar:O},B=R?.oca_name==null||R.oca_name===""?void 0:String(R.oca_name),H=kI(R?.oca_type);if(B!==void 0)D.oca_name=B;if(H!=="none")D.oca_type=H;this.upsertPending(D)}order(T,L,I,_,R){this.placeEntry(T,L,I,_,R)}processPending(T,L){if(this.pending.length===0||L==null)return[];if(!(E(L.open)||E(L.high)||E(L.low)||E(L.close)))return[];let _=E(T)?T:0,R=E(L.close)?L.close:E(L.open)?L.open:E(L.high)?L.high:L.low,$=E(L.open)?L.open:R,G=E(L.high)?L.high:Math.max($,R),Q=E(L.low)?L.low:Math.min($,R),U=[];for(let O of this.pending.slice()){if(!this.pending.some((B)=>B.id===O.id))continue;let J=qI(O,$,G,Q);if(J==null)continue;if(this.dropPending(O.id),this.applyEntryFill(_,O.id,O.direction,O.qty,J,!1)){let B=Math.abs(this.fills.at(-1)?.qty??O.qty);this.ocaAfterFill(O,B,_),this.events.push({type:"fill",id:O.id,direction:O.direction,qty:B,bar:_}),U.push(O.id)}}return U}fillEntry(T,L,I,_,R,$){this.applyEntryFill(T,L,I,_,R,!0,$)}fillClose(T,L,I,_){this.ensureSanePosition();let R=E(T)?T:0,$=String(L??"");if(this.position.qty!==0){if(!E(I))return;this.flattenAt(R,$,I,_?.time)}this.close(R,$)}applyEntryFill(T,L,I,_,R,$,G){if(this.ensureSanePosition(),!E(_)||_===0||!E(R))return!1;let Q=Math.abs(_);if(!E(Q)||Q===0)return!1;let U=h2(I),O=E(T)?T:0,J=String(L??""),D=E(G?.time)?G.time:O;if(this.updateEquityExtremes(R),!this.riskAllowsEntry(U,D))return!1;let B=this.capQtyByMaxPosition(Q,R);if(!E(B)||B<=0)return!1;let H=U==="long"?B:-B;if(this.position.qty!==0&&Math.sign(this.position.qty)!==Math.sign(H)){if(!this.flattenAt(O,J,R,G?.time))return!1;this.close(O,J)}else if(this.position.qty!==0&&this.pyramiding!==void 0&&this.sameDirAdds>=this.pyramiding)return!1;if(this.position.qty!==0)this.sameDirAdds++;else this.sameDirAdds=0;if(this.addPosition(O,J,H,R,G),this.noteFilledOrder(D),this.updateEquityExtremes(R),$)this.entry(O,J,U,B);return!0}upsertPending(T){let L=this.pending.findIndex((I)=>I.id===T.id);if(L>=0)this.pending[L]=T;else this.pending.push(T)}dropPending(T){if(T===void 0){this.pending.length=0;return}for(let L=this.pending.length-1;L>=0;L--)if(this.pending[L].id===T)this.pending.splice(L,1)}addPosition(T,L,I,_,R){if(!E(I)||I===0||!E(_))return;let $=this.position.qty,G=Math.abs($),Q=Math.abs(I),U=I>0?"buy":"sell",O=this.recordFill(T,L,U,Q,_);if(!E(O))return;let J=this.fillFee(Q,O),D=this.position.avgPrice;this.position.avgPrice=G===0||!E(D)?O:(D*G+O*Q)/(G+Q);let B=$+I;if(this.position.qty=E(B)&&B!==0?B:0,this.position.qty===0){this.position.avgPrice=null;return}let H=this.position.qty>0?"long":"short";this.notePositionSize();let z=R?.comment!=null?String(R.comment):void 0,X=E(R?.time)?R.time:void 0;if(G===0||this.openTrades.length===0){this.openTrades.length=0;let C={id:L,direction:H,qty:Math.abs(this.position.qty),entryBar:T,entryPrice:this.position.avgPrice??O,commission:J};if(X!==void 0)C.entryTime=X;if(z!==void 0)C.comment=z;this.openTrades.push(C);return}let k=this.openTrades[0];k.qty=Math.abs(this.position.qty),k.entryPrice=this.position.avgPrice??O,k.commission+=J}flattenAt(T,L,I,_){let R=this.position.qty;if(R===0||!E(R)||!E(I))return!1;let $=R>0?"sell":"buy",G=Math.abs(R),Q=this.recordFill(T,L,$,G,I);if(!E(Q))return!1;let U=this.position.avgPrice,O=E(U)?U:Q,J=R*(Q-O);if(E(J))this.realizedPnl+=J;let D=E(_)?_:T;return this.closeOpenTrades(T,L,Q,G,R>0?"long":"short",O,D),this.position.qty=0,this.position.avgPrice=null,this.sameDirAdds=0,this.closedCount+=1,this.noteFilledOrder(D),this.updateEquityExtremes(Q),!0}ensureSanePosition(){let T=this.position.qty,L=this.position.avgPrice;if(!E(T)||T!==0&&!E(L))this.position.qty=0,this.position.avgPrice=null,this.sameDirAdds=0,this.openTrades.length=0}closeOpenTrades(T,L,I,_,R,$,G){if(this.openTrades.length===0&&_>0)this.openTrades.push({id:L,direction:R,qty:_,entryBar:T,entryPrice:$,commission:0});let Q=this.openTrades.reduce((O,J)=>O+J.qty,0),U=this.fillFee(_,I);for(let O of this.openTrades){let J=Q>0?O.qty/Q:1,D=U*J,B=this.markProfit(O,I)-D,H={id:O.id,direction:O.direction,qty:O.qty,entryBar:O.entryBar,entryPrice:O.entryPrice,exitBar:T,exitPrice:I,profit:B,commission:O.commission+D};if(O.entryTime!==void 0)H.entryTime=O.entryTime;if(O.comment!==void 0)H.comment=O.comment;if(O.max_runup!==void 0)H.max_runup=O.max_runup;if(O.max_drawdown!==void 0)H.max_drawdown=O.max_drawdown;this.closedTrades.push(H),this.noteClosedProfit(B),this.noteClosedTradeDay(E(G)?G:T,B)}this.openTrades.length=0}noteClosedProfit(T){if(!E(T))return;if(T>0)this.grossprofit+=T,this.wintrades+=1;else if(T<0)this.grossloss+=-T,this.losstrades+=1;else this.eventrades+=1}markProfit(T,L){return(T.direction==="long"?1:-1)*(L-T.entryPrice)*T.qty-T.commission}fillFee(T,L){let I=E(this.commission)?this.commission:0,_=Math.abs(T)*Math.abs(L)*I;return E(_)?_:0}pickTrade(T,L){if(!E(L)||!Number.isInteger(L)||L<0||L>=T.length)return null;return T[L]??null}riskAllowsEntry(T,L){let I=(this.allow_entry_in||"all").toLowerCase().replace(/strategy\./g,"");if(I==="long"&&T!=="long")return!1;if(I==="short"&&T!=="short")return!1;if(this.entries_blocked)return!1;if(this.max_drawdown_risk!=null&&this.maxDrawdownAbs>=this.max_drawdown_risk)return this.entries_blocked=!0,!1;if(this.max_drawdown_risk_percent!=null&&this.maxDdPercent>=this.max_drawdown_risk_percent)return this.entries_blocked=!0,!1;if(this.max_cons_loss_days!=null&&this.consecutive_loss_days>=this.max_cons_loss_days)return this.entries_blocked=!0,!1;if(Number.isFinite(this.max_intraday_loss)&&this.max_intraday_loss<Number.POSITIVE_INFINITY&&this.initialCapital>0&&this.dayPnl<0){if(100*-this.dayPnl/this.initialCapital>=this.max_intraday_loss)return this.entries_blocked=!0,!1}if(this.max_intraday_filled_orders!=null){if(this.rollFillDay(L),this.dayFilledOrders>=this.max_intraday_filled_orders)return!1}return!0}capQtyByMaxPosition(T,L){let I=this.max_position_size_percent;if(I==null||I<=0||!E(L)||L<=0)return T;let R=this.equity(L)*(I/100)/L;if(!E(R)||R<0)return 0;return Math.min(T,R)}updateEquityExtremes(T){this.equity(T)}trackEquityCurve(T){if(!E(T))return;if(T>this.equityPeak)this.equityPeak=T;if(T<this.equityTrough)this.equityTrough=T;let L=this.equityPeak-T;if(L>this.maxDrawdownAbs){if(this.maxDrawdownAbs=L,this.equityPeak>0)this.maxDdPercent=100*L/this.equityPeak}let I=T-this.equityTrough;if(I>this.maxRunupAbs){if(this.maxRunupAbs=I,this.equityTrough>0)this.maxRuPercent=100*I/this.equityTrough}}pctOfInitial(T){let L=this.initialCapital;if(!E(L)||L<=0||!E(T))return 0;return 100*T/L}notePositionSize(){let T=Math.abs(this.position.qty);if(!E(T)||T===0)return;if(T>this.maxHeldAll)this.maxHeldAll=T;if(this.position.qty>0&&T>this.maxHeldLong)this.maxHeldLong=T;if(this.position.qty<0&&T>this.maxHeldShort)this.maxHeldShort=T}rollFillDay(T){let L=yT(E(T)?T:0);if(this.fillsDay==null||L!==this.fillsDay)this.fillsDay=L,this.dayFilledOrders=0}noteFilledOrder(T){this.rollFillDay(T),this.dayFilledOrders+=1}ocaAfterFill(T,L,I){let _=T.oca_name,R=T.oca_type??"none";if(!_||R==="none")return;for(let $ of this.pending.slice()){if($.id===T.id||$.oca_name!==_)continue;if(R==="cancel")this.dropPending($.id),this.events.push({type:"cancel",id:$.id,bar:I});else if(R==="reduce"){if($.qty=Math.max(0,$.qty-L),$.qty<=0.000000000001)this.dropPending($.id),this.events.push({type:"cancel",id:$.id,bar:I})}}}recordFill(T,L,I,_,R){let $=E(this.slippage)?this.slippage:0,G=I==="buy"?R+$:R-$;if(!E(G)||!E(_)||_===0)return Number.NaN;this.fills.push({bar:T,id:L,side:I,qty:_,price:G});let Q=E(this.commission)?this.commission:0,U=Math.abs(_)*Math.abs(G)*Q;if(E(U))this.commissionPaid+=U;return G}}function w2(T){if(typeof T==="string")return`s:${T}`;if(typeof T==="number"&&Number.isFinite(T))return`n:${Object.is(T,-0)?0:T}`;return null}function bT(T){return T.startsWith("s:")?T.slice(2):Number(T.slice(2))}class V1{data=new Map;order=[];size(){return this.data.size}put(T,L){let I=w2(T);if(I==null)return;if(!this.data.has(I))this.order.push(I);this.data.set(I,L)}get(T){let L=w2(T);if(L==null)return null;return this.data.has(L)?this.data.get(L):null}contains(T){let L=w2(T);return L!=null&&this.data.has(L)}remove(T){let L=w2(T);if(L==null||!this.data.has(L))return null;let I=this.data.get(L);this.data.delete(L);let _=this.order.indexOf(L);if(_>=0)this.order.splice(_,1);return I}clear(){this.data.clear(),this.order.length=0}keys(){return this.order.map(bT)}values(){return this.order.map((T)=>this.data.get(T))}copy(){let T=new V1;for(let L of this.order)T.put(bT(L),this.data.get(L));return T}putAll(T){if(!(T instanceof V1))return;let L=T.keys(),I=T.values();for(let _=0;_<L.length;_++)this.put(L[_],I[_])}}function E0(T,L){if(!Number.isFinite(T))return null;let I=Math.trunc(T);if(I<0||I>=L)return null;return I}function hT(T){if(!Number.isFinite(T)||T<0)return 0;return Math.min(Math.trunc(T),1e6)}function B6(T,L){if(T<=0||L<=0)return!0;return L<=Math.floor(1e6/T)}function wT(T,L){let I=[],_=T??[];for(let R=0;R<L;R++)I.push(R<_.length?_[R]:null);return I}function a5(T){let L=[];for(let I=0;I<T.length;I++)L.push(T[I].slice());return L}function A2(T,L,I,_){let R=T+_,$=T*_-L*I,G=R*R-4*$;if(G>=0){let U=Math.sqrt(G);return[(R+U)/2,(R-U)/2]}let Q=R/2;return[Q,Q]}function MI(T,L,I,_){if((T-_)*(T-_)+4*L*I<0)return _;let[R,$]=A2(T,L,I,_);return Math.abs(R-_)<Math.abs($-_)?R:$}function EI(T){let L=T.length,I=T[0].length,_=a5(T),R=[];for(let Q=0;Q<I;Q++){let U=[];for(let O=0;O<I;O++)U.push(Q===O?1:0);R.push(U)}for(let Q=0;Q<50;Q++){let U=!1;for(let O=0;O<I-1;O++)for(let J=O+1;J<I;J++){let D=0,B=0,H=0;for(let d=0;d<L;d++){let J0=_[d][O],X0=_[d][J];D+=J0*J0,B+=X0*X0,H+=J0*X0}if(!Number.isFinite(D)||!Number.isFinite(B)||!Number.isFinite(H))return null;let z=0.000000000000001*Math.sqrt(Math.max(D*B,0));if(Math.abs(H)<=z)continue;U=!0;let X=(B-D)/(2*H),k=(X>=0?1:-1)/(Math.abs(X)+Math.hypot(1,X)),C=1/Math.sqrt(1+k*k),u=C*k;for(let d=0;d<L;d++){let J0=_[d][O],X0=_[d][J];_[d][O]=C*J0-u*X0,_[d][J]=u*J0+C*X0}for(let d=0;d<I;d++){let J0=R[d][O],X0=R[d][J];R[d][O]=C*J0-u*X0,R[d][J]=u*J0+C*X0}}if(!U)break}let $=[],G=[];for(let Q=0;Q<L;Q++){let U=[];for(let O=0;O<I;O++)U.push(0);G.push(U)}for(let Q=0;Q<I;Q++){let U=0;for(let O=0;O<L;O++)U+=_[O][Q]*_[O][Q];if(U=Math.sqrt(U),!Number.isFinite(U))return null;if($.push(U),U>0)for(let O=0;O<L;O++)G[O][Q]=_[O][Q]/U}return{u:G,s:$,v:R}}function jI(T){let L=T.length;for(let I=0;I<L-2;I++){let _=0;for(let O=I+2;O<L;O++)_+=T[O][I]*T[O][I];if(_<0.000000000000000000000000000001)continue;let R=_+T[I+1][I]*T[I+1][I];if(R=Math.sqrt(R),R<0.000000000000000000000000000001)continue;let $=T[I+1][I],G=($>=0?1:-1)*R,Q=[$+G];for(let O=I+2;O<L;O++)Q.push(T[O][I]);let U=0;for(let O of Q)U+=O*O;if(U=Math.sqrt(U),U<0.000000000000000000000000000001)continue;for(let O=0;O<Q.length;O++)Q[O]/=U;for(let O=I;O<L;O++){let J=0;for(let D=0;D<Q.length;D++)J+=Q[D]*T[I+1+D][O];J*=2;for(let D=0;D<Q.length;D++)T[I+1+D][O]-=J*Q[D]}for(let O=0;O<L;O++){let J=0;for(let D=0;D<Q.length;D++)J+=T[O][I+1+D]*Q[D];J*=2;for(let D=0;D<Q.length;D++)T[O][I+1+D]-=J*Q[D]}T[I+1][I]=-G;for(let O=I+2;O<L;O++)T[O][I]=0}}function CI(T,L,I){let _=[];for(let R=0;R<L;R++)T[R][R]-=I;for(let R=0;R<L-1;R++){let $=T[R][R],G=T[R+1][R],Q=Math.hypot($,G),U=Q>0?$/Q:1,O=Q>0?G/Q:0;_.push({c:U,s:O});for(let J=R;J<L;J++){let D=U*T[R][J]+O*T[R+1][J],B=-O*T[R][J]+U*T[R+1][J];T[R][J]=D,T[R+1][J]=B}}for(let R=0;R<L-1;R++){let{c:$,s:G}=_[R];for(let Q=0;Q<=R+1&&Q<L;Q++){let U=$*T[Q][R]+G*T[Q][R+1],O=-G*T[Q][R]+$*T[Q][R+1];T[Q][R]=U,T[Q][R+1]=O}}for(let R=0;R<L;R++)T[R][R]+=I}function AT(T){let L=T.length;if(L===0)return[];if(L===1){let Q=T[0][0];return Number.isFinite(Q)?[Q]:null}if(L===2){let Q=A2(T[0][0],T[0][1],T[1][0],T[1][1]);if(!Number.isFinite(Q[0])||!Number.isFinite(Q[1]))return null;return[Q[0],Q[1]]}let I=a5(T);jI(I);let _=[],R=L,$=40*L*L,G=0;while(R>0){if(++G>$)return null;if(R===1){let J=I[0][0];if(!Number.isFinite(J))return null;_.push(J);break}if(R===2){let J=A2(I[0][0],I[0][1],I[1][0],I[1][1]);if(!Number.isFinite(J[0])||!Number.isFinite(J[1]))return null;_.push(J[0],J[1]);break}let Q=Math.abs(I[R-1][R-1])+Math.abs(I[R-2][R-2]);if(Math.abs(I[R-1][R-2])<=0.00000000000001*Math.max(1,Q)){let J=I[R-1][R-1];if(!Number.isFinite(J))return null;_.push(J),R--;continue}let U=Math.abs(I[R-2][R-2])+Math.abs(I[R-3][R-3]);if(Math.abs(I[R-2][R-3])<=0.00000000000001*Math.max(1,U)){let J=A2(I[R-2][R-2],I[R-2][R-1],I[R-1][R-2],I[R-1][R-1]);if(!Number.isFinite(J[0])||!Number.isFinite(J[1]))return null;_.push(J[0],J[1]),R-=2;continue}let O=MI(I[R-2][R-2],I[R-2][R-1],I[R-1][R-2],I[R-1][R-1]);if(G%10===0)O+=Math.abs(I[R-1][R-2])+Math.abs(I[R-2][R-3]);if(!Number.isFinite(O))return null;CI(I,R,O);for(let J=0;J<R;J++)for(let D=0;D<J-1;D++)I[J][D]=0}return _}function PI(T){let L=T.length;if(L===0)return[];let I=a5(T),_=0;for(let D=0;D<L;D++)for(let B=0;B<L;B++){let H=I[D][B];if(!Number.isFinite(H))return null;if(Math.abs(H)>_)_=Math.abs(H)}let R=Math.max(0.00000000000001,0.000000000001*_),$=Array(L).fill(-1),G=Array(L).fill(!1),Q=0;for(let D=0;D<L&&Q<L;D++){let B=Q,H=Math.abs(I[Q][D]);for(let X=Q+1;X<L;X++){let k=Math.abs(I[X][D]);if(k>H)H=k,B=X}if(H<R)continue;if(B!==Q){let X=I[Q];I[Q]=I[B],I[B]=X}let z=I[Q][D];for(let X=D;X<L;X++)I[Q][X]/=z;for(let X=0;X<L;X++){if(X===Q)continue;let k=I[X][D];if(k===0)continue;for(let C=D;C<L;C++)I[X][C]-=k*I[Q][C]}$[Q]=D,G[D]=!0,Q++}let U=-1;for(let D=0;D<L;D++)if(!G[D]){U=D;break}if(U<0)return null;let O=Array(L).fill(0);O[U]=1;for(let D=L-1;D>=0;D--){let B=$[D];if(B<0)continue;let H=0;for(let z=0;z<L;z++){if(z===B)continue;H+=I[D][z]*O[z]}O[B]=-H}let J=0;for(let D of O){if(!Number.isFinite(D))return null;J+=D*D}if(J=Math.sqrt(J),!(J>R))return null;for(let D=0;D<L;D++)O[D]/=J;return O}class e{cells=[];nRows;nCols;constructor(T,L,I){let _=hT(T),R=hT(L);if(_>0&&R>Math.floor(1e6/_))_=0,R=0;this.nRows=_,this.nCols=R;let $=I===void 0?null:I;for(let G=0;G<this.nRows;G++){let Q=[];for(let U=0;U<this.nCols;U++)Q.push($);this.cells.push(Q)}}rows(){return this.nRows}columns(){return this.nCols}get(T,L){let I=E0(T,this.nRows),_=E0(L,this.nCols);if(I===null||_===null)return null;return this.cells[I][_]}set(T,L,I){let _=E0(T,this.nRows),R=E0(L,this.nCols);if(_===null||R===null)return;this.cells[_][R]=I}fill(T){for(let L=0;L<this.nRows;L++){let I=this.cells[L];for(let _=0;_<this.nCols;_++)I[_]=T}}transpose(){let T=new e(this.nCols,this.nRows);for(let L=0;L<this.nRows;L++)for(let I=0;I<this.nCols;I++)T.set(I,L,this.cells[L][I]);return T}row(T){let L=E0(T,this.nRows);return L===null?[]:this.cells[L].slice()}col(T){let L=E0(T,this.nCols);if(L===null)return[];let I=[];for(let _=0;_<this.nRows;_++)I.push(this.cells[_][L]);return I}copy(){let T=new e(this.nRows,this.nCols);for(let L=0;L<this.nRows;L++)for(let I=0;I<this.nCols;I++)T.set(L,I,this.cells[L][I]);return T}elementsCount(){return this.nRows*this.nCols}isSquare(){return this.nRows===this.nCols&&this.nRows>0}sum(){let T=this.finiteAll();if(T===null)return null;let L=0;for(let I of T)L+=I;return L}avg(){let T=this.finiteAll();if(T===null||T.length===0)return null;let L=0;for(let I of T)L+=I;return L/T.length}min(){let T=this.finiteAll();if(T===null||T.length===0)return null;let L=T[0];for(let I of T)if(I<L)L=I;return L}max(){let T=this.finiteAll();if(T===null||T.length===0)return null;let L=T[0];for(let I of T)if(I>L)L=I;return L}trace(){if(!this.isSquare())return null;let T=0;for(let L=0;L<this.nRows;L++){let I=this.cells[L][L];if(I===null||!Number.isFinite(I))return null;T+=I}return T}det(){if(!this.isSquare())return null;let T=this.nRows;if(T===0)return null;let L=[];for(let R=0;R<T;R++){let $=[];for(let G=0;G<T;G++){let Q=this.cells[R][G];if(Q===null||!Number.isFinite(Q))return null;$.push(Q)}L.push($)}if(T===1)return L[0][0];if(T===2){let R=L[0][0]*L[1][1]-L[0][1]*L[1][0];return Number.isFinite(R)?R:null}let I=1;for(let R=0;R<T;R++){let $=R,G=Math.abs(L[R][R]);for(let U=R+1;U<T;U++){let O=Math.abs(L[U][R]);if(O>G)G=O,$=U}if(G===0)return 0;if($!==R){let U=L[R];L[R]=L[$],L[$]=U,I=-I}let Q=L[R][R];for(let U=R+1;U<T;U++){let O=L[U][R]/Q;for(let J=R;J<T;J++)L[U][J]-=O*L[R][J]}}let _=I;for(let R=0;R<T;R++)_*=L[R][R];return Number.isFinite(_)?_:null}mult(T){if(typeof T==="number"){if(!Number.isFinite(T))return null;let R=new e(this.nRows,this.nCols);for(let $=0;$<this.nRows;$++)for(let G=0;G<this.nCols;G++){let Q=this.cells[$][G];if(Q===null||!Number.isFinite(Q)){R.set($,G,null);continue}let U=Q*T;R.set($,G,Number.isFinite(U)?U:null)}return R}if(this.nCols!==T.nRows)return null;let L=this.asFiniteGrid(),I=T.asFiniteGrid();if(L===null||I===null)return null;let _=new e(this.nRows,T.nCols,0);for(let R=0;R<this.nRows;R++)for(let $=0;$<T.nCols;$++){let G=0;for(let Q=0;Q<this.nCols;Q++)G+=L[R][Q]*I[Q][$];if(!Number.isFinite(G))return null;_.set(R,$,G)}return _}inv(){if(this.nRows!==this.nCols)return null;let T=this.nRows;if(T===0)return new e(0,0);let L=this.asFiniteGrid();if(L===null)return null;let I=[];for(let $=0;$<T;$++){let G=L[$].slice();for(let Q=0;Q<T;Q++)G.push($===Q?1:0);I.push(G)}let _=0.000000000001;for(let $=0;$<T;$++){let G=$,Q=Math.abs(I[$][$]);for(let O=$+1;O<T;O++){let J=Math.abs(I[O][$]);if(J>Q)Q=J,G=O}if(Q<_)return null;if(G!==$){let O=I[$];I[$]=I[G],I[G]=O}let U=I[$][$];for(let O=0;O<2*T;O++)I[$][O]/=U;for(let O=0;O<T;O++){if(O===$)continue;let J=I[O][$];if(J===0)continue;for(let D=0;D<2*T;D++)I[O][D]-=J*I[$][D]}}let R=new e(T,T,0);for(let $=0;$<T;$++)for(let G=0;G<T;G++){let Q=I[$][T+G];if(!Number.isFinite(Q))return null;R.set($,G,Q)}return R}pow(T){if(this.nRows!==this.nCols)return null;if(!Number.isFinite(T))return null;let L=Math.trunc(T);if(L===0)return e.eye(this.nRows);if(L<0){let $=this.inv();return $===null?null:$.pow(-L)}if(this.asFiniteGrid()===null)return null;let I=e.eye(this.nRows),_=this.copy(),R=L;while(R>0){if(R%2===1){if(I=I.mult(_),I===null)return null}if(R=Math.trunc(R/2),R>0){if(_=_.mult(_),_===null)return null}}return I}kron(T){let L=this.asFiniteGrid(),I=T.asFiniteGrid();if(L===null||I===null)return null;let{nRows:_,nCols:R}=T,$=new e(this.nRows*_,this.nCols*R,0);for(let G=0;G<this.nRows;G++)for(let Q=0;Q<this.nCols;Q++){let U=L[G][Q];for(let O=0;O<_;O++)for(let J=0;J<R;J++){let D=U*I[O][J];$.set(G*_+O,Q*R+J,Number.isFinite(D)?D:null)}}return $}isZero(){for(let T=0;T<this.nRows;T++)for(let L=0;L<this.nCols;L++){let I=this.cells[T][L];if(I===null)continue;if(I!==0)return!1}return!0}isIdentity(){if(this.nRows!==this.nCols)return!1;for(let T=0;T<this.nRows;T++)for(let L=0;L<this.nCols;L++){let I=T===L?1:0,_=this.cells[T][L];if(_===null||_!==I)return!1}return!0}isDiagonal(){if(this.nRows!==this.nCols)return!1;for(let T=0;T<this.nRows;T++)for(let L=0;L<this.nCols;L++){if(T===L)continue;let I=this.cells[T][L];if(I!==null&&I!==0)return!1}return!0}isSymmetric(){if(this.nRows!==this.nCols)return!1;for(let T=0;T<this.nRows;T++)for(let L=T+1;L<this.nCols;L++)if(this.cells[T][L]!==this.cells[L][T])return!1;return!0}isAntisymmetric(){if(this.nRows!==this.nCols)return!1;for(let T=0;T<this.nRows;T++)for(let L=0;L<this.nCols;L++){let I=this.cells[T][L],_=this.cells[L][T];if(T===L){if(I!==null&&I!==0)return!1;continue}if(I!==null&&_!==null){if(I!==-_)return!1}else if(I!==_)return!1}return!0}isTriangular(){if(this.nRows!==this.nCols)return!1;let T=!0,L=!0;for(let I=0;I<this.nRows;I++)for(let _=0;_<this.nCols;_++){let R=this.cells[I][_],$=R!==null&&R!==0;if(I>_&&$)T=!1;if(I<_&&$)L=!1}return T||L}swapRows(T,L){let I=E0(T,this.nRows),_=E0(L,this.nRows);if(I===null||_===null||I===_)return;let R=this.cells[I];this.cells[I]=this.cells[_],this.cells[_]=R}swapColumns(T,L){let I=E0(T,this.nCols),_=E0(L,this.nCols);if(I===null||_===null||I===_)return;for(let R of this.cells){let $=R[I];R[I]=R[_],R[_]=$}}addRow(T,L){let I=this.nRows===0&&this.nCols===0,_=I?L?.length??0:this.nCols;if(!B6(this.nRows+1,_))return;if(T!==void 0){if(!Number.isFinite(T))return;if(Math.trunc(T)<0)return}let R=wT(L,_);if(I)this.nCols=_;let $=T===void 0?this.nRows:Math.trunc(T);if($>=this.nRows)this.cells.push(R);else this.cells.splice($,0,R);this.nRows+=1}addCol(T,L){if(this.nRows===0&&this.nCols===0){let R=L?.length??0;if(!B6(R,R===0?0:1))return;for(let $ of L??[])this.cells.push([$]);this.nRows=R,this.nCols=R===0?0:1;return}if(!B6(this.nRows,this.nCols+1))return;if(T!==void 0){if(!Number.isFinite(T))return;if(Math.trunc(T)<0)return}let I=wT(L,this.nRows),_=T===void 0?this.nCols:Math.min(Math.trunc(T),this.nCols);for(let R=0;R<this.nRows;R++)this.cells[R].splice(_,0,I[R]);this.nCols+=1}removeRow(T){let L=E0(T,this.nRows);if(L===null)return;this.cells.splice(L,1),this.nRows-=1}removeCol(T){let L=E0(T,this.nCols);if(L===null)return;for(let I of this.cells)I.splice(L,1);this.nCols-=1}reshape(T,L){if(!Number.isFinite(T)||!Number.isFinite(L))return null;let I=Math.trunc(T),_=Math.trunc(L);if(I<0||_<0)return null;if(I*_!==this.nRows*this.nCols)return null;if(!B6(I,_))return null;let R=this.flatten(),$=new e(I,_);for(let G=0;G<I;G++)for(let Q=0;Q<_;Q++)$.set(G,Q,R[G*_+Q]);return $}concat(T){if(this.nCols!==T.nCols)return null;let L=this.nRows+T.nRows,I=this.nCols;if(!B6(L,I))return null;let _=new e(L,I);for(let R=0;R<this.nRows;R++)for(let $=0;$<I;$++)_.set(R,$,this.cells[R][$]);for(let R=0;R<T.nRows;R++)for(let $=0;$<I;$++)_.set(this.nRows+R,$,T.cells[R][$]);return _}submatrix(T,L,I,_){if(!Number.isFinite(T)||!Number.isFinite(L)||!Number.isFinite(I)||!Number.isFinite(_))return null;let R=Math.trunc(T),$=Math.trunc(L),G=Math.trunc(I),Q=Math.trunc(_);if(!(0<=R&&R<=$&&$<=this.nRows))return null;if(!(0<=G&&G<=Q&&Q<=this.nCols))return null;let U=new e($-R,Q-G);for(let O=R;O<$;O++)for(let J=G;J<Q;J++)U.set(O-R,J-G,this.cells[O][J]);return U}reverse(){this.cells.reverse();for(let T of this.cells)T.reverse()}sort(T=0,L="asc"){if(this.nRows===0)return;let I=E0(T,this.nCols);if(I===null)return;let _=L==="desc",R=[],$=[];for(let G of this.cells){let Q=G[I];if(Q===null||!Number.isFinite(Q))$.push(G);else R.push(G)}R.sort((G,Q)=>{let U=G[I]-Q[I];return _?-U:U}),this.cells.length=0;for(let G of R)this.cells.push(G);for(let G of $)this.cells.push(G)}median(){let T=[];for(let I=0;I<this.nRows;I++)for(let _=0;_<this.nCols;_++){let R=this.cells[I][_];if(R!==null&&Number.isFinite(R))T.push(R)}if(T.length===0)return null;T.sort((I,_)=>I-_);let L=Math.floor(T.length/2);if(T.length%2===1)return T[L];return(T[L-1]+T[L])/2}mode(){let T=new Map,L=null,I=0;for(let _=0;_<this.nRows;_++)for(let R=0;R<this.nCols;R++){let $=this.cells[_][R];if($===null||!Number.isFinite($))continue;let G=(T.get($)??0)+1;if(T.set($,G),G>I)L=$,I=G}return L}isBinary(){for(let T=0;T<this.nRows;T++)for(let L=0;L<this.nCols;L++){let I=this.cells[T][L];if(I!==0&&I!==1)return!1}return!0}isStochastic(){for(let T=0;T<this.nRows;T++){let L=0;for(let I=0;I<this.nCols;I++){let _=this.cells[T][I];if(_===null||!Number.isFinite(_)||_<0)return!1;L+=_}if(Math.abs(L-1)>0.000000001)return!1}return!0}isAntidiagonal(){if(this.nRows!==this.nCols)return!1;let T=this.nRows;for(let L=0;L<T;L++)for(let I=0;I<T;I++){if(L+I===T-1)continue;let _=this.cells[L][I];if(_!==null&&_!==0)return!1}return!0}diff(T){if(this.nRows!==T.nRows||this.nCols!==T.nCols)return null;let L=new e(this.nRows,this.nCols);for(let I=0;I<this.nRows;I++)for(let _=0;_<this.nCols;_++){let R=this.cells[I][_],$=T.cells[I][_];if(R===null||$===null||!Number.isFinite(R)||!Number.isFinite($)){L.set(I,_,null);continue}let G=R-$;L.set(I,_,Number.isFinite(G)?G:null)}return L}rank(){if(this.nRows===0||this.nCols===0)return 0;let T=this.asFiniteGrid();if(T===null)return null;let L=this.nRows,I=this.nCols,_=[];for(let G=0;G<L;G++)_.push(T[G].slice());let R=0.000000000001,$=0;for(let G=0;G<I&&$<L;G++){let Q=$,U=Math.abs(_[$][G]);for(let J=$+1;J<L;J++){let D=Math.abs(_[J][G]);if(D>U)U=D,Q=J}if(U<R)continue;if(Q!==$){let J=_[$];_[$]=_[Q],_[Q]=J}let O=_[$][G];for(let J=$+1;J<L;J++){let D=_[J][G]/O;for(let B=G;B<I;B++)_[J][B]-=D*_[$][B]}$++}return $}pinv(){if(this.nRows===0||this.nCols===0)return new e(this.nCols,this.nRows);let T=this.asFiniteGrid();if(T===null)return null;let L=EI(T);if(L===null)return null;let{u:I,s:_,v:R}=L,$=this.nRows,G=this.nCols,Q=0;for(let D of _){if(!Number.isFinite(D))return null;if(D>Q)Q=D}let U=0.000000000001*Q*Math.max($,G),O=[];for(let D of _)O.push(D>U?1/D:0);let J=new e(G,$,0);for(let D=0;D<G;D++)for(let B=0;B<$;B++){let H=0;for(let z=0;z<G;z++)H+=R[D][z]*O[z]*I[B][z];if(!Number.isFinite(H))return null;J.set(D,B,H)}return J}eigenvalues(){if(this.nRows!==this.nCols)return null;if(this.nRows===0)return[];let T=this.asFiniteGrid();if(T===null)return null;return AT(T)}eigenvectors(){if(this.nRows!==this.nCols)return null;if(this.nRows===0)return new e(0,0);let T=this.asFiniteGrid();if(T===null)return null;let L=AT(T);if(L===null)return null;let I=this.nRows,_=new e(I,I,0);for(let R=0;R<I;R++){let $=L[R],G=[];for(let U=0;U<I;U++){let O=T[U].slice();O[U]-=$,G.push(O)}let Q=PI(G);if(Q===null)return null;for(let U=0;U<I;U++){let O=Q[U];if(!Number.isFinite(O))return null;_.set(U,R,O)}}return _}static eye(T){let L=new e(T,T,0);for(let I=0;I<T;I++)L.set(I,I,1);return L}asFiniteGrid(){let T=[];for(let L=0;L<this.nRows;L++){let I=[];for(let _=0;_<this.nCols;_++){let R=this.cells[L][_];if(R===null||!Number.isFinite(R))return null;I.push(R)}T.push(I)}return T}finiteAll(){let T=[];for(let L=0;L<this.nRows;L++)for(let I=0;I<this.nCols;I++){let _=this.cells[L][I];if(_===null||!Number.isFinite(_))return null;T.push(_)}return T}flatten(){let T=[];for(let L=0;L<this.nRows;L++)for(let I=0;I<this.nCols;I++)T.push(this.cells[L][I]);return T}}function j(T){return T!==null&&Number.isFinite(T)?T:null}var NI=0.000000001;function m(T){if(!Number.isFinite(T)||T<=0)return null;let L=Math.round(T),I=Math.abs(T-L)<=NI?L:Math.floor(T);return I>0?I:null}function uT(T,L,I){let _=1/I;if(!T.started){if(L===null)return null;T.started=!0}if(!T.seeded){if(L!==null)T.seedBuf.push(L);if(T.seedBuf.length<I)return null;let R=T.seedBuf.reduce(($,G)=>$+G,0)/I;return T.rma=R,T.seeded=!0,T.seedBuf=[],R}if(L===null)return T.rma;return T.rma=_*L+(1-_)*(T.rma??L),T.rma}class u2{smaSites=new Map;emaSites=new Map;rmaSites=new Map;atrSites=new Map;rsiSites=new Map;trSites=new Map;highestSites=new Map;lowestSites=new Map;stdevSites=new Map;changeSites=new Map;wmaSites=new Map;sumSites=new Map;rocSites=new Map;vwmaSites=new Map;cciSites=new Map;crossoverSites=new Map;crossunderSites=new Map;linregSites=new Map;vwapSites=new Map;risingSites=new Map;fallingSites=new Map;almaSites=new Map;cmoSites=new Map;kamaSites=new Map;obvSites=new Map;pivotHighSites=new Map;pivotLowSites=new Map;mfiSites=new Map;sarSites=new Map;adxSites=new Map;dmiSites=new Map;correlationSites=new Map;highestBarsSites=new Map;lowestBarsSites=new Map;swmaSites=new Map;cogSites=new Map;tsiSites=new Map;devSites=new Map;varianceSites=new Map;medianSites=new Map;modeSites=new Map;percentrankSites=new Map;percentileNearestSites=new Map;percentileLinearSites=new Map;cumSites=new Map;barssinceSites=new Map;valuewhenSites=new Map;accdistSites=new Map;pvtSites=new Map;wadSites=new Map;nviSites=new Map;pviSites=new Map;wvadSites=new Map;sma(T,L,I){let _=m(I);if(_===null)return null;let R=this.smaSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[],sum:0,count:0},this.smaSites.set(T,R);let $=j(L);if(R.window.length===_){let G=R.window.shift();if(G!==null)R.sum-=G,R.count-=1}if(R.window.push($),$!==null)R.sum+=$,R.count+=1;if(R.window.length<_||R.count!==_)return null;return R.sum/_}ema(T,L,I){let _=m(I);if(_===null)return null;let R=this.emaSites.get(T);if(R===void 0||R.period!==_)R={period:_,ema:null,seeded:!1,seedBuf:[]},this.emaSites.set(T,R);let $=j(L),G=2/(_+1);if(!R.seeded){if($===null)return null;if(R.seedBuf.push($),R.seedBuf.length<_)return null;let Q=R.seedBuf.reduce((U,O)=>U+O,0)/_;return R.ema=Q,R.seeded=!0,R.seedBuf=[],Q}if($===null)return R.ema;return R.ema=R.ema==null?$:G*$+(1-G)*R.ema,R.ema}rma(T,L,I){let _=m(I);if(_===null)return null;let R=this.rmaSites.get(T);if(R===void 0||R.period!==_)R={period:_,rma:null,seeded:!1,started:!1,seedBuf:[]},this.rmaSites.set(T,R);return uT(R,j(L),_)}atr(T,L,I,_,R){let $=m(R);if($===null)return null;let G=this.atrSites.get(T);if(G===void 0||G.period!==$)G={period:$,prevClose:null,rma:{period:$,rma:null,seeded:!1,started:!1,seedBuf:[]}},this.atrSites.set(T,G);let Q=G.prevClose;if(G.prevClose=j(_),Q===null)return null;let U=j(L),O=j(I),J=j(_);if(U===null||O===null||J===null)return null;let D=Math.max(U-O,Math.abs(U-Q),Math.abs(O-Q));return uT(G.rma,D,$)}rsi(T,L,I){let _=m(I);if(_===null)return null;let R=this.rsiSites.get(T);if(R===void 0||R.period!==_)R={period:_,prev:null,gainSeed:[],lossSeed:[],avgGain:null,avgLoss:null,seeded:!1},this.rsiSites.set(T,R);let $=j(L);if($===null)return null;let G=R.prev;if(R.prev=$,G===null)return null;let Q=$-G,U=Q>0?Q:0,O=Q<0?-Q:0,J=1/_;if(!R.seeded){if(R.gainSeed.push(U),R.lossSeed.push(O),R.gainSeed.length<_)return null;let B=0,H=0;for(let z=0;z<_;z++)B+=R.gainSeed[z],H+=R.lossSeed[z];R.avgGain=B/_,R.avgLoss=H/_,R.seeded=!0,R.gainSeed=[],R.lossSeed=[]}else R.avgGain=J*U+(1-J)*R.avgGain,R.avgLoss=J*O+(1-J)*R.avgLoss;if(R.avgLoss===0)return 100;return 100-100/(1+R.avgGain/R.avgLoss)}kc(T,L,I,_,R,$){let G=m(R);if(G===null)return{mid:null,up:null,lo:null};let Q=this.ema(`${T}:ema`,_,G),U=this.atr(`${T}:atr`,L,I,_,G);if(Q===null)return{mid:null,up:null,lo:null};let O=(U??0)*$;return{mid:Q,up:Q+O,lo:Q-O}}supertrend(T,L,I,_,R,$){let G=m($),Q=G===null?null:this.atr(`${T}:atr`,L,I,_,G),U=Q===null||!Number.isFinite(Q)?0:Q,O=j(L)??0,J=j(I)??0,D=j(_)??O,B=(O+J)/2,H=B+R*U,z=B-R*U,X=D>=B?-1:1;return{st:X<0?z:H,dir:X}}tr(T,L,I,_){let R=this.trSites.get(T);if(R===void 0)R={prevClose:null},this.trSites.set(T,R);let $=R.prevClose;if(R.prevClose=j(_),$===null)return null;let G=j(L),Q=j(I);if(G===null||Q===null)return null;return Math.max(G-Q,Math.abs(G-$),Math.abs(Q-$))}highest(T,L,I){let _=m(I);if(_===null)return null;let R=this.highestSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[]},this.highestSites.set(T,R);if(R.window.length===_)R.window.shift();if(R.window.push(j(L)),R.window.length<_)return null;let $=null;for(let G of R.window)if(G!==null&&($===null||G>$))$=G;return $}lowest(T,L,I){let _=m(I);if(_===null)return null;let R=this.lowestSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[]},this.lowestSites.set(T,R);if(R.window.length===_)R.window.shift();if(R.window.push(j(L)),R.window.length<_)return null;let $=null;for(let G of R.window)if(G!==null&&($===null||G<$))$=G;return $}stdev(T,L,I){let _=m(I);if(_===null||_<=1)return null;let R=this.stdevSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[],sum:0,sumsq:0,count:0},this.stdevSites.set(T,R);let $=j(L);if(R.window.length===_){let Q=R.window.shift();if(Q!==null)R.sum-=Q,R.sumsq-=Q*Q,R.count-=1}if(R.window.push($),$!==null)R.sum+=$,R.sumsq+=$*$,R.count+=1;if(R.window.length<_||R.count!==_)return null;let G=(R.sumsq-R.sum*R.sum/_)/(_-1);if(G<0)G=0;return Math.sqrt(G)}change(T,L,I=1){if(!Number.isFinite(I)||I<0)return null;let _=Math.trunc(I),R=j(L);if(_===0)return R===null?null:0;let $=this.changeSites.get(T);if($===void 0||$.length!==_)$={length:_,window:[]},this.changeSites.set(T,$);if($.window.length===_+1)$.window.shift();if($.window.push(R),$.window.length<=_)return null;let G=$.window[$.window.length-1],Q=$.window[0];if(G===null||Q===null)return null;return G-Q}wma(T,L,I){let _=m(I);if(_===null)return null;let R=this.wmaSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[]},this.wmaSites.set(T,R);if(R.window.length===_)R.window.shift();if(R.window.push(j(L)),R.window.length<_)return null;let $=0;for(let G=0;G<_;G++){let Q=R.window[G];if(Q==null)return null;$+=Q*(G+1)}return $/(_*(_+1)/2)}crossover(T,L,I){return this.crossStep(this.crossoverSites,T,L,I,!1)}crossunder(T,L,I){return this.crossStep(this.crossunderSites,T,L,I,!0)}macd(T,L,I=12,_=26,R=9){let $=this.ema(`${T}:fast`,L,I),G=this.ema(`${T}:slow`,L,_),Q=$===null||G===null?null:$-G,U=this.ema(`${T}:signal`,Q,R),O=Q!==null&&U!==null&&Number.isFinite(Q)&&Number.isFinite(U)?Q-U:null;return{macd:Q,signal:U,hist:O}}bb(T,L,I,_=2){let R=this.sma(`${T}:sma`,L,I),$=this.stdev(`${T}:stdev`,L,I);if(R===null||$===null)return{mid:null,up:null,lo:null};return{mid:R,up:R+_*$,lo:R-_*$}}sum(T,L,I){let _=m(I);if(_===null)return null;let R=this.sumSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[],sum:0,count:0},this.sumSites.set(T,R);let $=j(L);if(R.window.length===_){let G=R.window.shift();if(G!==null)R.sum-=G,R.count-=1}if(R.window.push($),$!==null)R.sum+=$,R.count+=1;if(R.window.length<_||R.count!==_)return null;return R.sum}roc(T,L,I){if(!Number.isFinite(I)||I<=0)return null;let _=Math.trunc(I),R=j(L);if(_<=0)return null;let $=this.rocSites.get(T);if($===void 0||$.length!==_)$={length:_,window:[]},this.rocSites.set(T,$);if($.window.length===_+1)$.window.shift();if($.window.push(R),$.window.length<=_)return null;let G=$.window[$.window.length-1],Q=$.window[0];if(G===null||Q===null||Q===0)return null;return 100*(G-Q)/Q}mom(T,L,I){return this.change(T,L,I)}vwma(T,L,I,_){let R=m(_);if(R===null)return null;let $=this.vwmaSites.get(T);if($===void 0||$.period!==R)$={period:R,srcWindow:[],volWindow:[],sumPv:0,sumV:0,naCount:0},this.vwmaSites.set(T,$);let G=j(L),Q=j(I);if($.srcWindow.length===R){let U=$.srcWindow.shift(),O=$.volWindow.shift();if(U===null||O===null)$.naCount-=1;else $.sumPv-=U*O,$.sumV-=O}if($.srcWindow.push(G),$.volWindow.push(Q),G===null||Q===null)$.naCount+=1;else $.sumPv+=G*Q,$.sumV+=Q;if($.srcWindow.length<R||$.naCount>0||$.sumV===0)return null;return $.sumPv/$.sumV}cci(T,L,I){let _=m(I);if(_===null)return null;let R=this.cciSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[]},this.cciSites.set(T,R);if(R.window.length===_)R.window.shift();if(R.window.push(j(L)),R.window.length<_)return null;let $=0;for(let O of R.window){if(O==null)return null;$+=O}let G=$/_,Q=0;for(let O of R.window)Q+=Math.abs(O-G);let U=Q/_;if(U===0)return null;return(R.window[_-1]-G)/(0.015*U)}willr(T,L,I,_,R){let $=m(R);if($===null)return null;let G=this.highest(`${T}:hh`,L,$),Q=this.lowest(`${T}:ll`,I,$),U=j(_);if(G===null||Q===null||U===null||G===Q)return null;return-100*(G-U)/(G-Q)}stoch(T,L,I,_,R){let $=m(R);if($===null)return null;let G=this.highest(`${T}:hh`,I,$),Q=this.lowest(`${T}:ll`,_,$),U=j(L);if(G===null||Q===null||U===null||G===Q)return null;return 100*(U-Q)/(G-Q)}linreg(T,L,I,_=0){let R=m(I);if(R===null||R<2)return null;let $=Number.isFinite(_)?Math.trunc(_):0,G=this.linregSites.get(T);if(G===void 0||G.period!==R||G.offset!==$)G={period:R,offset:$,window:[]},this.linregSites.set(T,G);if(G.window.length===R)G.window.shift();if(G.window.push(j(L)),G.window.length<R)return null;let Q=0;for(let H of G.window){if(H==null)return null;Q+=H}let U=(R-1)/2,O=Q/R,J=0,D=0;for(let H=0;H<R;H++){let z=H-U;J+=z*(G.window[H]-O),D+=z*z}if(D===0)return O;let B=J/D;return O+B*(R-1-$-U)}vwap(T,L,I){let _=this.vwapSites.get(T);if(_===void 0)_={cumPv:0,cumV:0,value:null},this.vwapSites.set(T,_);let R=j(L);if(R===null)return _.value;let $=j(I)??0;return _.cumPv+=R*$,_.cumV+=$,_.value=_.cumV!==0?_.cumPv/_.cumV:R,_.value}rising(T,L,I){return this.riseFallStep(this.risingSites,T,L,I,!1)}falling(T,L,I){return this.riseFallStep(this.fallingSites,T,L,I,!0)}riseFallStep(T,L,I,_,R){let $=m(_);if($===null)return 0;let G=T.get(L);if(G===void 0||G.length!==$)G={length:$,prev:null,streak:0,started:!1},T.set(L,G);let Q=j(I);if(!G.started)return G.prev=Q,G.started=!0,G.streak=0,0;let U=G.prev,O=Q!==null&&U!==null&&(R?Q<U:Q>U);return G.streak=O?G.streak+1:0,G.prev=Q,G.streak>=$?1:0}crossStep(T,L,I,_,R){let $=T.get(L);if($===void 0)$={prevA:null,prevB:null,started:!1},T.set(L,$);let G=j(I),Q=j(_),U=0;if($.started&&$.prevA!==null&&$.prevB!==null&&G!==null&&Q!==null)U=(R?$.prevA>=$.prevB&&G<Q:$.prevA<=$.prevB&&G>Q)?1:0;return $.prevA=G,$.prevB=Q,$.started=!0,U}cross(T,L,I){let _=this.crossover(`${T}:up`,L,I),R=this.crossunder(`${T}:down`,L,I);return _===1||R===1?1:0}bbw(T,L,I,_=2){let R=this.bb(T,L,I,_);if(R.mid===null||R.up===null||R.lo===null||R.mid===0)return null;return(R.up-R.lo)/R.mid}dema(T,L,I){let _=this.ema(`${T}:e1`,L,I),R=this.ema(`${T}:e2`,_,I);if(_===null||R===null)return null;return 2*_-R}tema(T,L,I){let _=this.ema(`${T}:e1`,L,I),R=this.ema(`${T}:e2`,_,I),$=this.ema(`${T}:e3`,R,I);if(_===null||R===null||$===null)return null;return 3*_-3*R+$}highestbars(T,L,I){return this.extremeBars(this.highestBarsSites,T,L,I,!0)}lowestbars(T,L,I){return this.extremeBars(this.lowestBarsSites,T,L,I,!1)}extremeBars(T,L,I,_,R){let $=m(_);if($===null)return null;let G=T.get(L);if(G===void 0||G.period!==$)G={period:$,window:[]},T.set(L,G);if(G.window.length===$)G.window.shift();if(G.window.push(j(I)),G.window.length<$)return null;let Q=-1,U=null;for(let O=0;O<G.window.length;O++){let J=G.window[O];if(J===null)continue;if(U===null||(R?J>U:J<U))U=J,Q=O}if(Q<0)return null;return Q-(G.window.length-1)}alma(T,L,I,_=0.85,R=6){let $=m(I);if($===null)return null;if(!Number.isFinite(_)||!Number.isFinite(R))return null;let G=_,Q=R,U=this.almaSites.get(T);if(U===void 0||U.period!==$||U.offset!==G||U.sigma!==Q){let J=G*($-1),D=Q===0?0:$/Q,B=[],H=0;for(let z=0;z<$;z++){let X=D===0?1:Math.exp(-((z-J)**2)/(2*D*D));B.push(X),H+=X}U={period:$,offset:G,sigma:Q,window:[],weights:B,wsum:H},this.almaSites.set(T,U)}if(U.window.length===$)U.window.shift();if(U.window.push(j(L)),U.window.length<$||U.wsum===0)return null;let O=0;for(let J=0;J<$;J++){let D=U.window[J];if(D==null)return null;O+=D*U.weights[J]}return O/U.wsum}cmo(T,L,I){let _=m(I);if(_===null)return null;let R=this.cmoSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[],up:0,down:0},this.cmoSites.set(T,R);let $=j(L);if(R.window.length===_+1){let U=R.window[0],O=R.window[1];if(U!==null&&O!==null){let J=O-U;if(J>0)R.up-=J;else R.down-=-J}R.window.shift()}let G=R.window.length===0?null:R.window[R.window.length-1];if(R.window.push($),G!==null&&$!==null){let U=$-G;if(U>0)R.up+=U;else R.down+=-U}if(R.window.length<_+1)return null;let Q=R.up+R.down;if(Q===0)return 0;return 100*(R.up-R.down)/Q}kama(T,L,I,_=2,R=30){let $=m(I);if($===null)return null;let G=Number.isFinite(_)?Math.trunc(_):2,Q=Number.isFinite(R)?Math.trunc(R):30;if(G===-1||Q===-1)return null;let U=this.kamaSites.get(T);if(U===void 0||U.period!==$||U.fast!==G||U.slow!==Q)U={period:$,fast:G,slow:Q,prices:[],diffs:[],vol:0,kama:null,seeded:!1,bars:0},this.kamaSites.set(T,U);let O=j(L);if(O===null)return null;let J=U.prices.length===0?null:U.prices[U.prices.length-1];if(U.prices.length===$+1)U.prices.shift();if(U.prices.push(O),U.bars+=1,J!==null){let X=Math.abs(O-J);if(U.diffs.length===$)U.vol-=U.diffs.shift();U.diffs.push(X),U.vol+=X}if(!U.seeded){if(U.bars<$)return null;return U.kama=O,U.seeded=!0,null}let D=U.prices[0],B=Math.abs(O-D),H=U.vol,z;if(H!==0){let X=B/H,k=2/(G+1),C=2/(Q+1),u=X*(k-C)+C;z=u*u}else z=(2/(Q+1))**2;return U.kama=(U.kama??O)+z*(O-(U.kama??O)),U.kama}obv(T,L,I){let _=this.obvSites.get(T);if(_===void 0)_={prev:null,obv:0,bars:0},this.obvSites.set(T,_);let R=j(L),$=j(I)??0;if(_.bars+=1,_.bars<3)return _.prev=R,0;if(R!==null&&_.prev!==null){if(R>_.prev)_.obv+=$;else if(R<_.prev)_.obv-=$}return _.prev=R,_.obv}pivothigh(T,L,I,_){return this.pivotStep(this.pivotHighSites,T,L,I,_,!0)}pivotlow(T,L,I,_){return this.pivotStep(this.pivotLowSites,T,L,I,_,!1)}pivotStep(T,L,I,_,R,$){if(!Number.isFinite(_)||!Number.isFinite(R)||_<0||R<0)return null;let G=Math.trunc(_),Q=Math.trunc(R),U=T.get(L);if(U===void 0||U.left!==G||U.right!==Q)U={left:G,right:Q,window:[],n:0},T.set(L,U);let O=G+1;if(U.window.length===O)U.window.shift();if(U.window.push(j(I)),U.n+=1,U.n<=G+Q||U.window.length<O)return null;let J=U.window[U.window.length-1];if(J===null)return null;for(let D=1;D<=G;D++){let B=U.window[U.window.length-1-D];if(B===null)continue;if($?B>=J:B<=J)return null}return J}hma(T,L,I){let _=m(I);if(_===null)return null;let R=Math.max(1,Math.trunc(_/2)),$=Math.max(1,Math.trunc(Math.sqrt(_))),G=this.wma(`${T}:half`,L,R),Q=this.wma(`${T}:full`,L,_),U=G===null||Q===null?null:2*G-Q;return this.wma(`${T}:sqrt`,U,$)}mfi(T,L,I,_,R,$){let G=m($);if(G===null)return null;let Q=this.mfiSites.get(T);if(Q===void 0||Q.period!==G)Q={period:G,tps:[],mfs:[]},this.mfiSites.set(T,Q);let U=j(L),O=j(I),J=j(_);if(Q.tps.length===G+1)Q.tps.shift(),Q.mfs.shift();if(U===null||O===null||J===null)return Q.tps.push(null),Q.mfs.push(null),null;let D=j(R)??0,B=(U+O+J)/3;if(Q.tps.push(B),Q.mfs.push(B*D),Q.tps.length<=G)return null;let H=0,z=0,X=Q.tps.length-G;for(let C=X;C<Q.tps.length;C++){let u=Q.tps[C],d=Q.tps[C-1],J0=Q.mfs[C];if(u===null||d===null||J0===null)return null;if(u>d)H+=J0;else if(u<d)z+=J0}if(z===0)return H===0?50:100;return 100-100/(1+H/z)}sar(T,L,I,_=0.02,R=0.02,$=0.2){if(!Number.isFinite(_)||!Number.isFinite(R)||!Number.isFinite($))return null;let G=_,Q=R,U=$,O=this.sarSites.get(T);if(O===void 0||O.start!==G||O.increment!==Q||O.maximum!==U)O={start:G,increment:Q,maximum:U,started:!1,sar:null,ep:null,trend:1,af:G},this.sarSites.set(T,O);let J=j(L),D=j(I);if(!O.started){if(J===null||D===null)return null;return O.started=!0,O.sar=D,O.ep=J,O.trend=1,O.af=G,D}let{sar:B,ep:H}=O;if(B===null||J===null||D===null||H===null)return B;let{trend:z,af:X}=O,k=H,C;if(z===1){if(C=B+X*(k-B),J>k)k=J,X=Math.min(X+Q,U);if(C>D)z=-1,C=k,k=D,X=G}else{if(C=B-X*(B-k),D<k)k=D,X=Math.min(X+Q,U);if(C<J)z=1,C=k,k=J,X=G}return O.sar=C,O.ep=k,O.trend=z,O.af=X,Number.isFinite(C)?C:null}adx(T,L,I,_,R){let $=m(R);if($===null)return 0;let G=this.adxSites.get(T);if(G===void 0||G.period!==$)G={period:$,prevH:null,prevL:null,prevC:null,n:0},this.adxSites.set(T,G);let Q,U,O;if(G.prevH===null||G.prevL===null||G.prevC===null)Q=null,U=null,O=null;else{let X=L!==null&&Number.isFinite(L)?L:Number.NaN,k=I!==null&&Number.isFinite(I)?I:Number.NaN,C=Math.max(X-k,Math.abs(X-G.prevC),Math.abs(k-G.prevC));Q=Number.isFinite(C)?C:null;let u=X-G.prevH,d=G.prevL-k;U=u>d&&u>0?u:0,O=d>u&&d>0?d:0}G.prevH=j(L),G.prevL=j(I),G.prevC=j(_),G.n+=1;let J=this.rma(`${T}:tr`,Q,$),D=this.rma(`${T}:pdm`,U,$),B=this.rma(`${T}:mdm`,O,$);if(G.n<$)return 0;if(J===null)return 0;let H;if(D===null||B===null)H=null;else{let X=J!==0?100*D/J:0,k=J!==0?100*B/J:0,C=X+k;H=C!==0?100*Math.abs(X-k)/C:0}let z=this.rma(`${T}:dx`,H,$);return z===null?0:z}dmi(T,L,I,_,R,$){let G=m(R);if(G===null)return{plus:null,minus:null,adx:null};let Q=this.dmiSites.get(T);if(Q===void 0||Q.diLen!==G)Q={diLen:G,prevH:null,prevL:null,prevC:null},this.dmiSites.set(T,Q);let U,O,J;if(Q.prevH===null||Q.prevL===null||Q.prevC===null)U=null,O=0,J=0;else{let C=j(L)??0,u=j(I)??0,d=Q.prevH,J0=Q.prevL,X0=Q.prevC;U=Math.max(C-u,Math.abs(C-X0),Math.abs(u-X0));let T1=C-d,q6=J0-u;O=T1>q6&&T1>0?T1:0,J=q6>T1&&q6>0?q6:0}Q.prevH=j(L),Q.prevL=j(I),Q.prevC=j(_);let D=this.rma(`${T}:tr`,U,G),B=this.rma(`${T}:pdm`,O,G),H=this.rma(`${T}:mdm`,J,G),z,X;if(D===null)z=null,X=null;else if(D===0)z=0,X=0;else z=100*(B??0)/D,X=100*(H??0)/D;let k=this.adx(`${T}:adx`,L,I,_,$);return{plus:z,minus:X,adx:k}}correlation(T,L,I,_){let R=m(_);if(R===null||R<2)return null;let $=this.correlationSites.get(T);if($===void 0||$.length!==R)$={length:R,a:[],b:[]},this.correlationSites.set(T,$);if($.a.length===R)$.a.shift(),$.b.shift();if($.a.push(j(L)),$.b.push(j(I)),$.a.length<R)return null;let G=[],Q=[];for(let k=0;k<R;k++){let C=$.a[k],u=$.b[k];if(C!==null&&u!==null)G.push(C),Q.push(u)}if(G.length<2)return null;let U=G.length,O=0,J=0;for(let k=0;k<U;k++)O+=G[k],J+=Q[k];O/=U,J/=U;let D=0,B=0,H=0;for(let k=0;k<U;k++){let C=G[k]-O,u=Q[k]-J;D+=C*u,B+=C*C,H+=u*u}let z=Math.sqrt(B),X=Math.sqrt(H);if(z===0||X===0)return null;return D/(z*X)}accdist(T,L,I,_,R){let $=this.accdistSites.get(T);if($===void 0)$={ad:0},this.accdistSites.set(T,$);let G=j(L),Q=j(I),U=j(_);if(G===null||Q===null||U===null)return $.ad;let O=j(R)??0,J=G-Q,D=J===0?0:(U-Q-(G-U))/J;return $.ad+=D*O,$.ad}pvt(T,L,I){let _=this.pvtSites.get(T);if(_===void 0)_={pvt:0,prev:null},this.pvtSites.set(T,_);let R=j(L),$=_.prev;if($!==null&&$!==0&&R!==null){let G=j(I)??0;_.pvt+=G*(R-$)/$}if(R!==null)_.prev=R;return _.pvt}wad(T,L,I,_){let R=this.wadSites.get(T);if(R===void 0)R={wad:0,prev:null,started:!1},this.wadSites.set(T,R);let $=j(L),G=j(I),Q=j(_);if($===null||G===null||Q===null)return R.wad;if(!R.started)return R.started=!0,R.prev=Q,R.wad;let U=R.prev;if(U!==null){if(Q>U)R.wad+=Q-G;else if(Q<U)R.wad-=$-Q}return R.prev=Q,R.wad}nvi(T,L,I){return this.volIndexStep(this.nviSites,T,L,I,(_,R)=>_<R)}pvi(T,L,I){return this.volIndexStep(this.pviSites,T,L,I,(_,R)=>_>R)}volIndexStep(T,L,I,_,R){let $=T.get(L);if($===void 0)$={value:1000,prevClose:null,prevVol:null,started:!1},T.set(L,$);let G=j(I),Q=j(_)??0;if(!$.started){if($.started=!0,G!==null)$.prevClose=G;return $.prevVol=Q,$.value}if(G!==null&&$.prevClose!==null&&R(Q,$.prevVol??0)){let U=$.prevClose!==0?(G-$.prevClose)/$.prevClose:0,O=$.value*(1+U);if(Number.isFinite(O))$.value=O}if(G!==null)$.prevClose=G;return $.prevVol=Q,$.value}iii(T,L,I,_,R){let $=j(L),G=j(I),Q=j(_);if($===null||G===null||Q===null)return null;let U=$-G;if(U===0)return 0;let O=j(R)??0;return(2*Q-$-G)/U*O}wvad(T,L,I,_,R,$){let G=this.wvadSites.get(T);if(G===void 0)G={value:0},this.wvadSites.set(T,G);let Q=j(L),U=j(I),O=j(_),J=j(R);if(Q===null||U===null||O===null||J===null)return G.value;let D=U-O,B=j($)??0;if(D!==0)G.value+=(J-Q)/D*B;return G.value}pivotPoints(T,L,I,_,R){let $=j(L),G=j(I),Q=j(_);if($===null||G===null||Q===null)return{pp:null,r1:null,s1:null,r2:null,s2:null};let U=($+G+Q)/3,O=$-G;return{pp:U,r1:2*U-G,s1:2*U-$,r2:U+O,s2:U-O}}swma(T,L,I){let R=I===void 0||Number.isNaN(I)?4:m(I);if(R===null)return null;let $=this.swmaSites.get(T);if($===void 0||$.period!==R){let Q=[],U=0;for(let O=0;O<R;O++){let J=O<R>>1?O+1:O>R-1>>1?R-O:(R>>1)+1;Q.push(J),U+=J}$={period:R,window:[],weights:Q,wsum:U},this.swmaSites.set(T,$)}if($.window.length===R)$.window.shift();if($.window.push(j(L)),$.window.length<R||$.wsum===0)return null;let G=0;for(let Q=0;Q<R;Q++){let U=$.window[Q];if(U==null)return null;G+=U*$.weights[Q]}return G/$.wsum}cog(T,L,I){let _=m(I);if(_===null)return null;let R=this.cogSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[]},this.cogSites.set(T,R);if(R.window.length===_)R.window.shift();if(R.window.push(j(L)),R.window.length<_)return null;let $=0,G=0;for(let Q=0;Q<_;Q++){let U=R.window[_-1-Q];if(U===null)continue;$+=(Q+1)*U,G+=U}if(G===0)return null;return-$/G}tsi(T,L,I,_){let R=m(I),$=m(_);if(R===null||$===null)return null;let G=this.tsiSites.get(T);if(G===void 0||G.longPeriod!==R||G.shortPeriod!==$)G={longPeriod:R,shortPeriod:$,prev:null,nBars:0,value:null},this.tsiSites.set(T,G);let Q=j(L);G.nBars+=1;let U=G.prev;if(G.prev=Q,U===null||Q===null){if(G.nBars<R+$)return G.value=null,null;return G.value}let O=Q-U,J=`${T}:${R}:${$}`,D=this.ema(`${J}:mom`,O,R),B=this.ema(`${J}:mom2`,D,$),H=this.ema(`${J}:abs`,Math.abs(O),R),z=this.ema(`${J}:abs2`,H,$);if(G.nBars<R+$)return G.value=null,null;if(z===null||z===0)return G.value=z===0?0:null,G.value;if(B===null)return G.value=null,null;return G.value=100*(B/z),G.value}kcw(T,L,I,_,R,$){let G=this.kc(T,L,I,_,R,$);if(G.mid===null||G.up===null||G.lo===null||G.mid===0)return null;return(G.up-G.lo)/G.mid}dev(T,L,I){let _=m(I);if(_===null)return null;let R=this.devSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[],sum:0,count:0},this.devSites.set(T,R);let $=j(L);if(R.window.length===_){let U=R.window.shift();if(U!==null)R.sum-=U,R.count-=1}if(R.window.push($),$!==null)R.sum+=$,R.count+=1;if(R.window.length<_||R.count!==_)return null;let G=R.sum/_,Q=0;for(let U of R.window){if(U===null)return null;Q+=Math.abs(U-G)}return Q/_}variance(T,L,I){let _=m(I);if(_===null||_<=1)return null;let R=this.varianceSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[],sum:0,sumsq:0,count:0},this.varianceSites.set(T,R);let $=j(L);if(R.window.length===_){let Q=R.window.shift();if(Q!==null)R.sum-=Q,R.sumsq-=Q*Q,R.count-=1}if(R.window.push($),$!==null)R.sum+=$,R.sumsq+=$*$,R.count+=1;if(R.window.length<_||R.count!==_)return null;let G=(R.sumsq-R.sum*R.sum/_)/(_-1);if(G<0)G=0;return G}median(T,L,I){let _=m(I);if(_===null)return null;let R=this.medianSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[]},this.medianSites.set(T,R);if(R.window.length===_)R.window.shift();if(R.window.push(j(L)),R.window.length<_)return null;let $=[];for(let Q of R.window)if(Q!==null)$.push(Q);if($.length===0)return null;$.sort((Q,U)=>Q-U);let G=$.length>>1;if($.length%2===1)return $[G];return($[G-1]+$[G])/2}mode(T,L,I){let _=m(I);if(_===null)return null;let R=this.modeSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[]},this.modeSites.set(T,R);if(R.window.length===_)R.window.shift();if(R.window.push(j(L)),R.window.length<_)return null;let $=new Map,G=null,Q=0;for(let U of R.window){if(U===null)continue;let O=($.get(U)??0)+1;if($.set(U,O),O>Q)Q=O,G=U}return G}percentrank(T,L,I){let _=m(I);if(_===null)return null;let R=this.percentrankSites.get(T);if(R===void 0||R.period!==_)R={period:_,window:[]},this.percentrankSites.set(T,R);let $=j(L);if(R.window.length===_)R.window.shift();if(R.window.push($),R.window.length<_)return null;let G=[];for(let U of R.window)if(U!==null)G.push(U);if(G.length<2)return 50;if($===null)return null;let Q=0;for(let U of G)if(U<$)Q+=1;return Q/G.length*100}percentileNearest(T,L,I,_){return this.percentileStep(this.percentileNearestSites,T,L,I,_,!1)}percentileLinear(T,L,I,_){return this.percentileStep(this.percentileLinearSites,T,L,I,_,!0)}percentileStep(T,L,I,_,R,$){let G=m(_);if(G===null||!Number.isFinite(R))return null;let Q=T.get(L);if(Q===void 0||Q.period!==G||Q.percentage!==R)Q={period:G,percentage:R,window:[]},T.set(L,Q);if(Q.window.length===G)Q.window.shift();if(Q.window.push(j(I)),Q.window.length<G)return null;let U=[];for(let D of Q.window)if(D!==null)U.push(D);if(U.length===0)return null;U.sort((D,B)=>D-B);let O=U.length;if($){if(O===1)return U[0];let D=R/100*(O-1),B=Math.trunc(D),H=Math.min(B+1,O-1),z=D-B;return U[B]*(1-z)+U[H]*z}let J=Math.trunc(R/100*O+0.999999);if(J<1)J=1;if(J>O)J=O;return U[J-1]}cum(T,L){let I=this.cumSites.get(T);if(I===void 0)I={total:0},this.cumSites.set(T,I);let _=j(L);return I.total+=_??0,I.total}barssince(T,L){let I=this.barssinceSites.get(T);if(I===void 0)I={everTrue:!1,barsSince:0},this.barssinceSites.set(T,I);let _=j(L);if(_!==null&&_!==0)return I.everTrue=!0,I.barsSince=0,0;return I.barsSince+=1,I.everTrue?I.barsSince:null}valuewhen(T,L,I,_=0){if(!Number.isFinite(_)||_<0)return null;let R=Math.trunc(_),$=this.valuewhenSites.get(T);if($===void 0||$.occurrence!==R)$={occurrence:R,hits:[]},this.valuewhenSites.set(T,$);let G=j(L);if(G!==null&&G!==0){if($.hits.length===R+1)$.hits.shift();$.hits.push(j(I))}if($.hits.length<=R)return null;return $.hits[$.hits.length-1-R]}range(T,L,I){let _=this.highest(`${T}:hi`,L,I),R=this.lowest(`${T}:lo`,L,I);if(_===null||R===null)return null;return _-R}max(T,L,I){return this.highest(T,L,I)}min(T,L,I){return this.lowest(T,L,I)}}var m1=Object.freeze({__loop:"break"}),d1=Object.freeze({__loop:"continue"}),yI=1e4,L3=1e6;class Q3{symbol;inputs;broker;timeframe;libraries;constructor(T="AAPL",L){this.symbol=T;this.inputs=L?.inputs??{},this.broker=L?.broker??{},this.timeframe=L?.timeframe??null,this.libraries=L?.libraries??new X6}registerLibrarySource(T,L,I,_){this.libraries.registerSource(T,L,I,_)}run(T,L,I){let _;try{_=V2(T)}catch($){return{series:{},plots:[],plot_meta:[],count:0,script_name:null,script_type:"indicator",mode:"interpret",error:x2($),error_kind:"parse"}}let R=I&&!G_(I)?I:void 0;try{return xT(_,L,{symbol:this.symbol,inputs:Q_(this.inputs,I),broker:R?.broker??this.broker,timeframe:R?.timeframe??this.timeframe,libraries:R?.libraries??this.libraries})}catch($){return{series:{},plots:[],plot_meta:[],count:0,script_name:null,script_type:"indicator",mode:"interpret",error:x2($),error_kind:"runtime"}}}stream(T){return new U3(this,T)}async runProvider(T,L,I){let _=await L.fetch({symbol:this.symbol,timeframe:I?.timeframe??this.timeframe,limit:I?.limit});return this.run(T,_,I)}}class U3{runtime;source;bars=[];barHandlers=[];errorHandlers=[];endHandlers=[];closed=!1;constructor(T,L){this.runtime=T;this.source=L}on(T,L){if(T==="bar")this.barHandlers.push(L);else if(T==="error")this.errorHandlers.push(L);else this.endHandlers.push(L);return this}push(T){if(this.closed)return;this.bars.push(T);try{let L=this.runtime.run(this.source,this.bars);for(let I of this.barHandlers)I(L);return L}catch(L){let I=L instanceof Error?L:Error(String(L));for(let _ of this.errorHandlers)_(I);return}}close(){this.closed=!0;let T=this.runtime.run(this.source,this.bars);for(let L of this.endHandlers)L(T);return T}}function bI(T,L){let I=new Q3().run(T,L);if(I.error)throw Error(I.error);return{plots:I.plots}}function xT(T,L,I){let R=(T.kind==="Script"?T:null)?.body??[],$={},G=[],Q=null,U="indicator",O={ctx:{},series:new Map,varInited:new Set,barIndex:0,ta:new u2,callSites:new WeakMap,plotKeys:new WeakMap,nextSite:0,plots:$,plot_meta:G,book:new s5(I?.broker),drawings:new j2,symbol:I?.symbol??"AAPL",timeframe:I?.timeframe??null,inputs:I?.inputs??{},inputStore:new Map,udfs:new Map,udfSites:new Map,frames:[],barCount:L.length,lastBarTime:L.length===0?0:L[L.length-1].time??(L.length-1)*60000,logs:new C2,barTimes:L.map((H,z)=>H.time??z*60000),libraries:I?.libraries??new X6,pendingExports:new Map},J=L.length,D;try{for(let H=0;H<J;H++){wI(O,L[H],H),O.book.processPending(H,{open:V(O.ctx.open)??void 0,high:V(O.ctx.high)??void 0,low:V(O.ctx.low)??void 0,close:V(O.ctx.close)??void 0}),O.book.markOpenTrades(V(O.ctx.high)??V(O.ctx.close)??0,V(O.ctx.low)??V(O.ctx.close)??0,V(O.ctx.close)??0);try{for(let z of R){let X=iT(z);if(X){if(Q==null)Q=X.name;if(X.kind==="strategy")U="strategy",dI(z,O);else if(X.kind==="library")U="library",I3(z,O);else I3(z,O);continue}U1(z,O)}if(H===0&&U==="library"&&Q)rT(O,Q)}catch(z){if(z===m1||z===d1)continue;D={error:x2(z),error_kind:"runtime"};break}}}catch(H){if(H!==m1&&H!==d1)D={error:x2(H),error_kind:"runtime"}}let B=G[0]?.title;return{series:$,plots:B?$[B]??[]:[],plot_meta:G,count:J,script_name:Q,script_type:U,mode:"interpret",events:O.book.events,fills:S_(O.book),drawings:O_(O.drawings),logs:O.logs.records.length?O.logs.records:void 0,plot_data:hI($,O.barTimes),...U==="strategy"||O.book.fills.length>0?{strategy:O.book.summary(V(O.ctx.close)??0)}:{},...D??{}}}function hI(T,L){let I={};for(let[_,R]of Object.entries(T))I[_]={data:R.map(($,G)=>{let Q=L[G];return Q==null?{value:$}:{value:$,time:Q}})};return I}function x1(T,L,I){T.ctx[L]=I;let _=T.series.get(L);if(!_)_=new p1,T.series.set(L,_);_.push(I)}function wI(T,L,I){T.barIndex=I;let _=L.open??0,R=L.high??0,$=L.low??0,G=L.close??0,Q=L.volume??1,U=L.time??I*60000;x1(T,"open",_),x1(T,"high",R),x1(T,"low",$),x1(T,"close",G),x1(T,"volume",Q),x1(T,"time",U),T.ctx.bar_index=I,T.ctx.last_bar_index=T.barCount-1,T.ctx.last_bar_time=T.lastBarTime,g2(T,"hl2",(R+$)/2),g2(T,"hlc3",(R+$+G)/3),g2(T,"ohlc4",(_+R+$+G)/4),g2(T,"hlcc4",(R+$+G+G)/4);let O=K6(U);T.ctx.year=O.year,T.ctx.month=O.month,T.ctx.dayofmonth=O.dayofmonth,T.ctx.dayofweek=O.dayofweek,T.ctx.hour=O.hour,T.ctx.minute=O.minute,T.ctx.second=O.second;for(let J of T.varInited){let D=T.series.get(J);if(D==null)continue;if(D.length===I)D.push(D.current);T.ctx[J]=D.current}}function g2(T,L,I){T.ctx[L]=I;let _=T.series.get(L);if(!_)_=new p1,T.series.set(L,_);if(_.length===T.barIndex)_.push(I);else if(_.length===T.barIndex+1)_.setCurrent(I);else{while(_.length<T.barIndex)_.push(K);_.push(I)}}function cT(T){if(T.kind==="Name")return T.id;if(T.kind==="Attribute"){let L=cT(T.value);return L?`${L}.${T.attr}`:T.attr}return null}function S3(T){if(T.func.kind==="Name")return T.func.id;return cT(T.func)}function $0(T){if(T==null)return[];return Array.isArray(T)?T:[T]}function mT(T){for(let L of $0(T))if(L.value.kind==="Constant"&&typeof L.value.value==="string")return L.value.value;return null}function q0(T){if(T.name!=null&&T.name!=="")return T.name;let L=T;if(typeof L.arg==="string"&&L.arg!=="")return L.arg;if(typeof L.keyword==="string"&&L.keyword!=="")return L.keyword;return dT(T)?.name??null}function dT(T){if(T.name!=null&&T.name!=="")return null;let L=T.value;if((L.kind==="Assign"||L.kind==="ReAssign")&&L.target?.kind==="Name"&&L.value!=null)return{name:L.target.id,value:L.value};return null}function H6(T){return dT(T)?.value??T.value}function lT(T,L){for(let I of $0(T)){if(q0(I)!==L)continue;let _=H6(I);if(_.kind==="Constant"&&typeof _.value==="string")return _.value}return null}function O3(T,L){let I=L.callSites.get(T);if(I!=null)return I;let R=`${T.lineno!=null&&T.col_offset!=null?`${T.lineno}:${T.col_offset}`:""}#${L.nextSite++}`;return L.callSites.set(T,R),R}function W(T,L,I){let _=$0(T);for(let $ of _){let G=q0($);if(G!=null&&I.includes(G))return H6($)}let R=0;for(let $ of _){if(q0($)!=null)continue;if(R===L)return $.value;R++}return}function AI(T){if(T==="hline")return"hline";if(T==="plotshape")return"shape";if(T==="plotchar")return"char";if(T==="plotarrow")return"arrow";if(T==="bgcolor")return"bgcolor";if(T==="barcolor")return"barcolor";return"plot"}function uI(T,L){let I=lT(T,"title");if(I!=null){let $=I.trim();if($)return $}let _=[];for(let $ of T){if(q0($)!=null)continue;_.push($)}if(_.length>1){let $=H6(_[1]);if($.kind==="Constant"&&typeof $.value==="string"){let G=$.value.trim();if(G)return G}}let R=mT(T.slice(1));if(R!=null){let $=R.trim();if($)return $}return AI(L)}function gI(T,L,I){let _=T.plotKeys.get(L);if(_!=null)return _;let R=I.trim()||"plot",$=R,G=2;while(Object.prototype.hasOwnProperty.call(T.plots,$))$=`${R}_${G++}`;return T.plotKeys.set(L,$),$}function f2(T){return T.mode?.kind==="Var"}function J3(T){return typeof T==="object"&&T!==null&&T.__tuple===!0}function t0(T){return{__tuple:!0,elts:T}}function fI(T){return T===null||typeof T==="number"&&Number.isFinite(T)}function oT(T){return T.frames.length>0?T.frames[T.frames.length-1]:null}function pI(T){return oT(T)?.varInited??T.varInited}function c1(T,L){for(let I=T.frames.length-1;I>=0;I--){let _=T.frames[I].ctx;if(Object.prototype.hasOwnProperty.call(_,L))return _[L]}if(Object.prototype.hasOwnProperty.call(T.ctx,L))return T.ctx[L];return}function xI(T,L){for(let I=T.frames.length-1;I>=0;I--){let _=T.frames[I].series.get(L);if(_)return _}return T.series.get(L)}function j0(T,L,I){let _=typeof I==="number"&&!Number.isFinite(I)?K:I,R=oT(T),$=R?R.ctx:T.ctx,G=R?R.series:T.series;if($[L]=_,!fI(_))return;let Q=G.get(L);if(!Q)Q=new p1,G.set(L,Q);if(Q.length===T.barIndex+1)Q.setCurrent(_);else{while(Q.length<T.barIndex)Q.push(K);Q.push(_)}}function vT(T,L,I){if(!J3(L))return;let _=Math.min(T.elts.length,L.elts.length);for(let R=0;R<_;R++){let $=T.elts[R];if($?.kind==="Name")j0(I,$.id,Y(L.elts[R]))}}function cI(T,L){if(T.value==null)return K;let I=pI(L);if(T.target.kind==="Tuple"){if(f2(T)){if(T.target.elts.some((Q)=>Q.kind==="Name"&&I.has(Q.id))||L.barIndex!==0&&T.target.elts.some((Q)=>Q.kind==="Name"&&c1(L,Q.id)!==void 0)){for(let Q of T.target.elts)if(Q.kind==="Name")I.add(Q.id);return K}}let $=Z(T.value,L);if(vT(T.target,$,L),f2(T)){for(let G of T.target.elts)if(G.kind==="Name")I.add(G.id)}return $}if(T.target.kind!=="Name")return K;let _=T.target.id;if(f2(T)&&(I.has(_)||L.barIndex!==0&&c1(L,_)!==void 0)){I.add(_);let $=c1(L,_);return $===void 0?K:$}let R=Z(T.value,L);if(j0(L,_,R),f2(T))I.add(_);if(T.export)L.pendingExports.set(_,R);return R}function mI(T,L){if(T.target.kind==="Tuple"){let _=Z(T.value,L);return vT(T.target,_,L),_}if(T.target.kind==="Attribute"){let _=Z(T.target.value,L),R=Z(T.value,L);if(_ instanceof R1)return _.set(T.target.attr,R),R;return K}if(T.target.kind!=="Name")return K;let I=Z(T.value,L);return j0(L,T.target.id,I),I}function dI(T,L){if(T.kind!=="Expr"||T.value?.kind!=="Call")return;let I={},_=Y(Z(W(T.value.args,-1,["commission","commission_value"]),L)),R=Y(Z(W(T.value.args,-1,["slippage"]),L)),$=Y(Z(W(T.value.args,-1,["pyramiding"]),L));if(_!=null)I.commission=_;if(R!=null)I.slippage=R;if($!=null)I.pyramiding=Math.trunc($);if(Object.keys(I).length)L.book.configure(I);let G=Y(Z(W(T.value.args,-1,["initial_capital"]),L));if(G!=null&&Number.isFinite(G))L.book.initialCapital=G;I3(T,L)}function I3(T,L){if(T.kind!=="Expr"||T.value?.kind!=="Call")return;let I=Y(Z(W(T.value.args,-1,["max_lines_count"]),L)),_=Y(Z(W(T.value.args,-1,["max_labels_count"]),L)),R=Y(Z(W(T.value.args,-1,["max_boxes_count"]),L)),$=Y(Z(W(T.value.args,-1,["max_polylines_count"]),L));if(I==null&&_==null&&R==null&&$==null)return;L.drawings.configure({max_lines_count:I??void 0,max_labels_count:_??void 0,max_boxes_count:R??void 0,max_polylines_count:$??void 0})}function iT(T){if(T.kind!=="Expr"||T.value?.kind!=="Call")return null;let L=S3(T.value);if(L!=="indicator"&&L!=="strategy"&&L!=="library")return null;return{name:mT(T.value.args),kind:L}}function U1(T,L){if(T.kind==="FunctionDef")return N_(T,L),K;if(T.kind==="TypeDef")return y_(T,L),K;if(T.kind==="EnumDef")return b_(T,L),K;if(T.kind==="Import")return g_(T,L),K;if(T.kind==="Assign")return cI(T,L);if(T.kind==="ReAssign")return mI(T,L);if(T.kind==="Break")throw m1;if(T.kind==="Continue")throw d1;if(T.kind==="Switch"||T.kind==="While"||T.kind==="If")return Z(T,L);if(T.kind!=="Expr"||!("value"in T)||T.value==null)return K;let I=T.value;if(I.kind==="Call"){let _=S3(I);if(_==="indicator"||_==="strategy"||_==="library")return K;if(_==="plot"||_==="plotshape"||_==="hline"||_==="plotchar"||_==="plotarrow"||_==="bgcolor"||_==="barcolor"){let R=$0(I.args),$=uI(R,_),G=gI(L,I,$),Q=W(I.args,0,["series","source"])??R[0]?.value,U=Y(Z(Q,L));if(!L.plots[G])L.plots[G]=[],L.plot_meta.push({title:G});let O=L.plots[G];while(O.length<L.barIndex)O.push(null);return O.push(U),U}}return Z(I,L)}function e0(T){return T!=null&&T!==0}function Z(T,L){if(T==null)return K;switch(T.kind){case"Name":{let I=c1(L,T.id);return I===void 0?K:I}case"Constant":{let I=T.value;if(typeof I==="number")return Number.isFinite(I)?I:K;if(typeof I==="string")return I;if(I===!0)return 1;if(I===!1)return 0;return K}case"BinOp":{let I=Z(T.left,L),_=Z(T.right,L);if(T.op.kind==="Add"&&(typeof I==="string"||typeof _==="string"))return _3(I)+_3(_);let R=Y(I),$=Y(_);if(R==null||$==null)return K;switch(T.op.kind){case"Add":return R+$;case"Sub":return R-$;case"Mult":return R*$;case"Div":return $===0?K:R/$;case"Mod":return $===0?K:R%$}return K}case"UnaryOp":{let I=Y(Z(T.operand,L));if(T.op.kind==="Not")return e0(I)?0:1;if(I==null)return K;if(T.op.kind==="USub")return-I;if(T.op.kind==="UAdd")return I;if(T.op.kind==="Invert")return~Math.trunc(I);return K}case"Subscript":{let I=Y(Z(T.slice??void 0,L));if(I==null||!Number.isFinite(I))return K;let _=Math.trunc(I);if(_<0)return K;if(T.value.kind==="Name"){let R=xI(L,T.value.id);if(R)return R.get(_)}return K}case"Call":return eI(T,L);case"Compare":{let I=Z(T.left,L);for(let _=0;_<T.ops.length;_++){let R=Z(T.comparators[_],L),$=tI(I,T.ops[_].kind,R);if($==null)return K;if(!$)return 0;I=R}return 1}case"If":{let I=Y(Z(T.test,L)),_=e0(I)?T.body:T.orelse,R=K;for(let $ of _)R=U1($,L);return R}case"Attribute":return aI(T,L);case"Conditional":return lI(T,L);case"ForTo":return oI(T,L);case"Tuple":return t0(T.elts.map((I)=>Z(I,L)));case"ForIn":return sI(T,L);case"While":return vI(T,L);case"Switch":return iI(T,L);case"BoolOp":return rI(T,L)}}function lI(T,L){let I=Y(Z(T.test,L));return e0(I)?Z(T.body,L):Z(T.orelse,L)}function oI(T,L){let I=Y(Z(T.start,L)),_=Y(Z(T.end,L));if(I==null||_==null||!Number.isFinite(I)||!Number.isFinite(_))return K;let R;if(T.step!=null){let D=Y(Z(T.step,L));if(D==null||!Number.isFinite(D)||D===0)return K;if(R=Math.trunc(D),R===0)return K}else R=I<=_?1:-1;let $=Math.trunc(I),G=Math.trunc(_),Q=T.target.kind==="Name"?T.target.id:null,U=K,O=0,J=(D)=>{if(Q)j0(L,Q,D);try{for(let B of T.body)U=U1(B,L)}catch(B){if(B===m1)return"break";if(B===d1)return"ok";throw B}return"ok"};if(R>0)for(let D=$;D<=G;D+=R){if(++O>L3)break;if(J(D)==="break")break}else for(let D=$;D>=G;D+=R){if(++O>L3)break;if(J(D)==="break")break}return U}function vI(T,L){let I=K,_=0;while(e0(Y(Z(T.test,L)))){if(++_>yI)break;try{for(let R of V6(T.body))I=U1(R,L)}catch(R){if(R===m1)break;if(R===d1)continue;throw R}}return I}function iI(T,L){let I=Array.isArray(T.cases)?T.cases:[],_=T.subject!=null,R=_?Z(T.subject,L):null;for(let $ of I){if($.pattern==null)return n5($.body,L);if(_){let G=Z($.pattern,L);if(R3(G,R))return n5($.body,L)}else if(e0(Y(Z($.pattern,L))))return n5($.body,L)}return K}function n5(T,L){let I=K;for(let _ of V6(T))I=U1(_,L);return I}function rI(T,L){let I=T.values??[],_=typeof T.op==="string"?T.op:T.op?.kind;if(_==="And"){for(let R of I){let $=Y(Z(R,L));if($==null)return K;if(!e0($))return 0}return 1}if(_==="Or"){let R=!1;for(let $ of I){let G=Y(Z($,L));if(G==null){R=!0;continue}if(e0(G))return 1}return R?K:0}return K}function sI(T,L){let I=Z(T.iter,L),_=[];if(J3(I))_=I.elts;else if(I instanceof G0)_=I.toValues();let R=T.target.kind==="Name"?T.target.id:null,$=K,G=Math.min(_.length,L3);for(let Q=0;Q<G;Q++){let U=_[Q];if(R)j0(L,R,U);try{for(let O of T.body)$=U1(O,L)}catch(O){if(O===m1)break;if(O===d1)continue;throw O}}return $}function aI(T,L){if(T.value.kind==="Name"){if(T.value.id==="strategy"){if(T.attr==="long"||T.attr==="short")return T.attr;if(T.attr==="position_size")return L.book.position.qty;if(T.attr==="position_avg_price")return L.book.position.avgPrice;if(T.attr==="netprofit")return L.book.realizedPnl;if(T.attr==="openprofit"){let _=L.book.position.qty,R=L.book.position.avgPrice,$=V(L.ctx.close);if(_===0||R==null||$==null)return 0;return _*($-R)}if(T.attr==="equity")return L.book.equity(V(L.ctx.close)??0);if(T.attr==="opentrades")return L.book.opentrades;if(T.attr==="closedtrades")return L.book.closedtrades;if(T.attr==="wintrades")return L.book.wintrades;if(T.attr==="losstrades")return L.book.losstrades;if(T.attr==="eventrades")return L.book.eventrades;if(T.attr==="grossprofit")return L.book.grossprofit;if(T.attr==="grossloss")return L.book.grossloss;if(T.attr==="avg_trade")return L.book.avgTrade();if(T.attr==="avg_winning_trade")return L.book.avgWinningTrade();if(T.attr==="avg_losing_trade")return L.book.avgLosingTrade();if(T.attr==="netprofit_percent")return L.book.netprofitPercent(V(L.ctx.close)??0);if(T.attr==="openprofit_percent")return L.book.openprofitPercent(V(L.ctx.close)??0);if(T.attr==="grossprofit_percent")return L.book.grossprofitPercent();if(T.attr==="grossloss_percent")return L.book.grosslossPercent();if(T.attr==="avg_trade_percent")return L.book.avgTradePercent();if(T.attr==="avg_winning_trade_percent")return L.book.avgWinningTradePercent();if(T.attr==="avg_losing_trade_percent")return L.book.avgLosingTradePercent();if(T.attr==="max_drawdown")return L.book.maxDrawdown();if(T.attr==="max_drawdown_percent")return L.book.maxDrawdownPercent();if(T.attr==="max_runup")return L.book.maxRunup();if(T.attr==="max_runup_percent")return L.book.maxRunupPercent();if(T.attr==="percent_profitable"||T.attr==="winrate")return L.book.percentProfitable();if(T.attr==="profitfactor"||T.attr==="profit_factor")return L.book.profitFactor();if(T.attr==="initial_capital")return L.book.initialCapital;if(T.attr==="commission")return 0;if(T.attr==="cash")return"cash";if(T.attr==="fixed")return"fixed";if(T.attr==="percent_of_equity")return"percent_of_equity"}if(T.value.id==="syminfo"){if(T.attr==="ticker"||T.attr==="tickerid")return L.symbol;if(T.attr==="timezone")return"Etc/UTC";if(T.attr==="currency")return"USD";if(T.attr==="mintick")return 0.01;if(T.attr==="type")return"stock"}if(T.value.id==="timeframe"){if(T.attr==="period")return L.timeframe??"";if(T.attr==="multiplier")return V9(L.timeframe);if(T.attr==="isintraday")return H9(L.timeframe)?1:0;if(T.attr==="isdaily")return B5(L.timeframe)?1:0;if(T.attr==="isweekly")return z5(L.timeframe)?1:0;if(T.attr==="ismonthly")return H5(L.timeframe)?1:0}if(T.value.id==="color"){let _=O5(T.attr);if(_)return _}if(T.value.id==="barstate"){let _=L.barIndex===L.barCount-1;if(T.attr==="isfirst")return L.barIndex===0?1:0;if(T.attr==="islast")return _?1:0;if(T.attr==="ishistory")return _?0:1;if(T.attr==="isconfirmed")return 1;if(T.attr==="isnew")return 1;if(T.attr==="isrealtime")return 0;if(T.attr==="islastconfirmedhistory")return _?1:0}if(T.value.id==="session"){if(T.attr==="regular")return"regular";if(T.attr==="extended")return"extended";if(T.attr==="ismarket")return 1;if(T.attr==="ispremarket"||T.attr==="ispostmarket")return 0;if(T.attr==="isfirstbar"||T.attr==="isfirstbar_regular")return L.barIndex===0?1:0;if(T.attr==="islastbar"||T.attr==="islastbar_regular")return L.barIndex===L.barCount-1?1:0}if(T.value.id==="chart"){if(T.attr==="is_heikinashi"||T.attr==="is_renko"||T.attr==="is_kagi")return 0;if(T.attr==="fg_color")return"#ffffff";if(T.attr==="bg_color")return"#131722"}if(T.value.id==="ta"){let _=nI(T.attr,L);if(_!==void 0)return _}}let I=Z(T.value,L);if(I instanceof R1){let _=I.get(T.attr);if(typeof _==="number"||_===null||typeof _==="string")return _;if(_ instanceof R1||_ instanceof $1)return _;return K}if(I instanceof m0&&T.attr==="new")return I;if(I instanceof g1)return I.members.get(T.attr)??K;if(I instanceof H1){let _=I.get(T.attr);if(_===void 0)return K;if(c2(_))return _;if(typeof _==="function")return K;return _}return K}function nI(T,L){let I=L.ta,_=`attr:ta.${T}`;if(T==="accdist"||T==="ad")return I.accdist(_,V(L.ctx.high),V(L.ctx.low),V(L.ctx.close),V(L.ctx.volume));if(T==="obv"&&typeof I.obv==="function")return I.obv.call(L.ta,_,V(L.ctx.close),V(L.ctx.volume));if(T==="tr"&&typeof I.tr==="function")return I.tr.call(L.ta,_,V(L.ctx.high),V(L.ctx.low),V(L.ctx.close));if(T==="vwap"&&typeof I.vwap==="function"){let R=V(L.ctx.high),$=V(L.ctx.low),G=V(L.ctx.close),Q=R!=null&&$!=null&&G!=null?(R+$+G)/3:G;return I.vwap.call(L.ta,_,Q,V(L.ctx.volume))}if(T==="pvt"&&typeof I.pvt==="function")return I.pvt.call(L.ta,_,V(L.ctx.close),V(L.ctx.volume));if(T==="nvi"&&typeof I.nvi==="function")return I.nvi.call(L.ta,_,V(L.ctx.close),V(L.ctx.volume));if(T==="pvi"&&typeof I.pvi==="function")return I.pvi.call(L.ta,_,V(L.ctx.close),V(L.ctx.volume));return}function gT(T,L){if(T==null)return"long";if(T.kind==="Constant"&&typeof T.value==="string")return T.value;let I=Z(T,L);if(typeof I==="string")return I;let _=Y(I);if(_===1)return"long";if(_===-1)return"short";return"long"}function z6(T){if(T==null)return"entry";if(T.kind==="Constant"&&typeof T.value==="string")return T.value;if(T.kind==="Name")return T.id;return"entry"}function _3(T){if(typeof T==="string")return T;if(T instanceof I0)return T.toString();let L=Y(T);return L==null?"na":String(L)}function F1(T){if(T==null)return!0;if(typeof T==="number")return!Number.isFinite(T);return!1}function R3(T,L){if(F1(T)&&F1(L))return!0;if(F1(T)||F1(L))return!1;if(T instanceof $1)return T.equals(L);if(L instanceof $1)return L.equals(T);if(typeof T==="string"||typeof L==="string")return T===L;if(typeof T==="number"&&typeof L==="number")return T===L;return T===L}function tI(T,L,I){let _=F1(T),R=F1(I);switch(L){case"Eq":return R3(T,I);case"NotEq":if(_||R)return!1;return!R3(T,I);case"Lt":case"LtE":case"Gt":case"GtE":{let $=Y(T),G=Y(I);if($==null||G==null)return!1;if(L==="Lt")return $<G;if(L==="LtE")return $<=G;if(L==="Gt")return $>G;return $>=G}default:return null}}function eI(T,L){if(T.func.kind==="Attribute"){let X=Z(T.func.value,L);if(X instanceof H1)return u_(X,T.func.attr,T,L);if(X instanceof R1){let k=X.getMethod(T.func.attr);if(k&&c2(k.body))return G3(k.body,T,L,X)}if(X instanceof m0&&T.func.attr==="new"){let k={};for(let C of $0(T.args)){let u=q0(C);if(u)k[u]=Z(C.value,L)}return X.newInstance(k)}}let I=S3(T),_=O3(T,L);if(I==="ta.sma"||I==="sma")return L.ta.sma(_,b(T,L),g(T,L,1));if(I==="ta.ema"||I==="ema")return L.ta.ema(_,b(T,L),g(T,L,1));if(I==="ta.rsi"||I==="rsi")return L.ta.rsi(_,b(T,L),g(T,L,1));if(I==="ta.rma"||I==="rma")return L.ta.rma(_,b(T,L),g(T,L,1));if(I==="ta.atr"||I==="atr"){let X=g(T,L,0);return L.ta.atr(_,V(L.ctx.high),V(L.ctx.low),V(L.ctx.close),X)}if(I==="ta.kc"||I==="kc")return T_(T,L,_);if(I==="ta.supertrend"||I==="supertrend")return L_(T,L,_);if(I==="ta.tr"||I==="tr")return I_(T,L,_);let R=z_(I,T,L,_);if(R!==void 0)return R;let $=B_(I,T,L);if($!==void 0)return $;if(k9(I))return W_(T,L,I);if(Y9(I)||I==="request.security")return X_(I,T,L);let G=V_(I,T,L);if(G!==void 0)return G;let Q=C_(I,T,L);if(Q!==void 0)return Q;let U=P_(I,T,L);if(U!==void 0)return U;if(I==="na"){let X=W(T.args,0,["x","source"]);if(X==null)return K;return F1(Z(X,L))?1:0}if(I==="iff"){let X=Y(Z(W(T.args,0,["condition","cond"]),L));if(X==null)return K;return e0(X)?Z(W(T.args,1,["then","if_true"]),L):Z(W(T.args,2,["else","if_false"]),L)}if(I==="fixnan"){let X=Y(Z(W(T.args,0,["source","x"]),L));return X==null?0:X}if(I==="int"){let X=Y(Z(W(T.args,0,["x","source"]),L));return X==null?K:Math.trunc(X)}if(I==="float")return Y(Z(W(T.args,0,["x","source"]),L));if(I==="bool"){let X=Y(Z(W(T.args,0,["x","source"]),L));return e0(X)?1:0}if(I==="string"||I==="str")return _3(Z(W(T.args,0,["x","source"]),L));if(I==="log.info"||I==="log.warning"||I==="log.error"){let X=$0(T.args).map((C)=>{let u=Z(C.value,L);if(u instanceof I0)return u.toString();return typeof u==="string"?u:Y(u)}),k=M5(X);if(I==="log.info")L.logs.info(L.barIndex,k);else if(I==="log.warning")L.logs.warning(L.barIndex,k);else L.logs.error(L.barIndex,k);return K}let O=A_(I,T,L);if(O!==void 0)return O;if(I==="timeframe.in_seconds"){let X=p(W(T.args,0,["timeframe","period"]),L)??L.timeframe;return B9(X)}if(I==="timeframe.from_seconds"){let X=Y(Z(W(T.args,0,["seconds"]),L));return X==null?K:z9(X)}if(I==="runtime.error"){let X=$0(T.args).map((k)=>{let C=Z(k.value,L);return typeof C==="string"?C:Y(C)});k5(M5(X)||"runtime.error")}if(I==="ticker.new"){let X=p(W(T.args,0,["symbol"]),L)??L.symbol,k=p(W(T.args,1,["session"]),L)??void 0;return E5(X,k)}if(I==="ticker.heikinashi"){let X=Z(W(T.args,0,["symbol"]),L),k=X instanceof I0?X.symbol:typeof X==="string"?X:L.symbol;return j5(k)}if(I==="ticker.standard"){let X=Z(W(T.args,0,["symbol"]),L),k=X instanceof I0?X.symbol:typeof X==="string"?X:L.symbol;return C5(k)}if(I==="ticker.renko"){let X=Z(W(T.args,0,["symbol"]),L),k=X instanceof I0?X.symbol:typeof X==="string"?X:L.symbol;return P5(k)}if(I==="ticker.kagi"){let X=Z(W(T.args,0,["symbol"]),L),k=X instanceof I0?X.symbol:typeof X==="string"?X:L.symbol;return N5(k)}if(I==="ticker.linebreak"){let X=Z(W(T.args,0,["symbol"]),L),k=X instanceof I0?X.symbol:typeof X==="string"?X:L.symbol;return y5(k)}if(I==="ticker.pointfigure"){let X=Z(W(T.args,0,["symbol"]),L),k=X instanceof I0?X.symbol:typeof X==="string"?X:L.symbol;return b5(k)}if(I==="ticker.modify"){let X=Z(W(T.args,0,["ticker","tickerid"]),L),k=X instanceof I0?X:typeof X==="string"?X:L.symbol;return h5(k,{symbol:p(W(T.args,1,["symbol"]),L)??void 0,session:p(W(T.args,2,["session"]),L)??void 0,adjust:p(W(T.args,3,["adjust","adjustment"]),L)??void 0})}let J=F_(I,T,L);if(J!==void 0)return J;let D=M_(I,T,L);if(D!==void 0)return D;let B=E_(I,T,L);if(B!==void 0)return B;if(I==="nz"){let X=Y(Z(W(T.args,0,["source","x"]),L)),k=Y(Z(W(T.args,1,["replacement"]),L));return X==null?k??0:X}if(I==="strategy.entry"){let X=z6(W(T.args,0,["id"])),k=gT(W(T.args,1,["direction"]),L),C=W(T.args,2,["qty"]),u=C==null?1:Y(Z(C,L)),d=u==null||!Number.isFinite(u)?Number.NaN:u,J0=Y(Z(W(T.args,-1,["limit"]),L)),X0=Y(Z(W(T.args,-1,["stop"]),L)),T1=V(L.ctx.close);return L.book.placeEntry(L.barIndex,X,k,d,{limit:J0,stop:X0,price:T1==null||!Number.isFinite(T1)?void 0:T1,time:V(L.ctx.time)??void 0,oca_name:p(W(T.args,-1,["oca_name"]),L),oca_type:p(W(T.args,-1,["oca_type"]),L)}),K}if(I==="strategy.close"){let X=z6(W(T.args,0,["id"])),k=V(L.ctx.close);if(L.book.position.qty!==0&&k!=null)L.book.fillClose(L.barIndex,X,k,{time:V(L.ctx.time)??void 0});else L.book.close(L.barIndex,X);return K}if(I==="strategy.exit")return L.book.exit(L.barIndex,z6(W(T.args,0,["id"]))),K;if(I==="strategy.close_all")return L.book.closeAll(L.barIndex,V(L.ctx.close)??void 0),K;if(I==="strategy.cancel")return L.book.cancel(L.barIndex,z6(W(T.args,0,["id"]))),K;if(I==="strategy.cancel_all")return L.book.cancelAll(L.barIndex),K;if(I==="strategy.order"){let X=z6(W(T.args,0,["id"])),k=gT(W(T.args,1,["direction"]),L),C=Y(Z(W(T.args,2,["qty"]),L)),u=C==null||!Number.isFinite(C)?Number.NaN:C;return L.book.order(L.barIndex,X,k,u,{limit:Y(Z(W(T.args,-1,["limit"]),L)),stop:Y(Z(W(T.args,-1,["stop"]),L)),price:V(L.ctx.close)??void 0,time:V(L.ctx.time)??void 0,oca_name:p(W(T.args,-1,["oca_name"]),L),oca_type:p(W(T.args,-1,["oca_type"]),L)}),K}let H=D_(I,T,L);if(H!==void 0)return H;let z=K_(I,T,L);if(z!==void 0)return z;if(I!=null&&I.endsWith(".new")){let X=I.slice(0,-4),k=c1(L,X);if(k instanceof m0){let C={};for(let u of $0(T.args)){let d=q0(u);if(d)C[d]=Z(u.value,L)}return k.newInstance(C)}}if(I!=null){let X=L.udfs.get(I);if(X)return G3(X,T,L)}return K}function T_(T,L,I){let _=$0(T.args).filter((J)=>q0(J)==null),R=V(L.ctx.high),$=V(L.ctx.low),G=b(T,L),Q=g(T,L,1),U=$3(T,L,2,["mult","multiplier"],1);if(_.length>=4)R=Y(Z(_[0].value,L)),$=Y(Z(_[1].value,L)),G=Y(Z(_[2].value,L)),Q=g(T,L,3),U=$3(T,L,4,["mult","multiplier"],1);let O=__(L,I,R,$,G,Q,U);return t0([O.mid,O.up,O.lo])}function L_(T,L,I){let _=$3(T,L,0,["factor"],3),R=$_(T,L,1,["atrPeriod","length"],10),$=R_(L,I,V(L.ctx.high),V(L.ctx.low),V(L.ctx.close),_,R);return t0([$.st,$.dir])}function I_(T,L,I){let _=$0(T.args).filter((R)=>q0(R)==null);if(_.length>=3)return fT(L,I,Y(Z(_[0].value,L)),Y(Z(_[1].value,L)),Y(Z(_[2].value,L)));return fT(L,I,V(L.ctx.high),V(L.ctx.low),V(L.ctx.close))}function __(T,L,I,_,R,$,G){let Q=T.ta.kc;if(typeof Q==="function")return Q.call(T.ta,L,I,_,R,$,G);let U=T.ta.ema(`${L}:ema`,R,$),O=T.ta.atr(`${L}:atr`,I,_,R,$);if(U==null)return{mid:null,up:null,lo:null};let J=(O??0)*G;return{mid:U,up:U+J,lo:U-J}}function R_(T,L,I,_,R,$,G){let Q=T.ta.supertrend;if(typeof Q==="function")return Q.call(T.ta,L,I,_,R,$,G);let U=T.ta.atr(`${L}:atr`,I,_,R,G),O=U==null||!Number.isFinite(U)?0:U,J=I??0,D=_??0,B=R??J,H=(J+D)/2,z=H+$*O,X=H-$*O,k=B>=H?-1:1;return{st:k<0?X:z,dir:k}}function fT(T,L,I,_,R){let $=T.ta.tr;if(typeof $==="function")return $.call(T.ta,L,I,_,R);return T.ta.atr(L,I,_,R,1)==null&&T.barIndex===0?K:K}function V(T){if(T===void 0)return K;return Y(T)}function b(T,L){return Y(Z(W(T.args,0,["source","series"]),L))}function g(T,L,I){let _=Y(Z(W(T.args,I,["length"]),L));return _==null||!Number.isFinite(_)?0:_}function $_(T,L,I,_,R){let $=Y(Z(W(T.args,I,_),L));return $==null||!Number.isFinite($)?R:$}function $3(T,L,I,_,R){let $=Y(Z(W(T.args,I,_),L));return $==null||!Number.isFinite($)?R:$}function Y(T){if(T==null)return K;if(typeof T==="number")return Number.isFinite(T)?T:K;return K}function x2(T){if(T instanceof Error)return(T.message||T.name||"runtime error").split(`
|
|
43
|
-
`)
|
|
44
|
-
`)[0].trim()||"runtime error";return"runtime error"}function G_(T){return!("inputs"in T)&&!("broker"in T)&&!("timeframe"in T)&&!("libraries"in T)}function Q_(T,L){let I=U_(L);if(I==null)return T;return{...T,...I}}function U_(T){if(T==null||typeof T!=="object")return;if("inputs"in T){let L=T.inputs;if(L!=null&&typeof L==="object"&&!Array.isArray(L))return L;return}return T}function S_(T){let L=T.fills;if(L==null||L.length===0)return;return L.map((I)=>({type:"fill",...I}))}function O_(T){return T.items.length===0?void 0:T.items}function J_(T){let L=lT(T.args,"title");if(L!=null)return L;let I=$0(T.args),_=0;for(let R of I){if(q0(R)!=null)continue;if(_===1&&R.value.kind==="Constant"&&typeof R.value.value==="string")return R.value.value;_++}return null}function Z_(T,L){if(T.kind==="Constant")return T.value;let I=Z(T,L);if(typeof I==="string")return I;return Y(I)}function W_(T,L,I){let _=J_(T),R=_??O3(T,L),$=L.inputStore.get(R);if($!==void 0)return w5($);let G=[],Q={};for(let O of $0(T.args)){let J=Z_(H6(O),L),D=q0(O);if(D!=null)Q[D]=J;else G.push(J)}let U=M9(I,G,Q);if(_!=null&&L.inputs[_]!==void 0)U=L.inputs[_];return L.inputStore.set(R,U),w5(U)}function p(T,L){if(T==null)return null;if(T.kind==="Constant"&&typeof T.value==="string")return T.value;let I=Z(T,L);return typeof I==="string"?I:null}function D_(T,L,I){if(T==null||!T.startsWith("strategy.risk."))return;let _=I.book;if(T==="strategy.risk.allow_entry_in"){let R=Z(W(L.args,0,["value"]),I);return _.riskAllowEntryIn(typeof R==="string"?R:Y(R)),K}if(T==="strategy.risk.max_position_size")return _.riskMaxPositionSize(Y(Z(W(L.args,0,["percent","value"]),I))),K;if(T==="strategy.risk.max_drawdown"){let R=Y(Z(W(L.args,0,["value"]),I)),$=Z(W(L.args,1,["type"]),I);return _.riskMaxDrawdown(R,typeof $==="string"?$:Y($)),K}if(T==="strategy.risk.max_cons_loss_days")return _.riskMaxConsLossDays(Y(Z(W(L.args,0,["days","value"]),I))),K;if(T==="strategy.risk.max_intraday_loss")return _.riskMaxIntradayLoss(Y(Z(W(L.args,0,["percent","value"]),I))),K;if(T==="strategy.risk.max_intraday_filled_orders")return _.riskMaxIntradayFilledOrders(Y(Z(W(L.args,0,["max","max_orders","value"]),I))),K;return}function K_(T,L,I){if(T==null||!T.startsWith("strategy."))return;let _=Y(Z(W(L.args,0,["trade_num","trade_index","index"]),I)),R=_==null?0:Math.trunc(_),$=V(I.ctx.close)??0,G=I.book;switch(T){case"strategy.closedtrades.entry_bar_index":return G.closedEntryBar(R);case"strategy.closedtrades.entry_price":return G.closedEntryPrice(R);case"strategy.closedtrades.exit_bar_index":return G.closedExitBar(R);case"strategy.closedtrades.exit_price":return G.closedExitPrice(R);case"strategy.closedtrades.profit":return G.closedProfit(R);case"strategy.closedtrades.size":return G.closedSize(R);case"strategy.closedtrades.entry_id":case"strategy.closedtrades.exit_id":return G.closedId(R);case"strategy.closedtrades.commission":return G.closedCommission(R);case"strategy.opentrades.entry_bar_index":return G.openEntryBar(R);case"strategy.opentrades.entry_price":return G.openEntryPrice(R);case"strategy.opentrades.size":return G.openSize(R);case"strategy.opentrades.entry_id":return G.openId(R);case"strategy.opentrades.profit":return G.openProfit(R,$);default:return}}function Y_(T,L){let I=p(W(T.args,0,["symbol"]),L),_=p(W(T.args,1,["timeframe"]),L),R=W(T.args,2,["expression"]),$=Y(Z(R,L));return q2(L.symbol,L.timeframe,{symbol:I,timeframe:_,expression:R},$)}function X_(T,L,I){if(T==="request.security"||T==="request.security_lower_tf")return Y_(L,I);let _={symbol:I.symbol,timeframe:I.timeframe};if(T==="request.currency_rate"){let $=p(W(L.args,0,["from","from_currency"]),I),G=p(W(L.args,1,["to","to_currency"]),I),Q=k2(T,_,{from:$,to:G});return typeof Q==="number"||Q===null?Q:K}if(T==="request.seed"){let $=Y(Z(W(L.args,0,["seed"]),I)),G=k2(T,_,{seed:$});return typeof G==="number"||G===null?G:K}let R=k2(T,_,{});return typeof R==="number"||R===null?R:K}function B_(T,L,I){if(T==="math.abs"||T==="abs")return C9(R0(L,I,0,["number","x"]));if(T==="math.max"||T==="max")return A9(...p2(L,I));if(T==="math.min"||T==="min")return u9(...p2(L,I));if(T==="math.sqrt"||T==="sqrt")return N9(R0(L,I,0,["number","x"]));if(T==="math.log"||T==="log")return y9(R0(L,I,0,["number","x"]));if(T==="math.log10"||T==="log10")return b9(R0(L,I,0,["number","x"]));if(T==="math.exp"||T==="exp")return h9(R0(L,I,0,["number","x"]));if(T==="math.pow"||T==="pow")return w9(R0(L,I,0,["base","number","x"]),R0(L,I,1,["exponent","exp","y"]));if(T==="math.round"||T==="round"){let _=W(L.args,1,["precision"]);return g9(R0(L,I,0,["number","x"]),_==null?void 0:Y(Z(_,I)))}if(T==="math.floor"||T==="floor")return f9(R0(L,I,0,["number","x"]));if(T==="math.ceil"||T==="ceil")return p9(R0(L,I,0,["number","x"]));if(T==="math.sign"||T==="sign")return P9(R0(L,I,0,["number","x"]));if(T==="math.avg"||T==="avg")return x9(...p2(L,I));if(T==="math.sum"){let _=Z(W(L.args,0,["source","id","array"]),I),R=w(_);if(R)return R.sum();return c9(...p2(L,I))}if(T==="math.sin"||T==="sin")return m9(R0(L,I,0,["angle","x"]));if(T==="math.cos"||T==="cos")return d9(R0(L,I,0,["angle","x"]));if(T==="math.tan"||T==="tan")return l9(R0(L,I,0,["angle","x"]));if(T==="math.asin"||T==="asin")return o9(R0(L,I,0,["x"]));if(T==="math.acos"||T==="acos")return v9(R0(L,I,0,["x"]));if(T==="math.atan"||T==="atan")return i9(R0(L,I,0,["x"]));if(T==="math.todegrees")return r9(R0(L,I,0,["radians","x"]));if(T==="math.toradians")return s9(R0(L,I,0,["degrees","x"]));if(T==="math.isfinite")return a9(R0(L,I,0,["number","x"]));if(T==="math.random"){let _=W(L.args,0,["min"]),R=W(L.args,1,["max"]);return t9(_==null?void 0:Y(Z(_,I)),R==null?void 0:Y(Z(R,I)))}if(T==="math.round_to_mintick"){let _=typeof I.ctx["syminfo.mintick"]==="number"?I.ctx["syminfo.mintick"]:0.01;return n9(R0(L,I,0,["number","x"]),_)}return}function R0(T,L,I,_){return Y(Z(W(T.args,I,_),L))}function p2(T,L){return $0(T.args).map((I)=>Y(Z(I.value,L)))}function l(T,L,I,_,R){let $=W(T.args,I,_);if($==null)return R;let G=Y(Z($,L));return G==null||!Number.isFinite(G)?R:G}function z_(T,L,I,_){let R=I.ta;if(T==="ta.highest"||T==="highest"){if(typeof R.highest!=="function")return K;return R.highest.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.lowest"||T==="lowest"){if(typeof R.lowest!=="function")return K;return R.lowest.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.stdev"||T==="stdev"){if(typeof R.stdev!=="function")return K;return R.stdev.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.change"||T==="change"){if(typeof R.change!=="function")return K;return R.change.call(I.ta,_,b(L,I),l(L,I,1,["length"],1))}if(T==="ta.wma"||T==="wma"){if(typeof R.wma!=="function")return K;return R.wma.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.crossover"||T==="crossover"){if(typeof R.crossover!=="function")return K;return R.crossover.call(I.ta,_,b(L,I),Y(Z(W(L.args,1,["source2","b","series2"]),I)))}if(T==="ta.crossunder"||T==="crossunder"){if(typeof R.crossunder!=="function")return K;return R.crossunder.call(I.ta,_,b(L,I),Y(Z(W(L.args,1,["source2","b","series2"]),I)))}if(T==="ta.macd"||T==="macd"){if(typeof R.macd!=="function")return K;let $=R.macd.call(I.ta,_,b(L,I),l(L,I,1,["fastlen","fastLength","fast"],12),l(L,I,2,["slowlen","slowLength","slow"],26),l(L,I,3,["signal","signalLength","siglen"],9));return t0([$.macd,$.signal,$.hist])}if(T==="ta.bb"||T==="bb"){if(typeof R.bb!=="function")return K;let $=R.bb.call(I.ta,_,b(L,I),g(L,I,1),l(L,I,2,["mult","multiplier"],2));return t0([$.mid,$.up,$.lo])}if(T==="ta.sum"||T==="sum"){if(typeof R.sum!=="function")return K;return R.sum.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.roc"||T==="roc"){if(typeof R.roc!=="function")return K;return R.roc.call(I.ta,_,b(L,I),l(L,I,1,["length"],1))}if(T==="ta.mom"||T==="mom"){if(typeof R.mom!=="function")return K;return R.mom.call(I.ta,_,b(L,I),l(L,I,1,["length"],1))}if(T==="ta.vwma"||T==="vwma"){if(typeof R.vwma!=="function")return K;return R.vwma.call(I.ta,_,b(L,I),V(I.ctx.volume),g(L,I,1))}if(T==="ta.cci"||T==="cci"){if(typeof R.cci!=="function")return K;let $=V(I.ctx.high),G=V(I.ctx.low),Q=b(L,I),U=$!=null&&G!=null&&Q!=null?($+G+Q)/3:Q;return R.cci.call(I.ta,_,U,g(L,I,1))}if(T==="ta.wpr"||T==="wpr"){if(typeof R.willr!=="function")return K;return R.willr.call(I.ta,_,V(I.ctx.high),V(I.ctx.low),V(I.ctx.close),g(L,I,0))}if(T==="ta.willr"||T==="willr"){if(typeof R.willr!=="function")return K;return R.willr.call(I.ta,_,V(I.ctx.high),V(I.ctx.low),V(I.ctx.close),g(L,I,0))}if(T==="ta.stoch"||T==="stoch"){if(typeof R.stoch!=="function")return K;let $=$0(L.args).filter((Q)=>q0(Q)==null),G=W(L.args,1,["high"]);if(G==null&&$.length<=1)return R.stoch.call(I.ta,_,V(I.ctx.close),V(I.ctx.high),V(I.ctx.low),g(L,I,0));return R.stoch.call(I.ta,_,b(L,I),Y(Z(G,I)),Y(Z(W(L.args,2,["low"]),I)),g(L,I,3))}if(T==="ta.linreg"||T==="linreg"){if(typeof R.linreg!=="function")return K;return R.linreg.call(I.ta,_,b(L,I),g(L,I,1),l(L,I,2,["offset"],0))}if(T==="ta.vwap"||T==="vwap"){if(typeof R.vwap!=="function")return K;let $=W(L.args,0,["source","series"]),G=$!=null?Y(Z($,I)):H_(I);return R.vwap.call(I.ta,_,G,V(I.ctx.volume))}if(T==="ta.rising"||T==="rising"){if(typeof R.rising!=="function")return K;return R.rising.call(I.ta,_,b(L,I),l(L,I,1,["length"],1))}if(T==="ta.falling"||T==="falling"){if(typeof R.falling!=="function")return K;return R.falling.call(I.ta,_,b(L,I),l(L,I,1,["length"],1))}if(T==="ta.cross"||T==="cross"){if(typeof R.cross!=="function")return K;return R.cross.call(I.ta,_,b(L,I),Y(Z(W(L.args,1,["source2","b","series2"]),I)))}if(T==="ta.bbw"||T==="bbw"){if(typeof R.bbw!=="function")return K;return R.bbw.call(I.ta,_,b(L,I),g(L,I,1),l(L,I,2,["mult","multiplier"],2))}if(T==="ta.dema"||T==="dema"){if(typeof R.dema!=="function")return K;return R.dema.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.tema"||T==="tema"){if(typeof R.tema!=="function")return K;return R.tema.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.highestbars"||T==="highestbars"){if(typeof R.highestbars!=="function")return K;return R.highestbars.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.lowestbars"||T==="lowestbars"){if(typeof R.lowestbars!=="function")return K;return R.lowestbars.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.alma"||T==="alma"){if(typeof R.alma!=="function")return K;return R.alma.call(I.ta,_,b(L,I),g(L,I,1),l(L,I,2,["offset"],0.85),l(L,I,3,["sigma"],6))}if(T==="ta.cmo"||T==="cmo"){if(typeof R.cmo!=="function")return K;return R.cmo.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.kama"||T==="kama"){if(typeof R.kama!=="function")return K;return R.kama.call(I.ta,_,b(L,I),g(L,I,1),l(L,I,2,["fastLength","fast","fastlen"],2),l(L,I,3,["slowLength","slow","slowlen"],30))}if(T==="ta.accdist"||T==="accdist"||T==="ta.ad"||T==="ad"){let $=W(L.args,0,["high"]),G=W(L.args,1,["low"]),Q=W(L.args,2,["close"]),U=W(L.args,3,["volume"]);return I.ta.accdist(_,$==null?V(I.ctx.high):Y(Z($,I)),G==null?V(I.ctx.low):Y(Z(G,I)),Q==null?V(I.ctx.close):Y(Z(Q,I)),U==null?V(I.ctx.volume):Y(Z(U,I)))}if(T==="ta.obv"||T==="obv"){if(typeof R.obv!=="function")return K;let $=W(L.args,0,["source","close"]),G=W(L.args,1,["volume"]),Q=$==null?V(I.ctx.close):Y(Z($,I)),U=G==null?V(I.ctx.volume):Y(Z(G,I));return R.obv.call(I.ta,_,Q,U)}if(T==="ta.pivothigh"||T==="pivothigh"){if(typeof R.pivothigh!=="function")return K;return R.pivothigh.call(I.ta,_,b(L,I),l(L,I,1,["leftbars","left"],5),l(L,I,2,["rightbars","right"],5))}if(T==="ta.pivotlow"||T==="pivotlow"){if(typeof R.pivotlow!=="function")return K;return R.pivotlow.call(I.ta,_,b(L,I),l(L,I,1,["leftbars","left"],5),l(L,I,2,["rightbars","right"],5))}if(T==="ta.hma"||T==="hma"){if(typeof R.hma!=="function")return K;return R.hma.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.mfi"||T==="mfi"){if(typeof R.mfi!=="function")return K;let $=$0(L.args).filter((G)=>G.name==null);if($.length<=1)return R.mfi.call(I.ta,_,V(I.ctx.high),V(I.ctx.low),V(I.ctx.close),V(I.ctx.volume),g(L,I,0));if($.length===2)return R.mfi.call(I.ta,_,b(L,I),b(L,I),b(L,I),V(I.ctx.volume),g(L,I,1));return R.mfi.call(I.ta,_,Y(Z(W(L.args,0,["high"]),I)),Y(Z(W(L.args,1,["low"]),I)),Y(Z(W(L.args,2,["close"]),I)),Y(Z(W(L.args,3,["volume"]),I)),g(L,I,4))}if(T==="ta.sar"||T==="sar"){if(typeof R.sar!=="function")return K;return R.sar.call(I.ta,_,V(I.ctx.high),V(I.ctx.low),l(L,I,0,["start"],0.02),l(L,I,1,["increment"],0.02),l(L,I,2,["maximum","max"],0.2))}if(T==="ta.dmi"||T==="dmi"){if(typeof R.dmi!=="function")return K;let $=R.dmi.call(I.ta,_,V(I.ctx.high),V(I.ctx.low),V(I.ctx.close),l(L,I,0,["diLength","length"],14),l(L,I,1,["adxSmoothing","adxlen"],14));return t0([$.plus,$.minus,$.adx])}if(T==="ta.adx"||T==="adx"){if(typeof R.adx!=="function")return K;return R.adx.call(I.ta,_,V(I.ctx.high),V(I.ctx.low),V(I.ctx.close),l(L,I,0,["length"],14))}if(T==="ta.correlation"||T==="correlation"){if(typeof R.correlation!=="function")return K;return R.correlation.call(I.ta,_,b(L,I),Y(Z(W(L.args,1,["source2","b","series2"]),I)),g(L,I,2))}if(T==="ta.swma"||T==="swma"){if(typeof R.swma!=="function")return K;let $=W(L.args,1,["length"]);return R.swma.call(I.ta,_,b(L,I),$==null?void 0:g(L,I,1))}if(T==="ta.cog"||T==="cog"){if(typeof R.cog!=="function")return K;return R.cog.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.tsi"||T==="tsi"){if(typeof R.tsi!=="function")return K;if($0(L.args).filter((G)=>G.name==null).length===2)return R.tsi.call(I.ta,_,V(I.ctx.close),l(L,I,1,["long","long_length"],25),l(L,I,0,["short","short_length"],13));return R.tsi.call(I.ta,_,b(L,I),l(L,I,2,["long","long_length"],25),l(L,I,1,["short","short_length"],13))}if(T==="ta.kcw"||T==="kcw"){if(typeof R.kcw!=="function")return K;return R.kcw.call(I.ta,_,V(I.ctx.high),V(I.ctx.low),V(I.ctx.close),g(L,I,0),l(L,I,1,["mult","multiplier"],2))}if(T==="ta.dev"||T==="dev"){if(typeof R.dev!=="function")return K;return R.dev.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.variance"||T==="variance"){if(typeof R.variance!=="function")return K;return R.variance.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.median"||T==="median"){if(typeof R.median!=="function")return K;return R.median.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.mode"||T==="mode"){if(typeof R.mode!=="function")return K;return R.mode.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.percentrank"||T==="percentrank"){if(typeof R.percentrank!=="function")return K;return R.percentrank.call(I.ta,_,b(L,I),g(L,I,1))}if(T==="ta.percentile_nearest_rank"){if(typeof R.percentileNearest!=="function")return K;return R.percentileNearest.call(I.ta,_,b(L,I),g(L,I,1),l(L,I,2,["percentage","percent"],50))}if(T==="ta.percentile_linear_interpolation"){if(typeof R.percentileLinear!=="function")return K;return R.percentileLinear.call(I.ta,_,b(L,I),g(L,I,1),l(L,I,2,["percentage","percent"],50))}if(T==="ta.cum"||T==="cum"){if(typeof R.cum!=="function")return K;return R.cum.call(I.ta,_,b(L,I))}if(T==="ta.barssince"||T==="barssince"){if(typeof R.barssince!=="function")return K;return R.barssince.call(I.ta,_,Y(Z(W(L.args,0,["condition","cond"]),I)))}if(T==="ta.valuewhen"||T==="valuewhen"){if(typeof R.valuewhen!=="function")return K;return R.valuewhen.call(I.ta,_,Y(Z(W(L.args,0,["condition","cond"]),I)),Y(Z(W(L.args,1,["source"]),I)),l(L,I,2,["occurrence"],0))}if(T==="ta.range"){if(typeof R.range!=="function")return K;return R.range.call(I.ta,_,b(L,I),g(L,I,1))}if((T==="ta.max"||T==="ta.min")&&typeof R.max==="function")return(T==="ta.max"?R.max:R.min).call(I.ta,_,b(L,I),g(L,I,1));if(T==="ta.accdist"||T==="accdist"){if(typeof R.accdist!=="function")return K;return R.accdist.call(I.ta,_,V(I.ctx.high),V(I.ctx.low),V(I.ctx.close),V(I.ctx.volume))}if(T==="ta.pvt"||T==="pvt"){if(typeof R.pvt!=="function")return K;return R.pvt.call(I.ta,_,V(I.ctx.close),V(I.ctx.volume))}if(T==="ta.wad"||T==="wad"){if(typeof R.wad!=="function")return K;return R.wad.call(I.ta,_,V(I.ctx.high),V(I.ctx.low),V(I.ctx.close))}if(T==="ta.nvi"||T==="nvi"){if(typeof R.nvi!=="function")return K;return R.nvi.call(I.ta,_,V(I.ctx.close),V(I.ctx.volume))}if(T==="ta.pvi"||T==="pvi"){if(typeof R.pvi!=="function")return K;return R.pvi.call(I.ta,_,V(I.ctx.close),V(I.ctx.volume))}if(T==="ta.iii"||T==="iii"){if(typeof R.iii!=="function")return K;return R.iii.call(I.ta,_,V(I.ctx.high),V(I.ctx.low),V(I.ctx.close),V(I.ctx.volume))}if(T==="ta.wvad"||T==="wvad"){if(typeof R.wvad!=="function")return K;return R.wvad.call(I.ta,_,V(I.ctx.open),V(I.ctx.high),V(I.ctx.low),V(I.ctx.close),V(I.ctx.volume))}if(T==="ta.pivot_point_levels"){if(typeof R.pivotPoints!=="function")return K;let $=R.pivotPoints.call(I.ta,_,V(I.ctx.high),V(I.ctx.low),V(I.ctx.close));return t0([$.pp,$.r1,$.s1,$.r2,$.s2])}return}function H_(T){let L=V(T.ctx.high),I=V(T.ctx.low),_=V(T.ctx.close);if(L==null||I==null||_==null)return _??L??I;return(L+I+_)/3}function w(T){if(T instanceof G0)return T;if(T&&typeof T==="object"&&"__array"in T){let L=T.elts,I=new G0;for(let _ of L)I.push(Y(_));return I}return null}function V_(T,L,I){if(T==="array.new_float"||T==="array.new"||T==="array.new_int"){let _=Y(Z(W(L.args,0,["size"]),I))??0,R=Y(Z(W(L.args,1,["initial_value"]),I));return new G0(_,R)}if(T==="array.push"){let _=w(Z(W(L.args,0,["id"]),I)),R=Y(Z(W(L.args,1,["value"]),I));return _?.push(R),K}if(T==="array.get"){let _=w(Z(W(L.args,0,["id"]),I)),R=Y(Z(W(L.args,1,["index"]),I));return _?_.get(R??0):K}if(T==="array.set"){let _=w(Z(W(L.args,0,["id"]),I)),R=Y(Z(W(L.args,1,["index"]),I)),$=Y(Z(W(L.args,2,["value"]),I));if(_&&R!=null)_.set(R,$);return K}if(T==="array.size"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.size():K}if(T==="array.pop"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.pop():K}if(T==="array.clear")return w(Z(W(L.args,0,["id"]),I))?.clear(),K;if(T==="array.unshift")return w(Z(W(L.args,0,["id"]),I))?.unshift(Y(Z(W(L.args,1,["value"]),I))),K;if(T==="array.shift"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.shift():K}if(T==="array.includes")return w(Z(W(L.args,0,["id"]),I))?.includes(Y(Z(W(L.args,1,["value"]),I)))?1:0;if(T==="array.first"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.first():K}if(T==="array.last"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.last():K}if(T==="array.insert"){let _=w(Z(W(L.args,0,["id"]),I)),R=Y(Z(W(L.args,1,["index"]),I)),$=Y(Z(W(L.args,2,["value"]),I));if(_&&R!=null)_.insert(R,$);return K}if(T==="array.remove"){let _=w(Z(W(L.args,0,["id"]),I)),R=Y(Z(W(L.args,1,["index"]),I));return _&&R!=null?_.remove(R):K}if(T==="array.fill")return w(Z(W(L.args,0,["id"]),I))?.fill(Y(Z(W(L.args,1,["value"]),I))),K;if(T==="array.slice"){let _=w(Z(W(L.args,0,["id"]),I)),R=Y(Z(W(L.args,1,["index_from","from"]),I))??0,$=W(L.args,2,["index_to","to"]),G=$==null?void 0:Y(Z($,I))??void 0;return _?_.slice(R,G):K}if(T==="array.copy"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.copy():K}if(T==="array.reverse")return w(Z(W(L.args,0,["id"]),I))?.reverse(),K;if(T==="array.sort"){let _=w(Z(W(L.args,0,["id"]),I)),R=Z(W(L.args,1,["order"]),I),$=typeof R==="string"&&R.toLowerCase().includes("desc")?"desc":"asc";return _?.sort($),K}if(T==="array.indexof"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.indexof(Y(Z(W(L.args,1,["value"]),I))):K}if(T==="array.avg"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.avg():K}if(T==="array.min"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.min():K}if(T==="array.max"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.max():K}if(T==="array.sum"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.sum():K}if(T==="array.join"){let _=w(Z(W(L.args,0,["id"]),I)),R=p(W(L.args,1,["separator","sep"]),I);return _?_.join(R??","):K}if(T==="array.new_bool"||T==="array.new_string"){let _=Y(Z(W(L.args,0,["size"]),I))??0,R=Y(Z(W(L.args,1,["initial_value"]),I));return new G0(_,R)}if(T==="array.from"){let _=new G0;for(let R of $0(L.args))_.push(Y(Z(R.value,I)));return _}if(T==="array.lastindexof"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.lastIndexOf(Y(Z(W(L.args,1,["value"]),I))):K}if(T==="array.concat"){let _=w(Z(W(L.args,0,["id"]),I)),R=w(Z(W(L.args,1,["other","id2"]),I));return _&&R?_.concat(R):K}if(T==="array.abs"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.abs():K}if(T==="array.every"){let _=w(Z(W(L.args,0,["id"]),I));return _&&_.every()?1:0}if(T==="array.some"){let _=w(Z(W(L.args,0,["id"]),I));return _&&_.some()?1:0}if(T==="array.median"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.median():K}if(T==="array.range"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.range():K}if(T==="array.mode"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.mode():K}if(T==="array.binary_search"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.binarySearch(Y(Z(W(L.args,1,["value"]),I))):K}if(T==="array.binary_search_leftmost"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.binarySearchLeftmost(Y(Z(W(L.args,1,["value"]),I))):K}if(T==="array.binary_search_rightmost"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.binarySearchRightmost(Y(Z(W(L.args,1,["value"]),I))):K}if(T==="array.stdev"){let _=w(Z(W(L.args,0,["id"]),I)),R=t5(L,I);return _?_.stdev(R):K}if(T==="array.variance"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.variance(t5(L,I)):K}if(T==="array.covariance"){let _=w(Z(W(L.args,0,["id"]),I)),R=w(Z(W(L.args,1,["id2","other"]),I));return _&&R?_.covariance(R,t5(L,I,2)):K}if(T==="array.percentile_linear_interpolation"){let _=w(Z(W(L.args,0,["id"]),I)),R=Y(Z(W(L.args,1,["percentage","percent"]),I));return _&&R!=null?_.percentileLinearInterpolation(R):K}if(T==="array.percentile_nearest_rank"){let _=w(Z(W(L.args,0,["id"]),I)),R=Y(Z(W(L.args,1,["percentage","percent"]),I));return _&&R!=null?_.percentileNearestRank(R):K}if(T==="array.percentrank"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.percentrank(Y(Z(W(L.args,1,["value"]),I))):K}if(T==="array.standardize"){let _=w(Z(W(L.args,0,["id"]),I));return _?_.standardize():K}if(T==="array.sort_indices"){let _=w(Z(W(L.args,0,["id"]),I)),R=Z(W(L.args,1,["order"]),I),$=typeof R==="string"&&R.toLowerCase().includes("desc")?"desc":"asc";if(!_)return K;let G=_.sortIndices($);if(G==null)return K;let Q=new G0;for(let U of G)Q.push(U);return Q}return}function t5(T,L,I=1){let _=Y(Z(W(T.args,I,["biased"]),L));if(_==null)return!0;return _!==0}function u0(T){return T instanceof V1?T:null}function F_(T,L,I){if(T==="map.new"||T==="map.new<float,float>"||T==="map.new_string_float")return new V1;if(T==="map.put"){let _=u0(Z(W(L.args,0,["id"]),I)),R=Z(W(L.args,1,["key"]),I),$=Y(Z(W(L.args,2,["value"]),I));return _?.put(typeof R==="string"||typeof R==="number"?R:Y(R),$),K}if(T==="map.get"){let _=u0(Z(W(L.args,0,["id"]),I)),R=Z(W(L.args,1,["key"]),I);return _?_.get(typeof R==="string"||typeof R==="number"?R:Y(R)):K}if(T==="map.contains"){let _=u0(Z(W(L.args,0,["id"]),I)),R=Z(W(L.args,1,["key"]),I);return _?.contains(typeof R==="string"||typeof R==="number"?R:Y(R))?1:0}if(T==="map.size"){let _=u0(Z(W(L.args,0,["id"]),I));return _?_.size():K}if(T==="map.remove"){let _=u0(Z(W(L.args,0,["id"]),I)),R=Z(W(L.args,1,["key"]),I);return _?_.remove(typeof R==="string"||typeof R==="number"?R:Y(R)):K}if(T==="map.clear")return u0(Z(W(L.args,0,["id"]),I))?.clear(),K;if(T==="map.put_all"){let _=u0(Z(W(L.args,0,["id"]),I)),R=u0(Z(W(L.args,1,["id2","other"]),I));if(_&&R)_.putAll(R);return K}if(T==="map.keys"){let _=u0(Z(W(L.args,0,["id"]),I));if(!_)return K;let R=new G0;for(let $ of _.keys())R.push(typeof $==="number"?$:null);return R}if(T==="map.values"){let _=u0(Z(W(L.args,0,["id"]),I));if(!_)return K;let R=new G0;for(let $ of _.values())R.push($);return R}if(T==="map.copy"){let _=u0(Z(W(L.args,0,["id"]),I));return _?_.copy():K}return}function q_(T){if(T==null||!T.startsWith("matrix."))return null;let L=T.indexOf("<");return L>=0?T.slice(0,L):T}function y(T){return T instanceof e?T:null}function k_(T){return T==="matrix.new"||T.startsWith("matrix.new_")}function M_(T,L,I){let _=q_(T);if(_==null)return;if(k_(_)){let R=Y(Z(W(L.args,0,["rows"]),I))??0,$=Y(Z(W(L.args,1,["columns","cols"]),I))??0,G=W(L.args,2,["initial_value","initial"]),Q=G==null?void 0:Y(Z(G,I));return new e(R,$,Q)}if(_==="matrix.get"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["row"]),I)),G=Y(Z(W(L.args,2,["column","col"]),I));return R?R.get($??0,G??0):K}if(_==="matrix.set"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["row"]),I)),G=Y(Z(W(L.args,2,["column","col"]),I)),Q=Y(Z(W(L.args,3,["value"]),I));if(R&&$!=null&&G!=null)R.set($,G,Q);return K}if(_==="matrix.rows"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.rows():K}if(_==="matrix.columns"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.columns():K}if(_==="matrix.fill"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["value"]),I));return R?.fill($),K}if(_==="matrix.transpose"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.transpose():K}if(_==="matrix.copy"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.copy():K}if(_==="matrix.elements_count"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.elementsCount():K}if(_==="matrix.is_square"){let R=y(Z(W(L.args,0,["id"]),I));return R&&R.isSquare()?1:0}if(_==="matrix.sum"||_==="matrix.sum_all"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.sum():K}if(_==="matrix.avg"||_==="matrix.avg_all"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.avg():K}if(_==="matrix.min"||_==="matrix.min_all"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.min():K}if(_==="matrix.max"||_==="matrix.max_all"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.max():K}if(_==="matrix.trace"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.trace():K}if(_==="matrix.det"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.det():K}if(_==="matrix.row"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["row","index"]),I));if(!R||$==null)return K;let G=new G0;for(let Q of R.row($))G.push(Q);return G}if(_==="matrix.col"||_==="matrix.column"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["column","col","index"]),I));if(!R||$==null)return K;let G=new G0;for(let Q of R.col($))G.push(Q);return G}if(_==="matrix.mult"){let R=y(Z(W(L.args,0,["id"]),I)),$=Z(W(L.args,1,["other","matrix_2"]),I);if(!R)return K;let G=y($);return G?R.mult(G):R.mult(Y($)??0)}if(_==="matrix.inv"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.inv():K}if(_==="matrix.pinv"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.pinv():K}if(_==="matrix.eigenvalues"){let $=y(Z(W(L.args,0,["id"]),I))?.eigenvalues();if($==null)return K;let G=new G0;for(let Q of $)G.push(Q);return G}if(_==="matrix.eigenvectors"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.eigenvectors():K}if(_==="matrix.pow"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["power","n"]),I));return R&&$!=null?R.pow($):K}if(_==="matrix.kron"){let R=y(Z(W(L.args,0,["id"]),I)),$=y(Z(W(L.args,1,["other"]),I));return R&&$?R.kron($):K}if(_==="matrix.diff"){let R=y(Z(W(L.args,0,["id"]),I)),$=y(Z(W(L.args,1,["other"]),I));return R&&$?R.diff($):K}if(_==="matrix.rank"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.rank():K}if(_==="matrix.swap_rows"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["row1","i"]),I)),G=Y(Z(W(L.args,2,["row2","j"]),I));if(R&&$!=null&&G!=null)R.swapRows($,G);return K}if(_==="matrix.swap_columns"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["column1","i"]),I)),G=Y(Z(W(L.args,2,["column2","j"]),I));if(R&&$!=null&&G!=null)R.swapColumns($,G);return K}if(_==="matrix.is_zero"){let R=y(Z(W(L.args,0,["id"]),I));return R&&R.isZero()?1:0}if(_==="matrix.is_identity"){let R=y(Z(W(L.args,0,["id"]),I));return R&&R.isIdentity()?1:0}if(_==="matrix.is_diagonal"){let R=y(Z(W(L.args,0,["id"]),I));return R&&R.isDiagonal()?1:0}if(_==="matrix.is_symmetric"){let R=y(Z(W(L.args,0,["id"]),I));return R&&R.isSymmetric()?1:0}if(_==="matrix.is_antisymmetric"){let R=y(Z(W(L.args,0,["id"]),I));return R&&R.isAntisymmetric()?1:0}if(_==="matrix.is_triangular"){let R=y(Z(W(L.args,0,["id"]),I));return R&&R.isTriangular()?1:0}if(_==="matrix.add_row"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["row","index"]),I)),G=w(Z(W(L.args,2,["array"]),I));return R?.addRow($??void 0,G?.toValues()),K}if(_==="matrix.add_col"||_==="matrix.add_column"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["column","index"]),I)),G=w(Z(W(L.args,2,["array"]),I));return R?.addCol($??void 0,G?.toValues()),K}if(_==="matrix.remove_row"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["row","index"]),I));if(R&&$!=null)R.removeRow($);return K}if(_==="matrix.remove_col"||_==="matrix.remove_column"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["column","index"]),I));if(R&&$!=null)R.removeCol($);return K}if(_==="matrix.reshape"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["rows"]),I)),G=Y(Z(W(L.args,2,["columns","cols"]),I));return R&&$!=null&&G!=null?R.reshape($,G):K}if(_==="matrix.concat"){let R=y(Z(W(L.args,0,["id"]),I)),$=y(Z(W(L.args,1,["other"]),I));return R&&$?R.concat($):K}if(_==="matrix.submatrix"){let R=y(Z(W(L.args,0,["id"]),I));if(!R)return K;return R.submatrix(Y(Z(W(L.args,1,["from_row"]),I))??0,Y(Z(W(L.args,2,["to_row"]),I))??R.rows(),Y(Z(W(L.args,3,["from_column","from_col"]),I))??0,Y(Z(W(L.args,4,["to_column","to_col"]),I))??R.columns())}if(_==="matrix.reverse")return y(Z(W(L.args,0,["id"]),I))?.reverse(),K;if(_==="matrix.sort"){let R=y(Z(W(L.args,0,["id"]),I)),$=Y(Z(W(L.args,1,["column","col"]),I))??0,G=Z(W(L.args,2,["order"]),I),Q=typeof G==="string"&&G.toLowerCase().includes("desc")?"desc":"asc";return R?.sort($,Q),K}if(_==="matrix.median"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.median():K}if(_==="matrix.mode"){let R=y(Z(W(L.args,0,["id"]),I));return R?R.mode():K}if(_==="matrix.is_binary"){let R=y(Z(W(L.args,0,["id"]),I));return R&&R.isBinary()?1:0}if(_==="matrix.is_stochastic"){let R=y(Z(W(L.args,0,["id"]),I));return R&&R.isStochastic()?1:0}if(_==="matrix.is_antidiagonal"){let R=y(Z(W(L.args,0,["id"]),I));return R&&R.isAntidiagonal()?1:0}return}function E_(T,L,I){if(T==="line.new")return I.drawings.lineNew(I.barIndex);if(T==="label.new"){let _=p(W(L.args,2,["text"]),I);return I.drawings.labelNew(I.barIndex,_??void 0)}if(T==="box.new")return I.drawings.boxNew(I.barIndex);if(T==="alert"){let _=j_(W(L.args,0,["message"]),I);return I.drawings.alert(I.barIndex,_),K}if(T==="table.new")return I.drawings.tableNew(I.barIndex);if(T==="polyline.new")return I.drawings.polylineNew(I.barIndex);if(T==="linefill.new"){let _=Y(Z(W(L.args,0,["id1"]),I)),R=Y(Z(W(L.args,1,["id2"]),I));return I.drawings.linefillNew(I.barIndex,_==null?void 0:_,R==null?void 0:R)}if(T==="line.set_xy"){let _=Y(Z(W(L.args,0,["id"]),I));if(_!=null)I.drawings.lineSetXy(_,Y(Z(W(L.args,1,["x1"]),I))??0,Y(Z(W(L.args,2,["y1"]),I))??0,Y(Z(W(L.args,3,["x2"]),I))??0,Y(Z(W(L.args,4,["y2"]),I))??0);return K}if(T==="label.set_text"){let _=Y(Z(W(L.args,0,["id"]),I));if(_!=null)I.drawings.labelSetText(_,p(W(L.args,1,["text"]),I)??"");return K}if(T==="line.delete"||T==="label.delete"||T==="box.delete"){let _=Y(Z(W(L.args,0,["id"]),I));if(_!=null)if(T==="line.delete")I.drawings.lineDelete(_);else if(T==="label.delete")I.drawings.labelDelete(_);else I.drawings.boxDelete(_);return K}if(T==="line.set_color"){let _=Y(Z(W(L.args,0,["id"]),I));if(_!=null)I.drawings.lineSetColor(_,p(W(L.args,1,["color"]),I)??"");return K}if(T==="line.get_price"){let _=Y(Z(W(L.args,0,["id"]),I)),R=Y(Z(W(L.args,1,["x"]),I));return _!=null&&R!=null?I.drawings.lineGetPrice(_,R):K}if(T==="line.get_x1"){let _=Y(Z(W(L.args,0,["id"]),I));return _!=null?I.drawings.getX1(_):K}if(T==="line.get_y1"){let _=Y(Z(W(L.args,0,["id"]),I));return _!=null?I.drawings.getY1(_):K}if(T==="line.get_x2"){let _=Y(Z(W(L.args,0,["id"]),I));return _!=null?I.drawings.getX2(_):K}if(T==="line.get_y2"){let _=Y(Z(W(L.args,0,["id"]),I));return _!=null?I.drawings.getY2(_):K}if(T==="label.get_text"){let _=Y(Z(W(L.args,0,["id"]),I));return _!=null?I.drawings.labelGetText(_):K}if(T==="label.set_xy"){let _=Y(Z(W(L.args,0,["id"]),I));if(_!=null)I.drawings.labelSetXy(_,Y(Z(W(L.args,1,["x"]),I))??0,Y(Z(W(L.args,2,["y"]),I))??0);return K}if(T==="box.set_lefttop"||T==="box.set_corners"){let _=Y(Z(W(L.args,0,["id"]),I));if(_!=null)I.drawings.boxSetCorners(_,Y(Z(W(L.args,1,["left","x1"]),I))??0,Y(Z(W(L.args,2,["top","y1"]),I))??0,Y(Z(W(L.args,3,["right","x2"]),I))??0,Y(Z(W(L.args,4,["bottom","y2"]),I))??0);return K}if(T==="label.set_color"){let _=Y(Z(W(L.args,0,["id"]),I));if(_!=null)I.drawings.labelSetColor(_,p(W(L.args,1,["color"]),I)??"");return K}if(T==="table.cell"){let _=Y(Z(W(L.args,0,["id"]),I)),R=Y(Z(W(L.args,1,["column"]),I)),$=Y(Z(W(L.args,2,["row"]),I)),G=p(W(L.args,3,["text"]),I)??void 0;if(_!=null&&R!=null&&$!=null)I.drawings.tableCell(_,R,$,G);return K}return}function j_(T,L){if(T==null)return"";let I=Z(T,L);if(typeof I==="string")return I;let _=Y(I);return _==null?"":String(_)}function C_(T,L,I){if(T==="color.r"||T==="color.g"||T==="color.b"||T==="color.t"){let _=Z(W(L.args,0,["color"]),I),R=typeof _==="string"?_:_&&typeof _==="object"&&("r"in _)?_:null;if(T==="color.r")return Q9(R);if(T==="color.g")return U9(R);if(T==="color.b")return S9(R);return O9(R)}if(T==="color.rgb")return $9(Y(Z(W(L.args,0,["red","r"]),I)),Y(Z(W(L.args,1,["green","g"]),I)),Y(Z(W(L.args,2,["blue","b"]),I)),Y(Z(W(L.args,3,["transp","t"]),I))??void 0);if(T==="color.from_gradient"){let _=Z(W(L.args,3,["color1"]),I),R=Z(W(L.args,4,["color2"]),I),$=(G)=>{if(G&&typeof G==="object"&&"r"in G&&"g"in G)return G;if(typeof G==="string")return U5(G);return null};return G9(Y(Z(W(L.args,0,["value"]),I)),Y(Z(W(L.args,1,["bottom_value","bottom"]),I)),Y(Z(W(L.args,2,["top_value","top"]),I)),$(_)??{r:0,g:0,b:0,a:255},$(R)??{r:255,g:255,b:255,a:255})}if(T==="color.new"||T==="color"){let _=Z(W(L.args,0,["color"]),I),R=u1(_);if(!R)return K;let $=Y(Z(W(L.args,1,["transp"]),I));return S5(R.r,R.g,R.b,$??void 0)}return}function P_(T,L,I){if(T==="str.tostring"||T==="str.tostring"){let _=Z(W(L.args,0,["value","source"]),I);if(typeof _==="string")return _;let R=Y(_);return r5(R)}if(T==="str.length"){let _=Z(W(L.args,0,["string","source"]),I);return OT(typeof _==="string"?_:null)}if(T==="str.contains"){let _=Z(W(L.args,0,["source"]),I),R=Z(W(L.args,1,["str"]),I),$=JT(typeof _==="string"?_:null,typeof R==="string"?R:null);return $==null?K:$?1:0}if(T==="str.upper"){let _=Z(W(L.args,0,["source"]),I);return ZT(typeof _==="string"?_:null)}if(T==="str.lower"){let _=Z(W(L.args,0,["source"]),I);return WT(typeof _==="string"?_:null)}if(T==="str.replace"){let _=Z(W(L.args,0,["source"]),I),R=Z(W(L.args,1,["target"]),I),$=Z(W(L.args,2,["replacement"]),I),G=Y(Z(W(L.args,3,["occurrence"]),I));return DT(typeof _==="string"?_:null,typeof R==="string"?R:null,typeof $==="string"?$:null,G)}if(T==="str.replace_all"){let _=Z(W(L.args,0,["source"]),I),R=Z(W(L.args,1,["target"]),I),$=Z(W(L.args,2,["replacement"]),I);return jT(typeof _==="string"?_:null,typeof R==="string"?R:null,typeof $==="string"?$:null)}if(T==="str.startswith"){let _=KT(p(W(L.args,0,["source"]),I),p(W(L.args,1,["str"]),I));return _==null?K:_?1:0}if(T==="str.endswith"){let _=YT(p(W(L.args,0,["source"]),I),p(W(L.args,1,["str"]),I));return _==null?K:_?1:0}if(T==="str.substring"){let _=W(L.args,2,["end_pos","end"]);return XT(p(W(L.args,0,["source"]),I),Y(Z(W(L.args,1,["begin_pos","begin"]),I)),_==null?void 0:Y(Z(_,I)))}if(T==="str.repeat")return BT(p(W(L.args,0,["source"]),I),Y(Z(W(L.args,1,["n","times"]),I)));if(T==="str.trim")return zT(p(W(L.args,0,["source"]),I));if(T==="str.split"){let _=HT(p(W(L.args,0,["source"]),I),p(W(L.args,1,["separator","sep"]),I));return _==null?K:t0(_)}if(T==="str.tonumber"||T==="tonumber")return VT(p(W(L.args,0,["source","string"]),I));if(T==="tostring"){let _=Z(W(L.args,0,["value","source"]),I);return typeof _==="string"?_:r5(Y(_))}if(T==="str.pos")return FT(p(W(L.args,0,["source"]),I),p(W(L.args,1,["str","substr"]),I));if(T==="str.match")return qT(p(W(L.args,0,["source"]),I),p(W(L.args,1,["regex","pattern"]),I));if(T==="str.format_time")return kT(Y(Z(W(L.args,0,["time","timestamp"]),I))??Z(W(L.args,0,["time","timestamp"]),I),p(W(L.args,1,["format"]),I),p(W(L.args,2,["timezone"]),I));if(T==="str.format"){let _=p(W(L.args,0,["formatString","format"]),I),R=$0(L.args).slice(1).map(($)=>{let G=Z($.value,I);return typeof G==="string"?G:Y(G)});return MT(_,...R)}if(T==="str.join"){let _=Z(W(L.args,0,["array","parts"]),I),R=p(W(L.args,1,["separator","sep"]),I),$=J3(_)?_.elts.map((G)=>typeof G==="string"?G:G==null?null:String(Y(G))):null;return $?ET($,R):K}return}function e5(T){if(T==null)return[];return Array.isArray(T)?T:[T]}function V6(T){if(T==null)return[];return Array.isArray(T)?T:[T]}function N_(T,L){if(L.barIndex!==0)return;let I={__udf:!0,params:e5(T.args),body:V6(T.body)};if(L.udfs.set(T.name,I),T.export)L.pendingExports.set(T.name,I);if(T.method){let _=e5(T.args)[0],R=w_(_?.type??null),$=R!=null?c1(L,R):void 0;if($ instanceof m0)$.addMethod(T.name,{name:T.name,params:e5(T.args).map((G)=>({name:G.name})),body:I,exported:Boolean(T.export)})}}function y_(T,L){if(L.barIndex!==0)return;let I=[];for(let R of V6(T.body)){if(R.kind!=="Assign")continue;let $=R;if($.target.kind!=="Name")continue;I.push({name:$.target.id,default:$.value==null?null:Z($.value,L)})}let _=J9(T.name,I);if(j0(L,T.name,_),T.export)L.pendingExports.set(T.name,_)}function b_(T,L){if(L.barIndex!==0)return;let I=[];for(let R of V6(T.body))if(R.kind==="Assign"){let $=R.target;if($.kind==="Name")I.push($.id)}else if(R.kind==="Expr"&&R.value?.kind==="Name")I.push(R.value.id);let _=Z9(T.name,I);if(j0(L,T.name,_),T.export)L.pendingExports.set(T.name,_)}function h_(T,L){let I=T.udfSites.get(L);if(!I)I={ctx:{},series:new Map,varInited:new Set},T.udfSites.set(L,I);for(let _ of I.varInited){let R=I.series.get(_);if(R==null)continue;while(R.length<T.barIndex)R.push(R.current);if(R.length===T.barIndex)R.push(R.current);I.ctx[_]=R.current}T.frames.push(I)}function w_(T){if(T==null)return null;if(T.kind==="Name")return T.id;if(T.kind==="Attribute")return T.attr;return null}function G3(T,L,I,_){let R=$0(L.args),$=new Set;h_(I,O3(L,I));try{let G=0;if(_!==void 0){let U=T.params[G++];if(U)j0(I,U.name,_),$.add(U.name)}for(let U of R){if(q0(U)!=null)continue;let O=T.params[G++];if(O)j0(I,O.name,Z(U.value,I)),$.add(O.name)}for(let U of R){let O=q0(U);if(O==null)continue;if(T.params.some((J)=>J.name===O))j0(I,O,Z(H6(U),I)),$.add(O)}for(let U of T.params)if(!$.has(U.name)&&U.default!=null)j0(I,U.name,Z(U.default,I));let Q=K;for(let U of T.body){let O=U1(U,I);if(U.kind==="Expr"||U.kind==="Assign"||U.kind==="ReAssign")Q=O}return Q}finally{I.frames.pop()}}function c2(T){return typeof T==="object"&&T!==null&&T.__udf===!0}function A_(T,L,I){if(T==="timestamp"){let R=$0(L.args).map(($)=>{let G=Z($.value,I);return typeof G==="string"?G:Y(G)});return m5(...R)}let _=T==="year"||T==="month"||T==="dayofmonth"||T==="dayofweek"||T==="hour"||T==="minute"||T==="second"?T:null;if(_!=null){let R=T3(L,I);if(R==null)return K;return K6(R)[_]}if(T==="weekofyear"){let R=T3(L,I);return R==null?K:d5(R)}if(T==="time_tradingday"){let R=T3(L,I);return R==null?K:l5(R)}return}function T3(T,L){let I=W(T.args,0,["time","timestamp"]);if(I==null)return V(L.ctx.time);return Y(Z(I,L))}function u_(T,L,I,_){let R=T.get(L);if(R===void 0){let $=G1[L];if($)return pT($,I,_);return K}if(c2(R))return G3(R,I,_);if(typeof R==="function")return pT(R,I,_);return R}function pT(T,L,I){let _=[],R={};for(let G of $0(L.args)){let Q=q0(G),U=Z(G.value,I),O=typeof U==="string"?U:Y(U);if(Q)R[Q]=O;else _.push(O)}let $=Object.keys(R).length>0?T(_,R):T(..._);if($==null)return K;if(typeof $==="number"&&Number.isFinite($))return $;if(typeof $==="string")return $;if(Array.isArray($)&&$.every((G)=>typeof G==="number"&&Number.isFinite(G)))return t0($.map((G)=>G));return K}function g_(T,L){if(L.barIndex!==0)return;let I=T.alias||T.name,_=L.libraries.lookup({namespace:T.namespace,name:T.name,version:T.version});if(_==null){let R=L.libraries.getSource(T.namespace,T.name,T.version);if(R!=null){if(f_(L,R,T.name),_=L.libraries.lookup({namespace:T.namespace,name:T.name,version:T.version}),_==null){if(_=L.libraries.lookup({name:T.name}),_!=null)_.namespace=T.namespace,_.version=T.version,L.libraries.register(_)}}}if(_==null){let R=v5(T.name);R.namespace=T.namespace,R.version=T.version,j0(L,I,R);return}if(_.namespace==null)_.namespace=T.namespace;if(_.version==null)_.version=T.version;j0(L,I,_)}function f_(T,L,I){let _;try{_=V2(L)}catch{return}if(_.kind!=="Script")return;let R=_,$=new Map(T.pendingExports);T.pendingExports.clear();let G=null;for(let U of R.body){let O=iT(U);if(O){if(O.kind==="library"&&O.name)G=O.name;continue}let J=U.kind;if(J==="FunctionDef"||J==="TypeDef"||J==="EnumDef"||J==="Import"||J==="Assign")U1(U,T)}let Q=G??I;if(Q)rT(T,Q);T.pendingExports=$}function rT(T,L){let _=T.libraries.lookup({name:L})??new H1(L);for(let[R,$]of T.pendingExports)if(c2($))_.exportFn(R,$);else if($ instanceof m0)$.isExported=!0,_.exportType(R,$);else if($ instanceof g1)_.exportEnum(R,$);else _.setExport(R,$);T.libraries.register(_),T.pendingExports.clear()}class F6 extends Error{status;constructor(T,L){super(T);this.name="ProviderError",this.status=L}}class sT{bars;constructor(T){this.bars=T}async fetch(T){let L=T.limit;if(L==null||L>=this.bars.length)return this.bars.slice();return this.bars.slice(-L)}}class aT{feeds;constructor(T){this.feeds=T}async fetch(T){let L=T.timeframe,I=L!=null&&L!==""?`${T.symbol}:${L}`:void 0,_=(I!==void 0?this.feeds[I]:void 0)??this.feeds[T.symbol]??[];return TL(_,T.limit)}}class nT{url;fetchImpl;mapFn;headers;fetchBars;constructor(T){this.url=T.url,this.fetchImpl=T.fetch??globalThis.fetch.bind(globalThis),this.mapFn=T.map??tT,this.headers=T.headers,this.fetchBars=T.fetchBars}async fetch(T){let L=this.fetchBars?await this.fetchBars(T):await this.getJson(T);return TL(this.mapFn(L),T.limit)}async getJson(T){if(this.url==null)throw new F6("JsonBarProvider requires `url` or `fetchBars`");let L=this.url(T),I=await this.fetchImpl(L,{method:"GET",headers:this.headers});if(!I.ok)throw new F6(`HTTP ${I.status}${I.statusText?` ${I.statusText}`:""}`.trim(),I.status);try{return await I.json()}catch(_){let R=_ instanceof Error?_.message:String(_);throw new F6(`invalid JSON: ${R}`,I.status)}}}var p_=["open","high","low","close","volume","time"];function tT(T){let L=x_(T);if(L==null)return[];let I=[];for(let _ of L){let R=c_(_);if(R!=null)I.push(R)}return I}function x_(T){if(Array.isArray(T))return T;if(T!=null&&typeof T==="object"){let L=T;if(Array.isArray(L.bars))return L.bars;if(Array.isArray(L.data))return L.data}return null}function c_(T){if(T==null||typeof T!=="object")return null;if(Array.isArray(T))return m_(T);let L=T,I={};return P0(I,"time",L.time??L.t),P0(I,"open",L.open??L.o),P0(I,"high",L.high??L.h),P0(I,"low",L.low??L.l),P0(I,"close",L.close??L.c),P0(I,"volume",L.volume??L.v),eT(I)?I:null}function m_(T){if(T.length<5)return null;let L={};if(P0(L,"time",T[0]),P0(L,"open",T[1]),P0(L,"high",T[2]),P0(L,"low",T[3]),P0(L,"close",T[4]),T.length>5)P0(L,"volume",T[5]);return eT(L)?L:null}function P0(T,L,I){let _=l_(I);if(_===void 0)return;T[L]=L==="time"?d_(_):_}function d_(T){return T<1000000000000?T*1000:T}function l_(T){return typeof T==="number"&&Number.isFinite(T)?T:void 0}function eT(T){return p_.some((L)=>T[L]!==void 0)}function TL(T,L){if(L==null||L>=T.length)return T.slice();return T.slice(-L)}export{d5 as weekOfYear,K6 as utcPartsFromMs,r8 as unparse,yL as tokenize,p5 as timestampFromComponents,m5 as timestamp,l5 as timeTradingDay,C5 as tickerStandard,P5 as tickerRenko,b5 as tickerPointfigure,E5 as tickerNew,h5 as tickerModify,y5 as tickerLinebreak,N5 as tickerKagi,j5 as tickerHeikinashi,k5 as runtimeError,x5 as parseTimestampString,V2 as parse,tT as mapJsonBars,xT as interpretTree,bI as interpret,g4 as dump,v5 as createStubModule,JI as applyStubExport,m0 as UdtType,R1 as UdtInstance,I0 as TickerId,u2 as TaEngine,aT as StaticMapProvider,G1 as STUB_KNOWN_EXPORTS,U3 as RuntimeStream,q5 as RuntimeError,Q3 as Runtime,F6 as ProviderError,J6 as PinescriptSyntaxError,p1 as PineSeries,e as PineMatrix,V1 as PineMap,G0 as PineArray,K as NA,sT as MemoryProvider,C2 as LogBook,X6 as LibraryRegistry,H1 as LibraryModule,nT as JsonBarProvider,g1 as EnumType,$1 as EnumMember,j2 as DrawingBook};
|
|
55
|
+
${i}`;return i}function m1(t){return`${ge(t.target)} := ${ge(t.value)}`}function Jc(t){return`${ge(t.target)} ${Up[t.op.kind]??"?"}= ${ge(t.value)}`}function g1(t){if(t.kind==="Script"){let e=t,r=[];for(let i of e.annotations)r.push(i);for(let i of e.body)r.push(Ri(i));return r.join(`
|
|
56
|
+
`)}if(t.kind==="Expression")return ge(t.body);if(t.kind==="Expr")return ge(t.value);if(t.kind==="Assign")return p1(t);if(t.kind==="ReAssign")return m1(t);if(t.kind==="AugAssign")return Jc(t);if(t.kind==="FunctionDef")return d1(t);if(t.kind==="TypeDef")return h1(t);if(t.kind==="EnumDef")return f1(t);if(t.kind==="Param")return c1(t);if(t.kind==="Var")return"var";if(t.kind==="VarIp")return"varip";if(t.kind==="Const")return"const";if(t.kind==="Input")return"input";if(t.kind==="Simple")return"simple";if(t.kind==="Series")return"series";if(t.kind==="Qualify")return Vp(t);if(t.kind==="Specialize")return jp(t);if(t.kind==="Call")return a1(t);if(t.kind==="Name")return t.id;if(t.kind==="Constant")return o1(t);if(t.kind==="Arg")return l1(t);if(t.kind==="Attribute"){let e=t;return`${pn(e.value,Ve.ATOM)}.${e.attr}`}if(t.kind==="Subscript"){let e=t;return`${ge(e.value)}[${Zp(e.slice)}]`}if(t.kind==="BinOp")return Gp(t);if(t.kind==="UnaryOp")return Kp(t);if(t.kind==="Compare")return Wp(t);if(t.kind==="If")return Qp(t);if(t.kind==="Tuple")return Yp(t);if(t.kind==="Conditional")return Xp(t);if(t.kind==="ForTo")return t1(t);if(t.kind==="ForIn")return e1(t);if(t.kind==="While")return r1(t);if(t.kind==="Switch")return i1(t);if(t.kind==="Case")return n1(t);if(t.kind==="BoolOp")return s1(t);if(t.kind==="Import")return u1(t);if(t.kind==="Break")return"break";if(t.kind==="Continue")return"continue";return""}var j2=/(\r?\n)+/g,W2=/(\r?\n)(\s)+/g;function _1(t){return t==null?Je.INVALID_TYPE:t.type}class Kl extends Qd{static _operator_types=null;_operators;_tabLength=4;_indentLength=4;_currentToken=null;_followingToken=null;_pendingTokens=[];_pendingHead=0;_lastPendingTokenType=0;_lastPendingTokenTypeFromDefaultChannel=0;_numOpens=0;_indentLengthStack=[];_inputStarted=!1;constructor(t){super(t);let e=this.constructor,r=e._operator_types;if(r==null)r=new Set([e.AND,e.COLON,e.COLONEQUAL,e.COMMA,e.EQEQUAL,e.EQUAL,e.GREATER,e.GREATEREQUAL,e.LESS,e.LESSEQUAL,e.MINEQUAL,e.MINUS,e.NOTEQUAL,e.OR,e.PERCENT,e.PERCENTEQUAL,e.PLUS,e.PLUSEQUAL,e.QUESTION,e.SLASH,e.SLASHEQUAL,e.STAR,e.STAREQUAL,e.AMP,e.PIPE,e.CARET,e.LSHIFT,e.RSHIFT,e.TILDE]),e._operator_types=r;this._operators=r}get C(){return this.constructor}_resetInternalStates(){this._currentToken=null,this._followingToken=null,this._pendingTokens=[],this._pendingHead=0,this._lastPendingTokenType=0,this._lastPendingTokenTypeFromDefaultChannel=0,this._numOpens=0,this._indentLengthStack=[],this._inputStarted=!1}nextToken(){return this._checkNextToken(),this._popPendingToken()}_checkNextToken(){if(this._lastPendingTokenType===Je.EOF)return;if(this._setNextInternalTokens(),!this._inputStarted)this._handleStartOfInputIfNecessary();let t=this._currentToken,e=t.type,r=this.C;if(e===r.LPAR||e===r.LSQB)this._numOpens+=1,this._addPendingToken(t);else if(e===r.RPAR||e===r.RSQB)this._numOpens-=1,this._addPendingToken(t);else if(e===r.NEWLINE)this._handleNEWLINEToken();else if(e===r.STRING)this._handleSTRINGToken();else if(e===r.ERROR_TOKEN){let i="token recognition error at: '"+t.text+"'";this._reportLexerError(i,t),this._addPendingToken(t)}else if(e===Je.EOF)this._handleEOFToken();else this._addPendingToken(t)}_setNextInternalTokens(){this._currentToken=this._followingToken==null?super.nextToken():this._followingToken,this._followingToken=this._currentToken.type===Je.EOF?this._currentToken:super.nextToken()}_handleStartOfInputIfNecessary(){if(this._inputStarted)return;this._inputStarted=!0,this._indentLengthStack.push(0);while(this._currentToken.type!==Je.EOF){if(this._currentToken.channel===Je.DEFAULT_CHANNEL)if(this._currentToken.type===this.C.NEWLINE)this._hideAndAddPendingToken(this._currentToken);else{this._checkLeadingIndentIfAny();return}else this._addPendingToken(this._currentToken);this._setNextInternalTokens()}}_checkLeadingIndentIfAny(){if(this._lastPendingTokenType===this.C.WS){let t=this._pendingTokens[this._pendingTokens.length-1];if(this._getIndentationLength(t.text??"")!==0)this._reportLexerError("first statement indented",this._currentToken),this._createAndAddPendingToken(this.C.INDENT,Je.DEFAULT_CHANNEL,"first statement indented",this._currentToken)}}_getIndentationLength(t){let e=0,r=this._tabLength;for(let i of t)if(i===" ")e+=1;else if(i==="\t")e+=r;else if(i==="\f")e=0;return e}_createAndAddPendingToken(t,e,r,i){let n=i.clone();n.type=t,n.channel=e,n.stop=i.start-1;let o=this.C.symbolicNames??this.getSymbolicNames();n.text=r==null?"<"+String(o?.[t]??t)+">":r,this._addPendingToken(n)}_addPendingToken(t){if(this._lastPendingTokenType=t.type,t.channel===Je.DEFAULT_CHANNEL)this._lastPendingTokenTypeFromDefaultChannel=this._lastPendingTokenType;this._pendingTokens.push(t)}_hideAndAddPendingToken(t){t.channel=Je.HIDDEN_CHANNEL,this._addPendingToken(t)}_popPendingToken(){let t=this._pendingTokens[this._pendingHead];if(this._pendingHead+=1,this._pendingHead>32&&this._pendingHead*2>this._pendingTokens.length)this._pendingTokens=this._pendingTokens.slice(this._pendingHead),this._pendingHead=0;return t}_handleNEWLINEToken(){if(this._numOpens>0||this._operators.has(this._lastPendingTokenTypeFromDefaultChannel)){this._hideAndAddPendingToken(this._currentToken);return}let t=this._currentToken,e=_1(this._followingToken),r=e===this.C.WS;if(r)this._setNextInternalTokens(),e=_1(this._followingToken);if(e===this.C.NEWLINE||e===this.C.COMMENT){if(this._hideAndAddPendingToken(t),r)this._addPendingToken(this._currentToken)}else if(r){let i=e===Je.EOF?0:this._getIndentationLength(this._currentToken.text??"");if(i%this._indentLength===0)this._addPendingToken(t),this._addPendingToken(this._currentToken),this._insertIndentOrDedentToken(i);else this._hideAndAddPendingToken(t),this._addPendingToken(this._currentToken)}else this._addPendingToken(t),this._insertIndentOrDedentToken(0)}_insertIndentOrDedentToken(t){let e=this._indentLengthStack[this._indentLengthStack.length-1]??0;if(t>e)this._createAndAddPendingToken(this.C.INDENT,Je.DEFAULT_CHANNEL,null,this._followingToken),this._indentLengthStack.push(t);else while(t<e)if(this._indentLengthStack.pop(),e=this._indentLengthStack[this._indentLengthStack.length-1]??0,t<=e)this._createAndAddPendingToken(this.C.DEDENT,Je.DEFAULT_CHANNEL,null,this._followingToken);else this._reportLexerError("inconsistent dedent",this._followingToken),this._createAndAddPendingToken(this.C.ERROR_TOKEN,Je.DEFAULT_CHANNEL,"inconsistent dedent",this._followingToken)}_handleSTRINGToken(){let t=this._currentToken.text??"";if(t.startsWith('"""')||t.startsWith("'''")){this._addPendingToken(this._currentToken);return}if(!t.includes(`
|
|
57
|
+
`)&&!t.includes("\r")){this._addPendingToken(this._currentToken);return}let e=t.replace(j2,"$1");if(e=e.replace(W2,""),t.length===e.length)this._addPendingToken(this._currentToken);else{let r=this._currentToken.clone();this._currentToken.text=e,this._addPendingToken(this._currentToken),this._hideAndAddPendingToken(r)}}_insertTrailingTokens(){let t=this._lastPendingTokenTypeFromDefaultChannel;if(t!==this.C.NEWLINE&&t!==this.C.DEDENT)this._createAndAddPendingToken(this.C.NEWLINE,Je.DEFAULT_CHANNEL,null,this._followingToken);this._insertIndentOrDedentToken(0)}_handleEOFToken(){if(this._lastPendingTokenTypeFromDefaultChannel>0)this._insertTrailingTokens();this._addPendingToken(this._currentToken)}_reportLexerError(t,e){this.getErrorListener().syntaxError(this,e.type,e.line,e.column,t,void 0)}reset(){this._resetInternalStates(),super.reset()}}class Sr extends Kl{static INDENT=1;static DEDENT=2;static AND=3;static AS=4;static BREAK=5;static BY=6;static CONST=7;static CONTINUE=8;static ELSE=9;static ENUM=10;static EXPORT=11;static FALSE=12;static FOR=13;static IF=14;static IMPORT=15;static IN=16;static INPUT=17;static METHOD=18;static NOT=19;static ONCE=20;static OR=21;static SERIES=22;static SIMPLE=23;static SWITCH=24;static TO=25;static TYPE=26;static TRUE=27;static VAR=28;static VARIP=29;static WHILE=30;static LPAR=31;static RPAR=32;static LSQB=33;static RSQB=34;static LSHIFT=35;static RSHIFT=36;static LESSEQUAL=37;static GREATEREQUAL=38;static EQEQUAL=39;static NOTEQUAL=40;static LESS=41;static GREATER=42;static EQUAL=43;static RARROW=44;static DOT=45;static COMMA=46;static COLON=47;static QUESTION=48;static TILDE=49;static AMP=50;static PIPE=51;static CARET=52;static PLUS=53;static MINUS=54;static STAR=55;static SLASH=56;static PERCENT=57;static PLUSEQUAL=58;static MINEQUAL=59;static STAREQUAL=60;static SLASHEQUAL=61;static PERCENTEQUAL=62;static COLONEQUAL=63;static NAME=64;static NUMBER=65;static STRING=66;static COLOR=67;static NEWLINE=68;static WS=69;static COMMENT=70;static UNICODE_NOISE=71;static ERROR_TOKEN=72;static EOF=Je.EOF;static COMMENT_CHANNEL=2;static channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN","COMMENT_CHANNEL"];static literalNames=[null,null,null,"'and'","'as'","'break'","'by'","'const'","'continue'","'else'","'enum'","'export'","'false'","'for'","'if'","'import'","'in'","'input'","'method'","'not'","'once'","'or'","'series'","'simple'","'switch'","'to'","'type'","'true'","'var'","'varip'","'while'","'('","')'","'['","']'","'<<'","'>>'","'<='","'>='","'=='","'!='","'<'","'>'","'='","'=>'","'.'","','","':'","'?'","'~'","'&'","'|'","'^'","'+'","'-'","'*'","'/'","'%'","'+='","'-='","'*='","'/='","'%='","':='"];static symbolicNames=[null,"INDENT","DEDENT","AND","AS","BREAK","BY","CONST","CONTINUE","ELSE","ENUM","EXPORT","FALSE","FOR","IF","IMPORT","IN","INPUT","METHOD","NOT","ONCE","OR","SERIES","SIMPLE","SWITCH","TO","TYPE","TRUE","VAR","VARIP","WHILE","LPAR","RPAR","LSQB","RSQB","LSHIFT","RSHIFT","LESSEQUAL","GREATEREQUAL","EQEQUAL","NOTEQUAL","LESS","GREATER","EQUAL","RARROW","DOT","COMMA","COLON","QUESTION","TILDE","AMP","PIPE","CARET","PLUS","MINUS","STAR","SLASH","PERCENT","PLUSEQUAL","MINEQUAL","STAREQUAL","SLASHEQUAL","PERCENTEQUAL","COLONEQUAL","NAME","NUMBER","STRING","COLOR","NEWLINE","WS","COMMENT","UNICODE_NOISE","ERROR_TOKEN"];static modeNames=["DEFAULT_MODE"];static ruleNames=["AND","AS","BREAK","BY","CONST","CONTINUE","ELSE","ENUM","EXPORT","FALSE","FOR","IF","IMPORT","IN","INPUT","METHOD","NOT","ONCE","OR","SERIES","SIMPLE","SWITCH","TO","TYPE","TRUE","VAR","VARIP","WHILE","LPAR","RPAR","LSQB","RSQB","LSHIFT","RSHIFT","LESSEQUAL","GREATEREQUAL","EQEQUAL","NOTEQUAL","LESS","GREATER","EQUAL","RARROW","DOT","COMMA","COLON","QUESTION","TILDE","AMP","PIPE","CARET","PLUS","MINUS","STAR","SLASH","PERCENT","PLUSEQUAL","MINEQUAL","STAREQUAL","SLASHEQUAL","PERCENTEQUAL","COLONEQUAL","NAME","NUMBER","STRING","COLOR","NEWLINE","WS","COMMENT","BLOCK_COMMENT","HASH_COMMENT","BACKTICKS","UNICODE_NOISE","ERROR_TOKEN","TRIPLE_DQ_STRING","TRIPLE_SQ_STRING","STRING_LITERAL","SINGLE_QUOTED_STRING","DOUBLE_QUOTED_STRING","STRING_ITEM_FOR_SINGLE_QUOTE","STRING_ITEM_FOR_DOUBLE_QUOTE","STRING_CHAR_NO_SINGLE_QUOTE","STRING_CHAR_NO_DOUBLE_QUOTE","STRING_ESCAPE_SEQ","COLOR_LITERAL","COLOR_LITERAL_RGBA","COLOR_LITERAL_RGB","NUMBER_LITERAL","INTEGER","DEC_INTEGER","BIN_INTEGER","OCT_INTEGER","HEX_INTEGER","NON_ZERO_DIGIT","DIGIT","BIN_DIGIT","OCT_DIGIT","HEX_DIGIT","FLOAT_NUMBER","POINT_FLOAT","EXPONENT_FLOAT","DIGIT_PART","FRACTION","EXPONENT","IMAG_NUMBER","OS_INDEPENDENT_NL","ID_START","ID_CONTINUE"];constructor(t){super(t);this._interp=new Yd(this,Sr._ATN,Sr.DecisionsToDFA,new ql)}get grammarFileName(){return"PinescriptLexer.g4"}get literalNames(){return Sr.literalNames}get symbolicNames(){return Sr.symbolicNames}get ruleNames(){return Sr.ruleNames}get serializedATN(){return Sr._serializedATN}get channelNames(){return Sr.channelNames}get modeNames(){return Sr.modeNames}static _serializedATN=[4,0,72,753,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,17,1,17,1,17,1,17,1,17,1,18,1,18,1,18,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,21,1,21,1,21,1,21,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,24,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,29,1,29,1,30,1,30,1,31,1,31,1,32,1,32,1,32,1,33,1,33,1,33,1,34,1,34,1,34,1,35,1,35,1,35,1,36,1,36,1,36,1,37,1,37,1,37,1,38,1,38,1,39,1,39,1,40,1,40,1,41,1,41,1,41,1,42,1,42,1,43,1,43,1,44,1,44,1,45,1,45,1,46,1,46,1,47,1,47,1,48,1,48,1,49,1,49,1,50,1,50,1,51,1,51,1,52,1,52,1,53,1,53,1,54,1,54,1,55,1,55,1,55,1,56,1,56,1,56,1,57,1,57,1,57,1,58,1,58,1,58,1,59,1,59,1,59,1,60,1,60,1,60,1,61,1,61,5,61,443,8,61,10,61,12,61,446,9,61,1,62,1,62,1,63,1,63,1,64,1,64,1,65,1,65,1,66,4,66,457,8,66,11,66,12,66,458,1,66,1,66,1,67,1,67,1,67,1,67,5,67,467,8,67,10,67,12,67,470,9,67,1,67,1,67,1,68,1,68,1,68,1,68,5,68,478,8,68,10,68,12,68,481,9,68,1,68,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,5,69,492,8,69,10,69,12,69,495,9,69,1,69,1,69,5,69,499,8,69,10,69,12,69,502,9,69,3,69,504,8,69,1,69,1,69,1,69,1,70,4,70,510,8,70,11,70,12,70,511,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,5,73,534,8,73,10,73,12,73,537,9,73,1,73,1,73,1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,1,74,5,74,556,8,74,10,74,12,74,559,9,74,1,74,1,74,1,74,1,74,1,74,1,74,1,75,1,75,3,75,569,8,75,1,76,1,76,5,76,573,8,76,10,76,12,76,576,9,76,1,76,1,76,1,77,1,77,5,77,582,8,77,10,77,12,77,585,9,77,1,77,1,77,1,78,1,78,3,78,591,8,78,1,79,1,79,3,79,595,8,79,1,80,1,80,1,81,1,81,1,82,1,82,1,82,1,83,1,83,3,83,606,8,83,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,85,1,86,1,86,1,86,3,86,629,8,86,1,87,1,87,1,87,1,87,3,87,635,8,87,1,88,1,88,3,88,639,8,88,1,88,5,88,642,8,88,10,88,12,88,645,9,88,1,88,1,88,3,88,649,8,88,1,88,5,88,652,8,88,10,88,12,88,655,9,88,3,88,657,8,88,1,89,1,89,1,89,3,89,662,8,89,1,89,4,89,665,8,89,11,89,12,89,666,1,90,1,90,1,90,3,90,672,8,90,1,90,4,90,675,8,90,11,90,12,90,676,1,91,1,91,1,91,3,91,682,8,91,1,91,4,91,685,8,91,11,91,12,91,686,1,92,1,92,1,93,1,93,1,94,1,94,1,95,1,95,1,96,1,96,3,96,699,8,96,1,97,1,97,3,97,703,8,97,1,98,3,98,706,8,98,1,98,1,98,1,98,1,98,3,98,712,8,98,1,99,1,99,3,99,716,8,99,1,99,1,99,1,100,1,100,3,100,722,8,100,1,100,5,100,725,8,100,10,100,12,100,728,9,100,1,101,1,101,1,101,1,102,1,102,3,102,735,8,102,1,102,1,102,1,103,1,103,3,103,741,8,103,1,103,1,103,1,104,3,104,746,8,104,1,104,1,104,1,105,1,105,1,106,1,106,1,479,0,107,1,3,3,4,5,5,7,6,9,7,11,8,13,9,15,10,17,11,19,12,21,13,23,14,25,15,27,16,29,17,31,18,33,19,35,20,37,21,39,22,41,23,43,24,45,25,47,26,49,27,51,28,53,29,55,30,57,31,59,32,61,33,63,34,65,35,67,36,69,37,71,38,73,39,75,40,77,41,79,42,81,43,83,44,85,45,87,46,89,47,91,48,93,49,95,50,97,51,99,52,101,53,103,54,105,55,107,56,109,57,111,58,113,59,115,60,117,61,119,62,121,63,123,64,125,65,127,66,129,67,131,68,133,69,135,70,137,0,139,0,141,0,143,71,145,72,147,0,149,0,151,0,153,0,155,0,157,0,159,0,161,0,163,0,165,0,167,0,169,0,171,0,173,0,175,0,177,0,179,0,181,0,183,0,185,0,187,0,189,0,191,0,193,0,195,0,197,0,199,0,201,0,203,0,205,0,207,0,209,0,211,0,213,0,1,0,20,3,0,9,9,12,12,32,32,2,0,10,10,13,13,5,0,10,10,13,13,48,57,65,70,97,102,7,0,183,183,8211,8212,8216,8217,8220,8221,8226,8226,8592,8595,8656,8659,1,0,34,34,1,0,39,39,2,0,39,39,92,92,2,0,34,34,92,92,2,0,66,66,98,98,2,0,79,79,111,111,2,0,88,88,120,120,1,0,49,57,1,0,48,57,1,0,48,55,2,0,65,70,97,102,2,0,69,69,101,101,2,0,43,43,45,45,2,0,74,74,106,106,660,0,65,90,95,95,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2160,2183,2185,2190,2208,2249,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3165,3165,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3293,3294,3296,3297,3313,3314,3332,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5873,5880,5888,5905,5919,5937,5952,5969,5984,5996,5998,6000,6016,6067,6103,6103,6108,6108,6176,6264,6272,6276,6279,6312,6314,6314,6320,6389,6400,6430,6480,6509,6512,6516,6528,6571,6576,6601,6656,6678,6688,6740,6823,6823,6917,6963,6981,6988,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8579,8580,11264,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12294,12337,12341,12347,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12735,12784,12799,13312,19903,19968,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42653,42656,42725,42775,42783,42786,42888,42891,42954,42960,42961,42963,42963,42965,42969,42994,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43261,43262,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43488,43492,43494,43503,43514,43518,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43881,43888,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,66176,66204,66208,66256,66304,66335,66349,66368,66370,66377,66384,66421,66432,66461,66464,66499,66504,66511,66560,66717,66736,66771,66776,66811,66816,66855,66864,66915,66928,66938,66940,66954,66956,66962,66964,66965,66967,66977,66979,66993,66995,67001,67003,67004,67072,67382,67392,67413,67424,67431,67456,67461,67463,67504,67506,67514,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,69248,69289,69296,69297,69376,69404,69415,69415,69424,69445,69488,69505,69552,69572,69600,69622,69635,69687,69745,69746,69749,69749,69763,69807,69840,69864,69891,69926,69956,69956,69959,69959,69968,70002,70006,70006,70019,70066,70081,70084,70106,70106,70108,70108,70144,70161,70163,70187,70207,70208,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70751,70753,70784,70831,70852,70853,70855,70855,71040,71086,71128,71131,71168,71215,71236,71236,71296,71338,71352,71352,71424,71450,71488,71494,71680,71723,71840,71903,71935,71942,71945,71945,71948,71955,71957,71958,71960,71983,71999,71999,72001,72001,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72368,72440,72704,72712,72714,72750,72768,72768,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73056,73061,73063,73064,73066,73097,73112,73112,73440,73458,73474,73474,73476,73488,73490,73523,73648,73648,73728,74649,74880,75075,77712,77808,77824,78895,78913,78918,82944,83526,92160,92728,92736,92766,92784,92862,92880,92909,92928,92975,92992,92995,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101589,101632,101640,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,122624,122654,122661,122666,122928,122989,123136,123180,123191,123197,123214,123214,123536,123565,123584,123627,124112,124139,124896,124902,124904,124907,124909,124910,124912,124926,124928,125124,125184,125251,125259,125259,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173791,173824,177977,177984,178205,178208,183969,183984,191456,194560,195101,196608,201546,201552,205743,706,0,48,57,65,90,95,95,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1632,1641,1646,1647,1649,1747,1749,1749,1765,1766,1774,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1984,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2160,2183,2185,2190,2208,2249,2308,2361,2365,2365,2384,2384,2392,2401,2406,2415,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2534,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2662,2671,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2790,2799,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2918,2927,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3046,3055,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3165,3165,3168,3169,3174,3183,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3293,3294,3296,3297,3302,3311,3313,3314,3332,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3430,3439,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3558,3567,3585,3632,3634,3635,3648,3654,3664,3673,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3792,3801,3804,3807,3840,3840,3872,3881,3904,3911,3913,3948,3976,3980,4096,4138,4159,4169,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4240,4249,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5873,5880,5888,5905,5919,5937,5952,5969,5984,5996,5998,6000,6016,6067,6103,6103,6108,6108,6112,6121,6160,6169,6176,6264,6272,6276,6279,6312,6314,6314,6320,6389,6400,6430,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6678,6688,6740,6784,6793,6800,6809,6823,6823,6917,6963,6981,6988,6992,7001,7043,7072,7086,7141,7168,7203,7232,7241,7245,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8579,8580,11264,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12294,12337,12341,12347,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12735,12784,12799,13312,19903,19968,42124,42192,42237,42240,42508,42512,42539,42560,42606,42623,42653,42656,42725,42775,42783,42786,42888,42891,42954,42960,42961,42963,42963,42965,42969,42994,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43216,43225,43250,43255,43259,43259,43261,43262,43264,43301,43312,43334,43360,43388,43396,43442,43471,43481,43488,43492,43494,43518,43520,43560,43584,43586,43588,43595,43600,43609,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43881,43888,44002,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65296,65305,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,66176,66204,66208,66256,66304,66335,66349,66368,66370,66377,66384,66421,66432,66461,66464,66499,66504,66511,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,66928,66938,66940,66954,66956,66962,66964,66965,66967,66977,66979,66993,66995,67001,67003,67004,67072,67382,67392,67413,67424,67431,67456,67461,67463,67504,67506,67514,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,68912,68921,69248,69289,69296,69297,69376,69404,69415,69415,69424,69445,69488,69505,69552,69572,69600,69622,69635,69687,69734,69743,69745,69746,69749,69749,69763,69807,69840,69864,69872,69881,69891,69926,69942,69951,69956,69956,69959,69959,69968,70002,70006,70006,70019,70066,70081,70084,70096,70106,70108,70108,70144,70161,70163,70187,70207,70208,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70384,70393,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70736,70745,70751,70753,70784,70831,70852,70853,70855,70855,70864,70873,71040,71086,71128,71131,71168,71215,71236,71236,71248,71257,71296,71338,71352,71352,71360,71369,71424,71450,71472,71481,71488,71494,71680,71723,71840,71913,71935,71942,71945,71945,71948,71955,71957,71958,71960,71983,71999,71999,72001,72001,72016,72025,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72368,72440,72704,72712,72714,72750,72768,72768,72784,72793,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73040,73049,73056,73061,73063,73064,73066,73097,73112,73112,73120,73129,73440,73458,73474,73474,73476,73488,73490,73523,73552,73561,73648,73648,73728,74649,74880,75075,77712,77808,77824,78895,78913,78918,82944,83526,92160,92728,92736,92766,92768,92777,92784,92862,92864,92873,92880,92909,92928,92975,92992,92995,93008,93017,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101589,101632,101640,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,120782,120831,122624,122654,122661,122666,122928,122989,123136,123180,123191,123197,123200,123209,123214,123214,123536,123565,123584,123627,123632,123641,124112,124139,124144,124153,124896,124902,124904,124907,124909,124910,124912,124926,124928,125124,125184,125251,125259,125259,125264,125273,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,130032,130041,131072,173791,173824,177977,177984,178205,178208,183969,183984,191456,194560,195101,196608,201546,201552,205743,766,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,0,147,1,0,0,0,0,149,1,0,0,0,1,215,1,0,0,0,3,219,1,0,0,0,5,222,1,0,0,0,7,228,1,0,0,0,9,231,1,0,0,0,11,237,1,0,0,0,13,246,1,0,0,0,15,251,1,0,0,0,17,256,1,0,0,0,19,263,1,0,0,0,21,269,1,0,0,0,23,273,1,0,0,0,25,276,1,0,0,0,27,283,1,0,0,0,29,286,1,0,0,0,31,292,1,0,0,0,33,299,1,0,0,0,35,303,1,0,0,0,37,308,1,0,0,0,39,311,1,0,0,0,41,318,1,0,0,0,43,325,1,0,0,0,45,332,1,0,0,0,47,335,1,0,0,0,49,340,1,0,0,0,51,345,1,0,0,0,53,349,1,0,0,0,55,355,1,0,0,0,57,361,1,0,0,0,59,363,1,0,0,0,61,365,1,0,0,0,63,367,1,0,0,0,65,369,1,0,0,0,67,372,1,0,0,0,69,375,1,0,0,0,71,378,1,0,0,0,73,381,1,0,0,0,75,384,1,0,0,0,77,387,1,0,0,0,79,389,1,0,0,0,81,391,1,0,0,0,83,393,1,0,0,0,85,396,1,0,0,0,87,398,1,0,0,0,89,400,1,0,0,0,91,402,1,0,0,0,93,404,1,0,0,0,95,406,1,0,0,0,97,408,1,0,0,0,99,410,1,0,0,0,101,412,1,0,0,0,103,414,1,0,0,0,105,416,1,0,0,0,107,418,1,0,0,0,109,420,1,0,0,0,111,422,1,0,0,0,113,425,1,0,0,0,115,428,1,0,0,0,117,431,1,0,0,0,119,434,1,0,0,0,121,437,1,0,0,0,123,440,1,0,0,0,125,447,1,0,0,0,127,449,1,0,0,0,129,451,1,0,0,0,131,453,1,0,0,0,133,456,1,0,0,0,135,462,1,0,0,0,137,473,1,0,0,0,139,488,1,0,0,0,141,509,1,0,0,0,143,516,1,0,0,0,145,520,1,0,0,0,147,522,1,0,0,0,149,544,1,0,0,0,151,568,1,0,0,0,153,570,1,0,0,0,155,579,1,0,0,0,157,590,1,0,0,0,159,594,1,0,0,0,161,596,1,0,0,0,163,598,1,0,0,0,165,600,1,0,0,0,167,605,1,0,0,0,169,607,1,0,0,0,171,617,1,0,0,0,173,628,1,0,0,0,175,634,1,0,0,0,177,656,1,0,0,0,179,658,1,0,0,0,181,668,1,0,0,0,183,678,1,0,0,0,185,688,1,0,0,0,187,690,1,0,0,0,189,692,1,0,0,0,191,694,1,0,0,0,193,698,1,0,0,0,195,702,1,0,0,0,197,711,1,0,0,0,199,715,1,0,0,0,201,719,1,0,0,0,203,729,1,0,0,0,205,732,1,0,0,0,207,740,1,0,0,0,209,745,1,0,0,0,211,749,1,0,0,0,213,751,1,0,0,0,215,216,5,97,0,0,216,217,5,110,0,0,217,218,5,100,0,0,218,2,1,0,0,0,219,220,5,97,0,0,220,221,5,115,0,0,221,4,1,0,0,0,222,223,5,98,0,0,223,224,5,114,0,0,224,225,5,101,0,0,225,226,5,97,0,0,226,227,5,107,0,0,227,6,1,0,0,0,228,229,5,98,0,0,229,230,5,121,0,0,230,8,1,0,0,0,231,232,5,99,0,0,232,233,5,111,0,0,233,234,5,110,0,0,234,235,5,115,0,0,235,236,5,116,0,0,236,10,1,0,0,0,237,238,5,99,0,0,238,239,5,111,0,0,239,240,5,110,0,0,240,241,5,116,0,0,241,242,5,105,0,0,242,243,5,110,0,0,243,244,5,117,0,0,244,245,5,101,0,0,245,12,1,0,0,0,246,247,5,101,0,0,247,248,5,108,0,0,248,249,5,115,0,0,249,250,5,101,0,0,250,14,1,0,0,0,251,252,5,101,0,0,252,253,5,110,0,0,253,254,5,117,0,0,254,255,5,109,0,0,255,16,1,0,0,0,256,257,5,101,0,0,257,258,5,120,0,0,258,259,5,112,0,0,259,260,5,111,0,0,260,261,5,114,0,0,261,262,5,116,0,0,262,18,1,0,0,0,263,264,5,102,0,0,264,265,5,97,0,0,265,266,5,108,0,0,266,267,5,115,0,0,267,268,5,101,0,0,268,20,1,0,0,0,269,270,5,102,0,0,270,271,5,111,0,0,271,272,5,114,0,0,272,22,1,0,0,0,273,274,5,105,0,0,274,275,5,102,0,0,275,24,1,0,0,0,276,277,5,105,0,0,277,278,5,109,0,0,278,279,5,112,0,0,279,280,5,111,0,0,280,281,5,114,0,0,281,282,5,116,0,0,282,26,1,0,0,0,283,284,5,105,0,0,284,285,5,110,0,0,285,28,1,0,0,0,286,287,5,105,0,0,287,288,5,110,0,0,288,289,5,112,0,0,289,290,5,117,0,0,290,291,5,116,0,0,291,30,1,0,0,0,292,293,5,109,0,0,293,294,5,101,0,0,294,295,5,116,0,0,295,296,5,104,0,0,296,297,5,111,0,0,297,298,5,100,0,0,298,32,1,0,0,0,299,300,5,110,0,0,300,301,5,111,0,0,301,302,5,116,0,0,302,34,1,0,0,0,303,304,5,111,0,0,304,305,5,110,0,0,305,306,5,99,0,0,306,307,5,101,0,0,307,36,1,0,0,0,308,309,5,111,0,0,309,310,5,114,0,0,310,38,1,0,0,0,311,312,5,115,0,0,312,313,5,101,0,0,313,314,5,114,0,0,314,315,5,105,0,0,315,316,5,101,0,0,316,317,5,115,0,0,317,40,1,0,0,0,318,319,5,115,0,0,319,320,5,105,0,0,320,321,5,109,0,0,321,322,5,112,0,0,322,323,5,108,0,0,323,324,5,101,0,0,324,42,1,0,0,0,325,326,5,115,0,0,326,327,5,119,0,0,327,328,5,105,0,0,328,329,5,116,0,0,329,330,5,99,0,0,330,331,5,104,0,0,331,44,1,0,0,0,332,333,5,116,0,0,333,334,5,111,0,0,334,46,1,0,0,0,335,336,5,116,0,0,336,337,5,121,0,0,337,338,5,112,0,0,338,339,5,101,0,0,339,48,1,0,0,0,340,341,5,116,0,0,341,342,5,114,0,0,342,343,5,117,0,0,343,344,5,101,0,0,344,50,1,0,0,0,345,346,5,118,0,0,346,347,5,97,0,0,347,348,5,114,0,0,348,52,1,0,0,0,349,350,5,118,0,0,350,351,5,97,0,0,351,352,5,114,0,0,352,353,5,105,0,0,353,354,5,112,0,0,354,54,1,0,0,0,355,356,5,119,0,0,356,357,5,104,0,0,357,358,5,105,0,0,358,359,5,108,0,0,359,360,5,101,0,0,360,56,1,0,0,0,361,362,5,40,0,0,362,58,1,0,0,0,363,364,5,41,0,0,364,60,1,0,0,0,365,366,5,91,0,0,366,62,1,0,0,0,367,368,5,93,0,0,368,64,1,0,0,0,369,370,5,60,0,0,370,371,5,60,0,0,371,66,1,0,0,0,372,373,5,62,0,0,373,374,5,62,0,0,374,68,1,0,0,0,375,376,5,60,0,0,376,377,5,61,0,0,377,70,1,0,0,0,378,379,5,62,0,0,379,380,5,61,0,0,380,72,1,0,0,0,381,382,5,61,0,0,382,383,5,61,0,0,383,74,1,0,0,0,384,385,5,33,0,0,385,386,5,61,0,0,386,76,1,0,0,0,387,388,5,60,0,0,388,78,1,0,0,0,389,390,5,62,0,0,390,80,1,0,0,0,391,392,5,61,0,0,392,82,1,0,0,0,393,394,5,61,0,0,394,395,5,62,0,0,395,84,1,0,0,0,396,397,5,46,0,0,397,86,1,0,0,0,398,399,5,44,0,0,399,88,1,0,0,0,400,401,5,58,0,0,401,90,1,0,0,0,402,403,5,63,0,0,403,92,1,0,0,0,404,405,5,126,0,0,405,94,1,0,0,0,406,407,5,38,0,0,407,96,1,0,0,0,408,409,5,124,0,0,409,98,1,0,0,0,410,411,5,94,0,0,411,100,1,0,0,0,412,413,5,43,0,0,413,102,1,0,0,0,414,415,5,45,0,0,415,104,1,0,0,0,416,417,5,42,0,0,417,106,1,0,0,0,418,419,5,47,0,0,419,108,1,0,0,0,420,421,5,37,0,0,421,110,1,0,0,0,422,423,5,43,0,0,423,424,5,61,0,0,424,112,1,0,0,0,425,426,5,45,0,0,426,427,5,61,0,0,427,114,1,0,0,0,428,429,5,42,0,0,429,430,5,61,0,0,430,116,1,0,0,0,431,432,5,47,0,0,432,433,5,61,0,0,433,118,1,0,0,0,434,435,5,37,0,0,435,436,5,61,0,0,436,120,1,0,0,0,437,438,5,58,0,0,438,439,5,61,0,0,439,122,1,0,0,0,440,444,3,211,105,0,441,443,3,213,106,0,442,441,1,0,0,0,443,446,1,0,0,0,444,442,1,0,0,0,444,445,1,0,0,0,445,124,1,0,0,0,446,444,1,0,0,0,447,448,3,173,86,0,448,126,1,0,0,0,449,450,3,151,75,0,450,128,1,0,0,0,451,452,3,167,83,0,452,130,1,0,0,0,453,454,3,209,104,0,454,132,1,0,0,0,455,457,7,0,0,0,456,455,1,0,0,0,457,458,1,0,0,0,458,456,1,0,0,0,458,459,1,0,0,0,459,460,1,0,0,0,460,461,6,66,0,0,461,134,1,0,0,0,462,463,5,47,0,0,463,464,5,47,0,0,464,468,1,0,0,0,465,467,8,1,0,0,466,465,1,0,0,0,467,470,1,0,0,0,468,466,1,0,0,0,468,469,1,0,0,0,469,471,1,0,0,0,470,468,1,0,0,0,471,472,6,67,1,0,472,136,1,0,0,0,473,474,5,47,0,0,474,475,5,42,0,0,475,479,1,0,0,0,476,478,9,0,0,0,477,476,1,0,0,0,478,481,1,0,0,0,479,480,1,0,0,0,479,477,1,0,0,0,480,482,1,0,0,0,481,479,1,0,0,0,482,483,5,42,0,0,483,484,5,47,0,0,484,485,1,0,0,0,485,486,6,68,2,0,486,487,6,68,1,0,487,138,1,0,0,0,488,503,5,35,0,0,489,493,7,0,0,0,490,492,8,1,0,0,491,490,1,0,0,0,492,495,1,0,0,0,493,491,1,0,0,0,493,494,1,0,0,0,494,504,1,0,0,0,495,493,1,0,0,0,496,500,8,2,0,0,497,499,8,1,0,0,498,497,1,0,0,0,499,502,1,0,0,0,500,498,1,0,0,0,500,501,1,0,0,0,501,504,1,0,0,0,502,500,1,0,0,0,503,489,1,0,0,0,503,496,1,0,0,0,504,505,1,0,0,0,505,506,6,69,2,0,506,507,6,69,1,0,507,140,1,0,0,0,508,510,5,96,0,0,509,508,1,0,0,0,510,511,1,0,0,0,511,509,1,0,0,0,511,512,1,0,0,0,512,513,1,0,0,0,513,514,6,70,2,0,514,515,6,70,1,0,515,142,1,0,0,0,516,517,7,3,0,0,517,518,1,0,0,0,518,519,6,71,0,0,519,144,1,0,0,0,520,521,9,0,0,0,521,146,1,0,0,0,522,523,5,34,0,0,523,524,5,34,0,0,524,525,5,34,0,0,525,535,1,0,0,0,526,534,8,4,0,0,527,528,5,34,0,0,528,534,8,4,0,0,529,530,5,34,0,0,530,531,5,34,0,0,531,532,1,0,0,0,532,534,8,4,0,0,533,526,1,0,0,0,533,527,1,0,0,0,533,529,1,0,0,0,534,537,1,0,0,0,535,533,1,0,0,0,535,536,1,0,0,0,536,538,1,0,0,0,537,535,1,0,0,0,538,539,5,34,0,0,539,540,5,34,0,0,540,541,5,34,0,0,541,542,1,0,0,0,542,543,6,73,3,0,543,148,1,0,0,0,544,545,5,39,0,0,545,546,5,39,0,0,546,547,5,39,0,0,547,557,1,0,0,0,548,556,8,5,0,0,549,550,5,39,0,0,550,556,8,5,0,0,551,552,5,39,0,0,552,553,5,39,0,0,553,554,1,0,0,0,554,556,8,5,0,0,555,548,1,0,0,0,555,549,1,0,0,0,555,551,1,0,0,0,556,559,1,0,0,0,557,555,1,0,0,0,557,558,1,0,0,0,558,560,1,0,0,0,559,557,1,0,0,0,560,561,5,39,0,0,561,562,5,39,0,0,562,563,5,39,0,0,563,564,1,0,0,0,564,565,6,74,3,0,565,150,1,0,0,0,566,569,3,153,76,0,567,569,3,155,77,0,568,566,1,0,0,0,568,567,1,0,0,0,569,152,1,0,0,0,570,574,5,39,0,0,571,573,3,157,78,0,572,571,1,0,0,0,573,576,1,0,0,0,574,572,1,0,0,0,574,575,1,0,0,0,575,577,1,0,0,0,576,574,1,0,0,0,577,578,5,39,0,0,578,154,1,0,0,0,579,583,5,34,0,0,580,582,3,159,79,0,581,580,1,0,0,0,582,585,1,0,0,0,583,581,1,0,0,0,583,584,1,0,0,0,584,586,1,0,0,0,585,583,1,0,0,0,586,587,5,34,0,0,587,156,1,0,0,0,588,591,3,161,80,0,589,591,3,165,82,0,590,588,1,0,0,0,590,589,1,0,0,0,591,158,1,0,0,0,592,595,3,163,81,0,593,595,3,165,82,0,594,592,1,0,0,0,594,593,1,0,0,0,595,160,1,0,0,0,596,597,8,6,0,0,597,162,1,0,0,0,598,599,8,7,0,0,599,164,1,0,0,0,600,601,5,92,0,0,601,602,9,0,0,0,602,166,1,0,0,0,603,606,3,169,84,0,604,606,3,171,85,0,605,603,1,0,0,0,605,604,1,0,0,0,606,168,1,0,0,0,607,608,5,35,0,0,608,609,3,193,96,0,609,610,3,193,96,0,610,611,3,193,96,0,611,612,3,193,96,0,612,613,3,193,96,0,613,614,3,193,96,0,614,615,3,193,96,0,615,616,3,193,96,0,616,170,1,0,0,0,617,618,5,35,0,0,618,619,3,193,96,0,619,620,3,193,96,0,620,621,3,193,96,0,621,622,3,193,96,0,622,623,3,193,96,0,623,624,3,193,96,0,624,172,1,0,0,0,625,629,3,175,87,0,626,629,3,195,97,0,627,629,3,207,103,0,628,625,1,0,0,0,628,626,1,0,0,0,628,627,1,0,0,0,629,174,1,0,0,0,630,635,3,177,88,0,631,635,3,179,89,0,632,635,3,181,90,0,633,635,3,183,91,0,634,630,1,0,0,0,634,631,1,0,0,0,634,632,1,0,0,0,634,633,1,0,0,0,635,176,1,0,0,0,636,643,3,185,92,0,637,639,5,95,0,0,638,637,1,0,0,0,638,639,1,0,0,0,639,640,1,0,0,0,640,642,3,187,93,0,641,638,1,0,0,0,642,645,1,0,0,0,643,641,1,0,0,0,643,644,1,0,0,0,644,657,1,0,0,0,645,643,1,0,0,0,646,653,5,48,0,0,647,649,5,95,0,0,648,647,1,0,0,0,648,649,1,0,0,0,649,650,1,0,0,0,650,652,3,187,93,0,651,648,1,0,0,0,652,655,1,0,0,0,653,651,1,0,0,0,653,654,1,0,0,0,654,657,1,0,0,0,655,653,1,0,0,0,656,636,1,0,0,0,656,646,1,0,0,0,657,178,1,0,0,0,658,659,5,48,0,0,659,664,7,8,0,0,660,662,5,95,0,0,661,660,1,0,0,0,661,662,1,0,0,0,662,663,1,0,0,0,663,665,3,189,94,0,664,661,1,0,0,0,665,666,1,0,0,0,666,664,1,0,0,0,666,667,1,0,0,0,667,180,1,0,0,0,668,669,5,48,0,0,669,674,7,9,0,0,670,672,5,95,0,0,671,670,1,0,0,0,671,672,1,0,0,0,672,673,1,0,0,0,673,675,3,191,95,0,674,671,1,0,0,0,675,676,1,0,0,0,676,674,1,0,0,0,676,677,1,0,0,0,677,182,1,0,0,0,678,679,5,48,0,0,679,684,7,10,0,0,680,682,5,95,0,0,681,680,1,0,0,0,681,682,1,0,0,0,682,683,1,0,0,0,683,685,3,193,96,0,684,681,1,0,0,0,685,686,1,0,0,0,686,684,1,0,0,0,686,687,1,0,0,0,687,184,1,0,0,0,688,689,7,11,0,0,689,186,1,0,0,0,690,691,7,12,0,0,691,188,1,0,0,0,692,693,2,48,49,0,693,190,1,0,0,0,694,695,7,13,0,0,695,192,1,0,0,0,696,699,3,187,93,0,697,699,7,14,0,0,698,696,1,0,0,0,698,697,1,0,0,0,699,194,1,0,0,0,700,703,3,197,98,0,701,703,3,199,99,0,702,700,1,0,0,0,702,701,1,0,0,0,703,196,1,0,0,0,704,706,3,201,100,0,705,704,1,0,0,0,705,706,1,0,0,0,706,707,1,0,0,0,707,712,3,203,101,0,708,709,3,201,100,0,709,710,5,46,0,0,710,712,1,0,0,0,711,705,1,0,0,0,711,708,1,0,0,0,712,198,1,0,0,0,713,716,3,201,100,0,714,716,3,197,98,0,715,713,1,0,0,0,715,714,1,0,0,0,716,717,1,0,0,0,717,718,3,205,102,0,718,200,1,0,0,0,719,726,3,187,93,0,720,722,5,95,0,0,721,720,1,0,0,0,721,722,1,0,0,0,722,723,1,0,0,0,723,725,3,187,93,0,724,721,1,0,0,0,725,728,1,0,0,0,726,724,1,0,0,0,726,727,1,0,0,0,727,202,1,0,0,0,728,726,1,0,0,0,729,730,5,46,0,0,730,731,3,201,100,0,731,204,1,0,0,0,732,734,7,15,0,0,733,735,7,16,0,0,734,733,1,0,0,0,734,735,1,0,0,0,735,736,1,0,0,0,736,737,3,201,100,0,737,206,1,0,0,0,738,741,3,195,97,0,739,741,3,201,100,0,740,738,1,0,0,0,740,739,1,0,0,0,741,742,1,0,0,0,742,743,7,17,0,0,743,208,1,0,0,0,744,746,5,13,0,0,745,744,1,0,0,0,745,746,1,0,0,0,746,747,1,0,0,0,747,748,5,10,0,0,748,210,1,0,0,0,749,750,7,18,0,0,750,212,1,0,0,0,751,752,7,19,0,0,752,214,1,0,0,0,42,0,444,458,468,479,493,500,503,511,533,535,555,557,568,574,583,590,594,605,628,634,638,643,648,653,656,661,666,671,676,681,686,698,702,705,711,715,721,726,734,740,745,4,0,1,0,0,2,0,7,70,0,7,66,0];static __ATN;static get _ATN(){if(!Sr.__ATN)Sr.__ATN=new Bl().deserialize(Sr._serializedATN);return Sr.__ATN}static DecisionsToDFA=Sr._ATN.decisionToState.map((t,e)=>new Ul(t,e))}class Ql extends Xd{constructor(t){super(t)}isEqualToCurrentTokenText(t){return this.getCurrentToken().text===t}isNotEqualToCurrentTokenText(t){return!this.isEqualToCurrentTokenText(t)}}class N extends Ql{static INDENT=1;static DEDENT=2;static AND=3;static AS=4;static BREAK=5;static BY=6;static CONST=7;static CONTINUE=8;static ELSE=9;static ENUM=10;static EXPORT=11;static FALSE=12;static FOR=13;static IF=14;static IMPORT=15;static IN=16;static INPUT=17;static METHOD=18;static NOT=19;static ONCE=20;static OR=21;static SERIES=22;static SIMPLE=23;static SWITCH=24;static TO=25;static TYPE=26;static TRUE=27;static VAR=28;static VARIP=29;static WHILE=30;static LPAR=31;static RPAR=32;static LSQB=33;static RSQB=34;static LSHIFT=35;static RSHIFT=36;static LESSEQUAL=37;static GREATEREQUAL=38;static EQEQUAL=39;static NOTEQUAL=40;static LESS=41;static GREATER=42;static EQUAL=43;static RARROW=44;static DOT=45;static COMMA=46;static COLON=47;static QUESTION=48;static TILDE=49;static AMP=50;static PIPE=51;static CARET=52;static PLUS=53;static MINUS=54;static STAR=55;static SLASH=56;static PERCENT=57;static PLUSEQUAL=58;static MINEQUAL=59;static STAREQUAL=60;static SLASHEQUAL=61;static PERCENTEQUAL=62;static COLONEQUAL=63;static NAME=64;static NUMBER=65;static STRING=66;static COLOR=67;static NEWLINE=68;static WS=69;static COMMENT=70;static UNICODE_NOISE=71;static ERROR_TOKEN=72;static EOF=Je.EOF;static RULE_start=0;static RULE_start_script=1;static RULE_start_expression=2;static RULE_start_comments=3;static RULE_statements=4;static RULE_statement=5;static RULE_compound_statement=6;static RULE_simple_statements=7;static RULE_trailing_structure_statements=8;static RULE_simple_statement=9;static RULE_compound_assignment=10;static RULE_compound_variable_initialization=11;static RULE_compound_name_initialization=12;static RULE_compound_tuple_initialization=13;static RULE_compound_reassignment=14;static RULE_compound_augassignment=15;static RULE_function_declaration=16;static RULE_parameter_list=17;static RULE_parameter_definition=18;static RULE_method_declaration=19;static RULE_method_parameter_list=20;static RULE_method_parameter_definition=21;static RULE_type_declaration=22;static RULE_field_definitions=23;static RULE_field_definition=24;static RULE_enum_declaration=25;static RULE_enum_definitions=26;static RULE_enum_definition=27;static RULE_value_structure=28;static RULE_structure=29;static RULE_structure_statement=30;static RULE_structure_expression=31;static RULE_if_structure=32;static RULE_elif_structure=33;static RULE_if_tail=34;static RULE_else_block=35;static RULE_for_structure=36;static RULE_for_structure_to=37;static RULE_for_structure_in=38;static RULE_for_iterator=39;static RULE_while_structure=40;static RULE_switch_structure=41;static RULE_once_structure=42;static RULE_switch_case=43;static RULE_switch_cases=44;static RULE_switch_pattern_case=45;static RULE_switch_patterns=46;static RULE_switch_default_case=47;static RULE_local_block=48;static RULE_indented_local_block=49;static RULE_inline_local_block=50;static RULE_simple_assignment=51;static RULE_simple_variable_initialization=52;static RULE_simple_name_initialization=53;static RULE_simple_tuple_initialization=54;static RULE_simple_reassignment=55;static RULE_simple_augassignment=56;static RULE_expression=57;static RULE_expression_statement=58;static RULE_conditional_expression=59;static RULE_disjunction_expression=60;static RULE_conjunction_expression=61;static RULE_bitwise_or_expression=62;static RULE_bitwise_xor_expression=63;static RULE_bitwise_and_expression=64;static RULE_equality_expression=65;static RULE_equality_trailing_pair=66;static RULE_equal_trailing_pair=67;static RULE_not_equal_trailing_pair=68;static RULE_inequality_expression=69;static RULE_inequality_trailing_pair=70;static RULE_less_than_equal_trailing_pair=71;static RULE_less_than_trailing_pair=72;static RULE_greater_than_equal_trailing_pair=73;static RULE_greater_than_trailing_pair=74;static RULE_shift_expression=75;static RULE_shift_op=76;static RULE_additive_expression=77;static RULE_additive_op=78;static RULE_multiplicative_expression=79;static RULE_multiplicative_op=80;static RULE_unary_expression=81;static RULE_unary_op=82;static RULE_primary_expression=83;static RULE_argument_list=84;static RULE_argument_definition=85;static RULE_subscript_slice=86;static RULE_atomic_expression=87;static RULE_literal_expression=88;static RULE_literal_number=89;static RULE_literal_string=90;static RULE_literal_bool=91;static RULE_literal_color=92;static RULE_grouped_expression=93;static RULE_tuple_expression=94;static RULE_import_statement=95;static RULE_break_statement=96;static RULE_continue_statement=97;static RULE_variable_declaration=98;static RULE_tuple_declaration=99;static RULE_declaration_mode=100;static RULE_assignment_target=101;static RULE_assignment_target_attribute=102;static RULE_assignment_target_subscript=103;static RULE_assignment_target_name=104;static RULE_assignment_target_group=105;static RULE_augassign_op=106;static RULE_type_specification=107;static RULE_type_qualifier=108;static RULE_attributed_type_name=109;static RULE_template_spec_suffix=110;static RULE_rshift_closed_type_args=111;static RULE_array_type_suffix=112;static RULE_type_argument_list=113;static RULE_name=114;static RULE_name_load=115;static RULE_name_store=116;static RULE_comments=117;static RULE_comment=118;static literalNames=[null,null,null,"'and'","'as'","'break'","'by'","'const'","'continue'","'else'","'enum'","'export'","'false'","'for'","'if'","'import'","'in'","'input'","'method'","'not'","'once'","'or'","'series'","'simple'","'switch'","'to'","'type'","'true'","'var'","'varip'","'while'","'('","')'","'['","']'","'<<'","'>>'","'<='","'>='","'=='","'!='","'<'","'>'","'='","'=>'","'.'","','","':'","'?'","'~'","'&'","'|'","'^'","'+'","'-'","'*'","'/'","'%'","'+='","'-='","'*='","'/='","'%='","':='"];static symbolicNames=[null,"INDENT","DEDENT","AND","AS","BREAK","BY","CONST","CONTINUE","ELSE","ENUM","EXPORT","FALSE","FOR","IF","IMPORT","IN","INPUT","METHOD","NOT","ONCE","OR","SERIES","SIMPLE","SWITCH","TO","TYPE","TRUE","VAR","VARIP","WHILE","LPAR","RPAR","LSQB","RSQB","LSHIFT","RSHIFT","LESSEQUAL","GREATEREQUAL","EQEQUAL","NOTEQUAL","LESS","GREATER","EQUAL","RARROW","DOT","COMMA","COLON","QUESTION","TILDE","AMP","PIPE","CARET","PLUS","MINUS","STAR","SLASH","PERCENT","PLUSEQUAL","MINEQUAL","STAREQUAL","SLASHEQUAL","PERCENTEQUAL","COLONEQUAL","NAME","NUMBER","STRING","COLOR","NEWLINE","WS","COMMENT","UNICODE_NOISE","ERROR_TOKEN"];static ruleNames=["start","start_script","start_expression","start_comments","statements","statement","compound_statement","simple_statements","trailing_structure_statements","simple_statement","compound_assignment","compound_variable_initialization","compound_name_initialization","compound_tuple_initialization","compound_reassignment","compound_augassignment","function_declaration","parameter_list","parameter_definition","method_declaration","method_parameter_list","method_parameter_definition","type_declaration","field_definitions","field_definition","enum_declaration","enum_definitions","enum_definition","value_structure","structure","structure_statement","structure_expression","if_structure","elif_structure","if_tail","else_block","for_structure","for_structure_to","for_structure_in","for_iterator","while_structure","switch_structure","once_structure","switch_case","switch_cases","switch_pattern_case","switch_patterns","switch_default_case","local_block","indented_local_block","inline_local_block","simple_assignment","simple_variable_initialization","simple_name_initialization","simple_tuple_initialization","simple_reassignment","simple_augassignment","expression","expression_statement","conditional_expression","disjunction_expression","conjunction_expression","bitwise_or_expression","bitwise_xor_expression","bitwise_and_expression","equality_expression","equality_trailing_pair","equal_trailing_pair","not_equal_trailing_pair","inequality_expression","inequality_trailing_pair","less_than_equal_trailing_pair","less_than_trailing_pair","greater_than_equal_trailing_pair","greater_than_trailing_pair","shift_expression","shift_op","additive_expression","additive_op","multiplicative_expression","multiplicative_op","unary_expression","unary_op","primary_expression","argument_list","argument_definition","subscript_slice","atomic_expression","literal_expression","literal_number","literal_string","literal_bool","literal_color","grouped_expression","tuple_expression","import_statement","break_statement","continue_statement","variable_declaration","tuple_declaration","declaration_mode","assignment_target","assignment_target_attribute","assignment_target_subscript","assignment_target_name","assignment_target_group","augassign_op","type_specification","type_qualifier","attributed_type_name","template_spec_suffix","rshift_closed_type_args","array_type_suffix","type_argument_list","name","name_load","name_store","comments","comment"];get grammarFileName(){return"PinescriptParser.g4"}get literalNames(){return N.literalNames}get symbolicNames(){return N.symbolicNames}get ruleNames(){return N.ruleNames}get serializedATN(){return N._serializedATN}createFailedPredicateException(t,e){return new Kd(this,t,e)}constructor(t){super(t);this._interp=new Jd(this,N._ATN,N.DecisionsToDFA,new ql)}start(){let t=new b1(this,this._ctx,this.state);this.enterRule(t,0,N.RULE_start);try{this.enterOuterAlt(t,1),this.state=238,this.start_script()}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}start_script(){let t=new th(this,this._ctx,this.state);this.enterRule(t,2,N.RULE_start_script);let e;try{this.enterOuterAlt(t,1);{if(this.state=241,this._errHandler.sync(this),e=this._input.LA(1),(e-4&-32)===0&&(1<<e-4&805171167)!==0||(e-49&-32)===0&&(1<<e-49&491569)!==0)this.state=240,this.statements();this.state=243,this.match(N.EOF)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}start_expression(){let t=new y1(this,this._ctx,this.state);this.enterRule(t,4,N.RULE_start_expression);let e;try{this.enterOuterAlt(t,1);{if(this.state=245,this.expression(),this.state=247,this._errHandler.sync(this),e=this._input.LA(1),e===68)this.state=246,this.match(N.NEWLINE);this.state=249,this.match(N.EOF)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}start_comments(){let t=new x1(this,this._ctx,this.state);this.enterRule(t,6,N.RULE_start_comments);let e;try{this.enterOuterAlt(t,1);{if(this.state=252,this._errHandler.sync(this),e=this._input.LA(1),e===70)this.state=251,this.comments();this.state=254,this.match(N.EOF)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}statements(){let t=new sa(this,this._ctx,this.state);this.enterRule(t,8,N.RULE_statements);let e;try{this.enterOuterAlt(t,1);{this.state=257,this._errHandler.sync(this),e=this._input.LA(1);do this.state=256,this.statement(),this.state=259,this._errHandler.sync(this),e=this._input.LA(1);while((e-4&-32)===0&&(1<<e-4&805171167)!==0||(e-49&-32)===0&&(1<<e-49&491569)!==0)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}statement(){let t=new Ys(this,this._ctx,this.state);this.enterRule(t,10,N.RULE_statement);try{switch(this.state=264,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,4,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=261,this.compound_statement();break;case 2:this.enterOuterAlt(t,2),this.state=262,this.simple_statements();break;case 3:this.enterOuterAlt(t,3),this.state=263,this.trailing_structure_statements();break}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}compound_statement(){let t=new eh(this,this._ctx,this.state);this.enterRule(t,12,N.RULE_compound_statement);try{switch(this.state=272,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,5,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=266,this.compound_assignment();break;case 2:this.enterOuterAlt(t,2),this.state=267,this.type_declaration();break;case 3:this.enterOuterAlt(t,3),this.state=268,this.enum_declaration();break;case 4:this.enterOuterAlt(t,4),this.state=269,this.structure_statement();break;case 5:this.enterOuterAlt(t,5),this.state=270,this.method_declaration();break;case 6:this.enterOuterAlt(t,6),this.state=271,this.function_declaration();break}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}simple_statements(){let t=new rh(this,this._ctx,this.state);this.enterRule(t,14,N.RULE_simple_statements);let e;try{let r;this.enterOuterAlt(t,1);{this.state=274,this.simple_statement(),this.state=279,this._errHandler.sync(this),r=this._interp.adaptivePredict(this._input,6,this._ctx);while(r!==2&&r!==ir.INVALID_ALT_NUMBER){if(r===1)this.state=275,this.match(N.COMMA),this.state=276,this.simple_statement();this.state=281,this._errHandler.sync(this),r=this._interp.adaptivePredict(this._input,6,this._ctx)}if(this.state=283,this._errHandler.sync(this),e=this._input.LA(1),e===46)this.state=282,this.match(N.COMMA);this.state=285,this.match(N.NEWLINE)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}trailing_structure_statements(){let t=new nh(this,this._ctx,this.state);this.enterRule(t,16,N.RULE_trailing_structure_statements);try{let e;this.enterOuterAlt(t,1);{this.state=287,this.simple_statement(),this.state=292,this._errHandler.sync(this),e=this._interp.adaptivePredict(this._input,8,this._ctx);while(e!==2&&e!==ir.INVALID_ALT_NUMBER){if(e===1)this.state=288,this.match(N.COMMA),this.state=289,this.simple_statement();this.state=294,this._errHandler.sync(this),e=this._interp.adaptivePredict(this._input,8,this._ctx)}this.state=295,this.match(N.COMMA),this.state=296,this.structure()}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}simple_statement(){let t=new as(this,this._ctx,this.state);this.enterRule(t,18,N.RULE_simple_statement);try{switch(this.state=303,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,9,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=298,this.simple_assignment();break;case 2:this.enterOuterAlt(t,2),this.state=299,this.expression_statement();break;case 3:this.enterOuterAlt(t,3),this.state=300,this.import_statement();break;case 4:this.enterOuterAlt(t,4),this.state=301,this.break_statement();break;case 5:this.enterOuterAlt(t,5),this.state=302,this.continue_statement();break}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}compound_assignment(){let t=new ih(this,this._ctx,this.state);this.enterRule(t,20,N.RULE_compound_assignment);try{switch(this.state=308,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,10,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=305,this.compound_variable_initialization();break;case 2:this.enterOuterAlt(t,2),this.state=306,this.compound_reassignment();break;case 3:this.enterOuterAlt(t,3),this.state=307,this.compound_augassignment();break}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}compound_variable_initialization(){let t=new sh(this,this._ctx,this.state);this.enterRule(t,22,N.RULE_compound_variable_initialization);try{switch(this.state=312,this._errHandler.sync(this),this._input.LA(1)){case 4:case 6:case 7:case 10:case 11:case 17:case 18:case 20:case 22:case 23:case 24:case 25:case 26:case 28:case 29:case 64:this.enterOuterAlt(t,1),this.state=310,this.compound_name_initialization();break;case 33:this.enterOuterAlt(t,2),this.state=311,this.compound_tuple_initialization();break;default:throw new dn(this)}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}compound_name_initialization(){let t=new oh(this,this._ctx,this.state);this.enterRule(t,24,N.RULE_compound_name_initialization);let e;try{this.enterOuterAlt(t,1);{if(this.state=315,this._errHandler.sync(this),e=this._input.LA(1),e===11)this.state=314,this.match(N.EXPORT);this.state=317,this.variable_declaration(),this.state=318,this.match(N.EQUAL),this.state=319,this.structure_expression()}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}compound_tuple_initialization(){let t=new lh(this,this._ctx,this.state);this.enterRule(t,26,N.RULE_compound_tuple_initialization);try{this.enterOuterAlt(t,1),this.state=321,this.tuple_declaration(),this.state=322,this.match(N.EQUAL),this.state=323,this.structure_expression()}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}compound_reassignment(){let t=new ah(this,this._ctx,this.state);this.enterRule(t,28,N.RULE_compound_reassignment);try{this.enterOuterAlt(t,1),this.state=325,this.primary_expression(0),this.state=326,this.match(N.COLONEQUAL),this.state=327,this.structure_expression()}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}compound_augassignment(){let t=new uh(this,this._ctx,this.state);this.enterRule(t,30,N.RULE_compound_augassignment);try{this.enterOuterAlt(t,1),this.state=329,this.primary_expression(0),this.state=330,this.augassign_op(),this.state=331,this.structure_expression()}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}function_declaration(){let t=new ch(this,this._ctx,this.state);this.enterRule(t,32,N.RULE_function_declaration);let e;try{switch(this.state=358,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,17,this._ctx)){case 1:this.enterOuterAlt(t,1);{if(this.state=334,this._errHandler.sync(this),e=this._input.LA(1),e===11)this.state=333,this.match(N.EXPORT);if(this.state=336,this.type_specification(),this.state=337,this.name(),this.state=338,this.match(N.LPAR),this.state=340,this._errHandler.sync(this),e=this._input.LA(1),(e&-32)===0&&(1<<e&399901904)!==0||e===64)this.state=339,this.parameter_list();this.state=342,this.match(N.RPAR),this.state=343,this.match(N.RARROW),this.state=344,this.local_block()}break;case 2:this.enterOuterAlt(t,2);{if(this.state=347,this._errHandler.sync(this),e=this._input.LA(1),e===11)this.state=346,this.match(N.EXPORT);if(this.state=349,this.name(),this.state=350,this.match(N.LPAR),this.state=352,this._errHandler.sync(this),e=this._input.LA(1),(e&-32)===0&&(1<<e&399901904)!==0||e===64)this.state=351,this.parameter_list();this.state=354,this.match(N.RPAR),this.state=355,this.match(N.RARROW),this.state=356,this.local_block()}break}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}parameter_list(){let t=new hh(this,this._ctx,this.state);this.enterRule(t,34,N.RULE_parameter_list);let e;try{let r;this.enterOuterAlt(t,1);{this.state=360,this.parameter_definition(),this.state=365,this._errHandler.sync(this),r=this._interp.adaptivePredict(this._input,18,this._ctx);while(r!==2&&r!==ir.INVALID_ALT_NUMBER){if(r===1)this.state=361,this.match(N.COMMA),this.state=362,this.parameter_definition();this.state=367,this._errHandler.sync(this),r=this._interp.adaptivePredict(this._input,18,this._ctx)}if(this.state=369,this._errHandler.sync(this),e=this._input.LA(1),e===46)this.state=368,this.match(N.COMMA)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}parameter_definition(){let t=new Zs(this,this._ctx,this.state);this.enterRule(t,36,N.RULE_parameter_definition);let e;try{switch(this.state=382,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,22,this._ctx)){case 1:if(this.enterOuterAlt(t,1),this.state=371,this.type_specification(),this.state=372,this.name_store(),this.state=375,this._errHandler.sync(this),e=this._input.LA(1),e===43)this.state=373,this.match(N.EQUAL),this.state=374,this.expression();break;case 2:if(this.enterOuterAlt(t,2),this.state=377,this.name_store(),this.state=380,this._errHandler.sync(this),e=this._input.LA(1),e===43)this.state=378,this.match(N.EQUAL),this.state=379,this.expression();break}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}method_declaration(){let t=new fh(this,this._ctx,this.state);this.enterRule(t,38,N.RULE_method_declaration);let e;try{switch(this.state=411,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,27,this._ctx)){case 1:this.enterOuterAlt(t,1);{if(this.state=385,this._errHandler.sync(this),e=this._input.LA(1),e===11)this.state=384,this.match(N.EXPORT);if(this.state=387,this.match(N.METHOD),this.state=388,this.type_specification(),this.state=389,this.name(),this.state=390,this.match(N.LPAR),this.state=392,this._errHandler.sync(this),e=this._input.LA(1),(e&-32)===0&&(1<<e&399901904)!==0||e===64)this.state=391,this.method_parameter_list();this.state=394,this.match(N.RPAR),this.state=395,this.match(N.RARROW),this.state=396,this.local_block()}break;case 2:this.enterOuterAlt(t,2);{if(this.state=399,this._errHandler.sync(this),e=this._input.LA(1),e===11)this.state=398,this.match(N.EXPORT);if(this.state=401,this.match(N.METHOD),this.state=402,this.name(),this.state=403,this.match(N.LPAR),this.state=405,this._errHandler.sync(this),e=this._input.LA(1),(e&-32)===0&&(1<<e&399901904)!==0||e===64)this.state=404,this.method_parameter_list();this.state=407,this.match(N.RPAR),this.state=408,this.match(N.RARROW),this.state=409,this.local_block()}break}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}method_parameter_list(){let t=new dh(this,this._ctx,this.state);this.enterRule(t,40,N.RULE_method_parameter_list);let e;try{let r;this.enterOuterAlt(t,1);{this.state=413,this.method_parameter_definition(),this.state=418,this._errHandler.sync(this),r=this._interp.adaptivePredict(this._input,28,this._ctx);while(r!==2&&r!==ir.INVALID_ALT_NUMBER){if(r===1)this.state=414,this.match(N.COMMA),this.state=415,this.method_parameter_definition();this.state=420,this._errHandler.sync(this),r=this._interp.adaptivePredict(this._input,28,this._ctx)}if(this.state=422,this._errHandler.sync(this),e=this._input.LA(1),e===46)this.state=421,this.match(N.COMMA)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}method_parameter_definition(){let t=new Yl(this,this._ctx,this.state);this.enterRule(t,42,N.RULE_method_parameter_definition);try{switch(this.state=428,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,30,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=424,this.type_specification(),this.state=425,this.name_store();break;case 2:this.enterOuterAlt(t,2),this.state=427,this.parameter_definition();break}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}type_declaration(){let t=new ph(this,this._ctx,this.state);this.enterRule(t,44,N.RULE_type_declaration);let e;try{this.enterOuterAlt(t,1);{if(this.state=431,this._errHandler.sync(this),e=this._input.LA(1),e===11)this.state=430,this.match(N.EXPORT);this.state=433,this.match(N.TYPE),this.state=434,this.name(),this.state=435,this.match(N.NEWLINE),this.state=436,this.match(N.INDENT),this.state=437,this.field_definitions(),this.state=438,this.match(N.DEDENT)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}field_definitions(){let t=new mh(this,this._ctx,this.state);this.enterRule(t,46,N.RULE_field_definitions);let e;try{this.enterOuterAlt(t,1);{this.state=441,this._errHandler.sync(this),e=this._input.LA(1);do this.state=440,this.field_definition(),this.state=443,this._errHandler.sync(this),e=this._input.LA(1);while((e&-32)===0&&(1<<e&936772816)!==0||e===64)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}field_definition(){let t=new Zl(this,this._ctx,this.state);this.enterRule(t,48,N.RULE_field_definition);let e;try{this.enterOuterAlt(t,1);{if(this.state=446,this._errHandler.sync(this),e=this._input.LA(1),e===29)this.state=445,this.match(N.VARIP);if(this.state=448,this.type_specification(),this.state=449,this.name_store(),this.state=452,this._errHandler.sync(this),e=this._input.LA(1),e===43)this.state=450,this.match(N.EQUAL),this.state=451,this.expression();this.state=454,this.match(N.NEWLINE)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}enum_declaration(){let t=new gh(this,this._ctx,this.state);this.enterRule(t,50,N.RULE_enum_declaration);let e;try{this.enterOuterAlt(t,1);{if(this.state=457,this._errHandler.sync(this),e=this._input.LA(1),e===11)this.state=456,this.match(N.EXPORT);this.state=459,this.match(N.ENUM),this.state=460,this.name(),this.state=461,this.match(N.NEWLINE),this.state=462,this.match(N.INDENT),this.state=463,this.enum_definitions(),this.state=464,this.match(N.DEDENT)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}enum_definitions(){let t=new _h(this,this._ctx,this.state);this.enterRule(t,52,N.RULE_enum_definitions);let e;try{this.enterOuterAlt(t,1);{this.state=467,this._errHandler.sync(this),e=this._input.LA(1);do this.state=466,this.enum_definition(),this.state=469,this._errHandler.sync(this),e=this._input.LA(1);while((e&-32)===0&&(1<<e&399901904)!==0||e===64)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}enum_definition(){let t=new Xl(this,this._ctx,this.state);this.enterRule(t,54,N.RULE_enum_definition);let e;try{this.enterOuterAlt(t,1);{if(this.state=471,this.name_store(),this.state=474,this._errHandler.sync(this),e=this._input.LA(1),e===43)this.state=472,this.match(N.EQUAL),this.state=473,this.expression();this.state=476,this.match(N.NEWLINE)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}value_structure(){let t=new oa(this,this._ctx,this.state);this.enterRule(t,56,N.RULE_value_structure);try{switch(this.state=482,this._errHandler.sync(this),this._input.LA(1)){case 14:this.enterOuterAlt(t,1),this.state=478,this.if_structure();break;case 13:this.enterOuterAlt(t,2),this.state=479,this.for_structure();break;case 30:this.enterOuterAlt(t,3),this.state=480,this.while_structure();break;case 24:this.enterOuterAlt(t,4),this.state=481,this.switch_structure();break;default:throw new dn(this)}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}structure(){let t=new la(this,this._ctx,this.state);this.enterRule(t,58,N.RULE_structure);try{switch(this.state=486,this._errHandler.sync(this),this._input.LA(1)){case 13:case 14:case 24:case 30:this.enterOuterAlt(t,1),this.state=484,this.value_structure();break;case 20:this.enterOuterAlt(t,2),this.state=485,this.once_structure();break;default:throw new dn(this)}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}structure_statement(){let t=new bh(this,this._ctx,this.state);this.enterRule(t,60,N.RULE_structure_statement);try{this.enterOuterAlt(t,1),this.state=488,this.structure()}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}structure_expression(){let t=new hs(this,this._ctx,this.state);this.enterRule(t,62,N.RULE_structure_expression);try{this.enterOuterAlt(t,1),this.state=490,this.value_structure()}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}if_structure(){let t=new yh(this,this._ctx,this.state);this.enterRule(t,64,N.RULE_if_structure);try{switch(this.enterOuterAlt(t,1),this.state=492,this.match(N.IF),this.state=493,this.expression(),this.state=494,this.local_block(),this.state=496,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,40,this._ctx)){case 1:this.state=495,this.if_tail();break}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}elif_structure(){let t=new xh(this,this._ctx,this.state);this.enterRule(t,66,N.RULE_elif_structure);try{switch(this.enterOuterAlt(t,1),this.state=498,this.match(N.ELSE),this.state=499,this.match(N.IF),this.state=500,this.expression(),this.state=501,this.local_block(),this.state=503,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,41,this._ctx)){case 1:this.state=502,this.if_tail();break}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}if_tail(){let t=new aa(this,this._ctx,this.state);this.enterRule(t,68,N.RULE_if_tail);try{switch(this.state=507,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,42,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=505,this.elif_structure();break;case 2:this.enterOuterAlt(t,2),this.state=506,this.else_block();break}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}else_block(){let t=new wh(this,this._ctx,this.state);this.enterRule(t,70,N.RULE_else_block);try{this.enterOuterAlt(t,1),this.state=509,this.match(N.ELSE),this.state=510,this.local_block()}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}for_structure(){let t=new vh(this,this._ctx,this.state);this.enterRule(t,72,N.RULE_for_structure);try{switch(this.state=514,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,43,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=512,this.for_structure_to();break;case 2:this.enterOuterAlt(t,2),this.state=513,this.for_structure_in();break}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}for_structure_to(){let t=new Sh(this,this._ctx,this.state);this.enterRule(t,74,N.RULE_for_structure_to);try{this.enterOuterAlt(t,1);{switch(this.state=516,this.match(N.FOR),this.state=517,this.for_iterator(),this.state=518,this.match(N.EQUAL),this.state=519,this.expression(),this.state=520,this.match(N.TO),this.state=521,this.expression(),this.state=524,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,44,this._ctx)){case 1:this.state=522,this.match(N.BY),this.state=523,this.expression();break}this.state=526,this.local_block()}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}for_structure_in(){let t=new Ch(this,this._ctx,this.state);this.enterRule(t,76,N.RULE_for_structure_in);try{this.enterOuterAlt(t,1),this.state=528,this.match(N.FOR),this.state=529,this.for_iterator(),this.state=530,this.match(N.IN),this.state=531,this.expression(),this.state=532,this.local_block()}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}for_iterator(){let t=new ua(this,this._ctx,this.state);this.enterRule(t,78,N.RULE_for_iterator);try{switch(this.state=539,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,45,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=534,this.type_specification(),this.state=535,this.name_store();break;case 2:this.enterOuterAlt(t,2),this.state=537,this.name_store();break;case 3:this.enterOuterAlt(t,3),this.state=538,this.tuple_declaration();break}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}while_structure(){let t=new Mh(this,this._ctx,this.state);this.enterRule(t,80,N.RULE_while_structure);try{this.enterOuterAlt(t,1),this.state=541,this.match(N.WHILE),this.state=542,this.expression(),this.state=543,this.local_block()}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}switch_structure(){let t=new kh(this,this._ctx,this.state);this.enterRule(t,82,N.RULE_switch_structure);let e;try{this.enterOuterAlt(t,1);{if(this.state=545,this.match(N.SWITCH),this.state=547,this._errHandler.sync(this),e=this._input.LA(1),(e-4&-32)===0&&(1<<e-4&704504141)!==0||(e-49&-32)===0&&(1<<e-49&491569)!==0)this.state=546,this.expression();this.state=549,this.match(N.NEWLINE),this.state=550,this.match(N.INDENT),this.state=551,this.switch_cases(),this.state=552,this.match(N.DEDENT)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}once_structure(){let t=new Eh(this,this._ctx,this.state);this.enterRule(t,84,N.RULE_once_structure);try{this.enterOuterAlt(t,1);{switch(this.state=554,this.match(N.ONCE),this.state=556,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,47,this._ctx)){case 1:this.state=555,this.expression();break}this.state=558,this.local_block()}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}switch_case(){let t=new Jl(this,this._ctx,this.state);this.enterRule(t,86,N.RULE_switch_case);try{switch(this.state=562,this._errHandler.sync(this),this._input.LA(1)){case 4:case 6:case 7:case 10:case 12:case 17:case 18:case 19:case 20:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 31:case 33:case 49:case 53:case 54:case 64:case 65:case 66:case 67:this.enterOuterAlt(t,1),this.state=560,this.switch_pattern_case();break;case 44:this.enterOuterAlt(t,2),this.state=561,this.switch_default_case();break;default:throw new dn(this)}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}switch_cases(){let t=new Rh(this,this._ctx,this.state);this.enterRule(t,88,N.RULE_switch_cases);let e;try{this.enterOuterAlt(t,1);{this.state=565,this._errHandler.sync(this),e=this._input.LA(1);do this.state=564,this.switch_case(),this.state=567,this._errHandler.sync(this),e=this._input.LA(1);while((e-4&-32)===0&&(1<<e-4&704504141)!==0||(e-44&-32)===0&&(1<<e-44&15730209)!==0)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}switch_pattern_case(){let t=new Ah(this,this._ctx,this.state);this.enterRule(t,90,N.RULE_switch_pattern_case);try{this.enterOuterAlt(t,1),this.state=569,this.switch_patterns(),this.state=570,this.match(N.RARROW),this.state=571,this.local_block()}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}switch_patterns(){let t=new Th(this,this._ctx,this.state);this.enterRule(t,92,N.RULE_switch_patterns);let e;try{this.enterOuterAlt(t,1);{this.state=573,this.expression(),this.state=578,this._errHandler.sync(this),e=this._input.LA(1);while(e===46)this.state=574,this.match(N.COMMA),this.state=575,this.expression(),this.state=580,this._errHandler.sync(this),e=this._input.LA(1)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}switch_default_case(){let t=new Nh(this,this._ctx,this.state);this.enterRule(t,94,N.RULE_switch_default_case);try{this.enterOuterAlt(t,1),this.state=581,this.match(N.RARROW),this.state=582,this.local_block()}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}local_block(){let t=new an(this,this._ctx,this.state);this.enterRule(t,96,N.RULE_local_block);try{switch(this.state=586,this._errHandler.sync(this),this._input.LA(1)){case 68:this.enterOuterAlt(t,1),this.state=584,this.indented_local_block();break;case 4:case 5:case 6:case 7:case 8:case 10:case 11:case 12:case 13:case 14:case 15:case 17:case 18:case 19:case 20:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 33:case 49:case 53:case 54:case 64:case 65:case 66:case 67:this.enterOuterAlt(t,2),this.state=585,this.inline_local_block();break;default:throw new dn(this)}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}indented_local_block(){let t=new Lh(this,this._ctx,this.state);this.enterRule(t,98,N.RULE_indented_local_block);let e;try{this.enterOuterAlt(t,1);{this.state=589,this._errHandler.sync(this),e=this._input.LA(1);do this.state=588,this.match(N.NEWLINE),this.state=591,this._errHandler.sync(this),e=this._input.LA(1);while(e===68);this.state=593,this.match(N.INDENT),this.state=594,this.statements(),this.state=595,this.match(N.DEDENT)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}inline_local_block(){let t=new Ih(this,this._ctx,this.state);this.enterRule(t,100,N.RULE_inline_local_block);try{this.enterOuterAlt(t,1),this.state=597,this.statement()}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}simple_assignment(){let t=new Oh(this,this._ctx,this.state);this.enterRule(t,102,N.RULE_simple_assignment);try{switch(this.state=602,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,53,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=599,this.simple_variable_initialization();break;case 2:this.enterOuterAlt(t,2),this.state=600,this.simple_reassignment();break;case 3:this.enterOuterAlt(t,3),this.state=601,this.simple_augassignment();break}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}simple_variable_initialization(){let t=new Ph(this,this._ctx,this.state);this.enterRule(t,104,N.RULE_simple_variable_initialization);try{switch(this.state=606,this._errHandler.sync(this),this._input.LA(1)){case 4:case 6:case 7:case 10:case 11:case 17:case 18:case 20:case 22:case 23:case 24:case 25:case 26:case 28:case 29:case 64:this.enterOuterAlt(t,1),this.state=604,this.simple_name_initialization();break;case 33:this.enterOuterAlt(t,2),this.state=605,this.simple_tuple_initialization();break;default:throw new dn(this)}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}simple_name_initialization(){let t=new Dh(this,this._ctx,this.state);this.enterRule(t,106,N.RULE_simple_name_initialization);let e;try{this.enterOuterAlt(t,1);{if(this.state=609,this._errHandler.sync(this),e=this._input.LA(1),e===11)this.state=608,this.match(N.EXPORT);this.state=611,this.variable_declaration(),this.state=612,this.match(N.EQUAL),this.state=613,this.expression()}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}simple_tuple_initialization(){let t=new Fh(this,this._ctx,this.state);this.enterRule(t,108,N.RULE_simple_tuple_initialization);try{this.enterOuterAlt(t,1),this.state=615,this.tuple_declaration(),this.state=616,this.match(N.EQUAL),this.state=617,this.expression()}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}simple_reassignment(){let t=new Bh(this,this._ctx,this.state);this.enterRule(t,110,N.RULE_simple_reassignment);try{switch(this.state=631,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,56,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=619,this.assignment_target_attribute(),this.state=620,this.match(N.EQUAL),this.state=621,this.expression();break;case 2:this.enterOuterAlt(t,2),this.state=623,this.assignment_target_subscript(),this.state=624,this.match(N.EQUAL),this.state=625,this.expression();break;case 3:this.enterOuterAlt(t,3),this.state=627,this.primary_expression(0),this.state=628,this.match(N.COLONEQUAL),this.state=629,this.expression();break}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}simple_augassignment(){let t=new Uh(this,this._ctx,this.state);this.enterRule(t,112,N.RULE_simple_augassignment);try{this.enterOuterAlt(t,1),this.state=633,this.primary_expression(0),this.state=634,this.augassign_op(),this.state=635,this.expression()}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}expression(){let t=new Ie(this,this._ctx,this.state);this.enterRule(t,114,N.RULE_expression);try{this.enterOuterAlt(t,1),this.state=637,this.conditional_expression()}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}expression_statement(){let t=new qh(this,this._ctx,this.state);this.enterRule(t,116,N.RULE_expression_statement);try{this.enterOuterAlt(t,1),this.state=639,this.expression()}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}conditional_expression(){let t=new Hh(this,this._ctx,this.state);this.enterRule(t,118,N.RULE_conditional_expression);let e;try{if(this.enterOuterAlt(t,1),this.state=641,this.disjunction_expression(),this.state=647,this._errHandler.sync(this),e=this._input.LA(1),e===48)this.state=642,this.match(N.QUESTION),this.state=643,this.expression(),this.state=644,this.match(N.COLON),this.state=645,this.expression()}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}disjunction_expression(){let t=new $h(this,this._ctx,this.state);this.enterRule(t,120,N.RULE_disjunction_expression);let e;try{this.enterOuterAlt(t,1);{this.state=649,this.conjunction_expression(),this.state=654,this._errHandler.sync(this),e=this._input.LA(1);while(e===21)this.state=650,this.match(N.OR),this.state=651,this.conjunction_expression(),this.state=656,this._errHandler.sync(this),e=this._input.LA(1)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}conjunction_expression(){let t=new ta(this,this._ctx,this.state);this.enterRule(t,122,N.RULE_conjunction_expression);let e;try{this.enterOuterAlt(t,1);{this.state=657,this.bitwise_or_expression(0),this.state=662,this._errHandler.sync(this),e=this._input.LA(1);while(e===3)this.state=658,this.match(N.AND),this.state=659,this.bitwise_or_expression(0),this.state=664,this._errHandler.sync(this),e=this._input.LA(1)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}bitwise_or_expression(t){if(t===void 0)t=0;let e=this._ctx,r=this.state,i=new us(this,this._ctx,r),n=i,o=124;this.enterRecursionRule(i,124,N.RULE_bitwise_or_expression,t);try{let s;this.enterOuterAlt(i,1);{this.state=666,this.bitwise_xor_expression(0),this._ctx.stop=this._input.LT(-1),this.state=673,this._errHandler.sync(this),s=this._interp.adaptivePredict(this._input,60,this._ctx);while(s!==2&&s!==ir.INVALID_ALT_NUMBER){if(s===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();n=i;{if(i=new us(this,e,r),this.pushNewRecursionContext(i,o,N.RULE_bitwise_or_expression),this.state=668,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=669,this.match(N.PIPE),this.state=670,this.bitwise_xor_expression(0)}}this.state=675,this._errHandler.sync(this),s=this._interp.adaptivePredict(this._input,60,this._ctx)}}}catch(s){if(s instanceof Ct)i.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.unrollRecursionContexts(e)}return i}bitwise_xor_expression(t){if(t===void 0)t=0;let e=this._ctx,r=this.state,i=new Xs(this,this._ctx,r),n=i,o=126;this.enterRecursionRule(i,126,N.RULE_bitwise_xor_expression,t);try{let s;this.enterOuterAlt(i,1);{this.state=677,this.bitwise_and_expression(0),this._ctx.stop=this._input.LT(-1),this.state=684,this._errHandler.sync(this),s=this._interp.adaptivePredict(this._input,61,this._ctx);while(s!==2&&s!==ir.INVALID_ALT_NUMBER){if(s===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();n=i;{if(i=new Xs(this,e,r),this.pushNewRecursionContext(i,o,N.RULE_bitwise_xor_expression),this.state=679,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=680,this.match(N.CARET),this.state=681,this.bitwise_and_expression(0)}}this.state=686,this._errHandler.sync(this),s=this._interp.adaptivePredict(this._input,61,this._ctx)}}}catch(s){if(s instanceof Ct)i.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.unrollRecursionContexts(e)}return i}bitwise_and_expression(t){if(t===void 0)t=0;let e=this._ctx,r=this.state,i=new Js(this,this._ctx,r),n=i,o=128;this.enterRecursionRule(i,128,N.RULE_bitwise_and_expression,t);try{let s;this.enterOuterAlt(i,1);{this.state=688,this.equality_expression(),this._ctx.stop=this._input.LT(-1),this.state=695,this._errHandler.sync(this),s=this._interp.adaptivePredict(this._input,62,this._ctx);while(s!==2&&s!==ir.INVALID_ALT_NUMBER){if(s===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();n=i;{if(i=new Js(this,e,r),this.pushNewRecursionContext(i,o,N.RULE_bitwise_and_expression),this.state=690,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=691,this.match(N.AMP),this.state=692,this.equality_expression()}}this.state=697,this._errHandler.sync(this),s=this._interp.adaptivePredict(this._input,62,this._ctx)}}}catch(s){if(s instanceof Ct)i.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.unrollRecursionContexts(e)}return i}equality_expression(){let t=new zh(this,this._ctx,this.state);this.enterRule(t,130,N.RULE_equality_expression);try{let e;this.enterOuterAlt(t,1);{this.state=698,this.inequality_expression(),this.state=702,this._errHandler.sync(this),e=this._interp.adaptivePredict(this._input,63,this._ctx);while(e!==2&&e!==ir.INVALID_ALT_NUMBER){if(e===1)this.state=699,this.equality_trailing_pair();this.state=704,this._errHandler.sync(this),e=this._interp.adaptivePredict(this._input,63,this._ctx)}}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}equality_trailing_pair(){let t=new ea(this,this._ctx,this.state);this.enterRule(t,132,N.RULE_equality_trailing_pair);try{switch(this.state=707,this._errHandler.sync(this),this._input.LA(1)){case 39:this.enterOuterAlt(t,1),this.state=705,this.equal_trailing_pair();break;case 40:this.enterOuterAlt(t,2),this.state=706,this.not_equal_trailing_pair();break;default:throw new dn(this)}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}equal_trailing_pair(){let t=new Vh(this,this._ctx,this.state);this.enterRule(t,134,N.RULE_equal_trailing_pair);try{this.enterOuterAlt(t,1),this.state=709,this.match(N.EQEQUAL),this.state=710,this.inequality_expression()}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}not_equal_trailing_pair(){let t=new jh(this,this._ctx,this.state);this.enterRule(t,136,N.RULE_not_equal_trailing_pair);try{this.enterOuterAlt(t,1),this.state=712,this.match(N.NOTEQUAL),this.state=713,this.inequality_expression()}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}inequality_expression(){let t=new ro(this,this._ctx,this.state);this.enterRule(t,138,N.RULE_inequality_expression);try{let e;this.enterOuterAlt(t,1);{this.state=715,this.shift_expression(0),this.state=719,this._errHandler.sync(this),e=this._interp.adaptivePredict(this._input,65,this._ctx);while(e!==2&&e!==ir.INVALID_ALT_NUMBER){if(e===1)this.state=716,this.inequality_trailing_pair();this.state=721,this._errHandler.sync(this),e=this._interp.adaptivePredict(this._input,65,this._ctx)}}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}inequality_trailing_pair(){let t=new ra(this,this._ctx,this.state);this.enterRule(t,140,N.RULE_inequality_trailing_pair);try{switch(this.state=726,this._errHandler.sync(this),this._input.LA(1)){case 37:this.enterOuterAlt(t,1),this.state=722,this.less_than_equal_trailing_pair();break;case 41:this.enterOuterAlt(t,2),this.state=723,this.less_than_trailing_pair();break;case 38:this.enterOuterAlt(t,3),this.state=724,this.greater_than_equal_trailing_pair();break;case 42:this.enterOuterAlt(t,4),this.state=725,this.greater_than_trailing_pair();break;default:throw new dn(this)}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}less_than_equal_trailing_pair(){let t=new Wh(this,this._ctx,this.state);this.enterRule(t,142,N.RULE_less_than_equal_trailing_pair);try{this.enterOuterAlt(t,1),this.state=728,this.match(N.LESSEQUAL),this.state=729,this.shift_expression(0)}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}less_than_trailing_pair(){let t=new Gh(this,this._ctx,this.state);this.enterRule(t,144,N.RULE_less_than_trailing_pair);try{this.enterOuterAlt(t,1),this.state=731,this.match(N.LESS),this.state=732,this.shift_expression(0)}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}greater_than_equal_trailing_pair(){let t=new Kh(this,this._ctx,this.state);this.enterRule(t,146,N.RULE_greater_than_equal_trailing_pair);try{this.enterOuterAlt(t,1),this.state=734,this.match(N.GREATEREQUAL),this.state=735,this.shift_expression(0)}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}greater_than_trailing_pair(){let t=new Qh(this,this._ctx,this.state);this.enterRule(t,148,N.RULE_greater_than_trailing_pair);try{this.enterOuterAlt(t,1),this.state=737,this.match(N.GREATER),this.state=738,this.shift_expression(0)}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}shift_expression(t){if(t===void 0)t=0;let e=this._ctx,r=this.state,i=new Kn(this,this._ctx,r),n=i,o=150;this.enterRecursionRule(i,150,N.RULE_shift_expression,t);try{let s;this.enterOuterAlt(i,1);{this.state=741,this.additive_expression(0),this._ctx.stop=this._input.LT(-1),this.state=749,this._errHandler.sync(this),s=this._interp.adaptivePredict(this._input,67,this._ctx);while(s!==2&&s!==ir.INVALID_ALT_NUMBER){if(s===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();n=i;{if(i=new Kn(this,e,r),this.pushNewRecursionContext(i,o,N.RULE_shift_expression),this.state=743,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=744,this.shift_op(),this.state=745,this.additive_expression(0)}}this.state=751,this._errHandler.sync(this),s=this._interp.adaptivePredict(this._input,67,this._ctx)}}}catch(s){if(s instanceof Ct)i.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.unrollRecursionContexts(e)}return i}shift_op(){let t=new Yh(this,this._ctx,this.state);this.enterRule(t,152,N.RULE_shift_op);let e;try{if(this.enterOuterAlt(t,1),this.state=752,e=this._input.LA(1),!(e===35||e===36))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}additive_expression(t){if(t===void 0)t=0;let e=this._ctx,r=this.state,i=new to(this,this._ctx,r),n=i,o=154;this.enterRecursionRule(i,154,N.RULE_additive_expression,t);try{let s;this.enterOuterAlt(i,1);{this.state=755,this.multiplicative_expression(0),this._ctx.stop=this._input.LT(-1),this.state=763,this._errHandler.sync(this),s=this._interp.adaptivePredict(this._input,68,this._ctx);while(s!==2&&s!==ir.INVALID_ALT_NUMBER){if(s===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();n=i;{if(i=new to(this,e,r),this.pushNewRecursionContext(i,o,N.RULE_additive_expression),this.state=757,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=758,this.additive_op(),this.state=759,this.multiplicative_expression(0)}}this.state=765,this._errHandler.sync(this),s=this._interp.adaptivePredict(this._input,68,this._ctx)}}}catch(s){if(s instanceof Ct)i.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.unrollRecursionContexts(e)}return i}additive_op(){let t=new Zh(this,this._ctx,this.state);this.enterRule(t,156,N.RULE_additive_op);let e;try{if(this.enterOuterAlt(t,1),this.state=766,e=this._input.LA(1),!(e===53||e===54))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}multiplicative_expression(t){if(t===void 0)t=0;let e=this._ctx,r=this.state,i=new eo(this,this._ctx,r),n=i,o=158;this.enterRecursionRule(i,158,N.RULE_multiplicative_expression,t);try{let s;this.enterOuterAlt(i,1);{this.state=769,this.unary_expression(),this._ctx.stop=this._input.LT(-1),this.state=777,this._errHandler.sync(this),s=this._interp.adaptivePredict(this._input,69,this._ctx);while(s!==2&&s!==ir.INVALID_ALT_NUMBER){if(s===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();n=i;{if(i=new eo(this,e,r),this.pushNewRecursionContext(i,o,N.RULE_multiplicative_expression),this.state=771,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=772,this.multiplicative_op(),this.state=773,this.unary_expression()}}this.state=779,this._errHandler.sync(this),s=this._interp.adaptivePredict(this._input,69,this._ctx)}}}catch(s){if(s instanceof Ct)i.exception=s,this._errHandler.reportError(this,s),this._errHandler.recover(this,s);else throw s}finally{this.unrollRecursionContexts(e)}return i}multiplicative_op(){let t=new Xh(this,this._ctx,this.state);this.enterRule(t,160,N.RULE_multiplicative_op);let e;try{if(this.enterOuterAlt(t,1),this.state=780,e=this._input.LA(1),!((e-55&-32)===0&&(1<<e-55&7)!==0))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}unary_expression(){let t=new ca(this,this._ctx,this.state);this.enterRule(t,162,N.RULE_unary_expression);try{switch(this.state=786,this._errHandler.sync(this),this._input.LA(1)){case 19:case 49:case 53:case 54:this.enterOuterAlt(t,1),this.state=782,this.unary_op(),this.state=783,this.unary_expression();break;case 4:case 6:case 7:case 10:case 12:case 17:case 18:case 20:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 31:case 33:case 64:case 65:case 66:case 67:this.enterOuterAlt(t,2),this.state=785,this.primary_expression(0);break;default:throw new dn(this)}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}unary_op(){let t=new Jh(this,this._ctx,this.state);this.enterRule(t,164,N.RULE_unary_op);let e;try{if(this.enterOuterAlt(t,1),this.state=788,e=this._input.LA(1),!(e===19||(e-49&-32)===0&&(1<<e-49&49)!==0))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}primary_expression(t){if(t===void 0)t=0;let e=this._ctx,r=this.state,i=new Cr(this,this._ctx,r),n=i,o=166;this.enterRecursionRule(i,166,N.RULE_primary_expression,t);let s;try{let h;this.enterOuterAlt(i,1);{i=new S1(this,i),this._ctx=i,n=i,this.state=791,this.atomic_expression(),this._ctx.stop=this._input.LT(-1),this.state=812,this._errHandler.sync(this),h=this._interp.adaptivePredict(this._input,74,this._ctx);while(h!==2&&h!==ir.INVALID_ALT_NUMBER){if(h===1){if(this._parseListeners!=null)this.triggerExitRuleEvent();switch(n=i,this.state=810,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,73,this._ctx)){case 1:{if(i=new w1(this,new Cr(this,e,r)),this.pushNewRecursionContext(i,o,N.RULE_primary_expression),this.state=793,!this.precpred(this._ctx,4))throw this.createFailedPredicateException("this.precpred(this._ctx, 4)");this.state=794,this.match(N.DOT),this.state=795,this.name_load()}break;case 2:{if(i=new v1(this,new Cr(this,e,r)),this.pushNewRecursionContext(i,o,N.RULE_primary_expression),this.state=796,!this.precpred(this._ctx,3))throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");if(this.state=798,this._errHandler.sync(this),s=this._input.LA(1),s===41)this.state=797,this.template_spec_suffix();if(this.state=800,this.match(N.LPAR),this.state=802,this._errHandler.sync(this),s=this._input.LA(1),(s-4&-32)===0&&(1<<s-4&704504141)!==0||(s-49&-32)===0&&(1<<s-49&491569)!==0)this.state=801,this.argument_list();this.state=804,this.match(N.RPAR)}break;case 3:{if(i=new C1(this,new Cr(this,e,r)),this.pushNewRecursionContext(i,o,N.RULE_primary_expression),this.state=805,!this.precpred(this._ctx,2))throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");this.state=806,this.match(N.LSQB),this.state=807,this.subscript_slice(),this.state=808,this.match(N.RSQB)}break}}this.state=814,this._errHandler.sync(this),h=this._interp.adaptivePredict(this._input,74,this._ctx)}}}catch(h){if(h instanceof Ct)i.exception=h,this._errHandler.reportError(this,h),this._errHandler.recover(this,h);else throw h}finally{this.unrollRecursionContexts(e)}return i}argument_list(){let t=new t0(this,this._ctx,this.state);this.enterRule(t,168,N.RULE_argument_list);let e;try{let r;this.enterOuterAlt(t,1);{this.state=815,this.argument_definition(),this.state=820,this._errHandler.sync(this),r=this._interp.adaptivePredict(this._input,75,this._ctx);while(r!==2&&r!==ir.INVALID_ALT_NUMBER){if(r===1)this.state=816,this.match(N.COMMA),this.state=817,this.argument_definition();this.state=822,this._errHandler.sync(this),r=this._interp.adaptivePredict(this._input,75,this._ctx)}if(this.state=824,this._errHandler.sync(this),e=this._input.LA(1),e===46)this.state=823,this.match(N.COMMA)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}argument_definition(){let t=new na(this,this._ctx,this.state);this.enterRule(t,170,N.RULE_argument_definition);try{this.enterOuterAlt(t,1);{switch(this.state=829,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,77,this._ctx)){case 1:this.state=826,this.name_store(),this.state=827,this.match(N.EQUAL);break}this.state=831,this.expression()}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}subscript_slice(){let t=new ha(this,this._ctx,this.state);this.enterRule(t,172,N.RULE_subscript_slice);let e;try{let r;this.enterOuterAlt(t,1);{this.state=833,this.expression(),this.state=838,this._errHandler.sync(this),r=this._interp.adaptivePredict(this._input,78,this._ctx);while(r!==2&&r!==ir.INVALID_ALT_NUMBER){if(r===1)this.state=834,this.match(N.COMMA),this.state=835,this.expression();this.state=840,this._errHandler.sync(this),r=this._interp.adaptivePredict(this._input,78,this._ctx)}if(this.state=842,this._errHandler.sync(this),e=this._input.LA(1),e===46)this.state=841,this.match(N.COMMA)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}atomic_expression(){let t=new e0(this,this._ctx,this.state);this.enterRule(t,174,N.RULE_atomic_expression);try{switch(this.state=848,this._errHandler.sync(this),this._input.LA(1)){case 4:case 6:case 7:case 10:case 17:case 18:case 20:case 22:case 23:case 24:case 25:case 26:case 28:case 64:this.enterOuterAlt(t,1),this.state=844,this.name_load();break;case 12:case 27:case 65:case 66:case 67:this.enterOuterAlt(t,2),this.state=845,this.literal_expression();break;case 31:this.enterOuterAlt(t,3),this.state=846,this.grouped_expression();break;case 33:this.enterOuterAlt(t,4),this.state=847,this.tuple_expression();break;default:throw new dn(this)}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}literal_expression(){let t=new r0(this,this._ctx,this.state);this.enterRule(t,176,N.RULE_literal_expression);try{switch(this.state=854,this._errHandler.sync(this),this._input.LA(1)){case 65:this.enterOuterAlt(t,1),this.state=850,this.literal_number();break;case 66:this.enterOuterAlt(t,2),this.state=851,this.literal_string();break;case 12:case 27:this.enterOuterAlt(t,3),this.state=852,this.literal_bool();break;case 67:this.enterOuterAlt(t,4),this.state=853,this.literal_color();break;default:throw new dn(this)}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}literal_number(){let t=new fa(this,this._ctx,this.state);this.enterRule(t,178,N.RULE_literal_number);try{this.enterOuterAlt(t,1),this.state=856,this.match(N.NUMBER)}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}literal_string(){let t=new n0(this,this._ctx,this.state);this.enterRule(t,180,N.RULE_literal_string);try{this.enterOuterAlt(t,1),this.state=858,this.match(N.STRING)}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}literal_bool(){let t=new i0(this,this._ctx,this.state);this.enterRule(t,182,N.RULE_literal_bool);let e;try{if(this.enterOuterAlt(t,1),this.state=860,e=this._input.LA(1),!(e===12||e===27))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}literal_color(){let t=new s0(this,this._ctx,this.state);this.enterRule(t,184,N.RULE_literal_color);try{this.enterOuterAlt(t,1),this.state=862,this.match(N.COLOR)}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}grouped_expression(){let t=new o0(this,this._ctx,this.state);this.enterRule(t,186,N.RULE_grouped_expression);try{this.enterOuterAlt(t,1),this.state=864,this.match(N.LPAR),this.state=865,this.expression(),this.state=866,this.match(N.RPAR)}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}tuple_expression(){let t=new l0(this,this._ctx,this.state);this.enterRule(t,188,N.RULE_tuple_expression);let e;try{let r;this.enterOuterAlt(t,1);{if(this.state=868,this.match(N.LSQB),this.state=880,this._errHandler.sync(this),e=this._input.LA(1),(e-4&-32)===0&&(1<<e-4&704504141)!==0||(e-49&-32)===0&&(1<<e-49&491569)!==0){this.state=869,this.expression(),this.state=874,this._errHandler.sync(this),r=this._interp.adaptivePredict(this._input,82,this._ctx);while(r!==2&&r!==ir.INVALID_ALT_NUMBER){if(r===1)this.state=870,this.match(N.COMMA),this.state=871,this.expression();this.state=876,this._errHandler.sync(this),r=this._interp.adaptivePredict(this._input,82,this._ctx)}if(this.state=878,this._errHandler.sync(this),e=this._input.LA(1),e===46)this.state=877,this.match(N.COMMA)}this.state=882,this.match(N.RSQB)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}import_statement(){let t=new a0(this,this._ctx,this.state);this.enterRule(t,190,N.RULE_import_statement);let e;try{if(this.enterOuterAlt(t,1),this.state=884,this.match(N.IMPORT),this.state=885,this.name(),this.state=886,this.match(N.SLASH),this.state=887,this.name(),this.state=888,this.match(N.SLASH),this.state=889,this.literal_number(),this.state=892,this._errHandler.sync(this),e=this._input.LA(1),e===4)this.state=890,this.match(N.AS),this.state=891,this.name()}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}break_statement(){let t=new u0(this,this._ctx,this.state);this.enterRule(t,192,N.RULE_break_statement);try{this.enterOuterAlt(t,1),this.state=894,this.match(N.BREAK)}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}continue_statement(){let t=new c0(this,this._ctx,this.state);this.enterRule(t,194,N.RULE_continue_statement);try{this.enterOuterAlt(t,1),this.state=896,this.match(N.CONTINUE)}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}variable_declaration(){let t=new da(this,this._ctx,this.state);this.enterRule(t,196,N.RULE_variable_declaration);try{switch(this.state=909,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,86,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=898,this.declaration_mode(),this.state=899,this.type_specification(),this.state=900,this.name_store();break;case 2:this.enterOuterAlt(t,2),this.state=902,this.declaration_mode(),this.state=903,this.name_store();break;case 3:this.enterOuterAlt(t,3),this.state=905,this.type_specification(),this.state=906,this.name_store();break;case 4:this.enterOuterAlt(t,4),this.state=908,this.name_store();break}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}tuple_declaration(){let t=new no(this,this._ctx,this.state);this.enterRule(t,198,N.RULE_tuple_declaration);let e;try{let r;this.enterOuterAlt(t,1);{this.state=911,this.match(N.LSQB),this.state=912,this.name_store(),this.state=917,this._errHandler.sync(this),r=this._interp.adaptivePredict(this._input,87,this._ctx);while(r!==2&&r!==ir.INVALID_ALT_NUMBER){if(r===1)this.state=913,this.match(N.COMMA),this.state=914,this.name_store();this.state=919,this._errHandler.sync(this),r=this._interp.adaptivePredict(this._input,87,this._ctx)}if(this.state=921,this._errHandler.sync(this),e=this._input.LA(1),e===46)this.state=920,this.match(N.COMMA);this.state=923,this.match(N.RSQB)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}declaration_mode(){let t=new h0(this,this._ctx,this.state);this.enterRule(t,200,N.RULE_declaration_mode);let e;try{if(this.enterOuterAlt(t,1),this.state=925,e=this._input.LA(1),!(e===28||e===29))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}assignment_target(){let t=new f0(this,this._ctx,this.state);this.enterRule(t,202,N.RULE_assignment_target);try{switch(this.state=931,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,89,this._ctx)){case 1:this.enterOuterAlt(t,1),this.state=927,this.assignment_target_attribute();break;case 2:this.enterOuterAlt(t,2),this.state=928,this.assignment_target_subscript();break;case 3:this.enterOuterAlt(t,3),this.state=929,this.assignment_target_name();break;case 4:this.enterOuterAlt(t,4),this.state=930,this.assignment_target_group();break}}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}assignment_target_attribute(){let t=new pa(this,this._ctx,this.state);this.enterRule(t,204,N.RULE_assignment_target_attribute);try{this.enterOuterAlt(t,1),this.state=933,this.primary_expression(0),this.state=934,this.match(N.DOT),this.state=935,this.name_store()}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}assignment_target_subscript(){let t=new ma(this,this._ctx,this.state);this.enterRule(t,206,N.RULE_assignment_target_subscript);try{this.enterOuterAlt(t,1),this.state=937,this.primary_expression(0),this.state=938,this.match(N.LSQB),this.state=939,this.subscript_slice(),this.state=940,this.match(N.RSQB)}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}assignment_target_name(){let t=new d0(this,this._ctx,this.state);this.enterRule(t,208,N.RULE_assignment_target_name);try{this.enterOuterAlt(t,1),this.state=942,this.name_store()}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}assignment_target_group(){let t=new p0(this,this._ctx,this.state);this.enterRule(t,210,N.RULE_assignment_target_group);try{this.enterOuterAlt(t,1),this.state=944,this.match(N.LPAR),this.state=945,this.assignment_target(),this.state=946,this.match(N.RPAR)}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}augassign_op(){let t=new ga(this,this._ctx,this.state);this.enterRule(t,212,N.RULE_augassign_op);let e;try{if(this.enterOuterAlt(t,1),this.state=948,e=this._input.LA(1),!((e-58&-32)===0&&(1<<e-58&31)!==0))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}type_specification(){let t=new on(this,this._ctx,this.state);this.enterRule(t,214,N.RULE_type_specification);let e;try{this.enterOuterAlt(t,1);{switch(this.state=951,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,90,this._ctx)){case 1:this.state=950,this.type_qualifier();break}if(this.state=953,this.attributed_type_name(),this.state=955,this._errHandler.sync(this),e=this._input.LA(1),e===41)this.state=954,this.template_spec_suffix();if(this.state=958,this._errHandler.sync(this),e=this._input.LA(1),e===33)this.state=957,this.array_type_suffix()}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}type_qualifier(){let t=new _a(this,this._ctx,this.state);this.enterRule(t,216,N.RULE_type_qualifier);let e;try{if(this.enterOuterAlt(t,1),this.state=960,e=this._input.LA(1),!((e&-32)===0&&(1<<e&12714112)!==0))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}attributed_type_name(){let t=new ba(this,this._ctx,this.state);this.enterRule(t,218,N.RULE_attributed_type_name);let e;try{this.enterOuterAlt(t,1);{this.state=962,this.name_load(),this.state=967,this._errHandler.sync(this),e=this._input.LA(1);while(e===45)this.state=963,this.match(N.DOT),this.state=964,this.name_load(),this.state=969,this._errHandler.sync(this),e=this._input.LA(1)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}template_spec_suffix(){let t=new ya(this,this._ctx,this.state);this.enterRule(t,220,N.RULE_template_spec_suffix);let e;try{switch(this.state=979,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,95,this._ctx)){case 1:this.enterOuterAlt(t,1);{if(this.state=970,this.match(N.LESS),this.state=972,this._errHandler.sync(this),e=this._input.LA(1),(e&-32)===0&&(1<<e&399901904)!==0||e===64)this.state=971,this.type_argument_list();this.state=974,this.match(N.GREATER)}break;case 2:this.enterOuterAlt(t,2),this.state=975,this.match(N.LESS),this.state=976,this.rshift_closed_type_args(),this.state=977,this.match(N.RSHIFT);break}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}rshift_closed_type_args(){let t=new m0(this,this._ctx,this.state);this.enterRule(t,222,N.RULE_rshift_closed_type_args);let e;try{let r;this.enterOuterAlt(t,1);{this.state=986,this._errHandler.sync(this),r=this._interp.adaptivePredict(this._input,96,this._ctx);while(r!==2&&r!==ir.INVALID_ALT_NUMBER){if(r===1)this.state=981,this.type_specification(),this.state=982,this.match(N.COMMA);this.state=988,this._errHandler.sync(this),r=this._interp.adaptivePredict(this._input,96,this._ctx)}switch(this.state=990,this._errHandler.sync(this),this._interp.adaptivePredict(this._input,97,this._ctx)){case 1:this.state=989,this.type_qualifier();break}if(this.state=992,this.attributed_type_name(),this.state=993,this.match(N.LESS),this.state=995,this._errHandler.sync(this),e=this._input.LA(1),(e&-32)===0&&(1<<e&399901904)!==0||e===64)this.state=994,this.type_argument_list()}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}array_type_suffix(){let t=new g0(this,this._ctx,this.state);this.enterRule(t,224,N.RULE_array_type_suffix);try{this.enterOuterAlt(t,1),this.state=997,this.match(N.LSQB),this.state=998,this.match(N.RSQB)}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}type_argument_list(){let t=new xa(this,this._ctx,this.state);this.enterRule(t,226,N.RULE_type_argument_list);let e;try{let r;this.enterOuterAlt(t,1);{this.state=1000,this.type_specification(),this.state=1005,this._errHandler.sync(this),r=this._interp.adaptivePredict(this._input,99,this._ctx);while(r!==2&&r!==ir.INVALID_ALT_NUMBER){if(r===1)this.state=1001,this.match(N.COMMA),this.state=1002,this.type_specification();this.state=1007,this._errHandler.sync(this),r=this._interp.adaptivePredict(this._input,99,this._ctx)}if(this.state=1009,this._errHandler.sync(this),e=this._input.LA(1),e===46)this.state=1008,this.match(N.COMMA)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}name(){let t=new On(this,this._ctx,this.state);this.enterRule(t,228,N.RULE_name);let e;try{if(this.enterOuterAlt(t,1),this.state=1011,e=this._input.LA(1),!((e&-32)===0&&(1<<e&399901904)!==0||e===64))this._errHandler.recoverInline(this);else this._errHandler.reportMatch(this),this.consume()}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}name_load(){let t=new cs(this,this._ctx,this.state);this.enterRule(t,230,N.RULE_name_load);try{this.enterOuterAlt(t,1),this.state=1013,this.name()}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}name_store(){let t=new ln(this,this._ctx,this.state);this.enterRule(t,232,N.RULE_name_store);try{this.enterOuterAlt(t,1),this.state=1015,this.name()}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}comments(){let t=new _0(this,this._ctx,this.state);this.enterRule(t,234,N.RULE_comments);let e;try{this.enterOuterAlt(t,1);{this.state=1018,this._errHandler.sync(this),e=this._input.LA(1);do this.state=1017,this.comment(),this.state=1020,this._errHandler.sync(this),e=this._input.LA(1);while(e===70)}}catch(r){if(r instanceof Ct)t.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return t}comment(){let t=new ia(this,this._ctx,this.state);this.enterRule(t,236,N.RULE_comment);try{this.enterOuterAlt(t,1),this.state=1022,this.match(N.COMMENT)}catch(e){if(e instanceof Ct)t.exception=e,this._errHandler.reportError(this,e),this._errHandler.recover(this,e);else throw e}finally{this.exitRule()}return t}sempred(t,e,r){switch(e){case 62:return this.bitwise_or_expression_sempred(t,r);case 63:return this.bitwise_xor_expression_sempred(t,r);case 64:return this.bitwise_and_expression_sempred(t,r);case 75:return this.shift_expression_sempred(t,r);case 77:return this.additive_expression_sempred(t,r);case 79:return this.multiplicative_expression_sempred(t,r);case 83:return this.primary_expression_sempred(t,r)}return!0}bitwise_or_expression_sempred(t,e){switch(e){case 0:return this.precpred(this._ctx,2)}return!0}bitwise_xor_expression_sempred(t,e){switch(e){case 1:return this.precpred(this._ctx,2)}return!0}bitwise_and_expression_sempred(t,e){switch(e){case 2:return this.precpred(this._ctx,2)}return!0}shift_expression_sempred(t,e){switch(e){case 3:return this.precpred(this._ctx,2)}return!0}additive_expression_sempred(t,e){switch(e){case 4:return this.precpred(this._ctx,2)}return!0}multiplicative_expression_sempred(t,e){switch(e){case 5:return this.precpred(this._ctx,2)}return!0}primary_expression_sempred(t,e){switch(e){case 6:return this.precpred(this._ctx,4);case 7:return this.precpred(this._ctx,3);case 8:return this.precpred(this._ctx,2)}return!0}static _serializedATN=[4,1,72,1025,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,1,0,1,0,1,1,3,1,242,8,1,1,1,1,1,1,2,1,2,3,2,248,8,2,1,2,1,2,1,3,3,3,253,8,3,1,3,1,3,1,4,4,4,258,8,4,11,4,12,4,259,1,5,1,5,1,5,3,5,265,8,5,1,6,1,6,1,6,1,6,1,6,1,6,3,6,273,8,6,1,7,1,7,1,7,5,7,278,8,7,10,7,12,7,281,9,7,1,7,3,7,284,8,7,1,7,1,7,1,8,1,8,1,8,5,8,291,8,8,10,8,12,8,294,9,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,9,3,9,304,8,9,1,10,1,10,1,10,3,10,309,8,10,1,11,1,11,3,11,313,8,11,1,12,3,12,316,8,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1,16,3,16,335,8,16,1,16,1,16,1,16,1,16,3,16,341,8,16,1,16,1,16,1,16,1,16,1,16,3,16,348,8,16,1,16,1,16,1,16,3,16,353,8,16,1,16,1,16,1,16,1,16,3,16,359,8,16,1,17,1,17,1,17,5,17,364,8,17,10,17,12,17,367,9,17,1,17,3,17,370,8,17,1,18,1,18,1,18,1,18,3,18,376,8,18,1,18,1,18,1,18,3,18,381,8,18,3,18,383,8,18,1,19,3,19,386,8,19,1,19,1,19,1,19,1,19,1,19,3,19,393,8,19,1,19,1,19,1,19,1,19,1,19,3,19,400,8,19,1,19,1,19,1,19,1,19,3,19,406,8,19,1,19,1,19,1,19,1,19,3,19,412,8,19,1,20,1,20,1,20,5,20,417,8,20,10,20,12,20,420,9,20,1,20,3,20,423,8,20,1,21,1,21,1,21,1,21,3,21,429,8,21,1,22,3,22,432,8,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,23,4,23,442,8,23,11,23,12,23,443,1,24,3,24,447,8,24,1,24,1,24,1,24,1,24,3,24,453,8,24,1,24,1,24,1,25,3,25,458,8,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,26,4,26,468,8,26,11,26,12,26,469,1,27,1,27,1,27,3,27,475,8,27,1,27,1,27,1,28,1,28,1,28,1,28,3,28,483,8,28,1,29,1,29,3,29,487,8,29,1,30,1,30,1,31,1,31,1,32,1,32,1,32,1,32,3,32,497,8,32,1,33,1,33,1,33,1,33,1,33,3,33,504,8,33,1,34,1,34,3,34,508,8,34,1,35,1,35,1,35,1,36,1,36,3,36,515,8,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,3,37,525,8,37,1,37,1,37,1,38,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,3,39,540,8,39,1,40,1,40,1,40,1,40,1,41,1,41,3,41,548,8,41,1,41,1,41,1,41,1,41,1,41,1,42,1,42,3,42,557,8,42,1,42,1,42,1,43,1,43,3,43,563,8,43,1,44,4,44,566,8,44,11,44,12,44,567,1,45,1,45,1,45,1,45,1,46,1,46,1,46,5,46,577,8,46,10,46,12,46,580,9,46,1,47,1,47,1,47,1,48,1,48,3,48,587,8,48,1,49,4,49,590,8,49,11,49,12,49,591,1,49,1,49,1,49,1,49,1,50,1,50,1,51,1,51,1,51,3,51,603,8,51,1,52,1,52,3,52,607,8,52,1,53,3,53,610,8,53,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,1,55,3,55,632,8,55,1,56,1,56,1,56,1,56,1,57,1,57,1,58,1,58,1,59,1,59,1,59,1,59,1,59,1,59,3,59,648,8,59,1,60,1,60,1,60,5,60,653,8,60,10,60,12,60,656,9,60,1,61,1,61,1,61,5,61,661,8,61,10,61,12,61,664,9,61,1,62,1,62,1,62,1,62,1,62,1,62,5,62,672,8,62,10,62,12,62,675,9,62,1,63,1,63,1,63,1,63,1,63,1,63,5,63,683,8,63,10,63,12,63,686,9,63,1,64,1,64,1,64,1,64,1,64,1,64,5,64,694,8,64,10,64,12,64,697,9,64,1,65,1,65,5,65,701,8,65,10,65,12,65,704,9,65,1,66,1,66,3,66,708,8,66,1,67,1,67,1,67,1,68,1,68,1,68,1,69,1,69,5,69,718,8,69,10,69,12,69,721,9,69,1,70,1,70,1,70,1,70,3,70,727,8,70,1,71,1,71,1,71,1,72,1,72,1,72,1,73,1,73,1,73,1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,75,5,75,748,8,75,10,75,12,75,751,9,75,1,76,1,76,1,77,1,77,1,77,1,77,1,77,1,77,1,77,5,77,762,8,77,10,77,12,77,765,9,77,1,78,1,78,1,79,1,79,1,79,1,79,1,79,1,79,1,79,5,79,776,8,79,10,79,12,79,779,9,79,1,80,1,80,1,81,1,81,1,81,1,81,3,81,787,8,81,1,82,1,82,1,83,1,83,1,83,1,83,1,83,1,83,1,83,1,83,3,83,799,8,83,1,83,1,83,3,83,803,8,83,1,83,1,83,1,83,1,83,1,83,1,83,5,83,811,8,83,10,83,12,83,814,9,83,1,84,1,84,1,84,5,84,819,8,84,10,84,12,84,822,9,84,1,84,3,84,825,8,84,1,85,1,85,1,85,3,85,830,8,85,1,85,1,85,1,86,1,86,1,86,5,86,837,8,86,10,86,12,86,840,9,86,1,86,3,86,843,8,86,1,87,1,87,1,87,1,87,3,87,849,8,87,1,88,1,88,1,88,1,88,3,88,855,8,88,1,89,1,89,1,90,1,90,1,91,1,91,1,92,1,92,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,5,94,873,8,94,10,94,12,94,876,9,94,1,94,3,94,879,8,94,3,94,881,8,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,95,1,95,1,95,3,95,893,8,95,1,96,1,96,1,97,1,97,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,3,98,910,8,98,1,99,1,99,1,99,1,99,5,99,916,8,99,10,99,12,99,919,9,99,1,99,3,99,922,8,99,1,99,1,99,1,100,1,100,1,101,1,101,1,101,1,101,3,101,932,8,101,1,102,1,102,1,102,1,102,1,103,1,103,1,103,1,103,1,103,1,104,1,104,1,105,1,105,1,105,1,105,1,106,1,106,1,107,3,107,952,8,107,1,107,1,107,3,107,956,8,107,1,107,3,107,959,8,107,1,108,1,108,1,109,1,109,1,109,5,109,966,8,109,10,109,12,109,969,9,109,1,110,1,110,3,110,973,8,110,1,110,1,110,1,110,1,110,1,110,3,110,980,8,110,1,111,1,111,1,111,5,111,985,8,111,10,111,12,111,988,9,111,1,111,3,111,991,8,111,1,111,1,111,1,111,3,111,996,8,111,1,112,1,112,1,112,1,113,1,113,1,113,5,113,1004,8,113,10,113,12,113,1007,9,113,1,113,3,113,1010,8,113,1,114,1,114,1,115,1,115,1,116,1,116,1,117,4,117,1019,8,117,11,117,12,117,1020,1,118,1,118,1,118,0,7,124,126,128,150,154,158,166,119,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128,130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,0,9,1,0,35,36,1,0,53,54,1,0,55,57,3,0,19,19,49,49,53,54,2,0,12,12,27,27,1,0,28,29,1,0,58,62,3,0,7,7,17,17,22,23,8,0,4,4,6,7,10,10,17,18,20,20,22,26,28,28,64,64,1032,0,238,1,0,0,0,2,241,1,0,0,0,4,245,1,0,0,0,6,252,1,0,0,0,8,257,1,0,0,0,10,264,1,0,0,0,12,272,1,0,0,0,14,274,1,0,0,0,16,287,1,0,0,0,18,303,1,0,0,0,20,308,1,0,0,0,22,312,1,0,0,0,24,315,1,0,0,0,26,321,1,0,0,0,28,325,1,0,0,0,30,329,1,0,0,0,32,358,1,0,0,0,34,360,1,0,0,0,36,382,1,0,0,0,38,411,1,0,0,0,40,413,1,0,0,0,42,428,1,0,0,0,44,431,1,0,0,0,46,441,1,0,0,0,48,446,1,0,0,0,50,457,1,0,0,0,52,467,1,0,0,0,54,471,1,0,0,0,56,482,1,0,0,0,58,486,1,0,0,0,60,488,1,0,0,0,62,490,1,0,0,0,64,492,1,0,0,0,66,498,1,0,0,0,68,507,1,0,0,0,70,509,1,0,0,0,72,514,1,0,0,0,74,516,1,0,0,0,76,528,1,0,0,0,78,539,1,0,0,0,80,541,1,0,0,0,82,545,1,0,0,0,84,554,1,0,0,0,86,562,1,0,0,0,88,565,1,0,0,0,90,569,1,0,0,0,92,573,1,0,0,0,94,581,1,0,0,0,96,586,1,0,0,0,98,589,1,0,0,0,100,597,1,0,0,0,102,602,1,0,0,0,104,606,1,0,0,0,106,609,1,0,0,0,108,615,1,0,0,0,110,631,1,0,0,0,112,633,1,0,0,0,114,637,1,0,0,0,116,639,1,0,0,0,118,641,1,0,0,0,120,649,1,0,0,0,122,657,1,0,0,0,124,665,1,0,0,0,126,676,1,0,0,0,128,687,1,0,0,0,130,698,1,0,0,0,132,707,1,0,0,0,134,709,1,0,0,0,136,712,1,0,0,0,138,715,1,0,0,0,140,726,1,0,0,0,142,728,1,0,0,0,144,731,1,0,0,0,146,734,1,0,0,0,148,737,1,0,0,0,150,740,1,0,0,0,152,752,1,0,0,0,154,754,1,0,0,0,156,766,1,0,0,0,158,768,1,0,0,0,160,780,1,0,0,0,162,786,1,0,0,0,164,788,1,0,0,0,166,790,1,0,0,0,168,815,1,0,0,0,170,829,1,0,0,0,172,833,1,0,0,0,174,848,1,0,0,0,176,854,1,0,0,0,178,856,1,0,0,0,180,858,1,0,0,0,182,860,1,0,0,0,184,862,1,0,0,0,186,864,1,0,0,0,188,868,1,0,0,0,190,884,1,0,0,0,192,894,1,0,0,0,194,896,1,0,0,0,196,909,1,0,0,0,198,911,1,0,0,0,200,925,1,0,0,0,202,931,1,0,0,0,204,933,1,0,0,0,206,937,1,0,0,0,208,942,1,0,0,0,210,944,1,0,0,0,212,948,1,0,0,0,214,951,1,0,0,0,216,960,1,0,0,0,218,962,1,0,0,0,220,979,1,0,0,0,222,986,1,0,0,0,224,997,1,0,0,0,226,1000,1,0,0,0,228,1011,1,0,0,0,230,1013,1,0,0,0,232,1015,1,0,0,0,234,1018,1,0,0,0,236,1022,1,0,0,0,238,239,3,2,1,0,239,1,1,0,0,0,240,242,3,8,4,0,241,240,1,0,0,0,241,242,1,0,0,0,242,243,1,0,0,0,243,244,5,0,0,1,244,3,1,0,0,0,245,247,3,114,57,0,246,248,5,68,0,0,247,246,1,0,0,0,247,248,1,0,0,0,248,249,1,0,0,0,249,250,5,0,0,1,250,5,1,0,0,0,251,253,3,234,117,0,252,251,1,0,0,0,252,253,1,0,0,0,253,254,1,0,0,0,254,255,5,0,0,1,255,7,1,0,0,0,256,258,3,10,5,0,257,256,1,0,0,0,258,259,1,0,0,0,259,257,1,0,0,0,259,260,1,0,0,0,260,9,1,0,0,0,261,265,3,12,6,0,262,265,3,14,7,0,263,265,3,16,8,0,264,261,1,0,0,0,264,262,1,0,0,0,264,263,1,0,0,0,265,11,1,0,0,0,266,273,3,20,10,0,267,273,3,44,22,0,268,273,3,50,25,0,269,273,3,60,30,0,270,273,3,38,19,0,271,273,3,32,16,0,272,266,1,0,0,0,272,267,1,0,0,0,272,268,1,0,0,0,272,269,1,0,0,0,272,270,1,0,0,0,272,271,1,0,0,0,273,13,1,0,0,0,274,279,3,18,9,0,275,276,5,46,0,0,276,278,3,18,9,0,277,275,1,0,0,0,278,281,1,0,0,0,279,277,1,0,0,0,279,280,1,0,0,0,280,283,1,0,0,0,281,279,1,0,0,0,282,284,5,46,0,0,283,282,1,0,0,0,283,284,1,0,0,0,284,285,1,0,0,0,285,286,5,68,0,0,286,15,1,0,0,0,287,292,3,18,9,0,288,289,5,46,0,0,289,291,3,18,9,0,290,288,1,0,0,0,291,294,1,0,0,0,292,290,1,0,0,0,292,293,1,0,0,0,293,295,1,0,0,0,294,292,1,0,0,0,295,296,5,46,0,0,296,297,3,58,29,0,297,17,1,0,0,0,298,304,3,102,51,0,299,304,3,116,58,0,300,304,3,190,95,0,301,304,3,192,96,0,302,304,3,194,97,0,303,298,1,0,0,0,303,299,1,0,0,0,303,300,1,0,0,0,303,301,1,0,0,0,303,302,1,0,0,0,304,19,1,0,0,0,305,309,3,22,11,0,306,309,3,28,14,0,307,309,3,30,15,0,308,305,1,0,0,0,308,306,1,0,0,0,308,307,1,0,0,0,309,21,1,0,0,0,310,313,3,24,12,0,311,313,3,26,13,0,312,310,1,0,0,0,312,311,1,0,0,0,313,23,1,0,0,0,314,316,5,11,0,0,315,314,1,0,0,0,315,316,1,0,0,0,316,317,1,0,0,0,317,318,3,196,98,0,318,319,5,43,0,0,319,320,3,62,31,0,320,25,1,0,0,0,321,322,3,198,99,0,322,323,5,43,0,0,323,324,3,62,31,0,324,27,1,0,0,0,325,326,3,166,83,0,326,327,5,63,0,0,327,328,3,62,31,0,328,29,1,0,0,0,329,330,3,166,83,0,330,331,3,212,106,0,331,332,3,62,31,0,332,31,1,0,0,0,333,335,5,11,0,0,334,333,1,0,0,0,334,335,1,0,0,0,335,336,1,0,0,0,336,337,3,214,107,0,337,338,3,228,114,0,338,340,5,31,0,0,339,341,3,34,17,0,340,339,1,0,0,0,340,341,1,0,0,0,341,342,1,0,0,0,342,343,5,32,0,0,343,344,5,44,0,0,344,345,3,96,48,0,345,359,1,0,0,0,346,348,5,11,0,0,347,346,1,0,0,0,347,348,1,0,0,0,348,349,1,0,0,0,349,350,3,228,114,0,350,352,5,31,0,0,351,353,3,34,17,0,352,351,1,0,0,0,352,353,1,0,0,0,353,354,1,0,0,0,354,355,5,32,0,0,355,356,5,44,0,0,356,357,3,96,48,0,357,359,1,0,0,0,358,334,1,0,0,0,358,347,1,0,0,0,359,33,1,0,0,0,360,365,3,36,18,0,361,362,5,46,0,0,362,364,3,36,18,0,363,361,1,0,0,0,364,367,1,0,0,0,365,363,1,0,0,0,365,366,1,0,0,0,366,369,1,0,0,0,367,365,1,0,0,0,368,370,5,46,0,0,369,368,1,0,0,0,369,370,1,0,0,0,370,35,1,0,0,0,371,372,3,214,107,0,372,375,3,232,116,0,373,374,5,43,0,0,374,376,3,114,57,0,375,373,1,0,0,0,375,376,1,0,0,0,376,383,1,0,0,0,377,380,3,232,116,0,378,379,5,43,0,0,379,381,3,114,57,0,380,378,1,0,0,0,380,381,1,0,0,0,381,383,1,0,0,0,382,371,1,0,0,0,382,377,1,0,0,0,383,37,1,0,0,0,384,386,5,11,0,0,385,384,1,0,0,0,385,386,1,0,0,0,386,387,1,0,0,0,387,388,5,18,0,0,388,389,3,214,107,0,389,390,3,228,114,0,390,392,5,31,0,0,391,393,3,40,20,0,392,391,1,0,0,0,392,393,1,0,0,0,393,394,1,0,0,0,394,395,5,32,0,0,395,396,5,44,0,0,396,397,3,96,48,0,397,412,1,0,0,0,398,400,5,11,0,0,399,398,1,0,0,0,399,400,1,0,0,0,400,401,1,0,0,0,401,402,5,18,0,0,402,403,3,228,114,0,403,405,5,31,0,0,404,406,3,40,20,0,405,404,1,0,0,0,405,406,1,0,0,0,406,407,1,0,0,0,407,408,5,32,0,0,408,409,5,44,0,0,409,410,3,96,48,0,410,412,1,0,0,0,411,385,1,0,0,0,411,399,1,0,0,0,412,39,1,0,0,0,413,418,3,42,21,0,414,415,5,46,0,0,415,417,3,42,21,0,416,414,1,0,0,0,417,420,1,0,0,0,418,416,1,0,0,0,418,419,1,0,0,0,419,422,1,0,0,0,420,418,1,0,0,0,421,423,5,46,0,0,422,421,1,0,0,0,422,423,1,0,0,0,423,41,1,0,0,0,424,425,3,214,107,0,425,426,3,232,116,0,426,429,1,0,0,0,427,429,3,36,18,0,428,424,1,0,0,0,428,427,1,0,0,0,429,43,1,0,0,0,430,432,5,11,0,0,431,430,1,0,0,0,431,432,1,0,0,0,432,433,1,0,0,0,433,434,5,26,0,0,434,435,3,228,114,0,435,436,5,68,0,0,436,437,5,1,0,0,437,438,3,46,23,0,438,439,5,2,0,0,439,45,1,0,0,0,440,442,3,48,24,0,441,440,1,0,0,0,442,443,1,0,0,0,443,441,1,0,0,0,443,444,1,0,0,0,444,47,1,0,0,0,445,447,5,29,0,0,446,445,1,0,0,0,446,447,1,0,0,0,447,448,1,0,0,0,448,449,3,214,107,0,449,452,3,232,116,0,450,451,5,43,0,0,451,453,3,114,57,0,452,450,1,0,0,0,452,453,1,0,0,0,453,454,1,0,0,0,454,455,5,68,0,0,455,49,1,0,0,0,456,458,5,11,0,0,457,456,1,0,0,0,457,458,1,0,0,0,458,459,1,0,0,0,459,460,5,10,0,0,460,461,3,228,114,0,461,462,5,68,0,0,462,463,5,1,0,0,463,464,3,52,26,0,464,465,5,2,0,0,465,51,1,0,0,0,466,468,3,54,27,0,467,466,1,0,0,0,468,469,1,0,0,0,469,467,1,0,0,0,469,470,1,0,0,0,470,53,1,0,0,0,471,474,3,232,116,0,472,473,5,43,0,0,473,475,3,114,57,0,474,472,1,0,0,0,474,475,1,0,0,0,475,476,1,0,0,0,476,477,5,68,0,0,477,55,1,0,0,0,478,483,3,64,32,0,479,483,3,72,36,0,480,483,3,80,40,0,481,483,3,82,41,0,482,478,1,0,0,0,482,479,1,0,0,0,482,480,1,0,0,0,482,481,1,0,0,0,483,57,1,0,0,0,484,487,3,56,28,0,485,487,3,84,42,0,486,484,1,0,0,0,486,485,1,0,0,0,487,59,1,0,0,0,488,489,3,58,29,0,489,61,1,0,0,0,490,491,3,56,28,0,491,63,1,0,0,0,492,493,5,14,0,0,493,494,3,114,57,0,494,496,3,96,48,0,495,497,3,68,34,0,496,495,1,0,0,0,496,497,1,0,0,0,497,65,1,0,0,0,498,499,5,9,0,0,499,500,5,14,0,0,500,501,3,114,57,0,501,503,3,96,48,0,502,504,3,68,34,0,503,502,1,0,0,0,503,504,1,0,0,0,504,67,1,0,0,0,505,508,3,66,33,0,506,508,3,70,35,0,507,505,1,0,0,0,507,506,1,0,0,0,508,69,1,0,0,0,509,510,5,9,0,0,510,511,3,96,48,0,511,71,1,0,0,0,512,515,3,74,37,0,513,515,3,76,38,0,514,512,1,0,0,0,514,513,1,0,0,0,515,73,1,0,0,0,516,517,5,13,0,0,517,518,3,78,39,0,518,519,5,43,0,0,519,520,3,114,57,0,520,521,5,25,0,0,521,524,3,114,57,0,522,523,5,6,0,0,523,525,3,114,57,0,524,522,1,0,0,0,524,525,1,0,0,0,525,526,1,0,0,0,526,527,3,96,48,0,527,75,1,0,0,0,528,529,5,13,0,0,529,530,3,78,39,0,530,531,5,16,0,0,531,532,3,114,57,0,532,533,3,96,48,0,533,77,1,0,0,0,534,535,3,214,107,0,535,536,3,232,116,0,536,540,1,0,0,0,537,540,3,232,116,0,538,540,3,198,99,0,539,534,1,0,0,0,539,537,1,0,0,0,539,538,1,0,0,0,540,79,1,0,0,0,541,542,5,30,0,0,542,543,3,114,57,0,543,544,3,96,48,0,544,81,1,0,0,0,545,547,5,24,0,0,546,548,3,114,57,0,547,546,1,0,0,0,547,548,1,0,0,0,548,549,1,0,0,0,549,550,5,68,0,0,550,551,5,1,0,0,551,552,3,88,44,0,552,553,5,2,0,0,553,83,1,0,0,0,554,556,5,20,0,0,555,557,3,114,57,0,556,555,1,0,0,0,556,557,1,0,0,0,557,558,1,0,0,0,558,559,3,96,48,0,559,85,1,0,0,0,560,563,3,90,45,0,561,563,3,94,47,0,562,560,1,0,0,0,562,561,1,0,0,0,563,87,1,0,0,0,564,566,3,86,43,0,565,564,1,0,0,0,566,567,1,0,0,0,567,565,1,0,0,0,567,568,1,0,0,0,568,89,1,0,0,0,569,570,3,92,46,0,570,571,5,44,0,0,571,572,3,96,48,0,572,91,1,0,0,0,573,578,3,114,57,0,574,575,5,46,0,0,575,577,3,114,57,0,576,574,1,0,0,0,577,580,1,0,0,0,578,576,1,0,0,0,578,579,1,0,0,0,579,93,1,0,0,0,580,578,1,0,0,0,581,582,5,44,0,0,582,583,3,96,48,0,583,95,1,0,0,0,584,587,3,98,49,0,585,587,3,100,50,0,586,584,1,0,0,0,586,585,1,0,0,0,587,97,1,0,0,0,588,590,5,68,0,0,589,588,1,0,0,0,590,591,1,0,0,0,591,589,1,0,0,0,591,592,1,0,0,0,592,593,1,0,0,0,593,594,5,1,0,0,594,595,3,8,4,0,595,596,5,2,0,0,596,99,1,0,0,0,597,598,3,10,5,0,598,101,1,0,0,0,599,603,3,104,52,0,600,603,3,110,55,0,601,603,3,112,56,0,602,599,1,0,0,0,602,600,1,0,0,0,602,601,1,0,0,0,603,103,1,0,0,0,604,607,3,106,53,0,605,607,3,108,54,0,606,604,1,0,0,0,606,605,1,0,0,0,607,105,1,0,0,0,608,610,5,11,0,0,609,608,1,0,0,0,609,610,1,0,0,0,610,611,1,0,0,0,611,612,3,196,98,0,612,613,5,43,0,0,613,614,3,114,57,0,614,107,1,0,0,0,615,616,3,198,99,0,616,617,5,43,0,0,617,618,3,114,57,0,618,109,1,0,0,0,619,620,3,204,102,0,620,621,5,43,0,0,621,622,3,114,57,0,622,632,1,0,0,0,623,624,3,206,103,0,624,625,5,43,0,0,625,626,3,114,57,0,626,632,1,0,0,0,627,628,3,166,83,0,628,629,5,63,0,0,629,630,3,114,57,0,630,632,1,0,0,0,631,619,1,0,0,0,631,623,1,0,0,0,631,627,1,0,0,0,632,111,1,0,0,0,633,634,3,166,83,0,634,635,3,212,106,0,635,636,3,114,57,0,636,113,1,0,0,0,637,638,3,118,59,0,638,115,1,0,0,0,639,640,3,114,57,0,640,117,1,0,0,0,641,647,3,120,60,0,642,643,5,48,0,0,643,644,3,114,57,0,644,645,5,47,0,0,645,646,3,114,57,0,646,648,1,0,0,0,647,642,1,0,0,0,647,648,1,0,0,0,648,119,1,0,0,0,649,654,3,122,61,0,650,651,5,21,0,0,651,653,3,122,61,0,652,650,1,0,0,0,653,656,1,0,0,0,654,652,1,0,0,0,654,655,1,0,0,0,655,121,1,0,0,0,656,654,1,0,0,0,657,662,3,124,62,0,658,659,5,3,0,0,659,661,3,124,62,0,660,658,1,0,0,0,661,664,1,0,0,0,662,660,1,0,0,0,662,663,1,0,0,0,663,123,1,0,0,0,664,662,1,0,0,0,665,666,6,62,-1,0,666,667,3,126,63,0,667,673,1,0,0,0,668,669,10,2,0,0,669,670,5,51,0,0,670,672,3,126,63,0,671,668,1,0,0,0,672,675,1,0,0,0,673,671,1,0,0,0,673,674,1,0,0,0,674,125,1,0,0,0,675,673,1,0,0,0,676,677,6,63,-1,0,677,678,3,128,64,0,678,684,1,0,0,0,679,680,10,2,0,0,680,681,5,52,0,0,681,683,3,128,64,0,682,679,1,0,0,0,683,686,1,0,0,0,684,682,1,0,0,0,684,685,1,0,0,0,685,127,1,0,0,0,686,684,1,0,0,0,687,688,6,64,-1,0,688,689,3,130,65,0,689,695,1,0,0,0,690,691,10,2,0,0,691,692,5,50,0,0,692,694,3,130,65,0,693,690,1,0,0,0,694,697,1,0,0,0,695,693,1,0,0,0,695,696,1,0,0,0,696,129,1,0,0,0,697,695,1,0,0,0,698,702,3,138,69,0,699,701,3,132,66,0,700,699,1,0,0,0,701,704,1,0,0,0,702,700,1,0,0,0,702,703,1,0,0,0,703,131,1,0,0,0,704,702,1,0,0,0,705,708,3,134,67,0,706,708,3,136,68,0,707,705,1,0,0,0,707,706,1,0,0,0,708,133,1,0,0,0,709,710,5,39,0,0,710,711,3,138,69,0,711,135,1,0,0,0,712,713,5,40,0,0,713,714,3,138,69,0,714,137,1,0,0,0,715,719,3,150,75,0,716,718,3,140,70,0,717,716,1,0,0,0,718,721,1,0,0,0,719,717,1,0,0,0,719,720,1,0,0,0,720,139,1,0,0,0,721,719,1,0,0,0,722,727,3,142,71,0,723,727,3,144,72,0,724,727,3,146,73,0,725,727,3,148,74,0,726,722,1,0,0,0,726,723,1,0,0,0,726,724,1,0,0,0,726,725,1,0,0,0,727,141,1,0,0,0,728,729,5,37,0,0,729,730,3,150,75,0,730,143,1,0,0,0,731,732,5,41,0,0,732,733,3,150,75,0,733,145,1,0,0,0,734,735,5,38,0,0,735,736,3,150,75,0,736,147,1,0,0,0,737,738,5,42,0,0,738,739,3,150,75,0,739,149,1,0,0,0,740,741,6,75,-1,0,741,742,3,154,77,0,742,749,1,0,0,0,743,744,10,2,0,0,744,745,3,152,76,0,745,746,3,154,77,0,746,748,1,0,0,0,747,743,1,0,0,0,748,751,1,0,0,0,749,747,1,0,0,0,749,750,1,0,0,0,750,151,1,0,0,0,751,749,1,0,0,0,752,753,7,0,0,0,753,153,1,0,0,0,754,755,6,77,-1,0,755,756,3,158,79,0,756,763,1,0,0,0,757,758,10,2,0,0,758,759,3,156,78,0,759,760,3,158,79,0,760,762,1,0,0,0,761,757,1,0,0,0,762,765,1,0,0,0,763,761,1,0,0,0,763,764,1,0,0,0,764,155,1,0,0,0,765,763,1,0,0,0,766,767,7,1,0,0,767,157,1,0,0,0,768,769,6,79,-1,0,769,770,3,162,81,0,770,777,1,0,0,0,771,772,10,2,0,0,772,773,3,160,80,0,773,774,3,162,81,0,774,776,1,0,0,0,775,771,1,0,0,0,776,779,1,0,0,0,777,775,1,0,0,0,777,778,1,0,0,0,778,159,1,0,0,0,779,777,1,0,0,0,780,781,7,2,0,0,781,161,1,0,0,0,782,783,3,164,82,0,783,784,3,162,81,0,784,787,1,0,0,0,785,787,3,166,83,0,786,782,1,0,0,0,786,785,1,0,0,0,787,163,1,0,0,0,788,789,7,3,0,0,789,165,1,0,0,0,790,791,6,83,-1,0,791,792,3,174,87,0,792,812,1,0,0,0,793,794,10,4,0,0,794,795,5,45,0,0,795,811,3,230,115,0,796,798,10,3,0,0,797,799,3,220,110,0,798,797,1,0,0,0,798,799,1,0,0,0,799,800,1,0,0,0,800,802,5,31,0,0,801,803,3,168,84,0,802,801,1,0,0,0,802,803,1,0,0,0,803,804,1,0,0,0,804,811,5,32,0,0,805,806,10,2,0,0,806,807,5,33,0,0,807,808,3,172,86,0,808,809,5,34,0,0,809,811,1,0,0,0,810,793,1,0,0,0,810,796,1,0,0,0,810,805,1,0,0,0,811,814,1,0,0,0,812,810,1,0,0,0,812,813,1,0,0,0,813,167,1,0,0,0,814,812,1,0,0,0,815,820,3,170,85,0,816,817,5,46,0,0,817,819,3,170,85,0,818,816,1,0,0,0,819,822,1,0,0,0,820,818,1,0,0,0,820,821,1,0,0,0,821,824,1,0,0,0,822,820,1,0,0,0,823,825,5,46,0,0,824,823,1,0,0,0,824,825,1,0,0,0,825,169,1,0,0,0,826,827,3,232,116,0,827,828,5,43,0,0,828,830,1,0,0,0,829,826,1,0,0,0,829,830,1,0,0,0,830,831,1,0,0,0,831,832,3,114,57,0,832,171,1,0,0,0,833,838,3,114,57,0,834,835,5,46,0,0,835,837,3,114,57,0,836,834,1,0,0,0,837,840,1,0,0,0,838,836,1,0,0,0,838,839,1,0,0,0,839,842,1,0,0,0,840,838,1,0,0,0,841,843,5,46,0,0,842,841,1,0,0,0,842,843,1,0,0,0,843,173,1,0,0,0,844,849,3,230,115,0,845,849,3,176,88,0,846,849,3,186,93,0,847,849,3,188,94,0,848,844,1,0,0,0,848,845,1,0,0,0,848,846,1,0,0,0,848,847,1,0,0,0,849,175,1,0,0,0,850,855,3,178,89,0,851,855,3,180,90,0,852,855,3,182,91,0,853,855,3,184,92,0,854,850,1,0,0,0,854,851,1,0,0,0,854,852,1,0,0,0,854,853,1,0,0,0,855,177,1,0,0,0,856,857,5,65,0,0,857,179,1,0,0,0,858,859,5,66,0,0,859,181,1,0,0,0,860,861,7,4,0,0,861,183,1,0,0,0,862,863,5,67,0,0,863,185,1,0,0,0,864,865,5,31,0,0,865,866,3,114,57,0,866,867,5,32,0,0,867,187,1,0,0,0,868,880,5,33,0,0,869,874,3,114,57,0,870,871,5,46,0,0,871,873,3,114,57,0,872,870,1,0,0,0,873,876,1,0,0,0,874,872,1,0,0,0,874,875,1,0,0,0,875,878,1,0,0,0,876,874,1,0,0,0,877,879,5,46,0,0,878,877,1,0,0,0,878,879,1,0,0,0,879,881,1,0,0,0,880,869,1,0,0,0,880,881,1,0,0,0,881,882,1,0,0,0,882,883,5,34,0,0,883,189,1,0,0,0,884,885,5,15,0,0,885,886,3,228,114,0,886,887,5,56,0,0,887,888,3,228,114,0,888,889,5,56,0,0,889,892,3,178,89,0,890,891,5,4,0,0,891,893,3,228,114,0,892,890,1,0,0,0,892,893,1,0,0,0,893,191,1,0,0,0,894,895,5,5,0,0,895,193,1,0,0,0,896,897,5,8,0,0,897,195,1,0,0,0,898,899,3,200,100,0,899,900,3,214,107,0,900,901,3,232,116,0,901,910,1,0,0,0,902,903,3,200,100,0,903,904,3,232,116,0,904,910,1,0,0,0,905,906,3,214,107,0,906,907,3,232,116,0,907,910,1,0,0,0,908,910,3,232,116,0,909,898,1,0,0,0,909,902,1,0,0,0,909,905,1,0,0,0,909,908,1,0,0,0,910,197,1,0,0,0,911,912,5,33,0,0,912,917,3,232,116,0,913,914,5,46,0,0,914,916,3,232,116,0,915,913,1,0,0,0,916,919,1,0,0,0,917,915,1,0,0,0,917,918,1,0,0,0,918,921,1,0,0,0,919,917,1,0,0,0,920,922,5,46,0,0,921,920,1,0,0,0,921,922,1,0,0,0,922,923,1,0,0,0,923,924,5,34,0,0,924,199,1,0,0,0,925,926,7,5,0,0,926,201,1,0,0,0,927,932,3,204,102,0,928,932,3,206,103,0,929,932,3,208,104,0,930,932,3,210,105,0,931,927,1,0,0,0,931,928,1,0,0,0,931,929,1,0,0,0,931,930,1,0,0,0,932,203,1,0,0,0,933,934,3,166,83,0,934,935,5,45,0,0,935,936,3,232,116,0,936,205,1,0,0,0,937,938,3,166,83,0,938,939,5,33,0,0,939,940,3,172,86,0,940,941,5,34,0,0,941,207,1,0,0,0,942,943,3,232,116,0,943,209,1,0,0,0,944,945,5,31,0,0,945,946,3,202,101,0,946,947,5,32,0,0,947,211,1,0,0,0,948,949,7,6,0,0,949,213,1,0,0,0,950,952,3,216,108,0,951,950,1,0,0,0,951,952,1,0,0,0,952,953,1,0,0,0,953,955,3,218,109,0,954,956,3,220,110,0,955,954,1,0,0,0,955,956,1,0,0,0,956,958,1,0,0,0,957,959,3,224,112,0,958,957,1,0,0,0,958,959,1,0,0,0,959,215,1,0,0,0,960,961,7,7,0,0,961,217,1,0,0,0,962,967,3,230,115,0,963,964,5,45,0,0,964,966,3,230,115,0,965,963,1,0,0,0,966,969,1,0,0,0,967,965,1,0,0,0,967,968,1,0,0,0,968,219,1,0,0,0,969,967,1,0,0,0,970,972,5,41,0,0,971,973,3,226,113,0,972,971,1,0,0,0,972,973,1,0,0,0,973,974,1,0,0,0,974,980,5,42,0,0,975,976,5,41,0,0,976,977,3,222,111,0,977,978,5,36,0,0,978,980,1,0,0,0,979,970,1,0,0,0,979,975,1,0,0,0,980,221,1,0,0,0,981,982,3,214,107,0,982,983,5,46,0,0,983,985,1,0,0,0,984,981,1,0,0,0,985,988,1,0,0,0,986,984,1,0,0,0,986,987,1,0,0,0,987,990,1,0,0,0,988,986,1,0,0,0,989,991,3,216,108,0,990,989,1,0,0,0,990,991,1,0,0,0,991,992,1,0,0,0,992,993,3,218,109,0,993,995,5,41,0,0,994,996,3,226,113,0,995,994,1,0,0,0,995,996,1,0,0,0,996,223,1,0,0,0,997,998,5,33,0,0,998,999,5,34,0,0,999,225,1,0,0,0,1000,1005,3,214,107,0,1001,1002,5,46,0,0,1002,1004,3,214,107,0,1003,1001,1,0,0,0,1004,1007,1,0,0,0,1005,1003,1,0,0,0,1005,1006,1,0,0,0,1006,1009,1,0,0,0,1007,1005,1,0,0,0,1008,1010,5,46,0,0,1009,1008,1,0,0,0,1009,1010,1,0,0,0,1010,227,1,0,0,0,1011,1012,7,8,0,0,1012,229,1,0,0,0,1013,1014,3,228,114,0,1014,231,1,0,0,0,1015,1016,3,228,114,0,1016,233,1,0,0,0,1017,1019,3,236,118,0,1018,1017,1,0,0,0,1019,1020,1,0,0,0,1020,1018,1,0,0,0,1020,1021,1,0,0,0,1021,235,1,0,0,0,1022,1023,5,70,0,0,1023,237,1,0,0,0,102,241,247,252,259,264,272,279,283,292,303,308,312,315,334,340,347,352,358,365,369,375,380,382,385,392,399,405,411,418,422,428,431,443,446,452,457,469,474,482,486,496,503,507,514,524,539,547,556,562,567,578,586,591,602,606,609,631,647,654,662,673,684,695,702,707,719,726,749,763,777,786,798,802,810,812,820,824,829,838,842,848,854,874,878,880,892,909,917,921,931,951,955,958,967,972,979,986,990,995,1005,1009,1020];static __ATN;static get _ATN(){if(!N.__ATN)N.__ATN=new Bl().deserialize(N._serializedATN);return N.__ATN}static DecisionsToDFA=N._ATN.decisionToState.map((t,e)=>new Ul(t,e))}class b1 extends St{constructor(t,e,r){super(e,r);this.parser=t}start_script(){return this.getTypedRuleContext(th,0)}get ruleIndex(){return N.RULE_start}accept(t){if(t.visitStart)return t.visitStart(this);else return t.visitChildren(this)}}class th extends St{constructor(t,e,r){super(e,r);this.parser=t}EOF(){return this.getToken(N.EOF,0)}statements(){return this.getTypedRuleContext(sa,0)}get ruleIndex(){return N.RULE_start_script}accept(t){if(t.visitStart_script)return t.visitStart_script(this);else return t.visitChildren(this)}}class y1 extends St{constructor(t,e,r){super(e,r);this.parser=t}expression(){return this.getTypedRuleContext(Ie,0)}EOF(){return this.getToken(N.EOF,0)}NEWLINE(){return this.getToken(N.NEWLINE,0)}get ruleIndex(){return N.RULE_start_expression}accept(t){if(t.visitStart_expression)return t.visitStart_expression(this);else return t.visitChildren(this)}}class x1 extends St{constructor(t,e,r){super(e,r);this.parser=t}EOF(){return this.getToken(N.EOF,0)}comments(){return this.getTypedRuleContext(_0,0)}get ruleIndex(){return N.RULE_start_comments}accept(t){if(t.visitStart_comments)return t.visitStart_comments(this);else return t.visitChildren(this)}}class sa extends St{constructor(t,e,r){super(e,r);this.parser=t}statement_list(){return this.getTypedRuleContexts(Ys)}statement(t){return this.getTypedRuleContext(Ys,t)}get ruleIndex(){return N.RULE_statements}accept(t){if(t.visitStatements)return t.visitStatements(this);else return t.visitChildren(this)}}class Ys extends St{constructor(t,e,r){super(e,r);this.parser=t}compound_statement(){return this.getTypedRuleContext(eh,0)}simple_statements(){return this.getTypedRuleContext(rh,0)}trailing_structure_statements(){return this.getTypedRuleContext(nh,0)}get ruleIndex(){return N.RULE_statement}accept(t){if(t.visitStatement)return t.visitStatement(this);else return t.visitChildren(this)}}class eh extends St{constructor(t,e,r){super(e,r);this.parser=t}compound_assignment(){return this.getTypedRuleContext(ih,0)}type_declaration(){return this.getTypedRuleContext(ph,0)}enum_declaration(){return this.getTypedRuleContext(gh,0)}structure_statement(){return this.getTypedRuleContext(bh,0)}method_declaration(){return this.getTypedRuleContext(fh,0)}function_declaration(){return this.getTypedRuleContext(ch,0)}get ruleIndex(){return N.RULE_compound_statement}accept(t){if(t.visitCompound_statement)return t.visitCompound_statement(this);else return t.visitChildren(this)}}class rh extends St{constructor(t,e,r){super(e,r);this.parser=t}simple_statement_list(){return this.getTypedRuleContexts(as)}simple_statement(t){return this.getTypedRuleContext(as,t)}NEWLINE(){return this.getToken(N.NEWLINE,0)}COMMA_list(){return this.getTokens(N.COMMA)}COMMA(t){return this.getToken(N.COMMA,t)}get ruleIndex(){return N.RULE_simple_statements}accept(t){if(t.visitSimple_statements)return t.visitSimple_statements(this);else return t.visitChildren(this)}}class nh extends St{constructor(t,e,r){super(e,r);this.parser=t}simple_statement_list(){return this.getTypedRuleContexts(as)}simple_statement(t){return this.getTypedRuleContext(as,t)}COMMA_list(){return this.getTokens(N.COMMA)}COMMA(t){return this.getToken(N.COMMA,t)}structure(){return this.getTypedRuleContext(la,0)}get ruleIndex(){return N.RULE_trailing_structure_statements}accept(t){if(t.visitTrailing_structure_statements)return t.visitTrailing_structure_statements(this);else return t.visitChildren(this)}}class as extends St{constructor(t,e,r){super(e,r);this.parser=t}simple_assignment(){return this.getTypedRuleContext(Oh,0)}expression_statement(){return this.getTypedRuleContext(qh,0)}import_statement(){return this.getTypedRuleContext(a0,0)}break_statement(){return this.getTypedRuleContext(u0,0)}continue_statement(){return this.getTypedRuleContext(c0,0)}get ruleIndex(){return N.RULE_simple_statement}accept(t){if(t.visitSimple_statement)return t.visitSimple_statement(this);else return t.visitChildren(this)}}class ih extends St{constructor(t,e,r){super(e,r);this.parser=t}compound_variable_initialization(){return this.getTypedRuleContext(sh,0)}compound_reassignment(){return this.getTypedRuleContext(ah,0)}compound_augassignment(){return this.getTypedRuleContext(uh,0)}get ruleIndex(){return N.RULE_compound_assignment}accept(t){if(t.visitCompound_assignment)return t.visitCompound_assignment(this);else return t.visitChildren(this)}}class sh extends St{constructor(t,e,r){super(e,r);this.parser=t}compound_name_initialization(){return this.getTypedRuleContext(oh,0)}compound_tuple_initialization(){return this.getTypedRuleContext(lh,0)}get ruleIndex(){return N.RULE_compound_variable_initialization}accept(t){if(t.visitCompound_variable_initialization)return t.visitCompound_variable_initialization(this);else return t.visitChildren(this)}}class oh extends St{constructor(t,e,r){super(e,r);this.parser=t}variable_declaration(){return this.getTypedRuleContext(da,0)}EQUAL(){return this.getToken(N.EQUAL,0)}structure_expression(){return this.getTypedRuleContext(hs,0)}EXPORT(){return this.getToken(N.EXPORT,0)}get ruleIndex(){return N.RULE_compound_name_initialization}accept(t){if(t.visitCompound_name_initialization)return t.visitCompound_name_initialization(this);else return t.visitChildren(this)}}class lh extends St{constructor(t,e,r){super(e,r);this.parser=t}tuple_declaration(){return this.getTypedRuleContext(no,0)}EQUAL(){return this.getToken(N.EQUAL,0)}structure_expression(){return this.getTypedRuleContext(hs,0)}get ruleIndex(){return N.RULE_compound_tuple_initialization}accept(t){if(t.visitCompound_tuple_initialization)return t.visitCompound_tuple_initialization(this);else return t.visitChildren(this)}}class ah extends St{constructor(t,e,r){super(e,r);this.parser=t}primary_expression(){return this.getTypedRuleContext(Cr,0)}COLONEQUAL(){return this.getToken(N.COLONEQUAL,0)}structure_expression(){return this.getTypedRuleContext(hs,0)}get ruleIndex(){return N.RULE_compound_reassignment}accept(t){if(t.visitCompound_reassignment)return t.visitCompound_reassignment(this);else return t.visitChildren(this)}}class uh extends St{constructor(t,e,r){super(e,r);this.parser=t}primary_expression(){return this.getTypedRuleContext(Cr,0)}augassign_op(){return this.getTypedRuleContext(ga,0)}structure_expression(){return this.getTypedRuleContext(hs,0)}get ruleIndex(){return N.RULE_compound_augassignment}accept(t){if(t.visitCompound_augassignment)return t.visitCompound_augassignment(this);else return t.visitChildren(this)}}class ch extends St{constructor(t,e,r){super(e,r);this.parser=t}type_specification(){return this.getTypedRuleContext(on,0)}name(){return this.getTypedRuleContext(On,0)}LPAR(){return this.getToken(N.LPAR,0)}RPAR(){return this.getToken(N.RPAR,0)}RARROW(){return this.getToken(N.RARROW,0)}local_block(){return this.getTypedRuleContext(an,0)}EXPORT(){return this.getToken(N.EXPORT,0)}parameter_list(){return this.getTypedRuleContext(hh,0)}get ruleIndex(){return N.RULE_function_declaration}accept(t){if(t.visitFunction_declaration)return t.visitFunction_declaration(this);else return t.visitChildren(this)}}class hh extends St{constructor(t,e,r){super(e,r);this.parser=t}parameter_definition_list(){return this.getTypedRuleContexts(Zs)}parameter_definition(t){return this.getTypedRuleContext(Zs,t)}COMMA_list(){return this.getTokens(N.COMMA)}COMMA(t){return this.getToken(N.COMMA,t)}get ruleIndex(){return N.RULE_parameter_list}accept(t){if(t.visitParameter_list)return t.visitParameter_list(this);else return t.visitChildren(this)}}class Zs extends St{constructor(t,e,r){super(e,r);this.parser=t}type_specification(){return this.getTypedRuleContext(on,0)}name_store(){return this.getTypedRuleContext(ln,0)}EQUAL(){return this.getToken(N.EQUAL,0)}expression(){return this.getTypedRuleContext(Ie,0)}get ruleIndex(){return N.RULE_parameter_definition}accept(t){if(t.visitParameter_definition)return t.visitParameter_definition(this);else return t.visitChildren(this)}}class fh extends St{constructor(t,e,r){super(e,r);this.parser=t}METHOD(){return this.getToken(N.METHOD,0)}type_specification(){return this.getTypedRuleContext(on,0)}name(){return this.getTypedRuleContext(On,0)}LPAR(){return this.getToken(N.LPAR,0)}RPAR(){return this.getToken(N.RPAR,0)}RARROW(){return this.getToken(N.RARROW,0)}local_block(){return this.getTypedRuleContext(an,0)}EXPORT(){return this.getToken(N.EXPORT,0)}method_parameter_list(){return this.getTypedRuleContext(dh,0)}get ruleIndex(){return N.RULE_method_declaration}accept(t){if(t.visitMethod_declaration)return t.visitMethod_declaration(this);else return t.visitChildren(this)}}class dh extends St{constructor(t,e,r){super(e,r);this.parser=t}method_parameter_definition_list(){return this.getTypedRuleContexts(Yl)}method_parameter_definition(t){return this.getTypedRuleContext(Yl,t)}COMMA_list(){return this.getTokens(N.COMMA)}COMMA(t){return this.getToken(N.COMMA,t)}get ruleIndex(){return N.RULE_method_parameter_list}accept(t){if(t.visitMethod_parameter_list)return t.visitMethod_parameter_list(this);else return t.visitChildren(this)}}class Yl extends St{constructor(t,e,r){super(e,r);this.parser=t}type_specification(){return this.getTypedRuleContext(on,0)}name_store(){return this.getTypedRuleContext(ln,0)}parameter_definition(){return this.getTypedRuleContext(Zs,0)}get ruleIndex(){return N.RULE_method_parameter_definition}accept(t){if(t.visitMethod_parameter_definition)return t.visitMethod_parameter_definition(this);else return t.visitChildren(this)}}class ph extends St{constructor(t,e,r){super(e,r);this.parser=t}TYPE(){return this.getToken(N.TYPE,0)}name(){return this.getTypedRuleContext(On,0)}NEWLINE(){return this.getToken(N.NEWLINE,0)}INDENT(){return this.getToken(N.INDENT,0)}field_definitions(){return this.getTypedRuleContext(mh,0)}DEDENT(){return this.getToken(N.DEDENT,0)}EXPORT(){return this.getToken(N.EXPORT,0)}get ruleIndex(){return N.RULE_type_declaration}accept(t){if(t.visitType_declaration)return t.visitType_declaration(this);else return t.visitChildren(this)}}class mh extends St{constructor(t,e,r){super(e,r);this.parser=t}field_definition_list(){return this.getTypedRuleContexts(Zl)}field_definition(t){return this.getTypedRuleContext(Zl,t)}get ruleIndex(){return N.RULE_field_definitions}accept(t){if(t.visitField_definitions)return t.visitField_definitions(this);else return t.visitChildren(this)}}class Zl extends St{constructor(t,e,r){super(e,r);this.parser=t}type_specification(){return this.getTypedRuleContext(on,0)}name_store(){return this.getTypedRuleContext(ln,0)}NEWLINE(){return this.getToken(N.NEWLINE,0)}VARIP(){return this.getToken(N.VARIP,0)}EQUAL(){return this.getToken(N.EQUAL,0)}expression(){return this.getTypedRuleContext(Ie,0)}get ruleIndex(){return N.RULE_field_definition}accept(t){if(t.visitField_definition)return t.visitField_definition(this);else return t.visitChildren(this)}}class gh extends St{constructor(t,e,r){super(e,r);this.parser=t}ENUM(){return this.getToken(N.ENUM,0)}name(){return this.getTypedRuleContext(On,0)}NEWLINE(){return this.getToken(N.NEWLINE,0)}INDENT(){return this.getToken(N.INDENT,0)}enum_definitions(){return this.getTypedRuleContext(_h,0)}DEDENT(){return this.getToken(N.DEDENT,0)}EXPORT(){return this.getToken(N.EXPORT,0)}get ruleIndex(){return N.RULE_enum_declaration}accept(t){if(t.visitEnum_declaration)return t.visitEnum_declaration(this);else return t.visitChildren(this)}}class _h extends St{constructor(t,e,r){super(e,r);this.parser=t}enum_definition_list(){return this.getTypedRuleContexts(Xl)}enum_definition(t){return this.getTypedRuleContext(Xl,t)}get ruleIndex(){return N.RULE_enum_definitions}accept(t){if(t.visitEnum_definitions)return t.visitEnum_definitions(this);else return t.visitChildren(this)}}class Xl extends St{constructor(t,e,r){super(e,r);this.parser=t}name_store(){return this.getTypedRuleContext(ln,0)}NEWLINE(){return this.getToken(N.NEWLINE,0)}EQUAL(){return this.getToken(N.EQUAL,0)}expression(){return this.getTypedRuleContext(Ie,0)}get ruleIndex(){return N.RULE_enum_definition}accept(t){if(t.visitEnum_definition)return t.visitEnum_definition(this);else return t.visitChildren(this)}}class oa extends St{constructor(t,e,r){super(e,r);this.parser=t}if_structure(){return this.getTypedRuleContext(yh,0)}for_structure(){return this.getTypedRuleContext(vh,0)}while_structure(){return this.getTypedRuleContext(Mh,0)}switch_structure(){return this.getTypedRuleContext(kh,0)}get ruleIndex(){return N.RULE_value_structure}accept(t){if(t.visitValue_structure)return t.visitValue_structure(this);else return t.visitChildren(this)}}class la extends St{constructor(t,e,r){super(e,r);this.parser=t}value_structure(){return this.getTypedRuleContext(oa,0)}once_structure(){return this.getTypedRuleContext(Eh,0)}get ruleIndex(){return N.RULE_structure}accept(t){if(t.visitStructure)return t.visitStructure(this);else return t.visitChildren(this)}}class bh extends St{constructor(t,e,r){super(e,r);this.parser=t}structure(){return this.getTypedRuleContext(la,0)}get ruleIndex(){return N.RULE_structure_statement}accept(t){if(t.visitStructure_statement)return t.visitStructure_statement(this);else return t.visitChildren(this)}}class hs extends St{constructor(t,e,r){super(e,r);this.parser=t}value_structure(){return this.getTypedRuleContext(oa,0)}get ruleIndex(){return N.RULE_structure_expression}accept(t){if(t.visitStructure_expression)return t.visitStructure_expression(this);else return t.visitChildren(this)}}class yh extends St{constructor(t,e,r){super(e,r);this.parser=t}IF(){return this.getToken(N.IF,0)}expression(){return this.getTypedRuleContext(Ie,0)}local_block(){return this.getTypedRuleContext(an,0)}if_tail(){return this.getTypedRuleContext(aa,0)}get ruleIndex(){return N.RULE_if_structure}accept(t){if(t.visitIf_structure)return t.visitIf_structure(this);else return t.visitChildren(this)}}class xh extends St{constructor(t,e,r){super(e,r);this.parser=t}ELSE(){return this.getToken(N.ELSE,0)}IF(){return this.getToken(N.IF,0)}expression(){return this.getTypedRuleContext(Ie,0)}local_block(){return this.getTypedRuleContext(an,0)}if_tail(){return this.getTypedRuleContext(aa,0)}get ruleIndex(){return N.RULE_elif_structure}accept(t){if(t.visitElif_structure)return t.visitElif_structure(this);else return t.visitChildren(this)}}class aa extends St{constructor(t,e,r){super(e,r);this.parser=t}elif_structure(){return this.getTypedRuleContext(xh,0)}else_block(){return this.getTypedRuleContext(wh,0)}get ruleIndex(){return N.RULE_if_tail}accept(t){if(t.visitIf_tail)return t.visitIf_tail(this);else return t.visitChildren(this)}}class wh extends St{constructor(t,e,r){super(e,r);this.parser=t}ELSE(){return this.getToken(N.ELSE,0)}local_block(){return this.getTypedRuleContext(an,0)}get ruleIndex(){return N.RULE_else_block}accept(t){if(t.visitElse_block)return t.visitElse_block(this);else return t.visitChildren(this)}}class vh extends St{constructor(t,e,r){super(e,r);this.parser=t}for_structure_to(){return this.getTypedRuleContext(Sh,0)}for_structure_in(){return this.getTypedRuleContext(Ch,0)}get ruleIndex(){return N.RULE_for_structure}accept(t){if(t.visitFor_structure)return t.visitFor_structure(this);else return t.visitChildren(this)}}class Sh extends St{constructor(t,e,r){super(e,r);this.parser=t}FOR(){return this.getToken(N.FOR,0)}for_iterator(){return this.getTypedRuleContext(ua,0)}EQUAL(){return this.getToken(N.EQUAL,0)}expression_list(){return this.getTypedRuleContexts(Ie)}expression(t){return this.getTypedRuleContext(Ie,t)}TO(){return this.getToken(N.TO,0)}local_block(){return this.getTypedRuleContext(an,0)}BY(){return this.getToken(N.BY,0)}get ruleIndex(){return N.RULE_for_structure_to}accept(t){if(t.visitFor_structure_to)return t.visitFor_structure_to(this);else return t.visitChildren(this)}}class Ch extends St{constructor(t,e,r){super(e,r);this.parser=t}FOR(){return this.getToken(N.FOR,0)}for_iterator(){return this.getTypedRuleContext(ua,0)}IN(){return this.getToken(N.IN,0)}expression(){return this.getTypedRuleContext(Ie,0)}local_block(){return this.getTypedRuleContext(an,0)}get ruleIndex(){return N.RULE_for_structure_in}accept(t){if(t.visitFor_structure_in)return t.visitFor_structure_in(this);else return t.visitChildren(this)}}class ua extends St{constructor(t,e,r){super(e,r);this.parser=t}type_specification(){return this.getTypedRuleContext(on,0)}name_store(){return this.getTypedRuleContext(ln,0)}tuple_declaration(){return this.getTypedRuleContext(no,0)}get ruleIndex(){return N.RULE_for_iterator}accept(t){if(t.visitFor_iterator)return t.visitFor_iterator(this);else return t.visitChildren(this)}}class Mh extends St{constructor(t,e,r){super(e,r);this.parser=t}WHILE(){return this.getToken(N.WHILE,0)}expression(){return this.getTypedRuleContext(Ie,0)}local_block(){return this.getTypedRuleContext(an,0)}get ruleIndex(){return N.RULE_while_structure}accept(t){if(t.visitWhile_structure)return t.visitWhile_structure(this);else return t.visitChildren(this)}}class kh extends St{constructor(t,e,r){super(e,r);this.parser=t}SWITCH(){return this.getToken(N.SWITCH,0)}NEWLINE(){return this.getToken(N.NEWLINE,0)}INDENT(){return this.getToken(N.INDENT,0)}switch_cases(){return this.getTypedRuleContext(Rh,0)}DEDENT(){return this.getToken(N.DEDENT,0)}expression(){return this.getTypedRuleContext(Ie,0)}get ruleIndex(){return N.RULE_switch_structure}accept(t){if(t.visitSwitch_structure)return t.visitSwitch_structure(this);else return t.visitChildren(this)}}class Eh extends St{constructor(t,e,r){super(e,r);this.parser=t}ONCE(){return this.getToken(N.ONCE,0)}local_block(){return this.getTypedRuleContext(an,0)}expression(){return this.getTypedRuleContext(Ie,0)}get ruleIndex(){return N.RULE_once_structure}accept(t){if(t.visitOnce_structure)return t.visitOnce_structure(this);else return t.visitChildren(this)}}class Jl extends St{constructor(t,e,r){super(e,r);this.parser=t}switch_pattern_case(){return this.getTypedRuleContext(Ah,0)}switch_default_case(){return this.getTypedRuleContext(Nh,0)}get ruleIndex(){return N.RULE_switch_case}accept(t){if(t.visitSwitch_case)return t.visitSwitch_case(this);else return t.visitChildren(this)}}class Rh extends St{constructor(t,e,r){super(e,r);this.parser=t}switch_case_list(){return this.getTypedRuleContexts(Jl)}switch_case(t){return this.getTypedRuleContext(Jl,t)}get ruleIndex(){return N.RULE_switch_cases}accept(t){if(t.visitSwitch_cases)return t.visitSwitch_cases(this);else return t.visitChildren(this)}}class Ah extends St{constructor(t,e,r){super(e,r);this.parser=t}switch_patterns(){return this.getTypedRuleContext(Th,0)}RARROW(){return this.getToken(N.RARROW,0)}local_block(){return this.getTypedRuleContext(an,0)}get ruleIndex(){return N.RULE_switch_pattern_case}accept(t){if(t.visitSwitch_pattern_case)return t.visitSwitch_pattern_case(this);else return t.visitChildren(this)}}class Th extends St{constructor(t,e,r){super(e,r);this.parser=t}expression_list(){return this.getTypedRuleContexts(Ie)}expression(t){return this.getTypedRuleContext(Ie,t)}COMMA_list(){return this.getTokens(N.COMMA)}COMMA(t){return this.getToken(N.COMMA,t)}get ruleIndex(){return N.RULE_switch_patterns}accept(t){if(t.visitSwitch_patterns)return t.visitSwitch_patterns(this);else return t.visitChildren(this)}}class Nh extends St{constructor(t,e,r){super(e,r);this.parser=t}RARROW(){return this.getToken(N.RARROW,0)}local_block(){return this.getTypedRuleContext(an,0)}get ruleIndex(){return N.RULE_switch_default_case}accept(t){if(t.visitSwitch_default_case)return t.visitSwitch_default_case(this);else return t.visitChildren(this)}}class an extends St{constructor(t,e,r){super(e,r);this.parser=t}indented_local_block(){return this.getTypedRuleContext(Lh,0)}inline_local_block(){return this.getTypedRuleContext(Ih,0)}get ruleIndex(){return N.RULE_local_block}accept(t){if(t.visitLocal_block)return t.visitLocal_block(this);else return t.visitChildren(this)}}class Lh extends St{constructor(t,e,r){super(e,r);this.parser=t}INDENT(){return this.getToken(N.INDENT,0)}statements(){return this.getTypedRuleContext(sa,0)}DEDENT(){return this.getToken(N.DEDENT,0)}NEWLINE_list(){return this.getTokens(N.NEWLINE)}NEWLINE(t){return this.getToken(N.NEWLINE,t)}get ruleIndex(){return N.RULE_indented_local_block}accept(t){if(t.visitIndented_local_block)return t.visitIndented_local_block(this);else return t.visitChildren(this)}}class Ih extends St{constructor(t,e,r){super(e,r);this.parser=t}statement(){return this.getTypedRuleContext(Ys,0)}get ruleIndex(){return N.RULE_inline_local_block}accept(t){if(t.visitInline_local_block)return t.visitInline_local_block(this);else return t.visitChildren(this)}}class Oh extends St{constructor(t,e,r){super(e,r);this.parser=t}simple_variable_initialization(){return this.getTypedRuleContext(Ph,0)}simple_reassignment(){return this.getTypedRuleContext(Bh,0)}simple_augassignment(){return this.getTypedRuleContext(Uh,0)}get ruleIndex(){return N.RULE_simple_assignment}accept(t){if(t.visitSimple_assignment)return t.visitSimple_assignment(this);else return t.visitChildren(this)}}class Ph extends St{constructor(t,e,r){super(e,r);this.parser=t}simple_name_initialization(){return this.getTypedRuleContext(Dh,0)}simple_tuple_initialization(){return this.getTypedRuleContext(Fh,0)}get ruleIndex(){return N.RULE_simple_variable_initialization}accept(t){if(t.visitSimple_variable_initialization)return t.visitSimple_variable_initialization(this);else return t.visitChildren(this)}}class Dh extends St{constructor(t,e,r){super(e,r);this.parser=t}variable_declaration(){return this.getTypedRuleContext(da,0)}EQUAL(){return this.getToken(N.EQUAL,0)}expression(){return this.getTypedRuleContext(Ie,0)}EXPORT(){return this.getToken(N.EXPORT,0)}get ruleIndex(){return N.RULE_simple_name_initialization}accept(t){if(t.visitSimple_name_initialization)return t.visitSimple_name_initialization(this);else return t.visitChildren(this)}}class Fh extends St{constructor(t,e,r){super(e,r);this.parser=t}tuple_declaration(){return this.getTypedRuleContext(no,0)}EQUAL(){return this.getToken(N.EQUAL,0)}expression(){return this.getTypedRuleContext(Ie,0)}get ruleIndex(){return N.RULE_simple_tuple_initialization}accept(t){if(t.visitSimple_tuple_initialization)return t.visitSimple_tuple_initialization(this);else return t.visitChildren(this)}}class Bh extends St{constructor(t,e,r){super(e,r);this.parser=t}assignment_target_attribute(){return this.getTypedRuleContext(pa,0)}EQUAL(){return this.getToken(N.EQUAL,0)}expression(){return this.getTypedRuleContext(Ie,0)}assignment_target_subscript(){return this.getTypedRuleContext(ma,0)}primary_expression(){return this.getTypedRuleContext(Cr,0)}COLONEQUAL(){return this.getToken(N.COLONEQUAL,0)}get ruleIndex(){return N.RULE_simple_reassignment}accept(t){if(t.visitSimple_reassignment)return t.visitSimple_reassignment(this);else return t.visitChildren(this)}}class Uh extends St{constructor(t,e,r){super(e,r);this.parser=t}primary_expression(){return this.getTypedRuleContext(Cr,0)}augassign_op(){return this.getTypedRuleContext(ga,0)}expression(){return this.getTypedRuleContext(Ie,0)}get ruleIndex(){return N.RULE_simple_augassignment}accept(t){if(t.visitSimple_augassignment)return t.visitSimple_augassignment(this);else return t.visitChildren(this)}}class Ie extends St{constructor(t,e,r){super(e,r);this.parser=t}conditional_expression(){return this.getTypedRuleContext(Hh,0)}get ruleIndex(){return N.RULE_expression}accept(t){if(t.visitExpression)return t.visitExpression(this);else return t.visitChildren(this)}}class qh extends St{constructor(t,e,r){super(e,r);this.parser=t}expression(){return this.getTypedRuleContext(Ie,0)}get ruleIndex(){return N.RULE_expression_statement}accept(t){if(t.visitExpression_statement)return t.visitExpression_statement(this);else return t.visitChildren(this)}}class Hh extends St{constructor(t,e,r){super(e,r);this.parser=t}disjunction_expression(){return this.getTypedRuleContext($h,0)}QUESTION(){return this.getToken(N.QUESTION,0)}expression_list(){return this.getTypedRuleContexts(Ie)}expression(t){return this.getTypedRuleContext(Ie,t)}COLON(){return this.getToken(N.COLON,0)}get ruleIndex(){return N.RULE_conditional_expression}accept(t){if(t.visitConditional_expression)return t.visitConditional_expression(this);else return t.visitChildren(this)}}class $h extends St{constructor(t,e,r){super(e,r);this.parser=t}conjunction_expression_list(){return this.getTypedRuleContexts(ta)}conjunction_expression(t){return this.getTypedRuleContext(ta,t)}OR_list(){return this.getTokens(N.OR)}OR(t){return this.getToken(N.OR,t)}get ruleIndex(){return N.RULE_disjunction_expression}accept(t){if(t.visitDisjunction_expression)return t.visitDisjunction_expression(this);else return t.visitChildren(this)}}class ta extends St{constructor(t,e,r){super(e,r);this.parser=t}bitwise_or_expression_list(){return this.getTypedRuleContexts(us)}bitwise_or_expression(t){return this.getTypedRuleContext(us,t)}AND_list(){return this.getTokens(N.AND)}AND(t){return this.getToken(N.AND,t)}get ruleIndex(){return N.RULE_conjunction_expression}accept(t){if(t.visitConjunction_expression)return t.visitConjunction_expression(this);else return t.visitChildren(this)}}class us extends St{constructor(t,e,r){super(e,r);this.parser=t}bitwise_xor_expression(){return this.getTypedRuleContext(Xs,0)}bitwise_or_expression(){return this.getTypedRuleContext(us,0)}PIPE(){return this.getToken(N.PIPE,0)}get ruleIndex(){return N.RULE_bitwise_or_expression}accept(t){if(t.visitBitwise_or_expression)return t.visitBitwise_or_expression(this);else return t.visitChildren(this)}}class Xs extends St{constructor(t,e,r){super(e,r);this.parser=t}bitwise_and_expression(){return this.getTypedRuleContext(Js,0)}bitwise_xor_expression(){return this.getTypedRuleContext(Xs,0)}CARET(){return this.getToken(N.CARET,0)}get ruleIndex(){return N.RULE_bitwise_xor_expression}accept(t){if(t.visitBitwise_xor_expression)return t.visitBitwise_xor_expression(this);else return t.visitChildren(this)}}class Js extends St{constructor(t,e,r){super(e,r);this.parser=t}equality_expression(){return this.getTypedRuleContext(zh,0)}bitwise_and_expression(){return this.getTypedRuleContext(Js,0)}AMP(){return this.getToken(N.AMP,0)}get ruleIndex(){return N.RULE_bitwise_and_expression}accept(t){if(t.visitBitwise_and_expression)return t.visitBitwise_and_expression(this);else return t.visitChildren(this)}}class zh extends St{constructor(t,e,r){super(e,r);this.parser=t}inequality_expression(){return this.getTypedRuleContext(ro,0)}equality_trailing_pair_list(){return this.getTypedRuleContexts(ea)}equality_trailing_pair(t){return this.getTypedRuleContext(ea,t)}get ruleIndex(){return N.RULE_equality_expression}accept(t){if(t.visitEquality_expression)return t.visitEquality_expression(this);else return t.visitChildren(this)}}class ea extends St{constructor(t,e,r){super(e,r);this.parser=t}equal_trailing_pair(){return this.getTypedRuleContext(Vh,0)}not_equal_trailing_pair(){return this.getTypedRuleContext(jh,0)}get ruleIndex(){return N.RULE_equality_trailing_pair}accept(t){if(t.visitEquality_trailing_pair)return t.visitEquality_trailing_pair(this);else return t.visitChildren(this)}}class Vh extends St{constructor(t,e,r){super(e,r);this.parser=t}EQEQUAL(){return this.getToken(N.EQEQUAL,0)}inequality_expression(){return this.getTypedRuleContext(ro,0)}get ruleIndex(){return N.RULE_equal_trailing_pair}accept(t){if(t.visitEqual_trailing_pair)return t.visitEqual_trailing_pair(this);else return t.visitChildren(this)}}class jh extends St{constructor(t,e,r){super(e,r);this.parser=t}NOTEQUAL(){return this.getToken(N.NOTEQUAL,0)}inequality_expression(){return this.getTypedRuleContext(ro,0)}get ruleIndex(){return N.RULE_not_equal_trailing_pair}accept(t){if(t.visitNot_equal_trailing_pair)return t.visitNot_equal_trailing_pair(this);else return t.visitChildren(this)}}class ro extends St{constructor(t,e,r){super(e,r);this.parser=t}shift_expression(){return this.getTypedRuleContext(Kn,0)}inequality_trailing_pair_list(){return this.getTypedRuleContexts(ra)}inequality_trailing_pair(t){return this.getTypedRuleContext(ra,t)}get ruleIndex(){return N.RULE_inequality_expression}accept(t){if(t.visitInequality_expression)return t.visitInequality_expression(this);else return t.visitChildren(this)}}class ra extends St{constructor(t,e,r){super(e,r);this.parser=t}less_than_equal_trailing_pair(){return this.getTypedRuleContext(Wh,0)}less_than_trailing_pair(){return this.getTypedRuleContext(Gh,0)}greater_than_equal_trailing_pair(){return this.getTypedRuleContext(Kh,0)}greater_than_trailing_pair(){return this.getTypedRuleContext(Qh,0)}get ruleIndex(){return N.RULE_inequality_trailing_pair}accept(t){if(t.visitInequality_trailing_pair)return t.visitInequality_trailing_pair(this);else return t.visitChildren(this)}}class Wh extends St{constructor(t,e,r){super(e,r);this.parser=t}LESSEQUAL(){return this.getToken(N.LESSEQUAL,0)}shift_expression(){return this.getTypedRuleContext(Kn,0)}get ruleIndex(){return N.RULE_less_than_equal_trailing_pair}accept(t){if(t.visitLess_than_equal_trailing_pair)return t.visitLess_than_equal_trailing_pair(this);else return t.visitChildren(this)}}class Gh extends St{constructor(t,e,r){super(e,r);this.parser=t}LESS(){return this.getToken(N.LESS,0)}shift_expression(){return this.getTypedRuleContext(Kn,0)}get ruleIndex(){return N.RULE_less_than_trailing_pair}accept(t){if(t.visitLess_than_trailing_pair)return t.visitLess_than_trailing_pair(this);else return t.visitChildren(this)}}class Kh extends St{constructor(t,e,r){super(e,r);this.parser=t}GREATEREQUAL(){return this.getToken(N.GREATEREQUAL,0)}shift_expression(){return this.getTypedRuleContext(Kn,0)}get ruleIndex(){return N.RULE_greater_than_equal_trailing_pair}accept(t){if(t.visitGreater_than_equal_trailing_pair)return t.visitGreater_than_equal_trailing_pair(this);else return t.visitChildren(this)}}class Qh extends St{constructor(t,e,r){super(e,r);this.parser=t}GREATER(){return this.getToken(N.GREATER,0)}shift_expression(){return this.getTypedRuleContext(Kn,0)}get ruleIndex(){return N.RULE_greater_than_trailing_pair}accept(t){if(t.visitGreater_than_trailing_pair)return t.visitGreater_than_trailing_pair(this);else return t.visitChildren(this)}}class Kn extends St{constructor(t,e,r){super(e,r);this.parser=t}additive_expression(){return this.getTypedRuleContext(to,0)}shift_expression(){return this.getTypedRuleContext(Kn,0)}shift_op(){return this.getTypedRuleContext(Yh,0)}get ruleIndex(){return N.RULE_shift_expression}accept(t){if(t.visitShift_expression)return t.visitShift_expression(this);else return t.visitChildren(this)}}class Yh extends St{constructor(t,e,r){super(e,r);this.parser=t}LSHIFT(){return this.getToken(N.LSHIFT,0)}RSHIFT(){return this.getToken(N.RSHIFT,0)}get ruleIndex(){return N.RULE_shift_op}accept(t){if(t.visitShift_op)return t.visitShift_op(this);else return t.visitChildren(this)}}class to extends St{constructor(t,e,r){super(e,r);this.parser=t}multiplicative_expression(){return this.getTypedRuleContext(eo,0)}additive_expression(){return this.getTypedRuleContext(to,0)}additive_op(){return this.getTypedRuleContext(Zh,0)}get ruleIndex(){return N.RULE_additive_expression}accept(t){if(t.visitAdditive_expression)return t.visitAdditive_expression(this);else return t.visitChildren(this)}}class Zh extends St{constructor(t,e,r){super(e,r);this.parser=t}PLUS(){return this.getToken(N.PLUS,0)}MINUS(){return this.getToken(N.MINUS,0)}get ruleIndex(){return N.RULE_additive_op}accept(t){if(t.visitAdditive_op)return t.visitAdditive_op(this);else return t.visitChildren(this)}}class eo extends St{constructor(t,e,r){super(e,r);this.parser=t}unary_expression(){return this.getTypedRuleContext(ca,0)}multiplicative_expression(){return this.getTypedRuleContext(eo,0)}multiplicative_op(){return this.getTypedRuleContext(Xh,0)}get ruleIndex(){return N.RULE_multiplicative_expression}accept(t){if(t.visitMultiplicative_expression)return t.visitMultiplicative_expression(this);else return t.visitChildren(this)}}class Xh extends St{constructor(t,e,r){super(e,r);this.parser=t}STAR(){return this.getToken(N.STAR,0)}SLASH(){return this.getToken(N.SLASH,0)}PERCENT(){return this.getToken(N.PERCENT,0)}get ruleIndex(){return N.RULE_multiplicative_op}accept(t){if(t.visitMultiplicative_op)return t.visitMultiplicative_op(this);else return t.visitChildren(this)}}class ca extends St{constructor(t,e,r){super(e,r);this.parser=t}unary_op(){return this.getTypedRuleContext(Jh,0)}unary_expression(){return this.getTypedRuleContext(ca,0)}primary_expression(){return this.getTypedRuleContext(Cr,0)}get ruleIndex(){return N.RULE_unary_expression}accept(t){if(t.visitUnary_expression)return t.visitUnary_expression(this);else return t.visitChildren(this)}}class Jh extends St{constructor(t,e,r){super(e,r);this.parser=t}NOT(){return this.getToken(N.NOT,0)}PLUS(){return this.getToken(N.PLUS,0)}MINUS(){return this.getToken(N.MINUS,0)}TILDE(){return this.getToken(N.TILDE,0)}get ruleIndex(){return N.RULE_unary_op}accept(t){if(t.visitUnary_op)return t.visitUnary_op(this);else return t.visitChildren(this)}}class Cr extends St{constructor(t,e,r){super(e,r);this.parser=t}get ruleIndex(){return N.RULE_primary_expression}copyFrom(t){super.copyFrom(t)}}class w1 extends Cr{constructor(t,e){super(t,e.parentCtx,e.invokingState);super.copyFrom(e)}primary_expression(){return this.getTypedRuleContext(Cr,0)}DOT(){return this.getToken(N.DOT,0)}name_load(){return this.getTypedRuleContext(cs,0)}accept(t){if(t.visitPrimary_expression_attribute)return t.visitPrimary_expression_attribute(this);else return t.visitChildren(this)}}class v1 extends Cr{constructor(t,e){super(t,e.parentCtx,e.invokingState);super.copyFrom(e)}primary_expression(){return this.getTypedRuleContext(Cr,0)}LPAR(){return this.getToken(N.LPAR,0)}RPAR(){return this.getToken(N.RPAR,0)}template_spec_suffix(){return this.getTypedRuleContext(ya,0)}argument_list(){return this.getTypedRuleContext(t0,0)}accept(t){if(t.visitPrimary_expression_call)return t.visitPrimary_expression_call(this);else return t.visitChildren(this)}}class S1 extends Cr{constructor(t,e){super(t,e.parentCtx,e.invokingState);super.copyFrom(e)}atomic_expression(){return this.getTypedRuleContext(e0,0)}accept(t){if(t.visitPrimary_expression_fallback)return t.visitPrimary_expression_fallback(this);else return t.visitChildren(this)}}class C1 extends Cr{constructor(t,e){super(t,e.parentCtx,e.invokingState);super.copyFrom(e)}primary_expression(){return this.getTypedRuleContext(Cr,0)}LSQB(){return this.getToken(N.LSQB,0)}subscript_slice(){return this.getTypedRuleContext(ha,0)}RSQB(){return this.getToken(N.RSQB,0)}accept(t){if(t.visitPrimary_expression_subscript)return t.visitPrimary_expression_subscript(this);else return t.visitChildren(this)}}class t0 extends St{constructor(t,e,r){super(e,r);this.parser=t}argument_definition_list(){return this.getTypedRuleContexts(na)}argument_definition(t){return this.getTypedRuleContext(na,t)}COMMA_list(){return this.getTokens(N.COMMA)}COMMA(t){return this.getToken(N.COMMA,t)}get ruleIndex(){return N.RULE_argument_list}accept(t){if(t.visitArgument_list)return t.visitArgument_list(this);else return t.visitChildren(this)}}class na extends St{constructor(t,e,r){super(e,r);this.parser=t}expression(){return this.getTypedRuleContext(Ie,0)}name_store(){return this.getTypedRuleContext(ln,0)}EQUAL(){return this.getToken(N.EQUAL,0)}get ruleIndex(){return N.RULE_argument_definition}accept(t){if(t.visitArgument_definition)return t.visitArgument_definition(this);else return t.visitChildren(this)}}class ha extends St{constructor(t,e,r){super(e,r);this.parser=t}expression_list(){return this.getTypedRuleContexts(Ie)}expression(t){return this.getTypedRuleContext(Ie,t)}COMMA_list(){return this.getTokens(N.COMMA)}COMMA(t){return this.getToken(N.COMMA,t)}get ruleIndex(){return N.RULE_subscript_slice}accept(t){if(t.visitSubscript_slice)return t.visitSubscript_slice(this);else return t.visitChildren(this)}}class e0 extends St{constructor(t,e,r){super(e,r);this.parser=t}name_load(){return this.getTypedRuleContext(cs,0)}literal_expression(){return this.getTypedRuleContext(r0,0)}grouped_expression(){return this.getTypedRuleContext(o0,0)}tuple_expression(){return this.getTypedRuleContext(l0,0)}get ruleIndex(){return N.RULE_atomic_expression}accept(t){if(t.visitAtomic_expression)return t.visitAtomic_expression(this);else return t.visitChildren(this)}}class r0 extends St{constructor(t,e,r){super(e,r);this.parser=t}literal_number(){return this.getTypedRuleContext(fa,0)}literal_string(){return this.getTypedRuleContext(n0,0)}literal_bool(){return this.getTypedRuleContext(i0,0)}literal_color(){return this.getTypedRuleContext(s0,0)}get ruleIndex(){return N.RULE_literal_expression}accept(t){if(t.visitLiteral_expression)return t.visitLiteral_expression(this);else return t.visitChildren(this)}}class fa extends St{constructor(t,e,r){super(e,r);this.parser=t}NUMBER(){return this.getToken(N.NUMBER,0)}get ruleIndex(){return N.RULE_literal_number}accept(t){if(t.visitLiteral_number)return t.visitLiteral_number(this);else return t.visitChildren(this)}}class n0 extends St{constructor(t,e,r){super(e,r);this.parser=t}STRING(){return this.getToken(N.STRING,0)}get ruleIndex(){return N.RULE_literal_string}accept(t){if(t.visitLiteral_string)return t.visitLiteral_string(this);else return t.visitChildren(this)}}class i0 extends St{constructor(t,e,r){super(e,r);this.parser=t}TRUE(){return this.getToken(N.TRUE,0)}FALSE(){return this.getToken(N.FALSE,0)}get ruleIndex(){return N.RULE_literal_bool}accept(t){if(t.visitLiteral_bool)return t.visitLiteral_bool(this);else return t.visitChildren(this)}}class s0 extends St{constructor(t,e,r){super(e,r);this.parser=t}COLOR(){return this.getToken(N.COLOR,0)}get ruleIndex(){return N.RULE_literal_color}accept(t){if(t.visitLiteral_color)return t.visitLiteral_color(this);else return t.visitChildren(this)}}class o0 extends St{constructor(t,e,r){super(e,r);this.parser=t}LPAR(){return this.getToken(N.LPAR,0)}expression(){return this.getTypedRuleContext(Ie,0)}RPAR(){return this.getToken(N.RPAR,0)}get ruleIndex(){return N.RULE_grouped_expression}accept(t){if(t.visitGrouped_expression)return t.visitGrouped_expression(this);else return t.visitChildren(this)}}class l0 extends St{constructor(t,e,r){super(e,r);this.parser=t}LSQB(){return this.getToken(N.LSQB,0)}RSQB(){return this.getToken(N.RSQB,0)}expression_list(){return this.getTypedRuleContexts(Ie)}expression(t){return this.getTypedRuleContext(Ie,t)}COMMA_list(){return this.getTokens(N.COMMA)}COMMA(t){return this.getToken(N.COMMA,t)}get ruleIndex(){return N.RULE_tuple_expression}accept(t){if(t.visitTuple_expression)return t.visitTuple_expression(this);else return t.visitChildren(this)}}class a0 extends St{constructor(t,e,r){super(e,r);this.parser=t}IMPORT(){return this.getToken(N.IMPORT,0)}name_list(){return this.getTypedRuleContexts(On)}name(t){return this.getTypedRuleContext(On,t)}SLASH_list(){return this.getTokens(N.SLASH)}SLASH(t){return this.getToken(N.SLASH,t)}literal_number(){return this.getTypedRuleContext(fa,0)}AS(){return this.getToken(N.AS,0)}get ruleIndex(){return N.RULE_import_statement}accept(t){if(t.visitImport_statement)return t.visitImport_statement(this);else return t.visitChildren(this)}}class u0 extends St{constructor(t,e,r){super(e,r);this.parser=t}BREAK(){return this.getToken(N.BREAK,0)}get ruleIndex(){return N.RULE_break_statement}accept(t){if(t.visitBreak_statement)return t.visitBreak_statement(this);else return t.visitChildren(this)}}class c0 extends St{constructor(t,e,r){super(e,r);this.parser=t}CONTINUE(){return this.getToken(N.CONTINUE,0)}get ruleIndex(){return N.RULE_continue_statement}accept(t){if(t.visitContinue_statement)return t.visitContinue_statement(this);else return t.visitChildren(this)}}class da extends St{constructor(t,e,r){super(e,r);this.parser=t}declaration_mode(){return this.getTypedRuleContext(h0,0)}type_specification(){return this.getTypedRuleContext(on,0)}name_store(){return this.getTypedRuleContext(ln,0)}get ruleIndex(){return N.RULE_variable_declaration}accept(t){if(t.visitVariable_declaration)return t.visitVariable_declaration(this);else return t.visitChildren(this)}}class no extends St{constructor(t,e,r){super(e,r);this.parser=t}LSQB(){return this.getToken(N.LSQB,0)}name_store_list(){return this.getTypedRuleContexts(ln)}name_store(t){return this.getTypedRuleContext(ln,t)}RSQB(){return this.getToken(N.RSQB,0)}COMMA_list(){return this.getTokens(N.COMMA)}COMMA(t){return this.getToken(N.COMMA,t)}get ruleIndex(){return N.RULE_tuple_declaration}accept(t){if(t.visitTuple_declaration)return t.visitTuple_declaration(this);else return t.visitChildren(this)}}class h0 extends St{constructor(t,e,r){super(e,r);this.parser=t}VARIP(){return this.getToken(N.VARIP,0)}VAR(){return this.getToken(N.VAR,0)}get ruleIndex(){return N.RULE_declaration_mode}accept(t){if(t.visitDeclaration_mode)return t.visitDeclaration_mode(this);else return t.visitChildren(this)}}class f0 extends St{constructor(t,e,r){super(e,r);this.parser=t}assignment_target_attribute(){return this.getTypedRuleContext(pa,0)}assignment_target_subscript(){return this.getTypedRuleContext(ma,0)}assignment_target_name(){return this.getTypedRuleContext(d0,0)}assignment_target_group(){return this.getTypedRuleContext(p0,0)}get ruleIndex(){return N.RULE_assignment_target}accept(t){if(t.visitAssignment_target)return t.visitAssignment_target(this);else return t.visitChildren(this)}}class pa extends St{constructor(t,e,r){super(e,r);this.parser=t}primary_expression(){return this.getTypedRuleContext(Cr,0)}DOT(){return this.getToken(N.DOT,0)}name_store(){return this.getTypedRuleContext(ln,0)}get ruleIndex(){return N.RULE_assignment_target_attribute}accept(t){if(t.visitAssignment_target_attribute)return t.visitAssignment_target_attribute(this);else return t.visitChildren(this)}}class ma extends St{constructor(t,e,r){super(e,r);this.parser=t}primary_expression(){return this.getTypedRuleContext(Cr,0)}LSQB(){return this.getToken(N.LSQB,0)}subscript_slice(){return this.getTypedRuleContext(ha,0)}RSQB(){return this.getToken(N.RSQB,0)}get ruleIndex(){return N.RULE_assignment_target_subscript}accept(t){if(t.visitAssignment_target_subscript)return t.visitAssignment_target_subscript(this);else return t.visitChildren(this)}}class d0 extends St{constructor(t,e,r){super(e,r);this.parser=t}name_store(){return this.getTypedRuleContext(ln,0)}get ruleIndex(){return N.RULE_assignment_target_name}accept(t){if(t.visitAssignment_target_name)return t.visitAssignment_target_name(this);else return t.visitChildren(this)}}class p0 extends St{constructor(t,e,r){super(e,r);this.parser=t}LPAR(){return this.getToken(N.LPAR,0)}assignment_target(){return this.getTypedRuleContext(f0,0)}RPAR(){return this.getToken(N.RPAR,0)}get ruleIndex(){return N.RULE_assignment_target_group}accept(t){if(t.visitAssignment_target_group)return t.visitAssignment_target_group(this);else return t.visitChildren(this)}}class ga extends St{constructor(t,e,r){super(e,r);this.parser=t}STAREQUAL(){return this.getToken(N.STAREQUAL,0)}SLASHEQUAL(){return this.getToken(N.SLASHEQUAL,0)}PERCENTEQUAL(){return this.getToken(N.PERCENTEQUAL,0)}PLUSEQUAL(){return this.getToken(N.PLUSEQUAL,0)}MINEQUAL(){return this.getToken(N.MINEQUAL,0)}get ruleIndex(){return N.RULE_augassign_op}accept(t){if(t.visitAugassign_op)return t.visitAugassign_op(this);else return t.visitChildren(this)}}class on extends St{constructor(t,e,r){super(e,r);this.parser=t}attributed_type_name(){return this.getTypedRuleContext(ba,0)}type_qualifier(){return this.getTypedRuleContext(_a,0)}template_spec_suffix(){return this.getTypedRuleContext(ya,0)}array_type_suffix(){return this.getTypedRuleContext(g0,0)}get ruleIndex(){return N.RULE_type_specification}accept(t){if(t.visitType_specification)return t.visitType_specification(this);else return t.visitChildren(this)}}class _a extends St{constructor(t,e,r){super(e,r);this.parser=t}CONST(){return this.getToken(N.CONST,0)}INPUT(){return this.getToken(N.INPUT,0)}SIMPLE(){return this.getToken(N.SIMPLE,0)}SERIES(){return this.getToken(N.SERIES,0)}get ruleIndex(){return N.RULE_type_qualifier}accept(t){if(t.visitType_qualifier)return t.visitType_qualifier(this);else return t.visitChildren(this)}}class ba extends St{constructor(t,e,r){super(e,r);this.parser=t}name_load_list(){return this.getTypedRuleContexts(cs)}name_load(t){return this.getTypedRuleContext(cs,t)}DOT_list(){return this.getTokens(N.DOT)}DOT(t){return this.getToken(N.DOT,t)}get ruleIndex(){return N.RULE_attributed_type_name}accept(t){if(t.visitAttributed_type_name)return t.visitAttributed_type_name(this);else return t.visitChildren(this)}}class ya extends St{constructor(t,e,r){super(e,r);this.parser=t}LESS(){return this.getToken(N.LESS,0)}GREATER(){return this.getToken(N.GREATER,0)}type_argument_list(){return this.getTypedRuleContext(xa,0)}rshift_closed_type_args(){return this.getTypedRuleContext(m0,0)}RSHIFT(){return this.getToken(N.RSHIFT,0)}get ruleIndex(){return N.RULE_template_spec_suffix}accept(t){if(t.visitTemplate_spec_suffix)return t.visitTemplate_spec_suffix(this);else return t.visitChildren(this)}}class m0 extends St{constructor(t,e,r){super(e,r);this.parser=t}attributed_type_name(){return this.getTypedRuleContext(ba,0)}LESS(){return this.getToken(N.LESS,0)}type_specification_list(){return this.getTypedRuleContexts(on)}type_specification(t){return this.getTypedRuleContext(on,t)}COMMA_list(){return this.getTokens(N.COMMA)}COMMA(t){return this.getToken(N.COMMA,t)}type_qualifier(){return this.getTypedRuleContext(_a,0)}type_argument_list(){return this.getTypedRuleContext(xa,0)}get ruleIndex(){return N.RULE_rshift_closed_type_args}accept(t){if(t.visitRshift_closed_type_args)return t.visitRshift_closed_type_args(this);else return t.visitChildren(this)}}class g0 extends St{constructor(t,e,r){super(e,r);this.parser=t}LSQB(){return this.getToken(N.LSQB,0)}RSQB(){return this.getToken(N.RSQB,0)}get ruleIndex(){return N.RULE_array_type_suffix}accept(t){if(t.visitArray_type_suffix)return t.visitArray_type_suffix(this);else return t.visitChildren(this)}}class xa extends St{constructor(t,e,r){super(e,r);this.parser=t}type_specification_list(){return this.getTypedRuleContexts(on)}type_specification(t){return this.getTypedRuleContext(on,t)}COMMA_list(){return this.getTokens(N.COMMA)}COMMA(t){return this.getToken(N.COMMA,t)}get ruleIndex(){return N.RULE_type_argument_list}accept(t){if(t.visitType_argument_list)return t.visitType_argument_list(this);else return t.visitChildren(this)}}class On extends St{constructor(t,e,r){super(e,r);this.parser=t}NAME(){return this.getToken(N.NAME,0)}TYPE(){return this.getToken(N.TYPE,0)}METHOD(){return this.getToken(N.METHOD,0)}CONST(){return this.getToken(N.CONST,0)}INPUT(){return this.getToken(N.INPUT,0)}SIMPLE(){return this.getToken(N.SIMPLE,0)}SERIES(){return this.getToken(N.SERIES,0)}ENUM(){return this.getToken(N.ENUM,0)}AS(){return this.getToken(N.AS,0)}BY(){return this.getToken(N.BY,0)}TO(){return this.getToken(N.TO,0)}VAR(){return this.getToken(N.VAR,0)}SWITCH(){return this.getToken(N.SWITCH,0)}ONCE(){return this.getToken(N.ONCE,0)}get ruleIndex(){return N.RULE_name}accept(t){if(t.visitName)return t.visitName(this);else return t.visitChildren(this)}}class cs extends St{constructor(t,e,r){super(e,r);this.parser=t}name(){return this.getTypedRuleContext(On,0)}get ruleIndex(){return N.RULE_name_load}accept(t){if(t.visitName_load)return t.visitName_load(this);else return t.visitChildren(this)}}class ln extends St{constructor(t,e,r){super(e,r);this.parser=t}name(){return this.getTypedRuleContext(On,0)}get ruleIndex(){return N.RULE_name_store}accept(t){if(t.visitName_store)return t.visitName_store(this);else return t.visitChildren(this)}}class _0 extends St{constructor(t,e,r){super(e,r);this.parser=t}comment_list(){return this.getTypedRuleContexts(ia)}comment(t){return this.getTypedRuleContext(ia,t)}get ruleIndex(){return N.RULE_comments}accept(t){if(t.visitComments)return t.visitComments(this);else return t.visitChildren(this)}}class ia extends St{constructor(t,e,r){super(e,r);this.parser=t}COMMENT(){return this.getToken(N.COMMENT,0)}get ruleIndex(){return N.RULE_comment}accept(t){if(t.visitComment)return t.visitComment(this);else return t.visitChildren(this)}}class io extends Error{name="PinescriptSyntaxError";lineno;col_offset;constructor(t,e=null,r=null){super(t);this.lineno=e,this.col_offset=r}}class so extends Gd{static INSTANCE=new so;syntaxError(t,e,r,i,n,o){throw new io(`${n} (${r}:${i})`,r,i)}}function G2(t,e){if(t.kind!=="Script")return;let r=t;e.fill();let i=[];for(let n of e.tokens){if(n==null||n.type!==Sr.COMMENT)continue;let o=(n.text??"").trim();if(o.startsWith("//@"))i.push(o)}if(i.length)r.annotations=i}function Ai(t,e="<unknown>",r="exec"){if(r!=="exec"&&r!=="eval")throw Error(`invalid argument mode: ${r}`);let i=Ic.fromString(t),n=new Sr(i),o=new Wd(n),s=new N(o),h=so.INSTANCE;n.removeErrorListeners(),s.removeErrorListeners(),n.addErrorListener(h),s.addErrorListener(h);let m=r==="exec"?s.start_script():s.start_expression(),y=new Yc().visit(m);if(!y||typeof y!=="object"||!("kind"in y))throw new io("parse produced no AST");if(r==="exec"&&t.includes("@"))G2(y,o);return y}function K2(t){let e=Ic.fromString(t),r=new Sr(e);r.removeErrorListeners(),r.addErrorListener(so.INSTANCE);let i=[];for(;;){let n=r.nextToken();if(i.push(n),n.type===Je.EOF)break}return i}class un{name;fields;methods=new Map;isExported=!1;constructor(t,e){this.name=t;this.fields=e.map((r)=>({name:r.name,default:r.default??null}))}addMethod(t,e){this.methods.set(t,e)}getMethod(t){return this.methods.get(t)}cloneType(){let t=new un(this.name,this.fields.map((e)=>({name:e.name,default:e.default})));t.isExported=this.isExported;for(let[e,r]of this.methods)t.addMethod(e,r);return t}newInstance(t){let e=new tr(this);if(t){for(let r of this.fields)if(Object.hasOwn(t,r.name))e.set(r.name,t[r.name])}return e}}class tr{type;typeName;values=new Map;constructor(t){this.type=t,this.typeName=t.name;for(let e of t.fields)this.values.set(e.name,e.default??null)}get(t){return this.values.has(t)?this.values.get(t):null}set(t,e){if(!this.values.has(t))return;this.values.set(t,e)}getMethod(t){return this.type.getMethod(t)}}class ai{enumName;name;value;constructor(t,e,r){this.enumName=t;this.name=e;this.value=r}equals(t){return t instanceof ai&&t.enumName===this.enumName&&t.name===this.name}toString(){return this.name}}class Ti{name;members;constructor(t,e){this.name=t;this.members=e}}function M1(t,e){return new un(t,e)}function k1(t,e){let r=new Map;for(let i of e)r.set(i,new ai(t,i));return new Ti(t,r)}var fs=1e6;function b0(t,e){if(!Number.isFinite(t))return null;let r=Math.trunc(t);if(r<0)r=e+r;if(r<0||r>=e)return null;return r}function oo(t){return typeof t==="number"&&Number.isFinite(t)}function E1(t){return t!==null&&t!==0}function uo(t){if(t==null)return!0;if(typeof t==="number")return!Number.isFinite(t);return!1}function Sa(t){if(t==null||typeof t!=="object")return!1;if(t instanceof tr)return!0;return!Array.isArray(t)&&Object.prototype.hasOwnProperty.call(t,"__type__")}function R1(t){if(t instanceof tr)return t.type.fields.map((n)=>n.name);let e=t;if(Object.prototype.hasOwnProperty.call(e,"__type__"))return Object.keys(e).filter((n)=>n!=="__type__");let i=t.udt?.fields;if(i==null)return null;if(Array.isArray(i))return i.map((n)=>n.name);return Object.keys(i)}function A1(t,e){if(t instanceof tr)return t.get(e);let r=t.get_field;if(typeof r==="function")try{return r.call(t,e)}catch{return t}return t[e]}function Ca(t,e){if(t==null||e==null)return t;if(typeof t!=="object")return t;if(typeof e==="string"){let r=R1(t);if(r!=null&&!r.includes(e))return t;return A1(t,e)}if(typeof e==="number"&&Number.isFinite(e)){let r=R1(t);if(r==null)return t;let i=Math.trunc(e);if(i<0||i>=r.length)return t;return A1(t,r[i])}return t}function Q2(t,e){if(e!=null)return e;for(let r of t){if(r==null)continue;if(Sa(r))return 0;break}return null}function lo(t,e){if(e==null)return t;return Ca(t,e)}function Y2(t,e){if(e==null)return t;if(Sa(t))return Ca(t,e);return t}function wa(t,e){if(t==null)return!1;if(e==null)return!0;try{return t<e}catch{return`${String(Object.prototype.toString.call(t))}${String(t)}`<`${String(Object.prototype.toString.call(e))}${String(e)}`}}function va(t,e){if(t==null&&e==null)return!0;if(t==null||e==null)return!1;return t===e}function y0(t,e){if(va(t,e))return 0;return wa(t,e)?-1:1}function ao(t){let e=0;for(let r of t)e+=r;return e/t.length}class Te{cells=[];constructor(t,e){if(t===void 0)return;if(!Number.isFinite(t)||t<0)return;let r=Math.min(Math.trunc(t),fs),i=e===void 0?null:e;for(let n=0;n<r;n++)this.cells.push(i)}size(){return this.cells.length}get(t){let e=b0(t,this.cells.length);return e===null?null:this.cells[e]}set(t,e){let r=b0(t,this.cells.length);if(r===null)return;this.cells[r]=e}push(t){if(this.cells.length>=fs)return;this.cells.push(t)}pop(){if(this.cells.length===0)return null;return this.cells.pop()}unshift(t){if(this.cells.length>=fs)return;this.cells.unshift(t)}shift(){if(this.cells.length===0)return null;return this.cells.shift()}clear(){this.cells.length=0}includes(t){return this.cells.includes(t)}first(){return this.cells.length===0?null:this.cells[0]}last(){return this.cells.length===0?null:this.cells[this.cells.length-1]}insert(t,e){if(this.cells.length>=fs)return;if(!Number.isFinite(t))return;let r=Math.trunc(t);if(r<0)r=this.cells.length+r;if(r<0)r=0;if(r>this.cells.length)r=this.cells.length;this.cells.splice(r,0,e)}remove(t){let e=b0(t,this.cells.length);if(e===null)return null;return this.cells.splice(e,1)[0]}fill(t){for(let e=0;e<this.cells.length;e++)this.cells[e]=t}slice(t,e){let r=this.cells.length,i=Number.isFinite(t)?Math.trunc(t):0,n=e===void 0||!Number.isFinite(e)?r:Math.trunc(e);if(i<0)i=0;let o=new Te;if(n<i)return o;for(let s of this.cells.slice(i,n))o.push(s);return o}copy(){let t=new Te;for(let e of this.cells)t.push(e);return t}reverse(){this.cells.reverse()}sort(t="asc",e){let r=t==="desc";this.cells.splice(0,this.cells.length,...Z2(this.cells,r,e))}indexof(t){for(let e=0;e<this.cells.length;e++)if(Object.is(this.cells[e],t))return e;return-1}avg(){let t=this.finiteAll();if(t===null||t.length===0)return null;let e=0;for(let r of t)e+=r;return e/t.length}min(){let t=this.finiteAll();if(t===null||t.length===0)return null;let e=t[0];for(let r of t)if(r<e)e=r;return e}max(){let t=this.finiteAll();if(t===null||t.length===0)return null;let e=t[0];for(let r of t)if(r>e)e=r;return e}sum(){let t=this.finiteAll();if(t===null||t.length===0)return null;let e=0;for(let r of t)e+=r;return e}join(t=","){return this.cells.map((e)=>e===null?"":String(e)).join(t)}static from(...t){let e=new Te,r=Math.min(t.length,fs);for(let i=0;i<r;i++)e.push(t[i]);return e}lastIndexOf(t){for(let e=this.cells.length-1;e>=0;e--)if(Object.is(this.cells[e],t))return e;return-1}concat(t){for(let e of t.cells){if(this.cells.length>=fs)break;this.cells.push(e)}return this}abs(){let t=new Te;for(let e of this.cells)if(e==null)t.push(null);else if(typeof e==="number")t.push(Math.abs(e));else t.push(null);return t}every(){for(let t of this.cells)if(!E1(t))return!1;return!0}some(){for(let t of this.cells)if(E1(t))return!0;return!1}median(){let t=this.finiteAll();if(t===null||t.length===0)return null;let e=t.slice().sort((i,n)=>i-n),r=e.length>>1;if(e.length%2===1)return e[r];return(e[r-1]+e[r])/2}range(){let t=this.max(),e=this.min();if(t===null||e===null)return null;return t-e}mode(){let t=new Map,e=null,r=0;for(let i of this.cells){if(!oo(i))continue;let n=(t.get(i)??0)+1;if(t.set(i,n),n>r)r=n,e=i}return e}binarySearch(t,e){return this.binarySearchBy(t,"any",e)}binarySearchLeftmost(t,e){if(e==null&&!this.cells.some((r)=>r!=null&&Sa(r))&&(t==null||this.cells.some((r)=>r==null))){let r=this.indexof(t);return typeof r==="number"?r:-1}return this.binarySearchBy(t,"left",e)}binarySearchRightmost(t,e){if(e==null&&!this.cells.some((r)=>r!=null&&Sa(r))&&(t==null||this.cells.some((r)=>r==null))){let r=this.lastIndexOf(t);return typeof r==="number"?r:-1}return this.binarySearchBy(t,"right",e)}stdev(t=!0){let e=this.finiteSkip();if(e.length<2)return null;let r=ao(e),i=0;for(let s of e)i+=(s-r)**2;let n=t?e.length:e.length-1;if(n<=0)return null;let o=Math.sqrt(i/n);return Number.isFinite(o)?o:null}variance(t=!0){let e=this.finiteSkip();if(e.length<2)return null;let r=ao(e),i=0;for(let s of e)i+=(s-r)**2;let n=t?e.length:e.length-1;if(n<=0)return null;let o=i/n;return Number.isFinite(o)?o:null}covariance(t,e=!0){let r=this.finiteSkip(),i=t.finiteSkip(),n=Math.min(r.length,i.length);if(n<2)return null;let o=r.slice(0,n),s=i.slice(0,n),h=ao(o),m=ao(s),p=0;for(let v=0;v<n;v++)p+=(o[v]-h)*(s[v]-m);let y=e?n:n-1;if(y<=0)return null;let _=p/y;return Number.isFinite(_)?_:null}percentileLinearInterpolation(t){if(!Number.isFinite(t)||t<0||t>100)return null;let e=this.finiteSkip().sort((s,h)=>s-h);if(e.length===0)return null;let r=e.length,i=t/100*(r-1),n=Math.trunc(i),o=i-n;if(n>=r-1)return e[r-1];if(n<0)return e[0];return e[n]*(1-o)+e[n+1]*o}percentileNearestRank(t){if(!Number.isFinite(t)||t<0||t>100)return null;let e=this.finiteSkip().sort((n,o)=>n-o);if(e.length===0)return null;let r=e.length,i=Math.max(1,Math.trunc(t/100*r+0.5));return e[Math.min(i,r)-1]}percentrank(t){if(!oo(t))return null;let e=this.finiteSkip();if(e.length===0)return null;if(e.length===1)return 0;let r=0;for(let i of e)if(i<=t)r+=1;return(r-1)/(e.length-1)*100}standardize(){let t=this.finiteSkip();if(t.length<2)return null;let e=ao(t),r=0;for(let o of t)r+=(o-e)**2;let i=Math.sqrt(r/(t.length-1));if(i===0||!Number.isFinite(i))return null;let n=new Te;for(let o of this.cells)n.push(oo(o)?(o-e)/i:null);return n}sortIndices(t="asc",e){let r=t==="desc",i=[],n=[];for(let o=0;o<this.cells.length;o++){let s=this.cells[o];if(uo(s)){n.push(o);continue}let h=e!=null?Ca(s,e):s;if(uo(h))n.push(o);else i.push({key:h,idx:o})}try{i.sort((o,s)=>{let h=y0(o.key,s.key);if(h!==0)return r?-h:h;return o.idx-s.idx})}catch{i.sort((o,s)=>{let h=`${String(Object.prototype.toString.call(o.key))}${String(o.key)}`,m=`${String(Object.prototype.toString.call(s.key))}${String(s.key)}`,p=h<m?-1:h>m?1:0;if(p!==0)return r?-p:p;return o.idx-s.idx})}return i.map((o)=>o.idx).concat(n)}binarySearchBy(t,e,r){let i=this.cells,n=Q2(i,r??null),o=Y2(t,n),s=i.length;if(e==="left"){let p=0,y=s;while(p<y){let _=Math.trunc((p+y)/2);if(wa(lo(i[_],n),o))p=_+1;else y=_}if(p<s&&va(lo(i[p],n),o))return p;return-1}if(e==="right"){let p=0,y=s;while(p<y){let _=Math.trunc((p+y)/2);if(wa(o,lo(i[_],n)))y=_;else p=_+1}if(p>0&&va(lo(i[p-1],n),o))return p-1;return-1}let h=0,m=s-1;while(h<=m){let p=Math.trunc((h+m)/2),y=lo(i[p],n);if(va(y,o))return p;if(wa(y,o))h=p+1;else m=p-1}return-1}finiteAll(){let t=[];for(let e of this.cells){if(!oo(e))return null;t.push(e)}return t}finiteSkip(){let t=[];for(let e of this.cells)if(oo(e))t.push(e);return t}toValues(){return this.cells.slice()}}function Z2(t,e,r){if(r==null){let o=[],s=0;for(let m of t)if(uo(m))s+=1;else o.push(m);try{o.sort((m,p)=>{let y=y0(m,p);return e?-y:y})}catch{o.sort((m,p)=>{let y=`${String(Object.prototype.toString.call(m))}${String(m)}`,_=`${String(Object.prototype.toString.call(p))}${String(p)}`,v=y<_?-1:y>_?1:0;return e?-v:v})}let h=o.slice();for(let m=0;m<s;m++)h.push(null);return h}let i=[],n=[];for(let o of t){if(uo(o)){n.push(o);continue}let s=Ca(o,r);if(uo(s))n.push(o);else i.push({key:s,item:o})}try{i.sort((o,s)=>{let h=y0(o.key,s.key);return e?-h:h})}catch{i.sort((o,s)=>{let h=`${String(Object.prototype.toString.call(o.key))}${String(o.key)}`,m=`${String(Object.prototype.toString.call(s.key))}${String(s.key)}`,p=h<m?-1:h>m?1:0;return e?-p:p})}return i.map((o)=>o.item).concat(n)}var X2=/^#([0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/;function Cn(t){return typeof t==="number"&&Number.isFinite(t)}function Ni(t){return Math.max(0,Math.min(255,Math.round(t)))}function T1(t,e,r,i){return{r:Ni(t),g:Ni(e),b:Ni(r),a:Ni(i)}}function x0(t){if(typeof t!=="object"||t===null)return!1;let e=t;return Cn(e.r)&&Cn(e.g)&&Cn(e.b)&&Cn(e.a)}function J2(t){return 255*(1-Math.max(0,Math.min(100,t))/100)}function ty(t){return Math.max(0,Math.min(100,Math.round((1-t/255)*100)))}function w0(t){if(typeof t!=="string")return null;let e=X2.exec(t.trim());if(!e)return null;let r=e[1],i=parseInt(r.slice(0,2),16),n=parseInt(r.slice(2,4),16),o=parseInt(r.slice(4,6),16),s=r.length===8?parseInt(r.slice(6,8),16):255;if(![i,n,o,s].every((h)=>Number.isFinite(h)))return null;return{r:i,g:n,b:o,a:s}}function co(t,e,r,i){if(!Cn(t)||!Cn(e)||!Cn(r))return null;let n=Cn(i)?J2(i):255;return T1(t,e,r,n)}function Ma(t,e,r,i){return co(t,e,r,i)}function ka(t,e,r,i,n){if(!Cn(t)||!Cn(e)||!Cn(r))return null;if(!x0(i)||!x0(n))return null;let o=r-e,s=o===0?0:Math.max(0,Math.min(1,(t-e)/o));return T1(i.r+(n.r-i.r)*s,i.g+(n.g-i.g)*s,i.b+(n.b-i.b)*s,i.a+(n.a-i.a)*s)}var ey={red:{r:255,g:0,b:0,a:255},green:{r:0,g:128,b:0,a:255},blue:{r:0,g:0,b:255,a:255},black:{r:0,g:0,b:0,a:255},white:{r:255,g:255,b:255,a:255},gray:{r:128,g:128,b:128,a:255},grey:{r:128,g:128,b:128,a:255},silver:{r:192,g:192,b:192,a:255},yellow:{r:255,g:255,b:0,a:255},orange:{r:255,g:165,b:0,a:255},purple:{r:128,g:0,b:128,a:255},aqua:{r:0,g:255,b:255,a:255},fuchsia:{r:255,g:0,b:255,a:255},lime:{r:0,g:255,b:0,a:255},maroon:{r:128,g:0,b:0,a:255},navy:{r:0,g:0,b:128,a:255},olive:{r:128,g:128,b:0,a:255},teal:{r:0,g:128,b:128,a:255}};function ho(t){if(typeof t!=="string")return null;let e=t.trim().toLowerCase();if(e.startsWith("color."))e=e.slice(6);let r=ey[e];return r?{...r}:null}function ui(t){if(x0(t))return t;if(typeof t!=="string")return null;return w0(t)??ho(t)}function Ea(t){let e=ui(t);return e?Ni(e.r):null}function Ra(t){let e=ui(t);return e?Ni(e.g):null}function Aa(t){let e=ui(t);return e?Ni(e.b):null}function Ta(t){let e=ui(t);return e?ty(e.a):null}var ry=new Set(["request.security","request.security_lower_tf","request.dividends","request.earnings","request.splits","request.financial","request.economic","request.quandl","request.currency_rate","request.seed","request.footprint"]),ny=null,v0=60,S0=1440,C0=10080,fo=43200,iy={H:v0,"1H":v0,D:S0,"1D":S0,W:C0,"1W":C0,M:fo,MO:fo,"1M":fo,"1MO":fo};function O1(t){return t!=null&&ry.has(t)}function Li(t){if(t==null)return null;let e=t.trim();if(e==="")return null;if(/^\d+$/.test(e)){let s=Number(e);return s>0?s:null}let r=e.toUpperCase(),i=iy[r];if(i!=null)return i;let n=/^(\d+)(MO|H|D|W|M)$/.exec(r);if(n==null)return null;let o=Number(n[1]);if(!(o>0))return null;switch(n[2]){case"MO":return o*fo;case"H":return o*v0;case"D":return o*S0;case"W":return o*C0;case"M":return o;default:return null}}function sy(t){return typeof t==="number"&&Number.isFinite(t)?t:null}function La(t,e,r,i){let n=r??{};if(!P1(n.symbol,t??""))return null;let o=sy(i),s=Li(n.timeframe),h=Li(e);if(s!=null&&h!=null&&s>h)return o;return o}function oy(t,e){let r=Li(t),i=Li(e);return r!=null&&i!=null&&r<i}function ly(t,e,r,i){let n=r??{};if(!P1(n.symbol,t??""))return null;if(oy(n.timeframe,e))return null;return La(t,e,n,i)}function P1(t,e){let r=(t??"").trim();if(r==="")return!0;return N1(r)===N1(e)}function N1(t){let e=t.trim().toUpperCase(),r=e.lastIndexOf(":");return r>=0?e.slice(r+1):e}function ay(){return null}function M0(t,e){let[r,i]=fy(t,e);if(r!==""&&r===i)return 1;return null}function uy(t){return ny=dy(t??0),null}function Ia(t,e,r={}){if(t==="request.security"){let{sec:i,value:n}=L1(r);return La(e.symbol,e.timeframe??null,i,n)}if(t==="request.security_lower_tf"){let{sec:i,value:n}=L1(r);return ly(e.symbol,e.timeframe??null,i,n)}if(t==="request.currency_rate"){let[i,n]=cy(r);return M0(i,n)}if(t==="request.seed")return uy(hy(r));return ay()}function k0(t){return!Array.isArray(t)}function L1(t){if(!k0(t))return{sec:{symbol:Na(t[0]),timeframe:Na(t[1]),expression:t[2]},value:py(t[2])};return{sec:{symbol:t.symbol,timeframe:t.timeframe,expression:t.expression},value:t.sameSymbolValue??null}}function cy(t){if(!k0(t))return[Na(t[0]),Na(t[1])];let e=t.from??t.from_currency??null,r=t.to??t.to_currency??null;return[e,r]}function hy(t){if(!k0(t))return t[0]??0;return t.seed??0}function fy(t,e){let r=(t??"").trim().toUpperCase(),i=(e??"").trim().toUpperCase();if(i!=="")return[r,i];let n=r.indexOf("/");if(n>=0)return[r.slice(0,n),r.slice(n+1)];if(/^[A-Z]{6}$/.test(r))return[r.slice(0,3),r.slice(3)];return[r,i]}function dy(t){if(typeof t==="number"&&Number.isFinite(t))return Math.trunc(t);if(typeof t==="string"){let e=Number(t);if(t.trim()!==""&&Number.isFinite(e))return Math.trunc(e);return I1(t)}if(t==null)return 0;return I1(String(t))}function I1(t){let e=2166136261;for(let r=0;r<t.length;r++)e^=t.charCodeAt(r),e=Math.imul(e,16777619);return e>>>0}function Na(t){if(t==null)return null;return typeof t==="string"?t:String(t)}function py(t){if(t==null)return null;if(typeof t==="number")return Number.isFinite(t)?t:null;return null}var po=60,R0=3600,mo=86400,go=604800,Mn=2592000;function Oa(t){let e=Li(t);return e==null?null:e*po}function B1(t){if(!Number.isFinite(t)||t<=0)return null;if(t<=po)return"1";if(t<=mo){let r=Math.ceil(t/po);return r>=mo/po?"D":String(r)}if(t<=go){let r=Math.ceil(t/mo);if(r>=7)return"W";return r<=1?"D":`${r}D`}if(t<=Mn){let r=Math.ceil(t/go);if(r*go>=Mn)return"M";return r<=1?"W":`${r}W`}let e=Math.ceil(t/Mn);return e<=1?"M":`${e}M`}function U1(t){if(_o(t)||bo(t)||yo(t))return!1;return Li(t)!=null}function _o(t){let e=ds(t);if(e==null||/^\d+$/.test(e))return!1;return e==="D"||e==="DAY"||e==="DAYS"||/^\d+D$/.test(e)}function bo(t){let e=ds(t);if(e==null||/^\d+$/.test(e))return!1;return e==="W"||e==="WEEK"||e==="WEEKS"||/^\d+W$/.test(e)}function yo(t){let e=ds(t);if(e==null||/^\d+$/.test(e))return!1;return e==="M"||e==="1M"||e==="MO"||e==="MONTH"||e==="MONTHS"||/^\d+MO$/.test(e)}function A0(t){let e=ds(t);if(e==null)return!1;return e.endsWith("S")&&/^\d+$/.test(e.slice(0,-1))}function q1(t){if(T0(t)||N0(t)||A0(t))return!1;let e=ds(t);if(e==null)return!1;if(/^\d+$/.test(e))return!0;return e.endsWith("M")&&/^\d+$/.test(e.slice(0,-1))&&e!=="1M"}function T0(t){if(_o(t)||bo(t)||yo(t))return!1;let e=ds(t);if(e==null)return!1;if(e.endsWith("H"))return!0;return/^\d+$/.test(e)&&Number(e)>=60}function N0(t){return _o(t)||bo(t)||yo(t)}function H1(t){if(t==null||t==="")return 1;let e=t.trim().match(/^(\d+)/);return e?Number(e[1]):1}function ds(t){if(t==null)return null;let e=t.trim().toUpperCase();return e===""?null:e}var my=new Set(["D","W","M","1D","1W","1M"]),gy={"1H":R0,H:R0,D:mo,W:go,MO:Mn,M:Mn,"1M":Mn,MONTH:Mn,MONTHS:Mn},_y=[["M",Mn],["H",R0],["D",mo],["W",go],["MO",Mn]],by=new Set(["UTC","utc","Etc/UTC","GMT","gmt","syminfo.timezone"]),yy=/^(?:(?:UTC|GMT)\s*)?([+-])\s*(\d{1,2})(?::(\d{2})|(\d{2}))?$/i,D1=new Map;function Pa(t,e,r,i,n){let o=F1(t,r,n);if(o==null)return!1;if(i!=null){if(i<=0)return!0;if(e==null)return!1}else if(e==null)return!0;let s=F1(e,r,n);if(s==null)return!1;return o!==s}function F1(t,e,r){if(e==null)return null;let i=String(e).trim();if(i==="")return null;let n=vy(t);if(n==null)return null;if(my.has(i))return wy(n,i,r);let o=xy(i);if(o==null||o<=0)return null;return Math.floor(n/(o*1000))}function xy(t){let e=t.trim().toUpperCase();if(e==="")return null;let r=gy[e];if(r!=null)return r;if(e.endsWith("M")&&/^\d+$/.test(e.slice(0,-1)))return Number(e.slice(0,-1))*Mn;if(/^\d+$/.test(e))return Number(e)*po;for(let[i,n]of _y){if(!e.endsWith(i))continue;let o=e.slice(0,-i.length);if(o!==""&&/^\d+$/.test(o))return Number(o)*n}return null}function wy(t,e,r){let i=e[e.length-1],n=Cy(t,Sy(r));if(n==null)return null;if(i==="D")return n.year*1e4+n.month*100+n.day;if(i==="W")return My(n.year,n.month,n.day);return n.year*12+n.month}function vy(t){if(t==null)return null;let e=typeof t==="number"?t:typeof t==="string"?Number(t):NaN;if(!Number.isFinite(e))return null;return e<100000000000?e*1000:e}function Sy(t){if(typeof t!=="string")return{off:0};let e=t.trim();if(e===""||by.has(e))return{off:0};let r=yy.exec(e);if(r){let i=r[1]==="+"?1:-1,n=Number(r[2]),o=Number(r[3]||r[4]||0),s=i*(n*60+o)*60000;if(!Number.isFinite(s)||Math.abs(s)>=86400000)return{off:0};return{off:s}}return{iana:e}}function Cy(t,e){if(!Number.isFinite(t))return null;if("off"in e)return E0(t+e.off);let r=D1.get(e.iana);if(r===void 0){try{r=new Intl.DateTimeFormat("en-US",{timeZone:e.iana,year:"numeric",month:"2-digit",day:"2-digit"})}catch{r=null}D1.set(e.iana,r)}if(r==null)return E0(t);let i=NaN,n=NaN,o=NaN;for(let s of r.formatToParts(new Date(t)))if(s.type==="year")i=Number(s.value);else if(s.type==="month")n=Number(s.value);else if(s.type==="day")o=Number(s.value);if(!Number.isFinite(i)||!Number.isFinite(n)||!Number.isFinite(o))return E0(t);return{year:i,month:n,day:o}}function E0(t){let e=new Date(t);return{year:e.getUTCFullYear(),month:e.getUTCMonth()+1,day:e.getUTCDate()}}function My(t,e,r){let i=new Date(Date.UTC(t,e-1,r)),n=i.getUTCDay()||7;i.setUTCDate(i.getUTCDate()+4-n);let o=i.getUTCFullYear(),s=Math.round((i.getTime()-Date.UTC(o,0,1))/86400000),h=Math.ceil((s+1)/7);return o*100+h}function mn(t){return typeof t==="number"&&Number.isFinite(t)}function Da(t,e,r){if(t==null||typeof t!=="number"||!Number.isFinite(t))return e;return Math.max(1,Math.min(r,Math.trunc(t)))}function $1(t){return mn(t)?t:0}function L0(t){if(t==null||typeof t!=="object"||Array.isArray(t))return;return{...t}}function sr(t,e,r){if(mn(r))t[e]=r}function jr(t,e,r){t[e]=r}function z1(t,e){if(!mn(t)||!mn(e))return;return`${t},${e}`}function ci(t){if(!mn(t))return null;return Math.trunc(t)}function ky(t){let e=t.indexOf(",");if(e<0)return;let r=Number(t.slice(0,e)),i=Number(t.slice(e+1));if(!mn(r)||!mn(i))return;return{col:r,row:i}}function Ey(t){if(t==null)return;let e={...t};if(e.cells!=null&&typeof e.cells==="object"&&!Array.isArray(e.cells)){let r={};for(let[i,n]of Object.entries(e.cells))r[i]=n!=null&&typeof n==="object"&&!Array.isArray(n)?{...n}:n;e.cells=r}if(Array.isArray(e.points))e.points=e.points.map((r)=>r!=null&&typeof r==="object"?{...r}:r);if(Array.isArray(e.merged))e.merged=e.merged.slice();return e}class ps{items=[];byId=new Map;nextId=0;maxLines=50;maxLabels=50;maxBoxes=50;maxPolylines=50;constructor(t){if(t!=null)this.configure(t)}configure(t){if(t==null||typeof t!=="object")return;if(t.max_lines_count!==void 0)this.maxLines=Da(t.max_lines_count,this.maxLines,500);if(t.max_labels_count!==void 0)this.maxLabels=Da(t.max_labels_count,this.maxLabels,500);if(t.max_boxes_count!==void 0)this.maxBoxes=Da(t.max_boxes_count,this.maxBoxes,500);if(t.max_polylines_count!==void 0)this.maxPolylines=Da(t.max_polylines_count,this.maxPolylines,100);this.gc("line",this.maxLines),this.gc("label",this.maxLabels),this.gc("box",this.maxBoxes),this.gc("polyline",this.maxPolylines)}get(t){return this.byId.get(t)}all(t){return this.items.filter((e)=>e.kind===t&&!e.deleted)}allIds(t){let e=[];for(let[r,i]of this.byId)if(i.kind===t&&!i.deleted)e.push(r);return e}lineNew(t,e){return this.push("line",t,{extra:e,cap:this.maxLines})}labelNew(t,e,r){return this.push("label",t,{text:e,extra:r,cap:this.maxLabels})}boxNew(t,e){return this.push("box",t,{extra:e,cap:this.maxBoxes})}tableNew(t,e){return this.push("table",t,{extra:e})}polylineNew(t,e){return this.push("polyline",t,{extra:e,cap:this.maxPolylines})}linefillNew(t,e,r){let i={},n=L0(e);if(n!=null)Object.assign(i,n);else{if(mn(e))i.id1=e;if(mn(r))i.id2=r}return this.push("linefill",t,{extra:Object.keys(i).length?i:void 0})}alert(t,e){this.items.push({kind:"alert",bar:$1(t),text:e==null?"":String(e)})}lineSetXy(t,e,r,i,n){let o=this.extraOf(t);if(!o)return;sr(o,"x1",e),sr(o,"y1",r),sr(o,"x2",i),sr(o,"y2",n)}lineSetXy1(t,e,r){let i=this.extraOf(t);if(!i)return;sr(i,"x1",e),sr(i,"y1",r)}lineSetXy2(t,e,r){let i=this.extraOf(t);if(!i)return;sr(i,"x2",e),sr(i,"y2",r)}labelSetText(t,e){let r=this.byId.get(t);if(!r)return;r.text=e==null?"":String(e)}labelSetXy(t,e,r){let i=this.extraOf(t);if(!i)return;sr(i,"x",e),sr(i,"y",r)}boxSet(t,e){let r=this.byId.get(t),i=L0(e);if(!r||i==null)return;r.extra={...r.extra??{},...i}}boxSetCorners(t,e,r,i,n){let o=this.extraOf(t,"box");if(!o)return;sr(o,"left",e),sr(o,"top",r),sr(o,"right",i),sr(o,"bottom",n)}lineSetColor(t,e){let r=this.extraOf(t,"line");if(!r)return;jr(r,"color",e)}lineSetWidth(t,e){let r=this.extraOf(t,"line");if(!r)return;sr(r,"width",e)}lineSetStyle(t,e){let r=this.extraOf(t,"line");if(!r)return;jr(r,"style",e)}lineSetExtend(t,e){let r=this.extraOf(t,"line");if(!r)return;jr(r,"extend",e)}lineGetX1(t){return this.lineGetNum(t,"x1")}lineGetY1(t){return this.lineGetNum(t,"y1")}lineGetX2(t){return this.lineGetNum(t,"x2")}lineGetY2(t){return this.lineGetNum(t,"y2")}getX1(t){return this.extraNum(t,"x1")}getY1(t){return this.extraNum(t,"y1")}getX2(t){return this.extraNum(t,"x2")}getY2(t){return this.extraNum(t,"y2")}labelGetX(t){let e=this.byId.get(t);if(!e||e.kind!=="label")return null;return this.extraNum(t,"x")}labelGetY(t){let e=this.byId.get(t);if(!e||e.kind!=="label")return null;return this.extraNum(t,"y")}labelGetText(t){let e=this.byId.get(t);if(!e||e.kind!=="label")return null;if(e.text!==void 0)return e.text;let r=e.extra?.text;return r==null?null:String(r)}lineGetPrice(t,e){if(!mn(e))return null;let r=this.lineGetNum(t,"x1"),i=this.lineGetNum(t,"y1"),n=this.lineGetNum(t,"x2"),o=this.lineGetNum(t,"y2");if(r==null||i==null||n==null||o==null)return null;if(r===n)return i;let s=(e-r)/(n-r);return i+s*(o-i)}labelSetColor(t,e){let r=this.extraOf(t,"label");if(!r)return;jr(r,"color",e)}labelSetStyle(t,e){let r=this.extraOf(t,"label");if(!r)return;jr(r,"style",e)}labelSetSize(t,e){let r=this.extraOf(t,"label");if(!r)return;jr(r,"size",e)}labelSetTextalign(t,e){let r=this.extraOf(t,"label");if(!r)return;jr(r,"textalign",e)}labelSetTooltip(t,e){let r=this.extraOf(t,"label");if(!r)return;jr(r,"tooltip",e)}boxSetBgcolor(t,e){let r=this.extraOf(t,"box");if(!r)return;jr(r,"bgcolor",e)}boxSetBorderColor(t,e){let r=this.extraOf(t,"box");if(!r)return;jr(r,"border_color",e)}boxSetText(t,e){let r=this.extraOf(t,"box");if(!r)return;jr(r,"text",e==null?"":String(e))}boxSetExtend(t,e){let r=this.extraOf(t,"box");if(!r)return;jr(r,"extend",e)}tableCell(t,e,r,i){this.upsertCell(t,e,r,i,i!==void 0)}tableCellSetText(t,e,r,i){this.upsertCell(t,e,r,i,!0)}tableSetPosition(t,e){let r=this.extraOf(t,"table");if(!r)return;jr(r,"position",e)}linefillSetColor(t,e){let r=this.extraOf(t,"linefill");if(!r)return;jr(r,"color",e)}lineSetX1(t,e){this.setKindNum(t,"line","x1",e)}lineSetY1(t,e){this.setKindNum(t,"line","y1",e)}lineSetX2(t,e){this.setKindNum(t,"line","x2",e)}lineSetY2(t,e){this.setKindNum(t,"line","y2",e)}lineSetXloc(t,e){this.setKindAny(t,"line","xloc",e)}boxGetLeft(t){return this.kindNum(t,"box","left")}boxGetRight(t){return this.kindNum(t,"box","right")}boxGetTop(t){return this.kindNum(t,"box","top")}boxGetBottom(t){return this.kindNum(t,"box","bottom")}boxSetLeft(t,e){this.setKindNum(t,"box","left",e)}boxSetRight(t,e){this.setKindNum(t,"box","right",e)}boxSetTop(t,e){this.setKindNum(t,"box","top",e)}boxSetBottom(t,e){this.setKindNum(t,"box","bottom",e)}boxSetLeftTop(t,e,r){let i=this.extraOf(t,"box");if(!i)return;sr(i,"left",e),sr(i,"top",r)}boxSetRightBottom(t,e,r){let i=this.extraOf(t,"box");if(!i)return;sr(i,"right",e),sr(i,"bottom",r)}boxSetBorderWidth(t,e){this.setKindNum(t,"box","border_width",e)}boxSetBorderStyle(t,e){this.setKindAny(t,"box","border_style",e)}boxSetXloc(t,e){this.setKindAny(t,"box","xloc",e)}boxSetClosed(t,e){this.setKindAny(t,"box","closed",e)}boxSetTextColor(t,e){this.setKindAny(t,"box","text_color",e)}boxSetTextFontFamily(t,e){this.setKindAny(t,"box","text_font_family",e)}boxSetTextHalign(t,e){this.setKindAny(t,"box","text_halign",e)}boxSetTextValign(t,e){this.setKindAny(t,"box","text_valign",e)}boxSetTextSize(t,e){this.setKindAny(t,"box","text_size",e)}boxSetTextFormatting(t,e){this.setKindAny(t,"box","text_formatting",e)}boxSetTextWrap(t,e){this.setKindAny(t,"box","text_wrap",e)}labelSetX(t,e){this.setKindNum(t,"label","x",e)}labelSetY(t,e){this.setKindNum(t,"label","y",e)}labelSetTextcolor(t,e){this.setKindAny(t,"label","textcolor",e)}labelSetTextFontFamily(t,e){this.setKindAny(t,"label","text_font_family",e)}labelSetTextHalign(t,e){this.setKindAny(t,"label","text_halign",e)}labelSetTextValign(t,e){this.setKindAny(t,"label","text_valign",e)}labelSetTextSize(t,e){this.setKindAny(t,"label","text_size",e)}labelSetTextFormatting(t,e){this.setKindAny(t,"label","text_formatting",e)}labelSetBorderColor(t,e){this.setKindAny(t,"label","border_color",e)}labelSetBorderWidth(t,e){this.setKindNum(t,"label","border_width",e)}labelSetBorderStyle(t,e){this.setKindAny(t,"label","border_style",e)}labelSetXloc(t,e){this.setKindAny(t,"label","xloc",e)}labelSetYloc(t,e){this.setKindAny(t,"label","yloc",e)}tableCellGetText(t,e,r){let i=this.cellRec(t,e,r);if(!i)return null;if(i.text===void 0)return null;return i.text==null?"":String(i.text)}tableCellSetField(t,e,r,i,n){this.upsertCell(t,e,r,void 0,!1);let o=this.cellRec(t,e,r);if(!o)return;o[i]=n}tableSetBgcolor(t,e){this.setKindAny(t,"table","bgcolor",e)}tableSetBorderColor(t,e){this.setKindAny(t,"table","border_color",e)}tableSetBorderWidth(t,e){this.setKindNum(t,"table","border_width",e)}tableSetFrameColor(t,e){this.setKindAny(t,"table","frame_color",e)}tableSetFrameWidth(t,e){this.setKindNum(t,"table","frame_width",e)}tableClear(t,e,r,i,n){let o=this.extraOf(t,"table");if(!o)return;if(e===void 0){o.cells={};return}let s=ci(e),h=ci(r),m=ci(i),p=ci(n);if(s==null||h==null||m==null||p==null)return;let y=o.cells;if(y==null||typeof y!=="object"||Array.isArray(y))return;let _=y;for(let v of Object.keys(_)){let C=ky(v);if(C==null)continue;if(s<=C.row&&C.row<=m&&h<=C.col&&C.col<=p)delete _[v]}}tableMergeCells(t,e,r,i,n){let o=this.extraOf(t,"table");if(!o)return;let s=ci(e),h=ci(r),m=ci(i),p=ci(n);if(s==null||h==null||m==null||p==null)return;if(m<s||p<h)return;let y=o.merged,_=Array.isArray(y)?y:[];if(_!==y)o.merged=_;_.push([s,h,m,p])}polylineGetPoints(t){let e=this.byId.get(t);if(!e||e.kind!=="polyline"||e.deleted)return[];let r=e.extra?.points;return Array.isArray(r)?r.slice():[]}polylineSetPoints(t,e){let r=this.extraOf(t,"polyline");if(!r)return;r.points=Array.isArray(e)?e.filter((i)=>i!=null):[]}polylineSetLineColor(t,e){this.setKindAny(t,"polyline","color",e)}polylineSetLineWidth(t,e){this.setKindNum(t,"polyline","width",e)}polylineSetLineStyle(t,e){this.setKindAny(t,"polyline","style",e)}polylineSetFillColor(t,e){this.setKindAny(t,"polyline","fill_color",e)}polylineSetCurved(t,e){this.setKindAny(t,"polyline","curved",e)}polylineSetForceOverlay(t,e){this.setKindAny(t,"polyline","force_overlay",e)}polylineSetClosed(t,e){this.setKindAny(t,"polyline","closed",e)}polylineSetXloc(t,e){this.setKindAny(t,"polyline","xloc",e)}linefillGetLine1(t){return this.kindNum(t,"linefill","id1")}linefillGetLine2(t){return this.kindNum(t,"linefill","id2")}tableDelete(t){this.markDeleted(t)}polylineDelete(t){this.markDeleted(t)}linefillDelete(t){this.markDeleted(t)}copy(t){let e=this.byId.get(t);if(!e)return null;let r=Ey(e.extra);return this.push(e.kind,e.bar,{text:e.text,extra:r,cap:this.capFor(e.kind)})}exportForApi(){let t=[];for(let e of this.items){if(e.deleted)continue;let r={kind:e.kind,bar:e.bar};if(e.text!==void 0)r.text=e.text;if(e.extra!==void 0)r.extra={...e.extra};t.push(r)}return t}lineDelete(t){this.markDeleted(t)}labelDelete(t){this.markDeleted(t)}boxDelete(t){this.markDeleted(t)}push(t,e,r){let i=this.nextId++,n={kind:t,bar:$1(e)};if(r?.text!==void 0&&r.text!==null)n.text=String(r.text);let o=L0(r?.extra);if(o!==void 0)n.extra=o;if(this.items.push(n),this.byId.set(i,n),r?.cap!=null)this.gc(t,r.cap);return i}capFor(t){if(t==="line")return this.maxLines;if(t==="label")return this.maxLabels;if(t==="box")return this.maxBoxes;if(t==="polyline")return this.maxPolylines;return}setKindNum(t,e,r,i){let n=this.extraOf(t,e);if(!n)return;sr(n,r,i)}setKindAny(t,e,r,i){let n=this.extraOf(t,e);if(!n)return;jr(n,r,i)}kindNum(t,e,r){let i=this.byId.get(t);if(!i||i.kind!==e)return null;return this.extraNum(t,r)}cellRec(t,e,r){let i=this.extraOf(t,"table"),n=z1(e,r);if(!i||n==null)return;let o=i.cells;if(o==null||typeof o!=="object"||Array.isArray(o))return;let s=o[n];if(s==null||typeof s!=="object"||Array.isArray(s))return;return s}extraOf(t,e){let r=this.byId.get(t);if(!r)return;if(e!=null&&r.kind!==e)return;if(r.extra==null)r.extra={};return r.extra}lineGetNum(t,e){let r=this.byId.get(t);if(!r||r.kind!=="line")return null;let i=r.extra?.[e];return mn(i)?i:null}extraNum(t,e){let r=this.byId.get(t);if(!r)return null;let i=r.extra?.[e];return mn(i)?i:null}upsertCell(t,e,r,i,n){let o=this.extraOf(t,"table"),s=z1(e,r);if(!o||s==null)return;let h=o.cells,m=h!=null&&typeof h==="object"&&!Array.isArray(h)?h:{};if(m!==h)o.cells=m;let p=m[s],y=p!=null&&typeof p==="object"&&!Array.isArray(p)?p:{};if(n)y.text=i==null?"":String(i);else if(y.text===void 0)y.text="";m[s]=y}markDeleted(t){let e=this.byId.get(t);if(!e)return;e.deleted=!0}gc(t,e){let r=e>0?e:50,i=0;for(let o of this.items)if(o.kind===t&&!o.deleted)i++;let n=i-r;if(n<=0)return;for(let o=0;o<this.items.length&&n>0;){let s=this.items[o];if(s.kind===t&&!s.deleted)s.deleted=!0,this.items.splice(o,1),this.forget(s),n--;else o++}}forget(t){for(let[e,r]of this.byId)if(r===t){this.byId.delete(e);return}}}class ms{records=[];info(t,e){this.records.push({level:"INFO",bar:t,message:e})}warning(t,e){this.records.push({level:"WARNING",bar:t,message:e})}error(t,e){this.records.push({level:"ERROR",bar:t,message:e})}clear(){this.records.length=0}snapshot(){return this.records.slice()}}class I0 extends Error{name="RuntimeError";constructor(t){super(t)}}function Fa(t){throw new I0(t)}function Ii(t){if(t.length===0)return"";let e=t[0];if(typeof e==="string"&&t.length>1&&/\{[0-9]/.test(e))return e.replace(/\{(\d+)\}/g,(r,i)=>V1(t[Number(i)+1]));return t.map(V1).join(" ")}function V1(t){if(t==null)return"na";if(typeof t==="number"&&!Number.isFinite(t))return"na";return String(t)}class je{symbol;session;adjust;heikinashi=!1;renko=!1;kagi=!1;linebreak=!1;pointfigure=!1;constructor(t,e,r){this.symbol=t;this.session=e;this.adjust=r}toString(){return this.symbol}}function O0(t,e,r){return new je(t,e,r)}function P0(t){let e=new je(typeof t==="string"?t:String(t));return e.heikinashi=!0,e}function D0(t){return new je(t)}function F0(t){let e=new je(t);return e.renko=!0,e}function B0(t){let e=new je(typeof t==="string"?t:String(t));return e.kagi=!0,e}function U0(t){let e=new je(typeof t==="string"?t:String(t));return e.linebreak=!0,e}function q0(t){let e=new je(typeof t==="string"?t:String(t));return e.pointfigure=!0,e}function H0(t,e){let r=typeof t==="string"?new je(t):t,i=new je(e?.symbol??r.symbol,e?.session??r.session,e?.adjust??e?.adjustment??r.adjust);return i.heikinashi=r.heikinashi,i.renko=r.renko,i.kagi=r.kagi,i.linebreak=r.linebreak,i.pointfigure=r.pointfigure,i}var Ry=new Set(["input","input.bool","input.int","input.float","input.price","input.string","input.symbol","input.session","input.source","input.time","input.timeframe","input.color","input.enum","input.text_area"]);function j1(t){return t!=null&&Ry.has(t)}function Ay(t,e={}){if(e.defval!==void 0)return e.defval;return t[0]}function W1(t,e,r={}){let i=Ay(e,r);switch(t){case"input.bool":return i==null?!1:Boolean(i);case"input.int":case"input.time":return Ny(i,0);case"input.float":case"input.price":return G1(i,0);case"input.string":case"input.symbol":case"input.session":case"input.source":case"input.timeframe":case"input.color":case"input.enum":case"input.text_area":return i==null?"":String(i);default:return Ty(i)}}function $0(t){if(t==null)return null;if(typeof t==="boolean")return t?1:0;if(typeof t==="number")return Number.isFinite(t)?t:null;let e=Number(t);return Number.isFinite(e)?e:null}function Ty(t){if(t==null)return null;if(typeof t==="boolean"||typeof t==="string")return t;if(typeof t==="number")return Number.isFinite(t)?t:null;return null}function G1(t,e){if(typeof t==="number"&&Number.isFinite(t))return t;if(typeof t==="boolean")return t?1:0;if(typeof t==="string"&&t!==""){let r=Number(t);if(Number.isFinite(r))return r}return e}function Ny(t,e){return Math.trunc(G1(t,e))}function Fe(t){return t!==null&&Number.isFinite(t)?t:null}function er(t){return Number.isFinite(t)?t:null}function K1(t){return t>=0?Math.round(t):-Math.round(-t)}function Ba(t){let e=Fe(t);return e===null?null:Math.abs(e)}function Ua(t){let e=Fe(t);if(e===null)return null;if(e>0)return 1;if(e<0)return-1;return 0}function qa(t){let e=Fe(t);if(e===null||e<0)return null;return er(Math.sqrt(e))}function Q1(t,e){let r=Fe(t);if(r===null||r<=0)return null;if(e===void 0)return er(Math.log(r));let i=Fe(e);if(i===null||i<=0||i===1)return null;return er(Math.log(r)/Math.log(i))}function Ha(t){let e=Fe(t);if(e===null||e<=0)return null;return er(Math.log10(e))}function $a(t){let e=Fe(t);return e===null?null:er(Math.exp(e))}function za(t,e){let r=Fe(t),i=Fe(e);if(r===null||i===null)return null;return er(Math.pow(r,i))}function Va(...t){if(t.length===0)return null;let e=-1/0;for(let r of t){let i=Fe(r);if(i===null)return null;if(i>e)e=i}return er(e)}function ja(...t){if(t.length===0)return null;let e=1/0;for(let r of t){let i=Fe(r);if(i===null)return null;if(i<e)e=i}return er(e)}function Wa(t,e){let r=Fe(t);if(r===null)return null;if(e===void 0)return K1(r);let i=Fe(e);if(i===null)return null;let n=10**Math.trunc(i);if(!Number.isFinite(n))return null;return er(K1(r*n)/n)}function Ga(t){let e=Fe(t);return e===null?null:Math.floor(e)}function Ka(t){let e=Fe(t);return e===null?null:Math.ceil(e)}function Qa(...t){if(t.length===0)return null;let e=0;for(let r of t){let i=Fe(r);if(i===null)return null;e+=i}return er(e/t.length)}function Y1(...t){if(t.length===0)return null;let e=0;for(let r of t){let i=Fe(r);if(i===null)return null;e+=i}return er(e)}function Ya(t,e){let r=Fe(t);return r===null?null:er(e(r))}function Za(t){return Ya(t,Math.sin)}function Xa(t){return Ya(t,Math.cos)}function Ja(t){return Ya(t,Math.tan)}function tu(t){let e=Fe(t);if(e===null||e<-1||e>1)return null;return er(Math.asin(e))}function eu(t){let e=Fe(t);if(e===null||e<-1||e>1)return null;return er(Math.acos(e))}function ru(t){return Ya(t,Math.atan)}function nu(t){let e=Fe(t);return e===null?null:er(e*180/Math.PI)}function iu(t){let e=Fe(t);return e===null?null:er(e*Math.PI/180)}function Z1(t){if(t===null)return null;return Number.isFinite(t)?1:0}function su(t,e=0.01){let r=Fe(t),i=Fe(e);if(r===null||i===null||i<=0)return r===null?null:er(Number(r.toFixed(8)));return er(Math.round(r/i)*i)}function X1(t,e,r){if(t===null||!Number.isFinite(t))return null;return t?e:r}function J1(t){if(t===null||!Number.isFinite(t))return 0;return t}function tm(t,e,r=Math.random){if(t===void 0&&e===void 0)return er(r());if(e===void 0){let o=Fe(t);if(o===null)return null;return er(o*r())}let i=Fe(t),n=Fe(e);if(i===null||n===null)return null;return er(i+(n-i)*r())}function Pi(t){let e=Number.isFinite(t)?Math.trunc(t/1000):0;if(e<-62167219200)e=-62167219200;else if(e>253402300799)e=253402300799;let r=Math.trunc(e/86400),i=e%86400;if(i<0)r-=1,i+=86400;let n=Math.trunc(i/3600);i%=3600;let o=Math.trunc(i/60),s=i%60,m=(((r+3)%7+7)%7+1)%7+1,p=r+719468,y=Math.trunc((p>=0?p:p-146096)/146097),_=p-y*146097,v=Math.trunc((_-Math.trunc(_/1460)+Math.trunc(_/36524)-Math.trunc(_/146096))/365),C=v+y*400,M=_-(365*v+Math.trunc(v/4)-Math.trunc(v/100)),A=Math.trunc((5*M+2)/153),k=M-Math.trunc((153*A+2)/5)+1,R=A<10?A+3:A-9;return{year:C+(R<=2?1:0),month:R,dayofmonth:k,hour:n,minute:o,second:s,dayofweek:m}}var em=86400000,W0=86400,rm={jan:1,january:1,feb:2,february:2,mar:3,march:3,apr:4,april:4,may:5,jun:6,june:6,jul:7,july:7,aug:8,august:8,sep:9,september:9,oct:10,october:10,nov:11,november:11,dec:12,december:12};function Oi(t,e){return Math.floor(t/e)}function sm(t,e){return(t%e+e)%e}function Q0(t,e,r){t-=e<=2?1:0;let i=Oi(t>=0?t:t-399,400),n=t-i*400,o=Oi(153*(e+(e>2?-3:9))+2,5)+r-1,s=n*365+Oi(n,4)-Oi(n,100)+o;return i*146097+s-719468}function Ly(t){return t%4===0&&(t%100!==0||t%400===0)}function Iy(t,e){if(e===2)return Ly(t)?29:28;return e===4||e===6||e===9||e===11?30:31}function Oy(t,e,r,i,n,o){return(Q0(t,e,r)*W0+i*3600+n*60+o)*1000}function Py(t,e){let r=t,i=e;if(i===0)i=1;else if(i<1||i>12){let n=i-1;r+=Oi(n,12),i=sm(n,12)+1}if(r<1)r=1;else if(r>9999)r=9999;return[r,i]}function lu(t){if(t==null)return null;if(typeof t==="number")return Number.isFinite(t)?Math.trunc(t):null;if(typeof t==="string"){let e=t.trim();if(!e)return null;let r=Number(e);return Number.isFinite(r)?Math.trunc(r):null}return null}function z0(t,e=0){if(t==null)return e;if(typeof t==="number")return Number.isFinite(t)?Math.trunc(t):e;if(typeof t==="string"){let r=t.trim();if(!r)return e;let i=Number(r);return Number.isFinite(i)?Math.trunc(i):e}return e}function gs(t,e,r){return(t==="+"?1:-1)*(e*60+r)}function V0(t,e){if(!e||e.length>4||!/^\d+$/.test(e))return null;if(e.length<=2)return gs(t,Number(e),0);let r=e.padStart(4,"0");return gs(t,Number(r.slice(0,2)),Number(r.slice(2)))}function Dy(t){let e=t.trim();if(!e||/^(?:syminfo\.timezone|UTC|utc|Etc\/UTC|GMT|gmt)$/.test(e))return 0;let r=/^(?:(?:UTC|GMT)\s*)?([+-])\s*(\d{1,2})(?::(\d{2})|(\d{2}))?$/i.exec(e);if(!r)return 0;return gs(r[1],Number(r[2]),Number(r[3]||r[4]||0))}function nm(t){let e=t.trim().replace(/\s+/g," ");return e=e.replace(/\b0000-/,"0001-"),e=e.replace(/(\d{4}-\d{2}-\d{2}):(\d{1,2}:\d{2})/,"$1 $2"),e=e.replace(/(\d)([A-Za-z]{3,})/g,"$1 $2"),e=e.replace(/\bSept\b/gi,"Sep"),e=e.replace(/\bJanv\b/gi,"Jan"),e}function Fy(t){let e=0,r=/^(?:UTC|GMT)\s+/i.exec(t);if(r)t=t.slice(r[0].length).trim();let i=/\s*(?:GMT|UTC)\s*([+-])(\d{1,2})(?::?(\d{2}))?\s*$/i.exec(t);if(i&&i.index!==void 0)return e=gs(i[1],Number(i[2]),i[3]?Number(i[3]):0),{date:t.slice(0,i.index).trim(),offsetMin:e};if(i=/Z\s*$/i.exec(t),i&&t.length>1&&i.index!==void 0)return{date:t.slice(0,i.index).trim(),offsetMin:e};if(i=/\s+([+-])(\d{1,2}):(\d{2})\s*$/.exec(t),i&&i.index!==void 0)return e=gs(i[1],Number(i[2]),Number(i[3])),{date:t.slice(0,i.index).trim(),offsetMin:e};if(i=/\s+([+-])(\d{1,4})\s*$/.exec(t),i&&i.index!==void 0){let n=V0(i[1],i[2]);if(n!=null)return{date:t.slice(0,i.index).trim(),offsetMin:n}}if(i=/(?<=\d)([+-])(\d{2}):(\d{2})\s*$/.exec(t),i&&i.index!==void 0)return e=gs(i[1],Number(i[2]),Number(i[3])),{date:t.slice(0,i.index).trim(),offsetMin:e};if(i=/(?<=\d)([+-])(\d{4})\s*$/.exec(t),i&&i.index!==void 0){let n=V0(i[1],i[2]);if(n!=null)return{date:t.slice(0,i.index).trim(),offsetMin:n}}if(i=/(?<=\d)([+-])(\d{2})\s*$/.exec(t),i&&i.index!==void 0){let n=t.slice(0,i.index);if(/\d{1,2}:\d{2}$/.test(n)||n.endsWith("T")||/T\d/.test(n)){let o=V0(i[1],i[2]);if(o!=null)return{date:n.trim(),offsetMin:o}}}return{date:t.replace(/\s+(?:GMT|UTC)\s*$/i,"").trim(),offsetMin:e}}function ou(t,e,r,i,n,o){if(t<1||t>9999)return null;if(e<1||e>12)return null;if(r<1||r>Iy(t,e))return null;if(i<0||i>23||n<0||n>59||o<0||o>59)return null;return Oy(t,e,r,i,n,o)}function By(t){let e=/^([A-Za-z]+)\s+(\d{1,2}),?\s+(\d{4})(?:\s+(\d{1,2}):(\d{2})(?::(\d{2}))?)?$/.exec(t);if(e){let r=rm[e[1].toLowerCase()];if(r==null)return null;return ou(Number(e[3]),r,Number(e[2]),Number(e[4]??0),Number(e[5]??0),Number(e[6]??0))}if(e=/^(\d{1,2})\s+([A-Za-z]+),?\s+(\d{4})(?:\s+(\d{1,2}):(\d{2})(?::(\d{2}))?)?$/.exec(t),e){let r=rm[e[2].toLowerCase()];if(r==null)return null;return ou(Number(e[3]),r,Number(e[1]),Number(e[4]??0),Number(e[5]??0),Number(e[6]??0))}if(e=/^(\d{4})-(\d{2})-(\d{2})(?:[ T](\d{1,2}):(\d{2})(?::(\d{2}))?)?$/.exec(t),e)return ou(Number(e[1]),Number(e[2]),Number(e[3]),Number(e[4]??0),Number(e[5]??0),Number(e[6]??0));if(e=/^(\d{4})\s+(\d{1,2})\s+(\d{1,2})(?:\s+(\d{1,2}):(\d{2})(?::(\d{2}))?)?$/.exec(t),e)return ou(Number(e[1]),Number(e[2]),Number(e[3]),Number(e[4]??0),Number(e[5]??0),Number(e[6]??0));return null}function im(t,e){let r=By(t);if(r==null)return null;return r-e*60000}function om(t,e,r){return Q0(t,e,r)+719163}function j0(t){let e=om(t,1,1),r=sm(e+6,7),i=e-r;if(r>3)i+=7;return i}function Uy(t,e,r){let i=om(t,e,r),n=j0(t),o=Oi(i-n,7);if(o<0)n=j0(t-1),o=Oi(i-n,7);else if(o>=52&&i>=j0(t+1))o=0;return o+1}function G0(t,e,r,i=0,n=0,o=0,s){let h=lu(t),m=lu(e),p=lu(r);if(h==null||m==null||p==null)return null;let y=z0(i,0),_=z0(n,0),v=z0(o,0),[C,M]=Py(h,m),k=Q0(C,M,1)*W0+(p-1)*W0+y*3600+_*60+v;if(s!=null&&Number.isFinite(s))k-=Math.trunc(s)*60;return k*1000}function K0(t){let e=t.trim();if(!e)return null;let r=nm(e),i=im(r,0);if(i!=null)return i;let n=Fy(r),o=nm(n.date);if(!o)return null;return im(o,n.offsetMin)}function xo(...t){let e=t.length;if(e===0)return null;if(e===1){let r=t[0];if(typeof r==="string")return K0(r);return lu(r)}if(typeof t[0]==="string"){let r=t[0].trim(),i=r!==""&&/^[+-]?\d+(?:\.\d+)?$/.test(r);if(e>=4&&!i)return G0(t[1],t[2],t[3],e>4?t[4]:0,e>5?t[5]:0,e>6?t[6]:0,Dy(t[0]));if(e<4)return K0(t[0])}if(e>=3)return G0(t[0],t[1],t[2],e>3?t[3]:0,e>4?t[4]:0,e>5?t[5]:0);return null}function wo(t){if(!Number.isFinite(t))return null;let e=Pi(t);return Uy(e.year,e.month,e.dayofmonth)}function vo(t){if(!Number.isFinite(t))return null;return Math.floor(t/em)*em}function Y0(t){if(t==null||typeof t!=="object"||Array.isArray(t))return!1;let e=Object.getPrototypeOf(t);return e===Object.prototype||e===null}function So(t){if(t==null)return null;if(typeof t==="boolean")return t?1:0;if(typeof t==="number"){if(!Number.isFinite(t))return null;return Math.trunc(t)}if(typeof t==="bigint"){let e=Number(t);if(!Number.isFinite(e))return null;return Math.trunc(e)}if(typeof t==="string"){let e=t.trim();if(!/^[+-]?\d+$/.test(e))return null;let r=Number(e);if(!Number.isFinite(r))return null;return Math.trunc(r)}return null}function lm(t,e,r){let i=t.slice();for(let[n,o]of Object.entries(e)){let s=r.indexOf(n);if(s<0)continue;while(i.length<=s)i.push(null);if(s<t.length&&t[s]!=null)continue;i[s]=o}return i}function am(t,e){if(e!==void 0)return{args:t,kwargs:e};if(t.length===0)return{args:[],kwargs:{}};if(t.length===1&&Y0(t[0]))return{args:[],kwargs:t[0]};if(Array.isArray(t[0])&&(t.length===1||t.length===2)&&(t[1]===void 0||Y0(t[1])))return{args:t[0],kwargs:t[1]??{}};let r=t[t.length-1];if(t.length>1&&Y0(r))return{args:t.slice(0,-1),kwargs:r};return{args:t,kwargs:{}}}function um(t,e){let r=["dimension_x","dimension_y","index_x","index_y"],i={dim_x:"dimension_x",dim_y:"dimension_y",ix:"index_x",iy:"index_y"},n={};for(let[p,y]of Object.entries(e))n[i[p]??p]=y;let o=lm(t,n,r);if(o.length<4)return null;let s=So(o[1]),h=So(o[2]),m=So(o[3]);if(s==null||h==null||m==null)return null;return h*s+m}function cm(t,e){let r=["dimension_x","dimension_y","index"],i={dim_x:"dimension_x",dim_y:"dimension_y",i:"index"},n={};for(let[y,_]of Object.entries(e))n[i[y]??y]=_;let o=lm(t,n,r);if(o.length<3)return null;let s=So(o[1]),h=So(o[2]);if(s==null||h==null||s===0)return null;let m=Math.floor(h/s),p=(h%s+s)%s;return[m,p]}function qy(...t){let e=am(t);return um(e.args,e.kwargs)}function Hy(...t){let e=am(t);return cm(e.args,e.kwargs)}var hi={index_2d_to_1d:qy,index_1d_to_2d:Hy};function $y(t,e=[],r={}){if(t==="index_2d_to_1d")return um(e,r);if(t==="index_1d_to_2d")return cm(e,r);let i=hi[t];if(i==null)return;return i(e,r)}function zy(t){if(t==null)return new Map;if(t instanceof Map)return t;return new Map(Object.entries(t))}class fi{title;namespace;version;exports;kinds;resolveStubs;constructor(t,e){this.title=t,this.namespace=e?.namespace??null,this.version=e?.version??null,this.exports=zy(e?.exports),this.kinds=new Map,this.resolveStubs=e?.resolveStubs===!0}get(t){if(this.exports.has(t))return this.exports.get(t);if(this.resolveStubs&&Object.hasOwn(hi,t))return hi[t];return}has(t){if(this.exports.has(t))return!0;return this.resolveStubs&&Object.hasOwn(hi,t)}setExport(t,e){this.putExport(t,e,"const")}exportType(t,e){this.putExport(t,e,"type")}exportEnum(t,e){this.putExport(t,e,"enum")}exportFn(t,e){this.putExport(t,e,"fn")}kindOf(t){let e=this.kinds.get(t);if(e!==void 0)return e;if(this.resolveStubs&&Object.hasOwn(hi,t))return"fn";return}allExports(){let t={};for(let[e,r]of this.exports)t[e]=r;return t}putExport(t,e,r){this.exports.set(t,e),this.kinds.set(t,r)}}function Z0(t){return new fi(t,{resolveStubs:!0})}function au(t,e,r){return`${t}\x00${e}\x00${Math.trunc(r)}`}class _s{byPath=new Map;byTitle=new Map;sources=new Map;register(t){if(this.byTitle.set(t.title,t),t.namespace!=null&&t.version!=null)this.byPath.set(au(t.namespace,t.title,t.version),t)}registerSource(t,e,r,i){this.sources.set(au(t,e,Math.trunc(r)),i)}getSource(t,e,r){return this.sources.get(au(t,e,Math.trunc(r)))??null}lookup(t){let{namespace:e,name:r,version:i}=t;if(e!=null&&i!=null){let n=this.byPath.get(au(e,r,i));if(n!=null)return n}return this.byTitle.get(r)??null}clear(){this.byPath.clear(),this.byTitle.clear(),this.sources.clear()}}var U=null;class bs{data=[];push(t){this.data.push(t)}setCurrent(t){if(this.data.length===0)this.data.push(t);else this.data[this.data.length-1]=t}get current(){return this.data.length===0?null:this.data[this.data.length-1]}get(t){if(typeof t!=="number"||!Number.isFinite(t)||t<0)return null;let e=this.data.length;if(e===0)return null;let r=e-1-Math.trunc(t);if(r<0||r>=e)return null;let i=this.data[r];if(i==null)return null;if(typeof i==="number"&&!Number.isFinite(i))return null;return i}get length(){return this.data.length}}function Oe(t){if(t==null)return null;return typeof t==="string"?t:String(t)}function ys(t){return Oe(t)??""}function Co(t){let e=Oe(t);return e==null?null:e.length}function Mo(t,e){let r=Oe(t),i=Oe(e);if(r==null||i==null)return null;return r.includes(i)}function ko(t){let e=Oe(t);return e==null?null:e.toUpperCase()}function Eo(t){let e=Oe(t);return e==null?null:e.toLowerCase()}function Ro(t,e,r,i){if(t==null)return null;let n=Oe(t)??"",o=Oe(e)??"",s=Oe(r)??"",h=typeof i==="number"&&Number.isFinite(i)?Math.trunc(i):0;if(h<0)return n;if(o===""){if(h>n.length)return n;return n.slice(0,h)+s+n.slice(h)}let m=0;for(let p=0;p<=h;p++){let y=n.indexOf(o,m);if(y<0)return n;if(p===h)return n.slice(0,y)+s+n.slice(y+o.length);m=y+o.length}return n}function X0(t){if(t==null)return null;if(typeof t==="boolean")return t?1:0;if(typeof t==="number")return Number.isFinite(t)?Math.trunc(t):null;if(typeof t==="string"){let e=Number(t.trim());return Number.isFinite(e)?Math.trunc(e):null}return null}function Vy(t){if(t===0)return"0";let e=t.toPrecision(6);if(/[eE]/.test(e))return e.replace(/\.?0+([eE])/,"$1");return String(Number(e))}function Ao(t,e){let r=Oe(t),i=Oe(e);if(r==null||i==null)return null;return r.startsWith(i)}function To(t,e){let r=Oe(t),i=Oe(e);if(r==null||i==null)return null;return r.endsWith(i)}function No(t,e,r){if(t==null)return null;let i=Oe(t)??"";if(e==null)return null;let n=X0(e);if(n==null)return null;if(r===void 0)return i.slice(n);if(r==null)return null;let o=X0(r);if(o==null)return null;return i.slice(n,o)}var jy=1e6;function fm(t,e){if(t==null||e==null)return null;let r=Oe(t)??"",i=X0(e);if(i==null)return null;if(i<0)i=0;if(r.length>0&&i>Math.floor(jy/r.length))return null;return r.repeat(i)}function Lo(t){let e=Oe(t);return e==null?null:e.trim()}function dm(t,e){let r=t==null?"":Oe(t)??"";if(e===void 0||e==null){let n=r.trim();return n===""?[]:n.split(/\s+/)}let i=Oe(e)??"";if(i==="")return[...r];return r.split(i)}function Io(t){if(t==null)return null;if(typeof t==="boolean")return t?1:0;if(typeof t==="number")return Number.isFinite(t)?t:null;let e=(Oe(t)??"").trim();if(!e)return null;let r=Number(e);return Number.isFinite(r)?r:null}function pm(t,e){let r=Oe(t),i=Oe(e);if(r==null||i==null)return null;return r.indexOf(i)}function mm(t,e){let r=Oe(t),i=Oe(e);if(r==null||i==null)return null;try{let n=r.match(new RegExp(i));return n==null?null:n[0]}catch{return null}}var hm="yyyy-MM-dd'T'HH:mm:ssZ",Wy=["January","February","March","April","May","June","July","August","September","October","November","December"],Gy=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function di(t){return t<10?`0${t}`:String(t)}function Ky(t){let e=new Date(t);return{year:e.getUTCFullYear(),month:e.getUTCMonth()+1,day:e.getUTCDate(),hour:e.getUTCHours(),minute:e.getUTCMinutes(),second:e.getUTCSeconds()}}function Qy(t){let e=t;if(Array.isArray(e))e=e.length?e[e.length-1]:null;if(typeof e!=="string")return 0;let r=e.trim();if(!r||r==="syminfo.timezone"||r==="UTC"||r==="utc"||r==="Etc/UTC"||r==="GMT")return 0;if(r.toUpperCase().includes("GMT")||r.startsWith("UTC+")||r.startsWith("UTC-")||r.startsWith("utc+")||r.startsWith("utc-")){let i=r.toUpperCase().replaceAll("GMT","").replaceAll("UTC","").trim();if(!i||!/^[+-]?\d+$/.test(i))return 0;let n=Number.parseInt(i,10);return Number.isFinite(n)?n:0}return 0}function Yy(t){let e=t;if(e!=null&&typeof e==="object"&&"current"in e)e=e.current;if(e==null||typeof e==="boolean"||typeof e==="string")return null;if(typeof e!=="number"||!Number.isFinite(e))return null;let r=Math.trunc(e);if(r>0&&r<10000000000)r*=1000;return r}function Zy(t){return`${t>=0?"+":"-"}${di(Math.abs(t))}00`}function Xy(t){if(t===0)return"UTC";return`UTC${t>=0?"+":"-"}${di(Math.abs(t))}:00`}function Oo(t,e,r){let i=Yy(t);if(i==null)return"NaN";let n=e==null?hm:Oe(e)??hm,o=Qy(r),s=Ky(i+o*3600000),h=(s.hour-1)%12+1,m={yyyy:String(s.year),yy:String(s.year).slice(-2),MMMM:Wy[s.month-1]??"",MMM:Gy[s.month-1]??"",MM:di(s.month),M:String(s.month),dd:di(s.day),d:String(s.day),HH:di(s.hour),H:String(s.hour),hh:di(h),h:String(h),mm:di(s.minute),m:String(s.minute),ss:di(s.second),s:String(s.second),a:s.hour<12?"AM":"PM",zzz:Xy(o),z:Zy(o)},p=n;for(let y of Object.keys(m).sort((_,v)=>v.length-_.length))p=p.split(y).join(m[y]);return p.replaceAll("'","")}function Po(t,...e){if(t==null)return"NaN";return(typeof t==="string"?t:String(t)).replace(/\{([^{}]+)\}/g,(i,n)=>{let o=n.split(",").map((y)=>y.trim()),s=Number.parseInt(o[0]??"",10);if(!Number.isFinite(s))return i;if(s<0||s>=e.length)return"";let h=e[s];if(h==null)return"NaN";let m=(o[1]??"").toLowerCase(),p=o[2]??"";if(m===""||m==="string")return String(h);if(m==="number"){let y=typeof h==="number"?h:Number(h);if(!Number.isFinite(y))return String(h);if(p){if(p.includes(".")){let _=p.split(".",2)[1].length;return y.toFixed(_)}return String(Math.trunc(y))}return Vy(y)}if(m==="integer"){let y=typeof h==="number"?h:Number(h);if(!Number.isFinite(y))return String(h);return String(Math.trunc(y))}return String(h)})}function gm(t,e){if(t==null)return null;if(!Array.isArray(t))return null;let r=e==null?"":Oe(e)??"";return t.map((i)=>i==null?"":String(i)).join(r)}function Jy(t,e,r){if(e==="")return t;return t.split(e).join(r)}function _m(t,e,r){if(t==null)return null;let i=Oe(t)??"",n=Oe(e)??"",o=Oe(r)??"";return Jy(i,n,o)}function J0(t){return typeof t==="object"&&t!==null&&t._pine_qty_type==="cash"}function vm(t){return{value:kt(t)?t:0,_pine_qty_type:"cash"}}function kt(t){return typeof t==="number"&&Number.isFinite(t)}function Pn(t){return kt(t)?t:null}function Sm(t){return t.trail_offset!=null&&t.trail_offset>0}function t6(t,e,r,i){let n=e!=null&&e>0?e:r!=null&&r>0?r:null;if(n==null)return{activation:null,offsetPx:null};let o=kt(i)&&i>0?i:0.01,s=n*o;if(!kt(s)||s<=0)return{activation:null,offsetPx:null};return{activation:t,offsetPx:s}}function bm(t,e,r,i,n){if(t==null||e==null)return null;if(t<=0||!kt(t)||!kt(e))return null;let o=kt(r)&&r>0?r:0.01,s=t*o;if(!kt(s)||s<=0)return null;if(i)return n?e+s:e-s;return n?e-s:e+s}function e6(t,e,r){if(!Sm(t))return;let{trail_offset:i,direction:n}=t;if(!t.trail_active){let o=t.trail_activation;if(o==null)t.trail_active=!0;else if(n==="short"&&e>=o)t.trail_active=!0;else if(n==="long"&&r<=o)t.trail_active=!0;else return}if(n==="short"){let o=e-i;if(t.stop==null||o>t.stop)t.stop=o}else if(n==="long"){let o=r+i;if(t.stop==null||o<t.stop)t.stop=o}}function r6(t,e,r,i){let{limit:n,stop:o,direction:s}=t;if(n!=null&&o!=null){if(s==="long"&&r>=o&&i<=n)return n;if(s==="short"&&i<=o&&r>=n)return n;return null}if(n!=null){if(s==="long"&&i<=n)return Math.min(n,e);if(s==="short"&&r>=n)return Math.max(n,e);return null}if(o!=null){if(s==="long"&&r>=o)return Math.max(o,e);if(s==="short"&&i<=o)return Math.min(o,e);return null}return null}function ym(t,e){return kt(t)?t:e}function xm(t){if(t==null||!kt(t))return;return Math.max(0,Math.trunc(t))}function n6(t,e="stock"){if(t==null)return e;let r=String(t).replace(/strategy\./gi,"").replace(/avg_price_/gi,"").trim().toLowerCase();if(!r||r==="nan"||r==="na"||r==="none")return e;if(r==="stock"||r==="pine"||r==="average"||r==="avg"||r==="lot"||r==="fifo")return"stock";if(r==="futures"||r==="future"||r==="perp"||r==="perpetual"||r==="net"||r==="linear")return"futures";if(r==="inverse"||r==="coin"||r==="coin_m"||r==="harmonic")return"inverse";return e}function cu(t,e){if(t==null)return e;if(typeof t==="boolean")return t?1:0;if(typeof t==="number")return Number.isFinite(t)?t:e;if(typeof t==="string"){let r=Number(t);return Number.isFinite(r)?r:e}return e}function i6(t,e=1){let r=cu(t,e);if(r<=0)return e;if(r<1)return 1;return r}function s6(t){if(t==null||typeof t!=="object")return;let e=t._pine_qty_type;return typeof e==="string"?e:void 0}function o6(t){if(t==null)return;let e=s6(t);if(e==="cash"||e==="fixed"||e==="percent_of_equity")return e;if(typeof t==="number")return;let r=String(t).replace(/strategy\./gi,"").trim().toLowerCase();if(r==="percent"||r==="percentage")r="percent_of_equity";if(r==="fixed"||r==="percent_of_equity"||r==="cash")return r;return}function uu(t){if(t===1||t==="1")return"long";if(t===-1||t==="-1")return"short";let e=String(t??"").toLowerCase();if(e.includes("long"))return"long";if(e.includes("short"))return"short";return"long"}function wm(t){let e=Math.trunc(t);if(e>10000000000)return Math.trunc(e/86400000);if(e>1e7)return Math.trunc(e/86400);return e}function l6(t){let e=String(t??"none").trim().toLowerCase();if(e==="cancel"||e==="oca.cancel"||e==="strategy.oca.cancel")return"cancel";if(e==="reduce"||e==="oca.reduce"||e==="strategy.oca.reduce")return"reduce";return"none"}class Do{events=[];position={qty:0,avgPrice:null};fills=[];pending=[];openTrades=[];closedTrades=[];commissionPaid=0;realizedPnl=0;closedCount=0;wintrades=0;losstrades=0;eventrades=0;grossprofit=0;grossloss=0;initialCapital=1e6;mintick=0.01;avg_price_model="stock";leverage=1;margin_long=100;margin_short=100;default_qty_type="fixed";default_qty_value=1;account_currency="USD";position_entry_name="";closedtrades_first_index=0;allow_entry_in="all";max_position_size_percent;max_drawdown_risk;max_drawdown_risk_percent;max_cons_loss_days;max_intraday_loss=Number.POSITIVE_INFINITY;max_intraday_filled_orders;entries_blocked=!1;consecutive_loss_days=0;get opentrades(){return this.openTrades.length}get closedtrades(){return this.closedTrades.length}commission;slippage;pyramiding;sameDirAdds=0;lastTradeDay=null;dayPnl=0;fillsDay=null;dayFilledOrders=0;equityPeak;equityTrough;maxDrawdownAbs=0;maxDdPercent=0;maxRunupAbs=0;maxRuPercent=0;maxHeldAll=0;maxHeldLong=0;maxHeldShort=0;constructor(t){if(this.commission=ym(t?.commission,0),this.slippage=ym(t?.slippage,0),this.pyramiding=xm(t?.pyramiding),this.equityPeak=this.initialCapital,this.equityTrough=this.initialCapital,t)this.applyDeclSettings(t)}capitalHeld(){let t=0;for(let r of this.openTrades){let i=Math.abs(r.entryPrice*r.qty);if(kt(i))t+=i}let e=this.leverage&&this.leverage>0?this.leverage:1;return t/e}cash(t){return this.equity(t)-this.capitalHeld()}equity(t){this.ensureSanePosition();let e=this.position.qty,r=this.position.avgPrice,i=kt(this.realizedPnl)?this.realizedPnl:0,n=kt(this.commissionPaid)?this.commissionPaid:0,o=e===0||!kt(r)||!kt(t)?0:e*(t-r),s=this.initialCapital+i-n+o;return this.trackEquityCurve(s),s}closedTrade(t){return this.pickTrade(this.closedTrades,t)}openTrade(t){return this.pickTrade(this.openTrades,t)}closedEntryBar(t){return this.closedTrade(t)?.entryBar??null}closedEntryPrice(t){return this.closedTrade(t)?.entryPrice??null}closedExitBar(t){return this.closedTrade(t)?.exitBar??null}closedExitPrice(t){return this.closedTrade(t)?.exitPrice??null}closedProfit(t){let e=this.closedTrade(t);return e!=null&&e.profit!==void 0?e.profit:null}closedSize(t){return this.closedTrade(t)?.qty??null}closedId(t){return this.closedTrade(t)?.id??null}closedCommission(t){return this.closedTrade(t)?.commission??null}closedEntryTime(t){return this.closedTrade(t)?.entryTime??0}closedExitTime(t){return this.closedTrade(t)?.exitTime??0}closedEntryComment(t){let e=this.closedTrade(t);return e==null?"":String(e.entry_comment??e.comment??"")}closedExitComment(t){return this.closedTrade(t)?.exit_comment??""}closedMaxDrawdown(t){return this.closedTrade(t)?.max_drawdown??0}closedMaxRunup(t){return this.closedTrade(t)?.max_runup??0}openEntryBar(t){return this.openTrade(t)?.entryBar??null}openEntryPrice(t){return this.openTrade(t)?.entryPrice??null}openSize(t){return this.openTrade(t)?.qty??null}openId(t){return this.openTrade(t)?.id??null}openProfit(t,e){let r=this.openTrade(t);if(r==null||!kt(e))return null;return this.markProfit(r,e)}openEntryTime(t){return this.openTrade(t)?.entryTime??0}openEntryComment(t){let e=this.openTrade(t);return e==null?"":String(e.entry_comment??e.comment??"")}openCommission(t){return this.openTrade(t)?.commission??0}openMaxDrawdown(t){return this.openTrade(t)?.max_drawdown??0}openMaxRunup(t){return this.openTrade(t)?.max_runup??0}avgTrade(){let t=this.closedTrades.length;return t===0?0:(this.grossprofit-this.grossloss)/t}avgWinningTrade(){return this.wintrades===0?0:this.grossprofit/this.wintrades}avgLosingTrade(){return this.losstrades===0?0:this.grossloss/this.losstrades}netprofit(){return kt(this.realizedPnl)?this.realizedPnl:0}netprofitPercent(t){return this.pctOfInitial(this.netprofit())}openprofit(t){this.ensureSanePosition();let e=this.position.qty,r=this.position.avgPrice;if(e===0||!kt(r)||!kt(t))return 0;return e*(t-r)}openprofitPercent(t){return this.pctOfInitial(this.openprofit(t))}grossprofitPercent(){return this.pctOfInitial(this.grossprofit)}grosslossPercent(){return this.pctOfInitial(this.grossloss)}avgTradePercent(){return this.pctOfInitial(this.avgTrade())}avgWinningTradePercent(){return this.pctOfInitial(this.avgWinningTrade())}avgLosingTradePercent(){return this.pctOfInitial(this.avgLosingTrade())}maxDrawdown(){return this.maxDrawdownAbs}maxDrawdownPercent(){return this.maxDdPercent}maxRunup(){return this.maxRunupAbs}maxRunupPercent(){return this.maxRuPercent}percentProfitable(){let t=this.closedTrades.length;return t===0?0:100*this.wintrades/t}profitFactor(){let t=this.grossprofit,e=this.grossloss;if(!kt(t)||!kt(e))return 0;if(e>0)return t/e;return t>0?999.99:0}maxContractsHeldAll(){return this.maxHeldAll}maxContractsHeldLong(){return this.maxHeldLong}maxContractsHeldShort(){return this.maxHeldShort}summary(t){return{netprofit:this.netprofit(),netprofitPercent:this.netprofitPercent(t),openprofit:this.openprofit(t),equity:this.equity(t),wintrades:this.wintrades,losstrades:this.losstrades,eventrades:this.eventrades,closedtrades:this.closedtrades,opentrades:this.opentrades,grossprofit:this.grossprofit,grossloss:this.grossloss,avgTrade:this.avgTrade(),avgWinningTrade:this.avgWinningTrade(),avgLosingTrade:this.avgLosingTrade(),percentProfitable:this.percentProfitable(),profitFactor:this.profitFactor(),maxDrawdown:this.maxDrawdown(),maxDrawdownPercent:this.maxDrawdownPercent(),maxRunup:this.maxRunup(),maxRunupPercent:this.maxRunupPercent(),initialCapital:this.initialCapital}}markOpenTrades(t,e,r){if(this.openTrades.length===0)return;for(let i of this.openTrades){let n=i.direction==="long"?kt(t)?t:r:kt(e)?e:r,o=i.direction==="long"?kt(e)?e:r:kt(t)?t:r;if(kt(n)){let s=this.markProfit(i,n);if(s>0)i.max_runup=Math.max(i.max_runup??0,s)}if(kt(o)){let s=this.markProfit(i,o);if(s<0)i.max_drawdown=Math.max(i.max_drawdown??0,-s)}}}configure(t){if(kt(t.commission))this.commission=t.commission;if(kt(t.slippage))this.slippage=t.slippage;if(t.pyramiding!==void 0){let e=xm(t.pyramiding);if(e!==void 0||t.pyramiding==null)this.pyramiding=e}this.applyDeclSettings(t)}resolveDefaultQty(t){let e=this.default_qty_type||"fixed",r=kt(this.default_qty_value)?this.default_qty_value:0,i=kt(t)&&t>0?t:1,n=this.leverage&&this.leverage>0?this.leverage:1;if(e==="percent_of_equity"){let o=this.equity(i)*(r/100);return Math.max(0,o*n/i)}if(e==="cash")return Math.max(0,r*n/i);return Math.max(0,r>0?r:1)}marginLiquidationPrice(){this.ensureSanePosition();let t=this.position.qty,e=this.position.avgPrice;if(t===0||!kt(e)||e<=0)return null;let r=this.leverage&&this.leverage>0?this.leverage:1;if(r<=1)return null;return t>0?e*(1-1/r):e*(1+1/r)}applyDeclSettings(t){if(t.avg_price_model!=null)this.avg_price_model=n6(t.avg_price_model);if(t.default_qty_type!=null){let n=o6(t.default_qty_type);if(n)this.default_qty_type=n}if(t.default_qty_value!=null){let n=cu(t.default_qty_value,Number.NaN);if(Number.isFinite(n))this.default_qty_value=n}if(typeof t.currency==="string"&&t.currency!=="")this.account_currency=t.currency;let e=t.leverage!=null,r=t.margin_long!=null,i=t.margin_short!=null;if(e)this.leverage=i6(t.leverage),this.margin_long=100/this.leverage,this.margin_short=100/this.leverage;if(r){let n=cu(t.margin_long,100);if(n>0){if(this.margin_long=n,!e)this.leverage=Math.max(1,100/n)}}if(i){let n=cu(t.margin_short,100);if(n>0){if(this.margin_short=n,!e&&!r)this.leverage=Math.max(1,100/n);else if(!e&&r)this.leverage=Math.max(1,100/Math.max(this.margin_long,this.margin_short))}}}riskAllowEntryIn(t="all"){let e=String(t??"all").replace(/strategy\./gi,"").trim().toLowerCase();this.allow_entry_in=e==="long"||e==="short"||e==="all"?e:"all"}riskMaxPositionSize(t){if(t==null||!kt(t)||t<=0)return;this.max_position_size_percent=t}riskMaxDrawdown(t,e="absolute"){if(t==null||!kt(t)||t<0)return;let r=String(e??"absolute").replace(/strategy\./gi,"").trim().toLowerCase();if(r==="percent"||r==="percentage"||r==="percent_of_equity"||r==="%")this.max_drawdown_risk_percent=t;else this.max_drawdown_risk=t}riskMaxConsLossDays(t){if(t==null||!kt(t))return;let e=Math.trunc(t);if(e<0)return;this.max_cons_loss_days=e}riskMaxIntradayLoss(t){if(t==null||!kt(t)||t<0)return;this.max_intraday_loss=t}riskMaxIntradayFilledOrders(t){if(t==null||!kt(t))return;let e=Math.trunc(t);if(e<0)return;this.max_intraday_filled_orders=e}noteClosedTradeDay(t,e){if(!kt(t)||!kt(e))return;let r=wm(t);if(this.lastTradeDay==null||r!==this.lastTradeDay){if(this.lastTradeDay!=null){if(this.dayPnl<0)this.consecutive_loss_days+=1;else if(this.dayPnl>0)this.consecutive_loss_days=0}this.lastTradeDay=r,this.dayPnl=0}if(this.dayPnl+=e,this.max_cons_loss_days!=null&&this.consecutive_loss_days>=this.max_cons_loss_days)this.entries_blocked=!0;if(Number.isFinite(this.max_intraday_loss)&&this.max_intraday_loss<Number.POSITIVE_INFINITY&&this.initialCapital>0&&this.dayPnl<0){if(100*-this.dayPnl/this.initialCapital>=this.max_intraday_loss)this.entries_blocked=!0}}entry(t,e,r,i){let n={type:"entry",id:String(e??""),direction:uu(r),bar:kt(t)?t:0};if(i!==void 0)n.qty=i;this.events.push(n)}close(t,e){this.events.push({type:"close",id:String(e??""),bar:kt(t)?t:0})}exit(t,e,r){let i={type:"exit",id:String(e??""),bar:kt(t)?t:0};if(r!==void 0)i.qty=r;this.events.push(i)}cancel(t,e){this.dropPending(String(e??"")),this.events.push({type:"cancel",id:String(e??""),bar:kt(t)?t:0})}closeAll(t,e){let r=kt(t)?t:0;if(this.dropPending(),kt(e)&&this.position.qty!==0)this.flattenAt(r,"close_all",e);this.events.push({type:"close_all",id:"",bar:r})}cancelAll(t){this.dropPending(),this.events.push({type:"cancel_all",id:"",bar:kt(t)?t:0})}placeEntry(t,e,r,i,n){let o=Pn(n?.limit),s=Pn(n?.stop);if(o==null&&s==null){if(kt(n?.price)){let M=uu(r),A=kt(n?.time)?n.time:t;if(this.updateEquityExtremes(n.price),!this.riskAllowsEntry(M,A))return;this.fillEntry(t,e,r,i,n.price,n)}else this.entry(t,e,r,i);return}let h=uu(r),m=kt(i)?Math.abs(i):Number.NaN,p=kt(t)?t:0,y=String(e??"");if(this.entry(p,y,h,kt(m)?m:i),!kt(m)||m===0)return;let _={id:y,direction:h,qty:m,limit:o,stop:s,bar:p},v=n?.oca_name==null||n.oca_name===""?void 0:String(n.oca_name),C=l6(n?.oca_type);if(v!==void 0)_.oca_name=v;if(C!=="none")_.oca_type=C;this.upsertPending(_)}order(t,e,r,i,n){this.placeEntry(t,e,r,i,n)}placeExit(t,e,r){let i=kt(t)?t:0,n=String(e??"exit"),o=r?.from_entry,s=o==null||o===""?null:String(o),h=this.entryOpenSize(s),m=this.resolveExitQty(h,r?.qty,r?.qty_percent);if(m.status==="invalid")return;let p=m.qty,y=this.position.qty>0,_=this.position.qty===0,v=Pn(r?.limit),C=Pn(r?.stop),M=Pn(r?.profit),A=Pn(r?.loss);if(!_){let lt=this.exitEntryAvg(s);if(v==null)v=bm(M,lt,this.mintick,y,!0);if(C==null)C=bm(A,lt,this.mintick,y,!1)}let k=t6(Pn(r?.trail_price),Pn(r?.trail_points),Pn(r?.trail_offset),this.mintick),R=k.offsetPx!=null;if(this.exit(i,n,p),_||p<=0)return;if(s!=null&&h<=0)return;let T=kt(r?.time)?r.time:i;if(v==null&&C==null&&!R){if(!kt(r?.price))return;this.reducePosition(i,n,r.price,p,s,T,r?.comment);return}this.dropExitPending(n);let I=y?"short":"long",P=n,F=(lt,dt,ut,V,nt)=>{let l={id:lt,direction:I,qty:p,limit:dt,stop:ut,bar:i,kind:"exit"};if(s!=null)l.from_entry=s;if(nt)l.oca_name=P,l.oca_type="cancel";if(V){if(V.trail_offset!=null)l.trail_offset=V.trail_offset;if(V.trail_activation!==void 0)l.trail_activation=V.trail_activation;if(V.trail_active!=null)l.trail_active=V.trail_active}return l},G=R?{trail_offset:k.offsetPx,trail_activation:k.activation,trail_active:k.activation==null}:void 0;if(v!=null&&C!=null)this.upsertPending(F(`${n}:limit`,v,null,void 0,!0)),this.upsertPending(F(`${n}:stop`,null,C,G,!0));else if(v!=null&&R)this.upsertPending(F(`${n}:limit`,v,null,void 0,!0)),this.upsertPending(F(`${n}:trail`,null,C,G,!0));else if(v!=null)this.upsertPending(F(n,v,null));else if(R)this.upsertPending(F(n,null,C,G));else this.upsertPending(F(n,null,C));if(r?.ohlc!=null)this.processPending(i,r.ohlc)}processPending(t,e){if(this.pending.length===0||e==null)return[];if(!(kt(e.open)||kt(e.high)||kt(e.low)||kt(e.close)))return[];let i=kt(t)?t:0,n=kt(e.close)?e.close:kt(e.open)?e.open:kt(e.high)?e.high:e.low,o=kt(e.open)?e.open:n,s=kt(e.high)?e.high:Math.max(o,n),h=kt(e.low)?e.low:Math.min(o,n),m=[];for(let p of this.pending.slice()){if(!this.pending.some((v)=>v.id===p.id))continue;if(p.kind==="exit"&&Sm(p))e6(p,s,h);let y=r6(p,o,s,h);if(y==null)continue;if(this.dropPending(p.id),p.kind==="exit"?this.applyExitFill(i,p,y):this.applyEntryFill(i,p.id,p.direction,p.qty,y,!1)){let v=Math.abs(this.fills.at(-1)?.qty??p.qty);this.ocaAfterFill(p,v,i),this.events.push({type:"fill",id:p.id,direction:p.direction,qty:v,bar:i}),m.push(p.id)}}return m}fillEntry(t,e,r,i,n,o){this.applyEntryFill(t,e,r,i,n,!0,o)}fillClose(t,e,r,i){this.ensureSanePosition();let n=kt(t)?t:0,o=String(e??"");if(this.position.qty!==0){if(!kt(r))return;let s=Math.abs(this.position.qty),h=i?.qty,m=i?.comment;if(kt(h)&&h>=0&&h<s-0.000000000001){if(h>0)this.reducePosition(n,o,r,h,null,i?.time,m)}else this.flattenAt(n,o,r,i?.time,m)}this.close(n,o)}applyEntryFill(t,e,r,i,n,o,s){if(this.ensureSanePosition(),!kt(i)||i===0||!kt(n))return!1;let h=Math.abs(i);if(!kt(h)||h===0)return!1;let m=uu(r),p=kt(t)?t:0,y=String(e??""),_=kt(s?.time)?s.time:p;if(this.updateEquityExtremes(n),!this.riskAllowsEntry(m,_))return!1;let v=this.capQtyByMaxPosition(h,n);if(!kt(v)||v<=0)return!1;let C=m==="long"?v:-v;if(this.position.qty!==0&&Math.sign(this.position.qty)!==Math.sign(C)){if(!this.flattenAt(p,y,n,s?.time))return!1;this.close(p,y)}else if(this.position.qty!==0&&this.pyramiding!==void 0&&this.sameDirAdds>=this.pyramiding)return!1;if(this.position.qty!==0)this.sameDirAdds++;else this.sameDirAdds=0;if(this.addPosition(p,y,C,n,s),this.noteFilledOrder(_),this.updateEquityExtremes(n),o)this.entry(p,y,m,v);return!0}upsertPending(t){let e=this.pending.findIndex((r)=>r.id===t.id);if(e>=0)this.pending[e]=t;else this.pending.push(t)}dropPending(t){if(t===void 0){this.pending.length=0;return}for(let e=this.pending.length-1;e>=0;e--)if(this.pending[e].id===t)this.pending.splice(e,1)}dropExitPending(t){for(let e=this.pending.length-1;e>=0;e--){let r=this.pending[e].id;if(r===t||r.startsWith(`${t}:`))this.pending.splice(e,1)}}entryOpenSize(t){let e=Math.abs(this.position.qty);if(!t)return e;if(this.openTrades.length===0&&e>0)return e;return this.openTrades.reduce((r,i)=>i.id===t?r+i.qty:r,0)}exitEntryAvg(t){if(t){let r=this.openTrades.filter((n)=>n.id===t),i=r.reduce((n,o)=>n+o.qty,0);if(i>0)return r.reduce((n,o)=>n+o.entryPrice*o.qty,0)/i;if(this.openTrades.length===0&&this.position.qty!==0){let n=this.position.avgPrice;return kt(n)?n:null}return null}if(this.position.qty===0)return null;let e=this.position.avgPrice;return kt(e)?e:null}resolveExitQty(t,e,r){let i=Math.max(0,t),n=Pn(r);if(n!=null){if(n<=0)return{status:"ok",qty:0};return{status:"ok",qty:i*(Math.min(n,100)/100)}}if(e==null)return{status:"ok",qty:i};if(!kt(e)||e<0)return{status:"invalid",qty:0};return{status:"ok",qty:Math.min(e,i)}}applyExitFill(t,e,r){let i=kt(t)?t:0;return this.reducePosition(i,e.id,r,e.qty,e.from_entry??null,i)}closeLeg(t,e,r,i,n,o,s,h){let m={id:t.id,direction:t.direction,qty:i,entryBar:t.entryBar,entryPrice:t.entryPrice,exitBar:e,exitPrice:r,profit:n,commission:o};if(t.entryTime!==void 0)m.entryTime=t.entryTime;if(kt(s))m.exitTime=s;let p=t.entry_comment??t.comment;if(p!==void 0)m.entry_comment=p,m.comment=p;if(h!=null&&h!=="")m.exit_comment=String(h);if(t.max_runup!==void 0)m.max_runup=t.max_runup;if(t.max_drawdown!==void 0)m.max_drawdown=t.max_drawdown;return m}reducePosition(t,e,r,i,n,o,s){if(this.ensureSanePosition(),this.position.qty===0||!kt(i)||i<=0||!kt(r))return!1;let h=n==null||n===""?null:String(n);if(this.openTrades.length===0&&this.position.qty!==0)this.openTrades.push({id:h??e,direction:this.position.qty>0?"long":"short",qty:Math.abs(this.position.qty),entryBar:t,entryPrice:this.position.avgPrice??r,commission:0});if(h!=null&&!this.openTrades.some((F)=>F.id===h))return!1;let p=(h!=null?this.openTrades.filter((F)=>F.id===h):this.openTrades).reduce((F,G)=>F+G.qty,0),y=Math.min(i,p);if(y<=0)return!1;if(h==null&&y>=Math.abs(this.position.qty)-0.000000000001)return this.flattenAt(t,e,r,o,s);let _=this.position.qty>0?"sell":"buy",v=this.recordFill(t,e,_,y,r);if(!kt(v))return!1;let C=this.avg_price_model==="futures"||this.avg_price_model==="inverse",M=kt(this.position.avgPrice)?this.position.avgPrice:v,A=this.fillFee(y,v),k=y,R=0,T=[];for(let F of this.openTrades){if(h!=null&&F.id!==h){T.push(F);continue}if(k<=0){T.push(F);continue}let G=Math.min(F.qty,k),lt=F.qty>0?F.commission*(G/F.qty):0,dt=y>0?A*(G/y):0,ut=C?M:F.entryPrice,V=F.direction==="long"?1:-1,nt=V*(v-ut)*G-lt-dt,l=this.closeLeg({...F,entryPrice:ut},t,v,G,nt,lt+dt,o,s);this.closedTrades.push(l),this.noteClosedProfit(nt),this.noteClosedTradeDay(kt(o)?o:t,nt);let c=V*(v-ut)*G;if(kt(c))R+=c;let d=F.qty-G;if(d>0.000000000001)T.push({...F,qty:d,commission:F.commission-lt});k-=G}if(this.openTrades.length=0,this.openTrades.push(...T),this.position_entry_name=this.openTrades[0]?.id??"",kt(R))this.realizedPnl+=R;let I=this.openTrades.reduce((F,G)=>F+G.qty,0);if(I<=0.000000000001)this.position.qty=0,this.position.avgPrice=null,this.sameDirAdds=0,this.openTrades.length=0,this.position_entry_name="";else{let F=this.position.qty>=0?1:-1;this.position.qty=F*I,this.position.avgPrice=C?M:this.openTrades.reduce((G,lt)=>G+lt.entryPrice*lt.qty,0)/I}this.closedCount+=1;let P=kt(o)?o:t;return this.noteFilledOrder(P),this.updateEquityExtremes(v),!0}addPosition(t,e,r,i,n){if(!kt(r)||r===0||!kt(i))return;let o=this.position.qty,s=Math.abs(o),h=Math.abs(r),m=r>0?"buy":"sell",p=this.recordFill(t,e,m,h,i);if(!kt(p))return;let y=this.fillFee(h,p),_=this.position.avgPrice;this.position.avgPrice=s===0||!kt(_)?p:(_*s+p*h)/(s+h);let v=o+r;if(this.position.qty=kt(v)&&v!==0?v:0,this.position.qty===0){this.position.avgPrice=null;return}let C=this.position.qty>0?"long":"short";this.notePositionSize(),this.position_entry_name=e;let M=n?.comment!=null?String(n.comment):void 0,A=kt(n?.time)?n.time:void 0;if(s===0||this.openTrades.length===0){this.openTrades.length=0;let T={id:e,direction:C,qty:Math.abs(this.position.qty),entryBar:t,entryPrice:this.position.avgPrice??p,commission:y};if(A!==void 0)T.entryTime=A;if(M!==void 0)T.comment=M,T.entry_comment=M;this.openTrades.push(T);return}let k=this.openTrades.find((T)=>T.id===e&&T.direction===C);if(k){let T=k.qty;k.qty=T+h,k.entryPrice=(k.entryPrice*T+p*h)/k.qty,k.commission+=y;return}let R={id:e,direction:C,qty:h,entryBar:t,entryPrice:p,commission:y};if(A!==void 0)R.entryTime=A;if(M!==void 0)R.comment=M,R.entry_comment=M;this.openTrades.push(R)}flattenAt(t,e,r,i,n){let o=this.position.qty;if(o===0||!kt(o)||!kt(r))return!1;let s=o>0?"sell":"buy",h=Math.abs(o),m=this.recordFill(t,e,s,h,r);if(!kt(m))return!1;let p=this.position.avgPrice,y=kt(p)?p:m,_=o*(m-y);if(kt(_))this.realizedPnl+=_;let v=kt(i)?i:t;return this.closeOpenTrades(t,e,m,h,o>0?"long":"short",y,v,n),this.position.qty=0,this.position.avgPrice=null,this.sameDirAdds=0,this.position_entry_name="",this.closedCount+=1,this.noteFilledOrder(v),this.updateEquityExtremes(m),!0}ensureSanePosition(){let t=this.position.qty,e=this.position.avgPrice;if(!kt(t)||t!==0&&!kt(e))this.position.qty=0,this.position.avgPrice=null,this.sameDirAdds=0,this.openTrades.length=0}closeOpenTrades(t,e,r,i,n,o,s,h){if(this.openTrades.length===0&&i>0)this.openTrades.push({id:e,direction:n,qty:i,entryBar:t,entryPrice:o,commission:0});let m=this.openTrades.reduce((y,_)=>y+_.qty,0),p=this.fillFee(i,r);for(let y of this.openTrades){let _=m>0?y.qty/m:1,v=p*_,C=this.markProfit(y,r)-v;this.closedTrades.push(this.closeLeg(y,t,r,y.qty,C,y.commission+v,s,h)),this.noteClosedProfit(C),this.noteClosedTradeDay(kt(s)?s:t,C)}this.openTrades.length=0,this.position_entry_name=""}noteClosedProfit(t){if(!kt(t))return;if(t>0)this.grossprofit+=t,this.wintrades+=1;else if(t<0)this.grossloss+=-t,this.losstrades+=1;else this.eventrades+=1}markProfit(t,e){return(t.direction==="long"?1:-1)*(e-t.entryPrice)*t.qty-t.commission}fillFee(t,e){let r=kt(this.commission)?this.commission:0,i=Math.abs(t)*Math.abs(e)*r;return kt(i)?i:0}pickTrade(t,e){if(!kt(e)||!Number.isInteger(e)||e<0||e>=t.length)return null;return t[e]??null}riskAllowsEntry(t,e){let r=(this.allow_entry_in||"all").toLowerCase().replace(/strategy\./g,"");if(r==="long"&&t!=="long")return!1;if(r==="short"&&t!=="short")return!1;if(this.entries_blocked)return!1;if(this.max_drawdown_risk!=null&&this.maxDrawdownAbs>=this.max_drawdown_risk)return this.entries_blocked=!0,!1;if(this.max_drawdown_risk_percent!=null&&this.maxDdPercent>=this.max_drawdown_risk_percent)return this.entries_blocked=!0,!1;if(this.max_cons_loss_days!=null&&this.consecutive_loss_days>=this.max_cons_loss_days)return this.entries_blocked=!0,!1;if(Number.isFinite(this.max_intraday_loss)&&this.max_intraday_loss<Number.POSITIVE_INFINITY&&this.initialCapital>0&&this.dayPnl<0){if(100*-this.dayPnl/this.initialCapital>=this.max_intraday_loss)return this.entries_blocked=!0,!1}if(this.max_intraday_filled_orders!=null){if(this.rollFillDay(e),this.dayFilledOrders>=this.max_intraday_filled_orders)return!1}return!0}capQtyByMaxPosition(t,e){let r=this.max_position_size_percent;if(r==null||r<=0||!kt(e)||e<=0)return t;let n=this.equity(e)*(r/100)/e;if(!kt(n)||n<0)return 0;return Math.min(t,n)}updateEquityExtremes(t){this.equity(t)}trackEquityCurve(t){if(!kt(t))return;if(t>this.equityPeak)this.equityPeak=t;if(t<this.equityTrough)this.equityTrough=t;let e=this.equityPeak-t;if(e>this.maxDrawdownAbs){if(this.maxDrawdownAbs=e,this.equityPeak>0)this.maxDdPercent=100*e/this.equityPeak}let r=t-this.equityTrough;if(r>this.maxRunupAbs){if(this.maxRunupAbs=r,this.equityTrough>0)this.maxRuPercent=100*r/this.equityTrough}}pctOfInitial(t){let e=this.initialCapital;if(!kt(e)||e<=0||!kt(t))return 0;return 100*t/e}notePositionSize(){let t=Math.abs(this.position.qty);if(!kt(t)||t===0)return;if(t>this.maxHeldAll)this.maxHeldAll=t;if(this.position.qty>0&&t>this.maxHeldLong)this.maxHeldLong=t;if(this.position.qty<0&&t>this.maxHeldShort)this.maxHeldShort=t}rollFillDay(t){let e=wm(kt(t)?t:0);if(this.fillsDay==null||e!==this.fillsDay)this.fillsDay=e,this.dayFilledOrders=0}noteFilledOrder(t){this.rollFillDay(t),this.dayFilledOrders+=1}ocaAfterFill(t,e,r){let i=t.oca_name,n=t.oca_type??"none";if(!i||n==="none")return;for(let o of this.pending.slice()){if(o.id===t.id||o.oca_name!==i)continue;if(n==="cancel")this.dropPending(o.id),this.events.push({type:"cancel",id:o.id,bar:r});else if(n==="reduce"){if(o.qty=Math.max(0,o.qty-e),o.qty<=0.000000000001)this.dropPending(o.id),this.events.push({type:"cancel",id:o.id,bar:r})}}}recordFill(t,e,r,i,n){let o=kt(this.slippage)?this.slippage:0,s=r==="buy"?n+o:n-o;if(!kt(s)||!kt(i)||i===0)return Number.NaN;this.fills.push({bar:t,id:e,side:r,qty:i,price:s});let h=kt(this.commission)?this.commission:0,m=Math.abs(i)*Math.abs(s)*h;if(kt(m))this.commissionPaid+=m;return s}}function hu(t){if(typeof t==="string")return`s:${t}`;if(typeof t==="number"&&Number.isFinite(t))return`n:${Object.is(t,-0)?0:t}`;return null}function Cm(t){return t.startsWith("s:")?t.slice(2):Number(t.slice(2))}class kn{data=new Map;order=[];size(){return this.data.size}put(t,e){let r=hu(t);if(r==null)return;if(!this.data.has(r))this.order.push(r);this.data.set(r,e)}get(t){let e=hu(t);if(e==null)return null;return this.data.has(e)?this.data.get(e):null}contains(t){let e=hu(t);return e!=null&&this.data.has(e)}remove(t){let e=hu(t);if(e==null||!this.data.has(e))return null;let r=this.data.get(e);this.data.delete(e);let i=this.order.indexOf(e);if(i>=0)this.order.splice(i,1);return r}clear(){this.data.clear(),this.order.length=0}keys(){return this.order.map(Cm)}values(){return this.order.map((t)=>this.data.get(t))}copy(){let t=new kn;for(let e of this.order)t.put(Cm(e),this.data.get(e));return t}putAll(t){if(!(t instanceof kn))return;let e=t.keys(),r=t.values();for(let i=0;i<e.length;i++)this.put(e[i],r[i])}}var ef=1e6;function Rr(t,e){if(!Number.isFinite(t))return null;let r=Math.trunc(t);if(r<0||r>=e)return null;return r}function Mm(t){if(!Number.isFinite(t)||t<0)return 0;return Math.min(Math.trunc(t),ef)}function Fo(t,e){if(t<=0||e<=0)return!0;return e<=Math.floor(ef/t)}function km(t,e){let r=[],i=t??[];for(let n=0;n<e;n++)r.push(n<i.length?i[n]:null);return r}function a6(t){if(t==null||typeof t!=="object")return!1;if(t instanceof tr)return!0;return!Array.isArray(t)&&Object.prototype.hasOwnProperty.call(t,"__type__")}function u6(t){if(t instanceof tr)return t.type.fields.map((r)=>r.name);let e=t;if(Object.prototype.hasOwnProperty.call(e,"__type__"))return Object.keys(e).filter((r)=>r!=="__type__");return null}function Em(t,e){if(t instanceof tr)return t.get(e);return t[e]}function c6(t,e){if(t==null||e==null||typeof t!=="object")return t;if(typeof e==="string")return Em(t,e);if(typeof e==="number"&&Number.isFinite(e)){let r=u6(t);if(r==null)return t;let i=Math.trunc(e);if(i<0||i>=r.length)return t;return Em(t,r[i])}return t}function fu(t,e){return e!=null?c6(t,e):t}function Rm(t){if(t==null)return!0;if(typeof t==="number")return!Number.isFinite(t);return!1}function En(t){return typeof t==="number"&&Number.isFinite(t)?t:null}function mu(t){if(typeof t==="boolean")return t?1:0;return En(t)}function Am(t){let e=0;for(let r of t){let i=mu(r);if(i!==null)e+=i}return e}function Tm(t){let e=0,r=0;for(let i of t){let n=mu(i);if(n===null)continue;e+=n,r+=1}return r>0?e/r:0}function du(t,e){let r=null;for(let i of t){let n=mu(i);if(n===null)continue;if(r===null||(e?n>r:n<r))r=n}return r}function tf(t){if(t.length===0)return null;let e=[],r=[],i=0,n=0;for(let o of t){let s=typeof o==="number"&&!Number.isFinite(o)?null:o??null,h=-1;for(let p=0;p<e.length;p++)if(e[p]===s){h=p;break}if(h<0)h=e.length,e.push(s),r.push(1);else r[h]=(r[h]??0)+1;let m=r[h]??0;if(m>n)n=m,i=h}return e[i]??null}function Nm(t){let e=t.length;if(e<2)return null;let r=0;for(let m of t)r+=m;let i=r/e,n=0,o=0;for(let m of t){let p=m-i;o+=p,n+=p*p}if(n-=o*o/e,n<0)n=0;let s=n/(e-1),h=Math.sqrt(s);if(!Number.isFinite(s)||!Number.isFinite(h))return null;return{variance:s,stdev:h}}function Lm(t,e){for(let r of t){let i=r[e];if(i==null)continue;if(a6(i))return 0;break}return null}function Im(t,e){if(t===e)return 0;if(typeof t==="number"&&typeof e==="number"){if(t<e)return-1;if(t>e)return 1;return 0}let r=`${String(Object.prototype.toString.call(t))}${String(t)}`,i=`${String(Object.prototype.toString.call(e))}${String(e)}`;if(r<i)return-1;if(r>i)return 1;return 0}function rf(t){let e=[];for(let r=0;r<t.length;r++)e.push(t[r].slice());return e}function pu(t,e,r,i){let n=t+i,o=t*i-e*r,s=n*n-4*o;if(s>=0){let m=Math.sqrt(s);return[(n+m)/2,(n-m)/2]}let h=n/2;return[h,h]}function h6(t,e,r,i){if((t-i)*(t-i)+4*e*r<0)return i;let[n,o]=pu(t,e,r,i);return Math.abs(n-i)<Math.abs(o-i)?n:o}function f6(t){let e=t.length,r=t[0].length,i=rf(t),n=[];for(let h=0;h<r;h++){let m=[];for(let p=0;p<r;p++)m.push(h===p?1:0);n.push(m)}for(let h=0;h<50;h++){let m=!1;for(let p=0;p<r-1;p++)for(let y=p+1;y<r;y++){let _=0,v=0,C=0;for(let I=0;I<e;I++){let P=i[I][p],F=i[I][y];_+=P*P,v+=F*F,C+=P*F}if(!Number.isFinite(_)||!Number.isFinite(v)||!Number.isFinite(C))return null;let M=0.000000000000001*Math.sqrt(Math.max(_*v,0));if(Math.abs(C)<=M)continue;m=!0;let A=(v-_)/(2*C),k=(A>=0?1:-1)/(Math.abs(A)+Math.hypot(1,A)),R=1/Math.sqrt(1+k*k),T=R*k;for(let I=0;I<e;I++){let P=i[I][p],F=i[I][y];i[I][p]=R*P-T*F,i[I][y]=T*P+R*F}for(let I=0;I<r;I++){let P=n[I][p],F=n[I][y];n[I][p]=R*P-T*F,n[I][y]=T*P+R*F}}if(!m)break}let o=[],s=[];for(let h=0;h<e;h++){let m=[];for(let p=0;p<r;p++)m.push(0);s.push(m)}for(let h=0;h<r;h++){let m=0;for(let p=0;p<e;p++)m+=i[p][h]*i[p][h];if(m=Math.sqrt(m),!Number.isFinite(m))return null;if(o.push(m),m>0)for(let p=0;p<e;p++)s[p][h]=i[p][h]/m}return{u:s,s:o,v:n}}function d6(t){let e=t.length;for(let r=0;r<e-2;r++){let i=0;for(let p=r+2;p<e;p++)i+=t[p][r]*t[p][r];if(i<0.000000000000000000000000000001)continue;let n=i+t[r+1][r]*t[r+1][r];if(n=Math.sqrt(n),n<0.000000000000000000000000000001)continue;let o=t[r+1][r],s=(o>=0?1:-1)*n,h=[o+s];for(let p=r+2;p<e;p++)h.push(t[p][r]);let m=0;for(let p of h)m+=p*p;if(m=Math.sqrt(m),m<0.000000000000000000000000000001)continue;for(let p=0;p<h.length;p++)h[p]/=m;for(let p=r;p<e;p++){let y=0;for(let _=0;_<h.length;_++)y+=h[_]*t[r+1+_][p];y*=2;for(let _=0;_<h.length;_++)t[r+1+_][p]-=y*h[_]}for(let p=0;p<e;p++){let y=0;for(let _=0;_<h.length;_++)y+=t[p][r+1+_]*h[_];y*=2;for(let _=0;_<h.length;_++)t[p][r+1+_]-=y*h[_]}t[r+1][r]=-s;for(let p=r+2;p<e;p++)t[p][r]=0}}function p6(t,e,r){let i=[];for(let n=0;n<e;n++)t[n][n]-=r;for(let n=0;n<e-1;n++){let o=t[n][n],s=t[n+1][n],h=Math.hypot(o,s),m=h>0?o/h:1,p=h>0?s/h:0;i.push({c:m,s:p});for(let y=n;y<e;y++){let _=m*t[n][y]+p*t[n+1][y],v=-p*t[n][y]+m*t[n+1][y];t[n][y]=_,t[n+1][y]=v}}for(let n=0;n<e-1;n++){let{c:o,s}=i[n];for(let h=0;h<=n+1&&h<e;h++){let m=o*t[h][n]+s*t[h][n+1],p=-s*t[h][n]+o*t[h][n+1];t[h][n]=m,t[h][n+1]=p}}for(let n=0;n<e;n++)t[n][n]+=r}function Om(t){let e=t.length;if(e===0)return[];if(e===1){let h=t[0][0];return Number.isFinite(h)?[h]:null}if(e===2){let h=pu(t[0][0],t[0][1],t[1][0],t[1][1]);if(!Number.isFinite(h[0])||!Number.isFinite(h[1]))return null;return[h[0],h[1]]}let r=rf(t);d6(r);let i=[],n=e,o=40*e*e,s=0;while(n>0){if(++s>o)return null;if(n===1){let y=r[0][0];if(!Number.isFinite(y))return null;i.push(y);break}if(n===2){let y=pu(r[0][0],r[0][1],r[1][0],r[1][1]);if(!Number.isFinite(y[0])||!Number.isFinite(y[1]))return null;i.push(y[0],y[1]);break}let h=Math.abs(r[n-1][n-1])+Math.abs(r[n-2][n-2]);if(Math.abs(r[n-1][n-2])<=0.00000000000001*Math.max(1,h)){let y=r[n-1][n-1];if(!Number.isFinite(y))return null;i.push(y),n--;continue}let m=Math.abs(r[n-2][n-2])+Math.abs(r[n-3][n-3]);if(Math.abs(r[n-2][n-3])<=0.00000000000001*Math.max(1,m)){let y=pu(r[n-2][n-2],r[n-2][n-1],r[n-1][n-2],r[n-1][n-1]);if(!Number.isFinite(y[0])||!Number.isFinite(y[1]))return null;i.push(y[0],y[1]),n-=2;continue}let p=h6(r[n-2][n-2],r[n-2][n-1],r[n-1][n-2],r[n-1][n-1]);if(s%10===0)p+=Math.abs(r[n-1][n-2])+Math.abs(r[n-2][n-3]);if(!Number.isFinite(p))return null;p6(r,n,p);for(let y=0;y<n;y++)for(let _=0;_<y-1;_++)r[y][_]=0}return i}function m6(t){let e=t.length;if(e===0)return[];let r=rf(t),i=0;for(let _=0;_<e;_++)for(let v=0;v<e;v++){let C=r[_][v];if(!Number.isFinite(C))return null;if(Math.abs(C)>i)i=Math.abs(C)}let n=Math.max(0.00000000000001,0.000000000001*i),o=Array(e).fill(-1),s=Array(e).fill(!1),h=0;for(let _=0;_<e&&h<e;_++){let v=h,C=Math.abs(r[h][_]);for(let A=h+1;A<e;A++){let k=Math.abs(r[A][_]);if(k>C)C=k,v=A}if(C<n)continue;if(v!==h){let A=r[h];r[h]=r[v],r[v]=A}let M=r[h][_];for(let A=_;A<e;A++)r[h][A]/=M;for(let A=0;A<e;A++){if(A===h)continue;let k=r[A][_];if(k===0)continue;for(let R=_;R<e;R++)r[A][R]-=k*r[h][R]}o[h]=_,s[_]=!0,h++}let m=-1;for(let _=0;_<e;_++)if(!s[_]){m=_;break}if(m<0)return null;let p=Array(e).fill(0);p[m]=1;for(let _=e-1;_>=0;_--){let v=o[_];if(v<0)continue;let C=0;for(let M=0;M<e;M++){if(M===v)continue;C+=r[_][M]*p[M]}p[v]=-C}let y=0;for(let _ of p){if(!Number.isFinite(_))return null;y+=_*_}if(y=Math.sqrt(y),!(y>n))return null;for(let _=0;_<e;_++)p[_]/=y;return p}class Pe{cells=[];nRows;nCols;constructor(t,e,r){let i=Mm(t),n=Mm(e);if(i>0&&n>Math.floor(ef/i))i=0,n=0;this.nRows=i,this.nCols=n;let o=r===void 0?null:r;for(let s=0;s<this.nRows;s++){let h=[];for(let m=0;m<this.nCols;m++)h.push(o);this.cells.push(h)}}rows(){return this.nRows}columns(){return this.nCols}get(t,e){let r=Rr(t,this.nRows),i=Rr(e,this.nCols);if(r===null||i===null)return null;return this.cells[r][i]}set(t,e,r){let i=Rr(t,this.nRows),n=Rr(e,this.nCols);if(i===null||n===null)return;this.cells[i][n]=r}fill(t){for(let e=0;e<this.nRows;e++){let r=this.cells[e];for(let i=0;i<this.nCols;i++)r[i]=t}}transpose(){let t=new Pe(this.nCols,this.nRows);for(let e=0;e<this.nRows;e++)for(let r=0;r<this.nCols;r++)t.set(r,e,this.cells[e][r]);return t}row(t){let e=Rr(t,this.nRows);return e===null?[]:this.cells[e].slice()}col(t){let e=Rr(t,this.nCols);if(e===null)return[];let r=[];for(let i=0;i<this.nRows;i++)r.push(this.cells[i][e]);return r}copy(){let t=new Pe(this.nRows,this.nCols);for(let e=0;e<this.nRows;e++)for(let r=0;r<this.nCols;r++)t.set(e,r,this.cells[e][r]);return t}elementsCount(){return this.nRows*this.nCols}isSquare(){return this.nRows===this.nCols&&this.nRows>0}sum(){let t=this.finiteAll();if(t===null)return null;let e=0;for(let r of t)e+=r;return e}avg(){let t=this.finiteAll();if(t===null||t.length===0)return null;let e=0;for(let r of t)e+=r;return e/t.length}min(){let t=this.finiteAll();if(t===null||t.length===0)return null;let e=t[0];for(let r of t)if(r<e)e=r;return e}max(){let t=this.finiteAll();if(t===null||t.length===0)return null;let e=t[0];for(let r of t)if(r>e)e=r;return e}trace(){if(!this.isSquare())return null;let t=0;for(let e=0;e<this.nRows;e++){let r=En(this.cells[e][e]);if(r===null)return null;t+=r}return t}det(){if(!this.isSquare())return null;let t=this.nRows;if(t===0)return null;let e=[];for(let n=0;n<t;n++){let o=[];for(let s=0;s<t;s++){let h=En(this.cells[n][s]);if(h===null)return null;o.push(h)}e.push(o)}if(t===1)return e[0][0];if(t===2){let n=e[0][0]*e[1][1]-e[0][1]*e[1][0];return Number.isFinite(n)?n:null}let r=1;for(let n=0;n<t;n++){let o=n,s=Math.abs(e[n][n]);for(let m=n+1;m<t;m++){let p=Math.abs(e[m][n]);if(p>s)s=p,o=m}if(s===0)return 0;if(o!==n){let m=e[n];e[n]=e[o],e[o]=m,r=-r}let h=e[n][n];for(let m=n+1;m<t;m++){let p=e[m][n]/h;for(let y=n;y<t;y++)e[m][y]-=p*e[n][y]}}let i=r;for(let n=0;n<t;n++)i*=e[n][n];return Number.isFinite(i)?i:null}mult(t){if(typeof t==="number"){if(!Number.isFinite(t))return null;let n=new Pe(this.nRows,this.nCols);for(let o=0;o<this.nRows;o++)for(let s=0;s<this.nCols;s++){let h=En(this.cells[o][s]);if(h===null){n.set(o,s,null);continue}let m=h*t;n.set(o,s,Number.isFinite(m)?m:null)}return n}if(this.nCols!==t.nRows)return null;let e=this.asFiniteGrid(),r=t.asFiniteGrid();if(e===null||r===null)return null;let i=new Pe(this.nRows,t.nCols,0);for(let n=0;n<this.nRows;n++)for(let o=0;o<t.nCols;o++){let s=0;for(let h=0;h<this.nCols;h++)s+=e[n][h]*r[h][o];if(!Number.isFinite(s))return null;i.set(n,o,s)}return i}inv(){if(this.nRows!==this.nCols)return null;let t=this.nRows;if(t===0)return new Pe(0,0);let e=this.asFiniteGrid();if(e===null)return null;let r=[];for(let o=0;o<t;o++){let s=e[o].slice();for(let h=0;h<t;h++)s.push(o===h?1:0);r.push(s)}let i=0.000000000001;for(let o=0;o<t;o++){let s=o,h=Math.abs(r[o][o]);for(let p=o+1;p<t;p++){let y=Math.abs(r[p][o]);if(y>h)h=y,s=p}if(h<i)return null;if(s!==o){let p=r[o];r[o]=r[s],r[s]=p}let m=r[o][o];for(let p=0;p<2*t;p++)r[o][p]/=m;for(let p=0;p<t;p++){if(p===o)continue;let y=r[p][o];if(y===0)continue;for(let _=0;_<2*t;_++)r[p][_]-=y*r[o][_]}}let n=new Pe(t,t,0);for(let o=0;o<t;o++)for(let s=0;s<t;s++){let h=r[o][t+s];if(!Number.isFinite(h))return null;n.set(o,s,h)}return n}pow(t){if(this.nRows!==this.nCols)return null;if(!Number.isFinite(t))return null;let e=Math.trunc(t);if(e===0)return Pe.eye(this.nRows);if(e<0){let o=this.inv();return o===null?null:o.pow(-e)}if(this.asFiniteGrid()===null)return null;let r=Pe.eye(this.nRows),i=this.copy(),n=e;while(n>0){if(n%2===1){if(r=r.mult(i),r===null)return null}if(n=Math.trunc(n/2),n>0){if(i=i.mult(i),i===null)return null}}return r}kron(t){let e=this.asFiniteGrid(),r=t.asFiniteGrid();if(e===null||r===null)return null;let{nRows:i,nCols:n}=t,o=new Pe(this.nRows*i,this.nCols*n,0);for(let s=0;s<this.nRows;s++)for(let h=0;h<this.nCols;h++){let m=e[s][h];for(let p=0;p<i;p++)for(let y=0;y<n;y++){let _=m*r[p][y];o.set(s*i+p,h*n+y,Number.isFinite(_)?_:null)}}return o}isZero(){for(let t=0;t<this.nRows;t++)for(let e=0;e<this.nCols;e++){let r=this.cells[t][e];if(r===null)continue;if(r!==0)return!1}return!0}isIdentity(){if(this.nRows!==this.nCols)return!1;for(let t=0;t<this.nRows;t++)for(let e=0;e<this.nCols;e++){let r=t===e?1:0,i=this.cells[t][e];if(i===null||i!==r)return!1}return!0}isDiagonal(){if(this.nRows!==this.nCols)return!1;for(let t=0;t<this.nRows;t++)for(let e=0;e<this.nCols;e++){if(t===e)continue;let r=this.cells[t][e];if(r!==null&&r!==0)return!1}return!0}isSymmetric(){if(this.nRows!==this.nCols)return!1;for(let t=0;t<this.nRows;t++)for(let e=t+1;e<this.nCols;e++)if(this.cells[t][e]!==this.cells[e][t])return!1;return!0}isAntisymmetric(){if(this.nRows!==this.nCols)return!1;for(let t=0;t<this.nRows;t++)for(let e=0;e<this.nCols;e++){let r=this.cells[t][e],i=this.cells[e][t];if(t===e){if(r!==null&&r!==0)return!1;continue}if(r!==null&&i!==null){if(r!==-i)return!1}else if(r!==i)return!1}return!0}isTriangular(){if(this.nRows!==this.nCols)return!1;let t=!0,e=!0;for(let r=0;r<this.nRows;r++)for(let i=0;i<this.nCols;i++){let n=this.cells[r][i],o=n!==null&&n!==0;if(r>i&&o)t=!1;if(r<i&&o)e=!1}return t||e}swapRows(t,e){let r=Rr(t,this.nRows),i=Rr(e,this.nRows);if(r===null||i===null||r===i)return;let n=this.cells[r];this.cells[r]=this.cells[i],this.cells[i]=n}swapColumns(t,e){let r=Rr(t,this.nCols),i=Rr(e,this.nCols);if(r===null||i===null||r===i)return;for(let n of this.cells){let o=n[r];n[r]=n[i],n[i]=o}}addRow(t,e){let r=this.nRows===0&&this.nCols===0,i=r?e?.length??0:this.nCols;if(!Fo(this.nRows+1,i))return;if(t!==void 0){if(!Number.isFinite(t))return;if(Math.trunc(t)<0)return}let n=km(e,i);if(r)this.nCols=i;let o=t===void 0?this.nRows:Math.trunc(t);if(o>=this.nRows)this.cells.push(n);else this.cells.splice(o,0,n);this.nRows+=1}addCol(t,e){if(this.nRows===0&&this.nCols===0){let n=e?.length??0;if(!Fo(n,n===0?0:1))return;for(let o of e??[])this.cells.push([o]);this.nRows=n,this.nCols=n===0?0:1;return}if(!Fo(this.nRows,this.nCols+1))return;if(t!==void 0){if(!Number.isFinite(t))return;if(Math.trunc(t)<0)return}let r=km(e,this.nRows),i=t===void 0?this.nCols:Math.min(Math.trunc(t),this.nCols);for(let n=0;n<this.nRows;n++)this.cells[n].splice(i,0,r[n]);this.nCols+=1}removeRow(t){let e=Rr(t,this.nRows);if(e===null)return;this.cells.splice(e,1),this.nRows-=1}removeCol(t){let e=Rr(t,this.nCols);if(e===null)return;for(let r of this.cells)r.splice(e,1);this.nCols-=1}reshape(t,e){if(!Number.isFinite(t)||!Number.isFinite(e))return null;let r=Math.trunc(t),i=Math.trunc(e);if(r<0||i<0)return null;if(r*i!==this.nRows*this.nCols)return null;if(!Fo(r,i))return null;let n=this.flatten(),o=new Pe(r,i);for(let s=0;s<r;s++)for(let h=0;h<i;h++)o.set(s,h,n[s*i+h]);return o}concat(t){if(this.nCols!==t.nCols)return null;let e=this.nRows+t.nRows,r=this.nCols;if(!Fo(e,r))return null;let i=new Pe(e,r);for(let n=0;n<this.nRows;n++)for(let o=0;o<r;o++)i.set(n,o,this.cells[n][o]);for(let n=0;n<t.nRows;n++)for(let o=0;o<r;o++)i.set(this.nRows+n,o,t.cells[n][o]);return i}submatrix(t,e,r,i){if(!Number.isFinite(t)||!Number.isFinite(e)||!Number.isFinite(r)||!Number.isFinite(i))return null;let n=Math.trunc(t),o=Math.trunc(e),s=Math.trunc(r),h=Math.trunc(i);if(!(0<=n&&n<=o&&o<=this.nRows))return null;if(!(0<=s&&s<=h&&h<=this.nCols))return null;let m=new Pe(o-n,h-s);for(let p=n;p<o;p++)for(let y=s;y<h;y++)m.set(p-n,y-s,this.cells[p][y]);return m}reverse(){this.cells.reverse();for(let t of this.cells)t.reverse()}sort(t=0,e="asc",r){if(this.nRows===0)return;let i=Rr(t,this.nCols);if(i===null)return;let n=e==="desc",o=r??Lm(this.cells,i),s=[],h=[];for(let m of this.cells){let p=fu(m[i],o);if(Rm(p))h.push(m);else s.push(m)}s.sort((m,p)=>{let y=fu(m[i],o),_=fu(p[i],o),v=Im(y,_);return n?-v:v}),this.cells.length=0;for(let m of s)this.cells.push(m);for(let m of h)this.cells.push(m)}sortIndices(t=0,e="asc",r){if(this.nRows===0)return[];let i=Rr(t,this.nCols);if(i===null)return[];let n=e==="desc",o=r??Lm(this.cells,i),s=[],h=[];for(let m=0;m<this.nRows;m++){let p=fu(this.cells[m][i],o);if(Rm(p))h.push(m);else s.push({key:p,idx:m})}return s.sort((m,p)=>{let y=Im(m.key,p.key);if(y!==0)return n?-y:y;return m.idx-p.idx}),s.map((m)=>m.idx).concat(h)}median(){let t=[];for(let r=0;r<this.nRows;r++)for(let i=0;i<this.nCols;i++){let n=En(this.cells[r][i]);if(n!==null)t.push(n)}if(t.length===0)return null;t.sort((r,i)=>r-i);let e=Math.floor(t.length/2);if(t.length%2===1)return t[e];return(t[e-1]+t[e])/2}mode(){let t=new Map,e=null,r=0;for(let i=0;i<this.nRows;i++)for(let n=0;n<this.nCols;n++){let o=En(this.cells[i][n]);if(o===null)continue;let s=(t.get(o)??0)+1;if(t.set(o,s),s>r)e=o,r=s}return e}copyRow(t){return this.row(t)}copyCol(t){return this.col(t)}sumRow(t){let e=this.lineAt("row",t);return e===null?null:Am(e)}sumCol(t){let e=this.lineAt("col",t);return e===null?null:Am(e)}avgRow(t){let e=this.lineAt("row",t);return e===null?null:Tm(e)}avgCol(t){let e=this.lineAt("col",t);return e===null?null:Tm(e)}minRow(t){let e=this.lineAt("row",t);return e===null?null:du(e,!1)}minCol(t){let e=this.lineAt("col",t);return e===null?null:du(e,!1)}maxRow(t){let e=this.lineAt("row",t);return e===null?null:du(e,!0)}maxCol(t){let e=this.lineAt("col",t);return e===null?null:du(e,!0)}modeRow(t){let e=this.lineAt("row",t);return e===null?null:tf(e)}modeCol(t){let e=this.lineAt("col",t);return e===null?null:tf(e)}modeAll(){return tf(this.flatCells())}fillRow(t,e){let r=Rr(t,this.nRows);if(r===null)return;let i=this.cells[r];for(let n=0;n<this.nCols;n++)i[n]=e}fillCol(t,e){let r=Rr(t,this.nCols);if(r===null)return;for(let i=0;i<this.nRows;i++)this.cells[i][r]=e}fillDiagonal(t){let e=Math.min(this.nRows,this.nCols);for(let r=0;r<e;r++)this.cells[r][r]=t}reverseRows(){this.cells.reverse()}reverseCols(){for(let t of this.cells)t.reverse()}stdev(){return Nm(this.numericFlat())?.stdev??null}variance(){return Nm(this.numericFlat())?.variance??null}isBinary(){for(let t=0;t<this.nRows;t++)for(let e=0;e<this.nCols;e++){let r=this.cells[t][e];if(r!==0&&r!==1)return!1}return!0}isStochastic(){for(let t=0;t<this.nRows;t++){let e=0;for(let r=0;r<this.nCols;r++){let i=En(this.cells[t][r]);if(i===null||i<0)return!1;e+=i}if(Math.abs(e-1)>0.000000001)return!1}return!0}isAntidiagonal(){if(this.nRows!==this.nCols)return!1;let t=this.nRows;for(let e=0;e<t;e++)for(let r=0;r<t;r++){if(e+r===t-1)continue;let i=this.cells[e][r];if(i!==null&&i!==0)return!1}return!0}diff(t){if(this.nRows!==t.nRows||this.nCols!==t.nCols)return null;let e=new Pe(this.nRows,this.nCols);for(let r=0;r<this.nRows;r++)for(let i=0;i<this.nCols;i++){let n=En(this.cells[r][i]),o=En(t.cells[r][i]);if(n===null||o===null){e.set(r,i,null);continue}let s=n-o;e.set(r,i,Number.isFinite(s)?s:null)}return e}rank(){if(this.nRows===0||this.nCols===0)return 0;let t=this.asFiniteGrid();if(t===null)return null;let e=this.nRows,r=this.nCols,i=[];for(let s=0;s<e;s++)i.push(t[s].slice());let n=0.000000000001,o=0;for(let s=0;s<r&&o<e;s++){let h=o,m=Math.abs(i[o][s]);for(let y=o+1;y<e;y++){let _=Math.abs(i[y][s]);if(_>m)m=_,h=y}if(m<n)continue;if(h!==o){let y=i[o];i[o]=i[h],i[h]=y}let p=i[o][s];for(let y=o+1;y<e;y++){let _=i[y][s]/p;for(let v=s;v<r;v++)i[y][v]-=_*i[o][v]}o++}return o}pinv(){if(this.nRows===0||this.nCols===0)return new Pe(this.nCols,this.nRows);let t=this.asFiniteGrid();if(t===null)return null;let e=f6(t);if(e===null)return null;let{u:r,s:i,v:n}=e,o=this.nRows,s=this.nCols,h=0;for(let _ of i){if(!Number.isFinite(_))return null;if(_>h)h=_}let m=0.000000000001*h*Math.max(o,s),p=[];for(let _ of i)p.push(_>m?1/_:0);let y=new Pe(s,o,0);for(let _=0;_<s;_++)for(let v=0;v<o;v++){let C=0;for(let M=0;M<s;M++)C+=n[_][M]*p[M]*r[v][M];if(!Number.isFinite(C))return null;y.set(_,v,C)}return y}eigenvalues(){if(this.nRows!==this.nCols)return null;if(this.nRows===0)return[];let t=this.asFiniteGrid();if(t===null)return null;return Om(t)}eigenvectors(){if(this.nRows!==this.nCols)return null;if(this.nRows===0)return new Pe(0,0);let t=this.asFiniteGrid();if(t===null)return null;let e=Om(t);if(e===null)return null;let r=this.nRows,i=new Pe(r,r,0);for(let n=0;n<r;n++){let o=e[n],s=[];for(let m=0;m<r;m++){let p=t[m].slice();p[m]-=o,s.push(p)}let h=m6(s);if(h===null)return null;for(let m=0;m<r;m++){let p=h[m];if(!Number.isFinite(p))return null;i.set(m,n,p)}}return i}static eye(t){let e=new Pe(t,t,0);for(let r=0;r<t;r++)e.set(r,r,1);return e}asFiniteGrid(){let t=[];for(let e=0;e<this.nRows;e++){let r=[];for(let i=0;i<this.nCols;i++){let n=En(this.cells[e][i]);if(n===null)return null;r.push(n)}t.push(r)}return t}finiteAll(){let t=[];for(let e=0;e<this.nRows;e++)for(let r=0;r<this.nCols;r++){let i=En(this.cells[e][r]);if(i===null)return null;t.push(i)}return t}flatten(){let t=[];for(let e=0;e<this.nRows;e++)for(let r=0;r<this.nCols;r++)t.push(this.cells[e][r]);return t}lineAt(t,e){if(t==="row"){let n=Rr(e,this.nRows);return n===null?null:this.cells[n]}let r=Rr(e,this.nCols);if(r===null)return null;let i=[];for(let n=0;n<this.nRows;n++)i.push(this.cells[n][r]);return i}flatCells(){let t=[];for(let e=0;e<this.nRows;e++)for(let r=0;r<this.nCols;r++)t.push(this.cells[e][r]);return t}numericFlat(){let t=[];for(let e of this.flatCells()){let r=mu(e);if(r!==null)t.push(r)}return t}}function At(t){return t!==null&&Number.isFinite(t)?t:null}function Dn(t){return{__taRecord:!0,...t}}function Rn(t,e,r){if(t.length===r)t.shift();t.push(e)}function Fn(t){return Number.isFinite(t)?t:null}var g6=0.000000001;function ie(t){if(!Number.isFinite(t)||t<=0)return null;let e=Math.round(t),r=Math.abs(t-e)<=g6?e:Math.floor(t);return r>0?r:null}function Pm(t,e,r){let i=1/r;if(!t.started){if(e===null)return null;t.started=!0}if(!t.seeded){if(e!==null)t.seedBuf.push(e);if(t.seedBuf.length<r)return null;let n=t.seedBuf.reduce((o,s)=>o+s,0)/r;return t.rma=n,t.seeded=!0,t.seedBuf=[],n}if(e===null)return t.rma;return t.rma=i*e+(1-i)*(t.rma??e),t.rma}class xs{smaSites=new Map;emaSites=new Map;rmaSites=new Map;atrSites=new Map;rsiSites=new Map;trSites=new Map;highestSites=new Map;lowestSites=new Map;stdevSites=new Map;changeSites=new Map;wmaSites=new Map;sumSites=new Map;rocSites=new Map;vwmaSites=new Map;cciSites=new Map;crossoverSites=new Map;crossunderSites=new Map;linregSites=new Map;vwapSites=new Map;risingSites=new Map;fallingSites=new Map;almaSites=new Map;cmoSites=new Map;kamaSites=new Map;obvSites=new Map;pivotHighSites=new Map;pivotLowSites=new Map;mfiSites=new Map;sarSites=new Map;adxSites=new Map;dmiSites=new Map;correlationSites=new Map;highestBarsSites=new Map;lowestBarsSites=new Map;swmaSites=new Map;cogSites=new Map;tsiSites=new Map;devSites=new Map;varianceSites=new Map;medianSites=new Map;modeSites=new Map;percentrankSites=new Map;percentileNearestSites=new Map;percentileLinearSites=new Map;cumSites=new Map;barssinceSites=new Map;valuewhenSites=new Map;accdistSites=new Map;pvtSites=new Map;wadSites=new Map;nviSites=new Map;pviSites=new Map;wvadSites=new Map;cmfSites=new Map;klingerSites=new Map;aroonSites=new Map;uoSites=new Map;rciSites=new Map;dpoSites=new Map;kstSites=new Map;stochRsiSites=new Map;bbPctSites=new Map;emvSites=new Map;fractalSites=new Map;zigzagSites=new Map;sma(t,e,r){let i=ie(r);if(i===null)return null;let n=this.smaSites.get(t);if(n===void 0||n.period!==i)n={period:i,window:[],sum:0,count:0},this.smaSites.set(t,n);let o=At(e);if(n.window.length===i){let s=n.window.shift();if(s!==null)n.sum-=s,n.count-=1}if(n.window.push(o),o!==null)n.sum+=o,n.count+=1;if(n.window.length<i||n.count!==i)return null;return n.sum/i}ema(t,e,r){let i=ie(r);if(i===null)return null;let n=this.emaSites.get(t);if(n===void 0||n.period!==i)n={period:i,ema:null,seeded:!1,seedBuf:[]},this.emaSites.set(t,n);let o=At(e),s=2/(i+1);if(!n.seeded){if(o===null)return null;if(n.seedBuf.push(o),n.seedBuf.length<i)return null;let h=n.seedBuf.reduce((m,p)=>m+p,0)/i;return n.ema=h,n.seeded=!0,n.seedBuf=[],h}if(o===null)return n.ema;return n.ema=n.ema==null?o:s*o+(1-s)*n.ema,n.ema}rma(t,e,r){let i=ie(r);if(i===null)return null;let n=this.rmaSites.get(t);if(n===void 0||n.period!==i)n={period:i,rma:null,seeded:!1,started:!1,seedBuf:[]},this.rmaSites.set(t,n);return Pm(n,At(e),i)}atr(t,e,r,i,n){let o=ie(n);if(o===null)return null;let s=this.atrSites.get(t);if(s===void 0||s.period!==o)s={period:o,prevClose:null,rma:{period:o,rma:null,seeded:!1,started:!1,seedBuf:[]}},this.atrSites.set(t,s);let h=s.prevClose;if(s.prevClose=At(i),h===null)return null;let m=At(e),p=At(r),y=At(i);if(m===null||p===null||y===null)return null;let _=Math.max(m-p,Math.abs(m-h),Math.abs(p-h));return Pm(s.rma,_,o)}rsi(t,e,r){let i=ie(r);if(i===null)return null;let n=this.rsiSites.get(t);if(n===void 0||n.period!==i)n={period:i,prev:null,gainSeed:[],lossSeed:[],avgGain:null,avgLoss:null,seeded:!1},this.rsiSites.set(t,n);let o=At(e);if(o===null)return null;let s=n.prev;if(n.prev=o,s===null)return null;let h=o-s,m=h>0?h:0,p=h<0?-h:0,y=1/i;if(!n.seeded){if(n.gainSeed.push(m),n.lossSeed.push(p),n.gainSeed.length<i)return null;let v=0,C=0;for(let M=0;M<i;M++)v+=n.gainSeed[M],C+=n.lossSeed[M];n.avgGain=v/i,n.avgLoss=C/i,n.seeded=!0,n.gainSeed=[],n.lossSeed=[]}else n.avgGain=y*m+(1-y)*n.avgGain,n.avgLoss=y*p+(1-y)*n.avgLoss;if(n.avgLoss===0)return 100;return 100-100/(1+n.avgGain/n.avgLoss)}kc(t,e,r,i,n,o){let s=ie(n);if(s===null)return{mid:null,up:null,lo:null};let h=this.ema(`${t}:ema`,i,s),m=this.atr(`${t}:atr`,e,r,i,s);if(h===null)return{mid:null,up:null,lo:null};let p=(m??0)*o;return{mid:h,up:h+p,lo:h-p}}supertrend(t,e,r,i,n,o){let s=ie(o),h=s===null?null:this.atr(`${t}:atr`,e,r,i,s),m=h===null||!Number.isFinite(h)?0:h,p=At(e)??0,y=At(r)??0,_=At(i)??p,v=(p+y)/2,C=v+n*m,M=v-n*m,A=_>=v?-1:1;return{st:A<0?M:C,dir:A}}tr(t,e,r,i){let n=this.trSites.get(t);if(n===void 0)n={prevClose:null},this.trSites.set(t,n);let o=n.prevClose;if(n.prevClose=At(i),o===null)return null;let s=At(e),h=At(r);if(s===null||h===null)return null;return Math.max(s-h,Math.abs(s-o),Math.abs(h-o))}highest(t,e,r){let i=ie(r);if(i===null)return null;let n=this.highestSites.get(t);if(n===void 0||n.period!==i)n={period:i,window:[]},this.highestSites.set(t,n);if(n.window.length===i)n.window.shift();if(n.window.push(At(e)),n.window.length<i)return null;let o=null;for(let s of n.window)if(s!==null&&(o===null||s>o))o=s;return o}lowest(t,e,r){let i=ie(r);if(i===null)return null;let n=this.lowestSites.get(t);if(n===void 0||n.period!==i)n={period:i,window:[]},this.lowestSites.set(t,n);if(n.window.length===i)n.window.shift();if(n.window.push(At(e)),n.window.length<i)return null;let o=null;for(let s of n.window)if(s!==null&&(o===null||s<o))o=s;return o}stdev(t,e,r){let i=ie(r);if(i===null||i<=1)return null;let n=this.stdevSites.get(t);if(n===void 0||n.period!==i)n={period:i,window:[],sum:0,sumsq:0,count:0},this.stdevSites.set(t,n);let o=At(e);if(n.window.length===i){let h=n.window.shift();if(h!==null)n.sum-=h,n.sumsq-=h*h,n.count-=1}if(n.window.push(o),o!==null)n.sum+=o,n.sumsq+=o*o,n.count+=1;if(n.window.length<i||n.count!==i)return null;let s=(n.sumsq-n.sum*n.sum/i)/(i-1);if(s<0)s=0;return Math.sqrt(s)}change(t,e,r=1){if(!Number.isFinite(r)||r<0)return null;let i=Math.trunc(r),n=At(e);if(i===0)return n===null?null:0;let o=this.changeSites.get(t);if(o===void 0||o.length!==i)o={length:i,window:[]},this.changeSites.set(t,o);if(o.window.length===i+1)o.window.shift();if(o.window.push(n),o.window.length<=i)return null;let s=o.window[o.window.length-1],h=o.window[0];if(s===null||h===null)return null;return s-h}wma(t,e,r){let i=ie(r);if(i===null)return null;let n=this.wmaSites.get(t);if(n===void 0||n.period!==i)n={period:i,window:[]},this.wmaSites.set(t,n);if(n.window.length===i)n.window.shift();if(n.window.push(At(e)),n.window.length<i)return null;let o=0;for(let s=0;s<i;s++){let h=n.window[s];if(h==null)return null;o+=h*(s+1)}return o/(i*(i+1)/2)}crossover(t,e,r){return this.crossStep(this.crossoverSites,t,e,r,!1)}crossunder(t,e,r){return this.crossStep(this.crossunderSites,t,e,r,!0)}macd(t,e,r=12,i=26,n=9){let o=this.ema(`${t}:fast`,e,r),s=this.ema(`${t}:slow`,e,i),h=o===null||s===null?null:o-s,m=this.ema(`${t}:signal`,h,n),p=h!==null&&m!==null&&Number.isFinite(h)&&Number.isFinite(m)?h-m:null;return{macd:h,signal:m,hist:p}}bb(t,e,r,i=2){let n=this.sma(`${t}:sma`,e,r),o=this.stdev(`${t}:stdev`,e,r);if(n===null||o===null)return{mid:null,up:null,lo:null};return{mid:n,up:n+i*o,lo:n-i*o}}sum(t,e,r){let i=ie(r);if(i===null)return null;let n=this.sumSites.get(t);if(n===void 0||n.period!==i)n={period:i,window:[],sum:0,count:0},this.sumSites.set(t,n);let o=At(e);if(n.window.length===i){let s=n.window.shift();if(s!==null)n.sum-=s,n.count-=1}if(n.window.push(o),o!==null)n.sum+=o,n.count+=1;if(n.window.length<i||n.count!==i)return null;return n.sum}roc(t,e,r){if(!Number.isFinite(r)||r<=0)return null;let i=Math.trunc(r),n=At(e);if(i<=0)return null;let o=this.rocSites.get(t);if(o===void 0||o.length!==i)o={length:i,window:[]},this.rocSites.set(t,o);if(o.window.length===i+1)o.window.shift();if(o.window.push(n),o.window.length<=i)return null;let s=o.window[o.window.length-1],h=o.window[0];if(s===null||h===null||h===0)return null;return 100*(s-h)/h}mom(t,e,r){return this.change(t,e,r)}vwma(t,e,r,i){let n=ie(i);if(n===null)return null;let o=this.vwmaSites.get(t);if(o===void 0||o.period!==n)o={period:n,srcWindow:[],volWindow:[],sumPv:0,sumV:0,naCount:0},this.vwmaSites.set(t,o);let s=At(e),h=At(r);if(o.srcWindow.length===n){let m=o.srcWindow.shift(),p=o.volWindow.shift();if(m===null||p===null)o.naCount-=1;else o.sumPv-=m*p,o.sumV-=p}if(o.srcWindow.push(s),o.volWindow.push(h),s===null||h===null)o.naCount+=1;else o.sumPv+=s*h,o.sumV+=h;if(o.srcWindow.length<n||o.naCount>0||o.sumV===0)return null;return o.sumPv/o.sumV}cci(t,e,r){let i=ie(r);if(i===null)return null;let n=this.cciSites.get(t);if(n===void 0||n.period!==i)n={period:i,window:[]},this.cciSites.set(t,n);if(n.window.length===i)n.window.shift();if(n.window.push(At(e)),n.window.length<i)return null;let o=0;for(let p of n.window){if(p==null)return null;o+=p}let s=o/i,h=0;for(let p of n.window)h+=Math.abs(p-s);let m=h/i;if(m===0)return null;return(n.window[i-1]-s)/(0.015*m)}willr(t,e,r,i,n){let o=ie(n);if(o===null)return null;let s=this.highest(`${t}:hh`,e,o),h=this.lowest(`${t}:ll`,r,o),m=At(i);if(s===null||h===null||m===null||s===h)return null;return-100*(s-m)/(s-h)}stoch(t,e,r,i,n){let o=ie(n);if(o===null)return null;let s=this.highest(`${t}:hh`,r,o),h=this.lowest(`${t}:ll`,i,o),m=At(e);if(s===null||h===null||m===null||s===h)return null;return 100*(m-h)/(s-h)}linreg(t,e,r,i=0){let n=ie(r);if(n===null||n<2)return null;let o=Number.isFinite(i)?Math.trunc(i):0,s=this.linregSites.get(t);if(s===void 0||s.period!==n||s.offset!==o)s={period:n,offset:o,window:[]},this.linregSites.set(t,s);if(s.window.length===n)s.window.shift();if(s.window.push(At(e)),s.window.length<n)return null;let h=0;for(let C of s.window){if(C==null)return null;h+=C}let m=(n-1)/2,p=h/n,y=0,_=0;for(let C=0;C<n;C++){let M=C-m;y+=M*(s.window[C]-p),_+=M*M}if(_===0)return p;let v=y/_;return p+v*(n-1-o-m)}vwap(t,e,r){let i=this.vwapSites.get(t);if(i===void 0)i={cumPv:0,cumV:0,value:null},this.vwapSites.set(t,i);let n=At(e);if(n===null)return i.value;let o=At(r)??0;return i.cumPv+=n*o,i.cumV+=o,i.value=i.cumV!==0?i.cumPv/i.cumV:n,i.value}rising(t,e,r){return this.riseFallStep(this.risingSites,t,e,r,!1)}falling(t,e,r){return this.riseFallStep(this.fallingSites,t,e,r,!0)}riseFallStep(t,e,r,i,n){let o=ie(i);if(o===null)return 0;let s=t.get(e);if(s===void 0||s.length!==o)s={length:o,prev:null,streak:0,started:!1},t.set(e,s);let h=At(r);if(!s.started)return s.prev=h,s.started=!0,s.streak=0,0;let m=s.prev,p=h!==null&&m!==null&&(n?h<m:h>m);return s.streak=p?s.streak+1:0,s.prev=h,s.streak>=o?1:0}crossStep(t,e,r,i,n){let o=t.get(e);if(o===void 0)o={prevA:null,prevB:null,started:!1},t.set(e,o);let s=At(r),h=At(i),m=0;if(o.started&&o.prevA!==null&&o.prevB!==null&&s!==null&&h!==null)m=(n?o.prevA>=o.prevB&&s<h:o.prevA<=o.prevB&&s>h)?1:0;return o.prevA=s,o.prevB=h,o.started=!0,m}cross(t,e,r){let i=this.crossover(`${t}:up`,e,r),n=this.crossunder(`${t}:down`,e,r);return i===1||n===1?1:0}bbw(t,e,r,i=2){let n=this.bb(t,e,r,i);if(n.mid===null||n.up===null||n.lo===null||n.mid===0)return null;return(n.up-n.lo)/n.mid}dema(t,e,r){let i=this.ema(`${t}:e1`,e,r),n=this.ema(`${t}:e2`,i,r);if(i===null||n===null)return null;return 2*i-n}tema(t,e,r){let i=this.ema(`${t}:e1`,e,r),n=this.ema(`${t}:e2`,i,r),o=this.ema(`${t}:e3`,n,r);if(i===null||n===null||o===null)return null;return 3*i-3*n+o}highestbars(t,e,r){return this.extremeBars(this.highestBarsSites,t,e,r,!0)}lowestbars(t,e,r){return this.extremeBars(this.lowestBarsSites,t,e,r,!1)}extremeBars(t,e,r,i,n){let o=ie(i);if(o===null)return null;let s=t.get(e);if(s===void 0||s.period!==o)s={period:o,window:[]},t.set(e,s);if(s.window.length===o)s.window.shift();if(s.window.push(At(r)),s.window.length<o)return null;let h=-1,m=null;for(let p=0;p<s.window.length;p++){let y=s.window[p];if(y===null)continue;if(m===null||(n?y>m:y<m))m=y,h=p}if(h<0)return null;return h-(s.window.length-1)}alma(t,e,r,i=0.85,n=6){let o=ie(r);if(o===null)return null;if(!Number.isFinite(i)||!Number.isFinite(n))return null;let s=i,h=n,m=this.almaSites.get(t);if(m===void 0||m.period!==o||m.offset!==s||m.sigma!==h){let y=s*(o-1),_=h===0?0:o/h,v=[],C=0;for(let M=0;M<o;M++){let A=_===0?1:Math.exp(-((M-y)**2)/(2*_*_));v.push(A),C+=A}m={period:o,offset:s,sigma:h,window:[],weights:v,wsum:C},this.almaSites.set(t,m)}if(m.window.length===o)m.window.shift();if(m.window.push(At(e)),m.window.length<o||m.wsum===0)return null;let p=0;for(let y=0;y<o;y++){let _=m.window[y];if(_==null)return null;p+=_*m.weights[y]}return p/m.wsum}cmo(t,e,r){let i=ie(r);if(i===null)return null;let n=this.cmoSites.get(t);if(n===void 0||n.period!==i)n={period:i,window:[],up:0,down:0},this.cmoSites.set(t,n);let o=At(e);if(n.window.length===i+1){let m=n.window[0],p=n.window[1];if(m!==null&&p!==null){let y=p-m;if(y>0)n.up-=y;else n.down-=-y}n.window.shift()}let s=n.window.length===0?null:n.window[n.window.length-1];if(n.window.push(o),s!==null&&o!==null){let m=o-s;if(m>0)n.up+=m;else n.down+=-m}if(n.window.length<i+1)return null;let h=n.up+n.down;if(h===0)return 0;return 100*(n.up-n.down)/h}kama(t,e,r,i=2,n=30){let o=ie(r);if(o===null)return null;let s=Number.isFinite(i)?Math.trunc(i):2,h=Number.isFinite(n)?Math.trunc(n):30;if(s===-1||h===-1)return null;let m=this.kamaSites.get(t);if(m===void 0||m.period!==o||m.fast!==s||m.slow!==h)m={period:o,fast:s,slow:h,prices:[],diffs:[],vol:0,kama:null,seeded:!1,bars:0},this.kamaSites.set(t,m);let p=At(e);if(p===null)return null;let y=m.prices.length===0?null:m.prices[m.prices.length-1];if(m.prices.length===o+1)m.prices.shift();if(m.prices.push(p),m.bars+=1,y!==null){let A=Math.abs(p-y);if(m.diffs.length===o)m.vol-=m.diffs.shift();m.diffs.push(A),m.vol+=A}if(!m.seeded){if(m.bars<o)return null;return m.kama=p,m.seeded=!0,null}let _=m.prices[0],v=Math.abs(p-_),C=m.vol,M;if(C!==0){let A=v/C,k=2/(s+1),R=2/(h+1),T=A*(k-R)+R;M=T*T}else M=(2/(h+1))**2;return m.kama=(m.kama??p)+M*(p-(m.kama??p)),m.kama}obv(t,e,r){let i=this.obvSites.get(t);if(i===void 0)i={prev:null,obv:0,bars:0},this.obvSites.set(t,i);let n=At(e),o=At(r)??0;if(i.bars+=1,i.bars<3)return i.prev=n,0;if(n!==null&&i.prev!==null){if(n>i.prev)i.obv+=o;else if(n<i.prev)i.obv-=o}return i.prev=n,i.obv}pivothigh(t,e,r,i){return this.pivotStep(this.pivotHighSites,t,e,r,i,!0)}pivotlow(t,e,r,i){return this.pivotStep(this.pivotLowSites,t,e,r,i,!1)}pivotStep(t,e,r,i,n,o){if(!Number.isFinite(i)||!Number.isFinite(n)||i<0||n<0)return null;let s=Math.trunc(i),h=Math.trunc(n),m=t.get(e);if(m===void 0||m.left!==s||m.right!==h)m={left:s,right:h,window:[],n:0},t.set(e,m);let p=s+1;if(m.window.length===p)m.window.shift();if(m.window.push(At(r)),m.n+=1,m.n<=s+h||m.window.length<p)return null;let y=m.window[m.window.length-1];if(y===null)return null;for(let _=1;_<=s;_++){let v=m.window[m.window.length-1-_];if(v===null)continue;if(o?v>=y:v<=y)return null}return y}hma(t,e,r){let i=ie(r);if(i===null)return null;let n=Math.max(1,Math.trunc(i/2)),o=Math.max(1,Math.trunc(Math.sqrt(i))),s=this.wma(`${t}:half`,e,n),h=this.wma(`${t}:full`,e,i),m=s===null||h===null?null:2*s-h;return this.wma(`${t}:sqrt`,m,o)}mfi(t,e,r,i,n,o){let s=ie(o);if(s===null)return null;let h=this.mfiSites.get(t);if(h===void 0||h.period!==s)h={period:s,tps:[],mfs:[]},this.mfiSites.set(t,h);let m=At(e),p=At(r),y=At(i);if(h.tps.length===s+1)h.tps.shift(),h.mfs.shift();if(m===null||p===null||y===null)return h.tps.push(null),h.mfs.push(null),null;let _=At(n)??0,v=(m+p+y)/3;if(h.tps.push(v),h.mfs.push(v*_),h.tps.length<=s)return null;let C=0,M=0,A=h.tps.length-s;for(let R=A;R<h.tps.length;R++){let T=h.tps[R],I=h.tps[R-1],P=h.mfs[R];if(T===null||I===null||P===null)return null;if(T>I)C+=P;else if(T<I)M+=P}if(M===0)return C===0?50:100;return 100-100/(1+C/M)}sar(t,e,r,i=0.02,n=0.02,o=0.2){if(!Number.isFinite(i)||!Number.isFinite(n)||!Number.isFinite(o))return null;let s=i,h=n,m=o,p=this.sarSites.get(t);if(p===void 0||p.start!==s||p.increment!==h||p.maximum!==m)p={start:s,increment:h,maximum:m,started:!1,sar:null,ep:null,trend:1,af:s},this.sarSites.set(t,p);let y=At(e),_=At(r);if(!p.started){if(y===null||_===null)return null;return p.started=!0,p.sar=_,p.ep=y,p.trend=1,p.af=s,_}let v=p.sar,C=p.ep;if(v===null||y===null||_===null||C===null)return v;let M=p.trend,A=p.af,k=C,R;if(M===1){if(R=v+A*(k-v),y>k)k=y,A=Math.min(A+h,m);if(R>_)M=-1,R=k,k=_,A=s}else{if(R=v-A*(v-k),_<k)k=_,A=Math.min(A+h,m);if(R<y)M=1,R=k,k=y,A=s}return p.sar=R,p.ep=k,p.trend=M,p.af=A,Number.isFinite(R)?R:null}adx(t,e,r,i,n){let o=ie(n);if(o===null)return 0;let s=this.adxSites.get(t);if(s===void 0||s.period!==o)s={period:o,prevH:null,prevL:null,prevC:null,n:0},this.adxSites.set(t,s);let h,m,p;if(s.prevH===null||s.prevL===null||s.prevC===null)h=null,m=null,p=null;else{let A=e!==null&&Number.isFinite(e)?e:Number.NaN,k=r!==null&&Number.isFinite(r)?r:Number.NaN,R=Math.max(A-k,Math.abs(A-s.prevC),Math.abs(k-s.prevC));h=Number.isFinite(R)?R:null;let T=A-s.prevH,I=s.prevL-k;m=T>I&&T>0?T:0,p=I>T&&I>0?I:0}s.prevH=At(e),s.prevL=At(r),s.prevC=At(i),s.n+=1;let y=this.rma(`${t}:tr`,h,o),_=this.rma(`${t}:pdm`,m,o),v=this.rma(`${t}:mdm`,p,o);if(s.n<o)return 0;if(y===null)return 0;let C;if(_===null||v===null)C=null;else{let A=y!==0?100*_/y:0,k=y!==0?100*v/y:0,R=A+k;C=R!==0?100*Math.abs(A-k)/R:0}let M=this.rma(`${t}:dx`,C,o);return M===null?0:M}dmi(t,e,r,i,n,o){let s=ie(n);if(s===null)return{plus:null,minus:null,adx:null};let h=this.dmiSites.get(t);if(h===void 0||h.diLen!==s)h={diLen:s,prevH:null,prevL:null,prevC:null},this.dmiSites.set(t,h);let m,p,y;if(h.prevH===null||h.prevL===null||h.prevC===null)m=null,p=0,y=0;else{let R=At(e)??0,T=At(r)??0,I=h.prevH,P=h.prevL,F=h.prevC;m=Math.max(R-T,Math.abs(R-F),Math.abs(T-F));let G=R-I,lt=P-T;p=G>lt&&G>0?G:0,y=lt>G&<>0?lt:0}h.prevH=At(e),h.prevL=At(r),h.prevC=At(i);let _=this.rma(`${t}:tr`,m,s),v=this.rma(`${t}:pdm`,p,s),C=this.rma(`${t}:mdm`,y,s),M,A;if(_===null)M=null,A=null;else if(_===0)M=0,A=0;else M=100*(v??0)/_,A=100*(C??0)/_;let k=this.adx(`${t}:adx`,e,r,i,o);return{plus:M,minus:A,adx:k}}correlation(t,e,r,i){let n=ie(i);if(n===null||n<2)return null;let o=this.correlationSites.get(t);if(o===void 0||o.length!==n)o={length:n,a:[],b:[]},this.correlationSites.set(t,o);if(o.a.length===n)o.a.shift(),o.b.shift();if(o.a.push(At(e)),o.b.push(At(r)),o.a.length<n)return null;let s=[],h=[];for(let k=0;k<n;k++){let R=o.a[k],T=o.b[k];if(R!==null&&T!==null)s.push(R),h.push(T)}if(s.length<2)return null;let m=s.length,p=0,y=0;for(let k=0;k<m;k++)p+=s[k],y+=h[k];p/=m,y/=m;let _=0,v=0,C=0;for(let k=0;k<m;k++){let R=s[k]-p,T=h[k]-y;_+=R*T,v+=R*R,C+=T*T}let M=Math.sqrt(v),A=Math.sqrt(C);if(M===0||A===0)return null;return _/(M*A)}accdist(t,e,r,i,n){let o=this.accdistSites.get(t);if(o===void 0)o={ad:0},this.accdistSites.set(t,o);let s=At(e),h=At(r),m=At(i);if(s===null||h===null||m===null)return o.ad;let p=At(n)??0,y=s-h,_=y===0?0:(m-h-(s-m))/y;return o.ad+=_*p,o.ad}pvt(t,e,r){let i=this.pvtSites.get(t);if(i===void 0)i={pvt:0,prev:null},this.pvtSites.set(t,i);let n=At(e),o=i.prev;if(o!==null&&o!==0&&n!==null){let s=At(r)??0;i.pvt+=s*(n-o)/o}if(n!==null)i.prev=n;return i.pvt}wad(t,e,r,i,n){let o=this.wadSites.get(t);if(o===void 0)o={wad:0,prev:null,started:!1},this.wadSites.set(t,o);let s=At(e),h=At(r),m=At(i),p=At(n)??0;if(!o.started)return o.started=!0,o.prev=m,o.wad=0,0;let y=o.prev;if(m!==null&&y!==null){let _=s??m,v=h??m;if(m>y)o.wad+=p*(m-v);else if(m<y)o.wad-=p*(_-m)}if(m!==null)o.prev=m;return o.wad}nvi(t,e,r){return this.volIndexStep(this.nviSites,t,e,r,(i,n)=>i<n)}pvi(t,e,r){return this.volIndexStep(this.pviSites,t,e,r,(i,n)=>i>n)}volIndexStep(t,e,r,i,n){let o=t.get(e);if(o===void 0)o={value:1000,prevClose:null,prevVol:null,started:!1},t.set(e,o);let s=At(r),h=At(i)??0;if(!o.started){if(o.started=!0,s!==null)o.prevClose=s;return o.prevVol=h,o.value}if(s!==null&&o.prevClose!==null&&n(h,o.prevVol??0)){let m=o.prevClose!==0?(s-o.prevClose)/o.prevClose:0,p=o.value*(1+m);if(Number.isFinite(p))o.value=p}if(s!==null)o.prevClose=s;return o.prevVol=h,o.value}iii(t,e,r,i,n){let o=At(e),s=At(r),h=At(i);if(o===null||s===null||h===null)return null;let m=o-s;if(m===0)return 0;let p=At(n)??0;return(2*h-o-s)/m*p}wvad(t,e,r,i,n,o){let s=this.wad(`${t}:wad`,e,r,i,n),h=Number.isFinite(o)?Math.trunc(o):0;if(h<=0)return 0;let m=this.wvadSites.get(t);if(m===void 0||m.period!==h)m={period:h,vols:[],volSum:0},this.wvadSites.set(t,m);let p=At(n)??0;if(m.vols.length===h)m.volSum-=m.vols.shift();if(m.vols.push(p),m.volSum+=p,m.volSum>0&&s!==null)return s/m.volSum;return 0}cmf(t,e,r,i,n,o){let s=Number.isFinite(o)?Math.trunc(o):0;if(s<=0)return null;let h=this.cmfSites.get(t);if(h===void 0||h.period!==s)h={period:s,mf:[],vol:[],mfSum:0,volSum:0},this.cmfSites.set(t,h);let m=At(e),p=At(r),y=At(i),_=At(n)??0,v=0;if(m!==null&&p!==null&&y!==null){let M=m-p;v=M===0?0:(y-p-(m-y))/M}let C=v*_;if(h.mf.length===s)h.mfSum-=h.mf.shift(),h.volSum-=h.vol.shift();return h.mf.push(C),h.vol.push(_),h.mfSum+=C,h.volSum+=_,h.volSum>0?h.mfSum/h.volSum:0}klinger(t,e,r,i,n){let o=this.klingerSites.get(t);if(o===void 0)o={prev:null,cum:0,started:!1},this.klingerSites.set(t,o);let s=At(e),h=At(r)??0;if(!o.started)o.started=!0,o.prev=s,o.cum=0;else{let _=o.prev,v=0;if(s!==null&&_!==null){if(s>_)v=h;else if(s<_)v=-h}if(o.cum+=v,s!==null)o.prev=s}let m=this.ema(`${t}:fast`,o.cum,i),p=this.ema(`${t}:slow`,o.cum,n);if(m===null||p===null)return null;let y=m-p;return Number.isFinite(y)?y:null}pivotPoints(t,e,r,i,n){let o=At(e),s=At(r),h=At(i);if(o===null||s===null||h===null)return{pp:null,r1:null,s1:null,r2:null,s2:null};let m=(o+s+h)/3,p=o-s;return{pp:m,r1:2*m-s,s1:2*m-o,r2:m+p,s2:m-p}}swma(t,e,r){let n=r===void 0||Number.isNaN(r)?4:ie(r);if(n===null)return null;let o=this.swmaSites.get(t);if(o===void 0||o.period!==n){let h=[],m=0;for(let p=0;p<n;p++){let y=p<n>>1?p+1:p>n-1>>1?n-p:(n>>1)+1;h.push(y),m+=y}o={period:n,window:[],weights:h,wsum:m},this.swmaSites.set(t,o)}if(o.window.length===n)o.window.shift();if(o.window.push(At(e)),o.window.length<n||o.wsum===0)return null;let s=0;for(let h=0;h<n;h++){let m=o.window[h];if(m==null)return null;s+=m*o.weights[h]}return s/o.wsum}cog(t,e,r){let i=ie(r);if(i===null)return null;let n=this.cogSites.get(t);if(n===void 0||n.period!==i)n={period:i,window:[]},this.cogSites.set(t,n);if(n.window.length===i)n.window.shift();if(n.window.push(At(e)),n.window.length<i)return null;let o=0,s=0;for(let h=0;h<i;h++){let m=n.window[i-1-h];if(m===null)continue;o+=(h+1)*m,s+=m}if(s===0)return null;return-o/s}tsi(t,e,r,i){let n=ie(r),o=ie(i);if(n===null||o===null)return null;let s=this.tsiSites.get(t);if(s===void 0||s.longPeriod!==n||s.shortPeriod!==o)s={longPeriod:n,shortPeriod:o,prev:null,nBars:0,value:null},this.tsiSites.set(t,s);let h=At(e);s.nBars+=1;let m=s.prev;if(s.prev=h,m===null||h===null){if(s.nBars<n+o)return s.value=null,null;return s.value}let p=h-m,y=`${t}:${n}:${o}`,_=this.ema(`${y}:mom`,p,n),v=this.ema(`${y}:mom2`,_,o),C=this.ema(`${y}:abs`,Math.abs(p),n),M=this.ema(`${y}:abs2`,C,o);if(s.nBars<n+o)return s.value=null,null;if(M===null||M===0)return s.value=M===0?0:null,s.value;if(v===null)return s.value=null,null;return s.value=100*(v/M),s.value}kcw(t,e,r,i,n,o){let s=this.kc(t,e,r,i,n,o);if(s.mid===null||s.up===null||s.lo===null||s.mid===0)return null;return(s.up-s.lo)/s.mid}dev(t,e,r){let i=ie(r);if(i===null)return null;let n=this.devSites.get(t);if(n===void 0||n.period!==i)n={period:i,window:[],sum:0,count:0},this.devSites.set(t,n);let o=At(e);if(n.window.length===i){let m=n.window.shift();if(m!==null)n.sum-=m,n.count-=1}if(n.window.push(o),o!==null)n.sum+=o,n.count+=1;if(n.window.length<i||n.count!==i)return null;let s=n.sum/i,h=0;for(let m of n.window){if(m===null)return null;h+=Math.abs(m-s)}return h/i}variance(t,e,r){let i=ie(r);if(i===null||i<=1)return null;let n=this.varianceSites.get(t);if(n===void 0||n.period!==i)n={period:i,window:[],sum:0,sumsq:0,count:0},this.varianceSites.set(t,n);let o=At(e);if(n.window.length===i){let h=n.window.shift();if(h!==null)n.sum-=h,n.sumsq-=h*h,n.count-=1}if(n.window.push(o),o!==null)n.sum+=o,n.sumsq+=o*o,n.count+=1;if(n.window.length<i||n.count!==i)return null;let s=(n.sumsq-n.sum*n.sum/i)/(i-1);if(s<0)s=0;return s}median(t,e,r){let i=ie(r);if(i===null)return null;let n=this.medianSites.get(t);if(n===void 0||n.period!==i)n={period:i,window:[]},this.medianSites.set(t,n);if(n.window.length===i)n.window.shift();if(n.window.push(At(e)),n.window.length<i)return null;let o=[];for(let h of n.window)if(h!==null)o.push(h);if(o.length===0)return null;o.sort((h,m)=>h-m);let s=o.length>>1;if(o.length%2===1)return o[s];return(o[s-1]+o[s])/2}mode(t,e,r){let i=ie(r);if(i===null)return null;let n=this.modeSites.get(t);if(n===void 0||n.period!==i)n={period:i,window:[]},this.modeSites.set(t,n);if(n.window.length===i)n.window.shift();if(n.window.push(At(e)),n.window.length<i)return null;let o=new Map,s=null,h=0;for(let m of n.window){if(m===null)continue;let p=(o.get(m)??0)+1;if(o.set(m,p),p>h)h=p,s=m}return s}percentrank(t,e,r){let i=ie(r);if(i===null)return null;let n=this.percentrankSites.get(t);if(n===void 0||n.period!==i)n={period:i,window:[]},this.percentrankSites.set(t,n);let o=At(e);if(n.window.length===i)n.window.shift();if(n.window.push(o),n.window.length<i)return null;let s=[];for(let m of n.window)if(m!==null)s.push(m);if(s.length<2)return 50;if(o===null)return null;let h=0;for(let m of s)if(m<o)h+=1;return h/s.length*100}percentileNearest(t,e,r,i){return this.percentileStep(this.percentileNearestSites,t,e,r,i,!1)}percentileLinear(t,e,r,i){return this.percentileStep(this.percentileLinearSites,t,e,r,i,!0)}percentileStep(t,e,r,i,n,o){let s=ie(i);if(s===null||!Number.isFinite(n))return null;let h=t.get(e);if(h===void 0||h.period!==s||h.percentage!==n)h={period:s,percentage:n,window:[]},t.set(e,h);if(h.window.length===s)h.window.shift();if(h.window.push(At(r)),h.window.length<s)return null;let m=[];for(let _ of h.window)if(_!==null)m.push(_);if(m.length===0)return null;m.sort((_,v)=>_-v);let p=m.length;if(o){if(p===1)return m[0];let _=n/100*(p-1),v=Math.trunc(_),C=Math.min(v+1,p-1),M=_-v;return m[v]*(1-M)+m[C]*M}let y=Math.trunc(n/100*p+0.999999);if(y<1)y=1;if(y>p)y=p;return m[y-1]}cum(t,e){let r=this.cumSites.get(t);if(r===void 0)r={total:0},this.cumSites.set(t,r);let i=At(e);return r.total+=i??0,r.total}barssince(t,e){let r=this.barssinceSites.get(t);if(r===void 0)r={everTrue:!1,barsSince:0},this.barssinceSites.set(t,r);let i=At(e);if(i!==null&&i!==0)return r.everTrue=!0,r.barsSince=0,0;return r.barsSince+=1,r.everTrue?r.barsSince:null}valuewhen(t,e,r,i=0){if(!Number.isFinite(i)||i<0)return null;let n=Math.trunc(i),o=this.valuewhenSites.get(t);if(o===void 0||o.occurrence!==n)o={occurrence:n,hits:[]},this.valuewhenSites.set(t,o);let s=At(e);if(s!==null&&s!==0){if(o.hits.length===n+1)o.hits.shift();o.hits.push(At(r))}if(o.hits.length<=n)return null;return o.hits[o.hits.length-1-n]}range(t,e,r){let i=this.highest(`${t}:hi`,e,r),n=this.lowest(`${t}:lo`,e,r);if(i===null||n===null)return null;return i-n}max(t,e,r){return this.highest(t,e,r)}min(t,e,r){return this.lowest(t,e,r)}ao(t,e,r,i=5,n=34){let o=ie(i),s=ie(n);if(o===null||s===null)return null;let h=At(e),m=At(r),p=h!==null&&m!==null?(h+m)/2:null,y=this.sma(`${t}:ao:fast:${o}`,p,o),_=this.sma(`${t}:ao:slow:${s}`,p,s);if(y===null||_===null)return null;let v=y-_;return Number.isFinite(v)?v:null}aroon(t,e,r,i=14){let n=ie(i),o={down:null,up:null};if(n===null)return o;let s=n+1,h=this.aroonSites.get(t);if(h===void 0||h.length!==n)h={length:n,highs:[],lows:[]},this.aroonSites.set(t,h);if(h.highs.length===s)h.highs.shift(),h.lows.shift();if(h.highs.push(At(e)),h.lows.push(At(r)),h.highs.length<s)return o;let m=null,p=null,y=0,_=0;for(let k=0;k<s;k++){let R=h.highs[k],T=h.lows[k];if(R===null||T===null)return o;if(m===null||R>m)m=R,y=k;if(p===null||T<p)p=T,_=k}let v=s-1-y,C=s-1-_,M=100*(n-v)/n,A=100*(n-C)/n;return{down:Number.isFinite(A)?A:null,up:Number.isFinite(M)?M:null}}uo(t,e,r,i,n,o,s){let h=ie(n),m=ie(o),p=ie(s);if(h===null||m===null||p===null)return null;let y=Math.max(h,m,p),_=this.uoSites.get(t);if(_===void 0||_.n1!==h||_.n2!==m||_.n3!==p)_={n1:h,n2:m,n3:p,prev:null,window:[]},this.uoSites.set(t,_);let v=At(e),C=At(r),M=At(i),A=_.prev;_.prev=M;let k=null,R=null;if(A!==null&&v!==null&&C!==null&&M!==null){let G=C<A?C:A,lt=v>A?v:A;k=M-G,R=lt-G}if(Rn(_.window,[k,R],y),_.window.length<y)return null;let T=(G)=>{let lt=0,dt=0,ut=_.window.length-G;for(let V=ut;V<_.window.length;V++){let nt=_.window[V];if(nt[0]===null||nt[1]===null)return null;lt+=nt[0],dt+=nt[1]}if(dt===0)return null;return lt/dt},I=T(h),P=T(m),F=T(p);if(I===null||P===null||F===null)return null;return Fn(100*(4*I+2*P+F)/7)}rci(t,e,r){let i=ie(r);if(i===null||i<2)throw Error("ta.rci length must be at least 2");let n=this.rciSites.get(t);if(n===void 0||n.length!==i)n={length:i,window:[]},this.rciSites.set(t,n);if(Rn(n.window,At(e),i),n.window.length<i)return null;let o=[];for(let s of n.window){if(s===null)return null;o.push(s)}return _6(o)}dpo(t,e,r){let i=ie(r);if(i===null)return null;let n=Math.floor(i/2)+1,o=Math.max(i,n),s=this.dpoSites.get(t);if(s===void 0||s.length!==i)s={length:i,window:[]},this.dpoSites.set(t,s);let h=At(e);if(Rn(s.window,h,o),s.window.length<i||s.window.length<n)return null;let m=s.window.length-i;if(h===null)return null;let p=0;for(let _=m;_<s.window.length;_++){let v=s.window[_];if(v===null)return null;p+=v}let y=s.window[s.window.length-n];if(y===null||y===void 0)return null;return Fn(y-p/i)}kst(t,e,r,i,n,o){let s=[ie(r),ie(i),ie(n),ie(o)];if(s.some((C)=>C===null))return null;let h=s;if(Math.min(...h)<1)return null;let m=Math.max(...h),p=h.join(","),y=this.kstSites.get(t);if(y===void 0||y.key!==p)y={key:p,window:[]},this.kstSites.set(t,y);let _=At(e);if(Rn(y.window,_,m),y.window.length<m||_===null)return null;let v=[];for(let C of h){let M=y.window[y.window.length-C];if(M===null||M===void 0)return null;if(M===0)v.push(0);else v.push((_-M)/M*100)}return Fn((v[0]*1+v[1]*2+v[2]*3+v[3]*4)/10)}stochRsi(t,e,r,i){let n=Dn({stochrsi:null,signal:null}),o=ie(r),s=ie(i);if(o===null||s===null)return n;let h=this.stochRsiSites.get(t);if(h===void 0||h.rsiLen!==o||h.stochLen!==s)h={rsiLen:o,stochLen:s,prices:[],rsiRing:[],bars:0,validRsi:0,signal:null},this.stochRsiSites.set(t,h);let m=At(e);if(m===null)return Dn({stochrsi:null,signal:h.signal});if(Rn(h.prices,m,o),h.bars+=1,h.bars<=o)return n;if(h.prices.length<o)return n;let p=0,y=0;for(let F=1;F<h.prices.length;F++){let G=h.prices[F]-h.prices[F-1];if(G>0)p+=G;else y+=-G}let _=p/o,v=y/o,M=100-100/(1+(v!==0?_/v:100));if(Rn(h.rsiRing,M,s),h.validRsi+=1,h.validRsi<s||h.rsiRing.length<s)return n;let A=h.rsiRing[0],k=A;for(let F of h.rsiRing){if(F>A)A=F;if(F<k)k=F}let R=A-k,T=R===0?0:(M-k)/R*100,I=h.signal===null?T:h.signal,P=T*0.33+I*0.67;return h.signal=P,Dn({stochrsi:Fn(T),signal:Fn(P)})}donchian(t,e,r,i){let n=Dn({high:null,low:null,mid:null}),o=this.highest(`${t}:hi`,e,i),s=this.lowest(`${t}:lo`,r,i);if(o===null||s===null)return n;return Dn({high:o,low:s,mid:(o+s)/2})}ichimoku(t,e,r,i,n){let o=(y,_)=>{let v=this.highest(`${t}:${y}:hi`,e,_),C=this.lowest(`${t}:${y}:lo`,r,_);if(v===null||C===null)return null;return(v+C)/2},s=o("tenkan",i),h=o("kijun",n),m=s!==null&&h!==null?(s+h)/2:null,p=o("spanb",52);return Dn({tenkan_sen:s,kijun_sen:h,senkou_span_a:m,senkou_span_b:p})}bbPct(t,e,r,i){let n=ie(r);if(n===null)return null;let o=Number.isFinite(i)?i:2,s=this.bbPctSites.get(t);if(s===void 0||s.length!==n)s={length:n,window:[]},this.bbPctSites.set(t,s);if(Rn(s.window,At(e),n),s.window.length<n)return null;let h=0;for(let A of s.window){if(A===null)return null;h+=A}let m=h/n,p=0;for(let A of s.window){let k=A-m;p+=k*k}let y=Math.sqrt(p/n),_=m+y*o,v=m-y*o;if(_===v)return 50;let M=(s.window[s.window.length-1]-v)/(_-v)*100;if(M<0)M=0;if(M>100)M=100;return Fn(M)}emv(t,e,r,i,n){let o=ie(n);if(o===null)return null;let s=this.emvSites.get(t);if(s===void 0||s.length!==o)s={length:o,prevH:null,prevL:null,started:!1,valid:[]},this.emvSites.set(t,s);let h=At(e),m=At(r),p=At(i);if(!s.started)return s.started=!0,s.prevH=h,s.prevL=m,null;let y=null;if(h!==null&&m!==null&&p!==null&&p!==0&&s.prevH!==null&&s.prevL!==null){let v=(h+m)/2-(s.prevH+s.prevL)/2,C=h-m;if(C!==0){let M=v/C*(h-m)/p;y=Number.isFinite(M)?M:null}}if(s.prevH=h,s.prevL=m,y!==null)Rn(s.valid,y,o);if(s.valid.length<o)return null;let _=0;for(let v of s.valid)_+=v;return Fn(_/o)}fractal(t,e,r,i){let n=Dn({is_high_fractal:!1,is_low_fractal:!1}),o=ie(i);if(o===null)return n;let s=o+1,h=o*2+1,m=this.fractalSites.get(t);if(m===void 0||m.period!==o)m={period:o,highs:[],lows:[],bars:0},this.fractalSites.set(t,m);if(m.bars+=1,Rn(m.highs,At(e),s),Rn(m.lows,At(r),s),m.bars<h||m.highs.length<s)return n;let p=m.highs[m.highs.length-1],y=m.lows[m.lows.length-1];if(p===null||y===null)return n;let _=p,v=y;for(let C of m.highs){if(C===null)return n;if(C>_)_=C}for(let C of m.lows){if(C===null)return n;if(C<v)v=C}return Dn({is_high_fractal:p===_,is_low_fractal:y===v})}atrStop(t,e,r){let i=At(t),n=At(e),o=Number.isFinite(r)?r:2;if(i===null||n===null||n<=0)return Dn({long_stop:null,short_stop:null});return Dn({long_stop:Fn(i-n*o),short_stop:Fn(i+n*o)})}zigzag(t,e,r){let i=Number.isFinite(r)?r:5,n=this.zigzagSites.get(t);if(n===void 0)n={samples:[]},this.zigzagSites.set(t,n);Rn(n.samples,At(e),1000);let o=[];for(let v of n.samples)if(v!==null)o.push(v);if(o.length<2)return{high:null,low:null,dir:0};let s=o[0],h=o[1],m=Math.max(s,h),p=Math.min(s,h),y=p!==0?(m-p)/p*100:0,_=m===s?1:-1;return{high:m,low:p,dir:y>i?1:_}}}function _6(t){let e=t.length;if(e<2)return null;let r=t.map((o,s)=>s);r.sort((o,s)=>t[o]-t[s]);let i=0;for(let o=0;o<e;o++){let s=r[o]-o;i+=s*s}let n=e*(e*e-1);if(n===0)return null;return Fn(1-6*i/n)}class Qn extends Error{constructor(t){super(t);this.name="CompileError"}}class Di extends Qn{constructor(t){super(t);this.name="CompileEmitError"}}class ws extends Qn{constructor(t){super(t);this.name="CompileLoadError"}}class Bo extends Qn{constructor(t){super(t);this.name="CompileIneligibleError"}}Jr();var b8=new Set(["arguments","await","break","case","catch","class","const","continue","debugger","default","delete","do","else","enum","eval","export","extends","false","finally","for","from","function","if","implements","import","in","instanceof","interface","let","new","null","of","package","private","protected","public","return","static","super","switch","this","throw","true","try","typeof","var","void","while","with","yield","__bar_idx","__h"]),Lu=new WeakMap;function Es(t){if(!t)return"_";let e=/^[A-Za-z_$]/.test(t)?t:`_${t}`;return e=e.replace(/[^A-Za-z0-9_$]/g,"_"),b8.has(e)?`${e}_`:e}function y8(t,e){return`__st_${t}_${Es(e)}`}function l_(t){return t.trim().replace(/;+\s*$/,"")}function a_(t){return t.split(`
|
|
58
|
+
`).map((e)=>e.length?` ${e}`:e).join(`
|
|
59
|
+
`)}function u_(t){let e=t.trimEnd();if(!e)return e;if(/[;{}]$/.test(e))return e;return`${e};`}var x8=new Set(["If","ForTo","ForIn","While","Switch"]);function w8(t){return t.kind==="Expr"&&x8.has(t.value.kind)}function o_(t){if(t==null)return!1;let e=typeof t==="object"&&t!=null&&"kind"in t?t.kind:String(t);return e==="Var"||e==="VarIp"}function v8(t,e){if(t.default==null)return"null";return qf(t.default,e)}function qf(t,e){return l_(e({kind:"Expr",value:t}))||"null"}function S8(t,e){let r=t.target;if(r.kind==="Name"){let i=e.get(r.id);if(i!=null)return` return ${i}[__bar_idx];`;return` return ${Es(r.id)};`}return" return null;"}function C8(t){let e=l_(t);if(!e)return" return null;";if(/^return\b/.test(e))return a_(u_(e));return` return ${e};`}function Hf(t,e){if(t==null||typeof t!=="object")return;if(Array.isArray(t)){for(let i of t)Hf(i,e);return}let r=t;if(r.kind==="FunctionDef"||r.kind==="TypeDef"||r.kind==="EnumDef"){e(r);return}if(typeof r.kind==="string")e(r);for(let i of Object.values(r))Hf(i,e)}function $f(t,e){if(t==null||typeof t!=="object")return;let r=t;if(r.kind==="Name"&&typeof r.id==="string"){e.add(r.id);return}if(r.kind==="Tuple")for(let i of r.elts??[])$f(i,e)}function M8(t,e,r,i){let n=Lu.get(t);if(n==null)n=new Map,Lu.set(t,n);if(n.set(e,i),r!==e)n.set(r,i)}function k8(t,e,r){let i=Lu.get(t)?.get(e)??Lu.get(t)?.get(r);if(i!=null)return i;let n=`__st_${r}_`;return[...t.stArrays].filter((o)=>o.startsWith(n)).sort()}function E8(t){let e=Array.isArray(t.args)?t.args:[],r=[];for(let i=0;i<e.length;i++){let n=e[i];r.push(t.method&&i===0&&!n.name?"this":n.name)}return r}function zf(t,e,r){let i=e.name;t.userFuncs.add(i);let n=Es(i);if(n!==i)t.userFuncs.add(n);let o=Array.isArray(e.args)?e.args:[],s=E8(e);if(t.funcParamNames.set(i,s),n!==i)t.funcParamNames.set(n,s);let h=new Set(s),m=Array.isArray(e.body)?e.body:[],p=new Set,y=new Set,_=new Set,v=new Set,C=new Map;if(Hf(m,(P)=>{if(P.kind==="Subscript"){let F=P.value;if(F?.kind==="Name"&&typeof F.id==="string"){if(v.add(F.id),h.has(F.id))p.add(F.id)}}if(P.kind==="Assign"||P.kind==="ReAssign"){if($f(P.target,y),P.kind==="Assign"&&o_(P.mode)){let F=new Set;$f(P.target,F);for(let G of F){if(h.has(G))continue;if(_.add(G),!C.has(G))C.set(G,P.value??null)}}}}),t.funcSeriesParams.set(i,p),n!==i)t.funcSeriesParams.set(n,p);let M=[...new Set([..._,...v])].filter((P)=>y.has(P)&&!h.has(P)).sort(),A=new Map,k=[];for(let P of M){let F=y8(n,P);t.stArrays.add(F),A.set(P,F),k.push(F)}M8(t,i,n,k);let{currentFunc:R,currentParamNames:T,currentSeriesParams:I}=t;t.currentFunc=i,t.currentParamNames=new Set(s),t.currentSeriesParams=p;try{let P=[];for(let ut=0;ut<o.length;ut++){let V=s[ut],nt=Es(V);if(p.has(V))P.push(nt);else P.push(`${nt} = ${v8(o[ut],r)}`)}let F=[];for(let ut of M){let V=A.get(ut),nt=C.get(ut),l=nt!=null?qf(nt,r):"null";F.push(` if (__bar_idx === 0) ${V}[0] = ${l};`),F.push(` else ${V}[__bar_idx] = ${V}[__bar_idx - 1];`)}let G=(ut)=>{if(ut.kind!=="Assign"&&ut.kind!=="ReAssign")return r(ut);if(ut.target.kind!=="Name"||!A.has(ut.target.id))return r(ut);let V=A.get(ut.target.id);if(ut.kind==="Assign"&&o_(ut.mode))return"";let nt=ut.value!=null?qf(ut.value,r):"null";return`${V}[__bar_idx] = __h.naNum(${nt});`},lt=!1;for(let ut=0;ut<m.length;ut++){let V=m[ut],nt=G(V);if(!nt||!nt.trim())continue;let l=ut===m.length-1;if(l&&V.kind==="Expr"&&!w8(V)){F.push(C8(nt)),lt=!0;continue}if(F.push(a_(u_(nt))),l&&(V.kind==="Assign"||V.kind==="ReAssign"))F.push(S8(V,A)),lt=!0}if(!lt)F.push(" return null;");let dt=["__bar_idx","__h",...P,...k].join(", ");t.functions.push(`function ${n}(${dt}) {
|
|
60
|
+
${F.join(`
|
|
61
|
+
`)}
|
|
62
|
+
}`)}finally{t.currentFunc=R,t.currentParamNames=T,t.currentSeriesParams=I}}function Iu(t,e,r){let i=t.userFuncs.has(e)?e:[...t.userFuncs].find((h)=>Es(h)===e)??e,n=Es(i),o=k8(t,i,n),s=["__bar_idx","__h",...r,...o];return`${n}(${s.join(", ")})`}var Ee="high_arr[__bar_idx]",Re="low_arr[__bar_idx]",Me="close_arr[__bar_idx]",Pr="vol_arr[__bar_idx]";var R8="((high_arr[__bar_idx] != null && low_arr[__bar_idx] != null && close_arr[__bar_idx] != null) ? (high_arr[__bar_idx] + low_arr[__bar_idx] + close_arr[__bar_idx]) / 3 : close_arr[__bar_idx])",A8="((high_arr[__bar_idx] != null && low_arr[__bar_idx] != null && close_arr[__bar_idx] != null) ? (high_arr[__bar_idx] + low_arr[__bar_idx] + close_arr[__bar_idx]) / 3 : (close_arr[__bar_idx] ?? high_arr[__bar_idx] ?? low_arr[__bar_idx]))",c_=new Set(["ta","math","str","array","matrix","map","color","strategy","input","request","ticker","timeframe","runtime","log","barstate","session","syminfo","timenow","chart"]),Ou=new Set(["sma","ema","rma","rsi","atr","tr","change","mom","roc","stdev","highest","lowest","sum","cross","crossover","crossunder","macd","bb","stoch","wma","vwma","hma","cci","cmo","mfi","tsi","dmi","supertrend","alma","kama","linreg","rising","falling","barssince","valuewhen","pivothigh","pivotlow","swma","kc","willr","wpr","vwap","sar","adx","correlation","cog","cum","range","accdist","ad","pvt","vpt","wad","nvi","pvi","wvad","cmf","klinger","iii","obv","ao","aroon","highestbars","lowestbars","dev","variance","median","mode","percentrank","dema","tema","bbw","max","min","uo","rci","dpo","kst","stochrsi","donchian","ichimoku","bb_pct","emv","fractal","atr_stop","zigzag"]),g_=new Set(["accdist","ad","obv","tr","vwap","pvt","vpt","nvi","pvi","wad","wvad","cmf","ao"]),T8=new Set(["sma","ema","rma","rsi","stdev","wma","hma","cmo","sum","dema","tema","dev","variance","median","mode","percentrank","range","cog"]),N8=new Set(["change","mom","roc","rising","falling"]),L8=new Set(["plot","plotshape","plotchar","plotarrow","hline","bgcolor","barcolor","plotcandle","plotbar"]),__=new Set(["strategy_entry","strategy_close","strategy_close_all","strategy_exit","strategy_order","strategy_cancel","strategy_cancel_all"]),b_=new Set(["strategy_position_size","strategy_netprofit","strategy_equity","strategy_openprofit","strategy_opentrades","strategy_closedtrades","strategy_leverage","strategy_margin_liquidation_price","strategy_position_avg_price","strategy_initial_capital"]),I8={close:"close_arr",open:"open_arr",high:"high_arr",low:"low_arr",volume:"vol_arr",time:"time_arr"},O8={abs:{fn:"Math.abs(Number(__x))"},sqrt:{fn:"Math.sqrt(Number(__x))",guard:"Number(__x) < 0"},log:{fn:"Math.log(Number(__x))",guard:"Number(__x) <= 0"},log10:{fn:"Math.log10(Number(__x))",guard:"Number(__x) <= 0"},exp:{fn:"Math.exp(Number(__x))"},sign:{fn:"(Number(__x) > 0 ? 1 : Number(__x) < 0 ? -1 : 0)"},floor:{fn:"Math.floor(Number(__x))"},ceil:{fn:"Math.ceil(Number(__x))"},sin:{fn:"Math.sin(Number(__x))"},cos:{fn:"Math.cos(Number(__x))"},tan:{fn:"Math.tan(Number(__x))"},asin:{fn:"Math.asin(Number(__x))",guard:"Number(__x) < -1 || Number(__x) > 1"},acos:{fn:"Math.acos(Number(__x))",guard:"Number(__x) < -1 || Number(__x) > 1"},atan:{fn:"Math.atan(Number(__x))"},todegrees:{fn:"Number(__x) * 180 / Math.PI"},toradians:{fn:"Number(__x) * Math.PI / 180"}};function Gf(t,e,r){let{name:i,methodSrc:n}=P8(e.func),o=D8(e,r);if(n!=null&&n.kind==="Name"){let k=n.id;if(t.importAliases.has(k)){if(t.userFuncs.has(i))return Iu(t,i,p_(t,i,o));return"null"}}let s=W8(t,i,n,o);if(s!=null)return s;let h=G8(t,i,n,o);if(h!=null)return h;let m=Z8(t,i,n,o,r);if(m!=null)return m;if(n!=null)o.pos.unshift(r(n)),o.posNodes.unshift(n);let p=i;if(n!=null&&Ou.has(p))p=`ta_${p}`;if(n!=null&&(p==="tostring"||p==="format"))p=`str_${p}`;if(L8.has(p))return aw(t,p,o);if(p==="indicator"||p==="study"||p==="library")return"null";if(p==="strategy")return nw(t,o);if(p==="na"){if(o.pos.length===0&&o.kw.x==null&&o.kw.source==null)return"null";return`(__h.isNa(${et(o,0,["x","source"],"null")}) ? 1 : 0)`}if(p==="nz"){let k=et(o,0,["source","x"],"null");if(Dr(o,1,["replacement","y"]))return`__h.nz(${k}, ${et(o,1,["replacement","y"],"0")})`;return`__h.nz(${k})`}if(p==="input"||p.startsWith("input_"))return cw(t,o);if(__.has(p)||b_.has(p)||p.startsWith("strategy_"))return sw(t,p,o);if(t.userFuncs.has(p)||t.funcSeriesParams.has(p))return Iu(t,p,p_(t,p,o));if(p==="year"||p==="month"||p==="dayofmonth"||p==="hour"||p==="minute"||p==="second"||p==="dayofweek"){let k=et(o,0,["time"],"time");return`__h.${p}(${k})`}if(p==="timestamp")return`__h.timestamp(${(o.pos.length>0?o.pos:Object.values(o.kw)).join(", ")})`;if(p==="weekofyear")return`__h.weekOfYear(${et(o,0,["time","timestamp"],"time")})`;if(p==="time_tradingday")return`__h.timeTradingDay(${et(o,0,["time","timestamp"],"time")})`;if(p==="timeframe_in_seconds"){if(Dr(o,0,["timeframe","period"]))return`__h.timeframeInSeconds(${et(o,0,["timeframe","period"],"null")})`;return"86400"}if(p==="timeframe_change")return`__h.timeframeChange(${et(o,0,["timeframe","tf"],"null")}, time, (__bar_idx > 0 ? time_arr[__bar_idx - 1] : null), __bar_idx)`;if(p==="time_close")return"__h.timeClose(__bar_idx, time_arr)";if(p==="syminfo_prefix"){if(Dr(o,0,["tickerid","symbol"]))return`__h.syminfoPrefix(${et(o,0,["tickerid","symbol"],"null")})`;return"__h.syminfoPrefix()"}if(p==="ticker_heikinashi"||p==="heikinashi")return t.needsHeikinashi=!0,'"__HEIKINASHI__"';if(p.startsWith("ticker_"))return et(o,0,["symbol","ticker","tickerid"],'"SYMBOL"');if(p==="log_info"||p==="log_warning"||p==="log_error"){let k=p.slice(4),R=o.pos.length>0?o.pos:Object.values(o.kw);return R.length>0?`__h.log.${k}(__bar_idx, ${R.join(", ")})`:`__h.log.${k}(__bar_idx)`}if(p==="log_clear")return"__h.log.clear()";if(p==="runtime_error")return`(() => { throw new Error(String(${et(o,0,["message","msg"],'"runtime.error"')})); })()`;if(p==="alertcondition")return"null";if(p==="str_tostring"||p==="tostring")return`String(${et(o,0,["value","source","x"],"null")} ?? "")`;if(p==="str_format"||p==="format"){let k=et(o,0,["formatString","format","fmt"],"null"),T=Object.hasOwn(o.kw,"formatString")||Object.hasOwn(o.kw,"format")||Object.hasOwn(o.kw,"fmt")?o.pos.slice():o.pos.slice(1);return T.length>0?`__h.strFormat(${k}, ${T.join(", ")})`:`__h.strFormat(${k})`}if(p==="str_format_time"||p==="format_time")return`__h.strFormatTime(${et(o,0,["time","timestamp"],"null")}, ${et(o,1,["format"],"undefined")}, ${et(o,2,["timezone"],"undefined")})`;if(p.startsWith("str_")){let k=p.slice(4),T={length:"length",contains:"contains",startswith:"starts_with",ends_with:"ends_with",endswith:"ends_with",lower:"lower",upper:"upper",replace:"replace",substring:"substring",tonumber:"tonumber",trim:"trim"}[k];if(T){let I=et(o,0,["source","string","value"],"null"),P=o.pos[1]??o.kw.substring??o.kw.str??o.kw.replacement??"undefined";if(k==="length"||k==="lower"||k==="upper"||k==="tonumber"||k==="trim")return`__h.str.${T}(${I})`;return`__h.str.${T}(${I}, ${P})`}}let y=uw(p,o);if(y!=null)return y;let _=fw(p,o);if(_!=null)return _;if(Ou.has(p)&&!t.userFuncs.has(p))p=`ta_${p}`;if(p.startsWith("ta_"))return mw(t,p.slice(3),o);let v=$8(p,o);if(v!=null)return v;let C=z8(p,o);if(C!=null)return C;let M=V8(p,o);if(M!=null)return M;let A=X8(t,p,o);if(A!=null)return A;return"null"}function P8(t){if(t=Vf(t),t.kind==="Name")return{name:t.id,methodSrc:null};if(t.kind!=="Attribute")return{name:"unknown_func",methodSrc:null};let e=t,r=e.attr,i=Vf(e.value);if(i.kind==="Name"){let n=i.id;if(c_.has(n))return{name:`${n}_${r}`,methodSrc:null};return{name:r,methodSrc:i}}if(i.kind==="Attribute"){let n=i,o=Vf(n.value);if(o.kind==="Name"&&c_.has(o.id))return{name:`${o.id}_${n.attr}_${r}`,methodSrc:null};return{name:r,methodSrc:e.value}}return{name:r,methodSrc:e.value}}function Vf(t){let e=t;if(e.kind==="Specialize"&&e.value!=null)return e.value;return t}function D8(t,e){let r=[],i={},n=[],o={},s=t.args??[];for(let h of s){let m=h.value,p=e(m),y=h.name!=null&&h.name!==""?h.name:null;if(y!=null)i[y]=p,o[y]=m;else r.push(p),n.push(m)}return{pos:r,kw:i,posNodes:n,kwNodes:o}}function et(t,e,r,i){for(let n of r)if(Object.hasOwn(t.kw,n))return t.kw[n];if(e>=0&&e<t.pos.length)return t.pos[e];return i}function Dr(t,e,r){for(let i of r)if(Object.hasOwn(t.kw,i))return!0;return e>=0&&e<t.pos.length}function _i(t,e){return e.some((r)=>Object.hasOwn(t.kw,r))}function Rs(t,e){return`((__p) => (Number.isInteger(__p) ? __p : ${e}))(${t})`}function xe(t,e){return`((__v) => (__v != null && Number.isFinite(__v) ? __v : ${e}))(${t})`}var Wf=new Set(["label","line","box","table","polyline","linefill"]),F8={new:[["size"],["initial_value","initial"]],get:[["id"],["index"]],set:[["id"],["index"],["value"]],push:[["id"],["value"]],pop:[["id"]],unshift:[["id"],["value"]],shift:[["id"]],size:[["id"]],includes:[["id"],["value"]],first:[["id"]],last:[["id"]],insert:[["id"],["index"],["value"]],remove:[["id"],["index"]],clear:[["id"]],fill:[["id"],["value"]],copy:[["id"]],reverse:[["id"]],sort:[["id"],["order"],["sort_field"]],concat:[["id"],["other","id2"]],slice:[["id"],["index_from","from"],["index_to","to"]],indexof:[["id"],["value"]],lastindexof:[["id"],["value"]],avg:[["id"]],min:[["id"]],max:[["id"]],sum:[["id"]],stdev:[["id"],["biased"]],variance:[["id"],["biased"]],join:[["id"],["separator","sep"]],every:[["id"]],some:[["id"]],abs:[["id"]],range:[["id"]],median:[["id"]],mode:[["id"]],standardize:[["id"]],percentrank:[["id"],["value"]],percentile_linear:[["id"],["percentage","percent"]],percentile_linear_interpolation:[["id"],["percentage","percent"]],percentile_nearest:[["id"],["percentage","percent"]],percentile_nearest_rank:[["id"],["percentage","percent"]],binary_search:[["id"],["value"],["sort_field"]],binary_search_leftmost:[["id"],["value"],["sort_field"]],binary_search_rightmost:[["id"],["value"],["sort_field"]],sort_indices:[["id"],["order"],["sort_field"]],covariance:[["id"],["id2","other"],["biased"]]},B8={new:[],put:[["id"],["key"],["value"]],get:[["id"],["key"]],contains:[["id"],["key"]],remove:[["id"],["key"]],clear:[["id"]],size:[["id"]],keys:[["id"]],values:[["id"]],copy:[["id"]],put_all:[["id"],["id2","other"]]},U8={new:[["rows"],["columns","cols"],["initial_value","initial"]],get:[["id"],["row"],["column","col"]],set:[["id"],["row"],["column","col"],["value"]],rows:[["id"]],columns:[["id"]],fill:[["id"],["value"]],transpose:[["id"]],copy:[["id"]],inv:[["id"]],pinv:[["id"]],rank:[["id"]],det:[["id"]],trace:[["id"]],elements_count:[["id"]],is_square:[["id"]],is_zero:[["id"]],is_identity:[["id"]],is_diagonal:[["id"]],is_symmetric:[["id"]],is_antisymmetric:[["id"]],is_triangular:[["id"]],is_binary:[["id"]],is_stochastic:[["id"]],is_antidiagonal:[["id"]],mult:[["id"],["other","matrix_2"]],row:[["id"],["row","index"]],col:[["id"],["column","col","index"]],column:[["id"],["column","col","index"]],sum:[["id"]],sum_all:[["id"]],avg:[["id"]],avg_all:[["id"]],min:[["id"]],min_all:[["id"]],max:[["id"]],max_all:[["id"]],median:[["id"]],mode:[["id"]],kron:[["id"],["other"]],diff:[["id"],["other"]],concat:[["id"],["other"]],reshape:[["id"],["rows"],["columns","cols"]],reverse:[["id"]],sort:[["id"],["column","col"],["order"],["sort_field"]],sort_indices:[["id"],["column","col"],["order"],["sort_field"]],eigenvalues:[["id"]],eigenvectors:[["id"]],pow:[["id"],["power","n"]],swap_rows:[["id"],["row1","i"],["row2","j"]],swap_columns:[["id"],["column1","i"],["column2","j"]],add_row:[["id"],["row","index"],["array"]],add_col:[["id"],["column","index"],["array"]],add_column:[["id"],["column","index"],["array"]],remove_row:[["id"],["row","index"]],remove_col:[["id"],["column","index"]],remove_column:[["id"],["column","index"]],submatrix:[["id"],["from_row"],["to_row"],["from_column","from_col"],["to_column","to_col"]],sum_row:[["id"],["row","index"]],avg_row:[["id"],["row","index"]],min_row:[["id"],["row","index"]],max_row:[["id"],["row","index"]],mode_row:[["id"],["row","index"]],sum_col:[["id"],["column","col","index"]],avg_col:[["id"],["column","col","index"]],min_col:[["id"],["column","col","index"]],max_col:[["id"],["column","col","index"]],mode_col:[["id"],["column","col","index"]],copy_row:[["id"],["row","index"]],copy_col:[["id"],["column","col","index"]],fill_row:[["id"],["row","index"],["value"]],fill_col:[["id"],["column","col","index"],["value"]],fill_diagonal:[["id"],["value"]],reverse_rows:[["id"]],reverse_cols:[["id"]],stdev:[["id"]],variance:[["id"]],mode_all:[["id"]]};function Kf(t,e){if(!t.startsWith(e))return null;return t.slice(e.length)}function Qf(t){return t==="from"||t.startsWith("new")?"new":t}var q8={percentile_linear_interpolation:"percentile_linear",percentile_nearest_rank:"percentile_nearest"},H8={column:"col",add_column:"add_col",remove_column:"remove_col",sum_all:"sum",avg_all:"avg",min_all:"min",max_all:"max"};function Pu(t,e,r,i){let n=i.map((o,s)=>et(r,s,o,"null"));return`__h.${t}.${e}(${n.join(", ")})`}function $8(t,e){let r=Kf(t,"array_");if(r==null)return null;let i=Qf(r),n=F8[i];if(n==null)return null;return Pu("array",q8[i]??i,e,n)}function z8(t,e){let r=Kf(t,"map_");if(r==null)return null;let i=Qf(r),n=B8[i];if(n==null)return null;return Pu("map",i,e,n)}function V8(t,e){let r=Kf(t,"matrix_");if(r==null)return null;let i=Qf(r),n=U8[i];if(n==null)return null;return Pu("matrix",H8[i]??i,e,n)}function j8(t,e){if(e!=null&&e.kind==="Name"){let i=e.id;if(Wf.has(i))return{kind:i,method:t}}let r=t.indexOf("_");if(r>0){let i=t.slice(0,r);if(Wf.has(i))return{kind:i,method:t.slice(r+1)}}return null}var h_={label:{set_text:[["id"],["text"]],set_xy:[["id"],["x"],["y"]],set_color:[["id"],["color"]],set_style:[["id"],["style"]],set_size:[["id"],["size"]],set_tooltip:[["id"],["tooltip"]],set_textalign:[["id"],["textalign"]],delete:[["id"]],get_text:[["id"]],get_x:[["id"]],get_y:[["id"]]},line:{set_xy:[["id"],["x1"],["y1"],["x2"],["y2"]],set_xy1:[["id"],["x1"],["y1"]],set_xy2:[["id"],["x2"],["y2"]],set_color:[["id"],["color"]],set_width:[["id"],["width"]],set_style:[["id"],["style"]],set_extend:[["id"],["extend"]],delete:[["id"]],get_price:[["id"],["x"]],get_x1:[["id"]],get_y1:[["id"]],get_x2:[["id"]],get_y2:[["id"]]},box:{set_corners:[["id"],["left","x1"],["top","y1"],["right","x2"],["bottom","y2"]],set_lefttop:[["id"],["left","x1"],["top","y1"],["right","x2"],["bottom","y2"]],set_bgcolor:[["id"],["bgcolor","color"]],set_border_color:[["id"],["color","border_color"]],set_text:[["id"],["text"]],set_extend:[["id"],["extend"]],delete:[["id"]]},table:{cell:[["id"],["column","col"],["row"],["text"]],cell_set_text:[["id"],["column","col"],["row"],["text"]],set_position:[["id"],["position"]],delete:[["id"]]},polyline:{delete:[["id"]]},linefill:{set_color:[["id"],["color"]],delete:[["id"]]}};function W8(t,e,r,i){if(e==="alert"&&r==null)return t.usesDrawings=!0,`__h.draw.alert(__bar_idx, ${et(i,0,["message"],"null")})`;let n=j8(e,r);if(n==null)return null;let{kind:o,method:s}=n,h=null;if(s==="new"){if(o==="label")h=`__h.draw.label_new(__bar_idx, ${et(i,2,["text"],"null")})`;else if(o==="linefill")h=`__h.draw.linefill_new(__bar_idx, ${et(i,0,["id1"],"null")}, ${et(i,1,["id2"],"null")})`;else if(Wf.has(o))h=`__h.draw.${o}_new(__bar_idx)`}else{let m=o==="box"&&s==="set_lefttop"?"set_corners":s,p=h_[o]?.[s]??h_[o]?.[m];if(p!=null)h=Pu("draw",`${o}_${m}`,i,p)}if(h!=null)t.usesDrawings=!0;return h}function G8(t,e,r,i){if(r==null||r.kind!=="Name")return null;let n=r.id,o=t.udtTypes.get(n);if(o==null)return null;if(e==="copy")return`({...${et(i,0,["id","this","source"],"null")}})`;if(e!=="new")return null;let s=[],h=new Set,m=0;for(let p of o.fields){let y;if(Object.hasOwn(i.kw,p))y=i.kw[p],h.add(p);else if(m<i.pos.length)y=i.pos[m++];else if(Object.hasOwn(o.defaults,p))y=o.defaults[p];if(y!=null)s.push(`${p}: ${y}`)}for(let[p,y]of Object.entries(i.kw)){if(h.has(p))continue;s.push(`${p}: ${y}`)}return`__h.udtNew(${JSON.stringify(n)}, {${s.join(", ")}})`}var K8=new Set(["security","request_security","request_security_lower_tf","request_seed"]),Q8=new Set(["close","open","high","low","volume","time","hl2","hlc3","ohlc4"]),Y8=/^(?:open|high|low|close|vol|volume|time|hl2|hlc3|ohlc4)_arr\[__bar_idx\]$/;function Z8(t,e,r,i,n){if(r==null||r.kind!=="Name")return null;if(!t.udtMethodNames.has(e)&&!t.userFuncs.has(e))return null;if(Ou.has(e))return null;return Iu(t,e,[n(r),...i.pos])}function X8(t,e,r){if(K8.has(e)){let i=et(r,0,["symbol","ticker"],"null"),n=et(r,2,["expression","expr"],"close");if(y_(i)&&f_(n))return t.needsHeikinashi=!0,ew(n);if(f_(n)&&rw(i))return n;return"null"}if(e==="request_currency_rate"||e==="currency_rate")return`__h.currencyRate(${et(r,0,["from","from_currency"],"null")}, ${et(r,1,["to","to_currency"],"null")})`;if(e.startsWith("request_"))return"null";return null}function f_(t){let e=t.trim();if(!e)return!1;if(Q8.has(e))return!0;return Y8.test(e)}function J8(t){if(t.length>=2&&(t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'"))){if(t.startsWith('"'))try{return JSON.parse(t)}catch{return t.slice(1,-1)}return t.slice(1,-1)}return t}function y_(t){let e=t.trim();if(e==="__HEIKINASHI__"||e==="'__HEIKINASHI__'"||e==='"__HEIKINASHI__"')return!0;if(/^['"]__HEIKINASHI__['"]$/.test(e))return!0;if(e.includes("__HEIKINASHI__")&&!e.toUpperCase().includes("HA("))return!0;return!1}var tw={open:"ha_open_arr[__bar_idx]",high:"ha_high_arr[__bar_idx]",low:"ha_low_arr[__bar_idx]",close:"ha_close_arr[__bar_idx]",Open:"ha_open_arr[__bar_idx]",High:"ha_high_arr[__bar_idx]",Low:"ha_low_arr[__bar_idx]",Close:"ha_close_arr[__bar_idx]",open_arr:"ha_open_arr",high_arr:"ha_high_arr",low_arr:"ha_low_arr",close_arr:"ha_close_arr",Open_arr:"ha_open_arr",High_arr:"ha_high_arr",Low_arr:"ha_low_arr",Close_arr:"ha_close_arr","open_arr[__bar_idx]":"ha_open_arr[__bar_idx]","high_arr[__bar_idx]":"ha_high_arr[__bar_idx]","low_arr[__bar_idx]":"ha_low_arr[__bar_idx]","close_arr[__bar_idx]":"ha_close_arr[__bar_idx]","Open_arr[__bar_idx]":"ha_open_arr[__bar_idx]","High_arr[__bar_idx]":"ha_high_arr[__bar_idx]","Low_arr[__bar_idx]":"ha_low_arr[__bar_idx]","Close_arr[__bar_idx]":"ha_close_arr[__bar_idx]"};function ew(t){return tw[t.trim()]??t}function rw(t){let e=t.trim();if(!e||e==="null"||e==="na"||e==="undefined"||e==="None"||e==="np.nan")return!0;if(y_(e))return!0;let r=J8(e).trim();if(!r||r==="na"||r==="null"||r==="SYMBOL")return!0;if(e==="SYMBOL"||e==="tickerid"||e==="ticker")return!0;if(e==="syminfo_ticker"||e==="syminfo_tickerid")return!0;if(e.toLowerCase().includes("syminfo")&&(e.includes("ticker")||e.includes("tickerid")||e.includes("root")||e.includes("prefix")))return!0;return!1}function Xo(t){if(t==null||t.kind!=="Constant")return null;let e=t.value;return typeof e==="string"?e:null}function d_(t,e){return __.has(t)||e==="entry"||e==="close"||e==="close_all"||e==="exit"||e==="order"||e==="cancel"||e==="cancel_all"||e.startsWith("risk_")||t.startsWith("strategy_entry")||t.startsWith("strategy_risk")}function nw(t,e){t.usesStrategy=!0;let r=[],i=(n,o)=>{if(Dr(e,-1,n))r.push(`${o}: ${et(e,-1,n,"null")}`)};return i(["commission","commission_value"],"commission"),i(["slippage"],"slippage"),i(["pyramiding"],"pyramiding"),i(["avg_price_model"],"avg_price_model"),i(["leverage"],"leverage"),i(["margin_long"],"margin_long"),i(["margin_short"],"margin_short"),i(["default_qty_type"],"default_qty_type"),i(["default_qty_value"],"default_qty_value"),i(["initial_capital"],"initial_capital"),`__h.strategy.configure({${r.join(", ")}})`}function iw(t,e){let r=et(e,0,["id"],"null"),i=et(e,1,["direction"],"null"),n=et(e,2,["qty"],"null"),o=[];if(Dr(e,3,["limit"]))o.push(`limit: ${et(e,3,["limit"],"null")}`);if(Dr(e,4,["stop"]))o.push(`stop: ${et(e,4,["stop"],"null")}`);if(Dr(e,5,["comment"]))o.push(`comment: ${et(e,5,["comment"],"null")}`);return`__h.strategy.${t}(${r}, ${i}, ${n}, {${o.join(", ")}})`}function sw(t,e,r){let i=e.startsWith("strategy_")?e.slice(9):e;if(i==="long"||i==="short")return JSON.stringify(i);if(d_(e,i)||b_.has(e))t.usesStrategy=!0;switch(i){case"entry":case"order":return t.usesStrategy=!0,iw(i,r);case"close":{t.usesStrategy=!0;let n=et(r,0,["id"],"null");return Dr(r,1,["qty"])?`__h.strategy.close(${n}, ${et(r,1,["qty"],"null")})`:`__h.strategy.close(${n})`}case"close_all":return t.usesStrategy=!0,"__h.strategy.close_all()";case"exit":{t.usesStrategy=!0;let n=et(r,0,["id"],"null"),o=[],s=(h,m,p)=>{if(Dr(r,h,m))o.push(`${p}: ${et(r,h,m,"null")}`)};return s(1,["from_entry"],"from_entry"),s(2,["qty"],"qty"),s(3,["qty_percent"],"qty_percent"),s(4,["profit"],"profit"),s(5,["limit"],"limit"),s(6,["loss"],"loss"),s(7,["stop"],"stop"),s(8,["trail_price"],"trail_price"),s(9,["trail_points"],"trail_points"),s(10,["trail_offset"],"trail_offset"),`__h.strategy.exit(${n}, {${o.join(", ")}})`}case"cancel":return t.usesStrategy=!0,`__h.strategy.cancel(${et(r,0,["id"],"null")})`;case"cancel_all":return t.usesStrategy=!0,"__h.strategy.cancel_all()";case"position_size":case"netprofit":case"equity":case"openprofit":case"opentrades":case"closedtrades":case"leverage":case"margin_liquidation_price":case"position_avg_price":case"initial_capital":return t.usesStrategy=!0,`__h.strategy.${i}()`;case"risk_allow_entry_in":return t.usesStrategy=!0,`__h.strategy.risk_allow_entry_in(${et(r,0,["value"],"null")})`;case"risk_max_position_size":return t.usesStrategy=!0,`__h.strategy.risk_max_position_size(${et(r,0,["percent","value"],"null")})`;case"risk_max_drawdown":return t.usesStrategy=!0,`__h.strategy.risk_max_drawdown(${et(r,0,["value"],"null")}, ${et(r,1,["type"],"null")})`;default:if(d_(e,i))t.usesStrategy=!0;return"null"}}function ow(t,e){let r=I8[e];if(r!=null)return r;let i=`${e}_arr`,n=`__u_${e}_arr`;if(t.arrays.has(i))return i;if(t.arrays.has(n))return n;return i}function lw(t,e,r){if(e!=null&&e.kind==="Name")return ow(t,e.id);return r||"null"}function p_(t,e,r){let i=t.funcParamNames.get(e),n=t.funcSeriesParams.get(e);if(i==null||i.length===0)return r.pos.slice();let o=[];for(let s=0;s<i.length;s++){let h=i[s],m=s<r.pos.length,p=m?r.posNodes[s]:r.kwNodes[h],y=m?r.pos[s]:r.kw[h]??"null";o.push(n?.has(h)?lw(t,p,y):y)}for(let s=i.length;s<r.pos.length;s++)o.push(r.pos[s]);return o}function aw(t,e,r){let i=Xo(r.kwNodes.title);if(i==null)for(let h of r.posNodes){let m=Xo(h);if(m!=null){i=m;break}}if(i==null||i==="")if(e==="plotcandle")i="candles";else if(e==="plotbar")i="bars";else i=`plot_${t.plots.length}`;let o=e==="plotcandle"||e==="plotbar"?et(r,3,["close"],"null"):et(r,0,["series","source","price"],"null"),s=t.plots.length;return t.plots.push({title:i}),`plot_${s}[__bar_idx] = __h.naNum(${o})`}function uw(t,e){if(t==="color_r")return`__h.colorR(${et(e,0,["color"],"null")})`;if(t==="color_g")return`__h.colorG(${et(e,0,["color"],"null")})`;if(t==="color_b")return`__h.colorB(${et(e,0,["color"],"null")})`;if(t==="color_t")return`__h.colorT(${et(e,0,["color"],"null")})`;if(t==="color_rgb"){let r=et(e,0,["red","r"],"null"),i=et(e,1,["green","g"],"null"),n=et(e,2,["blue","b"],"null");if(Dr(e,3,["transp","t","transparency"]))return`__h.colorRgb(${r}, ${i}, ${n}, ${et(e,3,["transp","t","transparency"],"null")})`;return`__h.colorRgb(${r}, ${i}, ${n})`}if(t==="color_from_gradient")return`__h.colorFromGradient(${et(e,0,["value"],"null")}, ${et(e,1,["bottom_value","bottom"],"null")}, ${et(e,2,["top_value","top"],"null")}, ${et(e,3,["color1"],"null")}, ${et(e,4,["color2"],"null")})`;if(t==="color_new"||t==="color"){let r=et(e,0,["color"],"null");if(Dr(e,1,["transp","transparency"]))return`__h.colorNew(${r}, ${et(e,1,["transp","transparency"],"null")})`;return`__h.colorNew(${r})`}return null}function cw(t,e){let r=et(e,0,["defval"],"null");return`__h.input(${JSON.stringify(hw(t,e))}, ${r})`}function hw(t,e){let r=Xo(e.kwNodes.title);if(r!=null&&r!=="")return r;let i=Xo(e.kwNodes.defval);if(i!=null&&i!=="")return i;if(e.posNodes.length>1){let s=Xo(e.posNodes[1]);if(s!=null&&s!=="")return s}let n=t,o=n.nextInput??0;return n.nextInput=o+1,o===0?"input":`input${o}`}function fw(t,e){let r=t.startsWith("math_")?t.slice(5):t,i=t.startsWith("math_");if(!i&&!(t==="abs"||t==="max"||t==="min"||t==="sqrt"||t==="log"||t==="log10"||t==="pow"||t==="sign"||t==="floor"||t==="ceil"||t==="round"||t==="exp"||t==="sin"||t==="cos"||t==="tan"||t==="asin"||t==="acos"||t==="atan"||t==="avg"||t==="random"||t==="todegrees"||t==="toradians"||t==="iff"||t==="fixnan"||t==="round_to_mintick"))return null;if(r==="round_to_mintick")return`__h.roundToMintick(${et(e,0,["number","x"],"null")})`;if(r==="iff"){let s=et(e,0,["condition","cond"],"null"),h=et(e,1,["then","if_true"],"null"),m=et(e,2,["else","if_false"],"null");return`(__h.nz(${s}) ? ${h} : ${m})`}if(r==="fixnan")return`__h.nz(${et(e,0,["source","x"],"null")}, 0)`;if(r==="max"||r==="min"){let s=jf(e);if(s.length===0)return"null";if(s.length===1)return m_(s[0],"__x");return`((...__xs) => { if (__xs.length === 0) return null; let __m = ${r==="max"?"-Infinity":"Infinity"}; for (const __x of __xs) { if (__h.isNa(__x)) return null; if (${r==="max"?"__x > __m":"__x < __m"}) __m = Number(__x); } return Number.isFinite(__m) ? __m : null; })(${s.join(", ")})`}if(r==="avg"){let s=jf(e);if(s.length===0)return"null";if(s.length===1)return m_(s[0],"__x");return`((...__xs) => { let __s = 0; for (const __x of __xs) { if (__h.isNa(__x)) return null; __s += Number(__x); } const __r = __s / __xs.length; return Number.isFinite(__r) ? __r : null; })(${s.join(", ")})`}if(r==="sum"&&i){let s=jf(e);if(s.length===0)return"null";return`((...__xs) => { let __s = 0; for (const __x of __xs) { if (__h.isNa(__x)) return null; __s += Number(__x); } return Number.isFinite(__s) ? __s : null; })(${s.join(", ")})`}if(r==="pow"){let s=et(e,0,["base","number","x"],"null"),h=Dr(e,1,["exponent","exp","y"])?et(e,1,["exponent","exp","y"],"2"):"2";return`((__b, __e) => { if (__h.isNa(__b) || __h.isNa(__e)) return null; const __r = Math.pow(Number(__b), Number(__e)); return Number.isFinite(__r) ? __r : null; })(${s}, ${h})`}if(r==="round"){let s=et(e,0,["number","x"],"null");if(!Dr(e,1,["precision"]))return`((__x) => { if (__h.isNa(__x)) return null; const __n = Number(__x); const __r = __n >= 0 ? Math.round(__n) : -Math.round(-__n); return Number.isFinite(__r) ? __r : null; })(${s})`;let h=et(e,1,["precision"],"0");return`((__x, __p) => { if (__h.isNa(__x) || __h.isNa(__p)) return null; const __n = Number(__x); const __f = 10 ** Math.trunc(Number(__p)); if (!Number.isFinite(__f)) return null; const __y = __n * __f; const __r = (__y >= 0 ? Math.round(__y) : -Math.round(-__y)) / __f; return Number.isFinite(__r) ? __r : null; })(${s}, ${h})`}if(r==="random"){let s=Dr(e,0,["min"])?et(e,0,["min"],"null"):null,h=Dr(e,1,["max"])?et(e,1,["max"],"null"):null;if(s==null)return"((() => { const __r = Math.random(); return Number.isFinite(__r) ? __r : null; })())";if(h==null)return`((__hi) => { if (__h.isNa(__hi)) return null; const __r = Number(__hi) * Math.random(); return Number.isFinite(__r) ? __r : null; })(${s})`;return`((__lo, __hi) => { if (__h.isNa(__lo) || __h.isNa(__hi)) return null; const __r = Number(__lo) + (Number(__hi) - Number(__lo)) * Math.random(); return Number.isFinite(__r) ? __r : null; })(${s}, ${h})`}if(r==="log"&&Dr(e,1,["base"])){let s=et(e,0,["number","x"],"null"),h=et(e,1,["base"],"null");return`((__x, __b) => { if (__h.isNa(__x) || __h.isNa(__b) || Number(__x) <= 0 || Number(__b) <= 0 || Number(__b) === 1) return null; const __r = Math.log(Number(__x)) / Math.log(Number(__b)); return Number.isFinite(__r) ? __r : null; })(${s}, ${h})`}let o=O8[r];if(o!=null){let s=et(e,0,["number","x","angle","radians","degrees"],"null");return dw(s,o.fn,o.guard)}return i?"null":null}function jf(t){if(t.pos.length>0)return t.pos;return Object.values(t.kw)}function m_(t,e){return`((__x) => (__h.isNa(__x) ? null : Number.isFinite(Number(__x)) ? Number(__x) : null))(${t})`}function dw(t,e,r){return`((__x) => { if (__h.isNa(__x)${r!=null?` || (${r})`:""}) return null; const __r = ${e}; return Number.isFinite(__r) ? __r : null; })(${t})`}function pw(t){return JSON.stringify("c"+t.nextSite++)}function Yt(t,e,r){return`__h.ta.${t}(${e}, ${r.join(", ")})`}function mw(t,e,r){if(!Ou.has(e))return"null";if(e==="ad")e="accdist";let i=pw(t),n=()=>et(r,0,["source","series","src"],Me),o=(s,h,m=["length","len","period"])=>et(r,s,m,h);if(T8.has(e))return Yt(e,i,[n(),o(1,"14")]);if(N8.has(e))return Yt(e,i,[n(),o(1,"1")]);if(e==="highest"||e==="lowest"){let s=e==="lowest"?Re:Ee;if(r.pos.length<=1&&!_i(r,["source","series"]))return Yt(e,i,[s,Rs(et(r,0,["length"],"null"),"0")]);return Yt(e,i,[n(),xe(et(r,1,["length"],"null"),"0")])}if(e==="highestbars"||e==="lowestbars"){let s=e==="lowestbars"?Re:Ee;if(r.pos.length<=1&&!_i(r,["source","series"]))return Yt(e,i,[s,Rs(et(r,0,["length"],"null"),"0")]);return Yt(e,i,[n(),xe(et(r,1,["length"],"null"),"0")])}if(e==="max"||e==="min"){let s=e==="min"?Re:Ee;if(r.pos.length>=2||Object.hasOwn(r.kw,"source")||Object.hasOwn(r.kw,"series"))return Yt(e,i,[n(),o(1,"14")]);if(r.pos.length===1||Object.hasOwn(r.kw,"length"))return Yt(e,i,[s,o(0,"14")]);return Yt(e,i,[s,"14"])}if(e==="atr"){if(r.pos.length>=4)return Yt("atr",i,[r.pos[0],r.pos[1],r.pos[2],r.pos[3]]);return Yt("atr",i,[Ee,Re,Me,o(0,"14")])}if(e==="tr"){if(r.pos.length>=3)return Yt("tr",i,[r.pos[0],r.pos[1],r.pos[2]]);return Yt("tr",i,[Ee,Re,Me])}if(e==="cross"||e==="crossover"||e==="crossunder"){let s=et(r,0,["source","series","a"],Me),h=et(r,1,["source2","b","series2"],"0");return Yt(e,i,[s,h])}if(e==="macd")return`(() => { const __r = ${Yt("macd",i,[n(),et(r,1,["fastlen","fastLength","fast"],"12"),et(r,2,["slowlen","slowLength","slow"],"26"),et(r,3,["signal","signalLength","siglen"],"9")])}; return [__r.macd, __r.signal, __r.hist]; })()`;if(e==="bb"){if(r.pos.length===2&&!_i(r,["source","series"])){let h=et(r,0,["source","series","length"],"null"),m=xe(et(r,1,["mult","multiplier"],"null"),"NaN"),p=xe(et(r,1,["length"],"null"),"0"),y=xe(et(r,2,["mult","multiplier"],"null"),"2"),_=`(() => { const __r = __h.ta.bb(${i}, close_arr[__bar_idx], __p0, ${m}); return [__r.mid, __r.up, __r.lo]; })()`,v=`(() => { const __r = __h.ta.bb(${i}, __s0, ${p}, ${y}); return [__r.mid, __r.up, __r.lo]; })()`;return`((__p0, __s0) => (Number.isInteger(__p0) ? ${_} : ${v}))(${h}, ${et(r,0,["source","series"],"null")})`}return`(() => { const __r = ${Yt("bb",i,[n(),xe(et(r,1,["length"],"null"),"0"),xe(et(r,2,["mult","multiplier"],"null"),"2")])}; return [__r.mid, __r.up, __r.lo]; })()`}if(e==="bbw")return Yt("bbw",i,[n(),o(1,"20"),et(r,2,["mult","multiplier"],"2")]);if(e==="kc")return`(() => { const __r = ${Yt("kc",i,[Ee,Re,n(),o(1,"20"),et(r,2,["mult","multiplier"],"1")])}; return [__r.mid, __r.up, __r.lo]; })()`;if(e==="stoch"){if(r.kw.high==null&&r.pos.length<=2){let s=r.pos.length===2?`(((__k, __d) => ((Number.isInteger(__k) && Number.isInteger(__d)) ? __k : 0))(${et(r,0,["length"],"null")}, ${et(r,1,["d","smooth"],"null")}))`:Rs(et(r,0,["length"],"null"),"0");return Yt("stoch",i,[Me,Ee,Re,s])}return Yt("stoch",i,[n(),et(r,1,["high"],Ee),et(r,2,["low"],Re),xe(et(r,3,["length"],"null"),"0")])}if(e==="vwma"){if(r.pos.length<=1&&!_i(r,["volume"]))return Yt("vwma",i,[Me,Pr,Rs(et(r,0,["length"],"null"),"0")]);if(r.pos.length>=3||_i(r,["volume"])){let s=`((__v) => (Number.isInteger(__v) ? ${Pr} : __v))(${et(r,1,["volume"],"null")})`;return Yt("vwma",i,[n(),s,xe(et(r,2,["length","period"],"null"),"0")])}return Yt("vwma",i,[n(),Pr,xe(et(r,1,["length"],"null"),"0")])}if(e==="cci"){if(r.pos.length>=4){let s=`((__h, __l, __c) => ((__h != null && __l != null && __c != null) ? (__h + __l + __c) / 3 : __c))(${et(r,0,["high"],"null")}, ${et(r,1,["low"],"null")}, ${et(r,2,["close"],"null")})`;return Yt("cci",i,[s,xe(et(r,3,["length"],"null"),"0")])}if(r.pos.length<=1&&!_i(r,["source","series"]))return Yt("cci",i,[A8,Rs(et(r,0,["length"],"null"),"0")]);return Yt("cci",i,[n(),xe(et(r,1,["length"],"null"),"0")])}if(e==="mfi"){if(r.pos.length<=1)return Yt("mfi",i,[Ee,Re,Me,Pr,o(0,"14")]);if(r.pos.length===2)return Yt("mfi",i,[n(),n(),n(),Pr,o(1,"14")]);return Yt("mfi",i,[et(r,0,["high"],Ee),et(r,1,["low"],Re),et(r,2,["close"],Me),et(r,3,["volume"],Pr),o(4,"14")])}if(e==="tsi"){if(r.pos.length===2)return Yt("tsi",i,[Me,et(r,1,["long","long_length"],"25"),et(r,0,["short","short_length"],"13")]);return Yt("tsi",i,[n(),et(r,2,["long","long_length"],"25"),et(r,1,["short","short_length"],"13")])}if(e==="dmi")return`(() => { const __r = ${Yt("dmi",i,[Ee,Re,Me,et(r,0,["diLength","length"],"14"),et(r,1,["adxSmoothing","adxlen"],"14")])}; return [__r.plus, __r.minus, __r.adx]; })()`;if(e==="supertrend")return`(() => { const __r = ${Yt("supertrend",i,[Ee,Re,Me,et(r,0,["factor"],"3"),et(r,1,["atrPeriod","length"],"10")])}; return [__r.st, __r.dir]; })()`;if(e==="alma")return Yt("alma",i,[n(),o(1,"9"),et(r,2,["offset"],"0.85"),et(r,3,["sigma"],"6")]);if(e==="kama")return Yt("kama",i,[n(),o(1,"14"),et(r,2,["fastLength","fast","fastlen"],"2"),et(r,3,["slowLength","slow","slowlen"],"30")]);if(e==="linreg")return Yt("linreg",i,[n(),o(1,"14"),et(r,2,["offset"],"0")]);if(e==="barssince")return Yt("barssince",i,[et(r,0,["condition","cond"],"null")]);if(e==="valuewhen")return Yt("valuewhen",i,[et(r,0,["condition","cond"],"null"),et(r,1,["source","series"],Me),et(r,2,["occurrence","occ"],"0")]);if(e==="pivothigh"||e==="pivotlow"){if(r.pos.length===2&&!_i(r,["source","series"])){let s=e==="pivotlow"?Re:Ee,h=et(r,0,["leftbars","left"],"null"),m=et(r,1,["rightbars","right"],"null"),p=xe(et(r,1,["leftbars","left"],"null"),"5"),y=xe(et(r,2,["rightbars","right"],"null"),"5"),_=Yt(e,i,[s,"__l","__r"]),v=Yt(e,i,["__s",p,y]);return`((__l, __r, __s) => (((Number.isInteger(__l) && Number.isInteger(__r))) ? ${_} : ${v}))(${h}, ${m}, ${et(r,0,["source","series"],"null")})`}return Yt(e,i,[et(r,0,["source","series"],"null"),xe(et(r,1,["leftbars","left"],"null"),"5"),xe(et(r,2,["rightbars","right"],"null"),"5")])}if(e==="swma"){if(Dr(r,1,["length","period"]))return Yt("swma",i,[n(),o(1,"4")]);return Yt("swma",i,[n()])}if(e==="willr"||e==="wpr"){if(r.pos.length>=4)return Yt("willr",i,[r.pos[0],r.pos[1],r.pos[2],r.pos[3]]);return Yt("willr",i,[Ee,Re,Me,o(0,"14")])}if(e==="vwap")return Yt("vwap",i,[et(r,0,["source","series","src"],R8),et(r,1,["volume"],Pr)]);if(e==="sar")return Yt("sar",i,[Ee,Re,et(r,0,["start"],"0.02"),et(r,1,["increment"],"0.02"),et(r,2,["maximum","max"],"0.2")]);if(e==="adx"){if(r.pos.length>=4)return Yt("adx",i,[et(r,0,["source","series"],"null"),et(r,1,["low"],"null"),et(r,2,["close"],"null"),xe(et(r,3,["length"],"null"),"0")]);if(r.pos.length===2&&!_i(r,["high","low","close"])){let s=`(((__di, __sm) => ((Number.isInteger(__di) && Number.isInteger(__sm)) ? __sm : 14))(${et(r,0,["diLength","length"],"null")}, ${et(r,1,["adxSmoothing","adxlen"],"null")}))`;return Yt("adx",i,[Ee,Re,Me,s])}return Yt("adx",i,[Ee,Re,Me,Rs(et(r,0,["length"],"null"),"14")])}if(e==="correlation")return Yt("correlation",i,[et(r,0,["source1","source","a"],Me),et(r,1,["source2","b"],Me),o(2,"14")]);if(e==="cum")return Yt("cum",i,[n()]);if(e==="accdist")return Yt("accdist",i,[et(r,0,["high"],Ee),et(r,1,["low"],Re),et(r,2,["close"],Me),et(r,3,["volume"],Pr)]);if(e==="pvt"||e==="vpt"||e==="obv"||e==="nvi"||e==="pvi")return Yt(e==="vpt"?"pvt":e,i,[et(r,0,["source","close"],Me),et(r,1,["volume"],Pr)]);if(e==="wad")return Yt("wad",i,[et(r,0,["high"],Ee),et(r,1,["low"],Re),et(r,2,["close"],Me),et(r,3,["volume"],Pr)]);if(e==="iii")return Yt("iii",i,[Ee,Re,Me,Pr]);if(e==="wvad"){if(r.pos.length>=4||Object.hasOwn(r.kw,"high"))return Yt("wvad",i,[et(r,0,["high"],Ee),et(r,1,["low"],Re),et(r,2,["close"],Me),et(r,3,["volume"],Pr),et(r,4,["length","period"],"20")]);return Yt("wvad",i,[Ee,Re,Me,Pr,et(r,0,["length","period"],"20")])}if(e==="cmf"){if(r.pos.length>=5)return Yt("cmf",i,[et(r,1,["high"],Ee),et(r,2,["low"],Re),et(r,0,["close","source"],Me),et(r,3,["volume"],Pr),et(r,4,["length","period"],"20")]);return Yt("cmf",i,[Ee,Re,Me,Pr,et(r,0,["length","period"],"20")])}if(e==="klinger")return Yt("klinger",i,[et(r,2,["close"],Me),et(r,3,["volume"],Pr),et(r,4,["fast_period","fast","fastlen"],"0"),et(r,5,["slow_period","slow","slowlen"],"0")]);if(e==="ao")return Yt("ao",i,[Ee,Re,et(r,0,["fast","fastlen"],"5"),et(r,1,["slow","slowlen"],"34")]);if(e==="aroon")return`(() => { const __r = ${Yt("aroon",i,[Ee,Re,et(r,0,["length"],"14")])}; return [__r.down, __r.up]; })()`;if(e==="uo")return Yt("uo",i,[Ee,Re,Me,xe(et(r,0,["length"],"null"),"0"),xe(et(r,1,["length"],"null"),"0"),xe(et(r,2,["length"],"null"),"0")]);if(e==="rci")return Yt("rci",i,[et(r,0,["source","series"],"null"),xe(et(r,1,["length"],"null"),"0")]);if(e==="dpo")return Yt("dpo",i,[Me,xe(et(r,0,["length"],"null"),"0")]);if(e==="kst")return Yt("kst",i,[Me,xe(et(r,0,["length"],"null"),"0"),xe(et(r,1,["length"],"null"),"0"),xe(et(r,2,["length"],"null"),"0"),xe(et(r,3,["length"],"null"),"0")]);if(e==="stochrsi")return Yt("stochRsi",i,[Me,xe(et(r,0,["length"],"null"),"0"),xe(et(r,1,["length"],"null"),"0")]);if(e==="donchian")return Yt("donchian",i,[Ee,Re,xe(et(r,0,["length"],"null"),"0")]);if(e==="ichimoku")return Yt("ichimoku",i,[Ee,Re,xe(et(r,0,["length"],"null"),"0"),xe(et(r,1,["length"],"null"),"0")]);if(e==="bb_pct")return Yt("bbPct",i,[Me,xe(et(r,0,["length"],"null"),"0"),xe(et(r,1,["std_dev","mult","std"],"null"),"2")]);if(e==="emv")return Yt("emv",i,[Ee,Re,Pr,xe(et(r,0,["length"],"null"),"0")]);if(e==="fractal")return Yt("fractal",i,[Ee,Re,xe(et(r,0,["length"],"null"),"0")]);if(e==="atr_stop")return`__h.ta.atrStop(${Me}, ${et(r,0,["atr","atr_value"],"null")}, ${xe(et(r,1,["multiplier","mult"],"null"),"2")})`;if(e==="zigzag")return`(() => { const __r = ${Yt("zigzag",i,[et(r,0,["source","series"],"null"),xe(et(r,1,["threshold","percent","deviation"],"null"),"5")])}; return [__r.high, __r.low, __r.dir]; })()`;return"null"}var S_=1e6,gw=1e4,C_=new Set(["open","high","low","close","volume","time","time_close","bar_index","last_bar_index","na","hl2","hlc3","ohlc4"]),M_=new Set(["open_arr","high_arr","low_arr","close_arr","vol_arr","time_arr"]),k_=new Set([...C_,"function","return","var","let","const","default","break","case","catch","class","continue","debugger","delete","do","else","export","extends","finally","for","if","import","in","instanceof","new","super","this","throw","try","typeof","void","while","with","yield","enum","await","implements","interface","package","private","protected","public","static","arguments","eval","null","true","false","undefined","NaN","Infinity","n_bars","execute_script_compiled"]);function E_(){return{arrays:new Set,plots:[],varNames:new Set,functions:[],userFuncs:new Set,usesStrategy:!1,nextSite:0,errors:[],onceFlags:[],currentFunc:null,currentParamNames:new Set,currentSeriesParams:new Set,funcSeriesParams:new Map,funcParamNames:new Map,stArrays:new Set,udtTypes:new Map,usesDrawings:!1,enumTypes:new Map,udtMethodNames:new Set,needsHeikinashi:!1,importAliases:new Set}}function Yf(t,e){let r=e??E_(),i={ctx:r,loopVars:new Map,tmp:0};Zf(i,t);let n=[];for(let o of t.body??[]){let s=ti(i,o);if(s)n.push(s)}return _w(r,n),bw(r,n)}function Xf(t,e){let r=Ai(t),i=E_();if(i.getLibrary=e?.getLibrary,r.kind!=="Script")return i.errors.push("not a Script"),{code:Yf(r,i),ctx:i};return{code:Yf(r,i),ctx:i}}function _w(t,e){let r=`${e.join(`
|
|
63
|
+
`)}
|
|
64
|
+
${t.functions.join(`
|
|
65
|
+
`)}`;for(let i of r.matchAll(/\b([A-Za-z_][A-Za-z0-9_]*_arr)\b/g)){let n=i[1];if(M_.has(n)||/^plot_\d+$/.test(n))continue;t.arrays.add(n)}}function bw(t,e){if(t.needsHeikinashi)for(let o of["ha_open_arr","ha_high_arr","ha_low_arr","ha_close_arr"])t.arrays.add(o);let r=["function execute_script_compiled(open_arr, high_arr, low_arr, close_arr, vol_arr, time_arr, __h) {"," const n_bars = close_arr.length;"];for(let o of[...t.arrays].sort()){if(M_.has(o)||/^plot_\d+$/.test(o))continue;r.push(` const ${o} = new Array(n_bars).fill(null);`)}for(let o=0;o<t.plots.length;o++)r.push(` const plot_${o} = new Array(n_bars).fill(null);`);for(let o of[...t.stArrays].sort())r.push(` const ${o} = new Array(n_bars).fill(null);`);r.push(" const __var_inited = Object.create(null);");for(let o of t.onceFlags)r.push(` let ${o} = false;`);for(let o of t.functions)if(o)r.push(tn(o,2));for(let[o,s]of t.udtTypes)r.push(` __h.udtRegister(${JSON.stringify(o)}, ${JSON.stringify(s.fields)});`);if(r.push(" for (let __bar_idx = 0; __bar_idx < n_bars; __bar_idx++) {"),r.push(" const open = open_arr[__bar_idx];"),r.push(" const high = high_arr[__bar_idx];"),r.push(" const low = low_arr[__bar_idx];"),r.push(" const close = close_arr[__bar_idx];"),r.push(" const volume = vol_arr[__bar_idx];"),r.push(" const time = time_arr[__bar_idx];"),r.push(" const time_close = __h.timeClose(__bar_idx, time_arr);"),r.push(" const bar_index = __bar_idx;"),r.push(" const last_bar_index = n_bars - 1;"),r.push(" const na = null;"),r.push(" const hl2 = __h.div(__h.add(high, low), 2);"),r.push(" const hlc3 = __h.div(__h.add(__h.add(high, low), close), 3);"),r.push(" const ohlc4 = __h.div(__h.add(__h.add(__h.add(open, high), low), close), 4);"),t.usesStrategy)r.push(" __h.strategy.beginBar(__bar_idx, open, high, low, close, time);");if(t.needsHeikinashi)r.push(" const _ha_c = __h.div(__h.add(__h.add(__h.add(open, high), low), close), 4);"),r.push(" const _ha_o = (__bar_idx === 0 || __h.isNa(ha_open_arr[__bar_idx - 1])) ? __h.div(__h.add(open, close), 2) : __h.div(__h.add(ha_open_arr[__bar_idx - 1], ha_close_arr[__bar_idx - 1]), 2);"),r.push(" ha_open_arr[__bar_idx] = _ha_o;"),r.push(" ha_close_arr[__bar_idx] = _ha_c;"),r.push(" ha_high_arr[__bar_idx] = __h.max(high, __h.max(_ha_o, _ha_c));"),r.push(" ha_low_arr[__bar_idx] = __h.min(low, __h.min(_ha_o, _ha_c));");for(let o of e)r.push(tn(o,4));r.push(" }");let i=t.plots.length?`{ ${t.plots.map((o,s)=>`${JSON.stringify(o.title)}: plot_${s}`).join(", ")} }`:"{}",n=[];if(t.usesStrategy)n.push("__h.strategy.extras()");return n.push("((__h.draw && __h.draw.extras()) || {})"),n.push("((__h.log && __h.log.extras && __h.log.extras()) || {})"),r.push(` return Object.assign(${i}, ${n.join(", ")});`),r.push("}"),r.join(`
|
|
66
|
+
`)}function R_(t){return(e)=>yw(t,e)}function yw(t,e){if(e==null)return"null";switch(e.kind){case"Assign":case"ReAssign":case"AugAssign":case"FunctionDef":case"TypeDef":case"EnumDef":case"Import":case"Break":case"Continue":case"Expr":case"Once":return ti(t,e);default:return _e(t,e)}}function ti(t,e){switch(e.kind){case"Expr":return x_(t,e.value);case"Assign":return zw(t,e);case"ReAssign":return Vw(t,e);case"AugAssign":return N_(t,e);case"FunctionDef":if(zf(t.ctx,e,(r)=>ti(t,r)),t.ctx.currentFunc!=null)t.ctx.currentFunc=null;return"";case"TypeDef":return qw(t,e);case"EnumDef":return Hw(t,e);case"Import":return $w(t,e);case"Break":return"break;";case"Continue":return"continue;";case"If":return nl(t,e);case"ForTo":return Jf(t,e);case"ForIn":return td(t,e);case"While":return ed(t,e);case"Switch":return rd(t,e,!1);case"Once":return L_(t,e);default:return x_(t,e)}}function x_(t,e){if(e==null)return"";switch(e.kind){case"If":return nl(t,e);case"ForTo":return Jf(t,e);case"ForIn":return td(t,e);case"While":return ed(t,e);case"Switch":return rd(t,e,!1);case"Once":return L_(t,e);default:{let r=_e(t,e);if(!r||r==="null")return"";return r.endsWith(";")||r.endsWith("}")?r:`${r};`}}}function _e(t,e){if(e==null)return"null";switch(e.kind){case"Name":return A_(t,e);case"Constant":return xw(e);case"BinOp":return T_(t,e);case"UnaryOp":return ww(t,e);case"Compare":return vw(t,e);case"Conditional":return Cw(t,e);case"If":return jw(t,e);case"BoolOp":return Mw(t,e);case"Tuple":return kw(t,e);case"Subscript":return Bw(t,e);case"Call":return Gf(t.ctx,e,R_(t));case"Attribute":return Fw(t,e);case"Switch":return rd(t,e,!0);case"ForTo":return tl(Jf(t,e),"null");case"ForIn":return tl(td(t,e),"null");case"While":return tl(ed(t,e),"null");case"Qualify":return _e(t,e.value);case"Specialize":return _e(t,e.value);case"AugAssign":return N_(t,e);default:return"null"}}function A_(t,e){let r=e.id,i=t.loopVars.get(r);if(i!=null)return i;if(r==="this")return"this_";if(r==="barstate")return"null";if(r==="true"||r==="True")return"true";if(r==="false"||r==="False")return"false";if(t.ctx.currentSeriesParams.has(r))return`${bi(r)}[__bar_idx]`;let n=F_(t.ctx,r);if(n!=null)return`${n}[__bar_idx]`;let o=sd(r);if(t.ctx.arrays.has(o))return`${o}[__bar_idx]`;if(C_.has(r))return r;if(t.ctx.userFuncs.has(r))return r;if(t.ctx.enumTypes.has(r))return JSON.stringify(r);return bi(r)}function xw(t){let e=t.value;if(e==null)return"null";if(typeof e==="number"&&!Number.isFinite(e))return"null";if(typeof e==="number"||typeof e==="boolean"||typeof e==="string")return JSON.stringify(e);return"null"}function T_(t,e){let r=_e(t,e.left),i=_e(t,e.right);switch(il(e.op)){case"Add":return`__h.add(${r}, ${i})`;case"Sub":return`__h.sub(${r}, ${i})`;case"Mult":return`__h.mul(${r}, ${i})`;case"Div":return`__h.div(${r}, ${i})`;case"Mod":return`__h.mod(${r}, ${i})`;case"BitAnd":return Jo(r,i,"&");case"BitOr":return Jo(r,i,"|");case"BitXor":return Jo(r,i,"^");case"LShift":return Jo(r,i,"<<");case"RShift":return Jo(r,i,">>");default:return`__h.add(${r}, ${i})`}}function Jo(t,e,r){return`((__l, __r) => { if (__h.isNa(__l) || __h.isNa(__r)) return null; return (__h.nz(__l) | 0) ${r} (__h.nz(__r) | 0); })(${t}, ${e})`}function ww(t,e){let r=_e(t,e.operand);switch(il(e.op)){case"USub":return`__h.neg(${r})`;case"UAdd":return`__h.naNum(${r})`;case"Not":return`!(${r})`;case"Invert":return`~(__h.nz(${r}))`;default:return r}}function vw(t,e){let r=e.ops??[],i=e.comparators??[];if(r.length===0||i.length===0)return _e(t,e.left);let n=[],o=_e(t,e.left);for(let s=0;s<r.length&&s<i.length;s++){let h=_e(t,i[s]);n.push(Sw(il(r[s]),o,h)),o=h}return n.length===1?n[0]:`(${n.join(" && ")})`}function Sw(t,e,r){switch(t){case"Eq":return`__h.eq(${e}, ${r})`;case"NotEq":return`__h.ne(${e}, ${r})`;case"Lt":return`__h.lt(${e}, ${r})`;case"LtE":return`__h.lte(${e}, ${r})`;case"Gt":return`__h.gt(${e}, ${r})`;case"GtE":return`__h.gte(${e}, ${r})`;default:return`__h.eq(${e}, ${r})`}}function Cw(t,e){return`(${_e(t,e.test)} ? ${_e(t,e.body)} : ${_e(t,e.orelse)})`}function Mw(t,e){let r=(e.values??[]).map((n)=>_e(t,n));if(r.length===0)return"null";if(r.length===1)return r[0];let i=il(e.op)==="Or"?" || ":" && ";return`(${r.join(i)})`}function kw(t,e){return`[${(e.elts??[]).map((r)=>_e(t,r)).join(", ")}]`}var Ew=new Set(["position_size","netprofit","equity","openprofit","opentrades","closedtrades","leverage","margin_liquidation_price","position_avg_price","initial_capital"]),Rw=new Set(["ta","math","str","array","map","matrix","strategy","input","color","request","label","line","box","table","session","chart","log","order","format","text","size","barmerge","shape","location","xloc","yloc","extend","display","position","hline","dayofweek","month"]),Aw={"math.pi":Math.PI,"math.e":Math.E,"math.phi":(1+Math.sqrt(5))/2,"math.rphi":2/(1+Math.sqrt(5)),"format.mintick":"mintick","format.percent":"percent","format.volume":"volume","format.price":"price","text.formatting.none":"","text.formatting.bold":"bold","text.formatting.italic":"italic","text.formatting.bold_italic":"bold italic","size.auto":"auto","size.tiny":8,"size.small":10,"size.normal":12,"size.large":16,"size.huge":20,"order.ascending":1,"order.descending":-1,"barmerge.gaps_on":!0,"barmerge.gaps_off":!1,"barmerge.lookahead_on":!0,"barmerge.lookahead_off":!1,"shape.arrowup":"arrowup","shape.arrowdown":"arrowdown","shape.circle":"circle","shape.cross":"cross","shape.diamond":"diamond","shape.flag":"flag","shape.labelup":"labelup","shape.labeldown":"labeldown","shape.square":"square","shape.triangledown":"triangledown","shape.triangleup":"triangleup","shape.xcross":"xcross","location.abovebar":"abovebar","location.belowbar":"belowbar","location.top":"top","location.bottom":"bottom","location.absolute":"absolute","xloc.bar_index":"bar_index","xloc.bar_time":"bar_time","yloc.price":"price","yloc.abovebar":"abovebar","yloc.belowbar":"belowbar","extend.none":"none","extend.left":"left","extend.right":"right","extend.both":"both","display.none":0,"display.pane":1,"display.all":15,"display.data_window":2,"display.price_scale":4,"display.status_line":8,"position.top_left":"top_left","position.top_center":"top_center","position.top_right":"top_right","position.middle_left":"middle_left","position.middle_center":"middle_center","position.middle_right":"middle_right","position.bottom_left":"bottom_left","position.bottom_center":"bottom_center","position.bottom_right":"bottom_right","hline.style_solid":"solid","hline.style_dashed":"dashed","hline.style_dotted":"dotted","dayofweek.sunday":1,"dayofweek.monday":2,"dayofweek.tuesday":3,"dayofweek.wednesday":4,"dayofweek.thursday":5,"dayofweek.friday":6,"dayofweek.saturday":7,"month.january":1,"month.february":2,"month.march":3,"month.april":4,"month.may":5,"month.june":6,"month.july":7,"month.august":8,"month.september":9,"month.october":10,"month.november":11,"month.december":12},Tw=new Set(["math","order","format","text","size","barmerge","shape","location","xloc","yloc","extend","display","position","hline","dayofweek","month"]);function Nw(t){let e=[t.attr],r=t.value;while(r.kind==="Attribute")e.push(r.attr),r=r.value;if(r.kind!=="Name")return null;return e.push(r.id),e.reverse(),e.join(".")}function Lw(t){switch(t){case"isfirst":return"(__bar_idx === 0)";case"islast":return"(__bar_idx === last_bar_index)";case"ishistory":return"(__bar_idx < last_bar_index)";case"isrealtime":return"(__bar_idx === last_bar_index)";case"isnew":return"true";case"isconfirmed":return"true";case"islastconfirmedhistory":return"(__bar_idx === last_bar_index)";default:return"false"}}function Iw(t){switch(t){case"regular":return'"regular"';case"extended":return'"extended"';case"ismarket":return"1";case"ispremarket":case"ispostmarket":return"0";case"isfirstbar":case"isfirstbar_regular":return"(__bar_idx === 0 ? 1 : 0)";case"islastbar":case"islastbar_regular":return"(__bar_idx === last_bar_index ? 1 : 0)";default:return"null"}}function Ow(t){switch(t){case"is_heikinashi":case"is_renko":case"is_kagi":case"is_linebreak":case"is_pointfigure":return"0";case"fg_color":return'"#ffffff"';case"bg_color":return'"#131722"';default:return"null"}}function Pw(t){switch(t){case"period":case"main_period":return'(__h.timeframe || "D")';case"multiplier":return"1";case"isintraday":case"isweekly":case"ismonthly":case"isseconds":case"isinseconds":case"isminutes":case"ishours":return"false";case"isdaily":case"isdwm":return"true";default:return"null"}}function Dw(t){switch(t){case"ticker":case"tickerid":case"root":return'"SYMBOL"';case"prefix":return"__h.syminfoPrefix()";default:return"null"}}function Fw(t,e){if(e.value.kind==="Name"&&t.ctx.importAliases.has(e.value.id))return"null";if(e.value.kind==="Name"&&e.value.id==="barstate")return Lw(e.attr);if(e.value.kind==="Name"&&e.value.id==="session")return Iw(e.attr);if(e.value.kind==="Name"&&e.value.id==="chart")return Ow(e.attr);if(e.value.kind==="Name"&&e.value.id==="timeframe")return Pw(e.attr);if(e.value.kind==="Name"&&e.value.id==="syminfo")return Dw(e.attr);if(e.value.kind==="Name"&&e.value.id==="color")return`__h.colorByName(${JSON.stringify(e.attr)})`;if(e.value.kind==="Name"&&e.value.id==="ta"){if(!g_.has(e.attr))return"null";return Gf(t.ctx,{kind:"Call",func:e,args:[]},R_(t))}if(e.value.kind==="Name"&&e.value.id==="strategy"){let n=e.attr;if(n==="long")return'"long"';if(n==="short")return'"short"';if(n==="avg_price_stock")return'"stock"';if(n==="avg_price_futures")return'"futures"';if(n==="avg_price_inverse")return'"inverse"';if(n==="cash")return'"cash"';if(n==="fixed")return'"fixed"';if(n==="percent_of_equity")return'"percent_of_equity"';if(Ew.has(n))return t.ctx.usesStrategy=!0,`__h.strategy.${n}()`}if(e.value.kind==="Name"){let n=t.ctx.enumTypes.get(e.value.id);if(n!=null&&n.includes(e.attr))return JSON.stringify(e.attr)}let r=Nw(e);if(r!=null){let n=r.indexOf("."),o=n<0?r:r.slice(0,n);if(Tw.has(o)){let s=Aw[r];return s===void 0?"null":JSON.stringify(s)}}let i=_e(t,e.value);if(e.value.kind==="Name"&&t.ctx.udtTypes.has(e.value.id))return`__h.udtGet(${i}, ${JSON.stringify(e.attr)})`;if(e.value.kind!=="Name"||!Rw.has(e.value.id))return`__h.udtGet(${i}, ${JSON.stringify(e.attr)})`;return`${i}.${e.attr}`}function Bw(t,e){let r=e.slice!=null?_e(t,e.slice):"0";return`__h.hist(${Uw(t,e.value)}, __bar_idx, ${r})`}function Uw(t,e){if(e.kind==="Name"){let i=e.id;if(t.ctx.currentSeriesParams.has(i))return bi(i);let n=F_(t.ctx,i);if(n!=null)return n;let o=sd(i);if(t.ctx.arrays.has(o))return o;switch(i){case"open":return"open_arr";case"high":return"high_arr";case"low":return"low_arr";case"close":return"close_arr";case"volume":return"vol_arr";case"time":return"time_arr";default:return t.ctx.arrays.add(o),o}}let r=_e(t,e);if(r.endsWith("[__bar_idx]"))return r.slice(0,-11);return r}function qw(t,e){let r=[],i={};for(let n of e.body??[]){if(n.kind==="FunctionDef"){if(t.ctx.udtMethodNames.add(n.name),zf(t.ctx,n,(s)=>ti(t,s)),t.ctx.currentFunc!=null)t.ctx.currentFunc=null;continue}if(n.kind!=="Assign")continue;if(n.target.kind!=="Name")continue;let o=n.target.id;r.push(o),i[o]=n.value!=null?_e(t,n.value):"null"}return t.ctx.udtTypes.set(e.name,{fields:r,defaults:i}),""}function Hw(t,e){let r=[];for(let i of e.body??[])if(i.kind==="Assign"&&i.target.kind==="Name")r.push(i.target.id);else if(i.kind==="Expr"&&i.value?.kind==="Name")r.push(i.value.id);return t.ctx.enumTypes.set(e.name,r),""}function $w(t,e){let r=e.alias||e.name;t.ctx.importAliases.add(r);let i=t.ctx.getLibrary;if(i){let n=i(e.namespace,e.name,e.version);if(n){let o;try{o=Ai(n)}catch{return""}if(o.kind==="Script"){for(let s of o.body??[])if(s.kind==="FunctionDef"||s.kind==="TypeDef"||s.kind==="EnumDef"||s.kind==="Assign")ti(t,s)}}}return""}function zw(t,e){let r=e.value!=null?_e(t,e.value):"null",i=Gw(e.mode);return el(t,e.target,r,i)}function Vw(t,e){return el(t,e.target,_e(t,e.value),!1)}function N_(t,e){if(e.target.kind==="Attribute")return el(t,e.target,_e(t,e.value),!1);let r=T_(t,{kind:"BinOp",left:e.target,op:e.op,right:e.value});return el(t,e.target,r,!1)}function el(t,e,r,i){if(e.kind==="Name")return w_(t,e.id,r,i);if(e.kind==="Tuple"){let n=`__t${t.tmp++}`,o=[`const ${n} = ${r};`],s=e.elts??[];for(let h=0;h<s.length;h++){let m=s[h];if(m.kind==="Name")o.push(w_(t,m.id,`${n}[${h}]`,i));else o.push(el(t,m,`${n}[${h}]`,i))}return o.join(`
|
|
67
|
+
`)}if(e.kind==="Attribute")return`__h.udtSet(${_e(t,e.value)}, ${JSON.stringify(e.attr)}, ${r});`;return`${_e(t,e)} = __h.naNum(${r});`}function w_(t,e,r,i){let n=P_(t,e),o=`__h.hold(${r})`;if(i){let s=D_(e);return t.ctx.varNames.add(e),[`if (!__var_inited.${s}) {`,` ${n}[__bar_idx] = ${o};`,` __var_inited.${s} = true;`,"} else {",` ${n}[__bar_idx] = ${n}[__bar_idx - 1];`,"}"].join(`
|
|
68
|
+
`)}return`${n}[__bar_idx] = ${o};`}function jw(t,e){let r=Du(t,e.body),i=e.orelse&&e.orelse.length?Du(t,e.orelse):"null";if(r!=null&&i!=null)return`(__h.nz(${_e(t,e.test)}) ? ${r} : ${i})`;return tl(nl(t,e,!0),"null")}function nl(t,e,r=!1){let i=`__h.nz(${_e(t,e.test)})`,n=rl(t,e.body,r),o=e.orelse??[];if(o.length===0)return`if (${i}) {
|
|
69
|
+
${tn(n,2)}
|
|
70
|
+
}`;if(o.length===1){let h=id(o[0]);if(h&&h.kind==="If"){let m=nl(t,h,r);return`if (${i}) {
|
|
71
|
+
${tn(n,2)}
|
|
72
|
+
} else ${m}`}}let s=rl(t,o,r);return`if (${i}) {
|
|
73
|
+
${tn(n,2)}
|
|
74
|
+
} else {
|
|
75
|
+
${tn(s,2)}
|
|
76
|
+
}`}function L_(t,e){let r=`__once_${t.ctx.onceFlags.length}`;t.ctx.onceFlags.push(r);let i=e.test==null?"true":`__h.nz(${_e(t,e.test)})`,n=rl(t,e.body,!1),o=n?`${tn(n,4)}
|
|
77
|
+
${r} = true;`:` ${r} = true;`;return`if (!${r}) {
|
|
78
|
+
if (${i}) {
|
|
79
|
+
${o}
|
|
80
|
+
}
|
|
81
|
+
}`}function rl(t,e,r){let i=e??[];if(i.length===0)return r?"return null;":"";let n=[];for(let o=0;o<i.length;o++){let s=i[o];if(r&&o===i.length-1){let p=id(s);if(p&&I_(p)){n.push(`return ${_e(t,p)};`);continue}if(s.kind==="Assign"||s.kind==="ReAssign"){if(n.push(ti(t,s)),s.target.kind==="Name")n.push(`return ${A_(t,s.target)};`);else n.push("return null;");continue}if(p&&p.kind==="If"){n.push(nl(t,p,!0));continue}let y=ti(t,s);if(y)n.push(y);n.push("return null;");continue}let m=ti(t,s);if(m)n.push(m)}return n.join(`
|
|
82
|
+
`)}function Du(t,e){if(!e||e.length!==1)return null;let r=id(e[0]);if(r==null)return null;if(r.kind==="If"){let i=Du(t,r.body),n=r.orelse&&r.orelse.length?Du(t,r.orelse):"null";if(i==null||n==null)return null;return`(__h.nz(${_e(t,r.test)}) ? ${i} : ${n})`}if(!I_(r))return null;return _e(t,r)}function I_(t){switch(t.kind){case"ForTo":case"ForIn":case"While":case"Switch":case"Once":return!1;default:return!0}}function Jf(t,e){let r=e.target.kind==="Name"?e.target.id:`__i${t.tmp++}`,i=e.target.kind==="Name"?bi(r):r,n=`__s${t.tmp++}`,o=`__e${t.tmp++}`,s=`__p${t.tmp++}`,h=`__g${t.tmp++}`,m=_e(t,e.start),p=_e(t,e.end),y=e.step!=null?`__h.naNum(${_e(t,e.step)})`:`(__h.lte(${n}, ${o}) ? 1 : -1)`,_=t.loopVars.get(r);t.loopVars.set(r,i);let v;try{v=nd(t,e.body)}finally{B_(t,r,_)}return["{",` const ${n} = __h.naNum(${m});`,` const ${o} = __h.naNum(${p});`,` const ${s} = ${y};`,` if (${n} != null && ${o} != null && ${s} != null && ${s} !== 0) {`,` let ${h} = 0;`,` for (let ${i} = ${n}; (${s} > 0 ? ${i} <= ${o} : ${i} >= ${o}) && ${h}++ < ${S_}; ${i} += ${s}) {`,tn(v,6)," }"," }","}"].filter((C)=>C!=="").join(`
|
|
83
|
+
`)}function td(t,e){let r=`__it${t.tmp++}`,i=`__xs${t.tmp++}`,n=`__k${t.tmp++}`,o=_e(t,e.iter),s=[],h,m;if(e.target.kind==="Tuple"&&(e.target.elts?.length??0)>0){let _=e.target.elts.map((v,C)=>{let M=v.kind==="Name"?v.id:`__v${t.tmp++}_${C}`,A=v.kind==="Name"?bi(M):M;return s.push({id:M,prev:t.loopVars.get(M)}),t.loopVars.set(M,A),A});if(_.length===2)h=`const ${_[0]} = ${n};`,m=`const ${_[1]} = ${i}[${n}];`;else h="",m=_.map((v,C)=>`const ${v} = ${i}[${n}][${C}];`).join(`
|
|
84
|
+
`)}else{let _=e.target.kind==="Name"?e.target.id:`__v${t.tmp++}`,v=e.target.kind==="Name"?bi(_):_;s.push({id:_,prev:t.loopVars.get(_)}),t.loopVars.set(_,v),h="",m=`const ${v} = ${i}[${n}];`}let p;try{p=nd(t,e.body)}finally{for(let _ of s)B_(t,_.id,_.prev)}let y=[h,m,p].filter(Boolean).join(`
|
|
85
|
+
`);return["{",` const ${r} = ${o};`,` const ${i} = ${r} != null && typeof ${r}.length === "number" ? ${r} : [];`,` for (let ${n} = 0; ${n} < ${i}.length && ${n} < ${S_}; ${n}++) {`,tn(y,4)," }","}"].join(`
|
|
86
|
+
`)}function ed(t,e){let r=`__w${t.tmp++}`,i=`__h.nz(${_e(t,e.test)})`,n=nd(t,e.body);return["{",` let ${r} = 0;`,` while (${i} && ${r}++ < ${gw}) {`,tn(n,4)," }","}"].join(`
|
|
87
|
+
`)}function rd(t,e,r){let i=e.cases??[],n=e.subject!=null?`__sw${t.tmp++}`:null,o=[];if(n!=null)o.push(`const ${n} = ${_e(t,e.subject)};`);let s=!0,h=null;for(let p of i){if(p.pattern==null){h=p;continue}let y=Ww(t,p.pattern,n),_=s?"if":"else if";s=!1;let v=rl(t,p.body??[],r);o.push(`${_} (${y}) {
|
|
88
|
+
${tn(v,2)}
|
|
89
|
+
}`)}if(h!=null){let p=rl(t,h.body??[],r);if(s)o.push(p);else o.push(`else {
|
|
90
|
+
${tn(p,2)}
|
|
91
|
+
}`)}else if(r&&!s)o.push(`else {
|
|
92
|
+
return null;
|
|
93
|
+
}`);let m=o.filter(Boolean).join(`
|
|
94
|
+
`);if(r)return tl(m,"null");return`{
|
|
95
|
+
${tn(m,2)}
|
|
96
|
+
}`}function Ww(t,e,r){if(e.kind==="Tuple"){let i=(e.elts??[]).map((n)=>v_(t,n,r));return i.length?`(${i.join(" || ")})`:"false"}return v_(t,e,r)}function v_(t,e,r){return r!=null?`__h.eq(${r}, ${_e(t,e)})`:`__h.nz(${_e(t,e)})`}function nd(t,e){let r=[];for(let i of e??[]){let n=ti(t,i);if(n)r.push(n)}return r.join(`
|
|
97
|
+
`)}function id(t){if(t.kind==="Expr")return t.value;switch(t.kind){case"If":case"ForTo":case"ForIn":case"While":case"Switch":case"Call":case"Name":case"Constant":case"Attribute":case"Subscript":case"BinOp":case"UnaryOp":case"Compare":case"Tuple":case"Conditional":case"BoolOp":return t;default:return null}}function Gw(t){if(t==null)return!1;let e=il(t);return e==="Var"||e==="VarIp"}function Zf(t,e){if(e==null||typeof e!=="object")return;if(Array.isArray(e)){for(let i of e)Zf(t,i);return}let r=e;if(r.kind==="TypeDef"||r.kind==="EnumDef"||r.kind==="Import")return;if(r.kind==="FunctionDef"&&typeof r.name==="string"){t.ctx.userFuncs.add(r.name);return}if((r.kind==="Assign"||r.kind==="ReAssign")&&r.target!=null)O_(t,r.target);for(let i of Object.values(r))Zf(t,i)}function O_(t,e){if(e.kind==="Name"){P_(t,e.id);return}if(e.kind==="Tuple")for(let r of e.elts??[])O_(t,r)}function P_(t,e){let r=sd(e);return t.ctx.arrays.add(r),r}function sd(t){return`${D_(t)}_arr`}function D_(t){return k_.has(t)?`__u_${t}`:t}function bi(t){return k_.has(t)?`__u_${t}`:t}function F_(t,e){if(t.currentFunc==null)return null;let r=`__st_${bi(t.currentFunc)}_${bi(e)}`;return t.stArrays.has(r)?r:null}function B_(t,e,r){if(r===void 0)t.loopVars.delete(e);else t.loopVars.set(e,r)}function il(t){if(t==null)return"";if(typeof t==="string")return t;return t.kind??""}function tn(t,e){if(!t)return t;let r=" ".repeat(e);return t.split(`
|
|
98
|
+
`).map((i)=>i.length?r+i:i).join(`
|
|
99
|
+
`)}function tl(t,e){let r=t.trim()?`${t}
|
|
100
|
+
return ${e};`:`return ${e};`;return`(() => {
|
|
101
|
+
${tn(r,2)}
|
|
102
|
+
})()`}function Fr(t){if(t==null)return!0;if(typeof t==="number")return!Number.isFinite(t);return!1}function me(t){if(Fr(t))return null;if(typeof t==="boolean")return t?1:0;if(typeof t==="number")return t;return null}function U_(t){if(t!=null&&typeof t==="object")return t;return me(t)}function q_(t,e){let r=Fr(t),i=Fr(e);if(r&&i)return!0;if(r||i)return!1;return t===e}function H_(t,e){let r=Fr(t),i=Fr(e);if(r||i)return!1;return t!==e}function $_(t,e){if(Fr(t)||Fr(e))return!1;return t<e}function z_(t,e){if(Fr(t)||Fr(e))return!1;return t<=e}function V_(t,e){if(Fr(t)||Fr(e))return!1;return t>e}function j_(t,e){if(Fr(t)||Fr(e))return!1;return t>=e}function sl(t,e,r){let i=me(t),n=me(e);if(i==null||n==null)return null;let o=r(i,n);return Number.isFinite(o)?o:null}function W_(t,e){return sl(t,e,(r,i)=>r+i)}function G_(t,e){return sl(t,e,(r,i)=>r-i)}function K_(t,e){return sl(t,e,(r,i)=>r*i)}function Q_(t,e){return sl(t,e,(r,i)=>r/i)}function Y_(t,e){return sl(t,e,(r,i)=>r%i)}function Z_(t){let e=me(t);if(e==null)return null;let r=-e;return Number.isFinite(r)?r:null}function X_(t,e=0){if(Fr(t)){let r=me(e);return r==null?0:r}return me(t)}function J_(t,e,r){let i=me(r);if(i==null||i<0||!Number.isFinite(i))return null;let n=e-Math.trunc(i);if(n<0||n>=t.length)return null;return me(t[n])}function tb(t,e,r){if(e<0||e>=t.length)return;t[e]=me(r)}function eb(t){return Array.from({length:t},()=>1)}function rb(t){return Array.from({length:t},(e,r)=>r*60000)}function Vi(t,e,r){let i=Array(e);for(let n=0;n<e;n++){let o=t!=null&&n<t.length?t[n]:r;i[n]=me(o??r)}return i}function Mr(t,e=0){let r=me(t);return r==null?e:r}function sb(t){if(t!=null&&typeof t==="object")return null;return me(t)}function or(t){if(t==null)return null;if(typeof t==="number")return Number.isFinite(t)?t:null;return t}function nb(t,e){if(e!==void 0&&e!==null)return{order:As(t),field:e};if(t==null)return{order:"asc",field:null};if(typeof t==="string"){let r=t.toLowerCase();if(r==="ascending"||r==="descending"||r==="asc"||r==="desc"||r.includes("desc")||r.includes("asc"))return{order:As(t),field:null};return{order:"asc",field:t}}if(typeof t==="number"&&Number.isFinite(t)){if(t===1||t===-1)return{order:As(t),field:null};return{order:"asc",field:t}}return{order:As(t),field:null}}function fe(t){return t instanceof Te?t:null}function An(t){return t instanceof kn?t:null}function se(t){return t instanceof Pe?t:null}function As(t){if(typeof t==="number")return t<0?"desc":"asc";return String(t??"asc").toLowerCase().includes("desc")?"desc":"asc"}function ji(t){if(t==null)return null;let e=new Te;for(let r of t)e.push(or(r));return e}function ib(t){let e=fe(t);if(e==null)return;return e.toValues().map(or)}var Fu={new(t,e){return new Te(Mr(t,0),or(e))},get(t,e){return fe(t)?.get(Mr(e,0))??null},set(t,e,r){return fe(t)?.set(Mr(e,0),or(r)),t??null},push(t,e){return fe(t)?.push(or(e)),t??null},pop(t){return fe(t)?.pop()??null},unshift(t,e){return fe(t)?.unshift(or(e)),t??null},shift(t){return fe(t)?.shift()??null},size(t){return fe(t)?.size()??0},includes(t,e){return fe(t)?.includes(or(e))??!1},first(t){return fe(t)?.first()??null},last(t){return fe(t)?.last()??null},insert(t,e,r){return fe(t)?.insert(Mr(e,0),or(r)),t??null},remove(t,e){return fe(t)?.remove(Mr(e,0))??null},clear(t){return fe(t)?.clear(),t??null},fill(t,e){return fe(t)?.fill(or(e)),t??null},copy(t){return fe(t)?.copy()??null},reverse(t){return fe(t)?.reverse(),t??null},sort(t,e,r){let i=nb(e,r);return fe(t)?.sort(i.order,i.field),t??null},concat(t,e){let r=fe(t),i=fe(e);if(r==null)return i?.copy()??null;if(i==null)return r;return r.concat(i)},slice(t,e,r){return fe(t)?.slice(Mr(e,0),r==null?void 0:Mr(r,0))??null},indexof(t,e){return fe(t)?.indexof(or(e))??null},lastindexof(t,e){return fe(t)?.lastIndexOf(or(e))??null},avg(t){return fe(t)?.avg()??null},min(t){return fe(t)?.min()??null},max(t){return fe(t)?.max()??null},sum(t){return fe(t)?.sum()??null},stdev(t,e){return fe(t)?.stdev(e!==!1&&e!==0)??null},variance(t,e){return fe(t)?.variance(e!==!1&&e!==0)??null},join(t,e){return fe(t)?.join(e==null?",":String(e))??""},every(t){return fe(t)?.every()??!1},some(t){return fe(t)?.some()??!1},abs(t){return fe(t)?.abs()??null},range(t){return fe(t)?.range()??null},percentile_nearest(t,e){let r=fe(t),i=me(e);return r!=null&&i!=null?r.percentileNearestRank(i):null},percentileNearestRank(t,e){return Fu.percentile_nearest(t,e)},percentile_linear(t,e){let r=fe(t),i=me(e);return r!=null&&i!=null?r.percentileLinearInterpolation(i):null},percentileLinearInterpolation(t,e){return Fu.percentile_linear(t,e)},percentrank(t,e){return fe(t)?.percentrank(sb(e))??null},binary_search(t,e,r){return fe(t)?.binarySearch(or(e),r)??null},binary_search_leftmost(t,e,r){return fe(t)?.binarySearchLeftmost(or(e),r)??null},binary_search_rightmost(t,e,r){return fe(t)?.binarySearchRightmost(or(e),r)??null},sort_indices(t,e,r){let i=nb(e,r),n=fe(t)?.sortIndices(i.order,i.field);return ji(n)}},ob={new(){return new kn},put(t,e,r){return An(t)?.put(e,sb(r)),t??null},get(t,e){return An(t)?.get(e)??null},contains(t,e){return An(t)?.contains(e)??!1},remove(t,e){return An(t)?.remove(e)??null},clear(t){return An(t)?.clear(),t??null},size(t){return An(t)?.size()??0},keys(t){return An(t)?.keys()??[]},values(t){return An(t)?.values()??[]},copy(t){return An(t)?.copy()??null},put_all(t,e){let r=An(t),i=An(e);if(r!=null&&i!=null)r.putAll(i);return t??null}},lb={new(t,e,r){return new Pe(Mr(t,0),Mr(e,0),or(r))},get(t,e,r){return se(t)?.get(Mr(e,0),Mr(r,0))??null},set(t,e,r,i){return se(t)?.set(Mr(e,0),Mr(r,0),or(i)),t??null},rows(t){return se(t)?.rows()??0},columns(t){return se(t)?.columns()??0},fill(t,e){return se(t)?.fill(or(e)),t??null},add_row(t,e,r){let i=me(e);return se(t)?.addRow(i??void 0,ib(r)),t??null},add_col(t,e,r){let i=me(e);return se(t)?.addCol(i??void 0,ib(r)),t??null},transpose(t){return se(t)?.transpose()??null},copy(t){return se(t)?.copy()??null},row(t,e){let r=se(t);return r==null?null:ji(r.row(Mr(e,0)))},col(t,e){let r=se(t);return r==null?null:ji(r.col(Mr(e,0)))},sum(t){return se(t)?.sum()??null},avg(t){return se(t)?.avg()??null},min(t){return se(t)?.min()??null},max(t){return se(t)?.max()??null},det(t){return se(t)?.det()??null},mult(t,e){let r=se(t);if(r==null)return null;let i=se(e);if(i!=null)return r.mult(i);let n=me(e);return n==null?null:r.mult(n)},inv(t){return se(t)?.inv()??null},pinv(t){return se(t)?.pinv()??null},kron(t,e){let r=se(t),i=se(e);return r!=null&&i!=null?r.kron(i):null},rank(t){return se(t)?.rank()??null},add(t,e){let r=se(t);if(r==null)return null;let i=se(e);if(i!=null){let o=i.mult(-1);return o==null?null:r.diff(o)}let n=me(e);if(n==null)return null;return r.diff(new Pe(r.rows(),r.columns(),-n))},diff(t,e){let r=se(t),i=se(e);return r!=null&&i!=null?r.diff(i):null},reshape(t,e,r){return se(t)?.reshape(Mr(e,0),Mr(r,0))??null},reverse(t){return se(t)?.reverse(),t??null},sort(t,e,r,i){return se(t)?.sort(Mr(e,0),As(r),i),t??null},sort_indices(t,e,r,i){let n=se(t);if(n==null)return null;return ji(n.sortIndices(Mr(e,0),As(r),i))},eigenvalues(t){return ji(se(t)?.eigenvalues())},eigenvectors(t){return se(t)?.eigenvectors()??null},sum_row(t,e){let r=se(t),i=me(e);if(r==null||i==null)return null;return r.sumRow(i)},avg_row(t,e){let r=se(t),i=me(e);if(r==null||i==null)return null;return r.avgRow(i)},min_row(t,e){let r=se(t),i=me(e);if(r==null||i==null)return null;return r.minRow(i)},max_row(t,e){let r=se(t),i=me(e);if(r==null||i==null)return null;return r.maxRow(i)},mode_row(t,e){let r=se(t),i=me(e);if(r==null||i==null)return null;return r.modeRow(i)},sum_col(t,e){let r=se(t),i=me(e);if(r==null||i==null)return null;return r.sumCol(i)},avg_col(t,e){let r=se(t),i=me(e);if(r==null||i==null)return null;return r.avgCol(i)},min_col(t,e){let r=se(t),i=me(e);if(r==null||i==null)return null;return r.minCol(i)},max_col(t,e){let r=se(t),i=me(e);if(r==null||i==null)return null;return r.maxCol(i)},mode_col(t,e){let r=se(t),i=me(e);if(r==null||i==null)return null;return r.modeCol(i)},copy_row(t,e){let r=se(t),i=me(e);if(r==null||i==null)return null;return ji(r.copyRow(i))},copy_col(t,e){let r=se(t),i=me(e);if(r==null||i==null)return null;return ji(r.copyCol(i))},fill_row(t,e,r){let i=me(e);if(i!=null)se(t)?.fillRow(i,or(r));return t??null},fill_col(t,e,r){let i=me(e);if(i!=null)se(t)?.fillCol(i,or(r));return t??null},fill_diagonal(t,e){return se(t)?.fillDiagonal(or(e)),t??null},reverse_rows(t){return se(t)?.reverseRows(),t??null},reverse_cols(t){return se(t)?.reverseCols(),t??null},stdev(t){return se(t)?.stdev()??null},variance(t){return se(t)?.variance()??null},mode_all(t){let e=se(t);return e==null?null:e.modeAll()}};function Ze(t,e=0){let r=me(t);return r==null?e:r}function Ae(t){return Ze(t,-1)}class ab{book=new ps;label_new(t,e){return this.book.labelNew(Ze(t,0),e==null?void 0:String(e))}line_new(t){return this.book.lineNew(Ze(t,0))}box_new(t){return this.book.boxNew(Ze(t,0))}table_new(t){return this.book.tableNew(Ze(t,0))}polyline_new(t){return this.book.polylineNew(Ze(t,0))}linefill_new(t,e){return this.book.linefillNew(Ze(t,0),e)}label_set_text(t,e){this.book.labelSetText(Ae(t),e==null?"":String(e))}label_set_xy(t,e,r){this.book.labelSetXy(Ae(t),Ze(e,0),Ze(r,0))}label_delete(t){this.book.labelDelete(Ae(t))}line_set_xy(t,e,r,i,n){this.book.lineSetXy(Ae(t),Ze(e,0),Ze(r,0),Ze(i,0),Ze(n,0))}line_delete(t){this.book.lineDelete(Ae(t))}line_set_xy1(t,e,r){this.book.lineSetXy1(Ae(t),Ze(e,0),Ze(r,0))}line_set_xy2(t,e,r){this.book.lineSetXy2(Ae(t),Ze(e,0),Ze(r,0))}line_set_color(t,e){this.book.lineSetColor(Ae(t),e)}line_set_width(t,e){this.book.lineSetWidth(Ae(t),e)}line_set_style(t,e){this.book.lineSetStyle(Ae(t),e)}line_set_extend(t,e){this.book.lineSetExtend(Ae(t),e)}line_get_price(t,e){return this.book.lineGetPrice(Ae(t),e)}label_set_color(t,e){this.book.labelSetColor(Ae(t),e)}label_set_style(t,e){this.book.labelSetStyle(Ae(t),e)}label_set_size(t,e){this.book.labelSetSize(Ae(t),e)}label_set_textalign(t,e){this.book.labelSetTextalign(Ae(t),e)}label_set_tooltip(t,e){this.book.labelSetTooltip(Ae(t),e)}label_get_x(t){return this.book.labelGetX(Ae(t))}label_get_y(t){return this.book.labelGetY(Ae(t))}label_get_text(t){return this.book.labelGetText(Ae(t))}box_delete(t){this.book.boxDelete(Ae(t))}box_set(t,e){this.book.boxSet(Ae(t),e)}box_set_corners(t,e,r,i,n){this.book.boxSetCorners(Ae(t),Ze(e,0),Ze(r,0),Ze(i,0),Ze(n,0))}box_set_bgcolor(t,e){this.book.boxSetBgcolor(Ae(t),e)}box_set_border_color(t,e){this.book.boxSetBorderColor(Ae(t),e)}box_set_text(t,e){this.book.boxSetText(Ae(t),e)}box_set_extend(t,e){this.book.boxSetExtend(Ae(t),e)}table_cell(t,e,r,i){this.book.tableCell(Ae(t),e,r,i)}table_cell_set_text(t,e,r,i){this.book.tableCellSetText(Ae(t),e,r,i)}table_set_position(t,e){this.book.tableSetPosition(Ae(t),e)}linefill_set_color(t,e){this.book.linefillSetColor(Ae(t),e)}alert(t,e){this.book.alert(Ze(t,0),e==null?"":String(e))}extras(){return{__drawings:this.book.items.slice()}}}function ub(){return new ab}function Kw(t){if(t==null)return"long";if(t===1||t==="1"||t==="long"||t==="strategy.long"||t==="buy")return"long";if(t===-1||t==="-1"||t==="short"||t==="strategy.short"||t==="sell")return"short";return String(t)}function Wi(t,e){if(typeof t==="number"&&Number.isFinite(t))return t;if(typeof t==="boolean")return t?1:0;if(typeof t==="string"&&t!==""){let r=Number(t);if(Number.isFinite(r))return r}return e}function Bu(t,e=""){if(t==null)return e;return String(t)}function Lr(t){if(typeof t==="number"&&Number.isFinite(t))return t;return null}function Qw(t){if(t==null||typeof t!=="object"||Array.isArray(t))return{};let e=t;return{from_entry:e.from_entry==null||e.from_entry===""?null:String(e.from_entry),qty:Lr(e.qty),qty_percent:Lr(e.qty_percent),profit:Lr(e.profit),limit:Lr(e.limit),loss:Lr(e.loss),stop:Lr(e.stop),trail_price:Lr(e.trail_price),trail_points:Lr(e.trail_points),trail_offset:Lr(e.trail_offset),comment:e.comment==null?void 0:String(e.comment)}}class cb{book;bar=0;mark=0;time=0;ohlc={};constructor(t){this.book=new Do(t)}configure(t){if(t==null||typeof t!=="object"||Array.isArray(t))return;let e=t,r={},i=Lr(e.commission);if(i!=null)r.commission=i;let n=Lr(e.slippage);if(n!=null)r.slippage=n;if(e.pyramiding!==void 0){let y=Lr(e.pyramiding);r.pyramiding=y==null?void 0:Math.trunc(y)}if(typeof e.avg_price_model==="string")r.avg_price_model=e.avg_price_model;let o=Lr(e.leverage);if(o!=null)r.leverage=o;let s=Lr(e.margin_long);if(s!=null)r.margin_long=s;let h=Lr(e.margin_short);if(h!=null)r.margin_short=h;if(typeof e.default_qty_type==="string")r.default_qty_type=e.default_qty_type;let m=Lr(e.default_qty_value);if(m!=null)r.default_qty_value=m;if(Object.keys(r).length)this.book.configure(r);let p=Lr(e.initial_capital);if(p!=null)this.book.initialCapital=p}beginBar(t,e,r,i,n,o){this.bar=Wi(t,0),this.mark=Wi(n,0),this.time=o==null?this.bar:Wi(o,this.bar);let s={open:Wi(e,this.mark),high:Wi(r,this.mark),low:Wi(i,this.mark),close:this.mark};this.ohlc=s,this.book.processPending(this.bar,s),this.book.markOpenTrades(s.high,s.low,s.close)}entry(t,e,r,i){let n=i?.price??this.mark,o=r==null?this.book.resolveDefaultQty(n):Wi(r,1);this.book.placeEntry(this.bar,Bu(t,"entry"),Kw(e),o,{price:n,time:i?.time??this.time,limit:i?.limit,stop:i?.stop,comment:i?.comment,oca_name:i?.oca_name,oca_type:i?.oca_type})}close(t,e){this.book.fillClose(this.bar,Bu(t,""),this.mark,{time:this.time,qty:Lr(e)})}close_all(t){this.book.closeAll(this.bar,this.mark)}order(t,e,r,i){this.entry(t,e,r,i)}cancel(t){this.book.cancel(this.bar,Bu(t,""))}cancel_all(){this.book.cancelAll(this.bar)}exit(t,e){let r=Qw(e);this.book.placeExit(this.bar,Bu(t,"exit"),{...r,price:this.mark,time:this.time,ohlc:this.ohlc})}position_size(){return this.book.position.qty}netprofit(){return this.book.realizedPnl}equity(){return this.book.equity(this.mark)}openprofit(){let t=this.book.position.qty,e=this.book.position.avgPrice;if(t===0||e==null||!Number.isFinite(e))return 0;return t*(this.mark-e)}opentrades(){return this.book.opentrades}closedtrades(){return this.book.closedtrades}leverage(){return this.book.leverage}margin_liquidation_price(){return this.book.marginLiquidationPrice()}position_avg_price(){return this.book.position.avgPrice}initial_capital(){return this.book.initialCapital}risk_allow_entry_in(t){this.book.riskAllowEntryIn(t)}risk_max_position_size(t){this.book.riskMaxPositionSize(t)}risk_max_drawdown(t,e){this.book.riskMaxDrawdown(t,e)}extras(){return{__events:this.book.events.slice(),__fills:this.book.fills.slice(),__position_size:this.book.position.qty,__netprofit:this.book.realizedPnl,__equity:this.book.equity(this.mark),__strategy:this.book.summary(this.mark)}}}function hb(t){return new cb(t)}var od=new Map;function fb(t,e,r){od.set(t,new un(t,e.map((i)=>({name:i,default:r?.[i]??null}))))}function db(t,e){let r=od.get(t);if(r==null){let i=e!=null?Object.keys(e):[];r=new un(t,i.map((n)=>({name:n,default:null}))),od.set(t,r)}return r.newInstance(e)}function pb(t,e){if(t instanceof tr)return t.get(e);if(t!=null&&typeof t==="object")return t[e]??null;return null}function mb(t,e,r){if(t instanceof tr)return t.set(e,r),t;if(t!=null&&typeof t==="object")return t[e]=r,t;return t??null}function _b(t){let e=new xs,r=t?.inputs,i=new ms,n=(o)=>Oa(o==null||o===""?"D":o);return{na:Jw,nz:X_,naNum:me,isNa:Fr,eq:q_,ne:H_,lt:$_,lte:z_,gt:V_,gte:j_,add:W_,sub:G_,mul:K_,div:Q_,mod:Y_,neg:Z_,hist:J_,store:tb,ta:e,strategy:hb(),site:(o)=>o,input:(o,s)=>Zw(r,o,s),colorR:Ea,colorG:Ra,colorB:Aa,colorT:Ta,colorNew:Yw,colorRgb:Ma,colorFromGradient:ka,colorByName:ho,abs:Ba,sign:Ua,floor:Ga,ceil:Ka,round:Wa,sqrt:qa,exp:$a,log:{info(o,...s){i.info(ld(o),Ii(s))},warning(o,...s){i.warning(ld(o),Ii(s))},error(o,...s){i.error(ld(o),Ii(s))},clear(){i.clear()},extras(){return{__logs:i.snapshot()}}},log10:Ha,pow:za,min:ja,max:Va,avg:Qa,sin:Za,cos:Xa,tan:Ja,asin:tu,acos:eu,atan:ru,todegrees:nu,toradians:iu,iff:Xw,fixnan:J1,year:t5,month:e5,dayofmonth:r5,hour:n5,minute:i5,second:s5,dayofweek:o5,timestamp:xo,weekOfYear:wo,timeTradingDay:vo,timeframeInSeconds:n,timeframeChange:l5,timeClose:a5,roundToMintick:u5,syminfoPrefix:c5,strLength:Co,strContains:Mo,strStartsWith:Ao,strEndsWith:To,strLower:Eo,strUpper:ko,strReplace:Ro,strSubstring:No,strToNumber:Io,strTrim:Lo,strFormat:Po,strFormatTime:Oo,tostring:ys,str:{length:Co,contains:Mo,starts_with:Ao,ends_with:To,lower:Eo,upper:ko,replace:Ro,substring:No,tonumber:Io,trim:Lo,tostring:ys,format:Po,format_time:Oo},hold:U_,array:Fu,map:ob,matrix:lb,draw:ub(),udtNew:db,udtGet:pb,udtSet:mb,udtRegister:fb,currencyRate:M0,runtimeError(o){throw Error(String(o))}}}function Yw(t,e){let r=ui(t);if(!r)return null;let i=typeof e==="number"&&Number.isFinite(e)?e:void 0;return co(r.r,r.g,r.b,i)}function Zw(t,e,r){if(t==null)return r;if(gb(t,e))return t[e];let i=String(e);if(gb(t,i))return t[i];return r}function gb(t,e){return(typeof e==="string"||typeof e==="number")&&Object.prototype.hasOwnProperty.call(t,e)}function Xw(t,e,r){if(typeof t==="boolean")return t?e:r;return X1(t,e,r)}function Jw(t){if(arguments.length===0)return null;return Fr(t)?1:0}function Gi(t,e){if(typeof t!=="number"||!Number.isFinite(t))return null;return Pi(t)[e]}function t5(t){return Gi(t,"year")}function e5(t){return Gi(t,"month")}function r5(t){return Gi(t,"dayofmonth")}function n5(t){return Gi(t,"hour")}function i5(t){return Gi(t,"minute")}function s5(t){return Gi(t,"second")}function o5(t){return Gi(t,"dayofweek")}function ld(t){return typeof t==="number"&&Number.isFinite(t)?t:0}function l5(t,e,r,i){let n=typeof t==="string"?t:typeof t==="number"&&Number.isFinite(t)?String(t):null;if(n==null||n.trim()==="")return 0;if(typeof e!=="number"||!Number.isFinite(e))return 0;let o=typeof i==="number"&&Number.isFinite(i)?i:null;return Pa(e,r,n,o)?1:0}function a5(t,e){let r=typeof t==="number"&&Number.isFinite(t)?Math.trunc(t):0,i=Array.isArray(e)?e:[],n=i[r],o=typeof n==="number"&&Number.isFinite(n)?n:0;if(r+1<i.length){let s=i[r+1]??0;return s!==0?s:o}return Math.trunc(o)+86400000}function u5(t){return su(me(t),0.01)}function Uu(t){let e=t.trim(),r=e.indexOf(":");return r<0?"":e.slice(0,r)}function c5(t){if(arguments.length===0||t===void 0)return Uu("SYMBOL");if(t instanceof je)return Uu(t.symbol);if(typeof t==="string")return Uu(t);if(typeof t==="number"&&Number.isFinite(t))return Uu(String(t));return""}var bb=128,ei=new Map;function Ts(t){return{ok:!0}}function yb(t,e){return Xf(t,e).code}function xb(){ei.clear()}function wb(){return{source_entries:ei.size,source_max:bb}}function h5(t){return Uf("sha256").update(t).digest("hex")}function f5(t){let e;try{e=Function(`${t}
|
|
103
|
+
return execute_script_compiled;`)}catch(i){let n=i instanceof Error?i.message:String(i);throw new ws(n)}let r=e();if(typeof r!=="function")throw new ws("execute_script_compiled missing");return r}function qu(t,...e){for(let r of e)if(r!==t)throw Error("OHLCV arrays must have the same length")}function vb(t){let e=t.length,r=Array(e),i=Array(e),n=Array(e),o=Array(e),s=Array(e),h=Array(e);for(let m=0;m<e;m++){let p=t[m]??{};r[m]=p.open??null,i[m]=p.high??null,n[m]=p.low??null,o[m]=p.close??null,s[m]=p.volume??1,h[m]=p.time??m*60000}return qu(e,r.length,i.length,n.length,o.length,s.length,h.length),{open:r,high:i,low:n,close:o,volume:s,time:h}}class Sb{source;plots;fn;backend="js";constructor(t,e,r){this.source=t;this.plots=e;this.fn=r}run(t,e,r,i,n,o,s){let h=i.length;if(qu(h,t.length,e.length,r.length),n!=null)qu(h,n.length);if(o!=null)qu(h,o.length);let m=Vi(t,h,null),p=Vi(e,h,null),y=Vi(r,h,null),_=Vi(i,h,null),v=n!=null?Vi(n,h,1):eb(h),C=o!=null?Vi(o,h,null):rb(h);for(let M=0;M<h;M++){if(v[M]==null)v[M]=1;if(C[M]==null)C[M]=M*60000}return this.fn(m,p,y,_,v,C,_b({inputs:s?.inputs}))}}function d5(t,e){if(e==null)return"";let r=[];for(let i of t.matchAll(/import\s+(\S+)\/(\S+)\/(\d+)/g))r.push(e(i[1],i[2],Number(i[3]))??"");return`\x00${r.join("\x00")}`}function Ns(t,e){let r=Ts(t);if(!r.ok)throw new Bo(r.reason??"ineligible");let i=h5(t+d5(t,e?.getLibrary)),n=ei.get(i);if(n)return ei.delete(i),ei.set(i,n),n;let o,s;try{({code:o,ctx:s}=Xf(t,e))}catch(p){let y=p instanceof Error?p.message:String(p);throw new Di(y)}if(s.errors.length)throw new Di(s.errors.join("; "));if(!o.includes("execute_script_compiled"))throw new Di("empty emit");let h=f5(o),m=new Sb(o,s.plots,h);if(ei.set(i,m),ei.size>bb){let p=ei.keys().next().value;if(p!=null)ei.delete(p)}return m}function Cb(t,e){let r=vb(e);return Ns(t).run(r.open,r.high,r.low,r.close,r.volume,r.time)}function Mb(t,e,r){let i=Ns(t),n=vb(e),o=i.run(n.open,n.high,n.low,n.close,n.volume,n.time,r),s={},h={};for(let[_,v]of Object.entries(o))if(_.startsWith("__"))h[_]=v;else if(Array.isArray(v))s[_]=v;let m=i.plots,p=m.find((_)=>!_.title.startsWith("__"))?.title,y={series:s,plots:p!=null?s[p]??[]:[],plot_meta:m,count:e.length,script_name:null,script_type:"__events"in h?"strategy":"indicator",mode:"compile"};if("__events"in h)y.events=h.__events;if("__fills"in h)y.fills=h.__fills;if("__strategy"in h)y.strategy=h.__strategy;if("__drawings"in h)y.drawings=h.__drawings;if("__logs"in h)y.logs=h.__logs;return y}var Os=Object.freeze({__loop:"break"}),Ps=Object.freeze({__loop:"continue"}),p5=1e4,fd=1e6;class gd{symbol;inputs;broker;timeframe;libraries;mode;timeout_seconds;constructor(t="AAPL",e){this.symbol=t;this.inputs=e?.inputs??{},this.broker=e?.broker??{},this.timeframe=e?.timeframe??null,this.libraries=Nb(e?.libraries),this.mode=e?.mode??"interpret",this.timeout_seconds=e?.timeout_seconds??null}registerLibrarySource(t,e,r,i){this.libraries.registerSource(t,e,r,i)}run(t,e,r){let i;try{i=Ai(t)}catch(m){return{series:{},plots:[],plot_meta:[],count:0,script_name:null,script_type:"indicator",mode:"interpret",error:Ds(m),error_kind:"parse"}}let n=r&&!G5(r)?r:void 0,o=n?.mode??this.mode,s=Z5(this.inputs,r),h={symbol:this.symbol,inputs:s,broker:n?.broker??this.broker,timeframe:n?.timeframe??this.timeframe,libraries:n?.libraries!=null?Nb(n.libraries):this.libraries,timeout_seconds:n?.timeout_seconds??this.timeout_seconds};if(o==="compile")return Q5(t,e,h);if(o==="auto")return Y5(t,i,e,h);try{return Vu(i,e,h)}catch(m){return{series:{},plots:[],plot_meta:[],count:0,script_name:null,script_type:"indicator",mode:"interpret",error:Ds(m),error_kind:"runtime"}}}stream(t){return new _d(this,t)}async runProvider(t,e,r){let i=await e.fetch({symbol:this.symbol,timeframe:r?.timeframe??this.timeframe,limit:r?.limit});return this.run(t,i,r)}}class _d{runtime;source;bars=[];barHandlers=[];errorHandlers=[];endHandlers=[];closed=!1;constructor(t,e){this.runtime=t;this.source=e}on(t,e){if(t==="bar")this.barHandlers.push(e);else if(t==="error")this.errorHandlers.push(e);else this.endHandlers.push(e);return this}push(t){if(this.closed)return;this.bars.push(t);try{let e=this.runtime.run(this.source,this.bars);for(let r of this.barHandlers)r(e);return e}catch(e){let r=e instanceof Error?e:Error(String(e));for(let i of this.errorHandlers)i(r);return}}close(){this.closed=!0;let t=this.runtime.run(this.source,this.bars);for(let e of this.endHandlers)e(t);return t}}function m5(t,e){let r=new gd().run(t,e);if(r.error)throw Error(r.error);return{plots:r.plots}}function Vu(t,e,r){let n=(t.kind==="Script"?t:null)?.body??[],o={},s=[],h=null,m="indicator",p={ctx:{},series:new Map,varInited:new Set,barIndex:0,ta:new xs,callSites:new WeakMap,plotKeys:new WeakMap,nextSite:0,plots:o,plot_meta:s,book:new Do(r?.broker),drawings:new ps,symbol:r?.symbol??"AAPL",timeframe:r?.timeframe??null,inputs:r?.inputs??{},inputStore:new Map,udfs:new Map,udfSites:new Map,frames:[],barCount:e.length,lastBarTime:e.length===0?0:e[e.length-1].time??(e.length-1)*60000,logs:new ms,barTimes:e.map((R,T)=>R.time??T*60000),libraries:r?.libraries??new _s,pendingExports:new Map,onceFired:new WeakSet,maxBarsBackDecls:[],alertFireBars:new Map},y=e.length,_,v=!1,C=y,M=r?.timeout_seconds,A=M!=null&&Number.isFinite(M)?performance.now()+M*1000:null;try{for(let R=0;R<y;R++){if(A!=null&&(R&31)===0&&performance.now()>A){v=!0,C=R;break}_5(p,e[R],R),p.book.processPending(R,{open:ft(p.ctx.open)??void 0,high:ft(p.ctx.high)??void 0,low:ft(p.ctx.low)??void 0,close:ft(p.ctx.close)??void 0}),p.book.markOpenTrades(ft(p.ctx.high)??ft(p.ctx.close)??0,ft(p.ctx.low)??ft(p.ctx.close)??0,ft(p.ctx.close)??0);try{for(let T of n){let I=Vb(T);if(I){if(h==null)h=I.name;if(I.kind==="strategy")m="strategy",k5(T,p);else if(I.kind==="library")m="library",dd(T,p);else dd(T,p);continue}ii(T,p)}if(R===0&&m==="library"&&h)Zb(p,h)}catch(T){if(T===Os||T===Ps)continue;_={error:Ds(T),error_kind:"runtime"};break}}}catch(R){if(R!==Os&&R!==Ps)_={error:Ds(R),error_kind:"runtime"}}let k=s[0]?.title;return{series:o,plots:k?o[k]??[]:[],plot_meta:s,count:v?C:y,script_name:h,script_type:m,mode:"interpret",events:p.book.events,fills:J5(p.book),drawings:t7(p.drawings),logs:p.logs.records.length?p.logs.records:void 0,plot_data:g5(o,p.barTimes),...m==="strategy"||p.book.fills.length>0?{strategy:p.book.summary(ft(p.ctx.close)??0)}:{},..._??{},...v?{timed_out:!0,error:"Script execution timed out",error_kind:"runtime"}:{}}}function g5(t,e){let r={};for(let[i,n]of Object.entries(t))r[i]={data:n.map((o,s)=>{let h=e[s];return h==null?{value:o}:{value:o,time:h}})};return r}function Ki(t,e,r){t.ctx[e]=r;let i=t.series.get(e);if(!i)i=new bs,t.series.set(e,i);i.push(r)}function _5(t,e,r){t.barIndex=r;let i=e.open??0,n=e.high??0,o=e.low??0,s=e.close??0,h=e.volume??1,m=e.time??r*60000;Ki(t,"open",i),Ki(t,"high",n),Ki(t,"low",o),Ki(t,"close",s),Ki(t,"volume",h),Ki(t,"time",m);let p=e.time_close,y=m;if(typeof p==="number"&&Number.isFinite(p))y=p;else if(r+1<t.barCount){let v=t.barTimes[r+1]??0;y=v!==0?v:m}else y=Math.trunc(m)+86400000;Ki(t,"time_close",y),t.ctx.bar_index=r,t.ctx.last_bar_index=t.barCount-1,t.ctx.last_bar_time=t.lastBarTime,t.ctx.timenow=t.lastBarTime,Hu(t,"hl2",(n+o)/2),Hu(t,"hlc3",(n+o+s)/3),Hu(t,"ohlc4",(i+n+o+s)/4),Hu(t,"hlcc4",(n+o+s+s)/4);let _=Pi(m);t.ctx.year=_.year,t.ctx.month=_.month,t.ctx.dayofmonth=_.dayofmonth,t.ctx.dayofweek=_.dayofweek,t.ctx.hour=_.hour,t.ctx.minute=_.minute,t.ctx.second=_.second;for(let v of t.varInited){let C=t.series.get(v);if(C==null)continue;if(C.length===r)C.push(C.current);t.ctx[v]=C.current}}function Hu(t,e,r){t.ctx[e]=r;let i=t.series.get(e);if(!i)i=new bs,t.series.set(e,i);if(i.length===t.barIndex)i.push(r);else if(i.length===t.barIndex+1)i.setCurrent(r);else{while(i.length<t.barIndex)i.push(U);i.push(r)}}function Db(t){let e=t;while(e.kind==="Specialize")e=e.value;return e}function Ku(t){let e=Db(t);if(e.kind==="Name")return e.id;if(e.kind==="Attribute"){let r=Ku(e.value);return r?`${r}.${e.attr}`:e.attr}return null}function bd(t){return Ku(t.func)}function Be(t){if(t==null)return[];return Array.isArray(t)?t:[t]}function Fb(t){for(let e of Be(t))if(e.value.kind==="Constant"&&typeof e.value.value==="string")return e.value.value;return null}function nr(t){if(t.name!=null&&t.name!=="")return t.name;let e=t;if(typeof e.arg==="string"&&e.arg!=="")return e.arg;if(typeof e.keyword==="string"&&e.keyword!=="")return e.keyword;return Bb(t)?.name??null}function Bb(t){if(t.name!=null&&t.name!=="")return null;let e=t.value;if((e.kind==="Assign"||e.kind==="ReAssign")&&e.target?.kind==="Name"&&e.value!=null)return{name:e.target.id,value:e.value};return null}function Fs(t){return Bb(t)?.value??t.value}function Ub(t,e){for(let r of Be(t)){if(nr(r)!==e)continue;let i=Fs(r);if(i.kind==="Constant"&&typeof i.value==="string")return i.value}return null}function yd(t,e){let r=e.callSites.get(t);if(r!=null)return r;let n=`${t.lineno!=null&&t.col_offset!=null?`${t.lineno}:${t.col_offset}`:""}#${e.nextSite++}`;return e.callSites.set(t,n),n}function D(t,e,r){let i=Be(t);for(let o of i){let s=nr(o);if(s!=null&&r.includes(s))return Fs(o)}let n=0;for(let o of i){if(nr(o)!=null)continue;if(n===e)return o.value;n++}return}function b5(t){if(t==="hline")return"hline";if(t==="plotcandle")return"candles";if(t==="plotbar")return"bars";if(t==="plotshape")return"shape";if(t==="plotchar")return"char";if(t==="plotarrow")return"arrow";if(t==="bgcolor")return"bgcolor";if(t==="barcolor")return"barcolor";return"plot"}function y5(t,e){let r=Ub(t,"title");if(r!=null){let o=r.trim();if(o)return o}let i=[];for(let o of t){if(nr(o)!=null)continue;i.push(o)}if(i.length>1){let o=Fs(i[1]);if(o.kind==="Constant"&&typeof o.value==="string"){let s=o.value.trim();if(s)return s}}let n=Fb(t.slice(1));if(n!=null){let o=n.trim();if(o)return o}return b5(e)}function x5(t,e,r){let i=t.plotKeys.get(e);if(i!=null)return i;let n=r.trim()||"plot",o=n,s=2;while(Object.prototype.hasOwnProperty.call(t.plots,o))o=`${n}_${s++}`;return t.plotKeys.set(e,o),o}function $u(t){return t.mode?.kind==="Var"}function Qu(t){return typeof t==="object"&&t!==null&&t.__tuple===!0}function yn(t){return{__tuple:!0,elts:t}}function w5(t){return t===null||typeof t==="number"&&Number.isFinite(t)}function qb(t){return t.frames.length>0?t.frames[t.frames.length-1]:null}function v5(t){return qb(t)?.varInited??t.varInited}function Xi(t,e){for(let r=t.frames.length-1;r>=0;r--){let i=t.frames[r].ctx;if(Object.prototype.hasOwnProperty.call(i,e))return i[e]}if(Object.prototype.hasOwnProperty.call(t.ctx,e))return t.ctx[e];return}function S5(t,e){for(let r=t.frames.length-1;r>=0;r--){let i=t.frames[r].series.get(e);if(i)return i}return t.series.get(e)}function rn(t,e,r){let i=typeof r==="number"&&!Number.isFinite(r)?U:r,n=qb(t),o=n?n.ctx:t.ctx,s=n?n.series:t.series;if(o[e]=i,!w5(i))return;let h=s.get(e);if(!h)h=new bs,s.set(e,h);if(h.length===t.barIndex+1)h.setCurrent(i);else{while(h.length<t.barIndex)h.push(U);h.push(i)}}function Hb(t,e,r){if(!Qu(e))return;let i=Math.min(t.elts.length,e.elts.length);for(let n=0;n<i;n++){let o=t.elts[n];if(o?.kind==="Name")rn(r,o.id,Y(e.elts[n]))}}function C5(t,e){if(t.value==null)return U;let r=v5(e);if(t.target.kind==="Tuple"){if($u(t)){if(t.target.elts.some((h)=>h.kind==="Name"&&r.has(h.id))||e.barIndex!==0&&t.target.elts.some((h)=>h.kind==="Name"&&Xi(e,h.id)!==void 0)){for(let h of t.target.elts)if(h.kind==="Name")r.add(h.id);return U}}let o=O(t.value,e);if(Hb(t.target,o,e),$u(t)){for(let s of t.target.elts)if(s.kind==="Name")r.add(s.id)}return o}if(t.target.kind!=="Name")return U;let i=t.target.id;if($u(t)&&(r.has(i)||e.barIndex!==0&&Xi(e,i)!==void 0)){r.add(i);let o=Xi(e,i);return o===void 0?U:o}let n=O(t.value,e);if(rn(e,i,n),$u(t))r.add(i);if(t.export)e.pendingExports.set(i,n);return n}function $b(t,e,r){if(e==null||r==null)return U;if(t==="Add"&&(typeof e==="string"||typeof r==="string"))return pd(e)+pd(r);let i=Y(e),n=Y(r);if(i==null||n==null)return U;switch(t){case"Add":return i+n;case"Sub":return i-n;case"Mult":return i*n;case"Div":return n===0?U:i/n;case"Mod":return n===0?U:i%n;case"BitAnd":return Math.trunc(i)&Math.trunc(n);case"BitOr":return Math.trunc(i)|Math.trunc(n);case"BitXor":return Math.trunc(i)^Math.trunc(n);case"LShift":return Math.trunc(i)<<Math.trunc(n);case"RShift":return Math.trunc(i)>>Math.trunc(n)}return U}function zb(t,e){if(t.target.kind==="Attribute"){let n=O(t.target.value,e),o=O(t.value,e);if(n instanceof tr)return n.set(t.target.attr,o),o;return U}if(t.target.kind!=="Name")return U;let r=Xi(e,t.target.id);if(r===void 0)return U;let i=$b(t.op.kind,r,O(t.value,e));return rn(e,t.target.id,i),i}function M5(t,e){if(t.target.kind==="Tuple"){let i=O(t.value,e);return Hb(t.target,i,e),i}if(t.target.kind==="Attribute"){let i=O(t.target.value,e),n=O(t.value,e);if(i instanceof tr)return i.set(t.target.attr,n),n;return U}if(t.target.kind!=="Name")return U;let r=O(t.value,e);return rn(e,t.target.id,r),r}function k5(t,e){if(t.kind!=="Expr"||t.value?.kind!=="Call")return;let r={},i=Y(O(D(t.value.args,-1,["commission","commission_value"]),e)),n=Y(O(D(t.value.args,-1,["slippage"]),e)),o=Y(O(D(t.value.args,-1,["pyramiding"]),e));if(i!=null)r.commission=i;if(n!=null)r.slippage=n;if(o!=null)r.pyramiding=Math.trunc(o);let s=O(D(t.value.args,-1,["avg_price_model"]),e);if(typeof s==="string")r.avg_price_model=s;let h=Y(O(D(t.value.args,-1,["leverage"]),e));if(h!=null)r.leverage=h;let m=Y(O(D(t.value.args,-1,["margin_long"]),e));if(m!=null)r.margin_long=m;let p=Y(O(D(t.value.args,-1,["margin_short"]),e));if(p!=null)r.margin_short=p;let y=O(D(t.value.args,-1,["default_qty_type"]),e);if(typeof y==="string")r.default_qty_type=y;else if(J0(y))r.default_qty_type="cash";let _=Y(O(D(t.value.args,-1,["default_qty_value"]),e));if(_!=null)r.default_qty_value=_;let v=O(D(t.value.args,-1,["currency"]),e);if(typeof v==="string"&&v!=="")r.currency=v;if(Object.keys(r).length)e.book.configure(r);let C=Y(O(D(t.value.args,-1,["initial_capital"]),e));if(C!=null&&Number.isFinite(C))e.book.initialCapital=C;dd(t,e)}function dd(t,e){if(t.kind!=="Expr"||t.value?.kind!=="Call")return;let r=Y(O(D(t.value.args,-1,["max_lines_count"]),e)),i=Y(O(D(t.value.args,-1,["max_labels_count"]),e)),n=Y(O(D(t.value.args,-1,["max_boxes_count"]),e)),o=Y(O(D(t.value.args,-1,["max_polylines_count"]),e));if(r==null&&i==null&&n==null&&o==null)return;e.drawings.configure({max_lines_count:r??void 0,max_labels_count:i??void 0,max_boxes_count:n??void 0,max_polylines_count:o??void 0})}function Vb(t){if(t.kind!=="Expr"||t.value?.kind!=="Call")return null;let e=bd(t.value);if(e!=="indicator"&&e!=="strategy"&&e!=="library")return null;return{name:Fb(t.value.args),kind:e}}function ii(t,e){if(t.kind==="FunctionDef")return M7(t,e),U;if(t.kind==="TypeDef")return k7(t,e),U;if(t.kind==="EnumDef")return E7(t,e),U;if(t.kind==="Import")return P7(t,e),U;if(t.kind==="Assign")return C5(t,e);if(t.kind==="ReAssign")return M5(t,e);if(t.kind==="AugAssign")return zb(t,e);if(t.kind==="Break")throw Os;if(t.kind==="Continue")throw Ps;if(t.kind==="Switch"||t.kind==="While"||t.kind==="If"||t.kind==="Once")return O(t,e);if(t.kind!=="Expr"||!("value"in t)||t.value==null)return U;let r=t.value;if(r.kind==="Call"){let i=bd(r);if(i==="indicator"||i==="strategy"||i==="library")return U;if(i==="plot"||i==="plotshape"||i==="hline"||i==="plotchar"||i==="plotarrow"||i==="bgcolor"||i==="barcolor"||i==="plotcandle"||i==="plotbar"){let n=Be(r.args),o=i==="plotcandle"||i==="plotbar",s=y5(n,i),h=x5(e,r,s),m=o?D(r.args,3,["close"]):D(r.args,0,["series","source"])??n[0]?.value,p=Y(O(m,e));if(!e.plots[h])e.plots[h]=[],e.plot_meta.push({title:h});let y=e.plots[h];while(y.length<e.barIndex)y.push(null);return y.push(p),p}}return O(r,e)}function xn(t){return t!=null&&t!==0}function O(t,e){if(t==null)return U;switch(t.kind){case"Name":{let r=Xi(e,t.id);if(r!==void 0)return r;if(t.id==="bid"||t.id==="ask")return U;return U}case"Constant":{let r=t.value;if(typeof r==="number")return Number.isFinite(r)?r:U;if(typeof r==="string")return r;if(r===!0)return 1;if(r===!1)return 0;return U}case"BinOp":return $b(t.op.kind,O(t.left,e),O(t.right,e));case"UnaryOp":{let r=Y(O(t.operand,e));if(t.op.kind==="Not")return xn(r)?0:1;if(r==null)return U;if(t.op.kind==="USub")return-r;if(t.op.kind==="UAdd")return r;if(t.op.kind==="Invert")return~Math.trunc(r);return U}case"Subscript":{let r=Y(O(t.slice??void 0,e));if(r==null||!Number.isFinite(r))return U;let i=Math.trunc(r);if(i<0)return U;if(t.value.kind==="Name"){let n=S5(e,t.value.id);if(n)return n.get(i)}return U}case"Call":return q5(t,e);case"Compare":{let r=O(t.left,e);for(let i=0;i<t.ops.length;i++){let n=O(t.comparators[i],e),o=U5(r,t.ops[i].kind,n);if(o==null)return U;if(!o)return 0;r=n}return 1}case"If":{let r=Y(O(t.test,e)),i=xn(r)?t.body:t.orelse,n=U;for(let o of i)n=ii(o,e);return n}case"Attribute":return P5(t,e);case"Conditional":return E5(t,e);case"ForTo":return R5(t,e);case"Tuple":return yn(t.elts.map((r)=>O(r,e)));case"ForIn":return I5(t,e);case"While":return A5(t,e);case"Switch":return T5(t,e);case"Once":{let r=t;if(e.onceFired.has(r))return U;let i=r.test==null?1:Y(O(r.test,e));if(!xn(i))return U;for(let n of r.body)ii(n,e);return e.onceFired.add(r),U}case"BoolOp":return L5(t,e);case"Qualify":return O(t.value,e);case"Specialize":return O(t.value,e);case"AugAssign":return zb(t,e)}}function E5(t,e){let r=Y(O(t.test,e));return xn(r)?O(t.body,e):O(t.orelse,e)}function R5(t,e){let r=Y(O(t.start,e)),i=Y(O(t.end,e));if(r==null||i==null||!Number.isFinite(r)||!Number.isFinite(i))return U;let n;if(t.step!=null){let _=Y(O(t.step,e));if(_==null||!Number.isFinite(_)||_===0)return U;if(n=Math.trunc(_),n===0)return U}else n=r<=i?1:-1;let o=Math.trunc(r),s=Math.trunc(i),h=t.target.kind==="Name"?t.target.id:null,m=U,p=0,y=(_)=>{if(h)rn(e,h,_);try{for(let v of t.body)m=ii(v,e)}catch(v){if(v===Os)return"break";if(v===Ps)return"ok";throw v}return"ok"};if(n>0)for(let _=o;_<=s;_+=n){if(++p>fd)break;if(y(_)==="break")break}else for(let _=o;_>=s;_+=n){if(++p>fd)break;if(y(_)==="break")break}return m}function A5(t,e){let r=U,i=0;while(xn(Y(O(t.test,e)))){if(++i>p5)break;try{for(let n of ul(t.body))r=ii(n,e)}catch(n){if(n===Os)break;if(n===Ps)continue;throw n}}return r}function T5(t,e){let r=Array.isArray(t.cases)?t.cases:[],i=t.subject!=null,n=i?O(t.subject,e):null;for(let o of r){if(o.pattern==null)return kb(o.body,e);if(N5(i,n,o.pattern,e))return kb(o.body,e)}return U}function N5(t,e,r,i){let n=O(r,i);if(Qu(n)){if(!t)return n.elts.some((o)=>xn(Y(o)));return n.elts.some((o)=>ju(o,e))}if(t)return ju(n,e);return xn(Y(n))}function kb(t,e){let r=U;for(let i of ul(t))r=ii(i,e);return r}function L5(t,e){let r=t.values??[],i=typeof t.op==="string"?t.op:t.op?.kind;if(i==="And"){for(let n of r){let o=Y(O(n,e));if(o==null)return U;if(!xn(o))return 0}return 1}if(i==="Or"){let n=!1;for(let o of r){let s=Y(O(o,e));if(s==null){n=!0;continue}if(xn(s))return 1}return n?U:0}return U}function I5(t,e){let r=O(t.iter,e),i=[];if(Qu(r))i=r.elts;else if(r instanceof Te)i=r.toValues();let n=t.target.kind==="Name"?t.target.id:null,o=U,s=Math.min(i.length,fd);for(let h=0;h<s;h++){let m=i[h];if(n)rn(e,n,m);try{for(let p of t.body)o=ii(p,e)}catch(p){if(p===Os)break;if(p===Ps)continue;throw p}}return o}var Eb={"math.pi":Math.PI,"math.e":Math.E,"math.phi":(1+Math.sqrt(5))/2,"math.rphi":2/(1+Math.sqrt(5)),"format.mintick":"mintick","format.percent":"percent","format.volume":"volume","format.price":"price","text.formatting.none":"","text.formatting.bold":"bold","text.formatting.italic":"italic","text.formatting.bold_italic":"bold italic","size.auto":"auto","size.tiny":8,"size.small":10,"size.normal":12,"size.large":16,"size.huge":20,"order.ascending":1,"order.descending":-1,"barmerge.gaps_on":!0,"barmerge.gaps_off":!1,"barmerge.lookahead_on":!0,"barmerge.lookahead_off":!1,"shape.arrowup":"arrowup","shape.arrowdown":"arrowdown","shape.circle":"circle","shape.cross":"cross","shape.diamond":"diamond","shape.flag":"flag","shape.labelup":"labelup","shape.labeldown":"labeldown","shape.square":"square","shape.triangledown":"triangledown","shape.triangleup":"triangleup","shape.xcross":"xcross","location.abovebar":"abovebar","location.belowbar":"belowbar","location.top":"top","location.bottom":"bottom","location.absolute":"absolute","xloc.bar_index":"bar_index","xloc.bar_time":"bar_time","yloc.price":"price","yloc.abovebar":"abovebar","yloc.belowbar":"belowbar","extend.none":"none","extend.left":"left","extend.right":"right","extend.both":"both","display.none":0,"display.pane":1,"display.all":15,"display.data_window":2,"display.price_scale":4,"display.status_line":8,"position.top_left":"top_left","position.top_center":"top_center","position.top_right":"top_right","position.middle_left":"middle_left","position.middle_center":"middle_center","position.middle_right":"middle_right","position.bottom_left":"bottom_left","position.bottom_center":"bottom_center","position.bottom_right":"bottom_right","hline.style_solid":"solid","hline.style_dashed":"dashed","hline.style_dotted":"dotted","plot.linestyle_solid":"linestyle_solid","plot.linestyle_dashed":"linestyle_dashed","plot.linestyle_dotted":"linestyle_dotted","dayofweek.sunday":1,"dayofweek.monday":2,"dayofweek.tuesday":3,"dayofweek.wednesday":4,"dayofweek.thursday":5,"dayofweek.friday":6,"dayofweek.saturday":7,"month.january":1,"month.february":2,"month.march":3,"month.april":4,"month.may":5,"month.june":6,"month.july":7,"month.august":8,"month.september":9,"month.october":10,"month.november":11,"month.december":12};function O5(t){let e=Ku(t);if(e==null||!Object.prototype.hasOwnProperty.call(Eb,e))return;return Eb[e]}function P5(t,e){let r=O5(t);if(r!==void 0)return r;let i=o7(t,e);if(i!==void 0)return i;if(t.value.kind==="Name"){if(t.value.id==="syminfo"){if(t.attr==="ticker"||t.attr==="tickerid")return e.symbol;if(t.attr==="prefix")return al(e.symbol);if(t.attr==="timezone")return"Etc/UTC";if(t.attr==="currency")return"USD";if(t.attr==="mintick")return 0.01;if(t.attr==="type")return"stock";if(t.attr==="isin")return"";if(t.attr==="current_contract")return U;if(t.attr==="main_tickerid")return e.symbol}if(t.value.id==="timeframe"){let o=e.timeframe==null||e.timeframe===""?"D":e.timeframe;if(t.attr==="period")return o;if(t.attr==="main_period")return o;if(t.attr==="multiplier")return H1(o);if(t.attr==="isintraday")return U1(o)?1:0;if(t.attr==="isdaily")return _o(o)?1:0;if(t.attr==="isweekly")return bo(o)?1:0;if(t.attr==="ismonthly")return yo(o)?1:0;if(t.attr==="isseconds"||t.attr==="isinseconds")return A0(o)?1:0;if(t.attr==="isminutes")return q1(o)?1:0;if(t.attr==="ishours")return T0(o)?1:0;if(t.attr==="isdwm")return N0(o)?1:0}if(t.value.id==="color"){let o=ho(t.attr);if(o)return o}if(t.value.id==="barstate"){let o=e.barIndex===e.barCount-1;if(t.attr==="isfirst")return e.barIndex===0?1:0;if(t.attr==="islast")return o?1:0;if(t.attr==="ishistory")return o?0:1;if(t.attr==="isconfirmed")return 1;if(t.attr==="isnew")return 1;if(t.attr==="isrealtime")return 0;if(t.attr==="islastconfirmedhistory")return o?1:0}if(t.value.id==="session"){if(t.attr==="regular")return"regular";if(t.attr==="extended")return"extended";if(t.attr==="ismarket")return 1;if(t.attr==="ispremarket"||t.attr==="ispostmarket")return 0;if(t.attr==="isfirstbar"||t.attr==="isfirstbar_regular")return e.barIndex===0?1:0;if(t.attr==="islastbar"||t.attr==="islastbar_regular")return e.barIndex===e.barCount-1?1:0}if(t.value.id==="chart"){if(t.attr==="is_heikinashi"||t.attr==="is_renko"||t.attr==="is_kagi")return 0;if(t.attr==="fg_color")return"#ffffff";if(t.attr==="bg_color")return"#131722"}if(t.value.id==="ta"){let o=B5(t.attr,e);if(o!==void 0)return o}if(t.value.id==="order"){if(t.attr==="ascending")return 1;if(t.attr==="descending")return-1}if(t.attr==="all"){let o=Qb(t.value.id);if(o!=null)return Yb(e,o)}}let n=O(t.value,e);if(n instanceof tr){let o=n.get(t.attr);if(typeof o==="number"||o===null||typeof o==="string")return o;if(o instanceof tr||o instanceof ai)return o;return U}if(n instanceof un&&t.attr==="new")return n;if(n instanceof Ti)return n.members.get(t.attr)??U;if(n instanceof fi){let o=n.get(t.attr);if(o===void 0)return U;if(Yu(o))return o;if(typeof o==="function")return U;return o}if(D5(n))return F5(n,t.attr);if(ni(n))return x7(n,t.attr);return U}function D5(t){return typeof t==="object"&&t!==null&&t.__taRecord===!0}function F5(t,e){if(t instanceof tr||t instanceof Ti||t instanceof fi||t instanceof Te||t instanceof kn||t instanceof Pe)return U;if(!Object.prototype.hasOwnProperty.call(t,e))return U;let r=t[e];if(typeof r==="boolean")return r?1:0;if(typeof r==="number")return Number.isFinite(r)?r:U;if(r===null)return U;if(typeof r==="string")return r;return U}function B5(t,e){let r=e.ta,i=`attr:ta.${t}`;if(t==="accdist"||t==="ad")return r.accdist(i,ft(e.ctx.high),ft(e.ctx.low),ft(e.ctx.close),ft(e.ctx.volume));if(t==="obv"&&typeof r.obv==="function")return r.obv.call(e.ta,i,ft(e.ctx.close),ft(e.ctx.volume));if(t==="tr"&&typeof r.tr==="function")return r.tr.call(e.ta,i,ft(e.ctx.high),ft(e.ctx.low),ft(e.ctx.close));if(t==="vwap"&&typeof r.vwap==="function"){let n=ft(e.ctx.high),o=ft(e.ctx.low),s=ft(e.ctx.close),h=n!=null&&o!=null&&s!=null?(n+o+s)/3:s;return r.vwap.call(e.ta,i,h,ft(e.ctx.volume))}if((t==="pvt"||t==="vpt")&&typeof r.pvt==="function")return r.pvt.call(e.ta,i,ft(e.ctx.close),ft(e.ctx.volume));if(t==="nvi"&&typeof r.nvi==="function")return r.nvi.call(e.ta,i,ft(e.ctx.close),ft(e.ctx.volume));if(t==="pvi"&&typeof r.pvi==="function")return r.pvi.call(e.ta,i,ft(e.ctx.close),ft(e.ctx.volume));if(t==="wad"&&typeof r.wad==="function")return r.wad.call(e.ta,i,ft(e.ctx.high),ft(e.ctx.low),ft(e.ctx.close),ft(e.ctx.volume));if(t==="wvad"&&typeof r.wvad==="function")return r.wvad.call(e.ta,i,ft(e.ctx.high),ft(e.ctx.low),ft(e.ctx.close),ft(e.ctx.volume),20);if(t==="cmf"&&typeof r.cmf==="function")return r.cmf.call(e.ta,i,ft(e.ctx.high),ft(e.ctx.low),ft(e.ctx.close),ft(e.ctx.volume),20);if(t==="ao")return e.ta.ao(i,ft(e.ctx.high),ft(e.ctx.low),5,34);return}function Rb(t,e){if(t==null)return"long";if(t.kind==="Constant"&&typeof t.value==="string")return t.value;let r=O(t,e);if(typeof r==="string")return r;let i=Y(r);if(i===1)return"long";if(i===-1)return"short";return"long"}function ol(t){if(t==null)return"entry";if(t.kind==="Constant"&&typeof t.value==="string")return t.value;if(t.kind==="Name")return t.id;return"entry"}function pd(t){if(typeof t==="string")return t;if(t instanceof je)return t.toString();let e=Y(t);return e==null?"na":String(e)}function Zi(t){if(t==null)return!0;if(typeof t==="number")return!Number.isFinite(t);return!1}function ju(t,e){if(typeof t==="boolean")t=t?1:0;if(typeof e==="boolean")e=e?1:0;if(Zi(t)&&Zi(e))return!0;if(Zi(t)||Zi(e))return!1;if(t instanceof ai)return t.equals(e);if(e instanceof ai)return e.equals(t);if(typeof t==="string"||typeof e==="string")return t===e;if(typeof t==="number"&&typeof e==="number")return t===e;return t===e}function U5(t,e,r){let i=Zi(t),n=Zi(r);switch(e){case"Eq":return ju(t,r);case"NotEq":if(i||n)return!1;return!ju(t,r);case"Lt":case"LtE":case"Gt":case"GtE":{let o=Y(t),s=Y(r);if(o==null||s==null)return!1;if(e==="Lt")return o<s;if(e==="LtE")return o<=s;if(e==="Gt")return o>s;return o>=s}default:return null}}function q5(t,e){let r=Db(t.func);if(r.kind==="Attribute"){let R=O(r.value,e);if(R instanceof fi)return O7(R,r.attr,t,e);if(R instanceof tr){let T=R.getMethod(r.attr);if(T&&Yu(T.body))return md(T.body,t,e,R)}if(R instanceof un&&r.attr==="new"){let T={},I=0;for(let P of Be(t.args)){let F=nr(P);if(F){T[F]=O(P.value,e);continue}let G=R.fields[I++];if(G)T[G.name]=O(P.value,e)}return R.newInstance(T)}}let i=bd(t),n=yd(t,e);if(i==="ta.sma"||i==="sma")return e.ta.sma(n,ne(t,e),re(t,e,1));if(i==="ta.ema"||i==="ema")return e.ta.ema(n,ne(t,e),re(t,e,1));if(i==="ta.rsi"||i==="rsi")return e.ta.rsi(n,ne(t,e),re(t,e,1));if(i==="ta.rma"||i==="rma")return e.ta.rma(n,ne(t,e),re(t,e,1));if(i==="ta.atr"||i==="atr"){let R=ke(t,e,0,["length"])??0;return e.ta.atr(n,ft(e.ctx.high),ft(e.ctx.low),ft(e.ctx.close),R)}if(i==="ta.kc"||i==="kc")return H5(t,e,n);if(i==="ta.supertrend"||i==="supertrend")return $5(t,e,n);if(i==="ta.tr"||i==="tr")return z5(t,e,n);let o=f7(i,t,e,n);if(o!==void 0)return o;let s=h7(i,t,e);if(s!==void 0)return s;if(j1(i))return i7(t,e,i);if(O1(i)||i==="request.security"||i==="security"||i==="security_lower_tf")return c7(i,t,e);let h=m7(i,t,e);if(h!==void 0)return h;let m=S7(i,t,e);if(m!==void 0)return m;let p=C7(i,t,e);if(p!==void 0)return p;if(i==="na"){let R=D(t.args,0,["x","source"]);if(R==null)return U;return Zi(O(R,e))?1:0}if(i==="iff"){let R=Y(O(D(t.args,0,["condition","cond"]),e));if(R==null)return U;return xn(R)?O(D(t.args,1,["then","if_true"]),e):O(D(t.args,2,["else","if_false"]),e)}if(i==="fixnan"){let R=Y(O(D(t.args,0,["source","x"]),e));return R==null?0:R}if(i==="int"){let R=Y(O(D(t.args,0,["x","source"]),e));return R==null?U:Math.trunc(R)}if(i==="float")return Y(O(D(t.args,0,["x","source"]),e));if(i==="bool"){let R=Y(O(D(t.args,0,["x","source"]),e));return xn(R)?1:0}if(i==="string"||i==="str")return pd(O(D(t.args,0,["x","source"]),e));if(i==="log.info"||i==="log.warning"||i==="log.error"){let R=Be(t.args).map((I)=>{let P=O(I.value,e);if(P instanceof je)return P.toString();return typeof P==="string"?P:Y(P)}),T=Ii(R);if(i==="log.info")e.logs.info(e.barIndex,T);else if(i==="log.warning")e.logs.warning(e.barIndex,T);else e.logs.error(e.barIndex,T);return U}let y=T7(i,t,e);if(y!==void 0)return y;if(i==="max_bars_back"){let R=D(t.args,0,["var"]),T=D(t.args,1,["num"]);return e.maxBarsBackDecls.push({var:R==null?U:O(R,e),num:T==null?0:O(T,e)}),U}if(i==="alertcondition"){let R=D(t.args,0,["condition"]);if(R==null)Fa("alertcondition() requires at least a condition argument");let T=O(R,e),I=xn(Y(T)),P="Alert",F="Alert",G=D(t.args,1,["title"]),lt=D(t.args,2,["message"]);if(G!=null){let dt=O(G,e);if(dt!=null)P=typeof dt==="string"?dt:Y(dt)==null?P:String(Y(dt))}if(lt!=null){let dt=O(lt,e);if(dt!=null)F=typeof dt==="string"?dt:Y(dt)==null?F:String(Y(dt))}if(I)e7(e,P,F);return U}if(i==="timeframe.change")return L7(t,e);if(i==="syminfo.prefix")return I7(t,e);if(i==="timeframe.in_seconds"){let R=we(D(t.args,0,["timeframe","period"]),e)??e.timeframe;return Oa(R==null||R===""?"D":R)}if(i==="timeframe.from_seconds"){let R=Y(O(D(t.args,0,["seconds"]),e));return R==null?U:B1(R)}if(i==="runtime.error"){let R=Be(t.args).map((T)=>{let I=O(T.value,e);return typeof I==="string"?I:Y(I)});Fa(Ii(R)||"runtime.error")}if(i==="ticker.new"){let R=we(D(t.args,0,["symbol"]),e)??e.symbol,T=we(D(t.args,1,["session"]),e)??void 0;return O0(R,T)}if(i==="ticker.heikinashi"){let R=O(D(t.args,0,["symbol"]),e),T=R instanceof je?R.symbol:typeof R==="string"?R:e.symbol;return P0(T)}if(i==="ticker.standard"){let R=O(D(t.args,0,["symbol"]),e),T=R instanceof je?R.symbol:typeof R==="string"?R:e.symbol;return D0(T)}if(i==="ticker.renko"){let R=O(D(t.args,0,["symbol"]),e),T=R instanceof je?R.symbol:typeof R==="string"?R:e.symbol;return F0(T)}if(i==="ticker.kagi"){let R=O(D(t.args,0,["symbol"]),e),T=R instanceof je?R.symbol:typeof R==="string"?R:e.symbol;return B0(T)}if(i==="ticker.linebreak"){let R=O(D(t.args,0,["symbol"]),e),T=R instanceof je?R.symbol:typeof R==="string"?R:e.symbol;return U0(T)}if(i==="ticker.pointfigure"){let R=O(D(t.args,0,["symbol"]),e),T=R instanceof je?R.symbol:typeof R==="string"?R:e.symbol;return q0(T)}if(i==="ticker.modify"){let R=O(D(t.args,0,["ticker","tickerid"]),e),T=R instanceof je?R:typeof R==="string"?R:e.symbol;return H0(T,{symbol:we(D(t.args,1,["symbol"]),e)??void 0,session:we(D(t.args,2,["session"]),e)??void 0,adjust:we(D(t.args,3,["adjust","adjustment"]),e)??void 0})}let _=g7(i,t,e);if(_!==void 0)return _;let v=y7(i,t,e);if(v!==void 0)return v;let C=w7(i,t,e);if(C!==void 0)return C;if(i==="nz"){let R=Y(O(D(t.args,0,["source","x"]),e)),T=Y(O(D(t.args,1,["replacement"]),e));return R==null?T??0:R}if(i==="strategy.entry"){let R=ol(D(t.args,0,["id"])),T=Rb(D(t.args,1,["direction"]),e),I=D(t.args,2,["qty"]),P=ft(e.ctx.close),F;if(I==null)F=e.book.resolveDefaultQty(P??0);else{let dt=Y(O(I,e));F=dt==null||!Number.isFinite(dt)?Number.NaN:dt}let G=Y(O(D(t.args,-1,["limit"]),e)),lt=Y(O(D(t.args,-1,["stop"]),e));return e.book.placeEntry(e.barIndex,R,T,F,{limit:G,stop:lt,price:P==null||!Number.isFinite(P)?void 0:P,time:ft(e.ctx.time)??void 0,oca_name:we(D(t.args,-1,["oca_name"]),e),oca_type:we(D(t.args,-1,["oca_type"]),e)}),U}if(i==="strategy.close"){let R=ol(D(t.args,0,["id"])),T=ft(e.ctx.close),I=D(t.args,1,["qty"]),P=I==null?void 0:Y(O(I,e));if(e.book.position.qty!==0&&T!=null)e.book.fillClose(e.barIndex,R,T,{time:ft(e.ctx.time)??void 0,qty:P??void 0});else e.book.close(e.barIndex,R);return U}if(i==="strategy.exit"){let R=ol(D(t.args,0,["id"])),T=we(D(t.args,1,["from_entry"]),e),I=T!=null&&T!==""?T:null;return e.book.placeExit(e.barIndex,R,{from_entry:I,qty:Y(O(D(t.args,2,["qty"]),e)),qty_percent:Y(O(D(t.args,3,["qty_percent"]),e)),profit:Y(O(D(t.args,4,["profit"]),e)),limit:Y(O(D(t.args,5,["limit"]),e)),loss:Y(O(D(t.args,6,["loss"]),e)),stop:Y(O(D(t.args,7,["stop"]),e)),trail_price:Y(O(D(t.args,8,["trail_price"]),e)),trail_points:Y(O(D(t.args,9,["trail_points"]),e)),trail_offset:Y(O(D(t.args,10,["trail_offset"]),e)),price:ft(e.ctx.close)??void 0,time:ft(e.ctx.time)??void 0,ohlc:{open:ft(e.ctx.open)??void 0,high:ft(e.ctx.high)??void 0,low:ft(e.ctx.low)??void 0,close:ft(e.ctx.close)??void 0}}),U}if(i==="strategy.close_all")return e.book.closeAll(e.barIndex,ft(e.ctx.close)??void 0),U;if(i==="strategy.cancel")return e.book.cancel(e.barIndex,ol(D(t.args,0,["id"]))),U;if(i==="strategy.cancel_all")return e.book.cancelAll(e.barIndex),U;if(i==="strategy.order"){let R=ol(D(t.args,0,["id"])),T=Rb(D(t.args,1,["direction"]),e),I=Y(O(D(t.args,2,["qty"]),e)),P=I==null||!Number.isFinite(I)?Number.NaN:I;return e.book.order(e.barIndex,R,T,P,{limit:Y(O(D(t.args,-1,["limit"]),e)),stop:Y(O(D(t.args,-1,["stop"]),e)),price:ft(e.ctx.close)??void 0,time:ft(e.ctx.time)??void 0,oca_name:we(D(t.args,-1,["oca_name"]),e),oca_type:we(D(t.args,-1,["oca_type"]),e)}),U}let M=s7(i,t,e);if(M!==void 0)return M;let A=l7(i,t,e);if(A!==void 0)return A;let k=a7(i,t,e);if(k!==void 0)return k;if(i!=null&&i.endsWith(".new")){let R=i.slice(0,-4),T=Xi(e,R);if(T instanceof un){let I={};for(let P of Be(t.args)){let F=nr(P);if(F)I[F]=O(P.value,e)}return T.newInstance(I)}}if(i!=null){let R=e.udfs.get(i);if(R)return md(R,t,e)}return U}function H5(t,e,r){let i=Be(t.args).filter((y)=>nr(y)==null),n=ft(e.ctx.high),o=ft(e.ctx.low),s=ne(t,e),h=ke(t,e,1,["length"])??0,m=Wu(t,e,2,["mult","multiplier"],1);if(i.length>=4)n=Y(O(i[0].value,e)),o=Y(O(i[1].value,e)),s=Y(O(i[2].value,e)),h=re(t,e,3),m=Wu(t,e,4,["mult","multiplier"],1);let p=V5(e,r,n,o,s,h,m);return yn([p.mid,p.up,p.lo])}function $5(t,e,r){let i=Wu(t,e,0,["factor"],3),n=W5(t,e,1,["atrPeriod","length"],10),o=j5(e,r,ft(e.ctx.high),ft(e.ctx.low),ft(e.ctx.close),i,n);return yn([o.st,o.dir])}function z5(t,e,r){let i=Be(t.args).filter((n)=>nr(n)==null);if(i.length>=3)return Ab(e,r,Y(O(i[0].value,e)),Y(O(i[1].value,e)),Y(O(i[2].value,e)));return Ab(e,r,ft(e.ctx.high),ft(e.ctx.low),ft(e.ctx.close))}function V5(t,e,r,i,n,o,s){let h=t.ta.kc;if(typeof h==="function")return h.call(t.ta,e,r,i,n,o,s);let m=t.ta.ema(`${e}:ema`,n,o),p=t.ta.atr(`${e}:atr`,r,i,n,o);if(m==null)return{mid:null,up:null,lo:null};let y=(p??0)*s;return{mid:m,up:m+y,lo:m-y}}function j5(t,e,r,i,n,o,s){let h=t.ta.supertrend;if(typeof h==="function")return h.call(t.ta,e,r,i,n,o,s);let m=t.ta.atr(`${e}:atr`,r,i,n,s),p=m==null||!Number.isFinite(m)?0:m,y=r??0,_=i??0,v=n??y,C=(y+_)/2,M=C+o*p,A=C-o*p,k=v>=C?-1:1;return{st:k<0?A:M,dir:k}}function Ab(t,e,r,i,n){let o=t.ta.tr;if(typeof o==="function")return o.call(t.ta,e,r,i,n);return t.ta.atr(e,r,i,n,1)==null&&t.barIndex===0?U:U}function ft(t){if(t===void 0)return U;return Y(t)}function ne(t,e){return Y(O(D(t.args,0,["source","series"]),e))}function re(t,e,r){let i=Y(O(D(t.args,r,["length"]),e));return i==null||!Number.isFinite(i)?0:i}function W5(t,e,r,i,n){let o=Y(O(D(t.args,r,i),e));return o==null||!Number.isFinite(o)?n:o}function Wu(t,e,r,i,n){let o=Y(O(D(t.args,r,i),e));return o==null||!Number.isFinite(o)?n:o}function Y(t){if(t==null)return U;if(typeof t==="boolean")return t?1:0;if(typeof t==="number")return Number.isFinite(t)?t:U;if(J0(t))return Number.isFinite(t.value)?t.value:U;return U}function lr(t){if(t==null)return null;if(typeof t==="number")return Number.isFinite(t)?t:null;return t}function Yi(t){return t}function Tb(t,e){let r=D(t.args,1,["order"]),i=D(t.args,2,["sort_field"]),n=r==null?void 0:O(r,e),o=i==null?void 0:O(i,e);if(i!=null)return{order:Is(n)?"desc":"asc",sortField:Gu(o)};if(r==null)return{order:"asc",sortField:null};if(n==null)return{order:"asc",sortField:null};if(typeof n==="string"){let s=n.toLowerCase();if(s==="ascending"||s==="descending"||s==="asc"||s==="desc")return{order:Is(n)?"desc":"asc",sortField:null};return{order:"asc",sortField:n}}if(typeof n==="number"&&Number.isFinite(n)){if(n===1||n===-1)return{order:Is(n)?"desc":"asc",sortField:null};return{order:"asc",sortField:n}}return{order:Is(n)?"desc":"asc",sortField:null}}function Is(t){if(t==null)return!1;if(typeof t==="number")return t<0;if(typeof t==="string")return t.toLowerCase().includes("desc");return!1}function Gu(t){if(t==null)return null;if(typeof t==="string")return t;if(typeof t==="number"&&Number.isFinite(t))return t;return null}function ad(t,e){let r=O(D(t.args,2,["sort_field"]),e);return Gu(r)}function Ds(t){if(t instanceof Error)return(t.message||t.name||"runtime error").split(`
|
|
104
|
+
`)[0].trim()||"runtime error";if(typeof t==="string")return t.split(`
|
|
105
|
+
`)[0].trim()||"runtime error";return"runtime error"}function G5(t){return!("inputs"in t)&&!("broker"in t)&&!("timeframe"in t)&&!("libraries"in t)&&!("mode"in t)&&!("timeout_seconds"in t)}function Nb(t){if(t instanceof _s)return t;let e=new _s;if(t==null)return e;for(let r of t){if(r==null||typeof r!=="object")continue;let i=String(r.namespace??""),n=String(r.name??""),o=String(r.source??""),s=r.version,h=typeof s==="number"&&Number.isFinite(s)?Math.trunc(s):1;if(i&&n&&o)e.registerSource(i,n,h,o)}return e}function Lb(t,e,r){return{series:{},plots:[],plot_meta:[],count:t,script_name:null,script_type:"indicator",mode:"compile",error:e,error_kind:"compile",...r}}function K5(t){let e=t.length,r=Array(e),i=Array(e),n=Array(e),o=Array(e),s=Array(e),h=Array(e);for(let m=0;m<e;m++){let p=t[m],y=p.close??null;o[m]=y,r[m]=p.open??y,i[m]=p.high??y,n[m]=p.low??y,s[m]=p.volume??1,h[m]=p.time??m*60000}return{open:r,high:i,low:n,close:o,volume:s,time:h}}function jb(t,e,r,i){let n=Ns(t,{getLibrary:(A,k,R)=>i?.getSource(A,k,R)??null}),o=K5(e),s=n.run(o.open,o.high,o.low,o.close,o.volume,o.time,{inputs:r}),{__events:h,__fills:m,__strategy:p,__drawings:y,__logs:_}=s,v={};for(let[A,k]of Object.entries(s)){if(A.startsWith("__"))continue;v[A]=k}let C=n.plots,M=C[0]?.title;return{series:v,plots:M!=null?v[M]??[]:[],plot_meta:C,count:e.length,script_name:null,script_type:h!=null||p!=null?"strategy":"indicator",mode:"compile",...h!=null?{events:h}:{},...m!=null?{fills:m.map((A)=>A.type==="fill"?A:{type:"fill",...A})}:{},...p!=null?{strategy:p}:{},...y!=null?{drawings:y}:{},..._!=null?{logs:_}:{}}}function Q5(t,e,r){let i=Ts(t);if(!i.ok)return Lb(e.length,i.reason??"ineligible");try{return jb(t,e,r.inputs,r.libraries)}catch(n){let o=n instanceof Qn?n.message:Ds(n);return Lb(e.length,o)}}function Y5(t,e,r,i){let n=Ts(t);if(n.ok)try{let s=jb(t,r,i.inputs,i.libraries);return s.auto_backend="compile",s}catch(s){let h=s instanceof Qn?s.message:Ds(s),m=Vu(e,r,i);return m.auto_backend="interpret",m.compile_fallback_reason=h,m}let o=Vu(e,r,i);return o.auto_backend="interpret",o.compile_fallback_reason=n.reason,o}function Z5(t,e){let r=X5(e);if(r==null)return t;return{...t,...r}}function X5(t){if(t==null||typeof t!=="object")return;if("inputs"in t){let e=t.inputs;if(e!=null&&typeof e==="object"&&!Array.isArray(e))return e;return}return t}function J5(t){let e=t.fills;if(e==null||e.length===0)return;return e.map((r)=>({type:"fill",...r}))}function t7(t){return t.items.length===0?void 0:t.items}function e7(t,e,r){let i=`alertcondition|${e}|${r}|once_per_bar`;if(t.alertFireBars.get(i)===t.barIndex)return;t.alertFireBars.set(i,t.barIndex),t.drawings.alert(t.barIndex,r);let n=t.drawings.items[t.drawings.items.length-1];if(n!=null)n.extra={source:"alertcondition",title:e,freq:"once_per_bar"}}function r7(t){let e=Ub(t.args,"title");if(e!=null)return e;let r=Be(t.args),i=0;for(let n of r){if(nr(n)!=null)continue;if(i===1&&n.value.kind==="Constant"&&typeof n.value.value==="string")return n.value.value;i++}return null}function n7(t,e){if(t.kind==="Constant")return t.value;let r=O(t,e);if(typeof r==="string")return r;return Y(r)}function i7(t,e,r){let i=r7(t),n=i??yd(t,e),o=e.inputStore.get(n);if(o!==void 0)return $0(o);let s=[],h={};for(let p of Be(t.args)){let y=n7(Fs(p),e),_=nr(p);if(_!=null)h[_]=y;else s.push(y)}let m=W1(r,s,h);if(i!=null&&e.inputs[i]!==void 0)m=e.inputs[i];return e.inputStore.set(n,m),$0(m)}function we(t,e){if(t==null)return null;if(t.kind==="Constant"&&typeof t.value==="string")return t.value;let r=O(t,e);return typeof r==="string"?r:null}function s7(t,e,r){if(t==null||!t.startsWith("strategy.risk."))return;let i=r.book;if(t==="strategy.risk.allow_entry_in"){let n=O(D(e.args,0,["value"]),r);return i.riskAllowEntryIn(typeof n==="string"?n:Y(n)),U}if(t==="strategy.risk.max_position_size")return i.riskMaxPositionSize(Y(O(D(e.args,0,["percent","value"]),r))),U;if(t==="strategy.risk.max_drawdown"){let n=Y(O(D(e.args,0,["value"]),r)),o=O(D(e.args,1,["type"]),r);return i.riskMaxDrawdown(n,typeof o==="string"?o:Y(o)),U}if(t==="strategy.risk.max_cons_loss_days")return i.riskMaxConsLossDays(Y(O(D(e.args,0,["days","value"]),r))),U;if(t==="strategy.risk.max_intraday_loss")return i.riskMaxIntradayLoss(Y(O(D(e.args,0,["percent","value"]),r))),U;if(t==="strategy.risk.max_intraday_filled_orders")return i.riskMaxIntradayFilledOrders(Y(O(D(e.args,0,["max","max_orders","value"]),r))),U;return}function o7(t,e){let r=Ku(t);if(r==null||!r.startsWith("strategy."))return;return Wb(r,e)}function l7(t,e,r){if(t==null||!t.startsWith("strategy."))return;if(t==="strategy.convert_to_account"||t==="strategy.convert_to_symbol"){let i=D(e.args,0,["value"]);if(i==null)return 1;return Y(O(i,r))}if(t==="strategy.default_entry_qty"){let i=D(e.args,0,["percent_equity"]),n=i==null?100:Y(O(i,r));if(n==null||!Number.isFinite(n))return U;return r.book.initialCapital*(n/100)/100}if(t==="strategy.opentrades.capital_held")return r.book.capitalHeld();return Wb(t,r)}function Wb(t,e){let r=e.book,i=ft(e.ctx.close)??0;switch(t){case"strategy.long":case"strategy.direction.long":return"long";case"strategy.short":case"strategy.direction.short":return"short";case"strategy.direction.all":return"all";case"strategy.position_size":return r.position.qty;case"strategy.position_avg_price":return r.position.avgPrice;case"strategy.position_entry_name":return r.position_entry_name;case"strategy.netprofit":return r.netprofit();case"strategy.openprofit":return r.openprofit(i);case"strategy.equity":return r.equity(i);case"strategy.opentrades":return r.opentrades;case"strategy.closedtrades":return r.closedtrades;case"strategy.closedtrades.first_index":return r.closedtrades_first_index;case"strategy.wintrades":return r.wintrades;case"strategy.losstrades":return r.losstrades;case"strategy.eventrades":return r.eventrades;case"strategy.grossprofit":return r.grossprofit;case"strategy.grossloss":return r.grossloss;case"strategy.avg_trade":return r.avgTrade();case"strategy.avg_winning_trade":return r.avgWinningTrade();case"strategy.avg_losing_trade":return r.avgLosingTrade();case"strategy.netprofit_percent":return r.netprofitPercent(i);case"strategy.openprofit_percent":return r.openprofitPercent(i);case"strategy.grossprofit_percent":return r.grossprofitPercent();case"strategy.grossloss_percent":return r.grosslossPercent();case"strategy.avg_trade_percent":return r.avgTradePercent();case"strategy.avg_winning_trade_percent":return r.avgWinningTradePercent();case"strategy.avg_losing_trade_percent":return r.avgLosingTradePercent();case"strategy.max_drawdown":return r.maxDrawdown();case"strategy.max_drawdown_percent":return r.maxDrawdownPercent();case"strategy.max_runup":return r.maxRunup();case"strategy.max_runup_percent":return r.maxRunupPercent();case"strategy.percent_profitable":case"strategy.winrate":return r.percentProfitable();case"strategy.profitfactor":case"strategy.profit_factor":return r.profitFactor();case"strategy.initial_capital":return r.initialCapital;case"strategy.commission":return 0;case"strategy.cash":return vm(r.cash(i));case"strategy.fixed":return"fixed";case"strategy.percent_of_equity":return"percent_of_equity";case"strategy.leverage":return r.leverage;case"strategy.margin_liquidation_price":return r.marginLiquidationPrice();case"strategy.avg_price_stock":return"stock";case"strategy.avg_price_futures":return"futures";case"strategy.avg_price_inverse":return"inverse";case"strategy.account_currency":return r.account_currency;case"strategy.default_entry_qty":return r.initialCapital*1/100;case"strategy.max_contracts_held_all":return r.maxContractsHeldAll();case"strategy.max_contracts_held_long":return r.maxContractsHeldLong();case"strategy.max_contracts_held_short":return r.maxContractsHeldShort();case"strategy.opentrades.capital_held":return r.capitalHeld();case"strategy.oca.none":return"none";case"strategy.oca.cancel":return"cancel";case"strategy.oca.reduce":return"reduce";case"strategy.commission.percent":return"percent";case"strategy.commission.cash_per_order":return"cash_per_order";case"strategy.commission.cash_per_contract":return"cash_per_contract";default:return}}function a7(t,e,r){if(t==null||!t.startsWith("strategy."))return;let i=Y(O(D(e.args,0,["trade_num","trade_index","index"]),r)),n=i==null?0:Math.trunc(i),o=ft(r.ctx.close)??0,s=r.book;switch(t){case"strategy.closedtrades.entry_bar_index":return s.closedEntryBar(n)??0;case"strategy.closedtrades.entry_price":return s.closedEntryPrice(n)??0;case"strategy.closedtrades.exit_bar_index":return s.closedExitBar(n)??0;case"strategy.closedtrades.exit_price":return s.closedExitPrice(n)??0;case"strategy.closedtrades.profit":return s.closedProfit(n)??0;case"strategy.closedtrades.size":return s.closedSize(n)??0;case"strategy.closedtrades.entry_id":case"strategy.closedtrades.exit_id":return s.closedId(n)??"";case"strategy.closedtrades.commission":return s.closedCommission(n)??0;case"strategy.closedtrades.entry_time":return s.closedEntryTime(n);case"strategy.closedtrades.exit_time":return s.closedExitTime(n);case"strategy.closedtrades.entry_comment":return s.closedEntryComment(n);case"strategy.closedtrades.exit_comment":return s.closedExitComment(n);case"strategy.closedtrades.max_drawdown":return s.closedMaxDrawdown(n);case"strategy.closedtrades.max_runup":return s.closedMaxRunup(n);case"strategy.opentrades.entry_bar_index":return s.openEntryBar(n)??0;case"strategy.opentrades.entry_price":return s.openEntryPrice(n)??0;case"strategy.opentrades.size":return s.openSize(n)??0;case"strategy.opentrades.entry_id":return s.openId(n)??"";case"strategy.opentrades.profit":return s.openProfit(n,o)??0;case"strategy.opentrades.entry_time":return s.openEntryTime(n);case"strategy.opentrades.entry_comment":return s.openEntryComment(n);case"strategy.opentrades.commission":return s.openCommission(n);case"strategy.opentrades.max_drawdown":return s.openMaxDrawdown(n);case"strategy.opentrades.max_runup":return s.openMaxRunup(n);default:return}}function u7(t,e){let r=we(D(t.args,0,["symbol"]),e),i=we(D(t.args,1,["timeframe"]),e),n=D(t.args,2,["expression"]),o=Y(O(n,e));return La(e.symbol,e.timeframe,{symbol:r,timeframe:i,expression:n},o)}function c7(t,e,r){if(t==="request.security"||t==="request.security_lower_tf"||t==="security"||t==="security_lower_tf")return u7(e,r);let i={symbol:r.symbol,timeframe:r.timeframe};if(t==="request.currency_rate"){let o=we(D(e.args,0,["from","from_currency"]),r),s=we(D(e.args,1,["to","to_currency"]),r),h=Ia(t,i,{from:o,to:s});return typeof h==="number"||h===null?h:U}if(t==="request.seed"){let o=Y(O(D(e.args,0,["seed"]),r)),s=Ia(t,i,{seed:o});return typeof s==="number"||s===null?s:U}let n=Ia(t,i,{});return typeof n==="number"||n===null?n:U}function h7(t,e,r){if(t==="math.abs"||t==="abs")return Ba(rr(e,r,0,["number","x"]));if(t==="math.max"||t==="max")return Va(...zu(e,r));if(t==="math.min"||t==="min")return ja(...zu(e,r));if(t==="math.sqrt"||t==="sqrt")return qa(rr(e,r,0,["number","x"]));if(t==="math.log"||t==="log")return Q1(rr(e,r,0,["number","x"]));if(t==="math.log10"||t==="log10")return Ha(rr(e,r,0,["number","x"]));if(t==="math.exp"||t==="exp")return $a(rr(e,r,0,["number","x"]));if(t==="math.pow"||t==="pow")return za(rr(e,r,0,["base","number","x"]),rr(e,r,1,["exponent","exp","y"]));if(t==="math.round"||t==="round"){let i=D(e.args,1,["precision"]);return Wa(rr(e,r,0,["number","x"]),i==null?void 0:Y(O(i,r)))}if(t==="math.floor"||t==="floor")return Ga(rr(e,r,0,["number","x"]));if(t==="math.ceil"||t==="ceil")return Ka(rr(e,r,0,["number","x"]));if(t==="math.sign"||t==="sign")return Ua(rr(e,r,0,["number","x"]));if(t==="math.avg"||t==="avg")return Qa(...zu(e,r));if(t==="math.sum"){let i=O(D(e.args,0,["source","id","array"]),r),n=le(i);if(n)return n.sum();return Y1(...zu(e,r))}if(t==="math.sin"||t==="sin")return Za(rr(e,r,0,["angle","x"]));if(t==="math.cos"||t==="cos")return Xa(rr(e,r,0,["angle","x"]));if(t==="math.tan"||t==="tan")return Ja(rr(e,r,0,["angle","x"]));if(t==="math.asin"||t==="asin")return tu(rr(e,r,0,["x"]));if(t==="math.acos"||t==="acos")return eu(rr(e,r,0,["x"]));if(t==="math.atan"||t==="atan")return ru(rr(e,r,0,["x"]));if(t==="math.todegrees")return nu(rr(e,r,0,["radians","x"]));if(t==="math.toradians")return iu(rr(e,r,0,["degrees","x"]));if(t==="math.isfinite")return Z1(rr(e,r,0,["number","x"]));if(t==="math.random"||t==="random"){let i=D(e.args,0,["min"]),n=D(e.args,1,["max"]);return tm(i==null?void 0:Y(O(i,r)),n==null?void 0:Y(O(n,r)))}if(t==="math.round_to_mintick"||t==="round_to_mintick"){let i=typeof r.ctx["syminfo.mintick"]==="number"?r.ctx["syminfo.mintick"]:0.01;return su(rr(e,r,0,["number","x"]),i)}return}function rr(t,e,r,i){return Y(O(D(t.args,r,i),e))}function zu(t,e){return Be(t.args).map((r)=>Y(O(r.value,e)))}function Gb(t){return typeof t==="number"&&Number.isInteger(t)?t:null}function ke(t,e,r,i){return Gb(Y(O(D(t.args,r,i),e)))}function fn(t){return Be(t.args).filter((e)=>nr(e)==null).length}function bn(t,e){return Be(t.args).some((r)=>{let i=nr(r);return i!=null&&e.includes(i)})}function Se(t,e,r,i,n){let o=D(t.args,r,i);if(o==null)return n;let s=Y(O(o,e));return s==null||!Number.isFinite(s)?n:s}function f7(t,e,r,i){let n=r.ta;if(t==="ta.highest"||t==="highest"){if(typeof n.highest!=="function")return U;if(fn(e)<=1&&!bn(e,["source","series"]))return n.highest.call(r.ta,i,ft(r.ctx.high),ke(e,r,0,["length"])??0);return n.highest.call(r.ta,i,ne(e,r),re(e,r,1))}if(t==="ta.lowest"||t==="lowest"){if(typeof n.lowest!=="function")return U;if(fn(e)<=1&&!bn(e,["source","series"]))return n.lowest.call(r.ta,i,ft(r.ctx.low),ke(e,r,0,["length"])??0);return n.lowest.call(r.ta,i,ne(e,r),re(e,r,1))}if(t==="ta.stdev"||t==="stdev"){if(typeof n.stdev!=="function")return U;return n.stdev.call(r.ta,i,ne(e,r),re(e,r,1))}if(t==="ta.change"||t==="change"){if(typeof n.change!=="function")return U;return n.change.call(r.ta,i,ne(e,r),Se(e,r,1,["length"],1))}if(t==="ta.wma"||t==="wma"){if(typeof n.wma!=="function")return U;return n.wma.call(r.ta,i,ne(e,r),re(e,r,1))}if(t==="ta.crossover"||t==="crossover"){if(typeof n.crossover!=="function")return U;return n.crossover.call(r.ta,i,ne(e,r),Y(O(D(e.args,1,["source2","b","series2"]),r)))}if(t==="ta.crossunder"||t==="crossunder"){if(typeof n.crossunder!=="function")return U;return n.crossunder.call(r.ta,i,ne(e,r),Y(O(D(e.args,1,["source2","b","series2"]),r)))}if(t==="ta.macd"||t==="macd"){if(typeof n.macd!=="function")return U;let o=n.macd.call(r.ta,i,ne(e,r),Se(e,r,1,["fastlen","fastLength","fast"],12),Se(e,r,2,["slowlen","slowLength","slow"],26),Se(e,r,3,["signal","signalLength","siglen"],9));return yn([o.macd,o.signal,o.hist])}if(t==="ta.bb"||t==="bb"){if(typeof n.bb!=="function")return U;if(fn(e)===2&&!bn(e,["source","series"])&&ke(e,r,0,["source","series","length"])!=null){let s=ke(e,r,0,["source","series","length"]),h=Y(O(D(e.args,1,["mult","multiplier"]),r)),m=typeof h==="number"&&Number.isFinite(h)?h:Number.NaN,p=n.bb.call(r.ta,i,ft(r.ctx.close),s,m);return yn([p.mid,p.up,p.lo])}let o=n.bb.call(r.ta,i,ne(e,r),re(e,r,1),Se(e,r,2,["mult","multiplier"],2));return yn([o.mid,o.up,o.lo])}if(t==="ta.sum"||t==="sum"){if(typeof n.sum!=="function")return U;return n.sum.call(r.ta,i,ne(e,r),re(e,r,1))}if(t==="ta.roc"||t==="roc"){if(typeof n.roc!=="function")return U;return n.roc.call(r.ta,i,ne(e,r),Se(e,r,1,["length"],1))}if(t==="ta.mom"||t==="mom"){if(typeof n.mom!=="function")return U;return n.mom.call(r.ta,i,ne(e,r),Se(e,r,1,["length"],1))}if(t==="ta.vwma"||t==="vwma"){if(typeof n.vwma!=="function")return U;if(fn(e)<=1&&!bn(e,["volume"]))return n.vwma.call(r.ta,i,ft(r.ctx.close),ft(r.ctx.volume),ke(e,r,0,["length"])??0);if(fn(e)>=3||bn(e,["volume"])){let o=Y(O(D(e.args,2,["length","period"]),r)),s=typeof o==="number"&&Number.isFinite(o)?o:0,m=ke(e,r,1,["volume"])!=null?ft(r.ctx.volume):Y(O(D(e.args,1,["volume"]),r));return n.vwma.call(r.ta,i,ne(e,r),m,s)}return n.vwma.call(r.ta,i,ne(e,r),ft(r.ctx.volume),re(e,r,1))}if(t==="ta.cci"||t==="cci"){if(typeof n.cci!=="function")return U;if(fn(e)>=4){let o=Y(O(D(e.args,0,["high"]),r)),s=Y(O(D(e.args,1,["low"]),r)),h=Y(O(D(e.args,2,["close"]),r)),m=o!=null&&s!=null&&h!=null?(o+s+h)/3:h;return n.cci.call(r.ta,i,m,re(e,r,3))}if(fn(e)<=1&&!bn(e,["source","series"]))return n.cci.call(r.ta,i,Ib(r),ke(e,r,0,["length"])??0);return n.cci.call(r.ta,i,ne(e,r),re(e,r,1))}if(t==="ta.wpr"||t==="wpr"){if(typeof n.willr!=="function")return U;return n.willr.call(r.ta,i,ft(r.ctx.high),ft(r.ctx.low),ft(r.ctx.close),ke(e,r,0,["length"])??0)}if(t==="ta.willr"||t==="willr"){if(typeof n.willr!=="function")return U;return n.willr.call(r.ta,i,ft(r.ctx.high),ft(r.ctx.low),ft(r.ctx.close),ke(e,r,0,["length"])??0)}if(t==="ta.stoch"||t==="stoch"){if(typeof n.stoch!=="function")return U;let o=Be(e.args).filter((s)=>nr(s)==null);if(!bn(e,["high"])&&o.length<=2){let s;if(o.length===2){let h=ke(e,r,0,["length"]),m=ke(e,r,1,["d","smooth"]);s=h!=null&&m!=null?h:0}else s=ke(e,r,0,["length"])??0;return n.stoch.call(r.ta,i,ft(r.ctx.close),ft(r.ctx.high),ft(r.ctx.low),s)}return n.stoch.call(r.ta,i,ne(e,r),Y(O(D(e.args,1,["high"]),r)),Y(O(D(e.args,2,["low"]),r)),re(e,r,3))}if(t==="ta.linreg"||t==="linreg"){if(typeof n.linreg!=="function")return U;return n.linreg.call(r.ta,i,ne(e,r),re(e,r,1),Se(e,r,2,["offset"],0))}if(t==="ta.vwap"||t==="vwap"){if(typeof n.vwap!=="function")return U;let o=D(e.args,0,["source","series"]),s=o!=null?Y(O(o,r)):Ib(r);return n.vwap.call(r.ta,i,s,ft(r.ctx.volume))}if(t==="ta.rising"||t==="rising"){if(typeof n.rising!=="function")return U;return n.rising.call(r.ta,i,ne(e,r),Se(e,r,1,["length"],1))}if(t==="ta.falling"||t==="falling"){if(typeof n.falling!=="function")return U;return n.falling.call(r.ta,i,ne(e,r),Se(e,r,1,["length"],1))}if(t==="ta.cross"||t==="cross"){if(typeof n.cross!=="function")return U;return n.cross.call(r.ta,i,ne(e,r),Y(O(D(e.args,1,["source2","b","series2"]),r)))}if(t==="ta.bbw"||t==="bbw"){if(typeof n.bbw!=="function")return U;return n.bbw.call(r.ta,i,ne(e,r),re(e,r,1),Se(e,r,2,["mult","multiplier"],2))}if(t==="ta.dema"||t==="dema"){if(typeof n.dema!=="function")return U;return n.dema.call(r.ta,i,ne(e,r),re(e,r,1))}if(t==="ta.tema"||t==="tema"){if(typeof n.tema!=="function")return U;return n.tema.call(r.ta,i,ne(e,r),re(e,r,1))}if(t==="ta.highestbars"||t==="highestbars"){if(typeof n.highestbars!=="function")return U;if(fn(e)<=1&&!bn(e,["source","series"]))return n.highestbars.call(r.ta,i,ft(r.ctx.high),ke(e,r,0,["length"])??0);return n.highestbars.call(r.ta,i,ne(e,r),re(e,r,1))}if(t==="ta.lowestbars"||t==="lowestbars"){if(typeof n.lowestbars!=="function")return U;if(fn(e)<=1&&!bn(e,["source","series"]))return n.lowestbars.call(r.ta,i,ft(r.ctx.low),ke(e,r,0,["length"])??0);return n.lowestbars.call(r.ta,i,ne(e,r),re(e,r,1))}if(t==="ta.alma"||t==="alma"){if(typeof n.alma!=="function")return U;return n.alma.call(r.ta,i,ne(e,r),re(e,r,1),Se(e,r,2,["offset"],0.85),Se(e,r,3,["sigma"],6))}if(t==="ta.cmo"||t==="cmo"){if(typeof n.cmo!=="function")return U;return n.cmo.call(r.ta,i,ne(e,r),re(e,r,1))}if(t==="ta.kama"||t==="kama"){if(typeof n.kama!=="function")return U;return n.kama.call(r.ta,i,ne(e,r),re(e,r,1),Se(e,r,2,["fastLength","fast","fastlen"],2),Se(e,r,3,["slowLength","slow","slowlen"],30))}if(t==="ta.accdist"||t==="accdist"||t==="ta.ad"||t==="ad"){let o=D(e.args,0,["high"]),s=D(e.args,1,["low"]),h=D(e.args,2,["close"]),m=D(e.args,3,["volume"]);return r.ta.accdist(i,o==null?ft(r.ctx.high):Y(O(o,r)),s==null?ft(r.ctx.low):Y(O(s,r)),h==null?ft(r.ctx.close):Y(O(h,r)),m==null?ft(r.ctx.volume):Y(O(m,r)))}if(t==="ta.obv"||t==="obv"){if(typeof n.obv!=="function")return U;let o=D(e.args,0,["source","close"]),s=D(e.args,1,["volume"]),h=o==null?ft(r.ctx.close):Y(O(o,r)),m=s==null?ft(r.ctx.volume):Y(O(s,r));return n.obv.call(r.ta,i,h,m)}if(t==="ta.pivothigh"||t==="pivothigh"){if(typeof n.pivothigh!=="function")return U;if(fn(e)===2&&!bn(e,["source","series"])&&ke(e,r,0,["leftbars","left"])!=null&&ke(e,r,1,["rightbars","right"])!=null){let o=ke(e,r,0,["leftbars","left"]),s=ke(e,r,1,["rightbars","right"]);return n.pivothigh.call(r.ta,i,ft(r.ctx.high),o,s)}return n.pivothigh.call(r.ta,i,ne(e,r),Se(e,r,1,["leftbars","left"],5),Se(e,r,2,["rightbars","right"],5))}if(t==="ta.pivotlow"||t==="pivotlow"){if(typeof n.pivotlow!=="function")return U;if(fn(e)===2&&!bn(e,["source","series"])&&ke(e,r,0,["leftbars","left"])!=null&&ke(e,r,1,["rightbars","right"])!=null){let o=ke(e,r,0,["leftbars","left"]),s=ke(e,r,1,["rightbars","right"]);return n.pivotlow.call(r.ta,i,ft(r.ctx.low),o,s)}return n.pivotlow.call(r.ta,i,ne(e,r),Se(e,r,1,["leftbars","left"],5),Se(e,r,2,["rightbars","right"],5))}if(t==="ta.hma"||t==="hma"){if(typeof n.hma!=="function")return U;return n.hma.call(r.ta,i,ne(e,r),re(e,r,1))}if(t==="ta.mfi"||t==="mfi"){if(typeof n.mfi!=="function")return U;let o=Be(e.args).filter((s)=>s.name==null);if(o.length<=1)return n.mfi.call(r.ta,i,ft(r.ctx.high),ft(r.ctx.low),ft(r.ctx.close),ft(r.ctx.volume),ke(e,r,0,["length"])??0);if(o.length===2)return n.mfi.call(r.ta,i,ne(e,r),ne(e,r),ne(e,r),ft(r.ctx.volume),re(e,r,1));return n.mfi.call(r.ta,i,Y(O(D(e.args,0,["high"]),r)),Y(O(D(e.args,1,["low"]),r)),Y(O(D(e.args,2,["close"]),r)),Y(O(D(e.args,3,["volume"]),r)),re(e,r,4))}if(t==="ta.sar"||t==="sar"){if(typeof n.sar!=="function")return U;return n.sar.call(r.ta,i,ft(r.ctx.high),ft(r.ctx.low),Se(e,r,0,["start"],0.02),Se(e,r,1,["increment"],0.02),Se(e,r,2,["maximum","max"],0.2))}if(t==="ta.dmi"||t==="dmi"){if(typeof n.dmi!=="function")return U;let o=n.dmi.call(r.ta,i,ft(r.ctx.high),ft(r.ctx.low),ft(r.ctx.close),Se(e,r,0,["diLength","length"],14),Se(e,r,1,["adxSmoothing","adxlen"],14));return yn([o.plus,o.minus,o.adx])}if(t==="ta.adx"||t==="adx"){if(typeof n.adx!=="function")return U;if(fn(e)>=4)return n.adx.call(r.ta,i,ne(e,r),Y(O(D(e.args,1,["low"]),r)),Y(O(D(e.args,2,["close"]),r)),re(e,r,3));if(fn(e)===2&&!bn(e,["high","low","close"])){let o=ke(e,r,0,["diLength","length"]),s=ke(e,r,1,["adxSmoothing","adxlen"]);return n.adx.call(r.ta,i,ft(r.ctx.high),ft(r.ctx.low),ft(r.ctx.close),o!=null&&s!=null?s:14)}return n.adx.call(r.ta,i,ft(r.ctx.high),ft(r.ctx.low),ft(r.ctx.close),ke(e,r,0,["length"])??14)}if(t==="ta.correlation"||t==="correlation"){if(typeof n.correlation!=="function")return U;return n.correlation.call(r.ta,i,ne(e,r),Y(O(D(e.args,1,["source2","b","series2"]),r)),re(e,r,2))}if(t==="ta.swma"||t==="swma"){if(typeof n.swma!=="function")return U;let o=D(e.args,1,["length"]);return n.swma.call(r.ta,i,ne(e,r),o==null?void 0:re(e,r,1))}if(t==="ta.cog"||t==="cog"){if(typeof n.cog!=="function")return U;return n.cog.call(r.ta,i,ne(e,r),re(e,r,1))}if(t==="ta.tsi"||t==="tsi"){if(typeof n.tsi!=="function")return U;if(Be(e.args).filter((s)=>s.name==null).length===2)return n.tsi.call(r.ta,i,ft(r.ctx.close),ke(e,r,1,["long","long_length"])??25,ke(e,r,0,["short","short_length"])??13);return n.tsi.call(r.ta,i,ne(e,r),Se(e,r,2,["long","long_length"],25),Se(e,r,1,["short","short_length"],13))}if(t==="ta.kcw"||t==="kcw"){if(typeof n.kcw!=="function")return U;return n.kcw.call(r.ta,i,ft(r.ctx.high),ft(r.ctx.low),ft(r.ctx.close),re(e,r,0),Se(e,r,1,["mult","multiplier"],2))}if(t==="ta.dev"||t==="dev"){if(typeof n.dev!=="function")return U;return n.dev.call(r.ta,i,ne(e,r),re(e,r,1))}if(t==="ta.variance"||t==="variance"){if(typeof n.variance!=="function")return U;return n.variance.call(r.ta,i,ne(e,r),re(e,r,1))}if(t==="ta.median"||t==="median"){if(typeof n.median!=="function")return U;return n.median.call(r.ta,i,ne(e,r),re(e,r,1))}if(t==="ta.mode"||t==="mode"){if(typeof n.mode!=="function")return U;return n.mode.call(r.ta,i,ne(e,r),re(e,r,1))}if(t==="ta.percentrank"||t==="percentrank"){if(typeof n.percentrank!=="function")return U;return n.percentrank.call(r.ta,i,ne(e,r),re(e,r,1))}if(t==="ta.percentile_nearest_rank"){if(typeof n.percentileNearest!=="function")return U;return n.percentileNearest.call(r.ta,i,ne(e,r),re(e,r,1),Se(e,r,2,["percentage","percent"],50))}if(t==="ta.percentile_linear_interpolation"){if(typeof n.percentileLinear!=="function")return U;return n.percentileLinear.call(r.ta,i,ne(e,r),re(e,r,1),Se(e,r,2,["percentage","percent"],50))}if(t==="ta.cum"||t==="cum"){if(typeof n.cum!=="function")return U;return n.cum.call(r.ta,i,ne(e,r))}if(t==="ta.barssince"||t==="barssince"){if(typeof n.barssince!=="function")return U;return n.barssince.call(r.ta,i,Y(O(D(e.args,0,["condition","cond"]),r)))}if(t==="ta.valuewhen"||t==="valuewhen"){if(typeof n.valuewhen!=="function")return U;return n.valuewhen.call(r.ta,i,Y(O(D(e.args,0,["condition","cond"]),r)),Y(O(D(e.args,1,["source"]),r)),Se(e,r,2,["occurrence"],0))}if(t==="ta.range"){if(typeof n.range!=="function")return U;return n.range.call(r.ta,i,ne(e,r),re(e,r,1))}if((t==="ta.max"||t==="ta.min")&&typeof n.max==="function")return(t==="ta.max"?n.max:n.min).call(r.ta,i,ne(e,r),re(e,r,1));if(t==="ta.accdist"||t==="accdist"){if(typeof n.accdist!=="function")return U;return n.accdist.call(r.ta,i,ft(r.ctx.high),ft(r.ctx.low),ft(r.ctx.close),ft(r.ctx.volume))}if(t==="ta.pvt"||t==="pvt"||t==="ta.vpt"||t==="vpt"){if(typeof n.pvt!=="function")return U;return n.pvt.call(r.ta,i,ft(r.ctx.close),ft(r.ctx.volume))}if(t==="ta.wad"||t==="wad"){if(typeof n.wad!=="function")return U;if(Be(e.args).filter((s)=>nr(s)==null).length>=4)return n.wad.call(r.ta,i,Y(O(D(e.args,0,["high"]),r)),Y(O(D(e.args,1,["low"]),r)),Y(O(D(e.args,2,["close"]),r)),Y(O(D(e.args,3,["volume"]),r)));return n.wad.call(r.ta,i,ft(r.ctx.high),ft(r.ctx.low),ft(r.ctx.close),ft(r.ctx.volume))}if(t==="ta.nvi"||t==="nvi"){if(typeof n.nvi!=="function")return U;let o=D(e.args,0,["source","close"]),s=D(e.args,1,["volume"]),h=o==null?ft(r.ctx.close):Y(O(o,r)),m=s==null?ft(r.ctx.volume):Y(O(s,r));return n.nvi.call(r.ta,i,h,m)}if(t==="ta.pvi"||t==="pvi"){if(typeof n.pvi!=="function")return U;let o=D(e.args,0,["source","close"]),s=D(e.args,1,["volume"]),h=o==null?ft(r.ctx.close):Y(O(o,r)),m=s==null?ft(r.ctx.volume):Y(O(s,r));return n.pvi.call(r.ta,i,h,m)}if(t==="ta.iii"||t==="iii"){if(typeof n.iii!=="function")return U;return n.iii.call(r.ta,i,ft(r.ctx.high),ft(r.ctx.low),ft(r.ctx.close),ft(r.ctx.volume))}if(t==="ta.wvad"||t==="wvad"){if(typeof n.wvad!=="function")return U;if(Be(e.args).filter((s)=>nr(s)==null).length>=4)return n.wvad.call(r.ta,i,Y(O(D(e.args,0,["high"]),r)),Y(O(D(e.args,1,["low"]),r)),Y(O(D(e.args,2,["close"]),r)),Y(O(D(e.args,3,["volume"]),r)),Se(e,r,4,["length","period"],20));return n.wvad.call(r.ta,i,ft(r.ctx.high),ft(r.ctx.low),ft(r.ctx.close),ft(r.ctx.volume),ke(e,r,0,["length","period"])??20)}if(t==="ta.cmf"||t==="cmf"){if(typeof n.cmf!=="function")return U;if(Be(e.args).filter((s)=>nr(s)==null).length>=5)return n.cmf.call(r.ta,i,Y(O(D(e.args,1,["high"]),r)),Y(O(D(e.args,2,["low"]),r)),Y(O(D(e.args,0,["close","source"]),r)),Y(O(D(e.args,3,["volume"]),r)),Se(e,r,4,["length","period"],20));return n.cmf.call(r.ta,i,ft(r.ctx.high),ft(r.ctx.low),ft(r.ctx.close),ft(r.ctx.volume),ke(e,r,0,["length","period"])??20)}if(t==="ta.klinger"||t==="klinger"){if(typeof n.klinger!=="function")return U;return n.klinger.call(r.ta,i,Y(O(D(e.args,2,["close"]),r)),Y(O(D(e.args,3,["volume"]),r)),Se(e,r,4,["fast_period","fast","fastlen"],0),Se(e,r,5,["slow_period","slow","slowlen"],0))}if(t==="ta.ao"||t==="ta.aroon"){let o=Be(e.args),s=[];for(let y of o)if(nr(y)==null)s.push(Y(O(y.value,r)));for(let y of o)if(nr(y)!=null)s.push(Y(O(Fs(y),r)));let h=Gb;if(t==="ta.ao"){let y=s.length>=1?h(s[0]):null,_=s.length>=2?h(s[1]):null;return r.ta.ao(i,ft(r.ctx.high),ft(r.ctx.low),y??5,_??34)}let m=s.length>=1?h(s[0]):null,p=r.ta.aroon(i,ft(r.ctx.high),ft(r.ctx.low),m??14);return yn([p.down,p.up])}if(t==="ta.pivot_point_levels"){if(typeof n.pivotPoints!=="function")return U;let o=n.pivotPoints.call(r.ta,i,ft(r.ctx.high),ft(r.ctx.low),ft(r.ctx.close));return yn([o.pp,o.r1,o.s1,o.r2,o.s2])}if(t==="ta.uo"||t==="uo")return r.ta.uo(i,ft(r.ctx.high),ft(r.ctx.low),ft(r.ctx.close),re(e,r,0),re(e,r,1),re(e,r,2));if(t==="ta.rci"||t==="rci")return r.ta.rci(i,ne(e,r),re(e,r,1));if(t==="ta.dpo"||t==="dpo")return r.ta.dpo(i,ft(r.ctx.close),re(e,r,0));if(t==="ta.kst"||t==="kst")return r.ta.kst(i,ft(r.ctx.close),re(e,r,0),re(e,r,1),re(e,r,2),re(e,r,3));if(t==="ta.stochrsi"||t==="stochrsi")return r.ta.stochRsi(i,ft(r.ctx.close),re(e,r,0),re(e,r,1));if(t==="ta.donchian"||t==="donchian")return r.ta.donchian(i,ft(r.ctx.high),ft(r.ctx.low),re(e,r,0));if(t==="ta.ichimoku"||t==="ichimoku")return r.ta.ichimoku(i,ft(r.ctx.high),ft(r.ctx.low),re(e,r,0),re(e,r,1));if(t==="ta.bb_pct"||t==="bb_pct")return r.ta.bbPct(i,ft(r.ctx.close),re(e,r,0),Wu(e,r,1,["std_dev","mult","std"],2));if(t==="ta.emv"||t==="emv")return r.ta.emv(i,ft(r.ctx.high),ft(r.ctx.low),ft(r.ctx.volume),re(e,r,0));if(t==="ta.fractal"||t==="fractal")return r.ta.fractal(i,ft(r.ctx.high),ft(r.ctx.low),re(e,r,0));if(t==="ta.atr_stop"||t==="atr_stop"){let o=Y(O(D(e.args,0,["atr","atr_value"]),r)),s=Y(O(D(e.args,1,["multiplier","mult"]),r)),h=s==null||!Number.isFinite(s)?2:s;return r.ta.atrStop(ft(r.ctx.close),o,h)}if(t==="ta.zigzag"||t==="zigzag"){let o=Y(O(D(e.args,1,["threshold","percent","deviation"]),r)),s=o==null||!Number.isFinite(o)?5:o,h=r.ta.zigzag(i,ne(e,r),s);return yn([h.high,h.low,h.dir])}return}function Ib(t){let e=ft(t.ctx.high),r=ft(t.ctx.low),i=ft(t.ctx.close);if(e==null||r==null||i==null)return i??e??r;return(e+r+i)/3}function le(t){if(t instanceof Te)return t;if(t&&typeof t==="object"&&"__array"in t){let e=t.elts,r=new Te;for(let i of e)r.push(lr(i));return r}return null}var d7=new Set(["array.new","array.new_bool","array.new_int","array.new_float","array.new_string","array.new_color","array.newbool","array.newint","array.newfloat","array.newstring","array.newcolor","array.newlabel","array.newline","array.newbox","array.newtable","array.newpolyline","array.newlinefill","array.new_label","array.new_line","array.new_box","array.new_table","array.new_polyline","array.new_linefill","array.new_chart.point"]);function p7(t){let e=Kb(t);return e!=null&&d7.has(e)}function Kb(t){if(t==null||!t.startsWith("array."))return null;let e=t.indexOf("<");return e>=0?t.slice(0,e):t}function m7(t,e,r){let i=Kb(t);if(p7(t)){let n=Y(O(D(e.args,0,["size"]),r))??0,o=D(e.args,1,["initial_value"]),s=o==null?void 0:lr(O(o,r));return new Te(n,s)}if(i==="array.push"){let n=le(O(D(e.args,0,["id"]),r)),o=lr(O(D(e.args,1,["value"]),r));return n?.push(o),U}if(i==="array.get"){let n=le(O(D(e.args,0,["id"]),r)),o=Y(O(D(e.args,1,["index"]),r));return n?Yi(n.get(o??0)):U}if(i==="array.set"){let n=le(O(D(e.args,0,["id"]),r)),o=Y(O(D(e.args,1,["index"]),r)),s=lr(O(D(e.args,2,["value"]),r));if(n&&o!=null)n.set(o,s);return U}if(t==="array.size"){let n=le(O(D(e.args,0,["id"]),r));return n?n.size():U}if(t==="array.pop"){let n=le(O(D(e.args,0,["id"]),r));return n?Yi(n.pop()):U}if(t==="array.clear")return le(O(D(e.args,0,["id"]),r))?.clear(),U;if(t==="array.unshift")return le(O(D(e.args,0,["id"]),r))?.unshift(lr(O(D(e.args,1,["value"]),r))),U;if(t==="array.shift"){let n=le(O(D(e.args,0,["id"]),r));return n?Yi(n.shift()):U}if(t==="array.includes")return le(O(D(e.args,0,["id"]),r))?.includes(lr(O(D(e.args,1,["value"]),r)))?1:0;if(t==="array.first"){let n=le(O(D(e.args,0,["id"]),r));return n?Yi(n.first()):U}if(t==="array.last"){let n=le(O(D(e.args,0,["id"]),r));return n?Yi(n.last()):U}if(t==="array.insert"){let n=le(O(D(e.args,0,["id"]),r)),o=Y(O(D(e.args,1,["index"]),r)),s=lr(O(D(e.args,2,["value"]),r));if(n&&o!=null)n.insert(o,s);return U}if(t==="array.remove"){let n=le(O(D(e.args,0,["id"]),r)),o=Y(O(D(e.args,1,["index"]),r));return n&&o!=null?Yi(n.remove(o)):U}if(t==="array.fill")return le(O(D(e.args,0,["id"]),r))?.fill(lr(O(D(e.args,1,["value"]),r))),U;if(t==="array.slice"){let n=le(O(D(e.args,0,["id"]),r)),o=Y(O(D(e.args,1,["index_from","from"]),r))??0,s=D(e.args,2,["index_to","to"]),h=s==null?void 0:Y(O(s,r))??void 0;return n?n.slice(o,h):U}if(t==="array.copy"){let n=le(O(D(e.args,0,["id"]),r));return n?n.copy():U}if(t==="array.reverse")return le(O(D(e.args,0,["id"]),r))?.reverse(),U;if(t==="array.sort"){let n=le(O(D(e.args,0,["id"]),r)),o=Tb(e,r);return n?.sort(o.order,o.sortField),U}if(t==="array.indexof"){let n=le(O(D(e.args,0,["id"]),r));return n?n.indexof(lr(O(D(e.args,1,["value"]),r))):U}if(t==="array.avg"){let n=le(O(D(e.args,0,["id"]),r));return n?n.avg():U}if(t==="array.min"){let n=le(O(D(e.args,0,["id"]),r));return n?n.min():U}if(t==="array.max"){let n=le(O(D(e.args,0,["id"]),r));return n?n.max():U}if(t==="array.sum"){let n=le(O(D(e.args,0,["id"]),r));return n?n.sum():U}if(t==="array.join"){let n=le(O(D(e.args,0,["id"]),r)),o=we(D(e.args,1,["separator","sep"]),r);return n?n.join(o??","):U}if(t==="array.from"){let n=new Te;for(let o of Be(e.args))n.push(lr(O(o.value,r)));return n}if(t==="array.lastindexof"){let n=le(O(D(e.args,0,["id"]),r));return n?n.lastIndexOf(lr(O(D(e.args,1,["value"]),r))):U}if(t==="array.concat"){let n=le(O(D(e.args,0,["id"]),r)),o=le(O(D(e.args,1,["other","id2"]),r));return n&&o?n.concat(o):U}if(t==="array.abs"){let n=le(O(D(e.args,0,["id"]),r));return n?n.abs():U}if(t==="array.every"){let n=le(O(D(e.args,0,["id"]),r));return n&&n.every()?1:0}if(t==="array.some"){let n=le(O(D(e.args,0,["id"]),r));return n&&n.some()?1:0}if(t==="array.median"){let n=le(O(D(e.args,0,["id"]),r));return n?n.median():U}if(t==="array.range"){let n=le(O(D(e.args,0,["id"]),r));return n?n.range():U}if(t==="array.mode"){let n=le(O(D(e.args,0,["id"]),r));return n?n.mode():U}if(t==="array.binary_search"){let n=le(O(D(e.args,0,["id"]),r)),o=lr(O(D(e.args,1,["value"]),r));return n?n.binarySearch(o,ad(e,r)):U}if(t==="array.binary_search_leftmost"){let n=le(O(D(e.args,0,["id"]),r)),o=lr(O(D(e.args,1,["value"]),r));return n?n.binarySearchLeftmost(o,ad(e,r)):U}if(t==="array.binary_search_rightmost"){let n=le(O(D(e.args,0,["id"]),r)),o=lr(O(D(e.args,1,["value"]),r));return n?n.binarySearchRightmost(o,ad(e,r)):U}if(t==="array.stdev"){let n=le(O(D(e.args,0,["id"]),r)),o=ud(e,r);return n?n.stdev(o):U}if(t==="array.variance"){let n=le(O(D(e.args,0,["id"]),r));return n?n.variance(ud(e,r)):U}if(t==="array.covariance"){let n=le(O(D(e.args,0,["id"]),r)),o=le(O(D(e.args,1,["id2","other"]),r));return n&&o?n.covariance(o,ud(e,r,2)):U}if(t==="array.percentile_linear_interpolation"){let n=le(O(D(e.args,0,["id"]),r)),o=Y(O(D(e.args,1,["percentage","percent"]),r));return n&&o!=null?n.percentileLinearInterpolation(o):U}if(t==="array.percentile_nearest_rank"){let n=le(O(D(e.args,0,["id"]),r)),o=Y(O(D(e.args,1,["percentage","percent"]),r));return n&&o!=null?n.percentileNearestRank(o):U}if(t==="array.percentrank"){let n=le(O(D(e.args,0,["id"]),r));return n?n.percentrank(Y(O(D(e.args,1,["value"]),r))):U}if(t==="array.standardize"){let n=le(O(D(e.args,0,["id"]),r));return n?n.standardize():U}if(t==="array.sort_indices"){let n=le(O(D(e.args,0,["id"]),r)),o=Tb(e,r);if(!n)return U;let s=n.sortIndices(o.order,o.sortField);if(s==null)return U;let h=new Te;for(let m of s)h.push(m);return h}return}function ud(t,e,r=1){let i=Y(O(D(t.args,r,["biased"]),e));if(i==null)return!0;return i!==0}function Tn(t){return t instanceof kn?t:null}function g7(t,e,r){if(t==="map.new"||t==="map.new<float,float>"||t==="map.new_string_float")return new kn;if(t==="map.put"){let i=Tn(O(D(e.args,0,["id"]),r)),n=O(D(e.args,1,["key"]),r),o=Y(O(D(e.args,2,["value"]),r));return i?.put(typeof n==="string"||typeof n==="number"?n:Y(n),o),U}if(t==="map.get"){let i=Tn(O(D(e.args,0,["id"]),r)),n=O(D(e.args,1,["key"]),r);return i?i.get(typeof n==="string"||typeof n==="number"?n:Y(n)):U}if(t==="map.contains"){let i=Tn(O(D(e.args,0,["id"]),r)),n=O(D(e.args,1,["key"]),r);return i?.contains(typeof n==="string"||typeof n==="number"?n:Y(n))?1:0}if(t==="map.size"){let i=Tn(O(D(e.args,0,["id"]),r));return i?i.size():U}if(t==="map.remove"){let i=Tn(O(D(e.args,0,["id"]),r)),n=O(D(e.args,1,["key"]),r);return i?i.remove(typeof n==="string"||typeof n==="number"?n:Y(n)):U}if(t==="map.clear")return Tn(O(D(e.args,0,["id"]),r))?.clear(),U;if(t==="map.put_all"){let i=Tn(O(D(e.args,0,["id"]),r)),n=Tn(O(D(e.args,1,["id2","other"]),r));if(i&&n)i.putAll(n);return U}if(t==="map.keys"){let i=Tn(O(D(e.args,0,["id"]),r));if(!i)return U;let n=new Te;for(let o of i.keys())n.push(typeof o==="number"?o:null);return n}if(t==="map.values"){let i=Tn(O(D(e.args,0,["id"]),r));if(!i)return U;let n=new Te;for(let o of i.values())n.push(o);return n}if(t==="map.copy"){let i=Tn(O(D(e.args,0,["id"]),r));return i?i.copy():U}return}function _7(t){if(t==null||!t.startsWith("matrix."))return null;let e=t.indexOf("<");return e>=0?t.slice(0,e):t}function Xt(t){return t instanceof Pe?t:null}function b7(t){return t==="matrix.new"||t.startsWith("matrix.new_")}function y7(t,e,r){let i=_7(t);if(i==null)return;if(b7(i)){let n=Y(O(D(e.args,0,["rows"]),r))??0,o=Y(O(D(e.args,1,["columns","cols"]),r))??0,s=D(e.args,2,["initial_value","initial"]),h=s==null?void 0:lr(O(s,r));return new Pe(n,o,h)}if(i==="matrix.get"){let n=Xt(O(D(e.args,0,["id"]),r)),o=Y(O(D(e.args,1,["row"]),r)),s=Y(O(D(e.args,2,["column","col"]),r));return n?Yi(n.get(o??0,s??0)):U}if(i==="matrix.set"){let n=Xt(O(D(e.args,0,["id"]),r)),o=Y(O(D(e.args,1,["row"]),r)),s=Y(O(D(e.args,2,["column","col"]),r)),h=lr(O(D(e.args,3,["value"]),r));if(n&&o!=null&&s!=null)n.set(o,s,h);return U}if(i==="matrix.rows"){let n=Xt(O(D(e.args,0,["id"]),r));return n?n.rows():U}if(i==="matrix.columns"){let n=Xt(O(D(e.args,0,["id"]),r));return n?n.columns():U}if(i==="matrix.fill"){let n=Xt(O(D(e.args,0,["id"]),r)),o=lr(O(D(e.args,1,["value"]),r));return n?.fill(o),U}if(i==="matrix.transpose"){let n=Xt(O(D(e.args,0,["id"]),r));return n?n.transpose():U}if(i==="matrix.copy"){let n=Xt(O(D(e.args,0,["id"]),r));return n?n.copy():U}if(i==="matrix.elements_count"){let n=Xt(O(D(e.args,0,["id"]),r));return n?n.elementsCount():U}if(i==="matrix.is_square"){let n=Xt(O(D(e.args,0,["id"]),r));return n&&n.isSquare()?1:0}if(i==="matrix.sum"||i==="matrix.sum_all"){let n=Xt(O(D(e.args,0,["id"]),r));return n?n.sum():U}if(i==="matrix.avg"||i==="matrix.avg_all"){let n=Xt(O(D(e.args,0,["id"]),r));return n?n.avg():U}if(i==="matrix.min"||i==="matrix.min_all"){let n=Xt(O(D(e.args,0,["id"]),r));return n?n.min():U}if(i==="matrix.max"||i==="matrix.max_all"){let n=Xt(O(D(e.args,0,["id"]),r));return n?n.max():U}if(i==="matrix.trace"){let n=Xt(O(D(e.args,0,["id"]),r));return n?n.trace():U}if(i==="matrix.det"){let n=Xt(O(D(e.args,0,["id"]),r));return n?n.det():U}if(i==="matrix.row"){let n=Xt(O(D(e.args,0,["id"]),r)),o=Y(O(D(e.args,1,["row","index"]),r));if(!n||o==null)return U;let s=new Te;for(let h of n.row(o))s.push(h);return s}if(i==="matrix.col"||i==="matrix.column"){let n=Xt(O(D(e.args,0,["id"]),r)),o=Y(O(D(e.args,1,["column","col","index"]),r));if(!n||o==null)return U;let s=new Te;for(let h of n.col(o))s.push(h);return s}if(i==="matrix.mult"){let n=Xt(O(D(e.args,0,["id"]),r)),o=O(D(e.args,1,["other","matrix_2"]),r);if(!n)return U;let s=Xt(o);return s?n.mult(s):n.mult(Y(o)??0)}if(i==="matrix.inv"){let n=Xt(O(D(e.args,0,["id"]),r));return n?n.inv():U}if(i==="matrix.pinv"){let n=Xt(O(D(e.args,0,["id"]),r));return n?n.pinv():U}if(i==="matrix.eigenvalues"){let o=Xt(O(D(e.args,0,["id"]),r))?.eigenvalues();if(o==null)return U;let s=new Te;for(let h of o)s.push(h);return s}if(i==="matrix.eigenvectors"){let n=Xt(O(D(e.args,0,["id"]),r));return n?n.eigenvectors():U}if(i==="matrix.pow"){let n=Xt(O(D(e.args,0,["id"]),r)),o=Y(O(D(e.args,1,["power","n"]),r));return n&&o!=null?n.pow(o):U}if(i==="matrix.kron"){let n=Xt(O(D(e.args,0,["id"]),r)),o=Xt(O(D(e.args,1,["other"]),r));return n&&o?n.kron(o):U}if(i==="matrix.diff"){let n=Xt(O(D(e.args,0,["id"]),r)),o=Xt(O(D(e.args,1,["other"]),r));return n&&o?n.diff(o):U}if(i==="matrix.rank"){let n=Xt(O(D(e.args,0,["id"]),r));return n?n.rank():U}if(i==="matrix.swap_rows"){let n=Xt(O(D(e.args,0,["id"]),r)),o=Y(O(D(e.args,1,["row1","i"]),r)),s=Y(O(D(e.args,2,["row2","j"]),r));if(n&&o!=null&&s!=null)n.swapRows(o,s);return U}if(i==="matrix.swap_columns"){let n=Xt(O(D(e.args,0,["id"]),r)),o=Y(O(D(e.args,1,["column1","i"]),r)),s=Y(O(D(e.args,2,["column2","j"]),r));if(n&&o!=null&&s!=null)n.swapColumns(o,s);return U}if(i==="matrix.is_zero"){let n=Xt(O(D(e.args,0,["id"]),r));return n&&n.isZero()?1:0}if(i==="matrix.is_identity"){let n=Xt(O(D(e.args,0,["id"]),r));return n&&n.isIdentity()?1:0}if(i==="matrix.is_diagonal"){let n=Xt(O(D(e.args,0,["id"]),r));return n&&n.isDiagonal()?1:0}if(i==="matrix.is_symmetric"){let n=Xt(O(D(e.args,0,["id"]),r));return n&&n.isSymmetric()?1:0}if(i==="matrix.is_antisymmetric"){let n=Xt(O(D(e.args,0,["id"]),r));return n&&n.isAntisymmetric()?1:0}if(i==="matrix.is_triangular"){let n=Xt(O(D(e.args,0,["id"]),r));return n&&n.isTriangular()?1:0}if(i==="matrix.add_row"){let n=Xt(O(D(e.args,0,["id"]),r)),o=Y(O(D(e.args,1,["row","index"]),r)),s=le(O(D(e.args,2,["array"]),r));return n?.addRow(o??void 0,s?.toValues()),U}if(i==="matrix.add_col"||i==="matrix.add_column"){let n=Xt(O(D(e.args,0,["id"]),r)),o=Y(O(D(e.args,1,["column","index"]),r)),s=le(O(D(e.args,2,["array"]),r));return n?.addCol(o??void 0,s?.toValues()),U}if(i==="matrix.remove_row"){let n=Xt(O(D(e.args,0,["id"]),r)),o=Y(O(D(e.args,1,["row","index"]),r));if(n&&o!=null)n.removeRow(o);return U}if(i==="matrix.remove_col"||i==="matrix.remove_column"){let n=Xt(O(D(e.args,0,["id"]),r)),o=Y(O(D(e.args,1,["column","index"]),r));if(n&&o!=null)n.removeCol(o);return U}if(i==="matrix.reshape"){let n=Xt(O(D(e.args,0,["id"]),r)),o=Y(O(D(e.args,1,["rows"]),r)),s=Y(O(D(e.args,2,["columns","cols"]),r));return n&&o!=null&&s!=null?n.reshape(o,s):U}if(i==="matrix.concat"){let n=Xt(O(D(e.args,0,["id"]),r)),o=Xt(O(D(e.args,1,["other"]),r));return n&&o?n.concat(o):U}if(i==="matrix.submatrix"){let n=Xt(O(D(e.args,0,["id"]),r));if(!n)return U;return n.submatrix(Y(O(D(e.args,1,["from_row"]),r))??0,Y(O(D(e.args,2,["to_row"]),r))??n.rows(),Y(O(D(e.args,3,["from_column","from_col"]),r))??0,Y(O(D(e.args,4,["to_column","to_col"]),r))??n.columns())}if(i==="matrix.reverse")return Xt(O(D(e.args,0,["id"]),r))?.reverse(),U;if(i==="matrix.sort"){let n=Xt(O(D(e.args,0,["id"]),r)),o=Y(O(D(e.args,1,["column","col"]),r))??0,s=O(D(e.args,2,["order"]),r),h=Is(s)?"desc":"asc",m=Gu(O(D(e.args,3,["sort_field"]),r));return n?.sort(o,h,m),U}if(i==="matrix.sort_indices"){let n=Xt(O(D(e.args,0,["id"]),r));if(!n)return U;let o=Y(O(D(e.args,1,["column","col"]),r))??0,s=O(D(e.args,2,["order"]),r),h=Is(s)?"desc":"asc",m=Gu(O(D(e.args,3,["sort_field"]),r)),p=n.sortIndices(o,h,m),y=new Te;for(let _ of p)y.push(_);return y}if(i==="matrix.median"){let n=Xt(O(D(e.args,0,["id"]),r));return n?n.median():U}if(i==="matrix.sum_row"||i==="matrix.avg_row"||i==="matrix.min_row"||i==="matrix.max_row"||i==="matrix.mode_row"){let n=Xt(O(D(e.args,0,["id","matrix"]),r)),o=Y(O(D(e.args,1,["row","index"]),r));if(!n||o==null)return U;if(i==="matrix.sum_row")return n.sumRow(o);if(i==="matrix.avg_row")return n.avgRow(o);if(i==="matrix.min_row")return n.minRow(o);if(i==="matrix.max_row")return n.maxRow(o);return n.modeRow(o)}if(i==="matrix.sum_col"||i==="matrix.avg_col"||i==="matrix.min_col"||i==="matrix.max_col"||i==="matrix.mode_col"){let n=Xt(O(D(e.args,0,["id","matrix"]),r)),o=Y(O(D(e.args,1,["column","col","index"]),r));if(!n||o==null)return U;if(i==="matrix.sum_col")return n.sumCol(o);if(i==="matrix.avg_col")return n.avgCol(o);if(i==="matrix.min_col")return n.minCol(o);if(i==="matrix.max_col")return n.maxCol(o);return n.modeCol(o)}if(i==="matrix.copy_row"){let n=Xt(O(D(e.args,0,["id","matrix"]),r)),o=Y(O(D(e.args,1,["row","index"]),r));if(!n||o==null)return U;let s=new Te;for(let h of n.copyRow(o))s.push(h);return s}if(i==="matrix.copy_col"){let n=Xt(O(D(e.args,0,["id","matrix"]),r)),o=Y(O(D(e.args,1,["column","col","index"]),r));if(!n||o==null)return U;let s=new Te;for(let h of n.copyCol(o))s.push(h);return s}if(i==="matrix.fill_row"){let n=Xt(O(D(e.args,0,["id","matrix"]),r)),o=Y(O(D(e.args,1,["row","index"]),r)),s=lr(O(D(e.args,2,["value"]),r));if(n&&o!=null)n.fillRow(o,s);return U}if(i==="matrix.fill_col"){let n=Xt(O(D(e.args,0,["id","matrix"]),r)),o=Y(O(D(e.args,1,["column","col","index"]),r)),s=lr(O(D(e.args,2,["value"]),r));if(n&&o!=null)n.fillCol(o,s);return U}if(i==="matrix.fill_diagonal"){let n=Xt(O(D(e.args,0,["id","matrix"]),r)),o=lr(O(D(e.args,1,["value"]),r));return n?.fillDiagonal(o),U}if(i==="matrix.reverse_rows")return Xt(O(D(e.args,0,["id","matrix"]),r))?.reverseRows(),U;if(i==="matrix.reverse_cols")return Xt(O(D(e.args,0,["id","matrix"]),r))?.reverseCols(),U;if(i==="matrix.stdev"){let n=Xt(O(D(e.args,0,["id","matrix"]),r));return n?n.stdev():U}if(i==="matrix.variance"){let n=Xt(O(D(e.args,0,["id","matrix"]),r));return n?n.variance():U}if(i==="matrix.mode_all"){let n=Xt(O(D(e.args,0,["id","matrix"]),r));return n?n.modeAll():U}if(i==="matrix.mode"){let n=Xt(O(D(e.args,0,["id"]),r));return n?n.mode():U}if(i==="matrix.is_binary"){let n=Xt(O(D(e.args,0,["id"]),r));return n&&n.isBinary()?1:0}if(i==="matrix.is_stochastic"){let n=Xt(O(D(e.args,0,["id"]),r));return n&&n.isStochastic()?1:0}if(i==="matrix.is_antidiagonal"){let n=Xt(O(D(e.args,0,["id"]),r));return n&&n.isAntidiagonal()?1:0}return}function ni(t){return typeof t==="object"&&t!==null&&t.__chartPoint===!0}function ll(t,e,r){return{__chartPoint:!0,index:t,time:e,x:t??e,y:r,price:r}}function x7(t,e){if(e==="__chartPoint"||!Object.prototype.hasOwnProperty.call(t,e))return U;let r=t[e];if(typeof r==="number")return Number.isFinite(r)?r:U;return U}function Qb(t){if(t==="line"||t==="label"||t==="box"||t==="table"||t==="polyline"||t==="linefill")return t;return null}function Yb(t,e){let r=new Te;for(let i of t.drawings.allIds(e))r.push(i);return r}function Wt(t,e){return Y(O(D(t.args,0,["id","table_id","table"]),e))}function oe(t,e,r,i){let n=D(t.args,r,i);return n==null?null:Y(O(n,e))}function ee(t,e,r,i){let n=D(t.args,r,i);if(n==null)return;let o=O(n,e);if(typeof o==="string"||typeof o==="boolean"||ni(o)||o instanceof Te)return o;let s=Y(o);return s!=null?s:o}function Qi(t,e,r,i,n=""){let o=D(t.args,r,i);if(o==null)return n;let s=we(o,e);if(s!=null)return s;let h=O(o,e);if(typeof h==="string")return h;let m=Y(h);return m==null?n:String(m)}function en(t,e,r){if(r!=null&&Number.isFinite(r))t[e]=r}function ri(t,e,r,i,n){let o=D(t.args,r,i);if(o==null)return n;return Y(O(o,e))}function Ls(t){let e=t.index??t.time??t.x??0,r=t.price??t.y??0;return{x:e??0,y:r??0}}function Ob(t){let e=le(t);if(!e)return[];return e.toValues().filter((r)=>r!=null)}function w7(t,e,r){if(t==null)return;let i=r.drawings;if(t==="line"||t==="box"||t==="label"||t==="table"||t==="polyline"||t==="linefill"){let n=D(e.args,0,["id","x"]);return n==null?U:O(n,r)}if(t==="line.new"){let n={};en(n,"x1",ri(e,r,0,["x1"],0)),en(n,"y1",ri(e,r,1,["y1"],0)),en(n,"x2",ri(e,r,2,["x2"],0)),en(n,"y2",ri(e,r,3,["y2"],0));let o=ee(e,r,4,["xloc"]);if(o!==void 0)n.xloc=o;let s=ee(e,r,5,["color"]);if(s!==void 0)n.color=s;en(n,"width",oe(e,r,6,["width"]));let h=ee(e,r,7,["style"]);if(h!==void 0)n.style=h;let m=ee(e,r,8,["extend"]);if(m!==void 0)n.extend=m;return i.lineNew(r.barIndex,n)}if(t==="label.new"){let n=D(e.args,-1,["point"]),o=D(e.args,0,["x","point"]),s=n!=null?O(n,r):o!=null?O(o,r):U,h={},m;if(ni(s)){let _=Ls(s);h.x=_.x,h.y=_.y,m=Qi(e,r,n!=null?0:1,["text"])}else en(h,"x",o==null?0:Y(s)),en(h,"y",ri(e,r,1,["y"],0)),m=Qi(e,r,2,["text"]);let p=ee(e,r,12,["tooltip"]);if(p!==void 0)h.tooltip=p;let y=ee(e,r,13,["style"]);if(y!==void 0)h.style=y;return i.labelNew(r.barIndex,m,h)}if(t==="box.new"){let n={};en(n,"left",ri(e,r,0,["left"],0)),en(n,"top",ri(e,r,1,["top"],0)),en(n,"right",ri(e,r,2,["right"],0)),en(n,"bottom",ri(e,r,3,["bottom"],0));let o=ee(e,r,6,["bgcolor"]);if(o!==void 0)n.bgcolor=o;if(D(e.args,-1,["text"])!=null)n.text=Qi(e,r,-1,["text"]);return i.boxNew(r.barIndex,n)}if(t==="alert"){let n=v7(D(e.args,0,["message"]),r);return i.alert(r.barIndex,n),U}if(t==="table.new"){let n={},o=ee(e,r,0,["position"]);if(o!==void 0)n.position=o;return en(n,"rows",oe(e,r,1,["rows"])),en(n,"columns",oe(e,r,2,["columns"])),i.tableNew(r.barIndex,n)}if(t==="polyline.new"){let n={},o=D(e.args,0,["points"]);n.points=o==null?[]:Ob(O(o,r));let s=ee(e,r,1,["closed"]);if(s!==void 0)n.closed=s;let h=ee(e,r,3,["color"]);if(h!==void 0)n.color=h;return en(n,"width",oe(e,r,4,["width"])),i.polylineNew(r.barIndex,n)}if(t==="linefill.new"||t==="line.fill"){let n=Y(O(D(e.args,0,["id1","line1"]),r)),o=Y(O(D(e.args,1,["id2","line2"]),r)),s={};if(n!=null)s.id1=n;if(o!=null)s.id2=o;let h=ee(e,r,2,["color"]);if(h!==void 0)s.color=h;return i.linefillNew(r.barIndex,s)}if(t.endsWith(".all")){let n=Qb(t.slice(0,-4));if(n!=null)return Yb(r,n)}if(t==="chart.point.new"||t==="chart.point.from_time"){let n=oe(e,r,0,["time"]),o=D(e.args,1,["price"]),s=o==null?0:Y(O(o,r));if(s==null)return U;return ll(null,n,s)}if(t==="chart.point.from_index"){let n=oe(e,r,0,["index"]),o=D(e.args,1,["price"]),s=o==null?0:Y(O(o,r));if(s==null||n==null)return U;return ll(Math.trunc(n),null,s)}if(t==="chart.point.now"){let n=D(e.args,0,["price"]),o=n==null?0:Y(O(n,r));if(o==null)return U;let s=Y(r.ctx.time)??r.barTimes[r.barIndex]??null;return ll(r.barIndex,s,o)}if(t==="chart.point.copy"){let n=O(D(e.args,0,["point"]),r);if(ni(n))return ll(n.index,n.time,n.price);return ll(null,null,0)}if(t==="line.copy"||t==="label.copy"||t==="box.copy"||t==="polyline.copy"){let n=Wt(e,r);if(n==null)return U;let o=i.copy(n);return o==null?U:o}if(t==="line.delete"||t==="label.delete"||t==="box.delete"||t==="table.delete"||t==="polyline.delete"||t==="linefill.delete"){let n=Wt(e,r);if(n!=null)if(t==="line.delete")i.lineDelete(n);else if(t==="label.delete")i.labelDelete(n);else if(t==="box.delete")i.boxDelete(n);else if(t==="table.delete")i.tableDelete(n);else if(t==="polyline.delete")i.polylineDelete(n);else i.linefillDelete(n);return U}if(t==="line.get_x1"){let n=Wt(e,r);return n!=null?i.lineGetX1(n):U}if(t==="line.get_y1"){let n=Wt(e,r);return n!=null?i.lineGetY1(n):U}if(t==="line.get_x2"){let n=Wt(e,r);return n!=null?i.lineGetX2(n):U}if(t==="line.get_y2"){let n=Wt(e,r);return n!=null?i.lineGetY2(n):U}if(t==="line.get_price"){let n=Wt(e,r),o=oe(e,r,1,["x"]);return n!=null&&o!=null?i.lineGetPrice(n,o):U}if(t==="label.get_x"){let n=Wt(e,r);return n==null?0:i.labelGetX(n)??0}if(t==="label.get_y"){let n=Wt(e,r);return n==null?0:i.labelGetY(n)??0}if(t==="label.get_text"){let n=Wt(e,r);return n==null?"":i.labelGetText(n)??""}if(t==="box.get_left"){let n=Wt(e,r);return n==null?0:i.boxGetLeft(n)??0}if(t==="box.get_right"){let n=Wt(e,r);return n==null?0:i.boxGetRight(n)??0}if(t==="box.get_top"){let n=Wt(e,r);return n==null?0:i.boxGetTop(n)??0}if(t==="box.get_bottom"){let n=Wt(e,r);return n==null?0:i.boxGetBottom(n)??0}if(t==="table.cell_get_text"){let n=Wt(e,r),o=oe(e,r,1,["row"]),s=oe(e,r,2,["column"]);if(n==null)return"";return i.tableCellGetText(n,s,o)??""}if(t==="linefill.get_line1"){let n=Wt(e,r);return n!=null?i.linefillGetLine1(n):U}if(t==="linefill.get_line2"){let n=Wt(e,r);return n!=null?i.linefillGetLine2(n):U}if(t==="polyline.get_points"){let n=Wt(e,r),o=new Te;if(n!=null)for(let s of i.polylineGetPoints(n))o.push(s);return o}if(t==="line.set_xy"){let n=Wt(e,r);if(n!=null)i.lineSetXy(n,oe(e,r,1,["x1"])??0,oe(e,r,2,["y1"])??0,oe(e,r,3,["x2"])??0,oe(e,r,4,["y2"])??0);return U}if(t==="line.set_xy1"){let n=Wt(e,r);if(n!=null)i.lineSetXy1(n,oe(e,r,1,["x1","x"])??0,oe(e,r,2,["y1","y"])??0);return U}if(t==="line.set_xy2"){let n=Wt(e,r);if(n!=null)i.lineSetXy2(n,oe(e,r,1,["x2","x"])??0,oe(e,r,2,["y2","y"])??0);return U}if(t==="line.set_x1"){let n=Wt(e,r);if(n!=null)i.lineSetX1(n,oe(e,r,1,["x1","x"]));return U}if(t==="line.set_y1"){let n=Wt(e,r);if(n!=null)i.lineSetY1(n,oe(e,r,1,["y1","y"]));return U}if(t==="line.set_x2"){let n=Wt(e,r);if(n!=null)i.lineSetX2(n,oe(e,r,1,["x2","x"]));return U}if(t==="line.set_y2"){let n=Wt(e,r);if(n!=null)i.lineSetY2(n,oe(e,r,1,["y2","y"]));return U}if(t==="line.set_color"){let n=Wt(e,r);if(n!=null)i.lineSetColor(n,ee(e,r,1,["color"]));return U}if(t==="line.set_width"){let n=Wt(e,r);if(n!=null)i.lineSetWidth(n,ee(e,r,1,["width"]));return U}if(t==="line.set_style"){let n=Wt(e,r);if(n!=null)i.lineSetStyle(n,ee(e,r,1,["style"]));return U}if(t==="line.set_extend"){let n=Wt(e,r);if(n!=null)i.lineSetExtend(n,ee(e,r,1,["extend"]));return U}if(t==="line.set_xloc"){let n=Wt(e,r);if(n!=null)i.lineSetXloc(n,ee(e,r,1,["xloc"]));return U}if(t==="line.set_first_point"){let n=Wt(e,r),o=O(D(e.args,1,["point"]),r);if(n!=null&&ni(o)){let s=Ls(o);i.lineSetXy1(n,s.x,s.y)}return U}if(t==="line.set_second_point"){let n=Wt(e,r),o=O(D(e.args,1,["point"]),r);if(n!=null&&ni(o)){let s=Ls(o);i.lineSetXy2(n,s.x,s.y)}return U}if(t==="label.set_text"){let n=Wt(e,r);if(n!=null)i.labelSetText(n,Qi(e,r,1,["text"]));return U}if(t==="label.set_xy"){let n=Wt(e,r);if(n!=null)i.labelSetXy(n,oe(e,r,1,["x"])??0,oe(e,r,2,["y"])??0);return U}if(t==="label.set_x"){let n=Wt(e,r);if(n!=null)i.labelSetX(n,oe(e,r,1,["x"]));return U}if(t==="label.set_y"){let n=Wt(e,r);if(n!=null)i.labelSetY(n,oe(e,r,1,["y"]));return U}if(t==="label.set_color"){let n=Wt(e,r);if(n!=null)i.labelSetColor(n,ee(e,r,1,["color"]));return U}if(t==="label.set_style"){let n=Wt(e,r);if(n!=null)i.labelSetStyle(n,ee(e,r,1,["style"]));return U}if(t==="label.set_size"){let n=Wt(e,r);if(n!=null)i.labelSetSize(n,ee(e,r,1,["size"]));return U}if(t==="label.set_tooltip"){let n=Wt(e,r);if(n!=null)i.labelSetTooltip(n,ee(e,r,1,["tooltip"]));return U}if(t==="label.set_textalign"){let n=Wt(e,r);if(n!=null)i.labelSetTextalign(n,ee(e,r,1,["textalign","halign"]));return U}if(t==="label.set_textcolor"){let n=Wt(e,r);if(n!=null)i.labelSetTextcolor(n,ee(e,r,1,["color","textcolor"]));return U}if(t==="label.set_text_font_family"){let n=Wt(e,r);if(n!=null)i.labelSetTextFontFamily(n,ee(e,r,1,["font_family","text_font_family"]));return U}if(t==="label.set_text_halign"){let n=Wt(e,r);if(n!=null)i.labelSetTextHalign(n,ee(e,r,1,["halign","text_halign"]));return U}if(t==="label.set_text_valign"){let n=Wt(e,r);if(n!=null)i.labelSetTextValign(n,ee(e,r,1,["valign","text_valign"]));return U}if(t==="label.set_text_size"){let n=Wt(e,r);if(n!=null)i.labelSetTextSize(n,ee(e,r,1,["size","text_size"]));return U}if(t==="label.set_text_formatting"){let n=Wt(e,r);if(n!=null)i.labelSetTextFormatting(n,ee(e,r,1,["formatting","text_formatting"]));return U}if(t==="label.set_border_color"){let n=Wt(e,r);if(n!=null)i.labelSetBorderColor(n,ee(e,r,1,["color"]));return U}if(t==="label.set_border_width"){let n=Wt(e,r);if(n!=null)i.labelSetBorderWidth(n,ee(e,r,1,["width"]));return U}if(t==="label.set_border_style"){let n=Wt(e,r);if(n!=null)i.labelSetBorderStyle(n,ee(e,r,1,["style"]));return U}if(t==="label.set_xloc"){let n=Wt(e,r);if(n!=null)i.labelSetXloc(n,ee(e,r,1,["xloc"]));return U}if(t==="label.set_yloc"){let n=Wt(e,r);if(n!=null)i.labelSetYloc(n,ee(e,r,1,["yloc"]));return U}if(t==="label.set_point"){let n=Wt(e,r),o=O(D(e.args,1,["point"]),r);if(n!=null&&ni(o)){let s=Ls(o);i.labelSetXy(n,s.x,s.y)}return U}if(t==="box.set_lefttop"||t==="box.set_corners"){let n=Wt(e,r);if(n!=null)i.boxSetCorners(n,oe(e,r,1,["left","x1"])??0,oe(e,r,2,["top","y1"])??0,oe(e,r,3,["right","x2"])??0,oe(e,r,4,["bottom","y2"])??0);return U}if(t==="box.set_left"){let n=Wt(e,r);if(n!=null)i.boxSetLeft(n,oe(e,r,1,["left"]));return U}if(t==="box.set_right"){let n=Wt(e,r);if(n!=null)i.boxSetRight(n,oe(e,r,1,["right"]));return U}if(t==="box.set_top"){let n=Wt(e,r);if(n!=null)i.boxSetTop(n,oe(e,r,1,["top"]));return U}if(t==="box.set_bottom"){let n=Wt(e,r);if(n!=null)i.boxSetBottom(n,oe(e,r,1,["bottom"]));return U}if(t==="box.set_bgcolor"){let n=Wt(e,r);if(n!=null)i.boxSetBgcolor(n,ee(e,r,1,["color","bgcolor"]));return U}if(t==="box.set_border_color"){let n=Wt(e,r);if(n!=null)i.boxSetBorderColor(n,ee(e,r,1,["color"]));return U}if(t==="box.set_border_width"){let n=Wt(e,r);if(n!=null)i.boxSetBorderWidth(n,ee(e,r,1,["width"]));return U}if(t==="box.set_border_style"){let n=Wt(e,r);if(n!=null)i.boxSetBorderStyle(n,ee(e,r,1,["style"]));return U}if(t==="box.set_extend"){let n=Wt(e,r);if(n!=null)i.boxSetExtend(n,ee(e,r,1,["extend"]));return U}if(t==="box.set_xloc"){let n=Wt(e,r);if(n!=null)i.boxSetLeft(n,oe(e,r,1,["left"])),i.boxSetRight(n,oe(e,r,2,["right"])),i.boxSetXloc(n,ee(e,r,3,["xloc"]));return U}if(t==="box.set_closed"){let n=Wt(e,r);if(n!=null)i.boxSetClosed(n,ee(e,r,1,["closed"]));return U}if(t==="box.set_rightbottom"){let n=Wt(e,r);if(n!=null)i.boxSetRightBottom(n,oe(e,r,1,["right"]),oe(e,r,2,["bottom"]));return U}if(t==="box.set_text"){let n=Wt(e,r);if(n!=null)i.boxSetText(n,Qi(e,r,1,["text"]));return U}if(t==="box.set_text_color"){let n=Wt(e,r);if(n!=null)i.boxSetTextColor(n,ee(e,r,1,["color","text_color"]));return U}if(t==="box.set_text_font_family"){let n=Wt(e,r);if(n!=null)i.boxSetTextFontFamily(n,ee(e,r,1,["font_family"]));return U}if(t==="box.set_text_halign"){let n=Wt(e,r);if(n!=null)i.boxSetTextHalign(n,ee(e,r,1,["halign"]));return U}if(t==="box.set_text_valign"){let n=Wt(e,r);if(n!=null)i.boxSetTextValign(n,ee(e,r,1,["valign"]));return U}if(t==="box.set_text_size"){let n=Wt(e,r);if(n!=null)i.boxSetTextSize(n,ee(e,r,1,["size"]));return U}if(t==="box.set_text_formatting"){let n=Wt(e,r);if(n!=null)i.boxSetTextFormatting(n,ee(e,r,1,["formatting"]));return U}if(t==="box.set_text_wrap"){let n=Wt(e,r);if(n!=null)i.boxSetTextWrap(n,ee(e,r,1,["wrap"]));return U}if(t==="box.set_top_left_point"){let n=Wt(e,r),o=O(D(e.args,1,["point"]),r);if(n!=null&&ni(o)){let s=Ls(o);i.boxSetLeftTop(n,s.x,s.y)}return U}if(t==="box.set_bottom_right_point"){let n=Wt(e,r),o=O(D(e.args,1,["point"]),r);if(n!=null&&ni(o)){let s=Ls(o);i.boxSetRightBottom(n,s.x,s.y)}return U}if(t==="table.cell"){let n=Wt(e,r),o=oe(e,r,1,["column"]),s=oe(e,r,2,["row"]),m=D(e.args,3,["text"])==null?void 0:Qi(e,r,3,["text"]);if(n!=null&&o!=null&&s!=null)i.tableCell(n,o,s,m);return U}if(t==="table.cell_set_text"){let n=Wt(e,r),o=oe(e,r,1,["row"]),s=oe(e,r,2,["column"]);if(n!=null)i.tableCellSetText(n,s,o,Qi(e,r,3,["text"]));return U}if(t==="table.cell_set_text_color"||t==="table.cell_set_bgcolor"||t==="table.cell_set_border_color"||t==="table.cell_set_border_width"||t==="table.cell_set_tooltip"){let n=Wt(e,r),o=oe(e,r,1,["row"]),s=oe(e,r,2,["column"]),h=t==="table.cell_set_text_color"?"text_color":t==="table.cell_set_bgcolor"?"bgcolor":t==="table.cell_set_border_color"?"border_color":t==="table.cell_set_border_width"?"border_width":"tooltip";if(n!=null)i.tableCellSetField(n,s,o,h,ee(e,r,3,["color","width","tooltip","text"]));return U}if(t==="table.cell_set_width"||t==="table.cell_set_height"||t==="table.cell_set_text_halign"||t==="table.cell_set_text_valign"||t==="table.cell_set_text_size"||t==="table.cell_set_text_font_family"||t==="table.cell_set_text_formatting"){let n=Wt(e,r),o=oe(e,r,1,["column","col"]),s=oe(e,r,2,["row"]),h=t.slice(15);if(n!=null)i.tableCellSetField(n,o,s,h,ee(e,r,3,["width","height","halign","valign","size","font_family","formatting"]));return U}if(t==="table.set_position"){let n=Wt(e,r);if(n!=null)i.tableSetPosition(n,ee(e,r,1,["position"]));return U}if(t==="table.set_bgcolor"){let n=Wt(e,r);if(n!=null)i.tableSetBgcolor(n,ee(e,r,1,["color","bgcolor"]));return U}if(t==="table.set_border_color"){let n=Wt(e,r);if(n!=null)i.tableSetBorderColor(n,ee(e,r,1,["color"]));return U}if(t==="table.set_border_width"){let n=Wt(e,r);if(n!=null)i.tableSetBorderWidth(n,ee(e,r,1,["width"]));return U}if(t==="table.set_frame_color"){let n=Wt(e,r);if(n!=null)i.tableSetFrameColor(n,ee(e,r,1,["color"]));return U}if(t==="table.set_frame_width"){let n=Wt(e,r);if(n!=null)i.tableSetFrameWidth(n,ee(e,r,1,["width"]));return U}if(t==="table.clear"){let n=Wt(e,r);if(n!=null)if(D(e.args,1,["start_row"])==null)i.tableClear(n);else i.tableClear(n,oe(e,r,1,["start_row"]),oe(e,r,2,["start_column","start_col"]),oe(e,r,3,["end_row"]),oe(e,r,4,["end_column","end_col"]));return U}if(t==="table.merge_cells"){let n=Wt(e,r);if(n!=null)i.tableMergeCells(n,oe(e,r,1,["start_row"]),oe(e,r,2,["start_column","start_col"]),oe(e,r,3,["end_row"]),oe(e,r,4,["end_column","end_col"]));return U}if(t==="linefill.set_color"){let n=Wt(e,r);if(n!=null)i.linefillSetColor(n,ee(e,r,1,["color"]));return U}if(t==="polyline.set_points"){let n=Wt(e,r);if(n!=null)i.polylineSetPoints(n,Ob(O(D(e.args,1,["points"]),r)));return U}if(t==="polyline.set_line_color"){let n=Wt(e,r);if(n!=null)i.polylineSetLineColor(n,ee(e,r,1,["color"]));return U}if(t==="polyline.set_line_width"){let n=Wt(e,r);if(n!=null)i.polylineSetLineWidth(n,ee(e,r,1,["width"]));return U}if(t==="polyline.set_line_style"){let n=Wt(e,r);if(n!=null)i.polylineSetLineStyle(n,ee(e,r,1,["style"]));return U}if(t==="polyline.set_fill_color"){let n=Wt(e,r);if(n!=null)i.polylineSetFillColor(n,ee(e,r,1,["fill_color","color"]));return U}if(t==="polyline.set_curved"){let n=Wt(e,r);if(n!=null)i.polylineSetCurved(n,ee(e,r,1,["curved"]));return U}if(t==="polyline.set_force_overlay"){let n=Wt(e,r);if(n!=null)i.polylineSetForceOverlay(n,ee(e,r,1,["force_overlay"]));return U}if(t==="polyline.set_closed"){let n=Wt(e,r);if(n!=null)i.polylineSetClosed(n,ee(e,r,1,["closed"]));return U}if(t==="polyline.set_xloc"){let n=Wt(e,r);if(n!=null)i.polylineSetXloc(n,ee(e,r,1,["xloc"]));return U}return}function v7(t,e){if(t==null)return"";let r=O(t,e);if(typeof r==="string")return r;let i=Y(r);return i==null?"":String(i)}function S7(t,e,r){if(t==="color.r"||t==="color.g"||t==="color.b"||t==="color.t"){let i=O(D(e.args,0,["color"]),r),n=typeof i==="string"?i:i&&typeof i==="object"&&("r"in i)?i:null;if(t==="color.r")return Ea(n);if(t==="color.g")return Ra(n);if(t==="color.b")return Aa(n);return Ta(n)}if(t==="color.rgb")return Ma(Y(O(D(e.args,0,["red","r"]),r)),Y(O(D(e.args,1,["green","g"]),r)),Y(O(D(e.args,2,["blue","b"]),r)),Y(O(D(e.args,3,["transp","t"]),r))??void 0);if(t==="color.from_gradient"){let i=O(D(e.args,3,["color1"]),r),n=O(D(e.args,4,["color2"]),r),o=(s)=>{if(s&&typeof s==="object"&&"r"in s&&"g"in s)return s;if(typeof s==="string")return w0(s);return null};return ka(Y(O(D(e.args,0,["value"]),r)),Y(O(D(e.args,1,["bottom_value","bottom"]),r)),Y(O(D(e.args,2,["top_value","top"]),r)),o(i)??{r:0,g:0,b:0,a:255},o(n)??{r:255,g:255,b:255,a:255})}if(t==="color.new"||t==="color"){let i=O(D(e.args,0,["color"]),r),n=ui(i);if(!n)return U;let o=Y(O(D(e.args,1,["transp"]),r));return co(n.r,n.g,n.b,o??void 0)}return}function C7(t,e,r){if(t==="str.tostring"||t==="str.tostring"){let i=O(D(e.args,0,["value","source"]),r);if(typeof i==="string")return i;let n=Y(i);return ys(n)}if(t==="str.length"){let i=O(D(e.args,0,["string","source"]),r);return Co(typeof i==="string"?i:null)}if(t==="str.contains"){let i=O(D(e.args,0,["source"]),r),n=O(D(e.args,1,["str"]),r),o=Mo(typeof i==="string"?i:null,typeof n==="string"?n:null);return o==null?U:o?1:0}if(t==="str.upper"){let i=O(D(e.args,0,["source"]),r);return ko(typeof i==="string"?i:null)}if(t==="str.lower"){let i=O(D(e.args,0,["source"]),r);return Eo(typeof i==="string"?i:null)}if(t==="str.replace"){let i=O(D(e.args,0,["source"]),r),n=O(D(e.args,1,["target"]),r),o=O(D(e.args,2,["replacement"]),r),s=Y(O(D(e.args,3,["occurrence"]),r));return Ro(typeof i==="string"?i:null,typeof n==="string"?n:null,typeof o==="string"?o:null,s)}if(t==="str.replace_all"){let i=O(D(e.args,0,["source"]),r),n=O(D(e.args,1,["target"]),r),o=O(D(e.args,2,["replacement"]),r);return _m(typeof i==="string"?i:null,typeof n==="string"?n:null,typeof o==="string"?o:null)}if(t==="str.startswith"){let i=Ao(we(D(e.args,0,["source"]),r),we(D(e.args,1,["str"]),r));return i==null?U:i?1:0}if(t==="str.endswith"){let i=To(we(D(e.args,0,["source"]),r),we(D(e.args,1,["str"]),r));return i==null?U:i?1:0}if(t==="str.substring"){let i=D(e.args,2,["end_pos","end"]);return No(we(D(e.args,0,["source"]),r),Y(O(D(e.args,1,["begin_pos","begin"]),r)),i==null?void 0:Y(O(i,r)))}if(t==="str.repeat")return fm(we(D(e.args,0,["source"]),r),Y(O(D(e.args,1,["n","times"]),r)));if(t==="str.trim")return Lo(we(D(e.args,0,["source"]),r));if(t==="str.split"){let i=dm(we(D(e.args,0,["source"]),r),we(D(e.args,1,["separator","sep"]),r));return i==null?U:yn(i)}if(t==="str.tonumber"||t==="tonumber")return Io(we(D(e.args,0,["source","string"]),r));if(t==="tostring"){let i=O(D(e.args,0,["value","source"]),r);return typeof i==="string"?i:ys(Y(i))}if(t==="str.pos")return pm(we(D(e.args,0,["source"]),r),we(D(e.args,1,["str","substr"]),r));if(t==="str.match")return mm(we(D(e.args,0,["source"]),r),we(D(e.args,1,["regex","pattern"]),r));if(t==="str.format_time")return Oo(Y(O(D(e.args,0,["time","timestamp"]),r))??O(D(e.args,0,["time","timestamp"]),r),we(D(e.args,1,["format"]),r),we(D(e.args,2,["timezone"]),r));if(t==="str.format"){let i=we(D(e.args,0,["formatString","format"]),r),n=Be(e.args).slice(1).map((o)=>{let s=O(o.value,r);return typeof s==="string"?s:Y(s)});return Po(i,...n)}if(t==="str.join"){let i=O(D(e.args,0,["array","parts"]),r),n=we(D(e.args,1,["separator","sep"]),r),o=Qu(i)?i.elts.map((s)=>typeof s==="string"?s:s==null?null:String(Y(s))):null;return o?gm(o,n):U}return}function cd(t){if(t==null)return[];return Array.isArray(t)?t:[t]}function ul(t){if(t==null)return[];return Array.isArray(t)?t:[t]}function M7(t,e){if(e.barIndex!==0)return;let r={__udf:!0,params:cd(t.args),body:ul(t.body)};if(e.udfs.set(t.name,r),t.export)e.pendingExports.set(t.name,r);if(t.method){let i=cd(t.args)[0],n=A7(i?.type??null),o=n!=null?Xi(e,n):void 0;if(o instanceof un)o.addMethod(t.name,{name:t.name,params:cd(t.args).map((s)=>({name:s.name})),body:r,exported:Boolean(t.export)})}}function k7(t,e){if(e.barIndex!==0)return;let r=[];for(let n of ul(t.body)){if(n.kind!=="Assign")continue;let o=n;if(o.target.kind!=="Name")continue;r.push({name:o.target.id,default:o.value==null?null:O(o.value,e)})}let i=M1(t.name,r);if(rn(e,t.name,i),t.export)e.pendingExports.set(t.name,i)}function E7(t,e){if(e.barIndex!==0)return;let r=[];for(let n of ul(t.body))if(n.kind==="Assign"){let o=n.target;if(o.kind==="Name")r.push(o.id)}else if(n.kind==="Expr"&&n.value?.kind==="Name")r.push(n.value.id);let i=k1(t.name,r);if(rn(e,t.name,i),t.export)e.pendingExports.set(t.name,i)}function R7(t,e){let r=t.udfSites.get(e);if(!r)r={ctx:{},series:new Map,varInited:new Set},t.udfSites.set(e,r);for(let i of r.varInited){let n=r.series.get(i);if(n==null)continue;while(n.length<t.barIndex)n.push(n.current);if(n.length===t.barIndex)n.push(n.current);r.ctx[i]=n.current}t.frames.push(r)}function A7(t){if(t==null)return null;if(t.kind==="Name")return t.id;if(t.kind==="Attribute")return t.attr;return null}function md(t,e,r,i){let n=Be(e.args),o=new Set;R7(r,yd(e,r));try{let s=0;if(i!==void 0){let m=t.params[s++];if(m)rn(r,m.name,i),o.add(m.name)}for(let m of n){if(nr(m)!=null)continue;let p=t.params[s++];if(p)rn(r,p.name,O(m.value,r)),o.add(p.name)}for(let m of n){let p=nr(m);if(p==null)continue;if(t.params.some((y)=>y.name===p))rn(r,p,O(Fs(m),r)),o.add(p)}for(let m of t.params)if(!o.has(m.name)&&m.default!=null)rn(r,m.name,O(m.default,r));let h=U;for(let m of t.body){let p=ii(m,r);if(m.kind==="Expr"||m.kind==="Assign"||m.kind==="ReAssign")h=p}return h}finally{r.frames.pop()}}function Yu(t){return typeof t==="object"&&t!==null&&t.__udf===!0}function T7(t,e,r){if(t==="timestamp"){let n=Be(e.args).map((o)=>{let s=O(o.value,r);return typeof s==="string"?s:Y(s)});return xo(...n)}let i=t==="year"||t==="month"||t==="dayofmonth"||t==="dayofweek"||t==="hour"||t==="minute"||t==="second"?t:null;if(i!=null){let n=hd(e,r);if(n==null)return U;return Pi(n)[i]}if(t==="weekofyear"){let n=hd(e,r);return n==null?U:wo(n)}if(t==="time_tradingday"){let n=hd(e,r);return n==null?U:vo(n)}if(t==="time_close")return N7(r);if(t==="timenow"){let n=r.ctx.timenow;if(typeof n==="number"&&Number.isFinite(n))return n;if(typeof r.lastBarTime==="number"&&Number.isFinite(r.lastBarTime))return r.lastBarTime;let o=r.ctx.time;return typeof o==="number"&&Number.isFinite(o)?o:U}return}function N7(t){let e=t.ctx.time_close;if(typeof e==="number"&&Number.isFinite(e))return e;let r=t.ctx.time;return typeof r==="number"&&Number.isFinite(r)?r:0}function L7(t,e){let r=D(t.args,0,["timeframe","tf"]);if(r==null)return 0;let i=O(r,e),n=typeof i==="string"?i:typeof i==="number"&&Number.isFinite(i)?String(i):null;if(n==null||n.trim()==="")return 0;let o=e.ctx.time;if(typeof o!=="number"||!Number.isFinite(o))return 0;let s=e.series.get("time"),h=s!=null&&s.length>=2?s.get(1):null;return Pa(o,h,n,e.barIndex)?1:0}function al(t){let e=t.trim(),r=e.indexOf(":");return r<0?"":e.slice(0,r)}function I7(t,e){let r=D(t.args,0,["tickerid","symbol"]);if(r==null)return al(e.symbol);let i=O(r,e);if(i instanceof je)return al(i.symbol);if(typeof i==="string")return al(i);if(typeof i==="number"&&Number.isFinite(i))return al(String(i));return""}function hd(t,e){let r=D(t.args,0,["time","timestamp"]);if(r==null)return ft(e.ctx.time);return Y(O(r,e))}function O7(t,e,r,i){let n=t.get(e);if(n===void 0){let o=hi[e];if(o)return Pb(o,r,i);return U}if(Yu(n))return md(n,r,i);if(typeof n==="function")return Pb(n,r,i);return n}function Pb(t,e,r){let i=[],n={};for(let s of Be(e.args)){let h=nr(s),m=O(s.value,r),p=typeof m==="string"?m:Y(m);if(h)n[h]=p;else i.push(p)}let o=Object.keys(n).length>0?t(i,n):t(...i);if(o==null)return U;if(typeof o==="number"&&Number.isFinite(o))return o;if(typeof o==="string")return o;if(Array.isArray(o)&&o.every((s)=>typeof s==="number"&&Number.isFinite(s)))return yn(o.map((s)=>s));return U}function P7(t,e){if(e.barIndex!==0)return;let r=t.alias||t.name,i=e.libraries.lookup({namespace:t.namespace,name:t.name,version:t.version});if(i==null){let n=e.libraries.getSource(t.namespace,t.name,t.version);if(n!=null){if(D7(e,n,t.name),i=e.libraries.lookup({namespace:t.namespace,name:t.name,version:t.version}),i==null){if(i=e.libraries.lookup({name:t.name}),i!=null)i.namespace=t.namespace,i.version=t.version,e.libraries.register(i)}}}if(i==null){let n=Z0(t.name);n.namespace=t.namespace,n.version=t.version,rn(e,r,n);return}if(i.namespace==null)i.namespace=t.namespace;if(i.version==null)i.version=t.version;rn(e,r,i)}function D7(t,e,r){let i;try{i=Ai(e)}catch{return}if(i.kind!=="Script")return;let n=i,o=new Map(t.pendingExports);t.pendingExports.clear();let s=null;for(let m of n.body){let p=Vb(m);if(p){if(p.kind==="library"&&p.name)s=p.name;continue}let y=m.kind;if(y==="FunctionDef"||y==="TypeDef"||y==="EnumDef"||y==="Import"||y==="Assign")ii(m,t)}let h=s??r;if(h)Zb(t,h);t.pendingExports=o}function Zb(t,e){let i=t.libraries.lookup({name:e})??new fi(e);for(let[n,o]of t.pendingExports)if(Yu(o))i.exportFn(n,o);else if(o instanceof un)o.isExported=!0,i.exportType(n,o);else if(o instanceof Ti)i.exportEnum(n,o);else i.setExport(n,o);t.libraries.register(i),t.pendingExports.clear()}class cl extends Error{status;constructor(t,e){super(t);this.name="ProviderError",this.status=e}}class Xb{bars;constructor(t){this.bars=t}async fetch(t){let e=t.limit;if(e==null||e>=this.bars.length)return this.bars.slice();return this.bars.slice(-e)}}class Jb{feeds;constructor(t){this.feeds=t}async fetch(t){let e=t.timeframe,r=e!=null&&e!==""?`${t.symbol}:${e}`:void 0,i=(r!==void 0?this.feeds[r]:void 0)??this.feeds[t.symbol]??[];return n2(i,t.limit)}}class t2{url;fetchImpl;mapFn;headers;fetchBars;constructor(t){this.url=t.url,this.fetchImpl=t.fetch??globalThis.fetch.bind(globalThis),this.mapFn=t.map??e2,this.headers=t.headers,this.fetchBars=t.fetchBars}async fetch(t){let e=this.fetchBars?await this.fetchBars(t):await this.getJson(t);return n2(this.mapFn(e),t.limit)}async getJson(t){if(this.url==null)throw new cl("JsonBarProvider requires `url` or `fetchBars`");let e=this.url(t),r=await this.fetchImpl(e,{method:"GET",headers:this.headers});if(!r.ok)throw new cl(`HTTP ${r.status}${r.statusText?` ${r.statusText}`:""}`.trim(),r.status);try{return await r.json()}catch(i){let n=i instanceof Error?i.message:String(i);throw new cl(`invalid JSON: ${n}`,r.status)}}}var F7=["open","high","low","close","volume","time"];function e2(t){let e=B7(t);if(e==null)return[];let r=[];for(let i of e){let n=U7(i);if(n!=null)r.push(n)}return r}function B7(t){if(Array.isArray(t))return t;if(t!=null&&typeof t==="object"){let e=t;if(Array.isArray(e.bars))return e.bars;if(Array.isArray(e.data))return e.data}return null}function U7(t){if(t==null||typeof t!=="object")return null;if(Array.isArray(t))return q7(t);let e=t,r={};return wn(r,"time",e.time??e.t),wn(r,"open",e.open??e.o),wn(r,"high",e.high??e.h),wn(r,"low",e.low??e.l),wn(r,"close",e.close??e.c),wn(r,"volume",e.volume??e.v),r2(r)?r:null}function q7(t){if(t.length<5)return null;let e={};if(wn(e,"time",t[0]),wn(e,"open",t[1]),wn(e,"high",t[2]),wn(e,"low",t[3]),wn(e,"close",t[4]),t.length>5)wn(e,"volume",t[5]);return r2(e)?e:null}function wn(t,e,r){let i=$7(r);if(i===void 0)return;t[e]=e==="time"?H7(i):i}function H7(t){return t<1000000000000?t*1000:t}function $7(t){return typeof t==="number"&&Number.isFinite(t)?t:void 0}function r2(t){return F7.some((e)=>t[e]!==void 0)}function n2(t,e){if(e==null||e>=t.length)return t.slice();return t.slice(-e)}export{Di as CompileEmitError,Qn as CompileError,Bo as CompileIneligibleError,ws as CompileLoadError,ps as DrawingBook,ai as EnumMember,Ti as EnumType,t2 as JsonBarProvider,fi as LibraryModule,_s as LibraryRegistry,ms as LogBook,Xb as MemoryProvider,U as NA,Te as PineArray,kn as PineMap,Pe as PineMatrix,bs as PineSeries,io as PinescriptSyntaxError,cl as ProviderError,gd as Runtime,I0 as RuntimeError,_d as RuntimeStream,hi as STUB_KNOWN_EXPORTS,Jb as StaticMapProvider,xs as TaEngine,je as TickerId,tr as UdtInstance,un as UdtType,$y as applyStubExport,xb as clearCompileCache,wb as compileCacheStats,Ts as compileEligible,Ns as compileScript,Mb as compileToResult,Z0 as createStubModule,Zc as dump,m5 as interpret,Vu as interpretTree,e2 as mapJsonBars,Ai as parse,K0 as parseTimestampString,Cb as runScript,Fa as runtimeError,P0 as tickerHeikinashi,B0 as tickerKagi,U0 as tickerLinebreak,H0 as tickerModify,O0 as tickerNew,q0 as tickerPointfigure,F0 as tickerRenko,D0 as tickerStandard,vo as timeTradingDay,xo as timestamp,G0 as timestampFromComponents,K2 as tokenize,yb as transpile,g1 as unparse,Pi as utcPartsFromMs,wo as weekOfYear};
|