@univerjs/engine-formula 0.10.13 → 0.10.14-nightly.202511031023

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/lib/cjs/index.js CHANGED
@@ -4,4 +4,4 @@
4
4
  * https://github.com/MikeMcl/decimal.js
5
5
  * Copyright (c) 2025 Michael Mclaughlin <M8ch88l@gmail.com>
6
6
  * MIT Licence
7
- */var zt=9e15,Ut=1e9,Ns="0123456789abcdef",an="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",on="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Vs={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-zt,maxE:zt,crypto:!1},Gi,dt,oe=!0,jn="[DecimalError] ",xt=jn+"Invalid argument: ",Wi=jn+"Precision limit exceeded",Qi=jn+"crypto unavailable",qi="[object Decimal]",je=Math.floor,Se=Math.pow,nl=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,sl=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,al=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Ki=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,rt=1e7,re=7,il=9007199254740991,ol=an.length-1,Os=on.length-1,B={toStringTag:qi};B.absoluteValue=B.abs=function(){var i=new this.constructor(this);return i.s<0&&(i.s=1),ee(i)};B.ceil=function(){return ee(new this.constructor(this),this.e+1,2)};B.clampedTo=B.clamp=function(i,u){var e,t=this,r=t.constructor;if(i=new r(i),u=new r(u),!i.s||!u.s)return new r(NaN);if(i.gt(u))throw Error(xt+u);return e=t.cmp(i),e<0?i:t.cmp(u)>0?u:new r(t)};B.comparedTo=B.cmp=function(i){var u,e,t,r,n=this,s=n.d,a=(i=new n.constructor(i)).d,o=n.s,c=i.s;if(!s||!a)return!o||!c?NaN:o!==c?o:s===a?0:!s^o<0?1:-1;if(!s[0]||!a[0])return s[0]?o:a[0]?-c:0;if(o!==c)return o;if(n.e!==i.e)return n.e>i.e^o<0?1:-1;for(t=s.length,r=a.length,u=0,e=t<r?t:r;u<e;++u)if(s[u]!==a[u])return s[u]>a[u]^o<0?1:-1;return t===r?0:t>r^o<0?1:-1};B.cosine=B.cos=function(){var i,u,e=this,t=e.constructor;return e.d?e.d[0]?(i=t.precision,u=t.rounding,t.precision=i+Math.max(e.e,e.sd())+re,t.rounding=1,e=ul(t,eo(t,e)),t.precision=i,t.rounding=u,ee(dt==2||dt==3?e.neg():e,i,u,!0)):new t(1):new t(NaN)};B.cubeRoot=B.cbrt=function(){var i,u,e,t,r,n,s,a,o,c,l=this,f=l.constructor;if(!l.isFinite()||l.isZero())return new f(l);for(oe=!1,n=l.s*Se(l.s*l,1/3),!n||Math.abs(n)==1/0?(e=Le(l.d),i=l.e,(n=(i-e.length+1)%3)&&(e+=n==1||n==-2?"0":"00"),n=Se(e,1/3),i=je((i+1)/3)-(i%3==(i<0?-1:2)),n==1/0?e="5e"+i:(e=n.toExponential(),e=e.slice(0,e.indexOf("e")+1)+i),t=new f(e),t.s=l.s):t=new f(n.toString()),s=(i=f.precision)+3;;)if(a=t,o=a.times(a).times(a),c=o.plus(l),t=Re(c.plus(l).times(a),c.plus(o),s+2,1),Le(a.d).slice(0,s)===(e=Le(t.d)).slice(0,s))if(e=e.slice(s-3,s+1),e=="9999"||!r&&e=="4999"){if(!r&&(ee(a,i+1,0),a.times(a).times(a).eq(l))){t=a;break}s+=4,r=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(ee(t,i+1,1),u=!t.times(t).times(t).eq(l));break}return oe=!0,ee(t,i,f.rounding,u)};B.decimalPlaces=B.dp=function(){var i,u=this.d,e=NaN;if(u){if(i=u.length-1,e=(i-je(this.e/re))*re,i=u[i],i)for(;i%10==0;i/=10)e--;e<0&&(e=0)}return e};B.dividedBy=B.div=function(i){return Re(this,new this.constructor(i))};B.dividedToIntegerBy=B.divToInt=function(i){var u=this,e=u.constructor;return ee(Re(u,new e(i),0,1,1),e.precision,e.rounding)};B.equals=B.eq=function(i){return this.cmp(i)===0};B.floor=function(){return ee(new this.constructor(this),this.e+1,3)};B.greaterThan=B.gt=function(i){return this.cmp(i)>0};B.greaterThanOrEqualTo=B.gte=function(i){var u=this.cmp(i);return u==1||u===0};B.hyperbolicCosine=B.cosh=function(){var i,u,e,t,r,n=this,s=n.constructor,a=new s(1);if(!n.isFinite())return new s(n.s?1/0:NaN);if(n.isZero())return a;e=s.precision,t=s.rounding,s.precision=e+Math.max(n.e,n.sd())+4,s.rounding=1,r=n.d.length,r<32?(i=Math.ceil(r/3),u=(1/vn(4,i)).toString()):(i=16,u="2.3283064365386962890625e-10"),n=sr(s,1,n.times(u),new s(1),!0);for(var o,c=i,l=new s(8);c--;)o=n.times(n),n=a.minus(o.times(l.minus(o.times(l))));return ee(n,s.precision=e,s.rounding=t,!0)};B.hyperbolicSine=B.sinh=function(){var i,u,e,t,r=this,n=r.constructor;if(!r.isFinite()||r.isZero())return new n(r);if(u=n.precision,e=n.rounding,n.precision=u+Math.max(r.e,r.sd())+4,n.rounding=1,t=r.d.length,t<3)r=sr(n,2,r,r,!0);else{i=1.4*Math.sqrt(t),i=i>16?16:i|0,r=r.times(1/vn(5,i)),r=sr(n,2,r,r,!0);for(var s,a=new n(5),o=new n(16),c=new n(20);i--;)s=r.times(r),r=r.times(a.plus(s.times(o.times(s).plus(c))))}return n.precision=u,n.rounding=e,ee(r,u,e,!0)};B.hyperbolicTangent=B.tanh=function(){var i,u,e=this,t=e.constructor;return e.isFinite()?e.isZero()?new t(e):(i=t.precision,u=t.rounding,t.precision=i+7,t.rounding=1,Re(e.sinh(),e.cosh(),t.precision=i,t.rounding=u)):new t(e.s)};B.inverseCosine=B.acos=function(){var i=this,u=i.constructor,e=i.abs().cmp(1),t=u.precision,r=u.rounding;return e!==-1?e===0?i.isNeg()?ot(u,t,r):new u(0):new u(NaN):i.isZero()?ot(u,t+4,r).times(.5):(u.precision=t+6,u.rounding=1,i=new u(1).minus(i).div(i.plus(1)).sqrt().atan(),u.precision=t,u.rounding=r,i.times(2))};B.inverseHyperbolicCosine=B.acosh=function(){var i,u,e=this,t=e.constructor;return e.lte(1)?new t(e.eq(1)?0:NaN):e.isFinite()?(i=t.precision,u=t.rounding,t.precision=i+Math.max(Math.abs(e.e),e.sd())+4,t.rounding=1,oe=!1,e=e.times(e).minus(1).sqrt().plus(e),oe=!0,t.precision=i,t.rounding=u,e.ln()):new t(e)};B.inverseHyperbolicSine=B.asinh=function(){var i,u,e=this,t=e.constructor;return!e.isFinite()||e.isZero()?new t(e):(i=t.precision,u=t.rounding,t.precision=i+2*Math.max(Math.abs(e.e),e.sd())+6,t.rounding=1,oe=!1,e=e.times(e).plus(1).sqrt().plus(e),oe=!0,t.precision=i,t.rounding=u,e.ln())};B.inverseHyperbolicTangent=B.atanh=function(){var i,u,e,t,r=this,n=r.constructor;return r.isFinite()?r.e>=0?new n(r.abs().eq(1)?r.s/0:r.isZero()?r:NaN):(i=n.precision,u=n.rounding,t=r.sd(),Math.max(t,i)<2*-r.e-1?ee(new n(r),i,u,!0):(n.precision=e=t-r.e,r=Re(r.plus(1),new n(1).minus(r),e+i,1),n.precision=i+4,n.rounding=1,r=r.ln(),n.precision=i,n.rounding=u,r.times(.5))):new n(NaN)};B.inverseSine=B.asin=function(){var i,u,e,t,r=this,n=r.constructor;return r.isZero()?new n(r):(u=r.abs().cmp(1),e=n.precision,t=n.rounding,u!==-1?u===0?(i=ot(n,e+4,t).times(.5),i.s=r.s,i):new n(NaN):(n.precision=e+6,n.rounding=1,r=r.div(new n(1).minus(r.times(r)).sqrt().plus(1)).atan(),n.precision=e,n.rounding=t,r.times(2)))};B.inverseTangent=B.atan=function(){var i,u,e,t,r,n,s,a,o,c=this,l=c.constructor,f=l.precision,m=l.rounding;if(c.isFinite()){if(c.isZero())return new l(c);if(c.abs().eq(1)&&f+4<=Os)return s=ot(l,f+4,m).times(.25),s.s=c.s,s}else{if(!c.s)return new l(NaN);if(f+4<=Os)return s=ot(l,f+4,m).times(.5),s.s=c.s,s}for(l.precision=a=f+10,l.rounding=1,e=Math.min(28,a/re+2|0),i=e;i;--i)c=c.div(c.times(c).plus(1).sqrt().plus(1));for(oe=!1,u=Math.ceil(a/re),t=1,o=c.times(c),s=new l(c),r=c;i!==-1;)if(r=r.times(o),n=s.minus(r.div(t+=2)),r=r.times(o),s=n.plus(r.div(t+=2)),s.d[u]!==void 0)for(i=u;s.d[i]===n.d[i]&&i--;);return e&&(s=s.times(2<<e-1)),oe=!0,ee(s,l.precision=f,l.rounding=m,!0)};B.isFinite=function(){return!!this.d};B.isInteger=B.isInt=function(){return!!this.d&&je(this.e/re)>this.d.length-2};B.isNaN=function(){return!this.s};B.isNegative=B.isNeg=function(){return this.s<0};B.isPositive=B.isPos=function(){return this.s>0};B.isZero=function(){return!!this.d&&this.d[0]===0};B.lessThan=B.lt=function(i){return this.cmp(i)<0};B.lessThanOrEqualTo=B.lte=function(i){return this.cmp(i)<1};B.logarithm=B.log=function(i){var u,e,t,r,n,s,a,o,c=this,l=c.constructor,f=l.precision,m=l.rounding,d=5;if(i==null)i=new l(10),u=!0;else{if(i=new l(i),e=i.d,i.s<0||!e||!e[0]||i.eq(1))return new l(NaN);u=i.eq(10)}if(e=c.d,c.s<0||!e||!e[0]||c.eq(1))return new l(e&&!e[0]?-1/0:c.s!=1?NaN:e?0:1/0);if(u)if(e.length>1)n=!0;else{for(r=e[0];r%10===0;)r/=10;n=r!==1}if(oe=!1,a=f+d,s=Mt(c,a),t=u?un(l,a+10):Mt(i,a),o=Re(s,t,a,1),Ar(o.d,r=f,m))do if(a+=10,s=Mt(c,a),t=u?un(l,a+10):Mt(i,a),o=Re(s,t,a,1),!n){+Le(o.d).slice(r+1,r+15)+1==1e14&&(o=ee(o,f+1,0));break}while(Ar(o.d,r+=10,m));return oe=!0,ee(o,f,m)};B.minus=B.sub=function(i){var u,e,t,r,n,s,a,o,c,l,f,m,d=this,_=d.constructor;if(i=new _(i),!d.d||!i.d)return!d.s||!i.s?i=new _(NaN):d.d?i.s=-i.s:i=new _(i.d||d.s!==i.s?d:NaN),i;if(d.s!=i.s)return i.s=-i.s,d.plus(i);if(c=d.d,m=i.d,a=_.precision,o=_.rounding,!c[0]||!m[0]){if(m[0])i.s=-i.s;else if(c[0])i=new _(d);else return new _(o===3?-0:0);return oe?ee(i,a,o):i}if(e=je(i.e/re),l=je(d.e/re),c=c.slice(),n=l-e,n){for(f=n<0,f?(u=c,n=-n,s=m.length):(u=m,e=l,s=c.length),t=Math.max(Math.ceil(a/re),s)+2,n>t&&(n=t,u.length=1),u.reverse(),t=n;t--;)u.push(0);u.reverse()}else{for(t=c.length,s=m.length,f=t<s,f&&(s=t),t=0;t<s;t++)if(c[t]!=m[t]){f=c[t]<m[t];break}n=0}for(f&&(u=c,c=m,m=u,i.s=-i.s),s=c.length,t=m.length-s;t>0;--t)c[s++]=0;for(t=m.length;t>n;){if(c[--t]<m[t]){for(r=t;r&&c[--r]===0;)c[r]=rt-1;--c[r],c[t]+=rt}c[t]-=m[t]}for(;c[--s]===0;)c.pop();for(;c[0]===0;c.shift())--e;return c[0]?(i.d=c,i.e=Un(c,e),oe?ee(i,a,o):i):new _(o===3?-0:0)};B.modulo=B.mod=function(i){var u,e=this,t=e.constructor;return i=new t(i),!e.d||!i.s||i.d&&!i.d[0]?new t(NaN):!i.d||e.d&&!e.d[0]?ee(new t(e),t.precision,t.rounding):(oe=!1,t.modulo==9?(u=Re(e,i.abs(),0,3,1),u.s*=i.s):u=Re(e,i,0,t.modulo,1),u=u.times(i),oe=!0,e.minus(u))};B.naturalExponential=B.exp=function(){return Ms(this)};B.naturalLogarithm=B.ln=function(){return Mt(this)};B.negated=B.neg=function(){var i=new this.constructor(this);return i.s=-i.s,ee(i)};B.plus=B.add=function(i){var u,e,t,r,n,s,a,o,c,l,f=this,m=f.constructor;if(i=new m(i),!f.d||!i.d)return!f.s||!i.s?i=new m(NaN):f.d||(i=new m(i.d||f.s===i.s?f:NaN)),i;if(f.s!=i.s)return i.s=-i.s,f.minus(i);if(c=f.d,l=i.d,a=m.precision,o=m.rounding,!c[0]||!l[0])return l[0]||(i=new m(f)),oe?ee(i,a,o):i;if(n=je(f.e/re),t=je(i.e/re),c=c.slice(),r=n-t,r){for(r<0?(e=c,r=-r,s=l.length):(e=l,t=n,s=c.length),n=Math.ceil(a/re),s=n>s?n+1:s+1,r>s&&(r=s,e.length=1),e.reverse();r--;)e.push(0);e.reverse()}for(s=c.length,r=l.length,s-r<0&&(r=s,e=l,l=c,c=e),u=0;r;)u=(c[--r]=c[r]+l[r]+u)/rt|0,c[r]%=rt;for(u&&(c.unshift(u),++t),s=c.length;c[--s]==0;)c.pop();return i.d=c,i.e=Un(c,t),oe?ee(i,a,o):i};B.precision=B.sd=function(i){var u,e=this;if(i!==void 0&&i!==!!i&&i!==1&&i!==0)throw Error(xt+i);return e.d?(u=Xi(e.d),i&&e.e+1>u&&(u=e.e+1)):u=NaN,u};B.round=function(){var i=this,u=i.constructor;return ee(new u(i),i.e+1,u.rounding)};B.sine=B.sin=function(){var i,u,e=this,t=e.constructor;return e.isFinite()?e.isZero()?new t(e):(i=t.precision,u=t.rounding,t.precision=i+Math.max(e.e,e.sd())+re,t.rounding=1,e=ll(t,eo(t,e)),t.precision=i,t.rounding=u,ee(dt>2?e.neg():e,i,u,!0)):new t(NaN)};B.squareRoot=B.sqrt=function(){var i,u,e,t,r,n,s=this,a=s.d,o=s.e,c=s.s,l=s.constructor;if(c!==1||!a||!a[0])return new l(!c||c<0&&(!a||a[0])?NaN:a?s:1/0);for(oe=!1,c=Math.sqrt(+s),c==0||c==1/0?(u=Le(a),(u.length+o)%2==0&&(u+="0"),c=Math.sqrt(u),o=je((o+1)/2)-(o<0||o%2),c==1/0?u="5e"+o:(u=c.toExponential(),u=u.slice(0,u.indexOf("e")+1)+o),t=new l(u)):t=new l(c.toString()),e=(o=l.precision)+3;;)if(n=t,t=n.plus(Re(s,n,e+2,1)).times(.5),Le(n.d).slice(0,e)===(u=Le(t.d)).slice(0,e))if(u=u.slice(e-3,e+1),u=="9999"||!r&&u=="4999"){if(!r&&(ee(n,o+1,0),n.times(n).eq(s))){t=n;break}e+=4,r=1}else{(!+u||!+u.slice(1)&&u.charAt(0)=="5")&&(ee(t,o+1,1),i=!t.times(t).eq(s));break}return oe=!0,ee(t,o,l.rounding,i)};B.tangent=B.tan=function(){var i,u,e=this,t=e.constructor;return e.isFinite()?e.isZero()?new t(e):(i=t.precision,u=t.rounding,t.precision=i+10,t.rounding=1,e=e.sin(),e.s=1,e=Re(e,new t(1).minus(e.times(e)).sqrt(),i+10,0),t.precision=i,t.rounding=u,ee(dt==2||dt==4?e.neg():e,i,u,!0)):new t(NaN)};B.times=B.mul=function(i){var u,e,t,r,n,s,a,o,c,l=this,f=l.constructor,m=l.d,d=(i=new f(i)).d;if(i.s*=l.s,!m||!m[0]||!d||!d[0])return new f(!i.s||m&&!m[0]&&!d||d&&!d[0]&&!m?NaN:!m||!d?i.s/0:i.s*0);for(e=je(l.e/re)+je(i.e/re),o=m.length,c=d.length,o<c&&(n=m,m=d,d=n,s=o,o=c,c=s),n=[],s=o+c,t=s;t--;)n.push(0);for(t=c;--t>=0;){for(u=0,r=o+t;r>t;)a=n[r]+d[t]*m[r-t-1]+u,n[r--]=a%rt|0,u=a/rt|0;n[r]=(n[r]+u)%rt|0}for(;!n[--s];)n.pop();return u?++e:n.shift(),i.d=n,i.e=Un(n,e),oe?ee(i,f.precision,f.rounding):i};B.toBinary=function(i,u){return Zs(this,2,i,u)};B.toDecimalPlaces=B.toDP=function(i,u){var e=this,t=e.constructor;return e=new t(e),i===void 0?e:(Be(i,0,Ut),u===void 0?u=t.rounding:Be(u,0,8),ee(e,i+e.e+1,u))};B.toExponential=function(i,u){var e,t=this,r=t.constructor;return i===void 0?e=ct(t,!0):(Be(i,0,Ut),u===void 0?u=r.rounding:Be(u,0,8),t=ee(new r(t),i+1,u),e=ct(t,!0,i+1)),t.isNeg()&&!t.isZero()?"-"+e:e};B.toFixed=function(i,u){var e,t,r=this,n=r.constructor;return i===void 0?e=ct(r):(Be(i,0,Ut),u===void 0?u=n.rounding:Be(u,0,8),t=ee(new n(r),i+r.e+1,u),e=ct(t,!1,i+t.e+1)),r.isNeg()&&!r.isZero()?"-"+e:e};B.toFraction=function(i){var u,e,t,r,n,s,a,o,c,l,f,m,d=this,_=d.d,C=d.constructor;if(!_)return new C(d);if(c=e=new C(1),t=o=new C(0),u=new C(t),n=u.e=Xi(_)-d.e-1,s=n%re,u.d[0]=Se(10,s<0?re+s:s),i==null)i=n>0?u:c;else{if(a=new C(i),!a.isInt()||a.lt(c))throw Error(xt+a);i=a.gt(u)?n>0?u:c:a}for(oe=!1,a=new C(Le(_)),l=C.precision,C.precision=n=_.length*re*2;f=Re(a,u,0,1,1),r=e.plus(f.times(t)),r.cmp(i)!=1;)e=t,t=r,r=c,c=o.plus(f.times(r)),o=r,r=u,u=a.minus(f.times(r)),a=r;return r=Re(i.minus(e),t,0,1,1),o=o.plus(r.times(c)),e=e.plus(r.times(t)),o.s=c.s=d.s,m=Re(c,t,n,1).minus(d).abs().cmp(Re(o,e,n,1).minus(d).abs())<1?[c,t]:[o,e],C.precision=l,oe=!0,m};B.toHexadecimal=B.toHex=function(i,u){return Zs(this,16,i,u)};B.toNearest=function(i,u){var e=this,t=e.constructor;if(e=new t(e),i==null){if(!e.d)return e;i=new t(1),u=t.rounding}else{if(i=new t(i),u===void 0?u=t.rounding:Be(u,0,8),!e.d)return i.s?e:i;if(!i.d)return i.s&&(i.s=e.s),i}return i.d[0]?(oe=!1,e=Re(e,i,0,u,1).times(i),oe=!0,ee(e)):(i.s=e.s,e=i),e};B.toNumber=function(){return+this};B.toOctal=function(i,u){return Zs(this,8,i,u)};B.toPower=B.pow=function(i){var u,e,t,r,n,s,a=this,o=a.constructor,c=+(i=new o(i));if(!a.d||!i.d||!a.d[0]||!i.d[0])return new o(Se(+a,c));if(a=new o(a),a.eq(1))return a;if(t=o.precision,n=o.rounding,i.eq(1))return ee(a,t,n);if(u=je(i.e/re),u>=i.d.length-1&&(e=c<0?-c:c)<=il)return r=Zi(o,a,e,t),i.s<0?new o(1).div(r):ee(r,t,n);if(s=a.s,s<0){if(u<i.d.length-1)return new o(NaN);if((i.d[u]&1)==0&&(s=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=s,a}return e=Se(+a,c),u=e==0||!isFinite(e)?je(c*(Math.log("0."+Le(a.d))/Math.LN10+a.e+1)):new o(e+"").e,u>o.maxE+1||u<o.minE-1?new o(u>0?s/0:0):(oe=!1,o.rounding=a.s=1,e=Math.min(12,(u+"").length),r=Ms(i.times(Mt(a,t+e)),t),r.d&&(r=ee(r,t+5,1),Ar(r.d,t,n)&&(u=t+10,r=ee(Ms(i.times(Mt(a,u+e)),u),u+5,1),+Le(r.d).slice(t+1,t+15)+1==1e14&&(r=ee(r,t+1,0)))),r.s=s,oe=!0,o.rounding=n,ee(r,t,n))};B.toPrecision=function(i,u){var e,t=this,r=t.constructor;return i===void 0?e=ct(t,t.e<=r.toExpNeg||t.e>=r.toExpPos):(Be(i,1,Ut),u===void 0?u=r.rounding:Be(u,0,8),t=ee(new r(t),i,u),e=ct(t,i<=t.e||t.e<=r.toExpNeg,i)),t.isNeg()&&!t.isZero()?"-"+e:e};B.toSignificantDigits=B.toSD=function(i,u){var e=this,t=e.constructor;return i===void 0?(i=t.precision,u=t.rounding):(Be(i,1,Ut),u===void 0?u=t.rounding:Be(u,0,8)),ee(new t(e),i,u)};B.toString=function(){var i=this,u=i.constructor,e=ct(i,i.e<=u.toExpNeg||i.e>=u.toExpPos);return i.isNeg()&&!i.isZero()?"-"+e:e};B.truncated=B.trunc=function(){return ee(new this.constructor(this),this.e+1,1)};B.valueOf=B.toJSON=function(){var i=this,u=i.constructor,e=ct(i,i.e<=u.toExpNeg||i.e>=u.toExpPos);return i.isNeg()?"-"+e:e};function Le(i){var u,e,t,r=i.length-1,n="",s=i[0];if(r>0){for(n+=s,u=1;u<r;u++)t=i[u]+"",e=re-t.length,e&&(n+=Vt(e)),n+=t;s=i[u],t=s+"",e=re-t.length,e&&(n+=Vt(e))}else if(s===0)return"0";for(;s%10===0;)s/=10;return n+s}function Be(i,u,e){if(i!==~~i||i<u||i>e)throw Error(xt+i)}function Ar(i,u,e,t){var r,n,s,a;for(n=i[0];n>=10;n/=10)--u;return--u<0?(u+=re,r=0):(r=Math.ceil((u+1)/re),u%=re),n=Se(10,re-u),a=i[r]%n|0,t==null?u<3?(u==0?a=a/100|0:u==1&&(a=a/10|0),s=e<4&&a==99999||e>3&&a==49999||a==5e4||a==0):s=(e<4&&a+1==n||e>3&&a+1==n/2)&&(i[r+1]/n/100|0)==Se(10,u-2)-1||(a==n/2||a==0)&&(i[r+1]/n/100|0)==0:u<4?(u==0?a=a/1e3|0:u==1?a=a/100|0:u==2&&(a=a/10|0),s=(t||e<4)&&a==9999||!t&&e>3&&a==4999):s=((t||e<4)&&a+1==n||!t&&e>3&&a+1==n/2)&&(i[r+1]/n/1e3|0)==Se(10,u-3)-1,s}function qr(i,u,e){for(var t,r=[0],n,s=0,a=i.length;s<a;){for(n=r.length;n--;)r[n]*=u;for(r[0]+=Ns.indexOf(i.charAt(s++)),t=0;t<r.length;t++)r[t]>e-1&&(r[t+1]===void 0&&(r[t+1]=0),r[t+1]+=r[t]/e|0,r[t]%=e)}return r.reverse()}function ul(i,u){var e,t,r;if(u.isZero())return u;t=u.d.length,t<32?(e=Math.ceil(t/3),r=(1/vn(4,e)).toString()):(e=16,r="2.3283064365386962890625e-10"),i.precision+=e,u=sr(i,1,u.times(r),new i(1));for(var n=e;n--;){var s=u.times(u);u=s.times(s).minus(s).times(8).plus(1)}return i.precision-=e,u}var Re=(function(){function i(t,r,n){var s,a=0,o=t.length;for(t=t.slice();o--;)s=t[o]*r+a,t[o]=s%n|0,a=s/n|0;return a&&t.unshift(a),t}function u(t,r,n,s){var a,o;if(n!=s)o=n>s?1:-1;else for(a=o=0;a<n;a++)if(t[a]!=r[a]){o=t[a]>r[a]?1:-1;break}return o}function e(t,r,n,s){for(var a=0;n--;)t[n]-=a,a=t[n]<r[n]?1:0,t[n]=a*s+t[n]-r[n];for(;!t[0]&&t.length>1;)t.shift()}return function(t,r,n,s,a,o){var c,l,f,m,d,_,C,E,b,y,p,V,S,D,w,L,x,v,U,$,Q=t.constructor,te=t.s==r.s?1:-1,z=t.d,W=r.d;if(!z||!z[0]||!W||!W[0])return new Q(!t.s||!r.s||(z?W&&z[0]==W[0]:!W)?NaN:z&&z[0]==0||!W?te*0:te/0);for(o?(d=1,l=t.e-r.e):(o=rt,d=re,l=je(t.e/d)-je(r.e/d)),U=W.length,x=z.length,b=new Q(te),y=b.d=[],f=0;W[f]==(z[f]||0);f++);if(W[f]>(z[f]||0)&&l--,n==null?(D=n=Q.precision,s=Q.rounding):a?D=n+(t.e-r.e)+1:D=n,D<0)y.push(1),_=!0;else{if(D=D/d+2|0,f=0,U==1){for(m=0,W=W[0],D++;(f<x||m)&&D--;f++)w=m*o+(z[f]||0),y[f]=w/W|0,m=w%W|0;_=m||f<x}else{for(m=o/(W[0]+1)|0,m>1&&(W=i(W,m,o),z=i(z,m,o),U=W.length,x=z.length),L=U,p=z.slice(0,U),V=p.length;V<U;)p[V++]=0;$=W.slice(),$.unshift(0),v=W[0],W[1]>=o/2&&++v;do m=0,c=u(W,p,U,V),c<0?(S=p[0],U!=V&&(S=S*o+(p[1]||0)),m=S/v|0,m>1?(m>=o&&(m=o-1),C=i(W,m,o),E=C.length,V=p.length,c=u(C,p,E,V),c==1&&(m--,e(C,U<E?$:W,E,o))):(m==0&&(c=m=1),C=W.slice()),E=C.length,E<V&&C.unshift(0),e(p,C,V,o),c==-1&&(V=p.length,c=u(W,p,U,V),c<1&&(m++,e(p,U<V?$:W,V,o))),V=p.length):c===0&&(m++,p=[0]),y[f++]=m,c&&p[0]?p[V++]=z[L]||0:(p=[z[L]],V=1);while((L++<x||p[0]!==void 0)&&D--);_=p[0]!==void 0}y[0]||y.shift()}if(d==1)b.e=l,Gi=_;else{for(f=1,m=y[0];m>=10;m/=10)f++;b.e=f+l*d-1,ee(b,a?n+b.e+1:n,s,_)}return b}})();function ee(i,u,e,t){var r,n,s,a,o,c,l,f,m,d=i.constructor;e:if(u!=null){if(f=i.d,!f)return i;for(r=1,a=f[0];a>=10;a/=10)r++;if(n=u-r,n<0)n+=re,s=u,l=f[m=0],o=l/Se(10,r-s-1)%10|0;else if(m=Math.ceil((n+1)/re),a=f.length,m>=a)if(t){for(;a++<=m;)f.push(0);l=o=0,r=1,n%=re,s=n-re+1}else break e;else{for(l=a=f[m],r=1;a>=10;a/=10)r++;n%=re,s=n-re+r,o=s<0?0:l/Se(10,r-s-1)%10|0}if(t=t||u<0||f[m+1]!==void 0||(s<0?l:l%Se(10,r-s-1)),c=e<4?(o||t)&&(e==0||e==(i.s<0?3:2)):o>5||o==5&&(e==4||t||e==6&&(n>0?s>0?l/Se(10,r-s):0:f[m-1])%10&1||e==(i.s<0?8:7)),u<1||!f[0])return f.length=0,c?(u-=i.e+1,f[0]=Se(10,(re-u%re)%re),i.e=-u||0):f[0]=i.e=0,i;if(n==0?(f.length=m,a=1,m--):(f.length=m+1,a=Se(10,re-n),f[m]=s>0?(l/Se(10,r-s)%Se(10,s)|0)*a:0),c)for(;;)if(m==0){for(n=1,s=f[0];s>=10;s/=10)n++;for(s=f[0]+=a,a=1;s>=10;s/=10)a++;n!=a&&(i.e++,f[0]==rt&&(f[0]=1));break}else{if(f[m]+=a,f[m]!=rt)break;f[m--]=0,a=1}for(n=f.length;f[--n]===0;)f.pop()}return oe&&(i.e>d.maxE?(i.d=null,i.e=NaN):i.e<d.minE&&(i.e=0,i.d=[0])),i}function ct(i,u,e){if(!i.isFinite())return Ji(i);var t,r=i.e,n=Le(i.d),s=n.length;return u?(e&&(t=e-s)>0?n=n.charAt(0)+"."+n.slice(1)+Vt(t):s>1&&(n=n.charAt(0)+"."+n.slice(1)),n=n+(i.e<0?"e":"e+")+i.e):r<0?(n="0."+Vt(-r-1)+n,e&&(t=e-s)>0&&(n+=Vt(t))):r>=s?(n+=Vt(r+1-s),e&&(t=e-r-1)>0&&(n=n+"."+Vt(t))):((t=r+1)<s&&(n=n.slice(0,t)+"."+n.slice(t)),e&&(t=e-s)>0&&(r+1===s&&(n+="."),n+=Vt(t))),n}function Un(i,u){var e=i[0];for(u*=re;e>=10;e/=10)u++;return u}function un(i,u,e){if(u>ol)throw oe=!0,e&&(i.precision=e),Error(Wi);return ee(new i(an),u,1,!0)}function ot(i,u,e){if(u>Os)throw Error(Wi);return ee(new i(on),u,e,!0)}function Xi(i){var u=i.length-1,e=u*re+1;if(u=i[u],u){for(;u%10==0;u/=10)e--;for(u=i[0];u>=10;u/=10)e++}return e}function Vt(i){for(var u="";i--;)u+="0";return u}function Zi(i,u,e,t){var r,n=new i(1),s=Math.ceil(t/re+4);for(oe=!1;;){if(e%2&&(n=n.times(u),Xa(n.d,s)&&(r=!0)),e=je(e/2),e===0){e=n.d.length-1,r&&n.d[e]===0&&++n.d[e];break}u=u.times(u),Xa(u.d,s)}return oe=!0,n}function Ka(i){return i.d[i.d.length-1]&1}function zi(i,u,e){for(var t,r,n=new i(u[0]),s=0;++s<u.length;){if(r=new i(u[s]),!r.s){n=r;break}t=n.cmp(r),(t===e||t===0&&n.s===e)&&(n=r)}return n}function Ms(i,u){var e,t,r,n,s,a,o,c=0,l=0,f=0,m=i.constructor,d=m.rounding,_=m.precision;if(!i.d||!i.d[0]||i.e>17)return new m(i.d?i.d[0]?i.s<0?0:1/0:1:i.s?i.s<0?0:i:NaN);for(u==null?(oe=!1,o=_):o=u,a=new m(.03125);i.e>-2;)i=i.times(a),f+=5;for(t=Math.log(Se(2,f))/Math.LN10*2+5|0,o+=t,e=n=s=new m(1),m.precision=o;;){if(n=ee(n.times(i),o,1),e=e.times(++l),a=s.plus(Re(n,e,o,1)),Le(a.d).slice(0,o)===Le(s.d).slice(0,o)){for(r=f;r--;)s=ee(s.times(s),o,1);if(u==null)if(c<3&&Ar(s.d,o-t,d,c))m.precision=o+=10,e=n=a=new m(1),l=0,c++;else return ee(s,m.precision=_,d,oe=!0);else return m.precision=_,s}s=a}}function Mt(i,u){var e,t,r,n,s,a,o,c,l,f,m,d=1,_=10,C=i,E=C.d,b=C.constructor,y=b.rounding,p=b.precision;if(C.s<0||!E||!E[0]||!C.e&&E[0]==1&&E.length==1)return new b(E&&!E[0]?-1/0:C.s!=1?NaN:E?0:C);if(u==null?(oe=!1,l=p):l=u,b.precision=l+=_,e=Le(E),t=e.charAt(0),Math.abs(n=C.e)<15e14){for(;t<7&&t!=1||t==1&&e.charAt(1)>3;)C=C.times(i),e=Le(C.d),t=e.charAt(0),d++;n=C.e,t>1?(C=new b("0."+e),n++):C=new b(t+"."+e.slice(1))}else return c=un(b,l+2,p).times(n+""),C=Mt(new b(t+"."+e.slice(1)),l-_).plus(c),b.precision=p,u==null?ee(C,p,y,oe=!0):C;for(f=C,o=s=C=Re(C.minus(1),C.plus(1),l,1),m=ee(C.times(C),l,1),r=3;;){if(s=ee(s.times(m),l,1),c=o.plus(Re(s,new b(r),l,1)),Le(c.d).slice(0,l)===Le(o.d).slice(0,l))if(o=o.times(2),n!==0&&(o=o.plus(un(b,l+2,p).times(n+""))),o=Re(o,new b(d),l,1),u==null)if(Ar(o.d,l-_,y,a))b.precision=l+=_,c=s=C=Re(f.minus(1),f.plus(1),l,1),m=ee(C.times(C),l,1),r=a=1;else return ee(o,b.precision=p,y,oe=!0);else return b.precision=p,o;o=c,r+=2}}function Ji(i){return String(i.s*i.s/0)}function Kr(i,u){var e,t,r;for((e=u.indexOf("."))>-1&&(u=u.replace(".","")),(t=u.search(/e/i))>0?(e<0&&(e=t),e+=+u.slice(t+1),u=u.substring(0,t)):e<0&&(e=u.length),t=0;u.charCodeAt(t)===48;t++);for(r=u.length;u.charCodeAt(r-1)===48;--r);if(u=u.slice(t,r),u){if(r-=t,i.e=e=e-t-1,i.d=[],t=(e+1)%re,e<0&&(t+=re),t<r){for(t&&i.d.push(+u.slice(0,t)),r-=re;t<r;)i.d.push(+u.slice(t,t+=re));u=u.slice(t),t=re-u.length}else t-=r;for(;t--;)u+="0";i.d.push(+u),oe&&(i.e>i.constructor.maxE?(i.d=null,i.e=NaN):i.e<i.constructor.minE&&(i.e=0,i.d=[0]))}else i.e=0,i.d=[0];return i}function cl(i,u){var e,t,r,n,s,a,o,c,l;if(u.indexOf("_")>-1){if(u=u.replace(/(\d)_(?=\d)/g,"$1"),Ki.test(u))return Kr(i,u)}else if(u==="Infinity"||u==="NaN")return+u||(i.s=NaN),i.e=NaN,i.d=null,i;if(sl.test(u))e=16,u=u.toLowerCase();else if(nl.test(u))e=2;else if(al.test(u))e=8;else throw Error(xt+u);for(n=u.search(/p/i),n>0?(o=+u.slice(n+1),u=u.substring(2,n)):u=u.slice(2),n=u.indexOf("."),s=n>=0,t=i.constructor,s&&(u=u.replace(".",""),a=u.length,n=a-n,r=Zi(t,new t(e),n,n*2)),c=qr(u,e,rt),l=c.length-1,n=l;c[n]===0;--n)c.pop();return n<0?new t(i.s*0):(i.e=Un(c,l),i.d=c,oe=!1,s&&(i=Re(i,r,a*4)),o&&(i=i.times(Math.abs(o)<54?Se(2,o):P.pow(2,o))),oe=!0,i)}function ll(i,u){var e,t=u.d.length;if(t<3)return u.isZero()?u:sr(i,2,u,u);e=1.4*Math.sqrt(t),e=e>16?16:e|0,u=u.times(1/vn(5,e)),u=sr(i,2,u,u);for(var r,n=new i(5),s=new i(16),a=new i(20);e--;)r=u.times(u),u=u.times(n.plus(r.times(s.times(r).minus(a))));return u}function sr(i,u,e,t,r){var n,s,a,o,c=i.precision,l=Math.ceil(c/re);for(oe=!1,o=e.times(e),a=new i(t);;){if(s=Re(a.times(o),new i(u++*u++),c,1),a=r?t.plus(s):t.minus(s),t=Re(s.times(o),new i(u++*u++),c,1),s=a.plus(t),s.d[l]!==void 0){for(n=l;s.d[n]===a.d[n]&&n--;);if(n==-1)break}n=a,a=t,t=s,s=n}return oe=!0,s.d.length=l+1,s}function vn(i,u){for(var e=i;--u;)e*=i;return e}function eo(i,u){var e,t=u.s<0,r=ot(i,i.precision,1),n=r.times(.5);if(u=u.abs(),u.lte(n))return dt=t?4:1,u;if(e=u.divToInt(r),e.isZero())dt=t?3:2;else{if(u=u.minus(e.times(r)),u.lte(n))return dt=Ka(e)?t?2:3:t?4:1,u;dt=Ka(e)?t?1:4:t?3:2}return u.minus(r).abs()}function Zs(i,u,e,t){var r,n,s,a,o,c,l,f,m,d=i.constructor,_=e!==void 0;if(_?(Be(e,1,Ut),t===void 0?t=d.rounding:Be(t,0,8)):(e=d.precision,t=d.rounding),!i.isFinite())l=Ji(i);else{for(l=ct(i),s=l.indexOf("."),_?(r=2,u==16?e=e*4-3:u==8&&(e=e*3-2)):r=u,s>=0&&(l=l.replace(".",""),m=new d(1),m.e=l.length-s,m.d=qr(ct(m),10,r),m.e=m.d.length),f=qr(l,10,r),n=o=f.length;f[--o]==0;)f.pop();if(!f[0])l=_?"0p+0":"0";else{if(s<0?n--:(i=new d(i),i.d=f,i.e=n,i=Re(i,m,e,t,0,r),f=i.d,n=i.e,c=Gi),s=f[e],a=r/2,c=c||f[e+1]!==void 0,c=t<4?(s!==void 0||c)&&(t===0||t===(i.s<0?3:2)):s>a||s===a&&(t===4||c||t===6&&f[e-1]&1||t===(i.s<0?8:7)),f.length=e,c)for(;++f[--e]>r-1;)f[e]=0,e||(++n,f.unshift(1));for(o=f.length;!f[o-1];--o);for(s=0,l="";s<o;s++)l+=Ns.charAt(f[s]);if(_){if(o>1)if(u==16||u==8){for(s=u==16?4:3,--o;o%s;o++)l+="0";for(f=qr(l,r,u),o=f.length;!f[o-1];--o);for(s=1,l="1.";s<o;s++)l+=Ns.charAt(f[s])}else l=l.charAt(0)+"."+l.slice(1);l=l+(n<0?"p":"p+")+n}else if(n<0){for(;++n;)l="0"+l;l="0."+l}else if(++n>o)for(n-=o;n--;)l+="0";else n<o&&(l=l.slice(0,n)+"."+l.slice(n))}l=(u==16?"0x":u==2?"0b":u==8?"0o":"")+l}return i.s<0?"-"+l:l}function Xa(i,u){if(i.length>u)return i.length=u,!0}function fl(i){return new this(i).abs()}function ml(i){return new this(i).acos()}function hl(i){return new this(i).acosh()}function gl(i,u){return new this(i).plus(u)}function dl(i){return new this(i).asin()}function Cl(i){return new this(i).asinh()}function _l(i){return new this(i).atan()}function Al(i){return new this(i).atanh()}function El(i,u){i=new this(i),u=new this(u);var e,t=this.precision,r=this.rounding,n=t+4;return!i.s||!u.s?e=new this(NaN):!i.d&&!u.d?(e=ot(this,n,1).times(u.s>0?.25:.75),e.s=i.s):!u.d||i.isZero()?(e=u.s<0?ot(this,t,r):new this(0),e.s=i.s):!i.d||u.isZero()?(e=ot(this,n,1).times(.5),e.s=i.s):u.s<0?(this.precision=n,this.rounding=1,e=this.atan(Re(i,u,n,1)),u=ot(this,n,1),this.precision=t,this.rounding=r,e=i.s<0?e.minus(u):e.plus(u)):e=this.atan(Re(i,u,n,1)),e}function bl(i){return new this(i).cbrt()}function yl(i){return ee(i=new this(i),i.e+1,2)}function Rl(i,u,e){return new this(i).clamp(u,e)}function pl(i){if(!i||typeof i!="object")throw Error(jn+"Object expected");var u,e,t,r=i.defaults===!0,n=["precision",1,Ut,"rounding",0,8,"toExpNeg",-zt,0,"toExpPos",0,zt,"maxE",0,zt,"minE",-zt,0,"modulo",0,9];for(u=0;u<n.length;u+=3)if(e=n[u],r&&(this[e]=Vs[e]),(t=i[e])!==void 0)if(je(t)===t&&t>=n[u+1]&&t<=n[u+2])this[e]=t;else throw Error(xt+e+": "+t);if(e="crypto",r&&(this[e]=Vs[e]),(t=i[e])!==void 0)if(t===!0||t===!1||t===0||t===1)if(t)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[e]=!0;else throw Error(Qi);else this[e]=!1;else throw Error(xt+e+": "+t);return this}function Nl(i){return new this(i).cos()}function Vl(i){return new this(i).cosh()}function to(i){var u,e,t;function r(n){var s,a,o,c=this;if(!(c instanceof r))return new r(n);if(c.constructor=r,Za(n)){c.s=n.s,oe?!n.d||n.e>r.maxE?(c.e=NaN,c.d=null):n.e<r.minE?(c.e=0,c.d=[0]):(c.e=n.e,c.d=n.d.slice()):(c.e=n.e,c.d=n.d?n.d.slice():n.d);return}if(o=typeof n,o==="number"){if(n===0){c.s=1/n<0?-1:1,c.e=0,c.d=[0];return}if(n<0?(n=-n,c.s=-1):c.s=1,n===~~n&&n<1e7){for(s=0,a=n;a>=10;a/=10)s++;oe?s>r.maxE?(c.e=NaN,c.d=null):s<r.minE?(c.e=0,c.d=[0]):(c.e=s,c.d=[n]):(c.e=s,c.d=[n]);return}if(n*0!==0){n||(c.s=NaN),c.e=NaN,c.d=null;return}return Kr(c,n.toString())}if(o==="string")return(a=n.charCodeAt(0))===45?(n=n.slice(1),c.s=-1):(a===43&&(n=n.slice(1)),c.s=1),Ki.test(n)?Kr(c,n):cl(c,n);if(o==="bigint")return n<0?(n=-n,c.s=-1):c.s=1,Kr(c,n.toString());throw Error(xt+n)}if(r.prototype=B,r.ROUND_UP=0,r.ROUND_DOWN=1,r.ROUND_CEIL=2,r.ROUND_FLOOR=3,r.ROUND_HALF_UP=4,r.ROUND_HALF_DOWN=5,r.ROUND_HALF_EVEN=6,r.ROUND_HALF_CEIL=7,r.ROUND_HALF_FLOOR=8,r.EUCLID=9,r.config=r.set=pl,r.clone=to,r.isDecimal=Za,r.abs=fl,r.acos=ml,r.acosh=hl,r.add=gl,r.asin=dl,r.asinh=Cl,r.atan=_l,r.atanh=Al,r.atan2=El,r.cbrt=bl,r.ceil=yl,r.clamp=Rl,r.cos=Nl,r.cosh=Vl,r.div=Ol,r.exp=Ml,r.floor=Sl,r.hypot=Dl,r.ln=wl,r.log=Ll,r.log10=Pl,r.log2=xl,r.max=jl,r.min=Ul,r.mod=vl,r.mul=Tl,r.pow=Il,r.random=Fl,r.round=Bl,r.sign=kl,r.sin=$l,r.sinh=Yl,r.sqrt=Hl,r.sub=Gl,r.sum=Wl,r.tan=Ql,r.tanh=ql,r.trunc=Kl,i===void 0&&(i={}),i&&i.defaults!==!0)for(t=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],u=0;u<t.length;)i.hasOwnProperty(e=t[u++])||(i[e]=this[e]);return r.config(i),r}function Ol(i,u){return new this(i).div(u)}function Ml(i){return new this(i).exp()}function Sl(i){return ee(i=new this(i),i.e+1,3)}function Dl(){var i,u,e=new this(0);for(oe=!1,i=0;i<arguments.length;)if(u=new this(arguments[i++]),u.d)e.d&&(e=e.plus(u.times(u)));else{if(u.s)return oe=!0,new this(1/0);e=u}return oe=!0,e.sqrt()}function Za(i){return i instanceof P||i&&i.toStringTag===qi||!1}function wl(i){return new this(i).ln()}function Ll(i,u){return new this(i).log(u)}function xl(i){return new this(i).log(2)}function Pl(i){return new this(i).log(10)}function jl(){return zi(this,arguments,-1)}function Ul(){return zi(this,arguments,1)}function vl(i,u){return new this(i).mod(u)}function Tl(i,u){return new this(i).mul(u)}function Il(i,u){return new this(i).pow(u)}function Fl(i){var u,e,t,r,n=0,s=new this(1),a=[];if(i===void 0?i=this.precision:Be(i,1,Ut),t=Math.ceil(i/re),this.crypto)if(crypto.getRandomValues)for(u=crypto.getRandomValues(new Uint32Array(t));n<t;)r=u[n],r>=429e7?u[n]=crypto.getRandomValues(new Uint32Array(1))[0]:a[n++]=r%1e7;else if(crypto.randomBytes){for(u=crypto.randomBytes(t*=4);n<t;)r=u[n]+(u[n+1]<<8)+(u[n+2]<<16)+((u[n+3]&127)<<24),r>=214e7?crypto.randomBytes(4).copy(u,n):(a.push(r%1e7),n+=4);n=t/4}else throw Error(Qi);else for(;n<t;)a[n++]=Math.random()*1e7|0;for(t=a[--n],i%=re,t&&i&&(r=Se(10,re-i),a[n]=(t/r|0)*r);a[n]===0;n--)a.pop();if(n<0)e=0,a=[0];else{for(e=-1;a[0]===0;e-=re)a.shift();for(t=1,r=a[0];r>=10;r/=10)t++;t<re&&(e-=re-t)}return s.e=e,s.d=a,s}function Bl(i){return ee(i=new this(i),i.e+1,this.rounding)}function kl(i){return i=new this(i),i.d?i.d[0]?i.s:0*i.s:i.s||NaN}function $l(i){return new this(i).sin()}function Yl(i){return new this(i).sinh()}function Hl(i){return new this(i).sqrt()}function Gl(i,u){return new this(i).sub(u)}function Wl(){var i=0,u=arguments,e=new this(u[i]);for(oe=!1;e.s&&++i<u.length;)e=e.plus(u[i]);return oe=!0,ee(e,this.precision,this.rounding)}function Ql(i){return new this(i).tan()}function ql(i){return new this(i).tanh()}function Kl(i){return ee(i=new this(i),i.e+1,1)}B[Symbol.for("nodejs.util.inspect.custom")]=B.toString;B[Symbol.toStringTag]="Decimal";var P=B.constructor=to(Vs);an=new P(an);on=new P(on);function Xl(i,u){const e=i+u;return Number.isSafeInteger(e)?e:new P(i).add(u).toNumber()}function Zl(i,u){const e=i-u;return Number.isSafeInteger(e)?e:new P(i).sub(u).toNumber()}function lr(i,u){const e=i*u;return Number.isSafeInteger(e)?e:new P(i).mul(u).toNumber()}function zl(i,u){const e=i/u;return Number.isSafeInteger(e)?e:new P(i).div(u).toNumber()}function Dt(i,u){const e=10**Math.trunc(u),t=Tn(i,e);return Math.round(lr(i,e)+t)/e}function He(i,u){const e=10**Math.trunc(u),t=Tn(i,e);return Math.floor(lr(i,e)+t)/e}function Fe(i,u){const e=10**Math.trunc(u),t=Tn(i,e);return Math.ceil(lr(i,e)-t)/e}function Tn(i,u){return Number.EPSILON*Math.max(1,Math.abs(lr(i,u)))}function za(i,u){return i-u*Math.floor(i/u)}function Jl(i,u){return i**u}function ef(i){return Math.sqrt(i)}function Ja(i,u){return i===u}function tf(i,u){return i>u}function rf(i,u){return i>=u}function nf(i,u){return i<u}function sf(i,u){return i<=u}function Ss(i,u=15){return Math.floor(Math.abs(i)).toString().length>=u?i:Number.parseFloat(i.toPrecision(u))}function af(i,u,e=Number.EPSILON){return Math.abs(i-u)<e}function In(i,u=12,e=1e-10){const t=Ss(i,u);return af(i,t,e)?t:Ss(i)}function of(i){return i-Math.trunc(i)}const Nn=class Nn extends Et{static create(){return this._instance=this._instance||new Nn(0),this._instance}isNull(){return!0}plus(u){return R.create(0).plus(u)}minus(u){return R.create(0).minus(u)}multiply(u){return R.create(0).multiply(u)}divided(u){return R.create(0).divided(u)}mod(u){return R.create(0).mod(u)}compare(u,e){return u.isString()?j.create("").compare(u,e):u.isBoolean()?I.create(!1).compare(u,e):R.create(0).compare(u,e)}concatenateFront(u){return u.isArray()?u.concatenateBack(j.create("")):j.create(this.concatenate(u.getValue(),tt.FRONT))}concatenateBack(u){return u.isArray()?u.concatenateFront(j.create("")):j.create(this.concatenate(u.getValue(),tt.BACK))}plusBy(u){return R.create(0).plusBy(u)}minusBy(u){return R.create(0).minusBy(u)}multiplyBy(u){return R.create(0).multiplyBy(u)}dividedBy(u){return R.create(0).dividedBy(u)}compareBy(u,e){return typeof u=="string"?j.create("").compareBy(u,e):typeof u=="boolean"?I.create(!1).compareBy(u,e):R.create(0).compareBy(u,e)}pow(u){return R.create(0).pow(u)}sqrt(){return R.create(0).sqrt()}cbrt(){return R.create(0).cbrt()}cos(){return R.create(0).cos()}cosh(){return R.create(0).cosh()}acos(){return R.create(0).acos()}acosh(){return R.create(0).acosh()}sin(){return R.create(0).sin()}sinh(){return R.create(0).sinh()}asin(){return R.create(0).asin()}asinh(){return R.create(0).asinh()}tan(){return R.create(0).tan()}tanh(){return R.create(0).tanh()}atan(){return R.create(0).atan()}atan2(u){return R.create(0).atan2(u)}atanh(){return R.create(0).atanh()}log(){return g.create(h.NUM)}log10(){return g.create(h.NUM)}exp(){return R.create(0).exp()}abs(){return R.create(0).abs()}round(u){return R.create(0).round(u)}floor(u){return R.create(0).floor(u)}ceil(u){return R.create(0).ceil(u)}convertToNumberObjectValue(){return R.create(0)}convertToBooleanObjectValue(){return I.create(!1)}};A(Nn,"_instance");let ue=Nn;const Bt=class Bt extends Et{constructor(e){super(e);A(this,"_value",!1);this._value=e}static create(e){return e?(this._instanceTrue=this._instanceTrue||new Bt(!0),this._instanceTrue):(this._instanceFalse=this._instanceFalse||new Bt(!1),this._instanceFalse)}getValue(){return this._value}isBoolean(){return!0}getNegative(){const e=this.getValue();let t=0;return e&&(t=1),R.create(-t)}getReciprocal(){return this.getValue()?R.create(1):g.create(h.DIV_BY_ZERO)}plus(e){return this._convertToNumber().plus(e)}minus(e){return this._convertToNumber().minus(e)}multiply(e){return this._convertToNumber().multiply(e)}divided(e){return this._convertToNumber().divided(e)}mod(e){return this._convertToNumber().mod(e)}compare(e,t){return e.isArray()?e.compare(this,Xs(t)):e.isNull()?this._convertToNumber().compare(e,t):this.compareBy(e.getValue(),t)}compareBy(e,t){let r=!1;if(typeof e=="string"||typeof e=="number")r=this._compareString(t);else if(typeof e=="boolean"){const n=R.create(e?1:0);return this._convertToNumber().compare(n,t)}return Bt.create(r)}_compareString(e){switch(e){case k.GREATER_THAN:case k.GREATER_THAN_OR_EQUAL:return!0;case k.EQUALS:case k.LESS_THAN:case k.LESS_THAN_OR_EQUAL:case k.NOT_EQUAL:return!1}}concatenateFront(e){return this._convertToNumber().concatenateFront(e)}concatenateBack(e){return this._convertToNumber().concatenateBack(e)}_convertToNumber(){const e=this.getValue();let t=0;return e&&(t=1),R.create(t)}pow(e){return this._convertToNumber().pow(e)}sqrt(){return this._convertToNumber().sqrt()}cbrt(){return this._convertToNumber().cbrt()}cos(){return this._convertToNumber().cos()}cosh(){return this._convertToNumber().cosh()}acos(){return this._convertToNumber().acos()}acosh(){return this._convertToNumber().acosh()}sin(){return this._convertToNumber().sin()}sinh(){return this._convertToNumber().sinh()}asin(){return this._convertToNumber().asin()}asinh(){return this._convertToNumber().asinh()}tan(){return this._convertToNumber().tan()}tanh(){return this._convertToNumber().tanh()}atan(){return this._convertToNumber().atan()}atan2(e){return this._convertToNumber().atan2(e)}atanh(){return this._convertToNumber().atanh()}log(){return this._convertToNumber().log()}log10(){return this._convertToNumber().log10()}exp(){return this._convertToNumber().exp()}abs(){return this._convertToNumber().abs()}round(e){return this._convertToNumber().round(e)}floor(e){return this._convertToNumber().floor(e)}ceil(e){return this._convertToNumber().ceil(e)}convertToNumberObjectValue(){return Er(this.getValue())}convertToBooleanObjectValue(){return this}};A(Bt,"_instanceTrue"),A(Bt,"_instanceFalse");let I=Bt;class R extends Et{constructor(e){super(e);A(this,"_value",0);this._value=Number(e)}static create(e,t=""){const r=new R(e);return t&&r.setPattern(t),r}getValue(){return this._value}setValue(e){this._value=e}isNumber(){return!0}getNegative(){return R.create(0).minus(this)}getReciprocal(){return R.create(1).divided(this)}plus(e){if(e.isArray())return e.plus(this);let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let r=this.plusBy(t.getValue());if(r.isError())return r;const n=Ir(this.getPattern(),t.getPattern(),X.PLUS);return r=R.create(Number(r.getValue()),n),r}equalZero(){return this._value===0}minus(e){if(e.isArray()){const s=e.getNegative();return s.isError()?s:s.plus(this)}let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let r=this.minusBy(t.getValue());if(r.isError())return r;const n=Ir(this.getPattern(),t.getPattern(),X.MINUS);return r=R.create(Number(r.getValue()),n),r}multiply(e){if(e.isArray())return e.multiply(this);let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let r=this.multiplyBy(t.getValue());if(r.isError())return r;const n=Ir(this.getPattern(),t.getPattern(),X.MULTIPLY);return r=R.create(Number(r.getValue()),n),r}divided(e){if(e.isArray()){const s=e.getReciprocal();return s.isError()?s:s.multiply(this)}let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let r=this.dividedBy(t.getValue());if(r.isError())return r;const n=Ir(this.getPattern(),t.getPattern(),X.DIVIDED);return r=R.create(Number(r.getValue()),n),r}mod(e){if(e.isArray())return e.modInverse(this);const t=this.getValue(),r=e.getValue();if(e.isNull())return g.create(h.DIV_BY_ZERO);if(typeof r=="string")return g.create(h.VALUE);if(typeof r=="number"){if(r===0)return g.create(h.DIV_BY_ZERO);if(!Number.isFinite(t)||!Number.isFinite(r)||Math.abs(r)*11259e8<=Math.abs(t))return g.create(h.NUM);const n=za(t,r);return Number.isFinite(n)?R.create(n):g.create(h.NUM)}if(typeof r=="boolean"){const n=r?1:0;return n===0?g.create(h.DIV_BY_ZERO):R.create(za(t,n))}return this}concatenateFront(e){return e.isArray()?e.concatenateBack(this):j.create(this.concatenate(e.getValue(),tt.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):j.create(this.concatenate(e.getValue(),tt.BACK))}compare(e,t){return e.isArray()?e.compare(this,Xs(t)):this.compareBy(e.getValue(),t)}plusBy(e){if(typeof e=="string"&&e.trim()==="")return g.create(h.VALUE);const t=+this.getValue(),r=+e;if(Number.isNaN(t)||Number.isNaN(r))return g.create(h.VALUE);if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=Xl(t,r);return Number.isFinite(n)?R.create(n):g.create(h.NUM)}minusBy(e){if(typeof e=="string"&&e.trim()==="")return g.create(h.VALUE);const t=+this.getValue(),r=+e;if(Number.isNaN(t)||Number.isNaN(r))return g.create(h.VALUE);if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=Zl(t,r);return Number.isFinite(n)?R.create(n):g.create(h.NUM)}multiplyBy(e){if(typeof e=="string"&&e.trim()==="")return g.create(h.VALUE);const t=+this.getValue(),r=+e;if(Number.isNaN(t)||Number.isNaN(r))return g.create(h.VALUE);if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=lr(t,r);return Number.isFinite(n)?R.create(n):g.create(h.NUM)}dividedBy(e){if(typeof e=="string"&&e.trim()==="")return g.create(h.VALUE);const t=+this.getValue(),r=+e;if(Number.isNaN(t)||Number.isNaN(r))return g.create(h.VALUE);if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);if(r===0)return g.create(h.DIV_BY_ZERO);const n=zl(t,r);return Number.isFinite(n)?R.create(n):g.create(h.NUM)}compareBy(e,t){const r=this.getValue();let n=!1;return typeof e=="string"?n=this._compareString(t):typeof e=="number"?n=this._compareNumber(r,e,t):typeof e=="boolean"&&(n=this._compareBoolean(t)),I.create(n)}_compareString(e){switch(e){case k.EQUALS:case k.GREATER_THAN:case k.GREATER_THAN_OR_EQUAL:return!1;case k.LESS_THAN:case k.LESS_THAN_OR_EQUAL:case k.NOT_EQUAL:return!0}}_compareNumber(e,t,r){return!Number.isFinite(e)||!Number.isFinite(t)?this._compareInfinity(e,t,r):this._compareFiniteNumber(e,t,r)}_compareFiniteNumber(e,t,r){switch(r){case k.EQUALS:return Ja(e,t);case k.GREATER_THAN:return tf(e,t);case k.GREATER_THAN_OR_EQUAL:return rf(e,t);case k.LESS_THAN:return nf(e,t);case k.LESS_THAN_OR_EQUAL:return sf(e,t);case k.NOT_EQUAL:return!Ja(e,t)}}_compareBoolean(e){switch(e){case k.EQUALS:case k.GREATER_THAN:case k.GREATER_THAN_OR_EQUAL:return!1;case k.LESS_THAN:case k.LESS_THAN_OR_EQUAL:case k.NOT_EQUAL:return!0}}pow(e){if(e.isArray())return e.powInverse(this);if(this.isError())return this;const t=this.getValue();let r=e;if(e.isString()&&(r=e.convertToNumberObjectValue()),r.isError())return r;const n=+r.getValue();if(Number.isNaN(n))return g.create(h.VALUE);if(!Number.isFinite(t)||!Number.isFinite(n))return g.create(h.NUM);if(t===0)return n<0?g.create(h.DIV_BY_ZERO):n===0?g.create(h.NUM):R.create(0);const s=Jl(t,n);return Number.isFinite(s)?R.create(s):g.create(h.NUM)}sqrt(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=ef(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}cbrt(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.cbrt(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}cos(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.cos(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}cosh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.cosh(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}acos(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.acos(e);return Number.isNaN(t)?g.create(h.NUM):R.create(t)}acosh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.acosh(e);return Number.isNaN(t)?g.create(h.NUM):R.create(t)}sin(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.sin(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}sinh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.sinh(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}asin(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.asin(e);return Number.isNaN(t)?g.create(h.NUM):R.create(t)}asinh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.asinh(e);return Number.isNaN(t)?g.create(h.NUM):R.create(t)}tan(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.tan(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}tanh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.tanh(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}atan(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.atan(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}atan2(e){if(e.isArray())return e.atan2Inverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return g.create(h.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);if(t===0&&r===0)return g.create(h.DIV_BY_ZERO);const n=Math.atan2(t,r);return Number.isFinite(n)?R.create(n):g.create(h.NUM)}return typeof r=="boolean"?R.create(Math.atan2(t,r?1:0)):this}atanh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.atanh(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}log(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return g.create(h.NUM);const t=Math.log(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}log10(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return g.create(h.NUM);const t=Math.log10(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}exp(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.exp(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}abs(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.abs(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}round(e){if(e.isArray())return e.roundInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return g.create(h.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=t<0?-Dt(Math.abs(t),r):Dt(t,r);return Number.isFinite(n)?R.create(n):g.create(h.NUM)}return typeof r=="boolean"?R.create(Dt(t,r?1:0)):this}floor(e){if(e.isArray())return e.floorInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return g.create(h.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=t<0?-He(Math.abs(t),r):He(t,r);return Number.isFinite(n)?R.create(n):g.create(h.NUM)}return typeof r=="boolean"?R.create(He(t,r?1:0)):this}ceil(e){if(e.isArray())return e.ceilInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return g.create(h.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=t<0?-Fe(Math.abs(t),r):Fe(t,r);return Number.isFinite(n)?R.create(n):g.create(h.NUM)}return typeof r=="boolean"?R.create(Fe(t,r?1:0)):this}convertToNumberObjectValue(){return this}convertToBooleanObjectValue(){return Fn(!0)}_compareInfinity(e,t,r){let n=!1;switch(r){case k.EQUALS:n=e===t;break;case k.GREATER_THAN:n=e>t;break;case k.GREATER_THAN_OR_EQUAL:n=e>=t;break;case k.LESS_THAN:n=e<t;break;case k.LESS_THAN_OR_EQUAL:n=e<=t;break;case k.NOT_EQUAL:n=e!==t;break}return n}}const uf=1e5,Ds=new _t(uf);class j extends Et{constructor(e){super(e);A(this,"_value");A(this,"_isHyperlink",!1);A(this,"_hyperlinkUrl","");this._value=e}static create(e,t){var s;const r=Ds.get(e);if(r&&t&&this.checkCacheByOptions(r,t))return r;const n=new j(e);return t!=null&&t.isHyperlink&&(n._isHyperlink=t.isHyperlink,n._hyperlinkUrl=(s=t.hyperlinkUrl)!=null?s:""),Ds.set(e,n),n}static checkCacheByOptions(e,t){return!(e.isHyperlink()!==t.isHyperlink||e.getHyperlinkUrl()!==t.hyperlinkUrl)}getValue(){return this._value}isString(){return!0}isHyperlink(){return this._isHyperlink}getHyperlinkUrl(){return this._hyperlinkUrl}concatenateFront(e){return e.isArray()?e.concatenateBack(this):j.create(this.concatenate(e.getValue(),tt.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):j.create(this.concatenate(e.getValue(),tt.BACK))}plus(e){return this.convertToNumberObjectValue().plus(e)}minus(e){return this.convertToNumberObjectValue().minus(e)}multiply(e){return this.convertToNumberObjectValue().multiply(e)}divided(e){return this.convertToNumberObjectValue().divided(e)}compare(e,t,r){return e.isArray()?e.compare(this,Xs(t),r):this.compareBy(e.getValue(),t,r)}compareBy(e,t,r=!1){let n=this.getValue(),s=!1;if(typeof e=="string"){let a=e;if(r||(n=n.toLocaleLowerCase(),a=a.toLocaleLowerCase()),el(a))return this._checkWildcard(a,t);s=this._compareString(n,a,t)}else typeof e=="number"?s=this._compareNumber(t):typeof e=="boolean"&&(s=this._compareBoolean(t));return I.create(s)}_compareString(e,t,r){switch(r){case k.EQUALS:return e===t;case k.GREATER_THAN:return e>t;case k.GREATER_THAN_OR_EQUAL:return e>=t;case k.LESS_THAN:return e<t;case k.LESS_THAN_OR_EQUAL:return e<=t;case k.NOT_EQUAL:return e!==t}}_compareNumber(e){switch(e){case k.NOT_EQUAL:case k.GREATER_THAN:case k.GREATER_THAN_OR_EQUAL:return!0;case k.EQUALS:case k.LESS_THAN:case k.LESS_THAN_OR_EQUAL:return!1}}_compareBoolean(e){switch(e){case k.EQUALS:case k.GREATER_THAN:case k.GREATER_THAN_OR_EQUAL:return!1;case k.LESS_THAN:case k.LESS_THAN_OR_EQUAL:case k.NOT_EQUAL:return!0}}convertToNumberObjectValue(){const e=this.getValue(),t=M.getNumfmtParseValueFilter(e);return t&&t.z?Er(t.v,t.z):Er(e)}convertToBooleanObjectValue(){return I.create(!0)}_checkWildcard(e,t){const r=this.getValue().toLocaleLowerCase(),n=tl(r,e,t);return I.create(n)}}function Fn(i){if(typeof i=="boolean")return I.create(i);let u=!1;if(typeof i=="string"){const e=i.toLocaleUpperCase();e===wt.TRUE?u=!0:e===wt.FALSE&&(u=!1)}else i===1?u=!0:u=!1;return I.create(u)}function cf(i){let u=i.toString();return u.charAt(0)==='"'&&u.charAt(u.length-1)==='"'&&(u=u.slice(1,-1),u=u.replace(/""/g,'"')),j.create(u)}function Er(i,u=""){if(typeof i=="boolean"){let e=0;return i&&(e=1),R.create(e,u)}else{if(typeof i=="number")return Number.isFinite(i)?R.create(i,u):g.create(h.NUM);if(M.isRealNum(i))return R.create(Number(i),u)}return g.create(h.VALUE)}function lf(i){return""}function ro(i=[],u=!1){const e=[];for(let t=0;t<i.length;t++){const r=i[t];e[t]==null&&(e[t]=[]);for(let n=0;n<r.length;n++){const s=r[n];e[t][n]=lt.create(s,u)}}return e}function ff(i=[]){const u=[];for(let e=0;e<i.length;e++){const t=i[e];u[e]==null&&(u[e]=[]);for(let r=0;r<t.length;r++){const n=t[r];n==null?u[e][r]=null:n.isError()?u[e][r]=n.getErrorType():u[e][r]=n.getValue()}}return u}class q extends Et{constructor(e){super(typeof e=="string"?e:lf());A(this,"_values",[]);A(this,"_rowCount",-1);A(this,"_columnCount",-1);A(this,"_unitId","");A(this,"_sheetId","");A(this,"_currentRow",-1);A(this,"_currentColumn",-1);A(this,"_sliceCache",new Map);A(this,"_flattenCache");A(this,"_defaultValue",null);A(this,"_flattenPosition");this._values=this._formatValue(e)}static create(e){return new q(e)}static createByArray(e){const r={calculateValueList:ro(e),rowCount:e.length,columnCount:e[0].length||0,unitId:"",sheetId:"",row:-1,column:-1};return new q(r)}dispose(){this._values=[],this._defaultValue=null,this._flattenPosition=null,this._clearCache()}clone(){return this.map(e=>e)}getRowCount(){return this._rowCount}setRowCount(e){this._rowCount=e}getColumnCount(){return this._columnCount}setColumnCount(e){this._columnCount=e}setCurrent(e,t){this._currentRow=e,this._currentColumn=t}setUnitId(e){this._unitId=e}getUnitId(){return this._unitId}setSheetId(e){this._sheetId=e}getSheetId(){return this._sheetId}getCurrentRow(){return this._currentRow}getCurrentColumn(){return this._currentColumn}getArrayValue(){return this._values}setArrayValue(e){this._clearCache(),this._values=e}isArray(){return!0}setDefaultValue(e){this._defaultValue=e}get(e,t){var r;return((r=this._values[e])==null?void 0:r[t])||this._defaultValue}getRealValue(e,t){const r=this._values[e];if(r==null)return null;const n=r[t];return n==null?null:n}getValueOrDefault(e,t){return this.get(e,t)||this._defaultValue}set(e,t,r){if(e>=this._rowCount||t>=this._columnCount)throw new Error("Exceeding array bounds.");this._clearCache(),this._values[e][t]=r}getRangePosition(){const t=this.getRowCount(),r=0,n=this.getColumnCount();return{startRow:0,endRow:t-1,startColumn:r,endColumn:n-1}}iterator(e){var o;const{startRow:t,endRow:r,startColumn:n,endColumn:s}=this.getRangePosition(),a=this.getArrayValue();for(let c=t;c<=r;c++)for(let l=n;l<=s;l++)if(e(((o=a[c])==null?void 0:o[l])||this._defaultValue,c,l)===!1)return}iteratorReverse(e){var o;const{startRow:t,endRow:r,startColumn:n,endColumn:s}=this.getRangePosition(),a=this.getArrayValue();for(let c=r;c>=t;c--)for(let l=s;l>=n;l--)if(e(((o=a[c])==null?void 0:o[l])||this._defaultValue,c,l)===!1)return}getLastTruePosition(){let e;return this.iteratorReverse((t,r,n)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:r,column:n},!1}),e}getFirstTruePosition(){let e;return this.iterator((t,r,n)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:r,column:n},!1}),e}getFirstCell(){const{startRow:e,startColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||ue.create()}getLastCell(){const{endRow:e,endColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||ue.create()}pick(e){const t=this.pickRaw(e);return this._createNewArray(t,1,t[0].length)}pickRaw(e){const t=e.getRowCount(),r=e.getColumnCount();if(t!==this._rowCount||r!==this._columnCount)return[[ue.create()]];const n=[];n[0]=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.get(s,a);if(!(o==null||o.isError())&&o.getValue()===!0){const c=this.get(s,a);n[0].push(c)}}return n}flatten(){if(this._flattenCache!=null)return this._flattenCache;const e=[];e[0]=[];for(let r=0;r<this._rowCount;r++)for(let n=0;n<this._columnCount;n++){const s=this.get(r,n);e[0].push(s)}const t=this._createNewArray(e,1,e[0].length);return t.setDefaultValue(this._defaultValue),this._flattenCache=t,t}flattenPosition(){if(this._flattenPosition!=null)return this._flattenPosition;const e=[],t=[],r=[],n=[];let s=0;for(let o=0;o<this._rowCount;o++)for(let c=0;c<this._columnCount;c++){const l=this.get(o,c);if(l==null||l.isError()||l.isNull()){s++;continue}l.isString()?(e.push(l),r.push(s++)):(t.push(l),n.push(s++))}const a={stringArray:e,numberArray:t,stringPosition:r,numberPosition:n};return this._flattenPosition=a,a}slice(e,t){let r=0,n=this._rowCount,s=1,a=0,o=this._columnCount,c=1;if(e!=null&&(r=e[0]||0,n=e[1]||this._rowCount,s=e[2]||1),t!=null&&(a=t[0]||0,o=t[1]||this._columnCount,c=t[2]||1),r>=this._rowCount||a>=this._columnCount)return;const l=`${r}_${n}_${s}_${a}_${o}_${c}`,f=this._sliceCache.get(l);if(f!=null)return f;const m=[],d=this._values;let _=0,C=0;for(let p=r;p<n;p+=s){C=0,m[_]==null&&(m[_]=[]);for(let V=a;V<o;V+=c){if(!d[p])return;let S=d[p][V]||this._defaultValue;S==null&&(S=ue.create()),m[_][C]=S,C++}_++}if(m.length===0||m[0].length===0)return;const E=s>1?-1:r+this._currentRow,b=c>1?-1:a+this._currentColumn,y=this._createNewArray(m,m.length,m[0].length,E,b);return y.setDefaultValue(this._defaultValue),this._sliceCache.set(l,y),y}sortByRow(e){const t=this._transposeArray(this._values);t.sort(this._sort(e)),this._clearCache(),this._values=this._transposeArray(t)}sortByColumn(e){this._clearCache(),this._values.sort(this._sort(e))}transpose(){const e=this._transposeArray(this._values),t=this._rowCount,r=this._columnCount,n=this._createNewArray(e,r,t);return n.setDefaultValue(this._defaultValue),n}orderSearch(e,t=Me.MIN,r=!1,n=!1){let s,a,o,c;const l=(f,m,d)=>{if(f==null)return!0;let _;if(n===!0?_=f.compare(e,k.EQUALS):_=f.isEqual(e),(_==null?void 0:_.getValue())===!0)return s=f,o={row:m,column:d},!1;t===Me.MAX?f.isGreaterThan(e).getValue()===!0&&(a==null||f.minus(e).abs().isLessThanOrEqual(a.minus(e).abs()).getValue()===!0)&&(a=f,c={row:m,column:d}):t===Me.MIN&&f.isLessThan(e).getValue()===!0&&(a==null||f.minus(e).abs().isLessThanOrEqual(a.minus(e).abs()).getValue()===!0)&&(a=f,c={row:m,column:d})};if(r?this.iteratorReverse((f,m,d)=>l(f,m,d)):this.iterator((f,m,d)=>l(f,m,d)),s!=null)return o;if(a!=null)return c}binarySearch(e,t=It.MIN,r=Me.MIN){if(e.isError())return;const{stringArray:n,stringPosition:s,numberArray:a,numberPosition:o}=this.flattenPosition();return e.isString()?this._binarySearch(e,n,s,t,r):this._binarySearch(e,a,o,t,r)}_binarySearch(e,t,r,n=It.MIN,s=Me.MIN){const a=sn(),o=Number(e.getValue()),c=!Number.isNaN(o);let l=0,f=t.length-1,m=-1,d=-1,_=-1;for(;l<=f;){const C=Math.floor((l+f)/2),E=t[C];let b;if(E.isNull())b=n===It.MIN?1:-1;else{const y=E.getValue();if(c){const p=Number(y);b=Number.isNaN(p)?1:Math.sign(p-o)}else b=a(y.toString().toLocaleLowerCase(),e.getValue().toString().toLocaleLowerCase())}if(n===It.MAX&&(b=-b),b===0){m=C;break}b<0?(d=C,l=C+1):(_=C,f=C-1)}if(s===Me.NORMAL)return m!==-1?r[m]:void 0;if(s===Me.MIN)return m!==-1?r[m]:n===It.MIN?r[d]:r[_];if(s===Me.MAX)return m!==-1?r[m]:n===It.MIN?r[_]:r[d]}sum(){let e=R.create(0);return this.iterator(t=>{if(t==null||t.isString()||t.isBoolean()||t.isNull())return!0;if(t.isError())return e=t,!1;e=e.plus(t)}),e}max(){let e=R.create(Number.NEGATIVE_INFINITY);return this.iterator(t=>{if(t==null)return!0;if(t.isError())return e=t,!1;if(t.isString()||t.isNull()||t.isBoolean())return!0;e.isLessThan(t).getValue()&&(e=t)}),e}min(){let e=R.create(Number.POSITIVE_INFINITY);return this.iterator(t=>{if(t==null)return!0;if(t.isError())return e=t,!1;if(t.isString()||t.isNull()||t.isBoolean())return!0;e.isGreaterThan(t).getValue()&&(e=t)}),e}count(){let e=R.create(0);return this.iterator(t=>{if(t==null||t.isError()||t.isString()||t.isNull()||t.isBoolean())return!0;e=e.plusBy(1)}),e}countA(){let e=R.create(0);return this.iterator(t=>{if(t==null||t.isNull())return!0;e=e.plusBy(1)}),e}countBlank(){let e=R.create(0);return this.iterator(t=>{(t==null||t.isNull()||t.getValue()==="")&&(e=e.plusBy(1))}),e}getNegative(){return q.create("{0}").minus(this)}getReciprocal(){return q.create("{1}").divided(this)}plus(e){return this._batchOperator(e,1)}minus(e){return this._batchOperator(e,0)}multiply(e){return this._batchOperator(e,2)}divided(e){return this._batchOperator(e,3)}mod(e){return this._batchOperator(e,4)}modInverse(e){return this.map(t=>t.isError()?t:e.mod(t))}compare(e,t,r){return this._batchOperator(e,5,t,r)}concatenateFront(e){return this._batchOperator(e,6)}concatenateBack(e){return this._batchOperator(e,7)}map(e){const t=(r,n,s)=>r==null?ue.create():r.isError()?r:e(r,n,s);return this.mapValue(t)}mapValue(e){var s;const t=this._rowCount,r=this._columnCount,n=[];for(let a=0;a<t;a++){const o=[];for(let c=0;c<r;c++){const l=(s=this._values)==null?void 0:s[a];if(l==null)o[c]=g.create(h.VALUE);else{const f=l[c]||this._defaultValue;f?o[c]=e(f,a,c):o[c]=ue.create()}}n.push(o)}return this._createNewArray(n,t,r)}pow(e){return this._batchOperator(e,8)}powInverse(e){return this.map(t=>t.isError()?t:e.pow(t))}sqrt(){return this.map(e=>e.isError()?e:e.sqrt())}cbrt(){return this.map(e=>e.isError()?e:e.cbrt())}cos(){return this.map(e=>e.isError()?e:e.cos())}cosh(){return this.map(e=>e.isError()?e:e.cosh())}acos(){return this.map(e=>e.isError()?e:e.acos())}acosh(){return this.map(e=>e.isError()?e:e.acosh())}sin(){return this.map(e=>e.isError()?e:e.sin())}sinh(){return this.map(e=>e.isError()?e:e.sinh())}asin(){return this.map(e=>e.isError()?e:e.asin())}asinh(){return this.map(e=>e.isError()?e:e.asinh())}tan(){return this.map(e=>e.isError()?e:e.tan())}tanh(){return this.map(e=>e.isError()?e:e.tanh())}atan(){return this.map(e=>e.isError()?e:e.atan())}atanh(){return this.map(e=>e.isError()?e:e.atanh())}atan2(e){return this._batchOperator(e,12)}atan2Inverse(e){return this.map(t=>t.isError()?t:e.atan2(t))}mean(e=0){const t=this.sum(),r=this.count();return t.divided(e===0?r:r.minusBy(1))}median(){const e=this.flattenPosition().numberArray,t=this._createNewArray([e],1,e.length),r=t.getColumnCount();if(r<=1)return t.get(0,0)||ue.create();if(t.sortByRow(0),r%2===0){const n=t.get(0,r/2)||ue.create(),s=t.get(0,r/2-1)||ue.create();return n.plus(s).divided(R.create(2))}return t.get(0,(r-1)/2)||ue.create()}var(e=0){const t=this.mean(),r=[[]];this.iterator(l=>{if(l==null||l.isError()||l.isString()||l.isBoolean()||l.isNull())return;const f=l.minus(t).pow(R.create(2));f.isError()||r[0].push(f)});const{_unitId:n,_sheetId:s,_currentRow:a,_currentColumn:o}=this;return q.create({calculateValueList:r,rowCount:1,columnCount:r[0].length,unitId:n,sheetId:s,row:a,column:o}).mean(e)}std(e=0){const t=this.var(e);return t.isError()?t:t.sqrt()}log(){return this.map(e=>e.isError()?e:e.log())}log10(){return this.map(e=>e.isError()?e:e.log10())}exp(){return this.map(e=>e.isError()?e:e.exp())}abs(){return this.map(e=>e.isError()?e:e.abs())}round(e){return this._batchOperator(e,9)}roundInverse(e){return this.map(t=>t.isError()?t:e.round(t))}floor(e){return this._batchOperator(e,10)}floorInverse(e){return this.map(t=>t.isError()?t:e.floor(t))}ceil(e){return this._batchOperator(e,11)}ceilInverse(e){return this.map(t=>t.isError()?t:e.ceil(t))}toValue(){return ff(this._values)}_clearCache(){this._flattenCache=null,this._sliceCache.clear()}_sort(e){const t=sn();return(r,n)=>{const s=r[e],a=n[e];return s==null?1:a==null?-1:s.isError()&&s.isError()?0:s.isError()?1:a.isError()?-1:t(s.getValue(),a.getValue())}}_transposeArray(e){const t=e.length,r=e[0].length,n=[];for(let s=0;s<r;s++){n[s]=[];for(let a=0;a<t;a++)n[s][a]=e[a][s]}return n}_batchOperator(e,t,r,n){const s=[];let a=this._rowCount,o=this._columnCount;if(e.isArray()){const f=e.getRowCount(),m=e.getColumnCount();if(a=Math.max(f,a),o=Math.max(m,o),f===1&&m===1){const d=e.getFirstCell();for(let _=0;_<o;_++)s.push(d)}else if(f===1&&this._columnCount>1){const d=e.getArrayValue();for(let _=0;_<o;_++)s.push(d[0][_])}else return this._batchOperatorArray(e,t,r,n)}else for(let f=0;f<o;f++)s.push(e);const c=[];for(let f=0;f<o;f++){const m=s[f];this._batchOperatorValue(m,f,c,t,r,n)}const l=this._createNewArray(c,a,o);return l.setDefaultValue(I.create(!1)),l}_batchOperatorValue(e,t,r,n,s,a){const o=this._rowCount,c=this.getUnitId(),l=this.getSheetId(),f=this.getCurrentRow(),m=this.getCurrentColumn();if(n===5){const{rowsInCache:d,rowsNotInCache:_}=Ye.canUseCache(c,l,t+m,f,f+o-1);if(d.length>0){if(s===k.EQUALS){const C=Ye.getCellPositions(c,l,t+m,e.getValue(),d);C!=null&&C.forEach(E=>{if(E<f||E>f+o-1)return;const b=E-f;r[b]==null&&(r[b]=[]),r[b][t]=I.create(!0)})}else{const C=Ye.getCellValuePositions(c,l,t+m);C!=null&&C.forEach((E,b)=>{let y=ue.create();jt.has(b)?y=g.create(b):typeof b=="string"?y=j.create(b):typeof b=="number"?y=R.create(b):typeof b=="boolean"&&(y=I.create(b));let p;y.isError()?p=y:e.isError()?p=e:p=y.compare(e,s,a),(p.isError()||p.getValue()===!0)&&E.forEach(V=>{V>=f&&V<=f+o-1&&(r[V-f]==null&&(r[V-f]=[]),r[V-f][t]=p)})})}if(_.length>0)for(const C of _){const[E,b]=C;for(let y=E;y<=b;y++)this.__batchOperatorRowValue(e,t,r,n,y-f,c,l,f,m,s,a);Ye.setContinueBuildingCache(c,l,t+m,E,b)}return}}for(let d=0;d<o;d++)this.__batchOperatorRowValue(e,t,r,n,d,c,l,f,m,s,a);Ye.setContinueBuildingCache(c,l,t+m,f,f+o-1)}__batchOperatorRowValue(e,t,r,n,s,a,o,c,l,f,m){const d=this.getValueOrDefault(s,t);if(r[s]==null&&(r[s]=[]),d&&e)if(d.isError())r[s][t]=d;else if(e.isError())r[s][t]=e;else switch(n){case 1:r[s][t]=d.plus(e);break;case 0:r[s][t]=d.minus(e);break;case 2:r[s][t]=d.multiply(e);break;case 3:r[s][t]=d.divided(e);break;case 4:r[s][t]=d.mod(e);break;case 5:f?r[s][t]=d.compare(e,f,m):r[s][t]=g.create(h.VALUE);break;case 6:r[s][t]=d.concatenateFront(e);break;case 7:r[s][t]=d.concatenateBack(e);break;case 8:r[s][t]=d.pow(e);break;case 9:r[s][t]=d.round(e);break;case 10:r[s][t]=d.floor(e);break;case 12:r[s][t]=d.atan2(e);break;case 11:r[s][t]=d.ceil(e);break}else r[s][t]=g.create(h.NA);d!=null&&(d.isError()?Ye.set(a,o,t+l,d.getErrorType(),s+c):Ye.set(a,o,t+l,d.getValue(),s+c))}_batchOperatorArray(e,t,r,n){let s=e.getRowCount(),a=e.getColumnCount();s<this._rowCount&&(s=this._rowCount),a<this._columnCount&&(a=this._columnCount);const o=[],c=this._checkArrayCalculateType(this),l=this._checkArrayCalculateType(e);for(let f=0;f<s;f++){const m=[];for(let d=0;d<a;d++){let _;c===3?_=this.getValueOrDefault(0,0):c===1?_=this.getValueOrDefault(0,d):c===2?_=this.getValueOrDefault(f,0):_=this.getValueOrDefault(f,d);let C;if(l===3?C=e.getValueOrDefault(0,0):l===1?C=e.getValueOrDefault(0,d):l===2?C=e.getValueOrDefault(f,0):C=e.getValueOrDefault(f,d),_&&C)if(_.isError())m[d]=_;else if(C.isError())m[d]=C;else switch(t){case 1:m[d]=_.plus(C);break;case 0:m[d]=_.minus(C);break;case 2:m[d]=_.multiply(C);break;case 3:m[d]=_.divided(C);break;case 4:m[d]=_.mod(C);break;case 5:r?m[d]=_.compare(C,r,n):m[d]=g.create(h.VALUE);break;case 6:m[d]=_.concatenateFront(C);break;case 7:m[d]=_.concatenateBack(C);break;case 8:m[d]=_.pow(C);break;case 9:m[d]=_.round(C);break;case 12:m[d]=_.atan2(C);break;case 10:m[d]=_.floor(C);break;case 11:m[d]=_.ceil(C);break}else m[d]=g.create(h.NA)}o.push(m)}return this._createNewArray(o,s,a)}_checkArrayCalculateType(e){return e.getRowCount()===1&&e.getColumnCount()===1?3:e.getRowCount()===1?1:e.getColumnCount()===1?2:0}_formatValue(e){if(typeof e!="string")return e=e,this._rowCount=e.rowCount,this._columnCount=e.columnCount,this._unitId=e.unitId,this._sheetId=e.sheetId,this._currentRow=e.row,this._currentColumn=e.column,e.calculateValueList;e=e.slice(1,-1);const t=e.split(";"),r=t.length,n=[];let s=0;for(let a=0;a<r;a++){const c=t[a].split(","),l=c.length;s<l&&(s=l);const f=[];for(let m=0;m<l;m++){const d=c[m].trim();f.push(lt.create(d))}n.push(f)}return this._rowCount=r,this._columnCount=s,n}_createNewArray(e,t,r,n=-1,s=-1){(this._currentColumn===-1||this._currentRow===-1)&&(n=-1,s=-1);const a={calculateValueList:e,rowCount:t,columnCount:r,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:n,column:s};return q.create(a)}}class lt{static create(u,e=!1){if(u==null)return ue.create();if(typeof u=="boolean")return I.create(u);if(typeof u=="string"){const t=u.toLocaleUpperCase().trim();if(jt.has(t))return g.create(t);if(t===wt.TRUE||t===wt.FALSE)return Fn(u);if(M.isRealNum(u))return R.create(Number(u));if(!e){const{isNumberPattern:n,value:s,pattern:a}=Kc(u);if(n)return R.create(s,a)}const r=u.replace(/\n/g,"").replace(/\r/g,"");return!mf(r)&&mc(r)?q.create(r):cf(u)}return typeof u=="number"?Er(u):g.create(h.VALUE)}}function mf(i){const u=i.trim();return u.startsWith('"')&&u.endsWith('"')}const hf=1e4,cn=new _t(hf);class Vr extends Pn{constructor(e){super();A(this,"_forcedSheetId","");A(this,"_forcedSheetName","");A(this,"_defaultSheetId","");A(this,"_rangeData",{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1});A(this,"_unitData",{});A(this,"_unitStylesData",{});A(this,"_filteredOutRows",[]);A(this,"_defaultUnitId","");A(this,"_forcedUnitId","");A(this,"_runtimeData",{});A(this,"_arrayFormulaCellData",{});A(this,"_runtimeArrayFormulaCellData",{});A(this,"_runtimeFeatureCellData",{});A(this,"_refOffsetX",0);A(this,"_refOffsetY",0);this._token=e}dispose(){this._unitData={},this._unitStylesData={},this._runtimeData={}}getToken(){return this._token}setToken(e){this._token=e}isExceedRange(){const{startRow:e,endRow:t,startColumn:r,endColumn:n}=this.getRangePosition();return e<0||r<0||t>=this.getActiveSheetRowCount()||n>=this.getActiveSheetColumnCount()}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}getRangePosition(){let{startRow:e,startColumn:t,endRow:r,endColumn:n}=M.moveRangeByOffset(this._rangeData,this._refOffsetX,this._refOffsetY);return Number.isNaN(e)&&(e=0),Number.isNaN(t)&&(t=0),Number.isNaN(r)&&(r=this.getActiveSheetRowCount()-1),Number.isNaN(n)&&(n=this.getActiveSheetColumnCount()-1),{...this._rangeData,startRow:e,endRow:r,startColumn:t,endColumn:n}}isReferenceObject(){return!0}iterator(e){const{startRow:t,endRow:r,startColumn:n,endColumn:s}=this.getRangePosition();if(this._checkIfWorksheetMiss())return e(g.create(h.VALUE),t,n);const a=this._forcedUnitId||this._defaultUnitId,o=this._forcedSheetId||this._defaultSheetId;for(let c=t;c<=r;c++)for(let l=n;l<=s;l++){if(c<0||l<0)return e(g.create(h.REF),c,l);const f=this.getCellData(c,l);let m=!1;if(Qr(f)){m=e(null,c,l);continue}let d=this.getCellValueObject(f);if(c===t&&l===n){const _=this.getCellPattern(a,o,c,l);if(_&&d.isNumber()){const C=Number(d.getValue());d=R.create(C,_)}}if(m=e(d,c,l),m===!1)return}}getFirstCell(){if(this._checkIfWorksheetMiss())return g.create(h.VALUE);const{startRow:e,startColumn:t}=this.getRangePosition(),r=this.getCellData(e,t);if(!r)return R.create(0);let n=this.getCellValueObject(r);const s=this._forcedUnitId||this._defaultUnitId,a=this._forcedSheetId||this._defaultSheetId,o=this.getCellPattern(s,a,e,t);if(o&&n.isNumber()){const c=Number(n.getValue());n=R.create(c,o)}return n}getRangeData(){return this._rangeData}setRangeData(e){this._rangeData=e}getUnitId(){return this._forcedUnitId&&this._forcedUnitId.length>0?this._forcedUnitId:this._defaultUnitId}getSheetId(){return this._forcedSheetId&&this._forcedSheetId.length>0?this._forcedSheetId:this._defaultSheetId}setForcedUnitIdDirect(e){e.length>0&&(this._forcedUnitId=e)}getForcedUnitId(){return this._forcedUnitId}setForcedSheetId(e){var t;this._forcedSheetId=(t=e[this.getUnitId()])==null?void 0:t[this._forcedSheetName]}setForcedSheetIdDirect(e){this._forcedSheetId=e}getForcedSheetId(){return this._forcedSheetId}setForcedSheetName(e){e.length>0&&(this._forcedSheetName=e)}getForcedSheetName(){return this._forcedSheetName}setDefaultSheetId(e){this._defaultSheetId=e}getDefaultSheetId(){return this._defaultSheetId}setDefaultUnitId(e){this._defaultUnitId=e}getDefaultUnitId(){return this._defaultUnitId}getUnitData(){return this._unitData}setUnitData(e){this._unitData=e}getUnitStylesData(){return this._unitStylesData}setUnitStylesData(e){this._unitStylesData=e}getFilteredOutRows(){return this._filteredOutRows}setFilteredOutRows(e){this._filteredOutRows=e}getRuntimeData(){return this._runtimeData}setRuntimeData(e){this._runtimeData=e}getArrayFormulaCellData(){return this._arrayFormulaCellData}setArrayFormulaCellData(e){this._arrayFormulaCellData=e}getRuntimeArrayFormulaCellData(){return this._runtimeArrayFormulaCellData}setRuntimeArrayFormulaCellData(e){this._runtimeArrayFormulaCellData=e}getRuntimeFeatureCellData(){return this._runtimeFeatureCellData}setRuntimeFeatureCellData(e){this._runtimeFeatureCellData=e}getActiveSheetRowCount(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.rowCount)||0}getActiveSheetColumnCount(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.columnCount)||0}getRowCount(){return this._rangeData.endRow-this._rangeData.startRow+1}getColumnCount(){return this._rangeData.endColumn-this._rangeData.startColumn+1}getRowData(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.rowData)||{}}getColumnData(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.columnData)||{}}isCell(){return!1}isColumn(){return!1}isRow(){return!1}isRange(){return!1}isTable(){return!1}unionBy(e){return g.create(h.REF)}unionRange(e,t){return{startRow:-1,startColumn:-1,endRow:-1,endColumn:-1}}getCellValueObject(e){const t=zc(e);if(jt.has(t))return g.create(t);if(e.t===M.CellValueType.NUMBER){const r=this._getPatternByCell(e);return M.isTextFormat(r)?j.create(t.toString()):Er(t,r)}return e.t===M.CellValueType.STRING||e.t===M.CellValueType.FORCE_STRING?j.create(t.toString()):e.t===M.CellValueType.BOOLEAN?Fn(t):lt.create(t)}_getPatternByCell(e){var n;const t=this._unitStylesData[this.getUnitId()];if(!t)return"";const r=t.getStyleByCell(e);return((n=r==null?void 0:r.n)==null?void 0:n.pattern)||""}getCellByRow(e){return this.getCellByPosition(e)}getCellByColumn(e){return this.getCellByPosition(void 0,e)}getCurrentActiveSheetData(){var e;return(e=this._unitData[this.getUnitId()])==null?void 0:e[this.getSheetId()]}getCurrentStylesData(){return this._unitStylesData[this.getUnitId()]}getCurrentRuntimeSheetData(){var e,t;return(t=(e=this._runtimeData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCurrentActiveArrayFormulaCellData(){var e,t;return(t=(e=this._arrayFormulaCellData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCurrentRuntimeActiveArrayFormulaCellData(){var e,t;return(t=(e=this._runtimeArrayFormulaCellData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCellData(e,t){const r=this.getCurrentActiveSheetData(),n=this.getCurrentRuntimeSheetData(),s=this.getCurrentActiveArrayFormulaCellData(),a=this.getCurrentRuntimeActiveArrayFormulaCellData();return(n==null?void 0:n.getValue(e,t))||(a==null?void 0:a.getValue(e,t))||this.getRuntimeFeatureCellValue(e,t)||(s==null?void 0:s.getValue(e,t))||(r==null?void 0:r.cellData.getValue(e,t))}getRuntimeFeatureCellValue(e,t){return Hi(e,t,this.getSheetId(),this.getUnitId(),this._runtimeFeatureCellData)}getCellByPosition(e,t){let r=e,n=t;r||(r=this._rangeData.startRow),n||(n=this._rangeData.startColumn);const s=this.getCellData(r,n);return s?this.getCellValueObject(s):g.create(h.VALUE)}getCellPattern(e,t,r,n){var c,l,f,m;const s=this._unitStylesData[e];if(!s)return"";const a=(f=(l=(c=this._unitData[e])==null?void 0:c[t])==null?void 0:l.cellData)==null?void 0:f.getValue(r,n);if(!a)return"";const o=s.getStyleByCell(a);return((m=o==null?void 0:o.n)==null?void 0:m.pattern)||""}toArrayValueObject(e=!0){var _;const{startRow:t,endRow:r,startColumn:n,endColumn:s}=this.getRangePosition(),a=`${this.getUnitId()}_${this.getSheetId()}_${t}_${r}_${n}_${s}`,o=cn.get(a);if(o&&e)return o;const c=r-t+1,l=s-n+1;if(c<0||l<0)return this._getBlankArrayValueObject();const f=new Array(c);this.iterator((C,E,b)=>{const y=E-t,p=b-n;f[y]||(f[y]=new Array(l)),C==null&&(C=ue.create()),f[y][p]=C});const m={calculateValueList:f,rowCount:f.length,columnCount:((_=f[0])==null?void 0:_.length)||0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:t,column:n},d=q.create(m);return e&&cn.set(a,d),d}toUnitRange(){return{range:this.getRangePosition(),sheetId:this.getSheetId(),unitId:this.getUnitId()}}_checkIfWorksheetMiss(){return(this._forcedSheetId==null||this._forcedSheetId.length===0)&&this._forcedSheetName.length>0}_getBlankArrayValueObject(){const e={calculateValueList:[],rowCount:0,columnCount:0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:0,column:0};return q.create(e)}}class no extends Pn{constructor(u){super(),this._promise=u}isAsyncObject(){return!0}async getValue(){return this._promise}}class so extends Pn{constructor(u){super(),this._promiseList=u}isAsyncArrayObject(){return!0}async getValue(){var t;const u=[];for(let r=0;r<this._promiseList.length;r++){const n=this._promiseList[r];u[r]==null&&(u[r]=[]);for(let s=0;s<n.length;s++){const a=n[s];a.isAsyncObject()?u[r][s]=await a.getValue():u[r][s]=a}}const e={calculateValueList:u,rowCount:u.length,columnCount:((t=u[0])==null?void 0:t.length)||0,unitId:"",sheetId:"",row:0,column:0};return q.create(e)}}class br extends Vr{constructor(u,e,t){super(""),this.setRangeData(u),e&&this.setForcedSheetIdDirect(e),t&&this.setForcedUnitIdDirect(t)}isRange(){return!0}}class zs extends Vr{constructor(u){super(u);const e=Wt(u);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName),this.setRangeData(e.range)}isCell(){return!0}unionBy(u){if(!u.isCell())return g.create(h.REF);const e=u,t=this.unionRange(this.getRangeData(),e.getRangeData());return this._createRange(t)}unionRange(u,e){const t=u.startRow,r=u.startColumn,n=e.startRow,s=e.startColumn,a={startRow:-1,startColumn:-1,endRow:-1,endColumn:-1};return t>n?(a.startRow=n,a.endRow=t):(a.startRow=t,a.endRow=n),r>s?(a.startColumn=s,a.endColumn=r):(a.startColumn=r,a.endColumn=s),u.startAbsoluteRefType&&(a.startAbsoluteRefType=u.startAbsoluteRefType),e.startAbsoluteRefType&&(a.endAbsoluteRefType=e.startAbsoluteRefType),a}_createRange(u){const e=new br(u,this.getForcedSheetId(),this.getForcedUnitId());e.setUnitData(this.getUnitData()),e.setDefaultSheetId(this.getDefaultSheetId()),e.setDefaultUnitId(this.getDefaultUnitId()),e.setRuntimeData(this.getRuntimeData()),e.setUnitStylesData(this.getUnitStylesData()),e.setArrayFormulaCellData(this.getArrayFormulaCellData()),e.setRuntimeArrayFormulaCellData(this.getRuntimeArrayFormulaCellData()),e.setRuntimeFeatureCellData(this.getRuntimeFeatureCellData());const{x:t,y:r}=this.getRefOffset();e.setRefOffset(t,r);const n=this.getForcedSheetId();e.setForcedSheetName(this.getForcedSheetName()),n!=null&&e.setForcedSheetIdDirect(n);const s=this.getForcedUnitId();return s&&e.setForcedUnitIdDirect(s),e}}class Js extends Vr{constructor(u){super(u);const e=Wt(u);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={...e.range,startColumn:e.range.startColumn,startRow:Number.NaN,endColumn:e.range.endColumn,endRow:Number.NaN,rangeType:M.RANGE_TYPE.COLUMN};this.setRangeData(t)}isColumn(){return!0}unionBy(u){if(!u.isColumn())return g.create(h.REF);const e=u;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return g.create(h.REF);const t=this.getRangeData(),r=e.getRangeData(),n=r.startColumn;if(n>=t.startColumn&&n<=t.endColumn)return this;const s=t.startColumn;return n>s?t.endColumn=n:(t.startColumn=n,t.endColumn=s),r.startAbsoluteRefType&&(t.endAbsoluteRefType=r.startAbsoluteRefType),t.rangeType=M.RANGE_TYPE.COLUMN,this.setToken(`${this.getToken()}${K.COLON}${e.getToken()}`),this}}class ea extends Vr{constructor(u){super(u);const e=Wt(u);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={...e.range,startColumn:Number.NaN,startRow:e.range.startRow,endColumn:Number.NaN,endRow:e.range.endRow,rangeType:M.RANGE_TYPE.ROW};this.setRangeData(t)}isRow(){return!0}unionBy(u){if(!u.isRow())return g.create(h.REF);const e=u;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return g.create(h.REF);const t=this.getRangeData(),r=e.getRangeData(),n=r.startRow;if(n>=t.startRow&&n<=t.endRow)return this;const s=t.startRow;return n>s?t.endRow=n:(t.startRow=n,t.endRow=s),r.startAbsoluteRefType&&(t.endAbsoluteRefType=r.startAbsoluteRefType),t.rangeType=M.RANGE_TYPE.ROW,this.setToken(`${this.getToken()}${K.COLON}${e.getToken()}`),this}}function O(i,u,e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=[];for(let a=0;a<i;a++){const o=[];for(let c=0;c<u;c++){if(r===1&&n===1){const f=e.isArray()?e.get(0,0):e;o.push(f);continue}if(r===1&&c<n){const f=e.get(0,c);o.push(f);continue}if(n===1&&a<r){const f=e.get(a,0);o.push(f);continue}if(a>=r||c>=n){o.push(t!=null?t:ue.create());continue}const l=e.get(a,c);o.push(l)}s.push(o)}return Or(s,i,u)}function Or(i,u,e,t="",r=""){const n={calculateValueList:i,rowCount:u,columnCount:e,unitId:t,sheetId:r,row:-1,column:-1};return q.create(n)}function ta(i){const u=[k.EQUALS,k.NOT_EQUAL,k.GREATER_THAN_OR_EQUAL,k.GREATER_THAN,k.LESS_THAN_OR_EQUAL,k.LESS_THAN];for(const e of u)if(i.startsWith(e)){const t=i.substring(e.length);return[e,lt.create(t)]}return[k.EQUALS,lt.create(i)]}function Bn(i,u,e,t){if(!e)if(u.isString()){const r=`${u.getValue()}`,[n,s]=ta(r);e=n,u=s}else e=k.EQUALS;return i.compare(u,e,t)}function gf(i,u){const e=Math.max(i.isArray()?i.getRowCount():1,u.isArray()?u.getRowCount():1),t=Math.max(i.isArray()?i.getColumnCount():1,u.isArray()?u.getColumnCount():1),r=O(e,t,i),n=O(e,t,u);return r.mapValue((s,a,o)=>{const c=n.get(a,o);return s!=null&&s.isError()?s:c!=null&&c.isError()?c:s!=null&&s.isBoolean()&&(c!=null&&c.isBoolean())?Fn(s.getValue()&&c.getValue()):I.create(!1)})}function df(i){const u=i.getValue();let e=0;return u&&(e=1),R.create(e)}function ei(i){return i.isArray()&&i.getRowCount()===1&&i.getColumnCount()===1?!0:i.isReferenceObject()?!!(i.isCell()||i.getRowCount()===1&&i.getColumnCount()===1):(i=i,!!(i.isString()||i.isNumber()||i.isBoolean()||i.isError()||i.isNull()))}function Cf(i){const u=i==null?void 0:i.getPattern();let e={},t={};if(u&&(e={s:{n:{pattern:u}}}),i!=null&&i.getCustomData()&&(t={custom:i.getCustomData()}),i==null)return{v:null,...e};if(i.isError())return{v:i.getErrorType(),t:M.CellValueType.STRING,...e,...t};if(i.isValueObject()){const r=i,n=r.getValue();return r.isNumber()?{v:n,t:M.CellValueType.NUMBER,...e,...t}:r.isBoolean()?{v:n?1:0,t:M.CellValueType.BOOLEAN,...e,...t}:r.isString()?{v:n,t:M.CellValueType.STRING,...e,...t}:r.isNull()?{v:null,...e,...t}:{v:n,t:M.CellValueType.STRING,...e,...t}}}function _f(i){let u=0,e=0;return i.forEach((t,r)=>{if(r%2===1)if(t.isArray()){const n=t;u=Math.max(u,n.getRowCount()),e=Math.max(e,n.getColumnCount())}else u=Math.max(u,1),e=Math.max(e,1)}),{maxRowLength:u,maxColumnLength:e}}function Mr(i,u){if(i.length===0||i.length%2!==0)return{isError:!0,errorObject:g.create(h.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};let e=null,t=-1,r=-1;if(u){if(!u.isReferenceObject())return{isError:!0,errorObject:g.create(h.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};e=u.toArrayValueObject(),t=e.getRowCount(),r=e.getColumnCount()}let n=0,s=0,a=!1;const o=[];for(let c=0;c<i.length;c++)if(c%2===1){const l=i[c-1],f=i[c];if(!l.isReferenceObject())return{isError:!0,errorObject:g.create(h.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};const m=l.toArrayValueObject(),d=m.getRowCount(),_=m.getColumnCount();c===1&&t===-1&&r===-1?(t=d,r=_):!a&&(t!==d||r!==_)&&(a=!0);let C=f;f.isReferenceObject()&&(C=f.toArrayValueObject()),n=Math.max(n,C.isArray()?C.getRowCount():1),s=Math.max(s,C.isArray()?C.getColumnCount():1),o.push(m),o.push(C)}return{isError:!1,errorObject:null,rangeIsDifferentSize:a,criteriaMaxRowLength:n,criteriaMaxColumnLength:s,targetRange:e,variants:o}}function ws(i){return i.isArray()?i:q.createByArray([[i.getValue()]])}function Sr(i,u,e,t=!1){const r=[];for(let n=0;n<i.length;n++){if(n%2===1)continue;const s=i[n],a=i[n+1];O(u,e,a,g.create(h.NA)).iterator((c,l,f)=>{if(!c)return;let m=Bn(s,c);if(t&&(m=kn(m,s,c)),r[l]===void 0&&(r[l]=[]),r[l][f]===void 0){r[l][f]=m;return}r[l][f]=gf(r[l][f],m)})}return r}function kn(i,u,e){const[t,r]=ta(`${e.getValue()}`);return i.mapValue((n,s,a)=>{const o=u.get(s,a);if(o&&Af(o,r))return n;if(o!=null&&o.isError()&&r.isError()&&o.getValue()===r.getValue())return I.create(!0);if(t===k.EQUALS||t===k.NOT_EQUAL){if(o!=null&&o.isNumber()&&r.isString()){const c=r.convertToNumberObjectValue();if(c.isNumber())return o.compare(c,t)}if(r.isNumber()&&(o!=null&&o.isString())){const c=o.convertToNumberObjectValue();if(c.isNumber())return c.compare(r,t)}if(t===k.EQUALS)return I.create(!1);if(t===k.NOT_EQUAL)return I.create(!0)}return I.create(!1)})}function Af(i,u){if(i.isNumber()&&u.isNumber()||i.isBoolean()&&u.isBoolean())return!0;const e=i.isString()&&i.getValue()==="",t=u.isString()&&u.getValue()==="";return!!((e||i.isNull())&&(t||u.isNull())||i.isString()&&!e&&u.isString()&&!t)}var Xr=(i=>(i[i.CELL=0]="CELL",i[i.COLUMN=1]="COLUMN",i[i.ROW=2]="ROW",i))(Xr||{});function Ef(i,u){let e;switch(u){case 0:e=new zs(i);break;case 1:e=new Js(i);break;case 2:e=new ea(i);break;default:throw new Error("Unknown reference object type")}return e}function bf(i,u){let e;return i.isCell()&&u.isCell()||i.isRow()&&u.isRow()||i.isColumn()&&u.isColumn()?e=i.unionBy(u):e=g.create(h.NAME),e}var yf=Object.getOwnPropertyDescriptor,Rf=(i,u,e,t)=>{for(var r=t>1?void 0:t?yf(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},pf=(i,u)=>(e,t)=>u(e,t,i);exports.HyperlinkEngineFormulaService=class extends M.Disposable{constructor(u){super(),this._univerInstanceService=u}generateCellValue(u,e){if(e.trim()==="")return{v:""};let t=u;if(u.startsWith("#")&&Bs(u.slice(1))){const{unitId:r,sheetName:n,range:s}=rr(u.slice(1)),a=this._univerInstanceService.getCurrentUnitOfType(M.UniverInstanceType.UNIVER_SHEET);if(r===""||r===a.getUnitId())if(n==="")t=`#gid=${a.getActiveSheet().getSheetId()}&range=${Ct(s)}`;else{const o=a.getSheetBySheetName(n);o&&(t=`#gid=${o.getSheetId()}&range=${Ct(s)}`)}}else M.Tools.isLegalUrl(u)&&(t=M.Tools.normalizeUrl(u));return{p:M.RichTextBuilder.create().insertLink(e,t).getData()}}};exports.HyperlinkEngineFormulaService=Rf([pf(0,M.IUniverInstanceService)],exports.HyperlinkEngineFormulaService);const ra=M.createIdentifier("univer.formula.hyperlink-engine-formula.service");var Nf=Object.getOwnPropertyDescriptor,Vf=(i,u,e,t)=>{for(var r=t>1?void 0:t?Nf(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},ti=(i,u)=>(e,t)=>u(e,t,i),$e=(i=>(i[i.IDLE=0]="IDLE",i[i.START=1]="START",i[i.START_DEPENDENCY=2]="START_DEPENDENCY",i[i.START_CALCULATION=3]="START_CALCULATION",i[i.CURRENTLY_CALCULATING=4]="CURRENTLY_CALCULATING",i[i.START_DEPENDENCY_ARRAY_FORMULA=5]="START_DEPENDENCY_ARRAY_FORMULA",i[i.START_CALCULATION_ARRAY_FORMULA=6]="START_CALCULATION_ARRAY_FORMULA",i[i.CURRENTLY_CALCULATING_ARRAY_FORMULA=7]="CURRENTLY_CALCULATING_ARRAY_FORMULA",i[i.CALCULATION_COMPLETED=8]="CALCULATION_COMPLETED",i))($e||{}),Jt=(i=>(i[i.INITIAL=0]="INITIAL",i[i.STOP_EXECUTION=1]="STOP_EXECUTION",i[i.NOT_EXECUTED=2]="NOT_EXECUTED",i[i.SUCCESS=3]="SUCCESS",i))(Jt||{});exports.FormulaRuntimeService=class extends M.Disposable{constructor(e,t){super();A(this,"_formulaExecuteStage",0);A(this,"_stopState",!1);A(this,"_currentRow",-1);A(this,"_currentColumn",-1);A(this,"_currentRowCount",Number.NEGATIVE_INFINITY);A(this,"_currentColumnCount",Number.NEGATIVE_INFINITY);A(this,"_currentSubUnitId","");A(this,"_currentUnitId","");A(this,"_runtimeData",{});A(this,"_runtimeOtherData",{});A(this,"_unitArrayFormulaRange",{});A(this,"_runtimeArrayFormulaCellData",{});A(this,"_runtimeClearArrayFormulaCellData",{});A(this,"_runtimeFeatureRange",{});A(this,"_runtimeFeatureCellData",{});A(this,"_functionsExecutedState",0);A(this,"_functionDefinitionPrivacyVar",new Map);A(this,"_totalFormulasToCalculate",0);A(this,"_completedFormulasCount",0);A(this,"_totalArrayFormulasToCalculate",0);A(this,"_completedArrayFormulasCount",0);A(this,"_formulaCycleIndex",0);A(this,"_isCycleDependency",!1);this._currentConfigService=e,this._hyperlinkEngineFormulaService=t}get currentRow(){return this._currentRow}get currentColumn(){return this._currentColumn}get currentRowCount(){return this._currentRowCount}get currentColumnCount(){return this._currentColumnCount}get currentSubUnitId(){return this._currentSubUnitId}get currentUnitId(){return this._currentUnitId}dispose(){super.dispose(),this.reset(),this._runtimeFeatureCellData={},this._runtimeFeatureRange={},this.clearReferenceAndNumberformatCache()}enableCycleDependency(){this._isCycleDependency=!0}disableCycleDependency(){this._isCycleDependency=!1}isCycleDependency(){return this._isCycleDependency}setFormulaCycleIndex(e){this._formulaCycleIndex=e}getFormulaCycleIndex(){return this._formulaCycleIndex}setTotalArrayFormulasToCalculate(e){this._totalArrayFormulasToCalculate=e}getTotalArrayFormulasToCalculate(){return this._totalArrayFormulasToCalculate}setCompletedArrayFormulasCount(e){this._completedArrayFormulasCount=e}getCompletedArrayFormulasCount(){return this._completedArrayFormulasCount}setTotalFormulasToCalculate(e){this._totalFormulasToCalculate=e}getTotalFormulasToCalculate(){return this._totalFormulasToCalculate}setCompletedFormulasCount(e){this._completedFormulasCount=e}getCompletedFormulasCount(){return this._completedFormulasCount}markedAsSuccessfullyExecuted(){this._functionsExecutedState=3}markedAsNoFunctionsExecuted(){this._functionsExecutedState=2}markedAsStopFunctionsExecuted(){this._functionsExecutedState=1}markedAsInitialFunctionsExecuted(){this._functionsExecutedState=0}stopExecution(){this._stopState=!0,this.setFormulaExecuteStage(0)}isStopExecution(){return this._stopState}setFormulaExecuteStage(e){this._formulaExecuteStage=e}getFormulaExecuteStage(){return this._formulaExecuteStage}reset(){this._formulaExecuteStage=0,this._runtimeData={},this._runtimeOtherData={},this._unitArrayFormulaRange={},this._runtimeArrayFormulaCellData={},this._runtimeClearArrayFormulaCellData={},this._functionDefinitionPrivacyVar.clear(),this.markedAsInitialFunctionsExecuted(),this._stopState=!1,this._isCycleDependency=!1,this._totalFormulasToCalculate=0,this._completedFormulasCount=0,this.clearReferenceAndNumberformatCache()}clearReferenceAndNumberformatCache(){Hc(),Xc(),Dc()}setCurrent(e,t,r,n,s,a){this._currentRow=e,this._currentColumn=t,this._currentRowCount=r,this._currentColumnCount=n,this._currentSubUnitId=s,this._currentUnitId=a}clearFunctionDefinitionPrivacyVar(){this._functionDefinitionPrivacyVar.clear()}registerFunctionDefinitionPrivacyVar(e,t){this._functionDefinitionPrivacyVar.set(e,t)}getFunctionDefinitionPrivacyVar(e){return this._functionDefinitionPrivacyVar.get(e)}setRuntimeOtherData(e,t,r,n){const s=this._currentSubUnitId,a=this._currentUnitId;this._runtimeOtherData[a]===void 0&&(this._runtimeOtherData[a]={});const o=this._runtimeOtherData[a];(o[s]===void 0||o[s]===null)&&(o[s]={});const c=o[s];let l=[];if(n.isReferenceObject()||n.isValueObject()&&n.isArray()){const f=n,{startRow:m,startColumn:d}=f.getRangePosition();f.iterator((_,C,E)=>{const b=this._getValueObjectOfRuntimeData(_),y=C-m,p=E-d;l[y]==null&&(l[y]=[]),l[y][p]=b})}else l=[[this._getValueObjectOfRuntimeData(n)]];(c[e]===void 0||c[e]===null)&&(c[e]={}),(c[e][r]===void 0||c[e][r]===null)&&(c[e][r]={}),c[e][r][t]=l}setRuntimeData(e){const t=this._currentRow,r=this._currentColumn,n=this._currentRowCount,s=this.currentColumnCount,a=this._currentSubUnitId,o=this._currentUnitId;this._runtimeData[o]==null&&(this._runtimeData[o]={});const c=this._runtimeData[o];c[a]==null&&(c[a]=new M.ObjectMatrix),this._unitArrayFormulaRange[o]==null&&(this._unitArrayFormulaRange[o]={});const l=this._unitArrayFormulaRange[o];(l[a]===null||l[a]===void 0)&&(l[a]={});const f=new M.ObjectMatrix(l[a]);this._runtimeArrayFormulaCellData[o]===void 0&&(this._runtimeArrayFormulaCellData[o]={});const m=this._runtimeArrayFormulaCellData[o];m[a]==null&&(m[a]=new M.ObjectMatrix),this._runtimeClearArrayFormulaCellData[o]===void 0&&(this._runtimeClearArrayFormulaCellData[o]={});const d=this._runtimeClearArrayFormulaCellData[o];d[a]==null&&(d[a]=new M.ObjectMatrix);const _=c[a],C=m[a],E=d[a];if(e.isReferenceObject()||e.isValueObject()&&e.isArray()){const b=e,{startRow:y,startColumn:p,endRow:V,endColumn:S}=b.getRangePosition();if(y===V&&p===S){const w=b.getFirstCell(),L=this._getValueObjectOfRuntimeData(w);_.setValue(t,r,L),E.setValue(t,r,L),Ye.set(o,a,r,w.getValue(),t,!0);return}const D={startRow:t,startColumn:r,endRow:V-y+t,endColumn:S-p+r};if(f.setValue(t,r,D),this._checkIfArrayFormulaRangeHasData(o,a,t,r,D)||this._checkIfArrayFormulaExceeded(n,s,D)){const w=this._getValueObjectOfRuntimeData(g.create(h.SPILL));_.setValue(t,r,w),E.setValue(t,r,w),Ye.set(o,a,r,h.SPILL,t,!0);const L=this._currentConfigService.getUnitData();b.iterator((x,v,U)=>{var z,W;const $=v-y+t,Q=U-p+r,te=(W=(z=L[o])==null?void 0:z[a])==null?void 0:W.cellData.getValue($,Q);if(v===y&&U===p)C.setValue(t,r,w);else if(te!=null)te.v==null&&(te.v=""),C.setValue($,Q,te);else{if(this._isInOtherArrayFormulaRange(o,a,t,r,$,Q))return!0;C.setValue($,Q,{v:""})}})}else{const w=g.create(h.SPILL);b.iterator((L,x,v)=>{Ye.set(o,a,r-p+v,L?L.getValue():0,t-y+x,!0);const U=this._getValueObjectOfRuntimeData(L);if(x===y&&v===p){if(L!=null&&L.isError()&&L.isEqualType(w))return E.setValue(t,r,{}),_.setValue(t,r,{...this._getValueObjectOfRuntimeData(w)}),!1;_.setValue(t,r,{...U})}const $=x-y+t,Q=v-p+r;C.setValue($,Q,U)})}}else{const b=this._getValueObjectOfRuntimeData(e);_.setValue(t,r,b),Ye.set(o,a,r,e.getValue(),t,!0),E.setValue(t,r,b)}}_getValueObjectOfRuntimeData(e){return e!=null&&e.isString()&&e.isHyperlink()?this._hyperlinkEngineFormulaService.generateCellValue(e.getHyperlinkUrl(),e.getValue()):Cf(e)}getUnitData(){return this._runtimeData}getUnitArrayFormula(){return this._unitArrayFormulaRange}getRuntimeOtherData(){return this._runtimeOtherData}getRuntimeArrayFormulaCellData(){return this._runtimeArrayFormulaCellData}getRuntimeClearArrayFormulaCellData(){return this._runtimeClearArrayFormulaCellData}getRuntimeFeatureRange(){return this._runtimeFeatureRange}setRuntimeFeatureRange(e,t){this._runtimeFeatureRange[e]=t}getRuntimeFeatureCellData(){return this._runtimeFeatureCellData}setRuntimeFeatureCellData(e,t){this._runtimeFeatureCellData[e]=t}getAllRuntimeData(){return{unitData:this.getUnitData(),arrayFormulaRange:this.getUnitArrayFormula(),unitOtherData:this.getRuntimeOtherData(),functionsExecutedState:this._functionsExecutedState,arrayFormulaCellData:this.getRuntimeArrayFormulaCellData(),clearArrayFormulaCellData:this.getRuntimeClearArrayFormulaCellData(),runtimeFeatureRange:this.getRuntimeFeatureRange(),runtimeFeatureCellData:this.getRuntimeFeatureCellData()}}getRuntimeState(){return{totalFormulasToCalculate:this.getTotalFormulasToCalculate(),completedFormulasCount:this.getCompletedFormulasCount(),totalArrayFormulasToCalculate:this.getTotalArrayFormulasToCalculate(),completedArrayFormulasCount:this.getCompletedArrayFormulasCount(),stage:this.getFormulaExecuteStage(),formulaCycleIndex:this.getFormulaCycleIndex()}}_checkIfArrayFormulaRangeHasData(e,t,r,n,s){var d,_,C,E,b,y,p,V,S,D,w;const{startRow:a,startColumn:o,endRow:c,endColumn:l}=s,f=this._currentConfigService.getUnitData(),m=this._currentConfigService.getArrayFormulaCellData();(C=(_=(d=this._unitArrayFormulaRange[e])==null?void 0:d[t])==null?void 0:_[r])==null||C[n];for(let L=a;L<=c;L++)for(let x=o;x<=l;x++){if(L===r&&n===x)continue;const v=(y=(b=(E=this._runtimeData)==null?void 0:E[e])==null?void 0:b[t])==null?void 0:y.getValue(L,x);(V=(p=m==null?void 0:m[e])==null?void 0:p[t])==null||V.getValue(L,x);const U=(w=(D=(S=f==null?void 0:f[e])==null?void 0:S[t])==null?void 0:D.cellData)==null?void 0:w.getValue(L,x),$=this._getRuntimeFeatureCellValue(L,x,t,e);if(!Qr(v)||this._isInOtherArrayFormulaRange(e,t,r,n,L,x)||!Qr(U)||!Qr($))return!0}return!1}_getRuntimeFeatureCellValue(e,t,r,n){return Hi(e,t,r,n,this._runtimeFeatureCellData)}_arrayCellHasData(e){return e==null?!1:e.v!==void 0}_isInOtherArrayFormulaRange(e,t,r,n,s,a){var f;const o=(f=this._currentConfigService.getArrayFormulaRange()[e])==null?void 0:f[t];if(o==null)return!1;let c=!1;return new M.ObjectMatrix(o).forValue((m,d,_)=>{var b,y;if(m===r&&d===n)return;const C=this._isInArrayFormulaRange(_,s,a),E=(y=(b=this._runtimeData[e])==null?void 0:b[t])==null?void 0:y.getValue(m,d);C&&(E==null?void 0:E.v)!==h.SPILL&&(c=!0)}),c}_isInArrayFormulaRange(e,t,r){if(e==null)return!1;const{startRow:n,startColumn:s,endRow:a,endColumn:o}=e;return t>=n&&t<=a&&r>=s&&r<=o}_checkIfArrayFormulaExceeded(e,t,r){return r.endRow>=e||r.endColumn>=t}_isInDirtyRange(e,t,r,n){const s=this._currentConfigService.getDirtyRanges();return s.length===0?!0:Ri(s,e,t,r,n)}};exports.FormulaRuntimeService=Vf([ti(0,At),ti(1,ra)],exports.FormulaRuntimeService);const ft=M.createIdentifier("univer.formula.runtime.service");var ie=(i=>(i[i.REFERENCE=1]="REFERENCE",i[i.VALUE=2]="VALUE",i[i.OPERATOR=3]="OPERATOR",i[i.FUNCTION=4]="FUNCTION",i[i.LAMBDA=5]="LAMBDA",i[i.LAMBDA_PARAMETER=6]="LAMBDA_PARAMETER",i[i.ERROR=7]="ERROR",i[i.BASE=8]="BASE",i[i.ROOT=9]="ROOT",i[i.UNION=10]="UNION",i[i.PREFIX=11]="PREFIX",i[i.SUFFIX=12]="SUFFIX",i[i.NULL=13]="NULL",i))(ie||{});const mt=new Map([[1,7],[2,9],[3,8],[4,6],[5,1],[6,2],[9,10],[10,3],[11,4],[12,5]]);class ke{constructor(u){A(this,"_children",[]);A(this,"_definedNames");A(this,"_parent");A(this,"_valueObject");A(this,"_calculateState",!1);A(this,"_async",!1);A(this,"_address",!1);A(this,"_isForcedCalculateFunction",!1);this._token=u}dispose(){var u;this._children.forEach(e=>{e.dispose()}),(u=this._valueObject)==null||u.dispose(),this._valueObject=null,this._children=[],this._definedNames=null,this._parent=null}get nodeType(){return ie.BASE}isAsync(){return this._async}isAddress(){return this._address}isForcedCalculateFunction(){return this._isForcedCalculateFunction}setAsync(){this._async=!0}setAddress(){this._address=!0}getParent(){return this._parent}setParent(u){this._parent=u,u.addChildren(this)}setForcedCalculateFunction(){this._isForcedCalculateFunction=!0}getChildren(){return this._children}addChildren(...u){this._children.push(...u)}getToken(){return this._token}setValue(u){this._valueObject=u}getValue(){return this._valueObject}isCalculated(){return this._calculateState}setCalculated(){this._calculateState=!0}execute(){}setNotEmpty(u=!0){}async executeAsync(){return Promise.resolve(Ot.SUCCESS)}serialize(){const u=this.getToken(),e=this.getChildren(),t=[],r=e.length;for(let s=0;s<r;s++){const a=e[s];t.push(a.serialize())}const n={token:u,nodeType:this.nodeType};return r>0&&(n.children=t),n}hasDefinedName(u){var e;return((e=this._definedNames)==null?void 0:e.includes(u))||!1}setDefinedNames(u){this._definedNames=u}getDefinedNames(){return this._definedNames}}class De extends ke{constructor(e){super(e);A(this,"_errorValueObject");this._errorValueObject=g.create(e)}get nodeType(){return ie.ERROR}static create(e){return new De(e)}getValue(){return this._errorValueObject}}const ht=100;class gt{get zIndex(){return 0}dispose(){}create(u,e,t){let r;return u instanceof ae?r=u.getToken():r=u,new ke(r)}}class Ls extends ke{get nodeType(){return ie.ROOT}execute(){const u=this.getChildren();if(u.length>1){this.setValue(g.create(h.VALUE));return}const e=u[0];e==null?this.setValue(g.create(h.VALUE)):this.setValue(e.getValue())}}class na extends gt{get zIndex(){return mt.get(ie.ROOT)||ht}checkAndCreateNodeType(u){if(!(u instanceof ae))return;if(u.getToken()===St)return new Ls(St)}}const Of=5e3,yr=new _t(Of);function xs(i,u,e,t,r){let n=yr.get(`${i}${u}`);if(n&&!ao(n,r))return n;const s=e.treeBuilder(u);if(jt.has(s))return De.create(s);if(n=t.parse(s),n==null)throw new Error("astNode is null");return yr.set(`${i}${u}`,n),n}function ao(i,u){const e=u.getDirtyDefinedNameMap(),t=u.getExecuteUnitId();if(t!=null&&e[t]!=null){const r=Object.keys(e[t]);for(let n=0,s=r.length;n<s;n++){const a=r[n];if(i.hasDefinedName(a))return!0}}return!1}function Mf(i,u,e){return!!(u!=null&&ao(u,e))}const bt=M.createIdentifier("univer.formula-function.service");class io extends M.Disposable{constructor(){super(...arguments);A(this,"_functionExecutors",new Map);A(this,"_functionDescriptions",new Map)}dispose(){super.dispose(),this._functionExecutors.clear(),this._functionDescriptions.clear()}registerExecutors(...e){for(let t=0;t<e.length;t++){const r=e[t];this._functionExecutors.set(r.name,r)}}getExecutors(){return this._functionExecutors}getExecutor(e){return this._functionExecutors.get(e)}hasExecutor(e){return this._functionExecutors.has(e)}unregisterExecutors(...e){for(let t=0;t<e.length;t++){const r=e[t];this._functionExecutors.delete(r)}}registerDescriptions(...e){for(let t=0;t<e.length;t++){const r=e[t];this._functionDescriptions.set(r.functionName,r)}return M.toDisposable(()=>{for(let t=0;t<e.length;t++){const r=e[t];this._functionDescriptions.delete(r.functionName)}})}getDescriptions(){return this._functionDescriptions}getDescription(e){return this._functionDescriptions.get(e)}hasDescription(e){return this._functionDescriptions.has(e)}unregisterDescriptions(...e){for(let t=0;t<e.length;t++){const r=e[t];this._functionDescriptions.delete(r)}}deleteFormulaAstCacheKey(...e){yr.forEach((t,r)=>{e.forEach(n=>{r.includes(n)&&yr.delete(r)})})}}var Pe=(i=>(i.COMPARE="COMPARE",i.DIVIDED="DIVIDED",i.MINUS="MINUS",i.MULTIPLY="MULTIPLY",i.PLUS="PLUS",i.UNION="UNION",i.CUBE="CUBE",i))(Pe||{}),Sf=Object.getOwnPropertyDescriptor,Df=(i,u,e,t)=>{for(var r=t>1?void 0:t?Sf(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},ri=(i,u)=>(e,t)=>u(e,t,i);class ln extends ke{constructor(u,e,t){super(e),this._runtimeService=u,this._operatorString=e,this._functionExecutor=t}get nodeType(){return ie.PREFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null)throw new Error("object is null");this._operatorString===Ne.MINUS?(e.isReferenceObject()&&(e=e.toArrayValueObject()),t=this._functionExecutor.calculate(R.create(0),e)):this._operatorString===Ne.AT?t=this._handlerAT(e):t=g.create(h.VALUE),this.setValue(t)}_handlerAT(u){if(!u.isReferenceObject())return g.create(h.VALUE);const e=u;if(e.isCell())return g.create(h.VALUE);const t=this._runtimeService,r=t.currentRow||0,n=t.currentColumn||0,s=e.getRangePosition(),{startRow:a,startColumn:o,endRow:c,endColumn:l}=s;return l!==o&&c!==a||a===c&&o===l?g.create(h.VALUE):c===a&&n>=o&&n<=l?e.getCellByColumn(n):o===l&&r>=a&&r<=c?e.getCellByRow(r):e.isTable()?e.getCellByPosition(r):g.create(h.VALUE)}}exports.PrefixNodeFactory=class extends gt{constructor(u,e){super(),this._functionService=u,this._runtimeService=e}get zIndex(){return mt.get(ie.PREFIX)||ht}checkAndCreateNodeType(u){if(!(u instanceof ae))return;const e=u.getToken(),t=e.trim();if(t.charAt(0)==='"'&&t.charAt(t.length-1)==='"')return;let r="";if(t===Ne.MINUS)r=Pe.MINUS;else return t===Ne.AT?new ln(this._runtimeService,t):void 0;const n=this._functionService.getExecutor(r);return n?new ln(this._runtimeService,t,n):(console.error(`No function ${e}`),De.create(h.NAME))}};exports.PrefixNodeFactory=Df([ri(0,bt),ri(1,ft)],exports.PrefixNodeFactory);new RegExp(Ne.MINUS,"g");new RegExp(Ne.AT,"g");function oo(i,u,e){let t,r,n=i;const s=n.slice(0,2);let a=0;if(s[0]===Ne.MINUS){const o=u.getExecutor(Pe.MINUS);t=new ln(e,Ne.MINUS,o),a++}return s[0]===Ne.AT&&(r=new ln(e,Ne.AT),t&&r.setParent(t),a++),a>0&&(n=n.slice(a)),{tokenTrim:n,minusPrefixNode:t,atPrefixNode:r}}var wf=Object.getOwnPropertyDescriptor,Lf=(i,u,e,t)=>{for(var r=t>1?void 0:t?wf(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Zt=(i,u)=>(e,t)=>u(e,t,i);class xf extends ke{constructor(u,e,t,r,n,s){super(u),this._functionExecutor=e,this._currentConfigService=t,this._runtimeService=r,this._definedNamesService=n,this._formulaDataModel=s,this._functionExecutor.isAsync()&&this.setAsync(),this._functionExecutor.isAddress()&&this.setAddress(),this._functionExecutor.needsLocale&&this._setLocale(),this._functionExecutor.needsSheetsInfo&&this._setSheetsInfo(),this._functionExecutor.needsFormulaDataModel&&this._functionExecutor.setFormulaDataModel(this._formulaDataModel)}get nodeType(){return ie.FUNCTION}async executeAsync(){const u=[],e=this.getChildren(),t=e.length;this._compatibility();for(let s=0;s<t;s++){const o=e[s].getValue();o!=null&&(o.isReferenceObject()&&!this._functionExecutor.needsReferenceObject?u.push(o.toArrayValueObject()):u.push(o))}const r=await this._calculateAsync(u);let n;return r.isAsyncObject()||r.isAsyncArrayObject()?n=await r.getValue():n=r,this._setRefData(n),this.setValue(n),Promise.resolve(Ot.SUCCESS)}execute(){const u=[],e=this.getChildren(),t=e.length;this._compatibility();for(let n=0;n<t;n++){const a=e[n].getValue();a!=null&&(a.isReferenceObject()&&this._functionExecutor.needsFilteredOutRows&&this._setFilteredOutRows(a),a.isReferenceObject()&&!this._functionExecutor.needsReferenceObject?u.push(a.toArrayValueObject()):u.push(a))}const r=this._calculate(u);this._setRefData(r),this.setValue(r)}isFunctionExecutorArgumentsIgnoreNumberPattern(){return this._functionExecutor.isArgumentsIgnoreNumberPattern()}_compatibility(){this._lookupCompatibility()}_lookupCompatibility(){const u=this.getChildren(),e=u.length;if(!this._functionExecutor.needsExpandParams||e!==3)return;const t=u[1].getValue(),r=u[2].getValue();if(!(t!=null&&t.isReferenceObject())&&!(r!=null&&r.isReferenceObject()))return;let n,s;if(t!=null&&t.isReferenceObject()){const _=t.getRangeData(),{startRow:C,startColumn:E,endRow:b,endColumn:y}=_;n=b-C+1,s=y-E+1}else n=t!=null&&t.isArray()?t.getRowCount():1,s=t!=null&&t.isArray()?t.getColumnCount():1;const a=r.getRangeData(),{startRow:o,startColumn:c,endRow:l,endColumn:f}=a,m=l-o+1,d=f-c+1;n!==m&&(a.endRow+=n-m),s!==d&&(a.endColumn+=s-d)}_handleCustomResult(u){var t;if(typeof u!="object"||u==null)return lt.create(u);const e=ro(u);return q.create({calculateValueList:e,rowCount:e.length,columnCount:((t=e[0])==null?void 0:t.length)||0,unitId:"",sheetId:"",row:-1,column:-1})}_handleAddressFunction(){this._functionExecutor.isAddress()&&this._setDefinedNamesForFunction()}_mapVariantsToValues(u){return u.map(e=>e.isArray()?e.toValue():e.isLambda()?e:e.getValue())}_calculate(u){const{minParams:e,maxParams:t}=this._functionExecutor;if(e!==-1&&t!==-1&&(u.length<e||u.length>t))return g.create(h.NA);let r;if(this._setRefInfo(),this._functionExecutor.isCustom()){const n=this._functionExecutor.calculateCustom(...this._mapVariantsToValues(u));r=this._handleCustomResult(n)}else this._handleAddressFunction(),r=this._functionExecutor.calculate(...u);return r}async _calculateAsync(u){const{minParams:e,maxParams:t}=this._functionExecutor;if(e!==-1&&t!==-1&&(u.length<e||u.length>t))return g.create(h.NA);let r;if(this._setRefInfo(),this._functionExecutor.isCustom()){const n=await this._functionExecutor.calculateCustom(...this._mapVariantsToValues(u));r=this._handleCustomResult(n)}else this._handleAddressFunction(),r=this._functionExecutor.calculate(...u);return r}_setDefinedNamesForFunction(){const u=this._currentConfigService.getExecuteUnitId();if(u==null)return;const e=this._definedNamesService.getDefinedNameMap(u);e!=null&&this._functionExecutor.setDefinedNames(e)}_setRefInfo(){const{currentUnitId:u,currentSubUnitId:e,currentRow:t,currentColumn:r}=this._runtimeService;if(this._functionExecutor.setRefInfo(u,e,t,r),this._functionExecutor.needsSheetRowColumnCount){const{rowCount:n,columnCount:s}=this._currentConfigService.getSheetRowColumnCount(u,e);this._functionExecutor.setSheetRowColumnCount(n,s)}}_setRefData(u){if(!u.isReferenceObject())return;const e=u;e.setForcedSheetId(this._currentConfigService.getSheetNameMap()),e.setUnitData(this._currentConfigService.getUnitData()),e.setArrayFormulaCellData(this._currentConfigService.getArrayFormulaCellData()),e.setRuntimeData(this._runtimeService.getUnitData()),e.setRuntimeArrayFormulaCellData(this._runtimeService.getRuntimeArrayFormulaCellData()),e.setRuntimeFeatureCellData(this._runtimeService.getRuntimeFeatureCellData())}_setLocale(){this._functionExecutor.setLocale(this._currentConfigService.getLocale())}_setSheetsInfo(){this._functionExecutor.setSheetsInfo(this._currentConfigService.getSheetsInfo())}_setFilteredOutRows(u){const{startRow:e,endRow:t}=u.getRangePosition(),r=this._currentConfigService.getFilteredOutRows(u.getUnitId(),u.getSheetId(),e,t);u.setFilteredOutRows(r)}}class Pf extends ke{constructor(u="Error"){super(u)}get nodeType(){return ie.FUNCTION}async executeAsync(){return this.setValue(g.create(h.NAME)),Promise.resolve(Ot.SUCCESS)}execute(){this.setValue(g.create(h.NAME))}}exports.FunctionNodeFactory=class extends gt{constructor(u,e,t,r,n,s){super(),this._functionService=u,this._currentConfigService=e,this._runtimeService=t,this._definedNamesService=r,this._injector=n,this._formulaDataModel=s}get zIndex(){return mt.get(ie.FUNCTION)||ht}create(u){const e=this._functionService.getExecutor(u);return e?new xf(u,e,this._currentConfigService,this._runtimeService,this._definedNamesService,this._formulaDataModel):(console.error(`No function ${u}`),De.create(h.NAME))}checkAndCreateNodeType(u){if(typeof u=="string")return;const e=u.getToken(),{tokenTrim:t,minusPrefixNode:r,atPrefixNode:n}=oo(e.trim(),this._functionService,this._runtimeService);if(!Number.isNaN(Number(t))&&!this._isParentUnionNode(u))return De.create(h.VALUE);const s=t.toUpperCase();if(this._functionService.hasExecutor(s)){const a=this.create(s);return n?a.setParent(n):r&&a.setParent(r),a}}_isParentUnionNode(u){var e,t;return((t=(e=u.getParent())==null?void 0:e.getParent())==null?void 0:t.getToken())===K.COLON}};exports.FunctionNodeFactory=Lf([Zt(0,bt),Zt(1,At),Zt(2,ft),Zt(3,Xt),Zt(4,M.Inject(M.Injector)),Zt(5,M.Inject(exports.FormulaDataModel))],exports.FunctionNodeFactory);var jf=Object.getOwnPropertyDescriptor,Uf=(i,u,e,t)=>{for(var r=t>1?void 0:t?jf(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},vf=(i,u)=>(e,t)=>u(e,t,i);exports.Interpreter=class extends M.Disposable{constructor(u){super(),this._runtimeService=u}async executeAsync(u){if(!u||!u.node)return Promise.resolve(g.create(h.VALUE));const e=u.node,t=u.refOffsetX,r=u.refOffsetY;await this._executeAsync(e,t,r);const n=e.getValue();return n==null?Promise.resolve(g.create(h.VALUE)):Promise.resolve(n)}execute(u){if(!u||!u.node)return g.create(h.VALUE);const e=u.node,t=u.refOffsetX,r=u.refOffsetY;this._execute(e,t,r);const n=e.getValue();return n==null?g.create(h.VALUE):n}executePreCalculateNode(u){return u.execute(),u.getValue()}checkAsyncNode(u){if(u==null)return!1;const e=[];this._checkAsyncNode(u,e);for(let t=0,r=e.length;t<r;t++)if(e[t]===!0)return!0;return!1}_checkAsyncNode(u,e){const t=u.getChildren(),r=t.length;for(let n=0;n<r;n++){const s=t[n];e.push(s.isAsync()),this._checkAsyncNode(s,e)}}async _executeAsync(u,e=0,t=0){if(this._runtimeService.isStopExecution())return Promise.resolve(Ot.ERROR);const r=u.getChildren(),n=r.length;for(let s=0;s<n;s++){const a=r[s];if(a.getToken().toUpperCase()===_r&&a.isEmptyParamFunction()){a.execute();continue}await this._executeAsync(a,e,t)}return u.nodeType===ie.REFERENCE&&u.setRefOffset(e,t),u.nodeType===ie.FUNCTION&&u.isAsync()?await u.executeAsync():u.execute(),Promise.resolve(Ot.SUCCESS)}_execute(u,e=0,t=0){if(this._runtimeService.isStopExecution())return Ot.ERROR;const r=u.getChildren(),n=r.length;for(let s=0;s<n;s++){const a=r[s];if(a.getToken().toUpperCase()===_r&&a.isEmptyParamFunction()){a.execute();continue}this._execute(a,e,t)}return u.nodeType===ie.REFERENCE&&u.setRefOffset(e,t),u.execute(),Ot.SUCCESS}};exports.Interpreter=Uf([vf(0,ft)],exports.Interpreter);function uo(i){return i instanceof ae?i.getToken()===nr:!1}function Tf(i){return i instanceof ae?i.getToken()===Bi:!1}function sa(i,u,e){const t=i.getChildren(),r=t.length,n=t[0];for(let s=0;s<r;s++){const a=t[s];if(!(uo(n)&&s!==0))if(a instanceof ae)sa(a,u,e);else{const o=a.trim();if(e.has(o)){const c=new ae;c.setToken(Nr),c.setLambdaId(u),c.setLambdaPrivacyVar(e),c.setLambdaParameter(o),t[s]=c}}}}function If(i){let u=i;for(;u!=null&&u.getParent();)u=u.getParent();return u}function Ps(i,u=0,e=0){return{node:i,refOffsetX:u,refOffsetY:e}}function co(i){if(!i)return;if(i.getToken()!==Nr)return i;const u=i,e=u.getCurrentLambdaPrivacyVar(),t=u.getLambdaParameter();if(!e)return;const r=e.get(t);return r==null&&i.getValue()?i:co(r)}class $n extends Et{constructor(e,t,r){super(0);A(this,"_lambdaPrivacyValueMap",new Map);this._lambdaNode=e,this._interpreter=t,this._lambdaPrivacyVarKeys=r,this._lambdaPrivacyValueMap.clear()}static create(e,t,r){return new $n(e,t,r)}dispose(){this._lambdaPrivacyValueMap.clear(),this._lambdaPrivacyValueMap=new Map,this._lambdaNode=null,this._interpreter=null,this._lambdaPrivacyVarKeys=[]}isLambda(){return!0}execute(...e){const t=this._lambdaPrivacyVarKeys.length;if(e.length!==t||!this._interpreter||!this._lambdaNode)return g.create(h.VALUE);this._setLambdaPrivacyValueMap(e),this._setLambdaNodeValue(this._lambdaNode),this._lambdaNode.setNotEmpty(!1);let r;if(this._interpreter.checkAsyncNode(this._lambdaNode))r=new no(this._interpreter.executeAsync(Ps(this._lambdaNode)));else{const n=this._interpreter.execute(Ps(this._lambdaNode));n.isReferenceObject()?r=n.toArrayValueObject():r=n}return this._lambdaNode.setNotEmpty(!0),r}executeCustom(...e){const t=e.map(r=>lt.create(r));return this.execute(...t)}_setLambdaNodeValue(e){if(!e)return;const t=e.getChildren(),r=t.length;for(let n=0;n<r;n++){const s=t[n];if(s.getToken()===Nr){const o=s.getLambdaParameter(),c=this._lambdaPrivacyValueMap.get(o);if(c)s.setValue(c);else{const l=s.getCurrentLambdaPrivacyVar(),f=co(l.get(o));f!=null&&s.setValue(f.getValue())}continue}this._setLambdaNodeValue(s)}}_setLambdaPrivacyValueMap(e){for(let t=0;t<e.length;t++){const r=e[t],n=this._lambdaPrivacyVarKeys[t];this._lambdaPrivacyValueMap.set(n,r)}}getLambdaPrivacyVarKeys(){return this._lambdaPrivacyVarKeys}}var Ff=Object.getOwnPropertyDescriptor,Bf=(i,u,e,t)=>{for(var r=t>1?void 0:t?Ff(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},ni=(i,u)=>(e,t)=>u(e,t,i);class kf extends ke{constructor(e,t,r,n){super(e);A(this,"_isNotEmpty",!0);this._lambdaId=t,this._interpreter=r,this._lambdaPrivacyVarKeys=n}get nodeType(){return ie.LAMBDA}setNotEmpty(e=!1){this._isNotEmpty=e}isEmptyParamFunction(){return this.getChildren().length<2&&this._isNotEmpty}isFunctionParameter(){return this._lambdaId===null}getLambdaId(){return this._lambdaId}execute(){if(this.isEmptyParamFunction())this.setValue($n.create(this,this._interpreter,this._lambdaPrivacyVarKeys));else{const e=this.getChildren(),t=e.length;this.setValue(e[t-1].getValue())}}}exports.LambdaNodeFactory=class extends gt{constructor(u,e){super(),this._runtimeService=u,this._interpreter=e}get zIndex(){return mt.get(ie.LAMBDA)||ht}create(u){const e=u.getChildren(),t=e[0];let r=e.slice(1,-1);const n=e[e.length-1];if(!(t instanceof ae&&n instanceof ae))return De.create(h.NAME);if(t.getToken()===nr){const o=t.getChildren();if(r.length!==o.length)return De.create(h.VALUE)}else r=e.slice(0,-1);const s=M.generateRandomId(8),a=new Map;for(let o=0;o<r.length;o++){const c=r[o];if(c instanceof ae){const l=c.getChildren()[0];c.setToken(Bi),a.set(l.trim(),void 0)}else return De.create(h.VALUE)}return this._runtimeService.registerFunctionDefinitionPrivacyVar(s,a),this._updateLambdaStatement(n,s,a),new kf(u.getToken(),s,this._interpreter,[...a.keys()])}checkAndCreateNodeType(u){if(!(!(u instanceof ae)||u.getToken().trim().toUpperCase()!==_r))return this.create(u)}_updateLambdaStatement(u,e,t){sa(u,e,t)}};exports.LambdaNodeFactory=Bf([ni(0,ft),ni(1,M.Inject(exports.Interpreter))],exports.LambdaNodeFactory);function lo(i){if(!i)return;if(i.getToken()!==Nr)return i;const u=i,e=u.getCurrentLambdaPrivacyVar(),t=u.getLambdaParameter();if(e)return lo(e.get(t))}class $f extends ke{constructor(u,e,t){super(u),this._lambdaParameter=e,this._currentLambdaPrivacyVar=t}getLambdaParameter(){return this._lambdaParameter}getCurrentLambdaPrivacyVar(){return this._currentLambdaPrivacyVar}get nodeType(){return ie.LAMBDA_PARAMETER}execute(){const u=lo(this._currentLambdaPrivacyVar.get(this._lambdaParameter));if(u)this.setValue(u.getValue());else{const e=this.getValue();(e==null||e.isError())&&this.setValue(g.create(h.NAME))}}}class aa extends gt{get zIndex(){return mt.get(ie.LAMBDA_PARAMETER)||ht}create(u){const e=u.getFunctionDefinitionPrivacyVar(),t=u.getLambdaParameter();return e?new $f(u.getToken(),t,e):new De(h.NAME)}checkAndCreateNodeType(u){if(!(!(u instanceof ae)||u.getToken().trim()!==Nr))return this.create(u)}}class Yf extends ke{constructor(u){super(u),this._operatorString=u}get nodeType(){return ie.NULL}execute(){this.setValue(ue.create())}}var H=(i=>(i.ABS="ABS",i.ACOS="ACOS",i.ACOSH="ACOSH",i.ACOT="ACOT",i.ACOTH="ACOTH",i.AGGREGATE="AGGREGATE",i.ARABIC="ARABIC",i.ASIN="ASIN",i.ASINH="ASINH",i.ATAN="ATAN",i.ATAN2="ATAN2",i.ATANH="ATANH",i.BASE="BASE",i.CEILING="CEILING",i.CEILING_MATH="CEILING.MATH",i.CEILING_PRECISE="CEILING.PRECISE",i.COMBIN="COMBIN",i.COMBINA="COMBINA",i.COS="COS",i.COSH="COSH",i.COT="COT",i.COTH="COTH",i.CSC="CSC",i.CSCH="CSCH",i.DECIMAL="DECIMAL",i.DEGREES="DEGREES",i.EVEN="EVEN",i.EXP="EXP",i.FACT="FACT",i.FACTDOUBLE="FACTDOUBLE",i.FLOOR="FLOOR",i.FLOOR_MATH="FLOOR.MATH",i.FLOOR_PRECISE="FLOOR.PRECISE",i.GCD="GCD",i.INT="INT",i.ISO_CEILING="ISO.CEILING",i.LCM="LCM",i.LET="LET",i.LN="LN",i.LOG="LOG",i.LOG10="LOG10",i.MDETERM="MDETERM",i.MINVERSE="MINVERSE",i.MMULT="MMULT",i.MOD="MOD",i.MROUND="MROUND",i.MULTINOMIAL="MULTINOMIAL",i.MUNIT="MUNIT",i.ODD="ODD",i.PI="PI",i.POWER="POWER",i.PRODUCT="PRODUCT",i.QUOTIENT="QUOTIENT",i.RADIANS="RADIANS",i.RAND="RAND",i.RANDARRAY="RANDARRAY",i.RANDBETWEEN="RANDBETWEEN",i.ROMAN="ROMAN",i.ROUND="ROUND",i.ROUNDBANK="ROUNDBANK",i.ROUNDDOWN="ROUNDDOWN",i.ROUNDUP="ROUNDUP",i.SEC="SEC",i.SECH="SECH",i.SERIESSUM="SERIESSUM",i.SEQUENCE="SEQUENCE",i.SIGN="SIGN",i.SIN="SIN",i.SINH="SINH",i.SQRT="SQRT",i.SQRTPI="SQRTPI",i.SUBTOTAL="SUBTOTAL",i.SUM="SUM",i.SUMIF="SUMIF",i.SUMIFS="SUMIFS",i.SUMPRODUCT="SUMPRODUCT",i.SUMSQ="SUMSQ",i.SUMX2MY2="SUMX2MY2",i.SUMX2PY2="SUMX2PY2",i.SUMXMY2="SUMXMY2",i.TAN="TAN",i.TANH="TANH",i.TRUNC="TRUNC",i))(H||{}),se=(i=>(i.ASC="ASC",i.ARRAYTOTEXT="ARRAYTOTEXT",i.BAHTTEXT="BAHTTEXT",i.CHAR="CHAR",i.CLEAN="CLEAN",i.CODE="CODE",i.CONCAT="CONCAT",i.CONCATENATE="CONCATENATE",i.DBCS="DBCS",i.DOLLAR="DOLLAR",i.EXACT="EXACT",i.FIND="FIND",i.FINDB="FINDB",i.FIXED="FIXED",i.LEFT="LEFT",i.LEFTB="LEFTB",i.LEN="LEN",i.LENB="LENB",i.LOWER="LOWER",i.MID="MID",i.MIDB="MIDB",i.NUMBERSTRING="NUMBERSTRING",i.NUMBERVALUE="NUMBERVALUE",i.PHONETIC="PHONETIC",i.PROPER="PROPER",i.REGEXEXTRACT="REGEXEXTRACT",i.REGEXMATCH="REGEXMATCH",i.REGEXREPLACE="REGEXREPLACE",i.REPLACE="REPLACE",i.REPLACEB="REPLACEB",i.REPT="REPT",i.RIGHT="RIGHT",i.RIGHTB="RIGHTB",i.SEARCH="SEARCH",i.SEARCHB="SEARCHB",i.SUBSTITUTE="SUBSTITUTE",i.T="T",i.TEXT="TEXT",i.TEXTAFTER="TEXTAFTER",i.TEXTBEFORE="TEXTBEFORE",i.TEXTJOIN="TEXTJOIN",i.TEXTSPLIT="TEXTSPLIT",i.TRIM="TRIM",i.UNICHAR="UNICHAR",i.UNICODE="UNICODE",i.UPPER="UPPER",i.VALUE="VALUE",i.VALUETOTEXT="VALUETOTEXT",i.CALL="CALL",i.EUROCONVERT="EUROCONVERT",i.REGISTER_ID="REGISTER.ID",i))(se||{}),Hf=Object.getOwnPropertyDescriptor,Gf=(i,u,e,t)=>{for(var r=t>1?void 0:t?Hf(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Wf=(i,u)=>(e,t)=>u(e,t,i);class Qf extends ke{constructor(u,e){super(u),this._functionExecutor=e}get nodeType(){return ie.OPERATOR}execute(){const u=this.getChildren();this._functionExecutor.name===Pe.COMPARE&&this._functionExecutor.setCompareType(this.getToken());const e=u[0],t=u[1];let r=e==null?void 0:e.getValue(),n=t==null?void 0:t.getValue();const s=this.getToken();if((r==null||n==null)&&s!==X.MINUS&&s!==X.PLUS){this.setValue(g.create(h.VALUE));return}r==null&&(r=ue.create()),n==null&&(n=ue.create()),r.isReferenceObject()&&(r=r.toArrayValueObject()),n.isReferenceObject()&&(n=n.toArrayValueObject()),this.setValue(this._functionExecutor.calculate(r,n))}}exports.OperatorNodeFactory=class extends gt{constructor(u){super(),this._functionService=u}get zIndex(){return mt.get(ie.OPERATOR)||ht}create(u){let e="";const t=u;t===X.PLUS?e=Pe.PLUS:t===X.MINUS?e=Pe.MINUS:t===X.MULTIPLY?e=Pe.MULTIPLY:t===X.DIVIDED?e=Pe.DIVIDED:t===X.CONCATENATE?e=se.CONCATENATE:t===X.POWER?e=H.POWER:Ku.has(t)&&(e=Pe.COMPARE);const r=this._functionService.getExecutor(e);return r?new Qf(t,r):(console.error(`No function ${u}`),De.create(h.NAME))}checkAndCreateNodeType(u){if(u instanceof ae)return;const e=u.trim();if(!(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')&&Nt.has(e))return this.create(e)}};exports.OperatorNodeFactory=Gf([Wf(0,bt)],exports.OperatorNodeFactory);var qf=Object.getOwnPropertyDescriptor,Kf=(i,u,e,t)=>{for(var r=t>1?void 0:t?qf(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},as=(i,u)=>(e,t)=>u(e,t,i);class is extends ke{constructor(e,t,r,n,s=!1){super(r);A(this,"_refOffsetX",0);A(this,"_refOffsetY",0);this._currentConfigService=e,this._runtimeService=t,this._referenceObjectType=n,this._isPrepareMerge=s}get nodeType(){return ie.REFERENCE}execute(){const e=this._currentConfigService,t=this._runtimeService,r=Ef(this.getToken(),this._referenceObjectType);r.setDefaultUnitId(t.currentUnitId),r.setDefaultSheetId(t.currentSubUnitId),r.setForcedSheetId(e.getSheetNameMap()),r.setUnitData(e.getUnitData()),r.setArrayFormulaCellData(e.getArrayFormulaCellData()),r.setRuntimeData(t.getUnitData()),r.setUnitStylesData(e.getUnitStylesData()),r.setRuntimeArrayFormulaCellData(t.getRuntimeArrayFormulaCellData()),r.setRuntimeFeatureCellData(t.getRuntimeFeatureCellData());const{x:n,y:s}=this.getRefOffset();r.setRefOffset(n,s),!this._isPrepareMerge&&r.isExceedRange()?this.setValue(g.create(h.NAME)):this.setValue(r)}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}}exports.ReferenceNodeFactory=class extends gt{constructor(u,e,t){super(),this._currentConfigService=u,this._formulaRuntimeService=e,this._functionService=t}get zIndex(){return mt.get(ie.REFERENCE)||ht}checkAndCreateNodeType(u){var f,m;let e=!1,t,r=!1;u instanceof ae?(e=!0,t=u.getToken().trim(),((m=(f=u.getParent())==null?void 0:f.getParent())==null?void 0:m.getToken().trim())===K.COLON&&(r=!0)):t=u.trim();const n=this._currentConfigService,s=this._formulaRuntimeService,{tokenTrim:a,minusPrefixNode:o,atPrefixNode:c}=oo(t,this._functionService,s);if(!e&&a.charAt(0)==='"'&&a.charAt(a.length-1)==='"')return;let l;if(pr(a)?l=new is(n,s,a,Xr.CELL,r):e&&this._checkParentIsUnionOperator(u)&&(Di(a)?l=new is(n,s,a,Xr.ROW,r):wi(a)&&(l=new is(n,s,a,Xr.COLUMN,r))),l)return c?l.setParent(c):o&&l.setParent(o),l}_checkParentIsUnionOperator(u){var e,t;return((t=(e=u.getParent())==null?void 0:e.getParent())==null?void 0:t.getToken().trim())===K.COLON}};exports.ReferenceNodeFactory=Kf([as(0,At),as(1,ft),as(2,bt)],exports.ReferenceNodeFactory);var Xf=Object.getOwnPropertyDescriptor,Zf=(i,u,e,t)=>{for(var r=t>1?void 0:t?Xf(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},os=(i,u)=>(e,t)=>u(e,t,i);class si extends ke{constructor(u,e,t,r){super(t),this._currentConfigService=u,this._lexer=e,this._operatorString=t,this._functionExecutor=r}get nodeType(){return ie.SUFFIX}execute(){var r;let e=(r=this.getChildren()[0])==null?void 0:r.getValue(),t;if(e==null){this.setValue(g.create(h.ERROR));return}if(this._operatorString===Qe.PERCENTAGE){if(e.isReferenceObject()&&(e=e.toArrayValueObject()),t=this._functionExecutor.calculate(e,R.create(100)),t.isNumber()){const n=Number(t.getValue());t=R.create(n,"0.00%")}}else this._operatorString===Qe.POUND?t=this._handlerPound(e):t=g.create(h.VALUE);this.setValue(t)}_handlerPound(u){var o,c,l,f;if(!u.isReferenceObject()||!u.isCell())return g.create(h.VALUE);const e=u,t=e.getRangePosition(),r=e.getUnitId(),n=e.getSheetId(),s=this._currentConfigService.getFormulaData(),a=(f=(l=(c=(o=s==null?void 0:s[r])==null?void 0:o[n])==null?void 0:c[t.startRow])==null?void 0:l[t.startColumn])==null?void 0:f.f;return a&&this._lexer.treeBuilder(a),g.create(h.VALUE)}}exports.SuffixNodeFactory=class extends gt{constructor(u,e,t){super(),this._functionService=u,this._lexer=e,this._currentConfigService=t}get zIndex(){return mt.get(ie.SUFFIX)||ht}checkAndCreateNodeType(u){if(!(u instanceof ae))return;const e=u.getToken().trim();if(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')return;let t="";if(e===Qe.PERCENTAGE)t=Pe.DIVIDED;else return e===Qe.POUND?new si(this._currentConfigService,this._lexer,e):void 0;const r=this._functionService.getExecutor(t);return r?new si(this._currentConfigService,this._lexer,e,r):(console.error(`No function ${u}`),De.create(h.NAME))}};exports.SuffixNodeFactory=Zf([os(0,bt),os(1,M.Inject(exports.Lexer)),os(2,At)],exports.SuffixNodeFactory);var zf=Object.getOwnPropertyDescriptor,Jf=(i,u,e,t)=>{for(var r=t>1?void 0:t?zf(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},em=(i,u)=>(e,t)=>u(e,t,i);class tm extends ke{constructor(u){super(u)}get nodeType(){return ie.UNION}execute(){const u=this.getChildren(),e=u[0],t=u[1],r=e.getValue(),n=t.getValue();if(r==null||n==null)throw new Error("leftNode and rightNode");let s;this.getToken()===K.COLON?s=this._unionFunction(r,n):s=g.create(h.NAME),this.setValue(s)}_unionFunction(u,e){return u.isError()||e.isError()||!u.isReferenceObject()||!e.isReferenceObject()?g.create(h.REF):(u=u,e=e,bf(u,e))}}exports.UnionNodeFactory=class extends gt{constructor(u){super(),this._functionService=u}get zIndex(){return mt.get(ie.UNION)||ht}create(u){return new tm(u)}checkAndCreateNodeType(u){if(!(u instanceof ae))return;const t=u.getToken().trim();if(!(t.charAt(0)==='"'&&t.charAt(t.length-1)==='"')&&t===K.COLON)return this.create(t)}};exports.UnionNodeFactory=Jf([em(0,bt)],exports.UnionNodeFactory);class rm extends ke{constructor(u){super(u)}get nodeType(){return ie.VALUE}execute(){var e,t,r;const u=((e=this.getParent())==null?void 0:e.nodeType)===ie.FUNCTION&&((r=(t=this.getParent())==null?void 0:t.isFunctionExecutorArgumentsIgnoreNumberPattern)==null?void 0:r.call(t));this.setValue(lt.create(this.getToken(),u))}}class ia extends gt{get zIndex(){return mt.get(ie.VALUE)||ht}_checkValueNode(u){if(Number.isNaN(Number(u))){const e=u.trim(),t=e.charAt(0),r=e.charAt(e.length-1);if(jt.has(e))return this.create(e);if(t==='"'&&r==='"')return this.create(e);if(t==="{"&&r==="}")return this.create(e);const n=e.toUpperCase();if(n===wt.TRUE||n===wt.FALSE)return this.create(n)}else return this.create(u)}create(u){return new rm(u)}checkAndCreateNodeType(u){if(!(u instanceof ae))return this._checkValueNode(u)}}var nm=Object.getOwnPropertyDescriptor,sm=(i,u,e,t)=>{for(var r=t>1?void 0:t?nm(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},et=(i,u)=>(e,t)=>u(e,t,i);exports.AstTreeBuilder=class extends M.Disposable{constructor(e,t,r,n,s,a,o,c,l,f,m){super();A(this,"_astNodeFactoryList",[]);this._runtimeService=e,this._astRootNodeFactory=t,this._functionNodeFactory=r,this._lambdaNodeFactory=n,this._lambdaParameterNodeFactory=s,this._operatorNodeFactory=a,this._prefixNodeFactory=o,this._referenceNodeFactory=c,this._suffixNodeFactory=l,this._unionNodeFactory=f,this._valueNodeFactory=m,this._initializeAstNode()}dispose(){this._astNodeFactoryList.forEach(e=>{e.dispose()}),this._astNodeFactoryList=[]}parse(e){const t=new Ls(St),r=this._parse(e,t);return e.hasDefinedNames()&&(r==null||r.setDefinedNames(e.getDefinedNames())),r}_lambdaParameterHandler(e,t){if(t.getLambdaId==null)return De.create(h.VALUE);const r=t.getLambdaId(),n=new Ls(St),s=this._runtimeService.getFunctionDefinitionPrivacyVar(r);if(!s)return!1;const a=[...s.keys()],o=e.getChildren(),c=o.length;for(let l=0;l<c;l++){const f=o[l];if(f instanceof ae){sa(f,r,s),this._parse(f,n);const d=n.getChildren()[l];d!=null&&s.set(a[l],d)}else return!1}return n.setParent(t),t}_changeLetToLambda(e){const t=e.getChildren(),r=t.length;if(r%2!==1||r===0)return;const n=new ae;n.setToken(_r);const s=new ae;s.setToken(nr);const a=[...t];for(let c=0;c<r;c++){const l=a[c];if(!(l instanceof ae))return;c%2===0?l.changeToParent(n):l.changeToParent(s)}n.addChildrenFirst(s),s.setParent(n);const o=e.getParent();return o==null||o.replaceChild(e,n),n}_parse(e,t){var f;const r=e.getChildren(),n=r.length,s=[];let a=null;const o=e.getToken().trim().toUpperCase();if(o===Oc){const m=this._changeLetToLambda(e);return m!=null?this._parse(m,t):De.create(h.ERROR)}if(o===at){if(a=t,n===0)return new Yf(St).setParent(t),a}else{if(o===nr){let m=this._lambdaParameterHandler(e,t);return m===!1&&(m=De.create(h.ERROR)),m}if(a=this._checkAstNode(e),a==null)return De.create(h.NAME)}const c=r[0];for(let m=0;m<n;m++){const d=r[m];if(uo(c)){if(m!==0&&m!==n-1)continue}else if(Tf(d)&&m!==n-1)continue;let _=null;if(d instanceof ae){if(d.getToken()===at&&d.getChildren().length===0){const C=(f=d.getParent())==null?void 0:f.getChildren();if(C&&C.length===1)return De.create(h.NAME)}if(_=this._parse(d,a),_===a)continue}else _=this._checkAstNode(d);if(_==null)return De.create(h.NAME);if(_=If(_),_==null||(_==null?void 0:_.nodeType)===ie.ERROR)return _;switch(_.nodeType){case ie.FUNCTION:{const C=_.getToken().trim().toUpperCase();Sc.has(C)&&_.setForcedCalculateFunction(),s.push(_);break}case ie.LAMBDA:s.push(_);break;case ie.LAMBDA_PARAMETER:s.push(_);break;case ie.OPERATOR:{const C=s.pop(),E=s.pop();E&&E.setParent(_),C&&C.setParent(_),s.push(_);break}case ie.REFERENCE:s.push(_);break;case ie.ROOT:s.push(_);break;case ie.UNION:s.push(_);break;case ie.VALUE:s.push(_);break;case ie.PREFIX:s.push(_);break;case ie.SUFFIX:s.push(_);break}}const l=s.length;for(let m=0;m<l;m++)s[m].setParent(a);return a}_checkAstNode(e){let t=null;const r=this._astNodeFactoryList.length;for(let n=0;n<r&&(t=this._astNodeFactoryList[n].checkAndCreateNodeType(e),t==null);n++);return t==null?new Pf:t}_initializeAstNode(){this._astNodeFactoryList=[this._astRootNodeFactory,this._functionNodeFactory,this._lambdaNodeFactory,this._lambdaParameterNodeFactory,this._operatorNodeFactory,this._prefixNodeFactory,this._referenceNodeFactory,this._suffixNodeFactory,this._unionNodeFactory,this._valueNodeFactory].sort(M.sortRules)}};exports.AstTreeBuilder=sm([et(0,ft),et(1,M.Inject(na)),et(2,M.Inject(exports.FunctionNodeFactory)),et(3,M.Inject(exports.LambdaNodeFactory)),et(4,M.Inject(aa)),et(5,M.Inject(exports.OperatorNodeFactory)),et(6,M.Inject(exports.PrefixNodeFactory)),et(7,M.Inject(exports.ReferenceNodeFactory)),et(8,M.Inject(exports.SuffixNodeFactory)),et(9,M.Inject(exports.UnionNodeFactory)),et(10,M.Inject(ia))],exports.AstTreeBuilder);class fo extends M.Disposable{constructor(){super(...arguments);A(this,"_otherFormulaData",new Map);A(this,"_featureFormulaData",new Map);A(this,"_formulaData",new Map);A(this,"_definedNameMap",new Map);A(this,"_otherFormulaDataMainData",new Set);A(this,"_dependencyRTreeCache",new M.RTree);A(this,"_dependencyTreeIdLast",0)}buildDependencyTree(e,t){throw new Error("Method not implemented.")}getTreeById(e){throw new Error("Method not implemented.")}getAllTree(){throw new Error("Method not implemented.")}reset(){throw new Error("Method not implemented.")}addOtherFormulaDependency(e,t,r,n){throw new Error("Method not implemented.")}removeOtherFormulaDependency(e,t,r){throw new Error("Method not implemented.")}clearOtherFormulaDependency(e,t){throw new Error("Method not implemented.")}addFeatureFormulaDependency(e,t,r,n){throw new Error("Method not implemented.")}removeFeatureFormulaDependency(e,t,r){throw new Error("Method not implemented.")}clearFeatureFormulaDependency(e,t){throw new Error("Method not implemented.")}addFormulaDependency(e,t,r,n,s){throw new Error("Method not implemented.")}removeFormulaDependency(e,t,r,n){throw new Error("Method not implemented.")}clearFormulaDependency(e,t){throw new Error("Method not implemented.")}removeFormulaDependencyByDefinedName(e,t){throw new Error("Method not implemented.")}searchDependency(e,t){return this._dependencyRTreeCache.bulkSearch(e,t)}_restDependencyTreeId(){this._dependencyTreeIdLast=0}getOtherFormulaDependency(e,t,r){var n,s;return(s=(n=this._otherFormulaData.get(e))==null?void 0:n.get(t))==null?void 0:s.get(r)}addOtherFormulaDependencyMainData(e){this._otherFormulaDataMainData.add(e)}hasOtherFormulaDataMainData(e){return this._otherFormulaDataMainData.has(e)}_removeDependencyRTreeCacheById(e,t){this._dependencyRTreeCache.removeById(e,t)}getFeatureFormulaDependency(e,t,r){var n,s;return(s=(n=this._featureFormulaData.get(e))==null?void 0:n.get(t))==null?void 0:s.get(r)}getFormulaDependency(e,t,r,n){var s,a;return(a=(s=this._formulaData.get(e))==null?void 0:s.get(t))==null?void 0:a.getValue(r,n)}addDependencyRTreeCache(e){const t=[];for(let r=0;r<e.rangeList.length;r++){const n=e.rangeList[r],{unitId:s,sheetId:a,range:o}=n;t.push({unitId:s,sheetId:a,range:o,id:e.treeId})}this._dependencyRTreeCache.bulkInsert(t),this._addAllTreeMap(e)}getLastTreeId(){const e=this._dependencyTreeIdLast;return this._dependencyTreeIdLast++,e}_addAllTreeMap(e){throw new Error("Method not implemented.")}_addDefinedName(e,t,r){this._definedNameMap.has(e)||this._definedNameMap.set(e,new Map);const n=this._definedNameMap.get(e);n.has(t)||n.set(t,new Set),n.get(t).add(r)}addFormulaDependencyByDefinedName(e,t){const r=e.treeId,n=(t==null?void 0:t.getDefinedNames())||[];for(const s of n)this._addDefinedName(e.unitId,s,r)}}class mo extends fo{constructor(){super(...arguments);A(this,"_allTreeMap",new Map)}dispose(){super.dispose(),this.reset()}buildDependencyTree(e,t=[]){const r=this.getAllTree();return e.length===0?(this._buildReverseDependency(r,t),r):(this._buildDependencyTree(r,e),this._buildReverseDependency(r,e),r)}_buildDependencyTree(e,t){const r=new Map;for(let n=0;n<t.length;n++){const s=t[n];r.set(s.treeId,s)}for(let n=0;n<e.length;n++){const s=e[n],a=s.toRTreeItem(),o=this._dependencyRTreeCache.bulkSearch(a);for(const c of o){const l=r.get(c);l&&s!==l&&!l.hasChildren(s.treeId)&&l.pushChildren(s)}}r.clear()}_buildReverseDependency(e,t){const r=new Map;for(let n=0;n<e.length;n++){const s=e[n];r.set(s.treeId,s)}for(let n=0;n<t.length;n++){const s=t[n],a=s.toRTreeItem(),o=this._dependencyRTreeCache.bulkSearch(a);for(const c of o){const l=r.get(c);l&&s!==l&&!l.hasChildren(s.treeId)&&l.pushChildren(s)}}r.clear()}getAllTree(){const e=[];return this._allTreeMap.forEach(t=>{t.resetState(),e.push(t)}),e}getTreeById(e){return this._allTreeMap.get(e)}reset(){this._otherFormulaData.clear(),this._featureFormulaData.clear(),this._formulaData.clear(),this._definedNameMap.clear(),this._otherFormulaDataMainData.clear(),this._dependencyRTreeCache.clear(),this._allTreeMap.clear(),this._restDependencyTreeId()}addOtherFormulaDependency(e,t,r,n){this._otherFormulaData.has(e)||this._otherFormulaData.set(e,new Map);const s=this._otherFormulaData.get(e);s.has(t)||s.set(t,new Map);const a=s.get(t);a.has(r)||a.set(r,new M.ObjectMatrix),a.get(r).setValue(n.refOffsetX,n.refOffsetY,n.treeId),this._addAllTreeMap(n)}removeOtherFormulaDependency(e,t,r){const n=this._otherFormulaData.get(e);if(n&&n.has(t)){const s=n.get(t);r.forEach(a=>{const o=s.get(a);o!=null&&(o.forValue((c,l,f)=>{this._removeDependencyRTreeCache(f),this.clearDependencyForTree(this._allTreeMap.get(f)),this._removeAllTreeMap(f)}),s.delete(a),this._otherFormulaDataMainData.delete(a))}),s.size===0&&n.delete(t),n.size===0&&this._otherFormulaData.delete(e)}}clearOtherFormulaDependency(e,t){const r=this._otherFormulaData.get(e);if(t&&r&&r.has(t)){const n=r.get(t);this._removeDependencyRTreeCacheById(e,t);for(const s of n.keys()){const a=n.get(s);a!=null&&(a.forValue((o,c,l)=>{const f=this._allTreeMap.get(l);f&&(this.clearDependencyForTree(f),this._removeAllTreeMap(l))}),this._otherFormulaDataMainData.delete(s))}n.clear()}else if(r){for(const n of r.keys()){const s=r.get(n);this._removeDependencyRTreeCacheById(e,n);for(const a of s.keys()){const o=s.get(a);o!=null&&(o.forValue((c,l,f)=>{const m=this._allTreeMap.get(f);m&&(this.clearDependencyForTree(m),this._removeAllTreeMap(f))}),this._otherFormulaDataMainData.delete(a))}}this._otherFormulaData.delete(e)}}addFeatureFormulaDependency(e,t,r,n){this._featureFormulaData.has(e)||this._featureFormulaData.set(e,new Map);const s=this._featureFormulaData.get(e);s.has(t)||s.set(t,new Map),s.get(t).set(r,n.treeId),this._addAllTreeMap(n)}removeFeatureFormulaDependency(e,t,r){const n=this._featureFormulaData.get(e);if(n&&n.has(t)){const s=n.get(t);r.forEach(a=>{const o=s.get(a);o!=null&&(this._removeDependencyRTreeCache(o),s.delete(a),this.clearDependencyForTree(this._allTreeMap.get(o)),this._removeAllTreeMap(o))})}}clearFeatureFormulaDependency(e,t){const r=this._featureFormulaData.get(e);if(t&&r&&r.has(t)){const n=r.get(t);this._removeDependencyRTreeCacheById(e,t),n.forEach(s=>{s!=null&&(this.clearDependencyForTree(this._allTreeMap.get(s)),this._removeAllTreeMap(s))}),n.clear()}else r&&(r.forEach((n,s)=>{this._removeDependencyRTreeCacheById(e,s),n.forEach(a=>{a!=null&&(this.clearDependencyForTree(this._allTreeMap.get(a)),this._removeAllTreeMap(a))})}),this._featureFormulaData.delete(e))}addFormulaDependency(e,t,r,n,s){this._formulaData.has(e)||this._formulaData.set(e,new Map);const a=this._formulaData.get(e);a.has(t)||a.set(t,new M.ObjectMatrix),a.get(t).setValue(r,n,s.treeId),this._addAllTreeMap(s)}removeFormulaDependency(e,t,r,n){const s=this._formulaData.get(e);if(s&&s.has(t)){const a=s.get(t),o=a.getValue(r,n);if(o==null)return;this._removeDependencyRTreeCache(o),a.realDeleteValue(r,n),this.clearDependencyForTree(this._allTreeMap.get(o)),this._removeAllTreeMap(o)}}clearFormulaDependency(e,t){const r=this._formulaData.get(e);if(t&&r&&r.has(t)){const n=r.get(t);this._removeDependencyRTreeCacheById(e,t),n.forValue((s,a,o)=>{if(o==null)return!0;this.clearDependencyForTree(this._allTreeMap.get(o)),this._removeAllTreeMap(o)}),n.reset()}else r&&(r.forEach((n,s)=>{this._removeDependencyRTreeCacheById(e,s),n.forValue((a,o,c)=>{if(c==null)return!0;this.clearDependencyForTree(this._allTreeMap.get(c)),this._removeAllTreeMap(c)})}),this._formulaData.delete(e))}clearDependencyForTree(e){if(e==null)return;const t=e.parents,r=e.children,n=this._allTreeMap;for(const s of t){const a=n.get(s);a==null||a.children.delete(e.treeId)}for(const s of r){const a=n.get(s);a==null||a.parents.delete(e.treeId)}e.dispose()}_removeDependencyRTreeCache(e){if(e==null)return;const t=this._allTreeMap.get(e);if(t){const r=[];for(let n=0;n<t.rangeList.length;n++){const s=t.rangeList[n],{unitId:a,sheetId:o,range:c}=s;r.push({unitId:a,sheetId:o,range:c,id:e})}this._dependencyRTreeCache.bulkRemove(r)}}removeFormulaDependencyByDefinedName(e,t){const r=this._definedNameMap.get(e);if(r){const n=r.get(t);if(n){for(const s of n)this._removeDependencyRTreeCache(s),this.clearDependencyForTree(this._allTreeMap.get(s)),this._removeAllTreeMap(s);n.clear()}}}_removeAllTreeMap(e){e!=null&&this._allTreeMap.delete(e)}_addAllTreeMap(e){this._allTreeMap.set(e.treeId,e)}}const Dr=M.createIdentifier("univer.formula.dependency-manager.service");class ho extends M.Disposable{constructor(){super(...arguments);A(this,"_referenceExecutorMap",new Map);A(this,"_onChanged$",new Ie.Subject);A(this,"onChanged$",this._onChanged$.asObservable())}dispose(){super.dispose(),this._referenceExecutorMap.clear(),this._onChanged$.complete()}remove(e,t,r){r.forEach(n=>{var s,a;(a=(s=this._referenceExecutorMap.get(e))==null?void 0:s.get(t))==null||a.delete(n)}),this._onChanged$.next({unitId:e,subUnitId:t,featureIds:r})}get(e,t,r){var n,s;return(s=(n=this._referenceExecutorMap.get(e))==null?void 0:n.get(t))==null?void 0:s.get(r)}has(e,t,r){var n,s;return!!((s=(n=this._referenceExecutorMap.get(e))==null?void 0:n.get(t))!=null&&s.has(r))}register(e,t,r,n){let s=this._referenceExecutorMap.get(e);s||(s=new Map,this._referenceExecutorMap.set(e,s));let a=s.get(t);a||(a=new Map,s.set(t,a)),this._onChanged$.next({unitId:e,subUnitId:t,featureIds:[r]}),a.set(r,n)}getReferenceExecutorMap(){return this._referenceExecutorMap}}const ar=M.createIdentifier("univer.formula.feature-calculation-manager.service");class go extends M.Disposable{constructor(){super(...arguments);A(this,"_otherFormulaData",{})}dispose(){super.dispose(),this._otherFormulaData={}}remove(e){var s,a,o;const{unitId:t,subUnitId:r,formulaId:n}=e;(o=(a=(s=this._otherFormulaData)==null?void 0:s[t])==null?void 0:a[r])==null||delete o[n]}get(e){var s,a;const{unitId:t,subUnitId:r,formulaId:n}=e;return(a=(s=this._otherFormulaData[t])==null?void 0:s[r])==null?void 0:a[n]}has(e){var s,a;const{unitId:t,subUnitId:r,formulaId:n}=e;return((a=(s=this._otherFormulaData[t])==null?void 0:s[r])==null?void 0:a[n])!=null}register(e){const{unitId:t,subUnitId:r,formulaId:n,item:s}=e;this._otherFormulaData[t]||(this._otherFormulaData[t]={}),this._otherFormulaData[t][r]||(this._otherFormulaData[t][r]={}),this._otherFormulaData[t][r][n]=s}batchRegister(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;Object.keys(r).forEach(n=>{const s=r[n];if(s==null)return!0;Object.keys(s).forEach(a=>{const o=s[a];if(o==null)return!0;this.register({unitId:t,subUnitId:n,formulaId:a,item:o})})})})}batchRemove(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;Object.keys(r).forEach(n=>{const s=r[n];if(s==null)return!0;Object.keys(s).forEach(a=>{this.remove({unitId:t,subUnitId:n,formulaId:a})})})})}getOtherFormulaData(){return this._otherFormulaData}}const Yn=M.createIdentifier("univer.formula.other-formula-manager.service");var fn=(i=>(i[i.NORMAL_FORMULA=0]="NORMAL_FORMULA",i[i.OTHER_FORMULA=1]="OTHER_FORMULA",i[i.FEATURE_FORMULA=2]="FEATURE_FORMULA",i))(fn||{});class Co{constructor(){A(this,"_state",0);A(this,"treeId");A(this,"children",new Set);A(this,"parents",new Set)}resetState(){this._state=0}setAdded(){this._state=1}isAdded(){return this._state===1}setSkip(){this._state=2}isSkip(){return this._state===2}pushChildren(u){this.children.add(u.treeId),u._pushParent(this)}hasChildren(u){return this.children.has(u)}_pushParent(u){this.parents.add(u.treeId)}}class js extends Co{constructor(){super(...arguments);A(this,"refTree");A(this,"refOffsetX",-1);A(this,"refOffsetY",-1);A(this,"isCache",!1);A(this,"isDirty",!1);A(this,"addressFunctionNodes",[]);A(this,"getDirtyData");A(this,"featureId")}get isVirtual(){return!0}get row(){return this.refTree==null?-1:this.refTree.row+this.refOffsetY}get column(){return this.refTree==null?-1:this.refTree.column+this.refOffsetX}get rowCount(){return this.refTree==null?0:this.refTree.rowCount}get columnCount(){return this.refTree==null?0:this.refTree.columnCount}get unitId(){return this.refTree==null?"":this.refTree.unitId}get subUnitId(){return this.refTree==null?"":this.refTree.subUnitId}get formula(){var e,t;return(t=(e=this.refTree)==null?void 0:e.formula)!=null?t:""}get nodeData(){return{node:this.node,refOffsetX:this.refOffsetX,refOffsetY:this.refOffsetY}}get node(){var e;return(e=this.refTree)==null?void 0:e.node}dispose(){this.refTree=null}get rangeList(){const e=[];if(this.refTree==null)return[];for(let t=0;t<this.refTree.rangeList.length;t++){const r=this.refTree.rangeList[t];e.push({unitId:r.unitId,sheetId:r.sheetId,range:M.moveRangeByOffset(r.range,this.refOffsetX,this.refOffsetY)})}return e}toRTreeItem(){const e=this.row,t=this.column;return[{unitId:this.unitId,sheetId:this.subUnitId,range:{startRow:e,startColumn:t,endRow:e,endColumn:t}}]}inRangeData(e){const t=e.startRow,r=e.startColumn,n=e.endRow,s=e.endColumn,a=this.row,o=this.column;return!(a<t||a>n||o<r||o>s)}dependencySheetName(e){return this.refTree==null?!1:this.refTree.dependencySheetName(e)}isExcludeRange(e){var r;const t=this.rangeList;if(t.length===0)return!1;for(let n=0,s=t.length;n<s;n++){const a=t[n],{unitId:o,sheetId:c,range:l}=a,f=(r=e==null?void 0:e[o])==null?void 0:r[c];let{startRow:m,endRow:d,startColumn:_,endColumn:C}=l;Number.isNaN(m)&&(m=0),Number.isNaN(_)&&(_=0),Number.isNaN(d)&&(d=Number.POSITIVE_INFINITY),Number.isNaN(C)&&(C=Number.POSITIVE_INFINITY);let E=!1;if(f==null||f.forValue((b,y)=>{if(b>=m&&b<=d&&y>=_&&y<=C)return E=!0,!1}),E)return!0}return!1}get formulaId(){return this.refTree==null?"":this.refTree.formulaId}}class Zr extends Co{constructor(e){super();A(this,"isCache",!1);A(this,"featureId");A(this,"featureDirtyRanges",[]);A(this,"refOffsetX",0);A(this,"refOffsetY",0);A(this,"type",0);A(this,"formulaId");A(this,"subUnitId","");A(this,"unitId","");A(this,"rangeList",[]);A(this,"formula","");A(this,"row",-1);A(this,"column",-1);A(this,"rowCount",Number.NEGATIVE_INFINITY);A(this,"columnCount",Number.NEGATIVE_INFINITY);A(this,"isDirty",!1);A(this,"node");A(this,"addressFunctionNodes",[]);A(this,"getDirtyData");this.treeId=e}get isVirtual(){return!1}get nodeData(){return{node:this.node,refOffsetX:0,refOffsetY:0}}toJson(){return{formula:this.formula,refOffsetX:this.refOffsetX,refOffsetY:this.refOffsetY}}dispose(){this.featureDirtyRanges=[],this.rangeList=[],this.addressFunctionNodes=[],this.getDirtyData=null}inRangeData(e){const t=e.startRow,r=e.startColumn,n=e.endRow,s=e.endColumn,a=this.row,o=this.column;return!(a<t||a>n||o<r||o>s)}dependencySheetName(e){var r;const t=this.rangeList;if(t.length===0||e==null)return!1;for(let n=0,s=t.length;n<s;n++){const a=t[n],{unitId:o,sheetId:c}=a;if(((r=e[o])==null?void 0:r[c])!=null)return!0}return!1}isExcludeRange(e){var r;const t=this.rangeList;if(t.length===0)return!1;for(let n=0,s=t.length;n<s;n++){const a=t[n],{unitId:o,sheetId:c,range:l}=a,f=(r=e==null?void 0:e[o])==null?void 0:r[c];let{startRow:m,endRow:d,startColumn:_,endColumn:C}=l;Number.isNaN(m)&&(m=0),Number.isNaN(_)&&(_=0),Number.isNaN(d)&&(d=Number.POSITIVE_INFINITY),Number.isNaN(C)&&(C=Number.POSITIVE_INFINITY);let E=!1;if(f==null||f.forValue((b,y)=>{if(b>=m&&b<=d&&y>=_&&y<=C)return E=!0,!1}),E)return!0}return!1}pushRangeList(e){this.rangeList.push(...e)}shouldBePushRangeList(){return this.rangeList.length===0&&this.type!==2}toRTreeItem(){if(this.featureId!=null)return this.featureDirtyRanges;const e=this.row,t=this.column;return[{unitId:this.unitId,sheetId:this.subUnitId,range:{startRow:e,startColumn:t,endRow:e,endColumn:t}}]}}var am=Object.getOwnPropertyDescriptor,im=(i,u,e,t)=>{for(var r=t>1?void 0:t?am(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},pt=(i,u)=>(e,t)=>u(e,t,i);function Ft(i){return i.getLastTreeId()||0}const mn=M.createIdentifier("engine-formula.dependency-generator");exports.FormulaDependencyGenerator=class extends M.Disposable{constructor(e,t,r,n,s,a,o,c){super();A(this,"_updateRangeFlattenCache",new Map);A(this,"_dependencyRTreeCacheForAddressFunction",new M.RTree);A(this,"_executedAddressFunctionNodeIds",new Set);this._currentConfigService=e,this._runtimeService=t,this._otherFormulaManagerService=r,this._featureCalculationManagerService=n,this._interpreter=s,this._astTreeBuilder=a,this._lexer=o,this._dependencyManagerService=c}dispose(){this._updateRangeFlattenCache.clear(),this._dependencyRTreeCacheForAddressFunction.clear(),yr.clear()}async generate(){this._updateRangeFlatten();const e=this._currentConfigService.getFormulaData(),t=this._otherFormulaManagerService.getOtherFormulaData(),r=this._currentConfigService.getClearDependencyTreeCache();r!=null&&Object.keys(r).forEach(f=>{f!=null&&Object.keys(r[f]).forEach(m=>{m!=null&&(this._dependencyManagerService.clearOtherFormulaDependency(f,m),this._dependencyManagerService.clearFeatureFormulaDependency(f,m),this._dependencyManagerService.clearFormulaDependency(f,m))})});const n=this._currentConfigService.getUnitData(),s=await this._generateTreeList(e,t,n),a=this._getUpdateTreeListAndMakeDependency(s);let o=this._calculateRunList(a);return this._dependencyFeatureCalculation(o)&&(o.forEach(f=>{f.resetState()}),o=this._calculateRunList(o)),this._checkIsCycleDependency(o)&&this._runtimeService.enableCycleDependency(),this._dependencyRTreeCacheForAddressFunction.clear(),Promise.resolve(o)}_dependencyFeatureCalculation(e){const t=this._featureCalculationManagerService.getReferenceExecutorMap();if(t.size===0)return;this._clearFeatureCalculationNode(e);let r=!1;return t.forEach((n,s)=>{n.forEach((a,o)=>{a.forEach((c,l)=>{const{unitId:f,subUnitId:m,getDirtyData:d}=c,_=d(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData()),C=this._convertDirtyRangesToUnitRange(_.dirtyRanges),E=this._intersectFeatureCalculation(C,e,{unitId:f,subUnitId:m,featureId:l});if(E.length>0){let b=this._getExistTreeList({unitId:f,subUnitId:m,featureId:l},e);b==null&&(b=this._getFeatureFormulaTree(l,Ft(this._dependencyManagerService),c),e.push(b)),b.parents=new Set,E.forEach(y=>{y.hasChildren(b.treeId)||y.pushChildren(b)}),r=!0}})})}),r}_clearFeatureCalculationNode(e){const t=this._featureCalculationManagerService.getReferenceExecutorMap();e.forEach(r=>{var a,o,c,l;const n=new Set;for(const f of r.children){const m=this._dependencyManagerService.getTreeById(f);m&&(m.featureId&&(o=(a=t.get(r.unitId))==null?void 0:a.get(r.subUnitId))!=null&&o.has(m.featureId)||n.add(f))}r.children=n;const s=new Set;for(const f of r.parents){const m=this._dependencyManagerService.getTreeById(f);m&&(m.featureId&&(l=(c=t.get(r.unitId))==null?void 0:c.get(r.subUnitId))!=null&&l.has(m.featureId)||s.add(f))}r.parents=s})}_convertDirtyRangesToUnitRange(e){const t=[];for(const r in e){const n=e[r];for(const s in n){const a=n[s];for(const o of a)t.push({unitId:r,sheetId:s,range:o})}}return t}_intersectFeatureCalculation(e,t,r){const n=[],s=this._dependencyManagerService.searchDependency(e);for(let a=0,o=t.length;a<o;a++){const c=t[a];if(c.unitId===r.unitId&&c.subUnitId===r.subUnitId&&c.featureId===r.featureId)continue;s.has(c.treeId)&&n.push(c)}return n}_getExistTreeList(e,t){const{unitId:r,subUnitId:n,featureId:s}=e;for(let a=0,o=t.length;a<o;a++){const c=t[a];if(c.unitId===r&&c.subUnitId===n&&c.featureId===s)return c}}_isCyclicUtil(e,t,r){const n=this._dependencyManagerService.getTreeById(e);if(n==null)return!1;if(!t.has(n.treeId)){t.add(n.treeId),r.add(n.treeId);for(const s of n.children)if(!t.has(s)&&this._isCyclicUtil(s,t,r)||r.has(s))return!0}return r.delete(n.treeId),!1}_checkIsCycleDependency(e){const t=new Set,r=new Set;for(let n=0,s=e.length;n<s;n++){const a=e[n];if(this._isCyclicUtil(a.treeId,t,r)===!0)return!0}return!1}async _generateTreeList(e,t,r){const n=Object.keys(e),s=Object.keys(t),a=[];this._currentConfigService.isForceCalculate()&&this._dependencyManagerService.reset(),this._registerFormulas(n,e,r,a),this._registerOtherFormulas(t,s,a),this._registerFeatureFormulas(a);for(let c=0,l=a.length;c<l;c++){const f=a[c];if(!f.formula)continue;const m=this._getTreeNode(f);f.isDirty=this._includeTree(f,m);const d=this._getAddressFunctionNodeList(m);if(d.length>0&&(f.addressFunctionNodes=d),f.isVirtual)continue;this._runtimeService.setCurrent(f.row,f.column,f.rowCount,f.columnCount,f.subUnitId,f.unitId);const _=await this._getRangeListByNode({node:m,refOffsetX:f.refOffsetX,refOffsetY:f.refOffsetY});f.pushRangeList(_)}for(let c=0,l=a.length;c<l;c++){const f=a[c];f.isCache||this._dependencyManagerService.addDependencyRTreeCache(f)}return await this._calculateListByFunctionRefNode(a),a}_registerFeatureFormulas(e){this._featureCalculationManagerService.getReferenceExecutorMap().forEach((r,n)=>{r.forEach((s,a)=>{s.forEach((o,c)=>{const l=this._dependencyManagerService.getFeatureFormulaDependency(o.unitId,o.subUnitId,c);e.push(this._getFeatureFormulaTree(c,l,o))})})})}_getFeatureFormulaTree(e,t,r){const{unitId:n,subUnitId:s,dependencyRanges:a,getDirtyData:o}=r,c=t||Ft(this._dependencyManagerService),l=new Zr(c);l.unitId=n,l.subUnitId=s,l.rangeList=a,l.getDirtyData=o;const f=o(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData()),m=this._convertDirtyRangesToUnitRange(f.dirtyRanges);return l.featureDirtyRanges=m,l.featureId=e,l.type=fn.FEATURE_FORMULA,this._dependencyManagerService.addFeatureFormulaDependency(n,s,e,l),this._dependencyManagerService.getFeatureFormulaDependency(r.unitId,r.subUnitId,e)&&(l.isCache=!0),l}_registerOtherFormulas(e,t,r){for(const n of t){const s=e[n];if(s==null)continue;const a=Object.keys(s);for(const o of a){const c=s[o];if(c==null)continue;const l=Object.keys(c);for(const f of l){const m=this._dependencyManagerService.hasOtherFormulaDataMainData(f),d=c[f],{f:_,ranges:C}=d;let E=!1;m&&(E=!0);const b=xs(n,_,this._lexer,this._astTreeBuilder,this._currentConfigService),{firstRow:y,firstColumn:p}=this._getFirstCellOfRange(C),V=this._dependencyManagerService.getOtherFormulaDependency(n,o,f),S=(V==null?void 0:V.getValue(0,0))||Ft(this._dependencyManagerService),D=new Zr(S);for(let w=0;w<C.length;w++){const L=C[w],{startRow:x,startColumn:v,endRow:U,endColumn:$}=L;for(let Q=x;Q<=U;Q++)for(let te=v;te<=$;te++){const z=te-p,W=Q-y;if(z===0&&W===0){D.node=b,D.formula=_,D.unitId=n,D.subUnitId=o,D.formulaId=f,D.type=fn.OTHER_FORMULA,D.isCache=E,r.push(D),this._dependencyManagerService.addOtherFormulaDependency(n,o,f,D),this._dependencyManagerService.addFormulaDependencyByDefinedName(D);continue}const ce=new js;ce.treeId=(V==null?void 0:V.getValue(z,W))||Ft(this._dependencyManagerService),ce.refTree=D,ce.refOffsetX=z,ce.refOffsetY=W,ce.isCache=E,this._dependencyManagerService.addOtherFormulaDependency(n,o,f,ce),this._dependencyManagerService.addFormulaDependencyByDefinedName(ce),r.push(ce)}}this._dependencyManagerService.addOtherFormulaDependencyMainData(f)}}}}_getFirstCellOfRange(e){const t=e[0];return{firstRow:t.startRow,firstColumn:t.startColumn}}_registerFormulas(e,t,r,n){for(const s of e){const a=t[s];if(a==null)continue;const o=Object.keys(a);for(const c of o){const l=new M.ObjectMatrix(a[c]||{}),f=new Map;l.forValue((m,d,_)=>{if(_==null)return!0;const{x:C=0,y:E=0,si:b}=_;if(!(C===0&&E===0&&b!=null))return!0;const y=this._createFDtree(s,c,m,d,r,_),p=this._dependencyManagerService.getFormulaDependency(s,c,m,d);p!=null?y.treeId=p:(this._dependencyManagerService.addFormulaDependency(s,c,m,d,y),this._dependencyManagerService.addFormulaDependencyByDefinedName(y)),f.set(b,y),n.push(y)}),l.forValue((m,d,_)=>{if(_==null)return!0;const{x:C=0,y:E=0,si:b}=_;if(C===0&&E===0&&b!=null)return!0;let y;if(b&&f.has(b)){const V=f.get(b);y=this._createVirtualFDtree(V,_)}else y=this._createFDtree(s,c,m,d,r,_);const p=this._dependencyManagerService.getFormulaDependency(s,c,m,d);p!=null?y.treeId=p:(this._dependencyManagerService.addFormulaDependency(s,c,m,d,y),this._dependencyManagerService.addFormulaDependencyByDefinedName(y)),n.push(y)}),f.clear()}}}_createFDtree(e,t,r,n,s,a){const{f:o,x:c=0,y:l=0}=a,f=new Zr(Ft(this._dependencyManagerService)),m=s[e][t],d=xs(e,o,this._lexer,this._astTreeBuilder,this._currentConfigService);return f.node=d,f.formula=o,f.unitId=e,f.subUnitId=t,f.row=r,f.column=n,f.rowCount=m.rowCount,f.columnCount=m.columnCount,f}_createVirtualFDtree(e,t){const{x:r=0,y:n=0}=t,s=new js;return s.treeId=Ft(this._dependencyManagerService),s.refTree=e,s.refOffsetX=r,s.refOffsetY=n,s}_updateRangeFlatten(){const e=this._currentConfigService.isForceCalculate(),t=this._currentConfigService.getDirtyRanges();if(!e){this._updateRangeFlattenCache.clear();for(let r=0;r<t.length;r++){const n=t[r],s=n.range,a=n.sheetId,o=n.unitId;this._addFlattenCache(o,a,s)}}}_addFlattenCache(e,t,r){let n=this._updateRangeFlattenCache.get(e);n==null&&(n=new Map,this._updateRangeFlattenCache.set(e,n));let s=n.get(t);s==null&&(s=[],n.set(t,s)),s.push(r)}_isPreCalculateNode(e){return e.nodeType===ie.UNION||e.nodeType===ie.PREFIX&&e.getToken()===Ne.AT||e.nodeType===ie.SUFFIX&&e.getToken()===Qe.POUND}_nodeTraversalRef(e,t){const r=e.getChildren(),n=r.length;for(let s=0;s<n;s++){const a=r[s];if(this._isPreCalculateNode(a)){if(t.push(a),a.nodeType===ie.UNION)for(const o of a.getChildren())o.nodeType===ie.FUNCTION&&o.isAddress()&&this._nodeTraversalRef(o,t);continue}else a.nodeType===ie.REFERENCE&&t.push(a);this._nodeTraversalRef(a,t)}}_nodeTraversalReferenceFunction(e,t){const r=e.getChildren(),n=r.length;for(let s=0;s<n;s++){const a=r[s];if(a.nodeType===ie.FUNCTION&&a.isAddress()){t.push(a);continue}this._nodeTraversalReferenceFunction(a,t)}}async _executeNode(e,t=0,r=0){let n;const s={node:e,refOffsetX:t,refOffsetY:r};return this._interpreter.checkAsyncNode(e)?n=await this._interpreter.executeAsync(s):n=this._interpreter.execute(s),n}async _getRangeListByNode(e){const t=[],r=e.refOffsetX,n=e.refOffsetY,s=e.node;if(s==null)return[];this._nodeTraversalRef(s,t);const a=[];for(let o=0,c=t.length;o<c;o++){const l=t[o],m=(await this._executeNode(l,r,n)).toUnitRange();a.push(m),l.setValue(null)}return a}_getAddressFunctionNodeList(e){const t=[];return e==null?[]:(this._nodeTraversalReferenceFunction(e,t),t)}_getTreeNode(e){return e.node}async _buildDirtyRangesByAddressFunction(e,t){const r=t.addressFunctionNodes;if(r.length===0)return;const n=t.refOffsetX,s=t.refOffsetY,a=await this._getRangeListByFunctionRefNode(r,n,s);t.addressFunctionNodes=[],this._addDependencyTreeByAddressFunction(t,a);const o=e.bulkSearch(a),c=this._buildTreeNodeById(o);c.length!==0&&await this._calculateAddressFunctionRuntimeData(e,c)}async _calculateListByFunctionRefNode(e){const t=new M.RTree;for(let r=0,n=e.length;r<n;r++){const s=e[r];t.insert({unitId:s.unitId,sheetId:s.subUnitId,range:{startRow:s.row,startColumn:s.column,endRow:s.row,endColumn:s.column},id:s.treeId})}this._executedAddressFunctionNodeIds.clear();for(let r=0,n=e.length;r<n;r++){const s=e[r];await this._calculateAddressFunction(t,s)}}async _calculateAddressFunction(e,t){const r=t.addressFunctionNodes;if(r.length===0)return;const n=t.refOffsetX,s=t.refOffsetY;this._runtimeService.setCurrent(t.row,t.column,t.rowCount,t.columnCount,t.subUnitId,t.unitId);const a=[];for(let l=0,f=r.length;l<f;l++){const m=await this._getRangeListByNode({node:r[l],refOffsetX:n,refOffsetY:s});a.push(...m)}const o=new Set;this._searchDependencyByAddressFunction(e,a,o);const c=this._buildTreeNodeById(o);if(c.length===0){await this._buildDirtyRangesByAddressFunction(e,t);return}await this._calculateAddressFunctionRuntimeData(e,c),await this._buildDirtyRangesByAddressFunction(e,t)}async _calculateAddressFunctionRuntimeData(e,t){for(;t.length>0;){const r=t.pop(),s={node:this._getTreeNode(r),refOffsetX:r.refOffsetX,refOffsetY:r.refOffsetY};await this._calculateAddressFunction(e,r),this._runtimeService.setCurrent(r.row,r.column,r.rowCount,r.columnCount,r.subUnitId,r.unitId);let a;this._interpreter.checkAsyncNode(s.node)?a=await this._interpreter.executeAsync(s):a=this._interpreter.execute(s),r.formulaId!=null?this._runtimeService.setRuntimeOtherData(r.formulaId,r.refOffsetX,r.refOffsetY,a):this._runtimeService.setRuntimeData(a)}}_buildTreeNodeById(e){const t=[];for(const r of e){const n=this._getTreeById(r);!n||this._executedAddressFunctionNodeIds.has(r)||(this._executedAddressFunctionNodeIds.add(r),t.push(n))}return t}_searchDependencyByAddressFunction(e,t,r){const n=e.bulkSearch(t),s=this._dependencyRTreeCacheForAddressFunction.bulkSearch(t);for(const o of s)r.has(o)||r.add(o);const a=[];for(const o of n){const c=this._getTreeById(o);c&&!r.has(o)&&(a.push(...c.rangeList),r.add(o))}return a.length>0&&this._searchDependencyByAddressFunction(e,a,r),r}_getTreeById(e){return this._dependencyManagerService.getTreeById(e)}_addDependencyTreeByAddressFunction(e,t){const r=[];for(let n=0;n<t.length;n++){const s=t[n],{unitId:a,sheetId:o,range:c}=s;r.push({unitId:a,sheetId:o,range:c,id:e.treeId})}this._dependencyRTreeCacheForAddressFunction.bulkInsert(r)}async _getRangeListByFunctionRefNode(e,t,r){const n=[];for(let s=0,a=e.length;s<a;s++){const o=e[s],l=(await this._executeNode(o,t,r)).toUnitRange();n.push(l),o.setValue(null)}return n}_getUpdateTreeListAndMakeDependency(e){const t=[],r=new Set,n=this._currentConfigService.isForceCalculate(),s=this._currentConfigService.getDirtyRanges(),a=this._dependencyManagerService.searchDependency(s),o=this._dependencyRTreeCacheForAddressFunction.bulkSearch(s);for(const l of o)a.add(l);const c=this._dependencyManagerService.buildDependencyTree(e);for(const l of c){const f=l.treeId;(n||l.isDirty||l.dependencySheetName(this._currentConfigService.getDirtyNameMap())||a.has(f)&&!l.isExcludeRange(this._currentConfigService.getExcludedRange()))&&!r.has(f)&&(t.push(l),r.add(f))}return t}_includeTreeFeature(e){var s,a;const t=e.unitId,r=e.subUnitId,n=e.featureId;if(n!=null){const o=this._currentConfigService.getDirtyUnitFeatureMap();if(((a=(s=o==null?void 0:o[t])==null?void 0:s[r])==null?void 0:a[n])!=null)return!0}return!1}_includeOtherFormula(e){var s,a;const t=e.unitId,r=e.subUnitId,n=e.formulaId;if(n!=null){const o=this._currentConfigService.getDirtyUnitOtherFormulaMap();if(((a=(s=o==null?void 0:o[t])==null?void 0:s[r])==null?void 0:a[n])!=null)return!0}return!1}_detectForcedRecalculationNode(e,t){return t==null?!1:this._detectForcedRecalculationNodeRecursion(t)}_detectForcedRecalculationNodeRecursion(e){if(e.isForcedCalculateFunction())return!0;const t=e.getChildren();for(let r=0,n=t.length;r<n;r++){const s=t[r];if(this._detectForcedRecalculationNodeRecursion(s))return!0}return!1}_includeTree(e,t){var l,f,m;const r=e.unitId,n=e.subUnitId;if(this._detectForcedRecalculationNode(e,t)===!0||this._includeTreeFeature(e)===!0||this._includeOtherFormula(e)===!0||Mf(e,t,this._currentConfigService)===!0)return!0;const s=(f=(l=this._currentConfigService.getExcludedRange())==null?void 0:l[r])==null?void 0:f[n];if((s==null?void 0:s.getValue(e.row,e.column))!=null)return!1;if(((m=this._currentConfigService.getDirtyNameMap()[r])==null?void 0:m[n])!=null)return!0;if(!this._updateRangeFlattenCache.has(r))return!1;const o=this._updateRangeFlattenCache.get(r);if(!o.has(n))return!1;const c=o.get(n);for(const d of c)if(e.inRangeData(d))return!0;return!1}_calculateRunList(e){e.length;const t=e,r=[],n=[];for(;t.length>0;){const s=t.pop();if(s===void 0||s.isSkip())continue;if(s.isAdded()){r.push(s),s.setSkip();continue}n.length=0;for(const o of s.parents){const c=this._dependencyManagerService.getTreeById(o);if(!c)throw new Error("ParentDependencyTree object is null");c.isAdded()||s.isSkip()||n.push(c)}const a=this._dependencyRTreeCacheForAddressFunction.bulkSearch(s.toRTreeItem());for(const o of a){const c=this._dependencyManagerService.getTreeById(o);if(!c)throw new Error("ParentDependencyTree object is null");c.isAdded()||s.isSkip()||n.push(c)}n.length===0?(r.push(s),s.setSkip()):(s.setAdded(),t.push(s,...n))}return r}};exports.FormulaDependencyGenerator=im([pt(0,At),pt(1,ft),pt(2,Yn),pt(3,ar),pt(4,M.Inject(exports.Interpreter)),pt(5,M.Inject(exports.AstTreeBuilder)),pt(6,M.Inject(exports.Lexer)),pt(7,Dr)],exports.FormulaDependencyGenerator);var om=Object.getOwnPropertyDescriptor,um=(i,u,e,t)=>{for(var r=t>1?void 0:t?om(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Tt=(i,u)=>(e,t)=>u(e,t,i);const _o=500,hn=M.createIdentifier("engine-formula.calculate-formula.service");exports.CalculateFormulaService=class extends M.Disposable{constructor(e,t,r,n,s,a,o){super();A(this,"_executionInProgressListener$",new Ie.Subject);A(this,"executionInProgressListener$",this._executionInProgressListener$.asObservable());A(this,"_executionCompleteListener$",new Ie.Subject);A(this,"executionCompleteListener$",this._executionCompleteListener$.asObservable());A(this,"_executeLock",new M.AsyncLock);this._configService=e,this._lexer=t,this._currentConfigService=r,this._runtimeService=n,this._formulaDependencyGenerator=s,this._interpreter=a,this._astTreeBuilder=o}dispose(){super.dispose(),this._executionInProgressListener$.complete(),this._executionCompleteListener$.complete(),cn.clear(),Ye.clear(),ys.clear(),Ds.clear()}stopFormulaExecution(){this._runtimeService.stopExecution()}setRuntimeFeatureCellData(e,t){this._runtimeService.setRuntimeFeatureCellData(e,t)}setRuntimeFeatureRange(e,t){this._runtimeService.setRuntimeFeatureRange(e,t)}async execute(e){this._runtimeService.setFormulaExecuteStage($e.START),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._currentConfigService.load(e),this._runtimeService.reset();const t=e.maxIteration||$i;this._executeLock.acquire("FORMULA_EXECUTION_LOCK",async()=>{for(let r=0;r<t&&(this._runtimeService.setFormulaCycleIndex(r),await this._executeStep(),cn.clear(),!!this._runtimeService.isCycleDependency());r++);this._runtimeService.setFormulaExecuteStage($e.CALCULATION_COMPLETED),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData()),Ye.clear(),this._runtimeService.reset()})}async _executeStep(){const e=await this._apply();if(e==null)return;const{arrayFormulaRange:t,runtimeFeatureRange:r}=e,{dirtyRanges:n,excludedCell:s}=this._getArrayFormulaDirtyRangeAndExcludedRange(t,r);return n==null||n.length===0||(this._currentConfigService.loadDirtyRangesAndExcludedCell(n,s),await this._apply(!0)),!0}_getArrayFormulaDirtyRangeAndExcludedRange(e,t){const r=[],n={};return Object.keys(e).forEach(s=>{const a=e[s];if(a==null)return!0;Object.keys(a).forEach(o=>{const c=new M.ObjectMatrix(a[o]);if(c==null)return!0;const l=new M.ObjectMatrix;c.forValue((f,m,d)=>{l.setValue(f,m,!0),r.push({unitId:s,sheetId:o,range:d})}),n[s]==null&&(n[s]={}),n[s][o]=l})}),Object.keys(t).forEach(s=>{const a=t[s];Object.keys(a).forEach(o=>{const c=a[o];if(c==null)return!0;Object.keys(c).forEach(l=>{const f=c[l];if(f==null)return!0;for(const m of f)r.push({unitId:o,sheetId:l,range:m})})})}),{dirtyRanges:r,excludedCell:n}}async _apply(e=!1){e?this._runtimeService.setFormulaExecuteStage($e.START_DEPENDENCY_ARRAY_FORMULA):this._runtimeService.setFormulaExecuteStage($e.START_DEPENDENCY),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());const t=(await this._formulaDependencyGenerator.generate()).reverse(),r=this._interpreter;e?(this._runtimeService.setFormulaExecuteStage($e.START_CALCULATION_ARRAY_FORMULA),this._runtimeService.setTotalArrayFormulasToCalculate(t.length)):(this._runtimeService.setFormulaExecuteStage($e.START_CALCULATION),this._runtimeService.setTotalFormulasToCalculate(t.length)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());let n=[];const s=this._configService.getConfig(xn),a=(s==null?void 0:s.intervalCount)||_o,o=t.length;for(let c=0;c<o;c++){const l=t[c],f=l.nodeData,m=l.getDirtyData;if(c%a===0&&(await new Promise(_=>{const C=M.requestImmediateMacroTask(_);n.push(C)}),e?(this._runtimeService.setFormulaExecuteStage($e.CURRENTLY_CALCULATING_ARRAY_FORMULA),this._runtimeService.setCompletedArrayFormulasCount(c+1)):(this._runtimeService.setFormulaExecuteStage($e.CURRENTLY_CALCULATING),this._runtimeService.setCompletedFormulasCount(c+1)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._runtimeService.isStopExecution()||f==null&&m==null)){this._runtimeService.setFormulaExecuteStage($e.IDLE),this._runtimeService.markedAsStopFunctionsExecuted(),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData());return}this._runtimeService.setCurrent(l.row,l.column,l.rowCount,l.columnCount,l.subUnitId,l.unitId);let d;if(m!=null&&l.featureId!=null){const{runtimeCellData:_,dirtyRanges:C}=m(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData());this._runtimeService.setRuntimeFeatureCellData(l.featureId,_),this._runtimeService.setRuntimeFeatureRange(l.featureId,C)}else f!=null&&(r.checkAsyncNode(f.node)?d=await r.executeAsync(f):d=r.execute(f),l.formulaId!=null?this._runtimeService.setRuntimeOtherData(l.formulaId,l.refOffsetX,l.refOffsetY,d):this._runtimeService.setRuntimeData(d))}return n.forEach(c=>c()),n=[],o>0?this._runtimeService.markedAsSuccessfullyExecuted():e||this._runtimeService.markedAsNoFunctionsExecuted(),this._runtimeService.getAllRuntimeData()}calculate(e,t=!0){const r=this._lexer.treeBuilder(e,t);if(Object.values(h).includes(r))return De.create(r);const n=this._astTreeBuilder.parse(r);n==null||n.serialize()}};exports.CalculateFormulaService=um([Tt(0,M.IConfigService),Tt(1,M.Inject(exports.Lexer)),Tt(2,At),Tt(3,ft),Tt(4,mn),Tt(5,M.Inject(exports.Interpreter)),Tt(6,M.Inject(exports.AstTreeBuilder))],exports.CalculateFormulaService);var cm=Object.getOwnPropertyDescriptor,lm=(i,u,e,t)=>{for(var r=t>1?void 0:t?cm(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},us=(i,u)=>(e,t)=>u(e,t,i);exports.CalculateController=class extends M.Disposable{constructor(u,e,t){super(),this._commandService=u,this._calculateFormulaService=e,this._formulaDataModel=t,this._initialize()}_initialize(){this._commandExecutedListener(),this._initialExecuteFormulaListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(u=>{if(u.id===Ys.id)this._calculateFormulaService.stopFormulaExecution();else if(u.id===$s.id)this._calculate(u.params);else if(u.id===rn.id){const e=u.params;if(e==null)return;const{arrayFormulaRange:t,arrayFormulaCellData:r}=e;this._formulaDataModel.setArrayFormulaRange(t),this._formulaDataModel.setArrayFormulaCellData(r)}}))}async _calculate(u){const{forceCalculation:e=!1,dirtyRanges:t=[],dirtyNameMap:r={},dirtyDefinedNameMap:n={},dirtyUnitFeatureMap:s={},dirtyUnitOtherFormulaMap:a={},clearDependencyTreeCache:o={},maxIteration:c=$i,rowData:l}=u,f=this._formulaDataModel.getFormulaData(),m=this._formulaDataModel.getArrayFormulaCellData(),d=this._formulaDataModel.getArrayFormulaRange();this._calculateFormulaService.execute({formulaData:f,arrayFormulaCellData:m,arrayFormulaRange:d,forceCalculate:e,dirtyRanges:t,dirtyNameMap:r,dirtyDefinedNameMap:n,dirtyUnitFeatureMap:s,dirtyUnitOtherFormulaMap:a,clearDependencyTreeCache:o,maxIteration:c,rowData:l})}_initialExecuteFormulaListener(){this._calculateFormulaService.executionCompleteListener$.subscribe(u=>{const e=u.functionsExecutedState;switch(e){case Jt.NOT_EXECUTED:break;case Jt.STOP_EXECUTION:break;case Jt.SUCCESS:this._applyResult(u);break;case Jt.INITIAL:break}this._commandService.executeCommand(Cr.id,{functionsExecutedState:e},{onlyLocal:!0})}),this._calculateFormulaService.executionInProgressListener$.subscribe(u=>{this._commandService.executeCommand(Cr.id,{stageInfo:u},{onlyLocal:!0})})}async _applyResult(u){const{unitData:e,unitOtherData:t,arrayFormulaRange:r,arrayFormulaCellData:n,clearArrayFormulaCellData:s}=u;if(!e){console.error("No sheetData from Formula Engine!");return}r&&(this._formulaDataModel.clearPreviousArrayFormulaCellData(s),this._formulaDataModel.mergeArrayFormulaCellData(n),this._formulaDataModel.mergeArrayFormulaRange(r),this._commandService.executeCommand(rn.id,{arrayFormulaRange:this._formulaDataModel.getArrayFormulaRange(),arrayFormulaCellData:this._formulaDataModel.getArrayFormulaCellData()},{onlyLocal:!0})),this._commandService.executeCommand(Hs.id,{unitData:hc(e),unitOtherData:t},{onlyLocal:!0})}};exports.CalculateController=lm([us(0,M.ICommandService),us(1,hn),us(2,M.Inject(exports.FormulaDataModel))],exports.CalculateController);const ai=/[\[\]]/g;function ii(i,u){if(ai.test(i)){const e=Number(i.replace(ai,""));return u+e}return Number(i)-1}function cs(i,u=0,e=0){i=i.toLocaleUpperCase();const t=i.split(/[RC]/),r=t[1],n=t[2],s=ii(r,u),a=ii(n,e);return{row:s,column:a,absoluteRefType:M.AbsoluteRefType.NONE}}function Ao(i,u=0,e=0){const{refBody:t,sheetName:r,unitId:n}=Vn(i),s=t.indexOf(":");if(s===-1){const C=cs(t,u,e),E=C.row,b=C.column,y=C.absoluteRefType;return{unitId:n,sheetName:r,range:{startRow:E,startColumn:b,endRow:E,endColumn:b,startAbsoluteRefType:y,endAbsoluteRefType:y}}}const a=t.substring(0,s),o=t.substring(s+1),c=cs(a,u,e),l=cs(o,u,e),f=c.row,m=c.column,d=l.row,_=l.column;return{unitId:n,sheetName:r,range:{startRow:f,startColumn:m,endRow:d,endColumn:_,startAbsoluteRefType:c.absoluteRefType,endAbsoluteRefType:l.absoluteRefType}}}function fm(i){const u=Fr(i.startRow,i.startAbsoluteRefType,!0),e=Fr(i.startColumn,i.startAbsoluteRefType,!1),t=Fr(i.endRow,i.endAbsoluteRefType,!0),r=Fr(i.endColumn,i.endAbsoluteRefType,!1);return u===t&&e===r?`R${u}C${e}`:`R${u}C${e}:R${t}C${r}`}function Fr(i,u=M.AbsoluteRefType.ALL,e){switch(i+=1,u){case M.AbsoluteRefType.ALL:return`${i}`;case M.AbsoluteRefType.ROW:return e?`${i}`:`[${i}]`;case M.AbsoluteRefType.COLUMN:return e?`[${i}]`:`${i}`;case M.AbsoluteRefType.NONE:return`[${i}]`}}function $t(i){let u=i;if(i.isArray()){const e=i.getRowCount(),t=i.getColumnCount();if(e>1||t>1)return g.create(h.VALUE);u=i.get(0,0)}return u.isError(),u}function wr(...i){for(let u=0;u<i.length;u++){const e=$t(i[u]);if(e.isError())return{isError:!0,errorObject:e};i[u]=e}return{isError:!1,variants:i}}function G(...i){for(let u=0;u<i.length;u++){const e=$t(i[u]);if(e.isError())return{isError:!0,errorObject:e};if(e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE)};i[u]=e}return{isError:!1,variants:i}}function Ue(...i){for(let u=0;u<i.length;u++){let e=i[u];if(e.isError())return{isError:!0,errorObject:e};if(e.isNull())return{isError:!0,errorObject:g.create(h.NA)};if(e=$t(i[u]),e.isError())return{isError:!0,errorObject:e};if(e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE)};i[u]=e}return{isError:!1,variants:i}}function F(...i){for(let u=0;u<i.length;u++){let e=i[u];if(e.isString()&&(e=e.convertToNumberObjectValue()),e.isError())return{isError:!0,errorObject:e};i[u]=e}return{isError:!1,variants:i}}class N{constructor(u){A(this,"_unitId");A(this,"_subUnitId");A(this,"_row",-1);A(this,"_column",-1);A(this,"_definedNames");A(this,"_locale");A(this,"_sheetOrder");A(this,"_sheetNameMap");A(this,"_formulaDataModel");A(this,"_rowCount",-1);A(this,"_columnCount",-1);A(this,"needsExpandParams",!1);A(this,"needsReferenceObject",!1);A(this,"needsLocale",!1);A(this,"needsSheetsInfo",!1);A(this,"needsFormulaDataModel",!1);A(this,"needsSheetRowColumnCount",!1);A(this,"needsFilteredOutRows",!1);A(this,"minParams",-1);A(this,"maxParams",-1);this._name=u}get name(){return this._name}get unitId(){return this._unitId}get subUnitId(){return this._subUnitId}get row(){return this._row}get column(){return this._column}dispose(){}getDefinedName(u){var t;const e=this._definedNames;return e==null?null:(t=Array.from(Object.values(e)).filter(r=>r.name===u))==null?void 0:t[0]}setDefinedNames(u){this._definedNames=u}getLocale(){return this._locale}setLocale(u){this._locale=u}getSheetsInfo(){return{sheetOrder:this._sheetOrder,sheetNameMap:this._sheetNameMap}}setSheetsInfo({sheetOrder:u,sheetNameMap:e}){this._sheetOrder=u,this._sheetNameMap=e}setFormulaDataModel(u){this._formulaDataModel=u}setSheetRowColumnCount(u,e){this._rowCount=u,this._columnCount=e}isAsync(){return!1}isAddress(){return!1}isCustom(){return!1}isArgumentsIgnoreNumberPattern(){return!1}setRefInfo(u,e,t,r){this._unitId=u,this._subUnitId=e,this._row=t,this._column=r}calculateCustom(...u){return null}calculate(...u){return g.create(h.VALUE)}checkArrayType(u){return u.isReferenceObject()||u.isValueObject()&&u.isArray()}getIndexNumValue(u,e=1){let t=u;if(t.isArray()&&(t=t.getFirstCell()),t.isBoolean())return t.getValue()===!1?g.create(h.VALUE):e;if(t.isString()){const r=Number(t.getValue());return Number.isNaN(r)?g.create(h.REF):r}else if(t.isNumber())return t.getValue();return g.create(h.VALUE)}getZeroOrOneByOneDefault(u){if(u==null)return 1;let e=1;if(u.isArray()&&(u=u.getFirstCell()),u.isBoolean())u.getValue()===!1&&(e=0);else{if(u.isString())return;u.isNumber()&&u.getValue()===0&&(e=0)}return e}getMatchTypeValue(u){if(u==null)return 1;let e=1;if(u.isArray()&&(u=u.getFirstCell()),u.isBoolean())u.getValue()===!1&&(e=0);else{if(u.isString())return;if(u.isNumber()){const t=u.getValue();t<=0&&(e=t)}}return e}binarySearch(u,e,t,r,n){const s=e.binarySearch(u,r,n);if(s==null)return g.create(h.NA);let a;return t.getRowCount()===1?a=t.get(0,s)||ue.create():a=t.get(s,0)||ue.create(),a.isNull()?R.create(0):a}_getOneFirstByRaw(u){return u.length===0?g.create(h.NA):u[0][0]||g.create(h.NA)}_getOneLastByRaw(u){return u.length===0?g.create(h.NA):u[u.length-1][u[0].length-1]||g.create(h.NA)}equalSearch(u,e,t,r=!0){const n=t.pickRaw(e.isEqual(u));return r?this._getOneFirstByRaw(n):this._getOneLastByRaw(n)}fuzzySearch(u,e,t,r=!0){const n=t.pickRaw(e.compare(u,k.EQUALS));return r?this._getOneFirstByRaw(n):this._getOneLastByRaw(n)}orderSearch(u,e,t,r=Me.MIN,n=!1){const s=e.orderSearch(u,r,n);if(s==null)return g.create(h.NA);const a=t.get(s.row,s.column)||ue.create();return a.isNull()?g.create(h.NA):a}binarySearchExpand(u,e,t,r=0,n,s){const a=e.binarySearch(u,n,s);return a==null?g.create(h.NA):r===0?t.slice([a,a+1]):t.slice(void 0,[a,a+1])}equalSearchExpand(u,e,t,r=!0,n=0){const s=e.isEqual(u);let a;return r?a=s.getFirstTruePosition():a=s.getLastTruePosition(),a==null?g.create(h.NA):n===0?t.slice([a.row,a.row+1]):t.slice(void 0,[a.column,a.column+1])}fuzzySearchExpand(u,e,t,r=!0,n=0){const s=e.compare(u,k.EQUALS);let a;return r?a=s.getFirstTruePosition():a=s.getLastTruePosition(),a==null?g.create(h.NA):n===0?t.slice([a.row,a.row+1]):t.slice(void 0,[a.column,a.column+1])}orderSearchExpand(u,e,t,r=Me.MIN,n=!1,s=0){const a=e.orderSearch(u,r,n);return a==null?g.create(h.NA):s===0?t.slice([a.row,a.row+1]):t.slice(void 0,[a.column,a.column+1])}flattenArray(u,e=!0){const t=[];t[0]=[];for(let r=0;r<u.length;r++){let n=u[r];if((n.isString()||n.isBoolean()||n.isNull())&&(n=n.convertToNumberObjectValue()),n.isError())return n;if(n.isArray()){let s;if(n.iterator(a=>{if(a==null||a.isNull()||e&&(a.isString()||a.isBoolean()))return!0;if(a=this._includingLogicalValuesAndText(a),a.isError())return s=a,!1;t[0].push(a)}),s!=null&&s.isError())return s}else t[0].push(n)}return Or(t,1,t[0].length)}_includingLogicalValuesAndText(u){if(u.isBoolean()&&(u=df(u)),u.isString()){const e=Number(u.getValue());u=R.create(Number.isNaN(e)?0:e)}return u}createReferenceObject(u,e){const t=u.getForcedUnitId(),r=u.getForcedSheetId()||"",n=u.getForcedSheetName(),a=nn({unitId:t,sheetName:n,range:e});let o;return pr(a)?o=new zs(a):Di(a)?o=new ea(a):wi(a)?o=new Js(a):o=new br(e,r,t),this._setReferenceDefault(u,o)}_setReferenceDefault(u,e){return this.unitId==null||this.subUnitId==null?g.create(h.REF):(e.setDefaultUnitId(this.unitId),e.setDefaultSheetId(this.subUnitId),e.setUnitData(u.getUnitData()),e.setRuntimeData(u.getRuntimeData()),e.setArrayFormulaCellData(u.getArrayFormulaCellData()),e.setRuntimeArrayFormulaCellData(u.getRuntimeArrayFormulaCellData()),e)}}class mm extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;const{isError:n,errorObject:s,variants:a}=wr(t,r);if(n)return s;const{isError:o,errorObject:c,variants:l}=F(...a);if(o)return c;const[f,m]=l,d=Math.floor(+f.getValue()),_=Math.floor(+m.getValue());if(d<0||_<0)return g.create(h.NUM);if(d===0||_===0)return g.create(h.REF);const C=e.isArray()?e.getRowCount():1,E=e.isArray()?e.getColumnCount():1;if(C===1&&E===1)return e.isArray()?e.get(0,0):e;const b=d>C?C:d,y=_>E?E:_;return e.slice([0,b],[0,y])}}class hm extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];for(let r=0;r<e.length;r++){const n=e[r],s=n.isArray()?n.getRowCount():1,a=n.isArray()?n.getColumnCount():1;for(let o=0;o<s;o++)for(let c=0;c<a;c++){const l=n.isArray()?n.get(o,c):n;t.push([l])}}return q.create({calculateValueList:t,rowCount:t.length,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}var gn=(i=>(i.ARRAY_CONSTRAIN="ARRAY_CONSTRAIN",i.FLATTEN="FLATTEN",i))(gn||{});const Eo=[[mm,gn.ARRAY_CONSTRAIN],[hm,gn.FLATTEN]];var ir;(i=>{const u=.636619772;function e(n,s){let a=0;for(let o=0;o<n.length;++o)a=s*a+n[o];return a}function t(n,s,a,o,c){if(s===0)return a;if(s===1)return o;const l=2/n;let f=a,m=o,d=o;for(let _=1;_<s;++_)d=m*_*l+c*f,f=m,m=d;return d}function r(n,s,a,o){return function(l,f){if(a){if(l===0)return a===1?-1/0:1/0;if(l<0)return Number.NaN}if(f===0)return n(l);if(f===1)return s(l);if(f<0)return Number.NaN;const m=f|0,d=n(l),_=s(l);return t(l,m,d,_,o)}}i.besselj=(()=>{const n=[-184.9052456,77392.33017,-1121442418e-2,6516196407e-1,-13362590354,57568490574],s=[1,267.8532712,59272.64853,9494680718e-3,1029532985,57568490411],a=[2093887211e-16,-2073370639e-15,2734510407e-14,-.001098628627,1],o=[-934935152e-16,7621095161e-16,-6911147651e-15,.0001430488765,-.01562499995];function c(C){let E=0,b=0,y=0,p=C*C;if(C<8)b=e(n,p),y=e(s,p),E=b/y;else{const V=C-.785398164;p=64/p,b=e(a,p),y=e(o,p),E=Math.sqrt(u/C)*(Math.cos(V)*b-Math.sin(V)*y*8/C)}return E}const l=[-30.16036606,15704.4826,-2972611439e-3,2423968531e-1,-7895059235,72362614232],f=[1,376.9991397,99447.43394,1858330474e-2,2300535178,144725228442],m=[-240337019e-15,2457520174e-15,-3516396496e-14,.00183105,1],d=[105787412e-15,-88228987e-14,8449199096e-15,-.0002002690873,.04687499995];function _(C){let E=0,b=0,y=0,p=C*C;const V=Math.abs(C)-2.356194491;return Math.abs(C)<8?(b=C*e(l,p),y=e(f,p),E=b/y):(p=64/p,b=e(m,p),y=e(d,p),E=Math.sqrt(u/Math.abs(C))*(Math.cos(V)*b-Math.sin(V)*y*8/Math.abs(C)),C<0&&(E=-E)),E}return function C(E,b){const y=Math.round(b);if(!Number.isFinite(E))return Number.isNaN(E)?E:0;if(y<0)return(y%2?-1:1)*C(E,-y);if(E<0)return(y%2?-1:1)*C(-E,y);if(y===0)return c(E);if(y===1)return _(E);if(E===0)return 0;let p=0;if(E>y)p=t(E,y,c(E),_(E),-1);else{const V=2*Math.floor((y+Math.floor(Math.sqrt(40*y)))/2);let S=!1,D=0,w=0,L=1,x=0;const v=2/E;for(let U=V;U>0;U--)if(x=U*v*L-D,D=L,L=x,Math.abs(L)>1e10&&(L*=1e-10,D*=1e-10,p*=1e-10,w*=1e-10),S&&(w+=L),S=!S,U===y&&(p=D),V-U>100&&p===0)return Number.NaN;w=2*w-L,p/=w}return p}})(),i.bessely=(()=>{const n=[228.4622733,-86327.92757,1087988129e-2,-5123598036e-1,7062834065,-2957821389],s=[1,226.1030244,47447.2647,7189466438e-3,7452499648e-1,40076544269],a=[2093887211e-16,-2073370639e-15,2734510407e-14,-.001098628627,1],o=[-934945152e-16,7621095161e-16,-6911147651e-15,.0001430488765,-.01562499995];function c(C){let E=0,b=0,y=0,p=C*C;const V=C-.785398164;return C<8?(b=e(n,p),y=e(s,p),E=b/y+u*(0,i.besselj)(C,0)*Math.log(C)):(p=64/p,b=e(a,p),y=e(o,p),E=Math.sqrt(u/C)*(Math.sin(V)*b+Math.cos(V)*y*8/C)),E}const l=[8511.937935,-4237922726e-3,7349264551e-1,-51534381390,127527439e4,-4900604943e3],f=[1,354.9632885,102042.605,2245904002e-2,3733650367,424441966400,249958057e5],m=[-240337019e-15,2457520174e-15,-3516396496e-14,.00183105,1],d=[105787412e-15,-88228987e-14,8449199096e-15,-.0002002690873,.04687499995];function _(C){let E=0,b=0,y=0,p=C*C;const V=C-2.356194491;return C<8?(b=C*e(l,p),y=e(f,p),E=b/y+u*((0,i.besselj)(C,1)*Math.log(C)-1/C)):(p=64/p,b=e(m,p),y=e(d,p),E=Math.sqrt(u/C)*(Math.sin(V)*b+Math.cos(V)*y*8/C)),E}return r(c,_,1,-1)})(),i.besseli=(()=>{const n=[.0045813,.0360768,.2659732,1.2067492,3.0899424,3.5156229,1],s=[.00392377,-.01647633,.02635537,-.02057706,.00916281,-.00157565,.00225319,.01328592,.39894228];function a(f){return f<=3.75?e(n,f*f/(3.75*3.75)):Math.exp(Math.abs(f))/Math.sqrt(Math.abs(f))*e(s,3.75/Math.abs(f))}const o=[32411e-8,.00301532,.02658733,.15084934,.51498869,.87890594,.5],c=[-.00420059,.01787654,-.02895312,.02282967,-.01031555,.00163801,-.00362018,-.03988024,.39894228];function l(f){return f<3.75?f*e(o,f*f/(3.75*3.75)):(f<0?-1:1)*Math.exp(Math.abs(f))/Math.sqrt(Math.abs(f))*e(c,3.75/Math.abs(f))}return function f(m,d){const _=Math.round(d);if(_===0)return a(m);if(_===1)return l(m);if(_<0)return Number.NaN;if(Math.abs(m)===0)return 0;if(m===1/0)return 1/0;let C=0,E;const b=2/Math.abs(m);let y=0,p=1,V=0;const S=2*Math.round((_+Math.round(Math.sqrt(40*_)))/2);for(E=S;E>0;E--)if(V=E*b*p+y,y=p,p=V,Math.abs(p)>1e10&&(p*=1e-10,y*=1e-10,C*=1e-10),E===_&&(C=y),S-E>100&&C===0)return Number.NaN;return C*=f(m,0)/p,m<0&&_%2?-C:C}})(),i.besselk=(()=>{const n=[74e-7,1075e-7,.00262698,.0348859,.23069756,.4227842,-.57721566],s=[53208e-8,-.0025154,.00587872,-.01062446,.02189568,-.07832358,1.25331414];function a(f){return f<=2?-Math.log(f/2)*(0,i.besseli)(f,0)+e(n,f*f/4):Math.exp(-f)/Math.sqrt(f)*e(s,2/f)}const o=[-4686e-8,-.00110404,-.01919402,-.18156897,-.67278579,.15443144,1],c=[-68245e-8,.00325614,-.00780353,.01504268,-.0365562,.23498619,1.25331414];function l(f){return f<=2?Math.log(f/2)*(0,i.besseli)(f,1)+1/f*e(o,f*f/4):Math.exp(-f)/Math.sqrt(f)*e(c,2/f)}return r(a,l,2,1)})()})(ir||(ir={}));function oa(i){return/^[01]{1,10}$/.test(i)}function ua(i){return/^[0-7]{1,10}$/.test(i)}function ca(i){return/^[0-9A-Fa-f]{1,10}$/.test(i)}function Yt(i){if(i===0)return 0;const u=[-1.3026537197817094,.6419697923564902,.019476473204185836,-.00956151478680863,-.000946595344482036,.000366839497852761,42523324806907e-18,-20278578112534e-18,-1624290004647e-18,130365583558e-17,15626441722e-18,-85238095915e-18,6529054439e-18,5059343495e-18,-991364156e-18,-227365122e-18,96467911e-18,2394038e-18,-6886027e-18,894487e-18,313092e-18,-112708e-18,381e-18,7106e-18,-1523e-18,-94e-18,121e-18,-28e-18];let e=i,t=!1;e<0&&(e=-e,t=!0);const r=2/(2+e),n=4*r-2;let s=0,a=0,o;for(let l=u.length-1;l>0;l--)o=s,s=n*s-a+u[l],a=o;const c=r*Math.exp(-e*e+.5*(u[0]+n*s)-a);return t?c-1:1-c}function la(i){return 1-Yt(i)}function gm(i){if(i>=2)return-100;if(i<=0)return 100;const u=i<1?i:2-i,e=Math.sqrt(-2*Math.log(u/2));let t=-.70711*((2.30753+e*.27061)/(1+e*(.99229+e*.04481))-e);for(let r=0;r<2;r++){const n=la(t)-u;t+=n/(1.1283791670955126*Math.exp(-t*t)-t*n)}return i<1?t:-t}function er(i,u=1){let e=Math.floor(i);if(i<0)return Number.NaN;let t=1;for(;e>1&&Number.isFinite(t);)t*=e,e-=u;return t}function Ht(i,u){const e=Math.min(i-u,u);let t=1;for(let r=1;r<=e&&Number.isFinite(t);r++)t*=i-r+1,t/=r;return t}function Us(i,u){let e=Math.floor(i),t=Math.floor(u);for(;t!==0;){const r=t;t=e%t,e=r}return e}function oi(i,u){const e=Us(i,u);return e===0?0:Math.abs(i*u)/e}function fa(i){const u=i.length;if(u===1)return i[0][0];if(u===2)return i[0][0]*i[1][1]-i[0][1]*i[1][0];const{rowSwap:e,smallPivotDetected:t,luMatrix:r,permutation:n}=bo(i);if(t)return 0;let s=e?1:-1;for(let a=0;a<n.length;a++)s*=r[a][a];return s===0?0:s}function dm(i){const u=fa(i);return u===0?null:i.length===1?[[1/u]]:_m(i).map(r=>r.map(n=>n/u))}function Cm(i,u,e){return i.filter((t,r)=>r!==u).map(t=>t.filter((r,n)=>n!==e))}function _m(i){const u=i.length,e=Array.from({length:u},()=>new Array(u).fill(0));for(let t=0;t<u;t++)for(let r=0;r<u;r++){const s=((t+r)%2===0?1:-1)*fa(Cm(i,t,r));e[r][t]=s===0?0:s}return e}function tr(i,u){return i.map(e=>u[0].map((t,r)=>e.reduce((n,s,a)=>n+s*u[a][r],0)))}function it(i){return i[0].map((u,e)=>i.map(t=>t[e]))}function Am(i){const{smallPivotDetected:u,luMatrix:e,permutation:t}=bo(i);return u?null:Em(e,t)}function bo(i){const u=it(i),e=u.length,t=u[0].length;let r=!0,n=!1;const s=vs(e,t,0),a=new Array(t).fill(0).map((o,c)=>c);for(let o=0;o<t;o++){for(let m=0;m<o;m++){let d=u[m][o];for(let _=0;_<m;_++)d-=s[m][_]*s[_][o];s[m][o]=d}let c=-1/0,l=o;for(let m=o;m<e;m++){let d=u[m][o];for(let C=0;C<o;C++)d-=s[m][C]*s[C][o];s[m][o]=d;const _=Math.abs(d);_>c&&(c=_,l=m)}if(Math.abs(s[l][o])<1e-11){n=!0;break}l!==o&&([s[o],s[l]]=[s[l],s[o]],[u[o],u[l]]=[u[l],u[o]],[a[o],a[l]]=[a[l],a[o]],r=!r);const f=s[o][o];for(let m=o+1;m<e;m++)s[m][o]/=f}return{rowSwap:r,smallPivotDetected:n,luMatrix:s,permutation:a}}function Em(i,u){const e=u.length,t=vs(e,e,0);for(let n=0;n<e;n++)t[n][n]=1;const r=vs(e,e,0);for(let n=0;n<e;n++){const s=u[n];for(let a=0;a<e;a++)r[n][a]=t[s][a]}for(let n=0;n<e;n++){const s=r[n];for(let a=n+1;a<e;a++){const o=i[a][n];for(let c=0;c<e;c++)r[a][c]-=s[c]*o}}for(let n=e-1;n>=0;n--){const s=r[n],a=i[n][n];for(let o=0;o<e;o++)s[o]/=a;for(let o=0;o<n;o++){const c=i[o][n];for(let l=0;l<e;l++)r[o][l]-=s[l]*c}}return r}function vs(i,u,e){const t=[];for(let r=0;r<i;r++){t[r]=[];for(let n=0;n<u;n++)t[r].push(e)}return t}function bm(i){const u=ym(i);if(!u)return null;const{matrixU:e,matrixS:t,matrixV:r}=u,n=it(e),s=Array.from({length:t.length},()=>new Array(i[0].length).fill(0)),a=Math.max(i.length,i[0].length)*Number.EPSILON*t[0];for(let o=0;o<t.length;o++)Math.abs(t[o])>a&&(s[o][o]=1/t[o]);return tr(r,tr(s,n))}function ym(i){const u=it(i),e=u.length,t=u[0].length;if(e<t)return null;const r=new Array(t).fill(0),n=new Array(t).fill(0),s=Array.from({length:t},()=>new Array(t).fill(0));let a=Number.EPSILON,o=0,c=0,l=0;for(let C=0;C<t;C++){if(r[C]=o,c=ls(u,C,e,C,C),c<=1e-64/a)o=0;else{o=Math.sqrt(c),u[C][C]>=0&&(o=-o);const b=u[C][C]*o-c;u[C][C]-=o;for(let y=C+1;y<t;y++){c=ls(u,C,e,C,y);for(let p=C;p<e;p++)u[p][y]+=c/b*u[p][C]}}if(n[C]=o,c=ui(u,C+1,t,C,C),c<=1e-64/a)o=0;else{o=Math.sqrt(c),u[C][C+1]>=0&&(o=-o);const b=u[C][C+1]*o-c;u[C][C+1]-=o;for(let y=C+1;y<t;y++)r[y]=u[C][y]/b;for(let y=C+1;y<e;y++){c=ui(u,C+1,t,y,C);for(let p=C+1;p<t;p++)u[y][p]+=c*r[p]}}const E=Math.abs(n[C])+Math.abs(r[C]);E>l&&(l=E)}let f=0;for(let C=t-1;C>=0;C--){if(o!==0){for(let E=f;E<t;E++)s[E][C]=u[C][E]/(o*u[C][C+1]);for(let E=f;E<t;E++){c=0;for(let b=f;b<t;b++)c+=u[C][b]*s[b][E];for(let b=f;b<t;b++)s[b][E]+=c*s[b][C]}}for(let E=f;E<t;E++)s[C][E]=0,s[E][C]=0;s[C][C]=1,o=r[C],f=C}for(let C=t-1;C>=0;C--){o=n[C];for(let E=C+1;E<t;E++)u[C][E]=0;if(o!==0){for(let E=C+1;E<t;E++){c=ls(u,C+1,e,C,E);for(let b=C;b<e;b++)u[b][E]+=c/(u[C][C]*o)*u[b][C]}for(let E=C;E<e;E++)u[E][C]/=o}else for(let E=C;E<e;E++)u[E][C]=0;u[C][C]+=1}a*=l;let m=0,d=0,_=0;for(let C=t-1;C>=0;C--)for(let E=0;E<50;E++){let b=!1,y=C;for(;y>=0;y--){if(Math.abs(r[y])<=a){b=!0;break}if(Math.abs(n[y-1])<=a)break}if(!b){let D=0,w=1;for(let L=y;L<C+1&&(m=w*r[L],d=n[L],r[L]*=D,!(Math.abs(m)<=a));L++){_=Br(m,d),n[L]=_,D=d/_,w=-m/_;for(let x=0;x<e;x++){const v=u[x][y-1],U=u[x][L];u[x][y-1]=v*D+U*w,u[x][L]=-v*w+U*D}}}if(y===C){if(n[C]<0){n[C]=-n[C];for(let D=0;D<t;D++)s[D][C]=-s[D][C]}break}if(E>=49)return null;let p=n[y];m=((n[C-1]-n[C])*(n[C-1]+n[C])+(r[C-1]-r[C])*(r[C-1]+r[C]))/(2*r[C]*n[C-1]),_=Br(m,1),m<0?m=((p-n[C])*(p+n[C])+r[C]*(n[C-1]/(m-_)-r[C]))/p:m=((p-n[C])*(p+n[C])+r[C]*(n[C-1]/(m+_)-r[C]))/p;let V=1,S=1;for(let D=y+1;D<C+1;D++){let w=r[D],L=n[D];d=S*w,w*=V,_=Br(m,d),r[D-1]=_,V=m/_,S=d/_,m=p*V+w*S,d=L*S,w=-p*S+w*V,L*=V;for(let x=0;x<t;x++){const v=s[x][D-1],U=s[x][D];s[x][D-1]=v*V+U*S,s[x][D]=-v*S+U*V}_=Br(m,d),n[D-1]=_,V=m/_,S=d/_,m=V*w+S*L,p=-S*w+V*L;for(let x=0;x<e;x++){const v=u[x][D-1],U=u[x][D];u[x][D-1]=v*V+U*S,u[x][D]=-v*S+U*V}}r[y]=0,r[C]=m,n[C]=p}for(let C=0;C<n.length;C++)n[C]<a&&(n[C]=0);for(let C=0;C<t;C++)for(let E=C-1;E>=0;E--)if(n[E]<n[C]){const b=n[E];n[E]=n[C],n[C]=b;for(let y=0;y<u.length;y++){const p=u[y][C];u[y][C]=u[y][E],u[y][E]=p}for(let y=0;y<s.length;y++){const p=s[y][C];s[y][C]=s[y][E],s[y][E]=p}C=E}return{matrixU:u,matrixS:n,matrixV:s}}function Br(i,u){let e=0;return Math.abs(i)>Math.abs(u)?(e=u/i,Math.abs(i)*Math.sqrt(1+e*e)):u!==0?(e=i/u,Math.abs(u)*Math.sqrt(1+e*e)):0}function ls(i,u,e,t,r){let n=0;for(let s=u;s<e;s++)n+=i[s][t]*i[s][r];return n}function ui(i,u,e,t,r){let n=0;for(let s=u;s<e;s++)n+=i[t][s]*i[r][s];return n}const kr=new Map([["I",1],["V",5],["X",10],["L",50],["C",100],["D",500],["M",1e3]]),Rm=new Map([[1,"I"],[4,"IV"],[5,"V"],[9,"IX"],[10,"X"],[40,"XL"],[45,"VL"],[49,"IL"],[50,"L"],[90,"XC"],[95,"VC"],[99,"IC"],[100,"C"],[400,"CD"],[450,"LD"],[490,"XD"],[495,"VD"],[499,"ID"],[500,"D"],[900,"CM"],[950,"LM"],[990,"XM"],[995,"VM"],[999,"IM"],[1e3,"M"]]),pm=[[1,4,5,9,10,40,50,90,100,400,500,900,1e3,4e3],[1,4,5,9,10,40,45,50,90,95,100,400,450,500,900,950,1e3,4e3],[1,4,5,9,10,40,45,49,50,90,95,99,100,400,450,490,500,900,950,990,1e3,4e3],[1,4,5,9,10,40,45,49,50,90,95,99,100,400,450,490,495,500,900,950,990,995,1e3,4e3],[1,4,5,9,10,40,45,49,50,90,95,99,100,400,450,490,495,499,500,900,950,990,995,999,1e3,4e3]];function yo(i,u,e){return i<=0?0:i>=1?1:Hn(i,u,e)}function Nm(i,u,e){return i<=0||i>=1?0:u===1&&e===1?1:u<512&&e<512?i**(u-1)*(1-i)**(e-1)/ha(u,e):Math.exp((u-1)*Math.log(i)+(e-1)*Math.log(1-i)-ga(u,e))}function ma(i,u,e){if(i<=0)return 0;if(i>=1)return 1;const t=1e-8;let r;if(u>=1&&e>=1){const c=i<.5?i:1-i,l=Math.sqrt(-2*Math.log(c));r=(2.30753+l*.27061)/(1+l*(.99229+l*.04481))-l,i<.5&&(r=-r);const f=(r*r-3)/6,m=2/(1/(2*u-1)+1/(2*e-1)),d=r*Math.sqrt(f+m)/m-(1/(2*e-1)-1/(2*u-1))*(f+5/6-2/(3*m));r=u/(u+e*Math.exp(2*d))}else{const c=Math.exp(u*Math.log(u/(u+e)))/u,l=Math.exp(e*Math.log(e/(u+e)))/e,f=c+l;i<c/f?r=(u*f*i)**(1/u):r=1-(e*f*(1-i))**(1/e)}const n=-ga(u,e);let s,a,o;for(let c=0;c<10;c++){if(r===0||r===1)return r;if(s=Hn(r,u,e)-i,a=Math.exp((u-1)*Math.log(r)+(e-1)*Math.log(1-r)+n),o=s/a,r-=a=o/(1-.5*Math.min(1,o*((u-1)/r-(e-1)/(1-r)))),r<=0&&(r=.5*(r+a)),r>=1&&(r=.5*(r+a+1)),Math.abs(a)<t*r&&c>0)break}return r}function Hn(i,u,e){const t=i===0||i===1?0:Math.exp(nt(u+e)-nt(u)-nt(e)+u*Math.log(i)+e*Math.log(1-i));return i<(u+1)/(u+e+2)?t*ci(i,u,e)/u:1-t*ci(1-i,e,u)/e}function ci(i,u,e){let n=1-(u+e)*i/(u+1);Math.abs(n)<1e-8&&(n=1e-8),n=1/n;let s=1,a=n;for(let o=1;o<=100;o++){let c=o*(e-o)*i/((u-1+o*2)*(u+o*2));if(n=1+c*n,Math.abs(n)<1e-8&&(n=1e-8),s=1+c/s,Math.abs(s)<1e-8&&(s=1e-8),n=1/n,a*=n*s,c=-(u+o)*(u+e+o)*i/((u+o*2)*(u+1+o*2)),n=1+c*n,Math.abs(n)<1e-8&&(n=1e-8),s=1+c/s,Math.abs(s)<1e-8&&(s=1e-8),n=1/n,a*=n*s,Math.abs(n*s-1)<1e-8)break}return a}function ha(i,u){return i+u>170?Math.exp(ga(i,u)):zr(i)*zr(u)/zr(i+u)}function ga(i,u){return nt(i)+nt(u)-nt(i+u)}function Ro(i,u,e){if(i<0)return 0;if(i>=u)return 1;if(e<0||e>1||u<=0)return Number.NaN;let t=0;for(let r=0;r<=i;r++)t+=da(r,u,e);return t}function da(i,u,e){return e===0||e===1?u*e===i?1:0:Ht(u,i)*e**i*(1-e)**(u-i)}function Ca(i,u){return i<=0?0:Aa(u/2,i/2)}function Vm(i,u){return i<0?0:i===0&&u===2?.5:Math.exp((u/2-1)*Math.log(i)-i/2-u/2*Math.log(2)-nt(u/2))}function po(i,u){return i<=0?0:i>=1?1/0:2*Oo(i,u/2)}function _a(i,u,e){return i<0?0:Hn(u*i/(u*i+e),u/2,e/2)}function Om(i,u,e){if(i<0)return 0;if(i===0&&u<2)return 1/0;if(i===0&&u===2)return 1;let t=1/ha(u/2,e/2);return t*=(u/e)**(u/2),t*=i**(u/2-1),t*=(1+u/e*i)**(-(u+e)/2),t}function No(i,u,e){return i<=0?0:i>=1?1/0:e/(u*(1/ma(i,u/2,e/2)-1))}function Mm(i,u){return i<0?0:1-Math.exp(-u*i)}function Sm(i,u){return i<0?0:u*Math.exp(-u*i)}function Vo(i,u,e){const t=u.length;let r=0,n=0;for(let m=0;m<t;m++)r+=u[m],n+=e[m];const s=r/t,a=n/t;let o=0,c=0;for(let m=0;m<t;m++)o+=(u[m]-s)*(e[m]-a),c+=(e[m]-a)**2;if(c===0)return 1/0;const l=o/c;return s-l*a+l*i}function zr(i){const u=[-1.716185138865495,24.76565080557592,-379.80425647094563,629.3311553128184,866.9662027904133,-31451.272968848367,-36144.413418691176,66456.14382024054],e=[-30.8402300119739,315.35062697960416,-1015.1563674902192,-3107.771671572311,22538.11842098015,4755.846277527881,-134659.9598649693,-115132.2596755535];let t=0,r=i;if(i>171.6243769536076)return 1/0;if(r<=0){const f=r%1+36e-17;if(f)t=(r&1?-1:1)*Math.PI/Math.sin(Math.PI*f),r=1-r;else return 1/0}const n=r;let s=0,a;r<1?a=r++:a=(r-=s=(r|0)-1)-1;let o=0,c=0;for(let f=0;f<8;++f)o=(o+u[f])*a,c=c*a+e[f];let l=o/c+1;if(n<r)l/=n;else if(n>r)for(let f=0;f<s;++f)l*=r,r++;return t&&(l=t/l),l}function Dm(i,u,e){return i<=0?0:Aa(u,i/e)}function wm(i,u,e){return i<0?0:i===0&&u===1?1/e:Math.exp((u-1)*Math.log(i)-i/e-nt(u)-u*Math.log(e))}function Lm(i,u,e){return i<=0?0:i>=1?1/0:e*Oo(i,u)}function nt(i){const u=[76.18009172947146,-86.50532032941678,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18];let e=i,t=i+5.5;t-=(i+.5)*Math.log(t);let r=1.000000000190015;for(let n=0;n<6;n++)r+=u[n]/++e;return-t+Math.log(2.5066282746310007*r/i)}function Aa(i,u){if(u<0||i<=0)return Number.NaN;const e=1e-30,t=-~(Math.log(i>=1?i:1/i)*8.5+i*.4+17),r=nt(i),n=Math.exp(-u+i*Math.log(u)-r);let s=i,a=1/i,o=a;if(u<i+1){if(n===0)return 0;for(let d=1;d<=t&&(a+=o*=u/++s,!(Math.abs(o)<Math.abs(a)*e));d++);return a*n}if(n===0)return 1;let c=u+1-i,l=1/e,f=1/c,m=f;for(let d=1;d<=t;d++){const _=-d*(d-i);if(c+=2,f=_*f+c,Math.abs(f)<e&&(f=e),l=c+_/l,Math.abs(l)<e&&(l=e),f=1/f,m*=f*l,Math.abs(f*l-1)<e)break}return 1-m*n}function Oo(i,u){if(i<=0)return 0;if(i>=1)return Math.max(100,u+100*Math.sqrt(u));let e;if(u>1){const a=i<.5?i:1-i,o=Math.sqrt(-2*Math.log(a));e=(2.30753+o*.27061)/(1+o*(.99229+o*.04481))-o,i<.5&&(e=-e),e=Math.max(.001,u*(1-1/(9*u)-e/(3*Math.sqrt(u)))**3)}else{const a=1-u*(.253+u*.12);i<a?e=(i/a)**(1/u):e=1-Math.log(1-(i-a)/(1-a))}const t=1e-8,r=nt(u);let n,s;for(let a=0;a<12;a++){if(e<=0)return 0;if(n=Aa(u,e)-i,u>1?s=Math.exp((u-1)*(Math.log(u-1)-1)-r)*Math.exp(-(e-(u-1))+(u-1)*(Math.log(e)-Math.log(u-1))):s=Math.exp(-e+(u-1)*Math.log(e)-r),s!==0&&(s=n/s/(1-.5*Math.min(1,n/s*((u-1)/e-1)))),e-=s,e<=0&&(e=.5*(e+s)),Math.abs(s)<t*e)break}return e}function xm(i,u,e,t){let r=0;for(let n=0;n<=i;n++)r+=Ea(n,u,e,t);return r}function Ea(i,u,e,t){return u-i>t-e?0:Ht(e,i)*Ht(t-e,u-i)/Ht(t,u)}function Mo(i,u,e){return i<0?0:.5+.5*Yt((Math.log(i)-u)/Math.sqrt(2*e*e))}function Pm(i,u,e){return i<=0?0:Math.exp(-Math.log(i)-.5*Math.log(2*Math.PI)-Math.log(e)-(Math.log(i)-u)**2/(2*e*e))}function jm(i,u,e){return Math.exp(Gn(i,u,e))}function Um(i,u,e){if(i<0)return 0;let t=0;for(let r=0;r<=i;r++)t+=ba(r,u,e);return t}function ba(i,u,e){return i<0?0:Ht(i+u-1,u-1)*e**u*(1-e)**i}function Lr(i,u,e){return .5*(1+Yt((i-u)/Math.sqrt(2*e*e)))}function So(i,u,e){return Math.exp(-.5*Math.log(2*Math.PI)-Math.log(e)-(i-u)**2/(2*e*e))}function Gn(i,u,e){return-1.4142135623730951*e*gm(2*i)+u}function vm(i,u){let e=0;for(let t=0;t<=i;t++)e+=Do(t,u);return e}function Do(i,u){return Math.exp(-u)*u**i/er(i)}function xr(i,u){const e=.5*Hn(u/(i**2+u),u/2,.5);return i<0?e:1-e}function Tm(i,u){const e=(1+i**2/u)**(-(u+1)/2);return 1/(Math.sqrt(u)*ha(.5,u/2))*e}function Wn(i,u){let e=ma(2*Math.min(i,1-i),.5*u,.5);return e=Math.sqrt(u*(1-e)/e),i>.5?e:-e}function qe(i,u,e,t,r){const n=[],s=[];let a=!0;for(let o=0;o<e;o++){const c=Math.floor(o/t),l=o%t,f=Math.floor(o/r),m=o%r,d=i.isArray()?i.get(c,l):i,_=u.isArray()?u.get(f,m):u;if(d.isError())return{isError:!0,errorObject:d,array1Values:n,array2Values:s,noCalculate:a};if(_.isError())return{isError:!0,errorObject:_,array1Values:n,array2Values:s,noCalculate:a};if(d.isNull()||_.isNull()||d.isBoolean()||_.isBoolean())continue;const C=d.getValue(),E=_.getValue();!M.isRealNum(C)||!M.isRealNum(E)||(n.push(+C),s.push(+E),a=!1)}return{isError:!1,errorObject:null,array1Values:n,array2Values:s,noCalculate:a}}function Qn(i,u,e){const t=i.isArray()?i.getRowCount():1,r=i.isArray()?i.getColumnCount():1;let n=t,s=r;if(u&&!u.isNull()&&(n=u.isArray()?u.getRowCount():1,s=u.isArray()?u.getColumnCount():1,t===1&&s!==r||r===1&&n!==t||t!==1&&r!==1&&(n!==t||s!==r)))return{isError:!0,errorObject:g.create(h.REF)};if(e&&!e.isNull()){const a=e.isArray()?e.getRowCount():1,o=e.isArray()?e.getColumnCount():1;if(t===1&&n>1&&a!==n||r===1&&s>1&&o!==s)return{isError:!0,errorObject:g.create(h.REF)}}return{isError:!1,errorObject:null}}function ut(i){const u=i.isArray()?i.getRowCount():1,e=i.isArray()?i.getColumnCount():1,t=[];for(let r=0;r<u;r++){t[r]=[];for(let n=0;n<e;n++){const s=i.isArray()?i.get(r,n):i;if(s.isError()||s.isNull()||s.isBoolean()||s.isString())return g.create(h.VALUE);t[r].push(+s.getValue())}}return t}function qn(i,u){const e=[];let t=1;for(let r=0;r<i;r++){e[r]=[];for(let n=0;n<u;n++)e[r].push(t++)}return e}function Kn(i,u,e,t){let r=u;t&&(r=u.map(a=>Math.log(a)));let n,s;return e?{slope:n,intercept:s}=Im(i,r):{slope:n,intercept:s}=Fm(i,r),t&&(n=Math.exp(n),s=Math.exp(s)),Number.isNaN(n)&&!e&&(n=0),{slope:n,intercept:s,Y:r}}function Im(i,u){const e=u.length;let t=0,r=0,n=0,s=0;for(let l=0;l<e;l++)t+=i[l],r+=u[l],n+=i[l]*i[l],s+=i[l]*u[l];const o=(e*s-t*r)/(e*n-t*t),c=1/e*r-o*(1/e)*t;return{slope:o,intercept:c}}function Fm(i,u){const e=[[...i]],t=[...u];let r=e.length,n=e[0].length,s=Math.min(r,n);const a=new Array(s).fill(0);for(let c=0;c<s;c++){const l=e[c];let f=0;for(let d=0;d<n;d++)f+=l[d]**2;const m=l[c]<0?Math.sqrt(f):-Math.sqrt(f);if(a[c]=m,m!==0){l[c]-=m;for(let d=c+1;d<r;d++){let _=0;for(let C=c;C<n;C++)_-=e[d][C]*l[C];_/=m*l[c];for(let C=c;C<n;C++)e[d][C]-=_*l[C]}}}r=e.length,n=e[0].length,s=Math.min(r,n);const o=new Array(r).fill(0);for(let c=0;c<s;c++){const l=e[c];let f=0;for(let m=0;m<n;m++)f+=t[m]*l[m];f/=a[c]*l[c];for(let m=0;m<n;m++)t[m]+=f*l[m]}for(let c=a.length-1;c>=0;c--){t[c]/=a[c];const l=t[c],f=e[c];o[c]=l;for(let m=0;m<c;m++)t[m]-=l*f[m]}return{slope:o[0],intercept:0}}function Xn(i,u,e,t,r){const n=i.length===1&&i[0].length>1;let s=i;r&&(s=i.map(C=>C.map(E=>Math.log(E))));let a=u,o=e;n&&(s=it(s),a=it(a),o=it(o)),t&&(a=a.map(C=>[...C,1]));const c=it(a),l=tr(c,a),f=tr(c,s);let m=Am(l);if(!m&&(m=bm(l),!m))return g.create(h.NA);let d=tr(m,f);t||d.push([0]),d=it(d);const _=d[0].pop();if(d[0].reverse(),d[0].push(_),r)for(let C=0;C<d[0].length;C++)d[0][C]=Math.exp(d[0][C]);return{coefficients:d,Y:s,X:a,newX:o,XTXInverse:m}}class wo extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5)}calculate(e,t,r,n,s){let a=n!=null?n:R.create(0),o=s!=null?s:R.create(1);a.isNull()&&(a=R.create(0)),o.isNull()&&(o=R.create(1));const c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),f=O(c,l,e,g.create(h.NA)),m=O(c,l,t,g.create(h.NA)),d=O(c,l,r,g.create(h.NA)),_=O(c,l,a,g.create(h.NA)),C=O(c,l,o,g.create(h.NA)),E=f.mapValue((b,y,p)=>{const V=m.get(y,p),S=d.get(y,p),D=_.get(y,p),w=C.get(y,p);return this._handleSingleObject(b,V,S,D,w)});return c===1&&l===1?E.get(0,0):E}_handleSingleObject(e,t,r,n,s){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(n.isError())return n;if(s.isError())return s;const{isError:a,errorObject:o,variants:c}=F(e,t,r,n,s);if(a)return o;const[l,f,m,d,_]=c,C=+l.getValue(),E=+f.getValue(),b=+m.getValue(),y=+d.getValue(),p=+_.getValue();if(E<=0||b<=0||C<=0||C>=1||y>=p)return g.create(h.NUM);const V=ma(C,E,b)*(p-y)+y;return R.create(V)}}class Lo extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:b.isError()?b:y.isError()?y:this._handleSingleObject(d,E,b,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=F(e,t,r,n);if(s)return a;const[c,l,f,m]=o,d=Math.floor(+c.getValue()),_=Math.floor(+l.getValue()),C=+f.getValue(),E=+m.getValue();if(d<0||d>_||C<0||C>1)return g.create(h.NUM);let b;return E?b=Ro(d,_,C):b=da(d,_,C),R.create(b)}}class xo extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=Math.floor(+o.getValue()),m=+c.getValue(),d=+l.getValue();if(f<0||m<=0||m>=1||d<=0||d>=1)return g.create(h.NUM);let _=0;for(;_<=f&&!(Ro(_,f,m)>=d);)_++;return R.create(_)}}class Po extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);return c.isError()?c:m.isError()?m:this._handleSingleObject(c,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=F(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=Math.floor(+o.getValue());if(c<0||l<1||l>10**10)return g.create(h.NUM);const f=1-Ca(c,l);return R.create(f)}}class jo extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);return c.isError()?c:m.isError()?m:this._handleSingleObject(c,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=F(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=Math.floor(+o.getValue());if(c<0||c>1||l<1||l>10**10)return g.create(h.NUM);const f=po(1-c,l);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):R.create(f)}}class Uo extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let c=t;if(t.isArray()&&s===1&&a===1&&(c=t.get(0,0)),c.isError())return c;if(r*n===1||s*a===1)return o.isNull()||c.isNull()?g.create(h.VALUE):g.create(h.NA);if(r*n!==s*a)return g.create(h.NA);const{isError:l,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=qe(e,t,r*n,n,a);return l?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d,r,n)}_getResult(e,t,r,n){let s=0;for(let c=0;c<e.length;c++){if(t[c]===0)return g.create(h.DIV_BY_ZERO);s+=(e[c]-t[c])**2/t[c]}let a=(r-1)*(n-1);r===1?a=n-1:n===1&&(a=r-1);const o=1-Ca(s,a);return R.create(o)}}class vo extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);if(f.isError())return f;if(_.isError())return _;if(C.isError())return C;const{isError:E,errorObject:b,variants:y}=F(f,_,C);if(E)return b;const[p,V,S]=y,D=+p.getValue(),w=+V.getValue(),L=Math.floor(+S.getValue());if(D<=0||D>=1||w<=0||L<1)return g.create(h.NUM);const x=Math.abs(Gn(D/2,0,1)*w/Math.sqrt(L));return R.create(x)});return n===1&&s===1?l.get(0,0):l}}class To extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let c=t;if(t.isArray()&&s===1&&a===1&&(c=t.get(0,0)),c.isError())return c;if((r*n===1||s*a===1)&&(o.isNull()||c.isNull()))return g.create(h.VALUE);if(r*n!==s*a)return g.create(h.NA);const{isError:l,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=qe(e,t,r*n,n,a);return l?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){if(e.length===0)return g.create(h.DIV_BY_ZERO);const r=e.length;let n=0,s=0;for(let l=0;l<r;l++)n+=e[l],s+=t[l];const a=n/r,o=s/r;let c=0;for(let l=0;l<r;l++){const f=e[l]-a,m=t[l]-o;c+=f*m}return R.create(c/r)}}class Io extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=+c.getValue(),d=+l.getValue();if(f<0||m<=0)return g.create(h.NUM);let _;return d?_=Mm(f,m):_=Sm(f,m),R.create(_)}}class Fo extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=Math.floor(+c.getValue()),d=Math.floor(+l.getValue());if(f<0||m<1||m>10**10||d<1||d>10**10)return g.create(h.NUM);const _=1-_a(f,m,d);return R.create(_)}}class Bo extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=Math.floor(+c.getValue()),d=Math.floor(+l.getValue());if(f<0||f>1||m<1||m>10**10||d<1||d>10**10)return g.create(h.NUM);const _=No(1-f,m,d);return Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):R.create(_)}}class ko extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variance:s,ns1:a}=this._getValues(e);if(r)return n;const{isError:o,errorObject:c,variance:l,ns1:f}=this._getValues(t);if(o)return c;let m=2*(1-_a(s/l,a,f));return m>1&&(m=2-m),R.create(m)}_getValues(e){let t=0,r=0;const n=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1;if(n===1&&s===1){const f=e.isArray()?e.get(0,0):e;return f.isError()?{isError:!0,errorObject:f,variance:t,ns1:r}:f.isNull()?{isError:!0,errorObject:g.create(h.VALUE),variance:t,ns1:r}:{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),variance:t,ns1:r}}const a=[];let o=0;for(let f=0;f<n;f++)for(let m=0;m<s;m++){const d=e.isArray()?e.get(f,m):e;if(d.isError())return{isError:!0,errorObject:d,variance:t,ns1:r};if(d.isNull()||d.isBoolean())continue;const _=d.getValue();M.isRealNum(_)&&(a.push(+_),o+=+_)}if(a.length<=1)return{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),variance:t,ns1:r};const c=o/a.length;let l=0;for(let f=0;f<a.length;f++)l+=(a[f]-c)**2;return r=a.length-1,t=l/r,t===0?{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),variance:t,ns1:r}:{isError:!1,errorObject:null,variance:t,ns1:r}}}class $o extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:b.isError()?b:y.isError()?y:this._handleSingleObject(d,E,b,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=F(e,t,r,n);if(s)return a;const[c,l,f,m]=o,d=+c.getValue(),_=+l.getValue(),C=+f.getValue(),E=+m.getValue();if(d<0||_<=0||C<=0)return g.create(h.NUM);let b;return E?b=Dm(d,_,C):b=wm(d,_,C),R.create(b)}}class Yo extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=+c.getValue(),d=+l.getValue();if(f<0||f>1||m<=0||d<=0)return g.create(h.NUM);const _=Lm(f,m,d);return Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):R.create(_)}}class Ho extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=+c.getValue(),d=+l.getValue();if(f<=0||f>=1||d<=0)return g.create(h.NUM);const _=jm(f,m,d);return Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):R.create(_)}}class Go extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t={};let r=0,n=1;for(let s=0;s<e.length;s++){const a=e[s];if(a.isError())return a;if(a.isString()){const l=a.convertToNumberObjectValue();if(l.isError())return l}const o=a.isArray()?a.getRowCount():1,c=a.isArray()?a.getColumnCount():1;for(let l=0;l<o;l++)for(let f=0;f<c;f++){const m=a.isArray()?a.get(l,f):a;if(m.isError())return m;if(m.isNull()||m.isBoolean()||m.isString())continue;const d=m.getValue();M.isRealNum(d)&&(t[+d]?(t[+d].count++,t[+d].count>n&&(n=t[+d].count)):t[+d]={count:1,order:r++})}}return r===0||n===1?new g(h.NA):this._getResult(t,n)}_getResult(e,t){const r=Object.entries(e).filter(([n,{count:s}])=>s===t).sort((n,s)=>n[1].order-s[1].order).map(([n])=>+n);return R.create(r[0])}}class Wo extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:b.isError()?b:y.isError()?y:this._handleSingleObject(d,E,b,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=F(e,t,r,n);if(s)return a;const[c,l,f,m]=o,d=+c.getValue(),_=+l.getValue(),C=+f.getValue(),E=+m.getValue();if(C<=0)return g.create(h.NUM);let b;return E?b=Lr(d,_,C):b=So(d,_,C),R.create(b)}}class Qo extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=+c.getValue(),d=+l.getValue();if(f<=0||f>=1||d<=0)return g.create(h.NUM);const _=Gn(f,m,d);return R.create(_)}}class qo extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return e.getRowCount()===1&&e.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=F(e);if(t)return r;const[s]=n,a=+s.getValue();if(a<=0||a>=1)return g.create(h.NUM);const o=Gn(a,0,1);return R.create(o)}}class Ko extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=this._getValues(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(e instanceof g)return e;const{isError:r,errorObject:n,variants:s}=F(t);if(r)return n;const[a]=s,o=+a.getValue(),c=e.length;if(o<0||o>1)return g.create(h.NUM);const l=o*(c-1),f=Math.floor(l),m=l-f;if(m===0)return R.create(e[f]);const d=e[f]+m*(e[f+1]-e[f]);return R.create(d)}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()||o.isBoolean()||o.isString())continue;const c=o.getValue();M.isRealNum(c)&&n.push(+c)}return n.length===0?g.create(h.NUM):n.sort((s,a)=>s-a)}}class Xo extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=this._getValues(e);let s=r!=null?r:R.create(3);s.isNull()&&(s=R.create(3));const a=Math.max(t.isArray()?t.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(t.isArray()?t.getColumnCount():1,s.isArray()?s.getColumnCount():1),c=O(a,o,t,g.create(h.NA)),l=O(a,o,s,g.create(h.NA)),f=c.mapValue((m,d,_)=>{const C=l.get(d,_);return m.isError()?m:C.isError()?C:this._handleSingleObject(n,m,C)});return a===1&&o===1?f.get(0,0):f}_handleSingleObject(e,t,r){if(e instanceof g)return e;const{isError:n,errorObject:s,variants:a}=F(t,r);if(n)return s;const[o,c]=a,l=+o.getValue(),f=Math.floor(+c.getValue()),m=e.length;if(m===0||l<e[0]||l>e[m-1])return g.create(h.NA);if(m===1)return l===e[0]?R.create(1):g.create(h.NA);let d=0,_=!1,C=0;for(;!_&&C<m;)l===e[C]?(d=C/(m-1),_=!0):l>e[C]&&C+1<m&&l<e[C+1]&&(d=(C+(l-e[C])/(e[C+1]-e[C]))/(m-1),_=!0),C++;return _?f<1?g.create(h.NUM):(d=He(d,f),R.create(d)):g.create(h.NA)}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()||o.isBoolean())continue;const c=o.getValue();M.isRealNum(c)&&n.push(+c)}return n.sort((s,a)=>s-a)}}class Zo extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=Math.floor(+o.getValue()),m=+c.getValue(),d=+l.getValue();if(f<0||m<0)return g.create(h.NUM);let _;return d?_=vm(f,m):_=Do(f,m),R.create(_)}}class zo extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=this._getValues(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(e instanceof g)return e;const{isError:r,errorObject:n,variants:s}=F(t);if(r)return n;const[a]=s,o=Math.floor(+a.getValue());if(o<0||o>4)return g.create(h.NUM);const c=o/4,l=e.length,f=c*(l-1),m=Math.floor(f),d=f-m;if(d===0)return R.create(e[m]);const _=e[m]+d*(e[m+1]-e[m]);return R.create(_)}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()||o.isBoolean())continue;const c=o.getValue();M.isRealNum(c)&&n.push(+c)}return n.length===0?g.create(h.NUM):n.sort((s,a)=>s-a)}}class Jo extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.std()}}class eu extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.std(1)}}class tu extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);return c.isError()?c:m.isError()?m:this._handleSingleObject(c,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=F(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=Math.floor(+o.getValue());if(c<=0||c>1||l<1||l>10**10)return g.create(h.NUM);const f=Math.abs(Wn(c/2,l));return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):R.create(f)}}class ru extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a,array1Values:o,array2Values:c}=this._handleArray1AndArray2(e,t),l=this._getArrayValues(e),f=this._getArrayValues(t),m=Math.max(r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),d=Math.max(r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),_=O(m,d,r,g.create(h.NA)),C=O(m,d,n,g.create(h.NA)),E=_.mapValue((b,y,p)=>{const V=C.get(y,p);if(e.isError())return e;if(t.isError())return t;if(b.isError())return b;if(V.isError())return V;const{isError:S,errorObject:D,variants:w}=F(b,V);if(S)return D;const[L,x]=w,v=Math.floor(+L.getValue()),U=Math.floor(+x.getValue());return![1,2].includes(v)||![1,2,3].includes(U)?g.create(h.NUM):U===1&&s?a:U!==1&&l instanceof g?l:U!==1&&f instanceof g?f:this._handleSingleObject(U===1?o:l,U===1?c:f,v,U)});return m===1&&d===1?E.get(0,0):E}_handleSingleObject(e,t,r,n){if(e.length<2||t.length<2)return g.create(h.DIV_BY_ZERO);const{isError:s,errorObject:a,x:o,degFreedom:c}=this._getTDistParamByArrayValues(e,t,n);if(s)return a;let l=xr(-o,c);return r===2&&(l*=2),Number.isNaN(l)||!Number.isFinite(l)?g.create(h.NUM):R.create(l)}_getArrayValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()){if(t*r===1)return g.create(h.VALUE);continue}o.isBoolean()||o.isString()||n.push(+o.getValue())}return n}_handleArray1AndArray2(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return{isError:!0,errorObject:o,array1Values:[],array2Values:[]};let c=t;if(t.isArray()&&s===1&&a===1&&(c=t.get(0,0)),c.isError())return{isError:!0,errorObject:c,array1Values:[],array2Values:[]};if((r*n===1||s*a===1)&&(o.isNull()||c.isNull()))return{isError:!0,errorObject:g.create(h.VALUE),array1Values:[],array2Values:[]};if(r*n!==s*a)return{isError:!0,errorObject:g.create(h.NA),array1Values:[],array2Values:[]};const{isError:l,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=qe(e,t,r*n,n,a);return l?{isError:!0,errorObject:f,array1Values:[],array2Values:[]}:_||m.length<2?{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),array1Values:[],array2Values:[]}:{isError:!1,errorObject:null,array1Values:m,array2Values:d}}_getTDistParamByArrayValues(e,t,r){return r===1?this._getTDistParamByType1(e,t):r===2?this._getTDistParamByType2(e,t):this._getTDistParamByType3(e,t)}_getTDistParamByType1(e,t){const r=e.length;let n=0,s=0,a=0;for(let m=0;m<r;m++)n+=e[m],s+=t[m],a+=(e[m]-t[m])**2;const o=n-s,c=r*a-o**2,l=r-1;return c===0?{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),x:0,degFreedom:l}:{isError:!1,errorObject:null,x:Math.abs(o)*Math.sqrt(l/c),degFreedom:l}}_getTDistParamByType2(e,t){const r=e.length,n=t.length;let s=0,a=0;for(let E=0;E<r;E++)s+=e[E],a+=e[E]**2;let o=0,c=0;for(let E=0;E<n;E++)o+=t[E],c+=t[E]**2;const l=a-s**2/r,f=c-o**2/n,m=Math.sqrt(l+f);if(m===0)return{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),x:0,degFreedom:0};const d=r-1+n-1,_=Math.sqrt(r*n*d/(r+n));return{isError:!1,errorObject:null,x:Math.abs(s/r-o/n)/m*_,degFreedom:d}}_getTDistParamByType3(e,t){const r=e.length,n=t.length;let s=0,a=0;for(let C=0;C<r;C++)s+=e[C],a+=e[C]**2;let o=0,c=0;for(let C=0;C<n;C++)o+=t[C],c+=t[C]**2;const l=(a-s**2/r)/(r*(r-1)),f=(c-o**2/n)/(n*(n-1));if(l+f===0)return{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),x:0,degFreedom:0};const m=l/(l+f),d=Math.abs(s/r-o/n)/Math.sqrt(l+f),_=1/(m**2/(r-1)+(1-m)**2/(n-1));return{isError:!1,errorObject:null,x:d,degFreedom:_}}}class nu extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.var()}}class su extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.var(1)}}class au extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:b.isError()?b:y.isError()?y:this._handleSingleObject(d,E,b,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=F(e,t,r,n);if(s)return a;const[c,l,f,m]=o,d=+c.getValue(),_=+l.getValue(),C=+f.getValue(),E=+m.getValue();if(d<0||_<=0||C<=0)return g.create(h.NUM);const b=Math.exp(-((d/C)**_));let y;return E?y=1-b:y=_/C**_*d**(_-1)*b,Number.isNaN(y)||!Number.isFinite(y)?g.create(h.NUM):R.create(y)}}class iu extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=this._getArrayValues(e),s=Math.max(t.isArray()?t.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1),a=Math.max(t.isArray()?t.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1),o=O(s,a,t,g.create(h.NA)),c=r?O(s,a,r,g.create(h.NA)):void 0,l=o.mapValue((f,m,d)=>{if(n instanceof g)return n;if(f.isError())return f;const _=r?c.get(m,d):void 0;return _!=null&&_.isError()?_:n.length===0?g.create(h.NA):n.length===1?g.create(h.DIV_BY_ZERO):this._handleSingleObject(n,f,_)});return s===1&&a===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(t);if(n)return s;const[o]=a,c=+o.getValue(),l=e.length;let f=0,m=0;for(let E=0;E<l;E++)f+=e[E],m+=e[E]**2;let d=0;if(r!==void 0){const{isError:E,errorObject:b,variants:y}=F(r);if(E)return b;const[p]=y;d=+p.getValue()}else{const E=f/l;d=Math.sqrt((m-2*E*f+l*E**2)/(l-1))}if(d<=0)return g.create(h.NUM);const _=(f/l-c)/(d/Math.sqrt(l)),C=1-Lr(_,0,1);return Number.isNaN(C)||!Number.isFinite(C)?g.create(h.NUM):R.create(C)}_getArrayValues(e){const t=[],r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1;for(let s=0;s<r;s++)for(let a=0;a<n;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()||o.isBoolean()||o.isString())continue;const c=o.getValue();M.isRealNum(c)&&t.push(+c)}return t}}class Bm extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5)}calculate(e,t,r,n,s){let a=n!=null?n:R.create(0),o=s!=null?s:R.create(1);a.isNull()&&(a=R.create(0)),o.isNull()&&(o=R.create(1));const c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),f=O(c,l,e,g.create(h.NA)),m=O(c,l,t,g.create(h.NA)),d=O(c,l,r,g.create(h.NA)),_=O(c,l,a,g.create(h.NA)),C=O(c,l,o,g.create(h.NA)),E=f.mapValue((b,y,p)=>{const V=m.get(y,p),S=d.get(y,p),D=_.get(y,p),w=C.get(y,p);return this._handleSingleObject(b,V,S,D,w)});return c===1&&l===1?E.get(0,0):E}_handleSingleObject(e,t,r,n,s){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(n.isError())return n;if(s.isError())return s;const{isError:a,errorObject:o,variants:c}=F(e,t,r,n,s);if(a)return o;const[l,f,m,d,_]=c,C=+l.getValue(),E=+f.getValue(),b=+m.getValue(),y=+d.getValue(),p=+_.getValue();if(E<=0||b<=0||C<y||C>p||y===p)return g.create(h.NUM);const V=yo((C-y)/(p-y),E,b);return R.create(V)}}var fe=(i=>(i.BETADIST="BETADIST",i.BETAINV="BETAINV",i.BINOMDIST="BINOMDIST",i.CHIDIST="CHIDIST",i.CHIINV="CHIINV",i.CHITEST="CHITEST",i.CONFIDENCE="CONFIDENCE",i.COVAR="COVAR",i.CRITBINOM="CRITBINOM",i.EXPONDIST="EXPONDIST",i.FDIST="FDIST",i.FINV="FINV",i.FTEST="FTEST",i.GAMMADIST="GAMMADIST",i.GAMMAINV="GAMMAINV",i.HYPGEOMDIST="HYPGEOMDIST",i.LOGINV="LOGINV",i.LOGNORMDIST="LOGNORMDIST",i.MODE="MODE",i.NEGBINOMDIST="NEGBINOMDIST",i.NORMDIST="NORMDIST",i.NORMINV="NORMINV",i.NORMSDIST="NORMSDIST",i.NORMSINV="NORMSINV",i.PERCENTILE="PERCENTILE",i.PERCENTRANK="PERCENTRANK",i.POISSON="POISSON",i.QUARTILE="QUARTILE",i.RANK="RANK",i.STDEV="STDEV",i.STDEVP="STDEVP",i.TDIST="TDIST",i.TINV="TINV",i.TTEST="TTEST",i.VAR="VAR",i.VARP="VARP",i.WEIBULL="WEIBULL",i.ZTEST="ZTEST",i))(fe||{});class km extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:b.isError()?b:y.isError()?y:this._handleSingleObject(d,E,b,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=F(e,t,r,n);if(s)return a;const[c,l,f,m]=o,d=Math.floor(+c.getValue()),_=Math.floor(+l.getValue()),C=Math.floor(+f.getValue()),E=Math.floor(+m.getValue());if(d<0||d>_||d>C||d<_-E+C||_<=0||_>E||C<=0||C>E||E<=0)return g.create(h.NUM);let b=Ea(d,_,C,E);return Number.isNaN(b)&&(b=0),R.create(b)}}class $m extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=+c.getValue(),d=+l.getValue();if(f<=0||d<=0)return g.create(h.NUM);const _=Mo(f,m,d);return R.create(_)}}class Ym extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=Math.floor(+o.getValue()),m=Math.floor(+c.getValue()),d=+l.getValue();if(f<0||m<1||d<=0||d>=1)return g.create(h.NUM);const _=ba(f,m,d);return R.create(_)}}class Hm extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return e.getRowCount()===1&&e.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=F(e);if(t)return r;const[s]=n,a=+s.getValue(),o=Lr(a,0,1);return R.create(o)}}class Gm extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){let n=e;n.isReferenceObject()&&(n=n.toArrayValueObject());const{refHasError:s,refErrorObject:a,refNumbers:o}=this._checkRefReferenceObject(t);let c=r!=null?r:R.create(0);c.isReferenceObject()&&(c=c.toArrayValueObject());const l=Math.max(n.isArray()?n.getRowCount():1,c.isArray()?c.getRowCount():1),f=Math.max(n.isArray()?n.getColumnCount():1,c.isArray()?c.getColumnCount():1),m=O(l,f,n,g.create(h.NA)),d=O(l,f,c,g.create(h.NA)),_=m.map((C,E,b)=>{const y=d.get(E,b);if(!e.isReferenceObject()&&e.isNull())return g.create(h.NA);if(s)return a;if(y.isError())return y;const p=+C.getValue(),V=+y.getValue();if(Number.isNaN(p)||Number.isNaN(V))return g.create(h.VALUE);const D=o.sort((w,L)=>V?w-L:L-w).indexOf(p);return D===-1?g.create(h.NA):R.create(D+1)});return l===1&&f===1?_.get(0,0):_}_checkRefReferenceObject(e){let t=!1,r=g.create(h.NA);const n=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(a=>{const o=a;if(o.isError())return t=!0,r=o,!1;if(o.isNull()||o.isBoolean())return!0;const c=+o.getValue();if(Number.isNaN(c))return!0;n.push(c)}),{refHasError:t,refErrorObject:r,refNumbers:n}):{refHasError:!0,refErrorObject:r,refNumbers:n}}}class Wm extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=Math.floor(+c.getValue()),d=Math.floor(+l.getValue());if(f<0||m<1||m>10**10||d<1||d>2)return g.create(h.NUM);let _=xr(-f,m);return d===2&&(_*=2),Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):R.create(_)}}const ou=[[Bm,fe.BETADIST],[wo,fe.BETAINV],[Lo,fe.BINOMDIST],[Po,fe.CHIDIST],[jo,fe.CHIINV],[Uo,fe.CHITEST],[vo,fe.CONFIDENCE],[To,fe.COVAR],[xo,fe.CRITBINOM],[Io,fe.EXPONDIST],[Fo,fe.FDIST],[Bo,fe.FINV],[ko,fe.FTEST],[$o,fe.GAMMADIST],[Yo,fe.GAMMAINV],[km,fe.HYPGEOMDIST],[$m,fe.LOGNORMDIST],[Ho,fe.LOGINV],[Go,fe.MODE],[Ym,fe.NEGBINOMDIST],[Wo,fe.NORMDIST],[Qo,fe.NORMINV],[Hm,fe.NORMSDIST],[qo,fe.NORMSINV],[Ko,fe.PERCENTILE],[Xo,fe.PERCENTRANK],[Zo,fe.POISSON],[zo,fe.QUARTILE],[Gm,fe.RANK],[eu,fe.STDEV],[Jo,fe.STDEVP],[Wm,fe.TDIST],[tu,fe.TINV],[ru,fe.TTEST],[su,fe.VAR],[nu,fe.VARP],[au,fe.WEIBULL],[iu,fe.ZTEST]],uu=[];var cu=(i=>(i.CUBEKPIMEMBER="CUBEKPIMEMBER",i.CUBEMEMBER="CUBEMEMBER",i.CUBEMEMBERPROPERTY="CUBEMEMBERPROPERTY",i.CUBERANKEDMEMBER="CUBERANKEDMEMBER",i.CUBESET="CUBESET",i.CUBESETCOUNT="CUBESETCOUNT",i.CUBEVALUE="CUBEVALUE",i))(cu||{});class lu extends N{isCustom(){return!0}}class Qm extends lu{isAsync(){return!0}}function Ke(i){const u=[];if(i.isError())return{isError:!0,errorObject:i,databaseValues:u};const e=i.isArray()?i.getRowCount():1,t=i.isArray()?i.getColumnCount():1;if(e<2)return{isError:!0,errorObject:g.create(h.VALUE),databaseValues:u};for(let r=0;r<e;r++){const n=[];for(let s=0;s<t;s++){const a=i.get(r,s);if(a.isNull()){n.push(null);continue}let o=`${a.getValue()}`;if(a.isBoolean()&&(o=o.toLocaleUpperCase()),a.isNumber()||M.isRealNum(o)){n.push(+o);continue}n.push(o)}u.push(n)}return{isError:!1,errorObject:null,databaseValues:u}}function Xe(i,u){let e=-1;if(i.isError())return{isError:!0,errorObject:i,fieldIndex:e};const t=i.isArray()?i.getRowCount():1,r=i.isArray()?i.getColumnCount():1;if(t>1||r>1)return{isError:!0,errorObject:g.create(h.VALUE),fieldIndex:e};const n=i.isArray()?i.get(0,0):i;let s=`${n.getValue()}`;if(n.isNull()?s=0:n.isBoolean()?s=n.getValue()?1:0:(n.isNumber()||M.isRealNum(s))&&(s=Math.floor(+s)),typeof s=="number"){if(s<1||s>u[0].length)return{isError:!0,errorObject:g.create(h.VALUE),fieldIndex:e};e=s-1}else if(e=u[0].findIndex(a=>a===null?!1:`${a}`.toLocaleLowerCase()===s.toLocaleLowerCase()),e===-1)return{isError:!0,errorObject:g.create(h.VALUE),fieldIndex:e};return{isError:!1,errorObject:null,fieldIndex:e}}function Ze(i){const u=[];if(i.isError())return{isError:!0,errorObject:i,criteriaValues:u};const e=i.isArray()?i.getRowCount():1,t=i.isArray()?i.getColumnCount():1;if(e<2)return{isError:!0,errorObject:g.create(h.VALUE),criteriaValues:u};for(let r=0;r<e;r++){const n=[];for(let s=0;s<t;s++){const a=i.get(r,s);if(a.isNull()){n.push(null);continue}const o=`${a.getValue()}`;if(a.isBoolean()){n.push(a.getValue()?1:0);continue}if(a.isNumber()||M.isRealNum(o)){n.push(+o);continue}n.push(o)}u.push(n)}return{isError:!1,errorObject:null,criteriaValues:u}}function ze(i,u,e){const t=i.length,r=i[0].length,n={};let s=!1;for(let a=1;a<t;a++){let o=!0;for(let c=0;c<r;c++){const l=i[a][c];if(l===null)continue;let f=n[c];if(f===void 0){const m=i[0][c];f=u[0].findIndex(d=>d===null||m===null?!1:`${d}`.toLocaleLowerCase()===`${m}`.toLocaleLowerCase()),n[c]=f}if(f===-1&&(typeof l=="string"||l===0)){o=!1;break}else if(f>-1){const m=u[e][f];if(m===null){o=!1;break}const[d,_]=ta(`${l}`);if(!lt.create(`${m}`).compare(_,d).getValue()){o=!1;break}}}if(o){s=!0;break}}return s}class qm extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=Ke(e);if(n)return s;const{isError:o,errorObject:c,fieldIndex:l}=Xe(t,a);if(o)return c;const{isError:f,errorObject:m,criteriaValues:d}=Ze(r);if(f)return m;let _=0,C=0;for(let E=1;E<a.length;E++){const b=a[E][l];typeof b=="number"&&ze(d,a,E)&&(_+=b,C++)}return C===0?g.create(h.DIV_BY_ZERO):R.create(_/C)}}class Km extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=Ke(e);if(n)return s;const{isError:o,errorObject:c,fieldIndex:l}=Xe(t,a);if(o)return c;const{isError:f,errorObject:m,criteriaValues:d}=Ze(r);if(f)return m;let _=0;for(let C=1;C<a.length;C++)typeof a[C][l]=="number"&&ze(d,a,C)&&_++;return R.create(_)}}class Xm extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=Ke(e);if(n)return s;const{isError:o,errorObject:c,fieldIndex:l}=Xe(t,a);if(o)return c;const{isError:f,errorObject:m,criteriaValues:d}=Ze(r);if(f)return m;let _=0;for(let C=1;C<a.length;C++){const E=a[C][l];E!=null&&ze(d,a,C)&&_++}return R.create(_)}}class Zm extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=Ke(e);if(n)return s;const{isError:o,errorObject:c,fieldIndex:l}=Xe(t,a);if(o)return c;const{isError:f,errorObject:m,criteriaValues:d}=Ze(r);if(f)return m;let _=0,C=0;for(let E=1;E<a.length;E++){const b=a[E][l];b!=null&&ze(d,a,E)&&(_++,C=E)}return _===0?g.create(h.VALUE):_>1?g.create(h.NUM):e.get(C,l)}}class zm extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=Ke(e);if(n)return s;const{isError:o,errorObject:c,fieldIndex:l}=Xe(t,a);if(o)return c;const{isError:f,errorObject:m,criteriaValues:d}=Ze(r);if(f)return m;let _=-1/0,C=0;for(let E=1;E<a.length;E++){const b=a[E][l];typeof b=="number"&&ze(d,a,E)&&(_=Math.max(_,b),C++)}return C===0?R.create(0):R.create(_)}}class Jm extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=Ke(e);if(n)return s;const{isError:o,errorObject:c,fieldIndex:l}=Xe(t,a);if(o)return c;const{isError:f,errorObject:m,criteriaValues:d}=Ze(r);if(f)return m;let _=1/0,C=0;for(let E=1;E<a.length;E++){const b=a[E][l];typeof b=="number"&&ze(d,a,E)&&(_=Math.min(_,b),C++)}return C===0?R.create(0):R.create(_)}}class eh extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=Ke(e);if(n)return s;const{isError:o,errorObject:c,fieldIndex:l}=Xe(t,a);if(o)return c;const{isError:f,errorObject:m,criteriaValues:d}=Ze(r);if(f)return m;let _=1,C=0;for(let E=1;E<a.length;E++){const b=a[E][l];typeof b=="number"&&ze(d,a,E)&&(_*=b,C++)}return C===0?R.create(0):R.create(_)}}class th extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=Ke(e);if(n)return s;const{isError:o,errorObject:c,fieldIndex:l}=Xe(t,a);if(o)return c;const{isError:f,errorObject:m,criteriaValues:d}=Ze(r);if(f)return m;const _=[];let C=0,E=0;for(let V=1;V<a.length;V++){const S=a[V][l];typeof S=="number"&&ze(d,a,V)&&(_.push(S),C+=S,E++)}if(E<=1)return g.create(h.DIV_BY_ZERO);const b=C/E;let y=0;for(let V=0;V<E;V++)y+=(_[V]-b)**2;const p=Math.sqrt(y/(E-1));return R.create(p)}}class rh extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=Ke(e);if(n)return s;const{isError:o,errorObject:c,fieldIndex:l}=Xe(t,a);if(o)return c;const{isError:f,errorObject:m,criteriaValues:d}=Ze(r);if(f)return m;const _=[];let C=0,E=0;for(let V=1;V<a.length;V++){const S=a[V][l];typeof S=="number"&&ze(d,a,V)&&(_.push(S),C+=S,E++)}if(E===0)return g.create(h.DIV_BY_ZERO);const b=C/E;let y=0;for(let V=0;V<E;V++)y+=(_[V]-b)**2;const p=Math.sqrt(y/E);return R.create(p)}}class nh extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=Ke(e);if(n)return s;const{isError:o,errorObject:c,fieldIndex:l}=Xe(t,a);if(o)return c;const{isError:f,errorObject:m,criteriaValues:d}=Ze(r);if(f)return m;let _=0;for(let C=1;C<a.length;C++){const E=a[C][l];typeof E=="number"&&ze(d,a,C)&&(_+=E)}return R.create(_)}}class sh extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=Ke(e);if(n)return s;const{isError:o,errorObject:c,fieldIndex:l}=Xe(t,a);if(o)return c;const{isError:f,errorObject:m,criteriaValues:d}=Ze(r);if(f)return m;const _=[];let C=0,E=0;for(let V=1;V<a.length;V++){const S=a[V][l];typeof S=="number"&&ze(d,a,V)&&(_.push(S),C+=S,E++)}if(E<=1)return g.create(h.DIV_BY_ZERO);const b=C/E;let y=0;for(let V=0;V<E;V++)y+=(_[V]-b)**2;const p=y/(E-1);return R.create(p)}}class ah extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=Ke(e);if(n)return s;const{isError:o,errorObject:c,fieldIndex:l}=Xe(t,a);if(o)return c;const{isError:f,errorObject:m,criteriaValues:d}=Ze(r);if(f)return m;const _=[];let C=0,E=0;for(let V=1;V<a.length;V++){const S=a[V][l];typeof S=="number"&&ze(d,a,V)&&(_.push(S),C+=S,E++)}if(E===0)return g.create(h.DIV_BY_ZERO);const b=C/E;let y=0;for(let V=0;V<E;V++)y+=(_[V]-b)**2;const p=y/E;return R.create(p)}}var Te=(i=>(i.DAVERAGE="DAVERAGE",i.DCOUNT="DCOUNT",i.DCOUNTA="DCOUNTA",i.DGET="DGET",i.DMAX="DMAX",i.DMIN="DMIN",i.DPRODUCT="DPRODUCT",i.DSTDEV="DSTDEV",i.DSTDEVP="DSTDEVP",i.DSUM="DSUM",i.DVAR="DVAR",i.DVARP="DVARP",i))(Te||{});const fu=[[qm,Te.DAVERAGE],[Km,Te.DCOUNT],[Xm,Te.DCOUNTA],[Zm,Te.DGET],[zm,Te.DMAX],[Jm,Te.DMIN],[eh,Te.DPRODUCT],[th,Te.DSTDEV],[rh,Te.DSTDEVP],[nh,Te.DSUM],[sh,Te.DVAR],[ah,Te.DVARP]],ya="yyyy/mm/dd;@",ih="yyyy/mm/dd hh:mm",oh="h:mm A/P";function be(i){const u=new Date(Date.UTC(1900,0,1)),e=new Date(Date.UTC(1900,1,28)),t=Date.UTC(i.getFullYear(),i.getMonth(),i.getDate());let r=(t-u.getTime())/(1e3*3600*24);return t>e.getTime()&&(r+=1),Math.floor(r)+1}function Pr(i){const u=new Date(Date.UTC(1900,0,1,0,0,0)),e=new Date(Date.UTC(1900,1,28,0,0,0));let r=(i.getTime()-u.getTime())/(1e3*3600*24);return i>e&&(r+=1),r+1}function ne(i){const u=new Date(Date.UTC(1900,0,1)),e=new Date(Date.UTC(1900,1,28));let t=Math.floor(i)-1;return t>(e.getTime()-u.getTime())/(1e3*3600*24)&&(t-=1),new Date(u.getTime()+t*(1e3*3600*24))}function Ra(i){const u=new Date(Date.UTC(1900,0,1,0,0,0)),e=new Date(Date.UTC(1900,1,28,0,0,0));let t=i-1;return t>(e.getTime()-u.getTime())/(1e3*3600*24)&&(t-=1),t<0&&(t=i),new Date(u.getTime()+t*(1e3*3600*24))}function pa(i){if(!/^\d{4}[-/](0?[1-9]|1[012])[-/](0?[1-9]|[12][0-9]|3[01])$/.test(i))return!1;const e=i.replace(/-/g,"/").replace(/T.+/,""),t=new Date(`${e}`);if(Number.isNaN(t.getTime()))return!1;const r=t.getFullYear(),n=(t.getMonth()+1).toString().padStart(2,"0"),s=t.getDate().toString().padStart(2,"0"),a=`${r}-${n}-${s}`;return i.replace(/\//g,"-").split("-").map(c=>c.padStart(2,"0")).join("-")===a}function dn(i){return M.numfmt.parseDate(i)}function uh(i){return M.numfmt.parseValue(i)}function Cn(i){return M.numfmt.parseTime(i)}function Na(i){return M.numfmt.getFormatInfo(i).isDate}const mu={1:[6,0],2:[0,1],3:[1,2],4:[2,3],5:[3,4],6:[4,5],7:[5,6],11:[0],12:[1],13:[2],14:[3],15:[4],16:[5],17:[6]};function Rr(i){return!!(typeof i=="string"&&/^[0|1]{7}/.test(i)||mu[Number(i)])}function hu(i){if(!Rr(i))return[];if(typeof i=="string"&&/^[0|1]{7}/.test(i)){const u=[];for(let e=1;e<=i.length;e++)`${i[e-1]}`=="1"&&(e===i.length?u.push(0):u.push(e));return u}return mu[Number(i)]||[]}function _n(i,u,e=1,t){const r=hu(e),n=Math.floor(i),s=Math.floor(u),a=s>n?n:s;let o=0;const c=Math.abs(Math.floor(u)-Math.floor(i))+1;for(let l=0;l<c;l++){const f=a+l;if(t&&t.length>0&&t.some(d=>Math.floor(d)===f))continue;const m=Qt(f);r.includes(m)||o++}return s>=n?o:-o}function An(i,u,e=1,t){const r=hu(e),n=Math.floor(i);let s=n,a=Math.abs(u);for(let o=1;o<=a;o++){const c=u<0?n-o:n+o;if(c<0)return g.create(h.NUM);if(t&&t.length>0&&t.some(f=>Math.floor(f)===c)){a++;continue}const l=Qt(c);if(r.includes(l)){a++;continue}s=c}return s}function Y(i){if(i.isError())return i;const u=i.getValue();if(i.isString()){let e;if(dn(`${u}`))e=dn(`${u}`).v;else if(Cn(`${u}`))e=Cn(`${u}`).v;else if(M.isRealNum(u))e=+u;else return g.create(h.VALUE);return e instanceof Date&&(e=Pr(e)),+e<0||+e>2958465?g.create(h.NUM):+e}else{const e=+i.getValue();return e<0||e>2958465?g.create(h.NUM):e}}function Qt(i){const u=Math.floor(i)===60;let e=ne(i);const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())).getTime(),r=new Date(Date.UTC(1900,1,28)).getTime();return!u&&t<=r&&(e=new Date(t-24*3600*1e3)),new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())).getUTCDay()}function Ce(i,u,e){switch(e){case 0:return ch(i,u);case 1:return lh(i,u);case 2:return{days:Math.abs(u-i),yearDays:360};case 3:return{days:Math.abs(u-i),yearDays:365};case 4:return fh(i,u);default:return{days:Math.abs(u-i),yearDays:365}}}function ch(i,u){const e=ne(i),t=i>0?e.getUTCFullYear():1900,r=i>0?e.getUTCMonth()+1:1;let n=i>0?e.getUTCDate():0,s=ne(u),a=u>0?s.getUTCFullYear():1900,o=u>0?s.getUTCMonth()+1:1,c=u>0?s.getUTCDate():0;r===2?ne(i+1).getUTCMonth()+1===3&&(n=30):n===31&&(n=30),c===31&&(n<30?(s=ne(u+1),a=s.getUTCFullYear(),o=s.getUTCMonth()+1,c=s.getUTCDate()):c=30);const l=(a-t)*360,f=u>=i?30-n:-n,m=u>=i?c:c-30,d=(u>=i?o-r-1:o-r+1)*30;return{days:Math.abs(l+f+m+d),yearDays:360}}function lh(i,u){const e=ne(i),t=i>0?e.getUTCFullYear():1900,r=ne(u),n=u>0?r.getUTCFullYear():1900,s=Math.abs(u-i),a=Math.abs(n-t)+1;let o,c;if(n<t){const l=new Date(Date.UTC(n,0,1)),f=new Date(Date.UTC(t,11,31));o=be(l),c=be(f),n===1900&&(o+=1)}else{const l=new Date(Date.UTC(t,0,1)),f=new Date(Date.UTC(n,11,31));o=be(l),c=be(f),t===1900&&(o+=1)}return{days:s,yearDays:(c-o+1)/a}}function fh(i,u){const e=ne(i),t=i>0?e.getUTCFullYear():1900,r=i>0?e.getUTCMonth()+1:1;let n=i>0?e.getUTCDate():0;const s=ne(u),a=u>0?s.getUTCFullYear():1900,o=u>0?s.getUTCMonth()+1:1;let c=u>0?s.getUTCDate():0;n===31&&(n=30),c===31&&(c=30);const l=(a-t)*360,f=u>=i?30-n:-n,m=u>=i?c:c-30,d=(u>=i?o-r-1:o-r+1)*30;return{days:Math.abs(l+f+m+d),yearDays:360}}function mh(i){return i%4===0&&i%100!==0||i%400===0}function hh(i){return i%4===0&&i%100!==0||i%400===0||i===1900}const gh=[31,29,31,30,31,30,31,31,30,31,30,31],dh=[31,28,31,30,31,30,31,31,30,31,30,31];function jr(i,u){return mh(i)?gh[u]:dh[u]}function Zn(i){return hh(i)?366:365}function gu(i,u){switch(u){case 0:case 2:case 4:return 360;case 1:return Zn(ne(i).getUTCFullYear());case 3:return 365;default:return-1}}function or(i,u,e){return jr(i,u)===e}function ur(i,u){let e=i.getUTCFullYear(),t=i.getUTCMonth();const r=i.getUTCDate();return or(e,t,r)?(i.setUTCDate(1),i.setUTCMonth(i.getUTCMonth()+u),e=i.getUTCFullYear(),t=i.getUTCMonth(),i.setUTCDate(jr(e,t))):i.setUTCMonth(i.getUTCMonth()+u),i}class Ch extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e),o=O(n,s,t),c=O(n,s,r);return a.map((l,f,m)=>{const d=o.get(f,m)||ue.create(),_=c.get(f,m)||ue.create();if(l.isError())return l;if(d.isError())return d;if(_.isError())return _;if(l.isString()||d.isString()||_.isString())return g.create(h.VALUE);let C=+l.getValue();const E=Math.floor(+d.getValue()),b=+_.getValue();if(C<0||C>9999)return g.create(h.NUM);C>=0&&C<1899&&(C+=1900);const y=new Date(C,E-1,b),p=be(y);return p<0?g.create(h.NUM):R.create(p,ya)})}}class _h extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){let n=e,s=t,a=r;if(n.isArray()&&(n=n.get(0,0)),s.isArray()&&(s=s.get(0,0)),a.isArray()&&(a=a.get(0,0)),n.isError())return n;if(s.isError())return s;if(a.isError())return a;const o=Y(n);if(typeof o!="number")return o;const c=Y(s);return typeof c!="number"?c:c<o||!a.isString()?g.create(h.NUM):this._getResultByUnit(o,c,a)}_getResultByUnit(e,t,r){const n=ne(e),s=n.getUTCFullYear(),a=n.getUTCMonth()+1,o=n.getUTCDate(),c=ne(t),l=c.getUTCFullYear(),f=c.getUTCMonth()+1,m=c.getUTCDate(),d=`${r.getValue()}`.toLocaleUpperCase();let _=0,C;switch(d){case"Y":_=l-s,(f<a||f===a&&m<o)&&(_-=1);break;case"M":_=(l-s)*12+f-a,m<o&&(_-=1);break;case"D":_=Math.floor(t)-Math.floor(e);break;case"MD":_=m-o,m<o&&(C=new Date(Date.UTC(l,f-1,0)),_+=jr(C.getUTCFullYear(),C.getUTCMonth()));break;case"YM":_=f-a,(f<a||f===a&&m<o)&&(_+=12),m<o&&(_-=1);break;case"YD":C=new Date(Date.UTC(s,f-1,m)),(f<a||f===a&&m<o)&&(C=new Date(Date.UTC(s+1,f-1,m))),_=Math.floor(be(C))-Math.floor(e);break;default:return g.create(h.NUM)}return R.create(_)}}class Ah extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isString()){const t=`${e.getValue()}`;let r=dn(t);if(r===null&&(r=Cn(t)),r){let{v:n,z:s}=r;if(s&&Na(s))return n instanceof Date&&(n=Pr(n)),R.create(Math.trunc(+n))}}return g.create(h.VALUE)}}class Eh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t;const r=e.getValue();if(e.isString()){if(!pa(`${r}`))return g.create(h.VALUE);t=new Date(`${r}`)}else{const a=+e.getValue();if(a<0)return g.create(h.NUM);if(a===0)return R.create(0);t=ne(a)}const n=t.getDate();return R.create(n)}}class bh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e),a=O(r,n,t),o=s.map((c,l,f)=>{const m=a.get(l,f);if(c.isError())return c;if(m.isError())return m;const d=Y(c);if(typeof d!="number")return d;const _=Y(m);if(typeof _!="number")return _;const C=Math.floor(d)-Math.floor(_);return R.create(C)});return r===1&&n===1?o.get(0,0):o}}class yh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:I.create(!1);if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,n,g.create(h.NA)),f=o.map((m,d,_)=>{const C=c.get(d,_);let E=l.get(d,_);if(m.isError())return m;const b=Y(m);if(typeof b!="number")return b;if(C.isError())return C;const y=Y(C);if(typeof y!="number")return y;if(E.isString()&&(E=E.convertToNumberObjectValue()),E.isError())return E;const p=+E.getValue(),{days:V}=Ce(b,y,p?4:0),S=y>=b?V:-V;return R.create(S)});return s===1&&a===1?f.get(0,0):f}}class Rh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e),a=O(r,n,t);return s.map((o,c,l)=>{const f=a.get(c,l)||ue.create();if(o.isError())return o;if(f.isError())return f;if(o.isString()||o.isBoolean()||f.isString()||f.isBoolean())return g.create(h.VALUE);const m=+o.getValue();if(m<0)return g.create(h.NUM);const d=Math.floor(+f.getValue()),_=ne(m),C=_.getUTCFullYear(),E=_.getUTCMonth()+d,b=_.getUTCDate(),y=new Date(Date.UTC(C,E,b)),p=be(y);return R.create(p,ya)})}}class ph extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e,n=t;if(r.isArray()){const d=r.getRowCount(),_=r.getColumnCount();if(d>1||_>1)return g.create(h.VALUE);r=r.get(0,0)}if(n.isArray()){const d=n.getRowCount(),_=n.getColumnCount();if(d>1||_>1)return g.create(h.VALUE);n=n.get(0,0)}if(r.isError())return r;if(n.isError())return n;const s=Y(r);if(typeof s!="number")return s;if(n.isBoolean())return g.create(h.VALUE);const a=ne(s),o=s>0?a.getUTCFullYear():1900,c=s>0?a.getUTCMonth():0,l=Math.floor(+n.getValue());if(Number.isNaN(l))return g.create(h.VALUE);const f=new Date(Date.UTC(o,c+l+1,0)),m=be(f);return R.create(m)}}class Nh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2);A(this,"needsReferenceObject",!0)}calculate(e,t){const r=t!=null?t:R.create(1),{isError:n,errorObject:s,timestampIsReferenceObject:a,timestampObject:o,unitObject:c}=this._checkVariants(e,r);if(n)return s;if(o.isNull()||o.isBoolean()||o.isString()||!a&&o.isNumber()&&o.getPattern()!=="")return g.create(h.VALUE);let l=+o.getValue();const{isError:f,errorObject:m,variants:d}=F(c);if(f)return m;const[_]=d,C=Math.floor(+_.getValue());if(l<0||C<1||C>3)return g.create(h.NUM);C===1&&(l=l*1e3),C===3&&(l=l/1e3);const E=new Date(Date.UTC(1970,0,1,0,0,0,0)+l);if(Number.isNaN(E.getTime())){const b=25569+l/864e5;return R.create(b)}else{const b=Pr(E);return R.create(b,"yyyy-MM-dd AM/PM hh:mm:ss")}}_checkVariants(e,t){const r=e.isReferenceObject(),n=t.isReferenceObject();let s=e;if(r&&(s=e.toArrayValueObject()),s.isArray()){const o=s.getRowCount(),c=s.getColumnCount();if(o>1||c>1)return{isError:!0,errorObject:g.create(h.VALUE)};s=s.get(0,0)}if(s.isError())return{isError:!0,errorObject:s};let a=t;if(n&&(a=t.toArrayValueObject()),a.isArray()){const o=a.getRowCount(),c=a.getColumnCount();if(o>1||c>1)return{isError:!0,errorObject:g.create(h.VALUE)};a=a.get(0,0)}return a.isError()?{isError:!0,errorObject:a}:{isError:!1,errorObject:null,timestampIsReferenceObject:r,timestampObject:s,unitIsReferenceObject:n,unitObject:a}}}var Ae=(i=>(i.DATE="DATE",i.DATEDIF="DATEDIF",i.DATEVALUE="DATEVALUE",i.DAY="DAY",i.DAYS="DAYS",i.DAYS360="DAYS360",i.EDATE="EDATE",i.EOMONTH="EOMONTH",i.EPOCHTODATE="EPOCHTODATE",i.HOUR="HOUR",i.ISOWEEKNUM="ISOWEEKNUM",i.MINUTE="MINUTE",i.MONTH="MONTH",i.NETWORKDAYS="NETWORKDAYS",i.NETWORKDAYS_INTL="NETWORKDAYS.INTL",i.NOW="NOW",i.SECOND="SECOND",i.TIME="TIME",i.TIMEVALUE="TIMEVALUE",i.TO_DATE="TO_DATE",i.TODAY="TODAY",i.WEEKDAY="WEEKDAY",i.WEEKNUM="WEEKNUM",i.WORKDAY="WORKDAY",i.WORKDAY_INTL="WORKDAY.INTL",i.YEAR="YEAR",i.YEARFRAC="YEARFRAC",i))(Ae||{});class Vh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=Y(e);if(typeof t!="number")return t;if(t===0)return R.create(0);const n=Ra(t).getUTCHours();return R.create(n)}}class Oh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=Y(e);if(typeof t!="number")return t;const r=ne(t),n=t>0?r.getUTCFullYear():1900;let s=new Date(Date.UTC(n,0,1)),a=be(s),o=Qt(a),c;o<1?c=a+1:o<=4?c=a-(o-1):c=a+(11-o),t<c&&(s=new Date(Date.UTC(n-1,0,1)),a=be(s),o=Qt(a),o<1?c=a+1:o<=4?c=a-(o-1):c=a+(11-o));const l=Math.ceil((t-c+1)/7);return R.create(l)}}class Mh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=Y(e);if(typeof t!="number")return t;if(t===0)return R.create(0);const n=Ra(t).getUTCMinutes();return R.create(n)}}class Sh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t;const r=e.getValue();if(e.isString()){if(!pa(`${r}`))return g.create(h.VALUE);t=new Date(`${r}`)}else{const a=+e.getValue();if(a<0)return g.create(h.NUM);if(a===0)return R.create(1);t=ne(a)}const n=t.getUTCMonth()+1;return R.create(n)}}class Dh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){let n=e,s=t;if(n.isArray()){const l=n.getRowCount(),f=n.getColumnCount();if(l>1||f>1)return g.create(h.VALUE);n=n.get(0,0)}if(n.isError())return n;if(s.isArray()){const l=s.getRowCount(),f=s.getColumnCount();if(l>1||f>1)return g.create(h.VALUE);s=s.get(0,0)}if(s.isError())return s;if(r!=null&&r.isError())return r;if(n.isBoolean()||s.isBoolean())return g.create(h.VALUE);const a=Y(n);if(typeof a!="number")return a;const o=Y(s);if(typeof o!="number")return o;if(r)return this._getResultByHolidays(a,o,r);const c=_n(a,o);return R.create(c)}_getResultByHolidays(e,t,r){const n=[];if(r!=null&&r.isArray()){const a=r.getRowCount(),o=r.getColumnCount();for(let c=0;c<a;c++)for(let l=0;l<o;l++){const f=r.get(c,l);if(f.isBoolean())return g.create(h.VALUE);const m=Y(f);if(typeof m!="number")return m;n.push(m)}}else{if(r.isBoolean())return g.create(h.VALUE);const a=Y(r);if(typeof a!="number")return a;n.push(a)}const s=_n(e,t,1,n);return R.create(s)}}class wh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",4)}calculate(e,t,r,n){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:n!=null&&n.isError()?n:r!=null&&r.isArray()?r.map(s=>this._handleSingleObject(e,t,s,n)):this._handleSingleObject(e,t,r,n)}_handleSingleObject(e,t,r,n){let s=e,a=t;if(s.isArray()){const m=s.getRowCount(),d=s.getColumnCount();if(m>1||d>1)return g.create(h.VALUE);s=s.get(0,0)}if(s.isError())return s;if(a.isArray()){const m=a.getRowCount(),d=a.getColumnCount();if(m>1||d>1)return g.create(h.VALUE);a=a.get(0,0)}if(a.isError())return a;let o=1;if(r){if(o=r.getValue(),r.isBoolean()&&(o=+o),r.isString()&&!Rr(o))return g.create(h.VALUE);if(!Rr(o))return g.create(h.NUM)}if(s.isBoolean()||a.isBoolean())return g.create(h.VALUE);const c=Y(s);if(typeof c!="number")return c;const l=Y(a);if(typeof l!="number")return l;if(n)return this._getResultByHolidays(c,l,o,n);const f=_n(c,l,o);return R.create(f)}_getResultByHolidays(e,t,r,n){const s=[];if(n!=null&&n.isArray()){const o=n.getRowCount(),c=n.getColumnCount();for(let l=0;l<o;l++)for(let f=0;f<c;f++){const m=n.get(l,f);if(m.isBoolean())return g.create(h.VALUE);const d=Y(m);if(typeof d!="number")return d;s.push(d)}}else{if(n.isBoolean())return g.create(h.VALUE);const o=Y(n);if(typeof o!="number")return o;s.push(o)}const a=_n(e,t,r,s);return R.create(a)}}class Lh extends N{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){const e=new Date,t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds())),r=Pr(t);return R.create(r,ih)}}class xh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=Y(e);if(typeof t!="number")return t;if(t===0)return R.create(0);const n=Ra(t).getUTCSeconds();return R.create(n)}}class Ph extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e),o=O(n,s,t),c=O(n,s,r);return a.map((l,f,m)=>this._calculateTime(l,o,c,f,m))}_calculateTime(e,t,r,n,s){let a=e,o=t.get(n,s)||ue.create(),c=r.get(n,s)||ue.create();if((a.isString()||a.isBoolean())&&(a=a.convertToNumberObjectValue()),(o.isString()||o.isBoolean())&&(o=o.convertToNumberObjectValue()),(c.isString()||c.isBoolean())&&(c=c.convertToNumberObjectValue()),a.isError())return a;if(o.isError())return o;if(c.isError())return c;let l=Math.floor(+a.getValue()),f=Math.floor(+o.getValue()),m=Math.floor(+c.getValue());if(l<0||f<0||m<0||l>32767||f>32767||m>32767)return g.create(h.NUM);f+=Math.floor(m/60),m%=60,l+=Math.floor(f/60),f%=60,l%=24;const _=(l*3600+f*60+m)/86400;return R.create(_,oh)}}class jh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isString()){const t=`${e.getValue()}`,r=uh(t);if(r){let{v:n,z:s}=r;if(s&&Na(s))return n instanceof Date&&(n=Pr(n)),R.create(of(+n))}}return g.create(h.VALUE)}}class Uh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0)}calculate(e){const t=e.isReferenceObject();let r=e;if(t&&(r=e.toArrayValueObject()),r.isArray()){const s=r.getRowCount(),a=r.getColumnCount();if(s>1||a>1)return g.create(h.VALUE);r=r.get(0,0)}if(r.isError()||r.isNull()||r.isBoolean()||r.isString()||!t&&r.isNumber()&&r.getPattern()!=="")return r;const n=+r.getValue();return R.create(n,"yyyy-MM-dd hh:mm:ss AM/PM")}}class vh extends N{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){const e=be(new Date);return R.create(e,ya)}}class Th extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2);A(this,"_returnTypeMap",{1:[1,2,3,4,5,6,7],2:[7,1,2,3,4,5,6],3:[6,0,1,2,3,4,5],11:[7,1,2,3,4,5,6],12:[6,7,1,2,3,4,5],13:[5,6,7,1,2,3,4],14:[4,5,6,7,1,2,3],15:[3,4,5,6,7,1,2],16:[2,3,4,5,6,7,1],17:[1,2,3,4,5,6,7]})}calculate(e,t){const r=t!=null?t:R.create(1);if(e.isError())return e;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),c=a.map((l,f,m)=>{const d=o.get(f,m);return this._handleSingleObject(l,d)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t){let r=t;if(e.isError())return e;if(r.isError())return r;const n=Y(e);if(typeof n!="number")return n;if(r.isString()&&(r=r.convertToNumberObjectValue(),r.isError()))return r;const s=Math.floor(+r.getValue());if(!this._returnTypeMap[s])return g.create(h.NUM);const a=Qt(n),o=this._returnTypeMap[s][a];return R.create(o)}}class Ih extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2);A(this,"_returnTypeMap",{1:0,2:1,11:1,12:2,13:3,14:4,15:5,16:6,17:0,21:4})}calculate(e,t){let r=e,n=t!=null?t:R.create(1);if(r.isArray()){const o=r.getRowCount(),c=r.getColumnCount();if(o>1||c>1)return g.create(h.VALUE);r=r.get(0,0)}if(r.isError())return r;if(n.isArray()){const o=n.getRowCount(),c=n.getColumnCount();if(o>1||c>1)return g.create(h.VALUE);n=n.get(0,0)}if(n.isError())return n;if(r.isBoolean())return g.create(h.VALUE);const s=Y(r);if(typeof s!="number")return s;if(n.isBoolean())return g.create(h.VALUE);const a=Math.floor(+n.getValue());return Number.isNaN(a)?g.create(h.VALUE):a in this._returnTypeMap?this._getResult(s,a):g.create(h.NUM)}_getResult(e,t){const r=ne(e),n=e>0?r.getUTCFullYear():1900;let s=new Date(Date.UTC(n,0,1)),a=be(s),o=Qt(a),c;if(t===21)o<1?c=a+1:o<=4?c=a-(o-1):c=a+(11-o),e<c&&(s=new Date(Date.UTC(n-1,0,1)),a=be(s),o=Qt(a),o<1?c=a+1:o<=4?c=a-(o-1):c=a+(11-o));else{const f=this._returnTypeMap[t];o<f?c=a-(o+7-f):c=a-(o-f)}const l=Math.ceil((e-c+1)/7);return R.create(l)}}class Fh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){let n=e,s=t;if(n.isArray()){const l=n.getRowCount(),f=n.getColumnCount();if(l>1||f>1)return g.create(h.VALUE);n=n.get(0,0)}if(n.isError())return n;if(s.isArray()){const l=s.getRowCount(),f=s.getColumnCount();if(l>1||f>1)return g.create(h.VALUE);s=s.get(0,0)}if(s.isError())return s;if(r!=null&&r.isError())return r;if(n.isBoolean()||s.isBoolean())return g.create(h.VALUE);const a=Y(n);if(typeof a!="number")return a;const o=+s.getValue();if(Number.isNaN(o))return g.create(h.VALUE);if(r)return this._getResultByHolidays(a,o,r);const c=An(a,o);return typeof c!="number"?c:R.create(c)}_getResultByHolidays(e,t,r){const n=[];if(r!=null&&r.isArray()){const a=r.getRowCount(),o=r.getColumnCount();for(let c=0;c<a;c++)for(let l=0;l<o;l++){const f=r.get(c,l);if(f.isBoolean())return g.create(h.VALUE);const m=Y(f);if(typeof m!="number")return m;n.push(m)}}else{if(r.isBoolean())return g.create(h.VALUE);const a=Y(r);if(typeof a!="number")return a;n.push(a)}const s=An(e,t,1,n);return typeof s!="number"?s:R.create(s)}}class Bh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",4)}calculate(e,t,r,n){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:n!=null&&n.isError()?n:r!=null&&r.isArray()?r.map(s=>this._handleSingleObject(e,t,s,n)):this._handleSingleObject(e,t,r,n)}_handleSingleObject(e,t,r,n){const s=r!=null?r:R.create(1),a=this._checkArrayError(e);if(a.isError())return a;const o=this._checkArrayError(t);if(o.isError())return o;if(a.isBoolean()||o.isBoolean())return g.create(h.VALUE);const c=Y(e);if(typeof c!="number")return c;const l=+t.getValue();if(Number.isNaN(l))return g.create(h.VALUE);let f=s.getValue();if(s.isBoolean()&&(f=+f),s.isString()&&(!Rr(f)||f==="1111111"))return g.create(h.VALUE);if(!Rr(f))return g.create(h.NUM);if(n)return this._getResultByHolidays(c,l,f,n);const m=An(c,l,f);return typeof m!="number"?m:R.create(m)}_checkArrayError(e){let t=e;if(t.isArray()){const r=t.getRowCount(),n=t.getColumnCount();if(r>1||n>1)return g.create(h.VALUE);t=t.get(0,0)}return t.isError(),t}_getResultByHolidays(e,t,r,n){const s=[];if(n!=null&&n.isArray()){const o=n.getRowCount(),c=n.getColumnCount();for(let l=0;l<o;l++)for(let f=0;f<c;f++){const m=n.get(l,f);if(m.isBoolean())return g.create(h.VALUE);const d=Y(m);if(typeof d!="number")return d;s.push(d)}}else{if(n.isBoolean())return g.create(h.VALUE);const o=Y(n);if(typeof o!="number")return o;s.push(o)}const a=An(e,t,r,s);return typeof a!="number"?a:R.create(a)}}class kh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t;const r=e.getValue();if(e.isString()){if(!pa(`${r}`))return g.create(h.VALUE);t=new Date(`${r}`)}else{const a=+r;if(a<0)return g.create(h.NUM);if(a===0)return R.create(1900);t=ne(a)}const n=t.getUTCFullYear();return R.create(n)}}class $h extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){let n=r!=null?r:R.create(0);const s=$t(e);if(s.isError())return s;const a=$t(t);if(a.isError())return a;if(n=$t(n),n.isError())return n;if(s.isBoolean()||a.isBoolean()||n.isBoolean())return g.create(h.VALUE);const o=Y(s);if(typeof o!="number")return o;const c=Y(a);if(typeof c!="number")return c;const l=Math.floor(+n.getValue());if(Number.isNaN(l))return g.create(h.VALUE);if(l<0||l>4)return g.create(h.NUM);const{days:f,yearDays:m}=Ce(o,c,l),d=f/m;return R.create(d)}}const du=[[Ch,Ae.DATE],[_h,Ae.DATEDIF],[Ah,Ae.DATEVALUE],[Eh,Ae.DAY],[bh,Ae.DAYS],[yh,Ae.DAYS360],[Rh,Ae.EDATE],[ph,Ae.EOMONTH],[Nh,Ae.EPOCHTODATE],[Vh,Ae.HOUR],[Oh,Ae.ISOWEEKNUM],[Mh,Ae.MINUTE],[Sh,Ae.MONTH],[Dh,Ae.NETWORKDAYS],[wh,Ae.NETWORKDAYS_INTL],[Lh,Ae.NOW],[xh,Ae.SECOND],[Ph,Ae.TIME],[jh,Ae.TIMEVALUE],[Uh,Ae.TO_DATE],[vh,Ae.TODAY],[Th,Ae.WEEKDAY],[Ih,Ae.WEEKNUM],[Fh,Ae.WORKDAY],[Bh,Ae.WORKDAY_INTL],[kh,Ae.YEAR],[$h,Ae.YEARFRAC]];class Yh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=G(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=Math.floor(+o.getValue());if(Number.isNaN(c)||Number.isNaN(l))return g.create(h.VALUE);if(l<0)return g.create(h.NUM);const f=ir.besseli(c,l);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):R.create(f)}}class Hh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=G(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=Math.floor(+o.getValue());if(Number.isNaN(c)||Number.isNaN(l))return g.create(h.VALUE);if(l<0)return g.create(h.NUM);const f=ir.besselj(c,l);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):R.create(f)}}class Gh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=G(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=Math.floor(+o.getValue());if(Number.isNaN(c)||Number.isNaN(l))return g.create(h.VALUE);if(l<0)return g.create(h.NUM);const f=ir.besselk(c,l);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):R.create(f)}}class Wh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=G(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=Math.floor(+o.getValue());if(Number.isNaN(c)||Number.isNaN(l))return g.create(h.VALUE);if(l<0)return g.create(h.NUM);const f=ir.bessely(c,l);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):R.create(f)}}class Qh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`;if(!oa(a))return g.create(h.NUM);let o;return a.length===10&&a.substring(0,1)==="1"?o=Number.parseInt(a.substring(1),2)-512:o=Number.parseInt(a,2),R.create(o)}}class qh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:f,errorObject:m,variants:d}=G(t);if(f)return m;const[_]=d;if(r=Math.floor(+_.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=G(e);if(n)return s;const[o]=a,c=`${o.getValue()}`;if(!oa(c))return g.create(h.NUM);let l;if(c.length===10&&c.substring(0,1)==="1")l=(0xfffffffe00+Number.parseInt(c.substring(1),2)).toString(16);else if(l=Number.parseInt(c,2).toString(16),t){if(r<l.length)return g.create(h.NUM);l="0".repeat(r-l.length)+l}return j.create(l.toLocaleUpperCase())}}class Kh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:f,errorObject:m,variants:d}=G(t);if(f)return m;const[_]=d;if(r=Math.floor(+_.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=G(e);if(n)return s;const[o]=a,c=`${o.getValue()}`;if(!oa(c))return g.create(h.NUM);let l;if(c.length===10&&c.substring(0,1)==="1")l=(1073741312+Number.parseInt(c.substring(1),2)).toString(8);else if(l=Number.parseInt(c,2).toString(8),t){if(r<l.length)return g.create(h.NUM);l="0".repeat(r-l.length)+l}return j.create(l)}}class Xh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((c,l,f)=>{let m=c;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;let d=a.get(l,f);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+m.getValue(),C=+d.getValue();if(_<0||C<0||Math.floor(_)!==_||Math.floor(C)!==C||_>0xffffffffffff||C>0xffffffffffff)return g.create(h.NUM);const E=_&C;return R.create(E)});return r===1&&n===1?o.get(0,0):o}}class Zh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((c,l,f)=>{let m=c;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;let d=a.get(l,f);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+m.getValue();let C=+d.getValue();if(_<0||Math.floor(_)!==_||_>0xffffffffffff||Math.abs(C)>53)return g.create(h.NUM);C=Math.trunc(C);const E=Number(C>=0?BigInt(_)<<BigInt(C):BigInt(_)>>BigInt(-C));return E>0xffffffffffff?g.create(h.NUM):R.create(E)});return r===1&&n===1?o.get(0,0):o}}class zh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((c,l,f)=>{let m=c;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;let d=a.get(l,f);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+m.getValue(),C=+d.getValue();if(_<0||C<0||Math.floor(_)!==_||Math.floor(C)!==C||_>0xffffffffffff||C>0xffffffffffff)return g.create(h.NUM);const E=Number(BigInt(_)|BigInt(C));return R.create(E)});return r===1&&n===1?o.get(0,0):o}}class Jh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((c,l,f)=>{let m=c;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;let d=a.get(l,f);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+m.getValue();let C=+d.getValue();if(_<0||Math.floor(_)!==_||_>0xffffffffffff||Math.abs(C)>53)return g.create(h.NUM);C=Math.trunc(C);const E=Number(C>=0?BigInt(_)>>BigInt(C):BigInt(_)<<BigInt(-C));return E>0xffffffffffff?g.create(h.NUM):R.create(E)});return r===1&&n===1?o.get(0,0):o}}class eg extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((c,l,f)=>{let m=c;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;let d=a.get(l,f);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+m.getValue(),C=+d.getValue();if(_<0||C<0||Math.floor(_)!==_||Math.floor(C)!==C||_>0xffffffffffff||C>0xffffffffffff)return g.create(h.NUM);const E=_^C;return R.create(E)});return r===1&&n===1?o.get(0,0):o}}P.prototype.cos=function(){const i=this.toNumber();return new P(Math.cos(i))};let he=class le{constructor(u){A(this,"_inumber","");A(this,"_realNum",0);A(this,"_iNum",0);A(this,"_suffix","");A(this,"_isError",!1);if(`${u}`.trim()===""){this._isError=!0;return}this._inumber=u,this._getImReal(),this._getImAginary(),this._getImSuffix()}static getComplex(u,e,t){const r=new P(u).toSignificantDigits(15).toNumber(),n=new P(e).toSignificantDigits(15).toNumber(),s=t===""?"i":t;let a;if(r===0&&n===0)a=0;else if(r===0)a=n===1?s:`${n}${s}`;else if(n===0)a=r;else{const o=n>0?"+":"",c=n===1?s:`${n}${s}`;a=`${r}${o}${c}`}return a}static createByComplexStr(u,e,t){const r=le.getComplex(u,e,t);return new le(r)}_getImReal(){if(this._inumber===0||this._inumber==="0"){this._realNum=0;return}const u=`${this._inumber}`;if(["i","+i","1i","+1i","-i","-1i","j","+j","1j","+1j","-j","-1j"].indexOf(u)>=0){this._realNum=0;return}let e=u.indexOf("+"),t=u.indexOf("-");e===0&&(e=u.indexOf("+",1)),t===0&&(t=u.indexOf("-",1));const r=u.substring(u.length-1,u.length),n=r==="i"||r==="j";if(e>=0||t>=0){if(!n){this._isError=!0;return}e>=0?Number.isNaN(+u.substring(0,e))||Number.isNaN(+u.substring(e+1,u.length-1))?this._isError=!0:this._realNum=+u.substring(0,e):Number.isNaN(+u.substring(0,t))||Number.isNaN(+u.substring(t+1,u.length-1))?this._isError=!0:this._realNum=+u.substring(0,t)}else n?Number.isNaN(+u.substring(0,u.length-1))?this._isError=!0:this._realNum=0:Number.isNaN(+u)?this._isError=!0:this._realNum=+u}_getImAginary(){if(this._isError)return;if(this._inumber===0||this._inumber==="0"){this._iNum=0;return}let u=`${this._inumber}`;if(["i","j"].indexOf(u)>=0){this._iNum=1;return}u=u.replace("+i","+1i").replace("-i","-1i").replace("+j","+1j").replace("-j","-1j");let e=u.indexOf("+"),t=u.indexOf("-");e===0&&(e=u.indexOf("+",1)),t===0&&(t=u.indexOf("-",1));const r=u.substring(u.length-1,u.length),n=r==="i"||r==="j";if(e>=0||t>=0){if(!n){this._isError=!0;return}e>=0?Number.isNaN(+u.substring(0,e))||Number.isNaN(+u.substring(e+1,u.length-1))?this._isError=!0:this._iNum=+u.substring(e+1,u.length-1):Number.isNaN(+u.substring(0,t))||Number.isNaN(+u.substring(t+1,u.length-1))?this._isError=!0:this._iNum=-+u.substring(t+1,u.length-1)}else n?Number.isNaN(+u.substring(0,u.length-1))?this._isError=!0:this._iNum=+u.substring(0,u.length-1):Number.isNaN(+u)?this._isError=!0:this._iNum=0}_getImSuffix(){const u=`${this._inumber}`,e=u.substring(u.length-1);this._suffix=e==="i"||e==="j"?e:""}getRealNum(){return this._realNum}getINum(){return this._iNum}getSuffix(){return this._suffix}isError(){return this._isError}toString(){return le.getComplex(this._realNum,this._iNum,this._suffix)}isDifferentSuffixes(u){const e=u.getSuffix();return this._suffix===""||e===""?!1:this._suffix!==e}Abs(){return P.sqrt(P.pow(this._realNum,2).add(P.pow(this._iNum,2))).toSignificantDigits(16).toNumber()}Argument(){const u=P.sqrt(P.pow(this._realNum,2).add(P.pow(this._iNum,2)));let e=P.acos(new P(this._realNum).div(u)).toSignificantDigits(16).toNumber();return this._iNum<0&&(e=-e),e}Conjugate(){return le.getComplex(this._realNum,-this._iNum,this._suffix)}Cos(){if(this._iNum){const u=P.cos(this._realNum).mul(P.cosh(this._iNum)).toNumber(),e=P.sin(this._realNum).mul(P.sinh(this._iNum)).negated().toNumber();return le.getComplex(u,e,this._suffix)}else{const u=P.cos(this._realNum).toNumber();return le.getComplex(u,this._iNum,this._suffix)}}Cosh(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,"";if(this._iNum){const u=P.cosh(this._realNum).mul(P.cos(this._iNum)).toNumber(),e=P.sinh(this._realNum).mul(P.sin(this._iNum)).toNumber();return le.getComplex(u,e,this._suffix)}else{const u=P.cosh(this._realNum).toNumber();return le.getComplex(u,this._iNum,this._suffix)}}Cot(){if(this._iNum){const u=P.cosh(this._iNum*2).sub(P.cos(this._realNum*2)),e=P.sin(this._realNum*2).div(u).toNumber(),t=P.sinh(this._iNum*2).div(u).negated().toNumber();return le.getComplex(e,t,this._suffix)}else{const u=new P(1).div(P.tan(this._realNum)).toNumber();return le.getComplex(u,this._iNum,this._suffix)}}Coth(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,"";if(this._iNum){const u=P.cosh(this._realNum*2).sub(P.cos(this._iNum*2)),e=P.sinh(this._realNum*2).div(u).toNumber(),t=P.sin(this._iNum*2).div(u).negated().toNumber();return le.getComplex(e,t,this._suffix)}else{const u=new P(1).div(P.tanh(this._realNum)).toNumber();return le.getComplex(u,this._iNum,this._suffix)}}Csc(){if(this._iNum){const u=P.cosh(this._iNum*2).sub(P.cos(this._realNum*2)),e=P.sin(this._realNum).mul(P.cosh(this._iNum)).mul(2).div(u).toNumber(),t=P.cos(this._realNum).mul(P.sinh(this._iNum)).mul(-2).div(u).toNumber();return le.getComplex(e,t,this._suffix)}else{const u=new P(1).div(P.sin(this._realNum)).toNumber();return le.getComplex(u,this._iNum,this._suffix)}}Csch(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return le.getComplex(0,0,this._suffix);if(this._iNum){const u=P.cosh(this._realNum*2).sub(P.cos(this._iNum*2)),e=P.sinh(this._realNum).mul(P.cos(this._iNum)).mul(2).div(u).toNumber(),t=P.cosh(this._realNum).mul(P.sin(this._iNum)).mul(-2).div(u).toNumber();return le.getComplex(e,t,this._suffix)}else{const u=new P(1).div(P.sinh(this._realNum)).toNumber();return le.getComplex(u,this._iNum,this._suffix)}}Div(u){const e=new P(this._realNum),t=new P(this._iNum),r=new P(u.getRealNum()),n=new P(u.getINum()),s=r.mul(r).add(n.mul(n)),a=e.mul(r).add(t.mul(n)).div(s).toNumber(),o=t.mul(r).sub(e.mul(n)).div(s).toNumber(),c=this._suffix===""?u.getSuffix():this._suffix;return le.getComplex(a,o,c)}Exp(){if(!Number.isFinite(Math.exp(this._realNum)))return this._isError=!0,"";const u=P.exp(this._realNum).mul(P.cos(this._iNum)).toNumber(),e=P.exp(this._realNum).mul(P.sin(this._iNum)).toNumber();return le.getComplex(u,e,this._suffix)}Ln(){const u=P.sqrt(P.pow(this._realNum,2).add(P.pow(this._iNum,2))),e=P.ln(u).toNumber(),t=P.acos(new P(this._realNum).div(u)).toNumber();return le.getComplex(e,t,this._suffix)}Log(u){const e=P.sqrt(P.pow(this._realNum,2).add(P.pow(this._iNum,2))),t=P.ln(e);let r=P.acos(new P(this._realNum).div(e));this._iNum<0&&(r=r.negated());const n=P.ln(u),s=new P(0),a=n.mul(n).add(s.mul(s));if(a.eq(0))return this._isError=!0,"";const o=t.mul(n).add(r.mul(s)).div(a).toNumber(),c=r.mul(n).sub(t.mul(s)).div(a).toNumber();return le.getComplex(o,c,this._suffix)}Power(u){if(this._realNum===0&&this._iNum===0)return u>0?le.getComplex(this._realNum,this._iNum,this._suffix):(this._isError=!0,"");let e=P.sqrt(P.pow(this._realNum,2).add(P.pow(this._iNum,2))),t=P.acos(new P(this._realNum).div(e));this._iNum<0&&(t=t.negated()),e=P.pow(e,u),t=t.mul(u);const r=P.cos(t).mul(e).toNumber(),n=P.sin(t).mul(e).toNumber();return!Number.isFinite(r)||!Number.isFinite(n)?(this._isError=!0,""):le.getComplex(r,n,this._suffix)}Product(u){const e=new P(this._realNum),t=new P(this._iNum),r=new P(u.getRealNum()),n=new P(u.getINum()),s=e.mul(r).sub(t.mul(n)).toNumber(),a=e.mul(n).add(t.mul(r)).toNumber(),o=this._suffix===""?u.getSuffix():this._suffix;return le.getComplex(s,a,o)}Sec(){if(this._iNum){const u=P.cosh(this._iNum*2).add(P.cos(this._realNum*2)),e=P.cos(this._realNum).mul(P.cosh(this._iNum)).mul(2).div(u).toNumber(),t=P.sin(this._realNum).mul(P.sinh(this._iNum)).mul(2).div(u).toNumber();return le.getComplex(e,t,this._suffix)}else{const u=new P(1).div(P.cos(this._realNum)).toNumber();return le.getComplex(u,this._iNum,this._suffix)}}Sech(){if(!Number.isFinite(Math.sinh(this._realNum*2))||!Number.isFinite(Math.cosh(this._realNum*2)))return le.getComplex(0,0,this._suffix);if(this._iNum){const u=P.cosh(this._realNum*2).add(P.cos(this._iNum*2)),e=P.cosh(this._realNum).mul(P.cos(this._iNum)).mul(2).div(u).toNumber(),t=P.sinh(this._realNum).mul(P.sin(this._iNum)).mul(-2).div(u).toNumber();return le.getComplex(e,t,this._suffix)}else{const u=new P(1).div(P.cosh(this._realNum)).toNumber();return le.getComplex(u,this._iNum,this._suffix)}}Sin(){if(this._iNum){const u=P.sin(this._realNum).mul(P.cosh(this._iNum)).toNumber(),e=P.cos(this._realNum).mul(P.sinh(this._iNum)).toNumber();return le.getComplex(u,e,this._suffix)}else{const u=P.sin(this._realNum).toNumber();return le.getComplex(u,this._iNum,this._suffix)}}Sinh(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,"";if(this._iNum){const u=P.sinh(this._realNum).mul(P.cos(this._iNum)).toNumber(),e=P.cosh(this._realNum).mul(P.sin(this._iNum)).toNumber();return le.getComplex(u,e,this._suffix)}else{const u=P.sinh(this._realNum).toNumber();return le.getComplex(u,this._iNum,this._suffix)}}Sqrt(){const u=P.sqrt(P.pow(this._realNum,2).add(P.pow(this._iNum,2))),e=P.sqrt(u);let t=P.acos(new P(this._realNum).div(u));this._iNum<0&&(t=t.negated());const r=e.mul(P.cos(t.div(2).toNumber())).toNumber(),n=e.mul(P.sin(t.div(2))).toNumber();return le.getComplex(r,n,this._suffix)}Sub(u){const e=new P(this._realNum),t=new P(this._iNum),r=new P(u.getRealNum()),n=new P(u.getINum()),s=e.sub(r).toNumber(),a=t.sub(n).toNumber(),o=this._suffix===""?u.getSuffix():this._suffix;return le.getComplex(s,a,o)}Sum(u){const e=new P(this._realNum),t=new P(this._iNum),r=new P(u.getRealNum()),n=new P(u.getINum()),s=e.add(r).toNumber(),a=t.add(n).toNumber(),o=this._suffix===""?u.getSuffix():this._suffix;return le.getComplex(s,a,o)}Tan(){if(this._iNum){const u=P.cos(this._realNum*2).add(P.cosh(this._iNum*2)),e=P.sin(this._realNum*2).div(u).toNumber(),t=P.sinh(this._iNum*2).div(u).toNumber();return le.getComplex(e,t,this._suffix)}else{const u=P.tan(this._realNum).toNumber();return le.getComplex(u,this._iNum,this._suffix)}}Tanh(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,"";if(this._iNum){const u=P.cosh(this._realNum*2).add(P.cos(this._iNum*2)),e=P.sinh(this._realNum*2).div(u).toNumber(),t=P.sin(this._iNum*2).div(u).toNumber();return le.getComplex(e,t,this._suffix)}else{const u=P.tanh(this._realNum).toNumber();return le.getComplex(u,this._iNum,this._suffix)}}};class tg extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:j.create("i"),{isError:s,errorObject:a,variants:o}=G(e,t,n);if(s)return a;const[c,l,f]=o,m=+c.getValue(),d=+l.getValue(),_=`${f.getValue()}`;if(Number.isNaN(m)||Number.isNaN(d)||_!=="i"&&_!=="j")return g.create(h.VALUE);const C=he.getComplex(m,d,_);return typeof C=="number"?R.create(C):j.create(C)}}class rg extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3);A(this,"_units",[["a.u. of action","?",null,"action",!1,!1,105457168181818e-48],["a.u. of charge","e",null,"electric_charge",!1,!1,160217653141414e-33],["a.u. of energy","Eh",null,"energy",!1,!1,435974417757576e-32],["a.u. of length","a?",null,"length",!1,!1,529177210818182e-25],["a.u. of mass","m?",null,"mass",!1,!1,910938261616162e-45],["a.u. of time","?/Eh",null,"time",!1,!1,241888432650516e-31],["admiralty knot","admkn",null,"speed",!1,!0,.514773333],["ampere","A",null,"electric_current",!0,!1,1],["ampere per meter","A/m",null,"magnetic_field_intensity",!0,!1,1],["ångström","Å",["ang"],"length",!1,!0,1e-10],["are","ar",null,"area",!1,!0,100],["astronomical unit","ua",null,"length",!1,!1,149597870691667e-25],["bar","bar",null,"pressure",!1,!1,1e5],["barn","b",null,"area",!1,!1,1e-28],["becquerel","Bq",null,"radioactivity",!0,!1,1],["bit","bit",["b"],"information",!1,!0,1],["btu","BTU",["btu"],"energy",!1,!0,1055.05585262],["byte","byte",null,"information",!1,!0,8],["candela","cd",null,"luminous_intensity",!0,!1,1],["candela per square metre","cd/m?",null,"luminance",!0,!1,1],["centigrade","C",["cel"],"temperature",!0,!1,1],["cubic ångström","ang3",["ang^3"],"volume",!1,!0,1e-30],["cubic foot","ft3",["ft^3"],"volume",!1,!0,.028316846592],["cubic inch","in3",["in^3"],"volume",!1,!0,16387064e-12],["cubic light-year","ly3",["ly^3"],"volume",!1,!0,846786664623715e-61],["cubic metre","m3",["m^3"],"volume",!0,!0,1],["cubic mile","mi3",["mi^3"],"volume",!1,!0,416818182544058e-5],["cubic nautical mile","Nmi3",["Nmi^3"],"volume",!1,!0,6352182208],["cubic Pica","Pica3",["Picapt3","Pica^3","Picapt^3"],"volume",!1,!0,758660370370369e-22],["cubic yard","yd3",["yd^3"],"volume",!1,!0,.764554857984],["cup","cup",null,"volume",!1,!0,.0002365882365],["dalton","Da",["u"],"mass",!1,!1,166053886282828e-41],["day","d",["day"],"time",!1,!0,86400],["degree","°",null,"angle",!1,!1,.0174532925199433],["dyne","dyn",["dy"],"force",!1,!0,1e-5],["electronvolt","eV",["ev"],"energy",!1,!0,1.60217656514141],["ell","ell",null,"length",!1,!0,1.143],["erg","erg",["e"],"energy",!1,!0,1e-7],["fahrenheit","F",["fah"],"temperature",!0,!1,1],["fluid ounce","oz",null,"volume",!1,!0,295735295625e-16],["foot","ft",null,"length",!1,!0,.3048],["foot-pound","flb",null,"energy",!1,!0,1.3558179483314],["gal","Gal",null,"acceleration",!1,!1,.01],["gallon","gal",null,"volume",!1,!0,.003785411784],["gauss","G",["ga"],"magnetic_flux_density",!1,!0,1],["grain","grain",null,"mass",!1,!0,647989e-10],["gram","g",null,"mass",!1,!0,.001],["gray","Gy",null,"absorbed_dose",!0,!1,1],["gross registered ton","GRT",["regton"],"volume",!1,!0,2.8316846592],["hectare","ha",null,"area",!1,!0,1e4],["henry","H",null,"inductance",!0,!1,1],["hertz","Hz",null,"frequency",!0,!1,1],["horsepower","HP",["h"],"power",!1,!0,745.69987158227],["horsepower-hour","HPh",["hh","hph"],"energy",!1,!0,2684519538e-3],["hour","h",["hr"],"time",!1,!0,3600],["imperial gallon (U.K.)","uk_gal",null,"volume",!1,!0,.00454609],["imperial hundredweight","lcwt",["uk_cwt","hweight"],"mass",!1,!0,50.802345],["imperial quart (U.K)","uk_qt",null,"volume",!1,!0,.0011365225],["imperial ton","brton",["uk_ton","LTON"],"mass",!1,!0,1016.046909],["inch","in",null,"length",!1,!0,.0254],["international acre","uk_acre",null,"area",!1,!0,4046.8564224],["IT calorie","cal",null,"energy",!1,!0,4.1868],["joule","J",null,"energy",!0,!0,1],["katal","kat",null,"catalytic_activity",!0,!1,1],["kelvin","K",["kel"],"temperature",!0,!0,1],["kilogram","kg",null,"mass",!0,!0,1],["knot","kn",null,"speed",!1,!0,.514444444444444],["light-year","ly",null,"length",!1,!0,9460730472580800],["litre","L",["l","lt"],"volume",!1,!0,.001],["lumen","lm",null,"luminous_flux",!0,!1,1],["lux","lx",null,"illuminance",!0,!1,1],["maxwell","Mx",null,"magnetic_flux",!1,!1,1e-18],["measurement ton","MTON",null,"volume",!1,!0,1.13267386368],["meter per hour","m/h",["m/hr"],"speed",!1,!0,.00027777777777778],["meter per second","m/s",["m/sec"],"speed",!0,!0,1],["meter per second squared","m?s??",null,"acceleration",!0,!1,1],["parsec","pc",["parsec"],"length",!1,!0,0x6da012f958ee1c],["meter squared per second","m?/s",null,"kinematic_viscosity",!0,!1,1],["metre","m",null,"length",!0,!0,1],["miles per hour","mph",null,"speed",!1,!0,.44704],["millimetre of mercury","mmHg",null,"pressure",!1,!1,133.322],["minute","?",null,"angle",!1,!1,.000290888208665722],["minute","min",["mn"],"time",!1,!0,60],["modern teaspoon","tspm",null,"volume",!1,!0,5e-6],["mole","mol",null,"amount_of_substance",!0,!1,1],["morgen","Morgen",null,"area",!1,!0,2500],["n.u. of action","?",null,"action",!1,!1,105457168181818e-48],["n.u. of mass","m?",null,"mass",!1,!1,910938261616162e-45],["n.u. of speed","c?",null,"speed",!1,!1,299792458],["n.u. of time","?/(me?c??)",null,"time",!1,!1,128808866778687e-35],["nautical mile","M",["Nmi"],"length",!1,!0,1852],["newton","N",null,"force",!0,!0,1],["œrsted","Oe ",null,"magnetic_field_intensity",!1,!1,79.5774715459477],["ohm","Ω",null,"electric_resistance",!0,!1,1],["ounce mass","ozm",null,"mass",!1,!0,.028349523125],["pascal","Pa",null,"pressure",!0,!1,1],["pascal second","Pa?s",null,"dynamic_viscosity",!0,!1,1],["pferdestärke","PS",null,"power",!1,!0,735.49875],["phot","ph",null,"illuminance",!1,!1,1e-4],["pica (1/6 inch)","pica",null,"length",!1,!0,.00035277777777778],["pica (1/72 inch)","Pica",["Picapt"],"length",!1,!0,.00423333333333333],["poise","P",null,"dynamic_viscosity",!1,!1,.1],["pond","pond",null,"force",!1,!0,.00980665],["pound force","lbf",null,"force",!1,!0,4.4482216152605],["pound mass","lbm",null,"mass",!1,!0,.45359237],["quart","qt",null,"volume",!1,!0,.000946352946],["radian","rad",null,"angle",!0,!1,1],["rankine","Rank",null,"temperature",!1,!0,1],["reaumur","Reau",null,"temperature",!1,!0,1],["second","?",null,"angle",!1,!1,484813681109536e-20],["second","s",["sec"],"time",!0,!0,1],["short hundredweight","cwt",["shweight"],"mass",!1,!0,45.359237],["siemens","S",null,"electrical_conductance",!0,!1,1],["sievert","Sv",null,"equivalent_dose",!0,!1,1],["slug","sg",null,"mass",!1,!0,14.59390294],["square ångström","ang2",["ang^2"],"area",!1,!0,1e-20],["square foot","ft2",["ft^2"],"area",!1,!0,.09290304],["square inch","in2",["in^2"],"area",!1,!0,64516e-8],["square light-year","ly2",["ly^2"],"area",!1,!0,895054210748189e17],["square meter","m?",null,"area",!0,!0,1],["square mile","mi2",["mi^2"],"area",!1,!0,2589988110336e-6],["square nautical mile","Nmi2",["Nmi^2"],"area",!1,!0,3429904],["square Pica","Pica2",["Picapt2","Pica^2","Picapt^2"],"area",!1,!0,1792111111111e-17],["square yard","yd2",["yd^2"],"area",!1,!0,.83612736],["statute mile","mi",null,"length",!1,!0,1609.344],["steradian","sr",null,"solid_angle",!0,!1,1],["stilb","sb",null,"luminance",!1,!1,1e-4],["stokes","St",null,"kinematic_viscosity",!1,!1,1e-4],["stone","stone",null,"mass",!1,!0,6.35029318],["tablespoon","tbs",null,"volume",!1,!0,147868e-10],["teaspoon","tsp",null,"volume",!1,!0,492892e-11],["tesla","T",null,"magnetic_flux_density",!0,!0,1],["thermodynamic calorie","c",null,"energy",!1,!0,4.184],["ton","ton",null,"mass",!1,!0,907.18474],["tonne","t",null,"mass",!1,!1,1e3],["U.K. pint","uk_pt",null,"volume",!1,!0,.00056826125],["U.S. bushel","bushel",null,"volume",!1,!0,.03523907],["U.S. oil barrel","barrel",null,"volume",!1,!0,.158987295],["U.S. pint","pt",["us_pt"],"volume",!1,!0,.000473176473],["U.S. survey mile","survey_mi",null,"length",!1,!0,1609.347219],["U.S. survey/statute acre","us_acre",null,"area",!1,!0,4046.87261],["volt","V",null,"voltage",!0,!1,1],["watt","W",null,"power",!0,!0,1],["watt-hour","Wh",["wh"],"energy",!1,!0,3600],["weber","Wb",null,"magnetic_flux",!0,!1,1],["yard","yd",null,"length",!1,!0,.9144],["year","yr",null,"time",!1,!0,31557600]]);A(this,"_binaryPrefixes",{Yi:["yobi",80,12089258196146292e8,"Yi","yotta"],Zi:["zebi",70,11805916207174113e5,"Zi","zetta"],Ei:["exbi",60,1152921504606847e3,"Ei","exa"],Pi:["pebi",50,0x4000000000000,"Pi","peta"],Ti:["tebi",40,1099511627776,"Ti","tera"],Gi:["gibi",30,1073741824,"Gi","giga"],Mi:["mebi",20,1048576,"Mi","mega"],ki:["kibi",10,1024,"ki","kilo"]});A(this,"_unitPrefixes",{Y:["yotta",1e24,"Y"],Z:["zetta",1e21,"Z"],E:["exa",1e18,"E"],P:["peta",1e15,"P"],T:["tera",1e12,"T"],G:["giga",1e9,"G"],M:["mega",1e6,"M"],k:["kilo",1e3,"k"],h:["hecto",100,"h"],e:["dekao",10,"e"],d:["deci",.1,"d"],c:["centi",.01,"c"],m:["milli",.001,"m"],u:["micro",1e-6,"u"],n:["nano",1e-9,"n"],p:["pico",1e-12,"p"],f:["femto",1e-15,"f"],a:["atto",1e-18,"a"],z:["zepto",1e-21,"z"],y:["yocto",1e-24,"y"]})}calculate(e,t,r){const{isError:n,errorObject:s,variants:a}=G(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=`${c.getValue()}`,d=`${l.getValue()}`;if(Number.isNaN(f))return g.create(h.VALUE);let _,C=1,E,b=1;const{_from:y,_to:p}=this._lookupFromAndToUnits(m,d);if(_=y,E=p,_===null){const{_from:S,_fromMultiplier:D}=this._lookupFromPrefix(m);_=S,C=D}if(E===null){const{_to:S,_toMultiplier:D}=this._lookupToPrefix(d);E=S,b=D}if(_===null||E===null||_[3]!==E[3])return g.create(h.NA);let V;return _[3]==="temperature"?(V=this._getTemperatureConversion(f,_[1],E[1]),V=+V.toFixed(2)):V=f*_[6]*C/(E[6]*b),R.create(V)}_lookupFromAndToUnits(e,t){let r=null,n=null,s;for(let a=0;a<this._units.length;a++)s=this._units[a][2]===null?[]:this._units[a][2],(this._units[a][1]===e||s.indexOf(e)>=0)&&(r=this._units[a]),(this._units[a][1]===t||s.indexOf(t)>=0)&&(n=this._units[a]);return{_from:r,_to:n}}_lookupFromPrefix(e){let t=null,r=1,n=e,s;const a=this._binaryPrefixes[e.substring(0,2)];let o=this._unitPrefixes[e.substring(0,1)];e.substring(0,2)==="da"&&(o=["dekao",10,"da"]),a?(r=a[2],n=e.substring(2)):o&&(r=o[1],n=e.substring(o[2].length));for(let c=0;c<this._units.length;c++)s=this._units[c][2]===null?[]:this._units[c][2],(this._units[c][1]===n||s.indexOf(n)>=0)&&(t=this._units[c]);return{_from:t,_fromMultiplier:r}}_lookupToPrefix(e){let t=null,r=1,n=e,s;const a=this._binaryPrefixes[e.substring(0,2)];let o=this._unitPrefixes[e.substring(0,1)];e.substring(0,2)==="da"&&(o=["dekao",10,"da"]),a?(r=a[2],n=e.substring(2)):o&&(r=o[1],n=e.substring(o[2].length));for(let c=0;c<this._units.length;c++)s=this._units[c][2]===null?[]:this._units[c][2],(this._units[c][1]===n||s.indexOf(n)>=0)&&(t=this._units[c]);return{_to:t,_toMultiplier:r}}_getTemperatureConversion(e,t,r){switch(t){case"C":return this._centigradeConversion(e,r);case"F":return this._fahrenheitConversion(e,r);case"K":return this._kelvinConversion(e,r);case"Rank":return this._rankineConversion(e,r);case"Reau":return this._reaumurConversion(e,r);default:return e}}_centigradeConversion(e,t){switch(t){case"F":return e*9/5+32;case"K":return e+273.15;case"Rank":return(e+273.15)*9/5;case"Reau":return e*4/5;default:return e}}_fahrenheitConversion(e,t){switch(t){case"C":return(e-32)*5/9;case"K":return(e-32)*5/9+273.15;case"Rank":return e+459.67;case"Reau":return(e-32)*4/9;default:return e}}_kelvinConversion(e,t){switch(t){case"C":return e-273.15;case"F":return(e-273.15)*9/5+32;case"Rank":return e*9/5;case"Reau":return(e-273.15)*4/5;default:return e}}_rankineConversion(e,t){switch(t){case"C":return(e-491.67)*5/9;case"F":return e-459.67;case"K":return e*5/9;case"Reau":return(e-491.67)*4/9;default:return e}}_reaumurConversion(e,t){switch(t){case"C":return e*5/4;case"F":return e*9/4+32;case"K":return e*5/4+273.15;case"Rank":return e*9/4+491.67;default:return e}}}class ng extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:f,errorObject:m,variants:d}=G(t);if(f)return m;const[_]=d;if(r=Math.floor(+_.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=G(e);if(n)return s;const[o]=a,c=Math.trunc(+o.getValue());if(Number.isNaN(c))return g.create(h.VALUE);if(!/^-?[0-9]{1,3}$/.test(`${c}`)||c<-512||c>511)return g.create(h.NUM);let l;if(c<0){const f=(512+c).toString(2);l=`1${"0".repeat(9-f.length)}${f}`}else if(l=Number.parseInt(`${c}`,10).toString(2),t){if(r<l.length)return g.create(h.NUM);l="0".repeat(r-l.length)+l}return j.create(l)}}class sg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:f,errorObject:m,variants:d}=G(t);if(f)return m;const[_]=d;if(r=Math.floor(+_.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=G(e);if(n)return s;const[o]=a,c=Math.trunc(+o.getValue());if(Number.isNaN(c))return g.create(h.VALUE);if(!/^-?[0-9]{1,12}$/.test(`${c}`)||c<-549755813888||c>549755813887)return g.create(h.NUM);let l;if(c<0)l=(1099511627776+c).toString(16);else if(l=Number.parseInt(`${c}`,10).toString(16),t){if(r<l.length)return g.create(h.NUM);l="0".repeat(r-l.length)+l}return j.create(l.toLocaleUpperCase())}}class ag extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:f,errorObject:m,variants:d}=G(t);if(f)return m;const[_]=d;if(r=Math.floor(+_.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=G(e);if(n)return s;const[o]=a,c=Math.trunc(+o.getValue());if(Number.isNaN(c))return g.create(h.VALUE);if(!/^-?[0-9]{1,9}$/.test(`${c}`)||c<-536870912||c>536870911)return g.create(h.NUM);let l;if(c<0)l=(1073741824+c).toString(8);else if(l=Number.parseInt(`${c}`,10).toString(8),t){if(r<l.length)return g.create(h.NUM);l="0".repeat(r-l.length)+l}return j.create(l)}}class ig extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:R.create(0),{isError:n,errorObject:s,variants:a}=G(e,r);if(n)return s;const[o,c]=a,l=+o.getValue(),f=+c.getValue();if(Number.isNaN(l)||Number.isNaN(f))return g.create(h.VALUE);const m=l===f?1:0;return R.create(m)}}class og extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){let r;if(t){const{isError:n,errorObject:s,variants:a}=G(e,t);if(n)return s;const[o,c]=a,l=+o.getValue(),f=+c.getValue();if(Number.isNaN(l)||Number.isNaN(f))return g.create(h.VALUE);r=Yt(f)-Yt(l)}else{const{isError:n,errorObject:s,variants:a}=G(e);if(n)return s;const[o]=a,c=+o.getValue();if(Number.isNaN(c))return g.create(h.VALUE);r=Yt(c)}return R.create(r)}}class ug extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=+s.getValue();if(Number.isNaN(a))return g.create(h.VALUE);const o=Yt(a);return R.create(o)}}class cg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=+s.getValue();if(Number.isNaN(a))return g.create(h.VALUE);const o=la(a);return R.create(o)}}class lg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=+s.getValue();if(Number.isNaN(a))return g.create(h.VALUE);const o=la(a);return R.create(o)}}var Z=(i=>(i.BESSELI="BESSELI",i.BESSELJ="BESSELJ",i.BESSELK="BESSELK",i.BESSELY="BESSELY",i.BIN2DEC="BIN2DEC",i.BIN2HEX="BIN2HEX",i.BIN2OCT="BIN2OCT",i.BITAND="BITAND",i.BITLSHIFT="BITLSHIFT",i.BITOR="BITOR",i.BITRSHIFT="BITRSHIFT",i.BITXOR="BITXOR",i.COMPLEX="COMPLEX",i.CONVERT="CONVERT",i.DEC2BIN="DEC2BIN",i.DEC2HEX="DEC2HEX",i.DEC2OCT="DEC2OCT",i.DELTA="DELTA",i.ERF="ERF",i.ERF_PRECISE="ERF.PRECISE",i.ERFC="ERFC",i.ERFC_PRECISE="ERFC.PRECISE",i.GESTEP="GESTEP",i.HEX2BIN="HEX2BIN",i.HEX2DEC="HEX2DEC",i.HEX2OCT="HEX2OCT",i.IMABS="IMABS",i.IMAGINARY="IMAGINARY",i.IMARGUMENT="IMARGUMENT",i.IMCONJUGATE="IMCONJUGATE",i.IMCOS="IMCOS",i.IMCOSH="IMCOSH",i.IMCOT="IMCOT",i.IMCOTH="IMCOTH",i.IMCSC="IMCSC",i.IMCSCH="IMCSCH",i.IMDIV="IMDIV",i.IMEXP="IMEXP",i.IMLN="IMLN",i.IMLOG="IMLOG",i.IMLOG10="IMLOG10",i.IMLOG2="IMLOG2",i.IMPOWER="IMPOWER",i.IMPRODUCT="IMPRODUCT",i.IMREAL="IMREAL",i.IMSEC="IMSEC",i.IMSECH="IMSECH",i.IMSIN="IMSIN",i.IMSINH="IMSINH",i.IMSQRT="IMSQRT",i.IMSUB="IMSUB",i.IMSUM="IMSUM",i.IMTAN="IMTAN",i.IMTANH="IMTANH",i.OCT2BIN="OCT2BIN",i.OCT2DEC="OCT2DEC",i.OCT2HEX="OCT2HEX",i))(Z||{});class fg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);const r=t!=null?t:R.create(0),{isError:n,errorObject:s,variants:a}=G(e,r);if(n)return s;const[o,c]=a,l=+o.getValue(),f=+c.getValue();if(Number.isNaN(l)||Number.isNaN(f))return g.create(h.VALUE);const m=l>=f?1:0;return R.create(m)}}class mg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:d,errorObject:_,variants:C}=G(t);if(d)return _;const[E]=C;if(r=Math.floor(+E.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=G(e);if(n)return s;const[o]=a,c=`${o.getValue()}`;if(!ca(c))return g.create(h.NUM);const l=c.length===10&&c.substring(0,1).toLocaleUpperCase()==="F",f=l?Number.parseInt(c,16)-1099511627776:Number.parseInt(c,16);if(f<-512||f>511)return g.create(h.NUM);let m;if(l){const d=(512+f).toString(2);m=`1${"0".repeat(9-d.length)}${d}`}else if(m=f.toString(2),t){if(r<m.length)return g.create(h.NUM);m="0".repeat(r-m.length)+m}return j.create(m)}}class hg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`;if(!ca(a))return g.create(h.NUM);let o=Number.parseInt(a,16);return o>=549755813888&&(o-=1099511627776),R.create(o)}}class gg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:m,errorObject:d,variants:_}=G(t);if(m)return d;const[C]=_;if(r=Math.floor(+C.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=G(e);if(n)return s;const[o]=a,c=`${o.getValue()}`;if(!ca(c))return g.create(h.NUM);const l=Number.parseInt(c,16);if(l>536870911&&l<0xffe0000000)return g.create(h.NUM);let f;if(l>=0xffe0000000)f=(l-0xffc0000000).toString(8);else if(f=l.toString(8),t){if(r<f.length)return g.create(h.NUM);f="0".repeat(r-f.length)+f}return j.create(f)}}class dg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.Abs();return R.create(c)}}class Cg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.getINum();return R.create(c)}}class _g extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);if(o.getRealNum()===0&&o.getINum()===0)return g.create(h.DIV_BY_ZERO);const c=o.Argument();return R.create(c)}}class Ag extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.Conjugate();return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class Eg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.Cos();return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class bg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.Cosh();return o.isError()?g.create(h.NUM):typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class yg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return g.create(h.NUM);const c=o.Cot();return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class Rg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return g.create(h.NUM);const c=o.Coth();return o.isError()?g.create(h.NUM):typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class pg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return g.create(h.NUM);const c=o.Csc();return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class Ng extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return g.create(h.NUM);const c=o.Csch();return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class Vg extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=G(e,t);if(r)return n;const[a,o]=s,c=`${a.getValue()}`,l=`${o.getValue()}`,f=new he(c),m=new he(l);if(f.isError()||m.isError()||f.isDifferentSuffixes(m)||m.getRealNum()===0&&m.getINum()===0)return g.create(h.NUM);const d=f.Div(m);return typeof d=="number"||M.isRealNum(d)?R.create(+d):j.create(d)}}class Og extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.Exp();return o.isError()?g.create(h.NUM):typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class Mg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return g.create(h.NUM);const c=o.Ln();return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class Sg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=G(e);if(r)return n;const[a]=s;let o=t!=null?t:R.create(10);if(o.isArray()){const b=o.getRowCount(),y=o.getColumnCount();if(b>1||y>1)return g.create(h.VALUE);o=o.get(0,0)}const{isError:c,errorObject:l,variants:f}=F(o);if(c)return l;const[m]=f,d=`${a.getValue()}`,_=+m.getValue(),C=new he(d);if(C.isError()||C.getRealNum()===0&&C.getINum()===0||_<=0)return g.create(h.NUM);const E=C.Log(_);return C.isError()?g.create(h.NUM):typeof E=="number"||M.isRealNum(E)?R.create(+E):j.create(E)}}class Dg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return g.create(h.NUM);const c=o.Log(2);return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class wg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return g.create(h.NUM);const c=o.Log(10);return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class Lg extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=G(e,t);if(r)return n;const[a,o]=s,c=`${a.getValue()}`,l=new he(c);if(l.isError())return g.create(h.NUM);const f=+o.getValue();if(Number.isNaN(f))return g.create(h.VALUE);const m=l.Power(f);return l.isError()?g.create(h.NUM):typeof m=="number"||M.isRealNum(m)?R.create(+m):j.create(m)}}class xg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t="";for(let r=0;r<e.length;r++){if(t instanceof g)return t;const n=e[r];if(n.isArray()){let s=!1,a;if(n.iterator(o=>{if(t=this._handleSingleObject(o,t),t instanceof g)return s=!0,a=t,!1}),s)return a}else t=this._handleSingleObject(n,t)}return t instanceof g?t:typeof t=="number"||M.isRealNum(t)?R.create(+t):j.create(t)}_handleSingleObject(e,t){let r=t;if(e.isError())return e;if(e.isBoolean())return g.create(h.VALUE);const n=`${e.getValue()}`;if(typeof t!="number"&&!t){const s=new he(n);if(s.isError())return g.create(h.NUM);r=s.toString()}else{const s=new he(t),a=new he(n);if(s.isError()||a.isError())return g.create(h.NUM);if(s.isDifferentSuffixes(a))return g.create(h.VALUE);r=s.Product(a)}return r}}class Pg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.getRealNum();return R.create(c)}}class jg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.Sec();return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class Ug extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.Sech();return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class vg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.Sin();return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class Tg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.Sinh();return o.isError()?g.create(h.NUM):typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class Ig extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);if(o.getRealNum()===0&&o.getINum()===0)return R.create(0);const c=o.Sqrt();return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class Fg extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=G(e,t);if(r)return n;const[a,o]=s,c=`${a.getValue()}`,l=`${o.getValue()}`,f=new he(c),m=new he(l);if(f.isError()||m.isError()||f.isDifferentSuffixes(m))return g.create(h.NUM);const d=f.Sub(m);return typeof d=="number"||M.isRealNum(d)?R.create(+d):j.create(d)}}class Bg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t="";for(let r=0;r<e.length;r++){if(t instanceof g)return t;const n=e[r];if(n.isArray()){let s=!1,a;if(n.iterator(o=>{if(t=this._handleSingleObject(o,t),t instanceof g)return s=!0,a=t,!1}),s)return a}else t=this._handleSingleObject(n,t)}return t instanceof g?t:typeof t=="number"||M.isRealNum(t)?R.create(+t):j.create(t)}_handleSingleObject(e,t){let r=t;if(e.isError())return e;if(e.isBoolean())return g.create(h.VALUE);const n=`${e.getValue()}`;if(typeof t!="number"&&!t){const s=new he(n);if(s.isError())return g.create(h.NUM);r=s.toString()}else{const s=new he(t),a=new he(n);if(s.isError()||a.isError())return g.create(h.NUM);if(s.isDifferentSuffixes(a))return g.create(h.VALUE);r=s.Sum(a)}return r}}class kg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.Tan();return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class $g extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.Tanh();return o.isError()?g.create(h.NUM):typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class Yg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:d,errorObject:_,variants:C}=G(t);if(d)return _;const[E]=C;if(r=Math.floor(+E.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=G(e);if(n)return s;const[o]=a,c=`${o.getValue()}`;if(!ua(c))return g.create(h.NUM);const l=c.length===10&&c.substring(0,1)==="7",f=l?Number.parseInt(c,8)-1073741824:Number.parseInt(c,8);if(f<-512||f>511)return g.create(h.NUM);let m;if(l){const d=(512+f).toString(2);m=`1${"0".repeat(9-d.length)}${d}`}else if(m=f.toString(2),t){if(r<m.length)return g.create(h.NUM);m="0".repeat(r-m.length)+m}return j.create(m)}}class Hg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`;if(!ua(a))return g.create(h.NUM);let o=Number.parseInt(a,8);return o>=536870912&&(o-=1073741824),R.create(o)}}class Gg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:m,errorObject:d,variants:_}=G(t);if(m)return d;const[C]=_;if(r=Math.floor(+C.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=G(e);if(n)return s;const[o]=a,c=`${o.getValue()}`;if(!ua(c))return g.create(h.NUM);const l=Number.parseInt(c,8);let f;if(l>=536870912)f=`ff${(l+3221225472).toString(16)}`;else if(f=l.toString(16),t){if(r<f.length)return g.create(h.NUM);f="0".repeat(r-f.length)+f}return j.create(f.toLocaleUpperCase())}}const Cu=[[Yh,Z.BESSELI],[Hh,Z.BESSELJ],[Gh,Z.BESSELK],[Wh,Z.BESSELY],[Qh,Z.BIN2DEC],[qh,Z.BIN2HEX],[Kh,Z.BIN2OCT],[Xh,Z.BITAND],[Zh,Z.BITLSHIFT],[zh,Z.BITOR],[Jh,Z.BITRSHIFT],[eg,Z.BITXOR],[tg,Z.COMPLEX],[rg,Z.CONVERT],[ng,Z.DEC2BIN],[sg,Z.DEC2HEX],[ag,Z.DEC2OCT],[ig,Z.DELTA],[og,Z.ERF],[ug,Z.ERF_PRECISE],[cg,Z.ERFC],[lg,Z.ERFC_PRECISE],[fg,Z.GESTEP],[mg,Z.HEX2BIN],[hg,Z.HEX2DEC],[gg,Z.HEX2OCT],[dg,Z.IMABS],[Cg,Z.IMAGINARY],[_g,Z.IMARGUMENT],[Ag,Z.IMCONJUGATE],[Eg,Z.IMCOS],[bg,Z.IMCOSH],[yg,Z.IMCOT],[Rg,Z.IMCOTH],[pg,Z.IMCSC],[Ng,Z.IMCSCH],[Vg,Z.IMDIV],[Og,Z.IMEXP],[Mg,Z.IMLN],[Sg,Z.IMLOG],[wg,Z.IMLOG10],[Dg,Z.IMLOG2],[Lg,Z.IMPOWER],[xg,Z.IMPRODUCT],[Pg,Z.IMREAL],[jg,Z.IMSEC],[Ug,Z.IMSECH],[vg,Z.IMSIN],[Tg,Z.IMSINH],[Ig,Z.IMSQRT],[Fg,Z.IMSUB],[Bg,Z.IMSUM],[kg,Z.IMTAN],[$g,Z.IMTANH],[Yg,Z.OCT2BIN],[Hg,Z.OCT2DEC],[Gg,Z.OCT2HEX]];var J=(i=>(i.ACCRINT="ACCRINT",i.ACCRINTM="ACCRINTM",i.AMORDEGRC="AMORDEGRC",i.AMORLINC="AMORLINC",i.COUPDAYBS="COUPDAYBS",i.COUPDAYS="COUPDAYS",i.COUPDAYSNC="COUPDAYSNC",i.COUPNCD="COUPNCD",i.COUPNUM="COUPNUM",i.COUPPCD="COUPPCD",i.CUMIPMT="CUMIPMT",i.CUMPRINC="CUMPRINC",i.DB="DB",i.DDB="DDB",i.DISC="DISC",i.DOLLARDE="DOLLARDE",i.DOLLARFR="DOLLARFR",i.DURATION="DURATION",i.EFFECT="EFFECT",i.FV="FV",i.FVSCHEDULE="FVSCHEDULE",i.INTRATE="INTRATE",i.IPMT="IPMT",i.IRR="IRR",i.ISPMT="ISPMT",i.MDURATION="MDURATION",i.MIRR="MIRR",i.NOMINAL="NOMINAL",i.NPER="NPER",i.NPV="NPV",i.ODDFPRICE="ODDFPRICE",i.ODDFYIELD="ODDFYIELD",i.ODDLPRICE="ODDLPRICE",i.ODDLYIELD="ODDLYIELD",i.PDURATION="PDURATION",i.PMT="PMT",i.PPMT="PPMT",i.PRICE="PRICE",i.PRICEDISC="PRICEDISC",i.PRICEMAT="PRICEMAT",i.PV="PV",i.RATE="RATE",i.RECEIVED="RECEIVED",i.RRI="RRI",i.SLN="SLN",i.SYD="SYD",i.TBILLEQ="TBILLEQ",i.TBILLPRICE="TBILLPRICE",i.TBILLYIELD="TBILLYIELD",i.VDB="VDB",i.XIRR="XIRR",i.XNPV="XNPV",i.YIELD="YIELD",i.YIELDDISC="YIELDDISC",i.YIELDMAT="YIELDMAT",i))(J||{});function zn(i,u,e,t){const r=Pt(i,u,e),{days:n}=Ce(r,i,t);return n}function Ge(i,u,e,t){let r;if(t===1){const n=Pt(i,u,e);let s=ne(n);s=ur(s,12/e);const a=be(s);n<0&&e===1?r=365:r=a-n}else t===3?r=365/e:r=360/e;return r}function _u(i,u,e){const t=ne(i);let r=ne(u);for(r.setUTCFullYear(t.getUTCFullYear()),r<t&&r.setUTCFullYear(r.getUTCFullYear()+1);r>t;)r=ur(r,-12/e);return r=ur(r,12/e),be(r)}function qt(i,u,e){let t=0;const r=ne(i);let n=ne(u);for(;n>r;)n=ur(n,-12/e),t++;return t}function Pt(i,u,e){const t=ne(i);let r=ne(u);for(r.setUTCFullYear(t.getUTCFullYear()),r<t&&r.setUTCFullYear(r.getUTCFullYear()+1);r>t;)r=ur(r,-12/e);return be(r)}function Au(i,u,e,t,r,n){const s=zn(i,u,r,n),a=Ge(i,u,r,n),o=qt(i,u,r),c=(a-s)/a-1,l=t/r+1,f=e*100/r;let m=0,d=0;for(let E=1;E<=o;E++){const b=E+c,y=f/l**b;m+=b*y,d+=y}const _=o+c,C=100/l**_;return m+=_*C,d+=C,m/d/r}function Ur(i,u,e,t,r){let n;if(i===0)n=(e+t)/u;else{const s=(1+i)**u;n=r===1?(t*i/(s-1)+e*i/(1-1/s))/(1+i):t*i/(s-1)+e*i/(1-1/s)}return-n}function Kt(i,u,e,t,r){let n;if(i===0)n=t+e*u;else{if(i===-1&&u===0)return Number.NaN;const s=(1+i)**u;n=r===1?t*s+e*(1+i)*(s-1)/i:t*s+e*(s-1)/i}return-n}function Eu(i,u,e,t,r,n){const s=Ur(i,e,t,r,n);return(u===1?n===1?0:-t:n===1?Kt(i,u-2,s,t,1)-s:Kt(i,u-1,s,t,0))*i}function bu(i,u){let e=0;for(let t=1;t<=u.length;t++)e+=u[t-1]/(1+i)**t;return e}function yu(i,u,e,t,r,n,s,a,o){const c=kt(e,t,o),l=Ge(i,t,a,o);return c<l?Wg(i,u,e,t,r,n,s,a,o,c,l):Qg(i,u,e,t,r,n,s,a,o,l)}function Wg(i,u,e,t,r,n,s,a,o,c,l){let f=0;const m=qt(i,u,a),d=kt(i,t,o);f+=s/(1+n/a)**(m-1+d/l),f+=100*r/a*c/l/(1+n/a)**(d/l);for(let C=2;C<=m;C++)f+=100*r/a/(1+n/a)**(C-1+d/l);const _=kt(e,i,o);return f-=100*r/a*_/l,f}function Qg(i,u,e,t,r,n,s,a,o,c){let l=0;const f=qt(t,u,a),m=qg(t,i,12/a);let d;if(o===2||o===3){const y=_u(i,t,a);d=kt(i,y,o)}else{const y=Pt(i,t,a),{days:p}=Ce(y,i,o);d=c-p}l+=s/(1+n/a)**(f+m+d/c);const _=qt(e,t,a);let C=t,E=0,b=0;for(let y=_;y>=1;y--){const p=Gt(C,-12/a,!1),V=o===1?kt(p,C,o):c,S=y>1?V:kt(e,C,o);E+=S/V;const D=e>p?e:p,w=i<C?i:C,L=kt(D,w,o);b+=L/V,C=p}l+=100*r/a*E/(1+n/a)**(m+d/c);for(let y=1;y<=f;y++)l+=100*r/a/(1+n/a)**(y+m+d/c);return l-=100*r/a*b,l}function kt(i,u,e){const{days:t}=Ce(i,u,e);return i<u?t:0}function Ru(i,u,e){const t=ne(i),r=t.getUTCFullYear(),n=t.getUTCMonth(),s=t.getUTCDate(),a=or(r,n,s),o=ne(u),c=o.getUTCFullYear(),l=o.getUTCMonth(),f=o.getUTCDate(),m=or(c,l,f);return!(s!==f&&!(a&&m)||Math.abs((c-r)*12+(l-n))%(12/e)!==0)}function fr(i,u,e){return Pt(i,u,e)>=0}function Gt(i,u,e){let t=ne(i);if(t=ur(t,u),e){const r=t.getUTCFullYear(),n=t.getUTCMonth(),s=jr(r,n);t.setUTCDate(s)}return be(t)}function qg(i,u,e,t){const r=ne(i),n=ne(u),s=r.getUTCFullYear(),a=r.getUTCMonth(),o=r.getUTCDate(),c=n.getUTCFullYear(),l=n.getUTCMonth(),f=n.getUTCDate(),m=or(s,a,o),d=!m&&a!==1&&o>28&&o<jr(s,a)?or(c,l,f):m,_=Gt(u,0,d);let C=1+ +(u<_),E=Gt(_,e,d);for(;!(e>0?E>=u:E<=u);)E=Gt(E,e,d),C++;return C}function Va(i,u){let n=1,s=0,a=i,o;for(;n>1e-7&&s<500;){const c=(u(a+1e-7)-u(a-1e-7))/2e-7;o=a-u(a)/c,s++,n=Math.abs(o-a),a=o}return Number.isNaN(a)||Math.abs(a)===1/0||s===500?Kg(i,u):a}function Kg(i,u){const r=Number.MAX_VALUE,n=-1,s=1.6;let a=i-.01<=n?n+1e-7:i-.01,o=i+.01>=r?r-1e-7:i+.01,c,l,f=0;if(i<=n||i>=r)return g.create(h.NUM);for(let E=0;E<60;E++){c=a<=n?n+1e-7:a,l=o>=r?r-1e-7:o;const b=u(c),y=u(l);if(b*y<=0)break;if(b*y>0)a=c+s*(c-l),o=l+s*(l-c);else return g.create(h.NUM);if(E===59)return g.create(h.NUM)}c=c,l=l;let m=u(c);const d=u(l);let _,C;if(Math.abs(m)<1e-7||Math.abs(d)<1e-7)return g.create(h.NUM);do C=c+(l-c)/2,_=u(C),m*_<0?l=C:c=C,m=u(c),f++;while(Math.abs(_)>1e-7&&f<60);return C}function Jr(i,u,e,t,r,n,s){const a=qt(i,u,n),o=Ge(i,u,n,s),c=zn(i,u,n,s);if(a===1){const m=o-c,d=100*e/n+r,_=t/n*m/o+1,C=100*e/n*c/o;return d/_-C}const l=o-c;let f=r/(1+t/n)**(a-1+l/o);for(let m=1;m<=a;m++)f+=100*e/n/(1+t/n)**(m-1+l/o);return f-=100*e/n*c/o,f}function Ts(i,u,e,t,r){let n=0,s=r/e;s>=1?(s=1,n=t===1?i:0):n=i*(1-s)**(t-1);const a=i*(1-s)**t;let o=0;return a<u?o=n-u:o=n-a,o<0&&(o=0),o}class Xg extends N{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",8)}calculate(e,t,r,n,s,a,o,c){const l=o!=null?o:R.create(0),f=c!=null?c:I.create(!0),{isError:m,errorObject:d,variants:_}=G(e,t,r,n,s,a,l);if(m)return d;const[C,E,b,y,p,V,S]=_,D=Y(C);if(typeof D!="number")return D;const w=Y(E);if(typeof w!="number")return w;const L=Y(b);if(typeof L!="number")return L;const x=+y.getValue(),v=+p.getValue(),U=Math.floor(+V.getValue()),$=Math.floor(+S.getValue()),Q=+f.getValue();return Number.isNaN(x)||Number.isNaN(v)||Number.isNaN(U)||Number.isNaN($)||Number.isNaN(Q)?g.create(h.VALUE):x<=0||v<=0||![1,2,4].includes(U)||$<0||$>4||Math.floor(D)>=Math.floor(L)?g.create(h.NUM):this._getResult(D,w,L,x,v,U,$,Q)}_getResult(e,t,r,n,s,a,o,c){let l=Pt(e,t,a);if(l<=0)return R.create(0);l=Pt(r,t,a);const f=12/a,m=ne(t),d=m.getUTCFullYear(),_=m.getUTCMonth(),C=m.getUTCDate(),E=or(d,_,C);let b=Gt(t,-f,E);if(r>t&&c)for(b=t;b<r;)b=Gt(b,f,E);let y=e>b?e:b,{days:p}=Ce(y,r,o);if(l>=e){const{days:x}=Ce(y,r,o?4:0);p=x}r<y&&(p=-p);let V=Ge(b,t,a,o),S=p/V,D=b,w=e;for(;D>e;){w=D,D=Gt(D,-f,E),y=e>D?e:D;const{days:x}=Ce(y,w,o);if(o===0)w>=y||e<=D?p=x:p=-x,V=Ge(D,w,a,o);else if(p=w<y?-x:x,o===3)V=365/a;else{const{days:v}=Ce(D,w,o);V=w<D?-v:v}S+=e<=D?c?1:0:p/V}const L=s*n/a*S;return R.create(L)}}class Zg extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=s!=null?s:R.create(0),{isError:o,errorObject:c,variants:l}=G(e,t,r,n,a);if(o)return c;const[f,m,d,_,C]=l,E=Y(f);if(typeof E!="number")return E;const b=Y(m);if(typeof b!="number")return b;const y=+d.getValue(),p=+_.getValue(),V=Math.floor(+C.getValue());if(Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(V))return g.create(h.VALUE);if(y<=0||p<=0||V<0||V>4||Math.floor(E)>Math.floor(b))return g.create(h.NUM);if(Math.floor(E)===Math.floor(b))return R.create(0);const{days:S,yearDays:D}=Ce(E,b,V),w=p*y*S/D;return R.create(w)}}class zg extends N{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",7)}calculate(e,t,r,n,s,a,o){const c=o!=null?o:R.create(0),{isError:l,errorObject:f,variants:m}=G(e,t,r,n,s,a,c);if(l)return f;const[d,_,C,E,b,y,p]=m,V=Y(_);if(typeof V!="number")return V;const S=Y(C);if(typeof S!="number")return S;const D=+d.getValue(),w=+E.getValue();let L=+b.getValue();const x=+y.getValue(),v=Math.floor(+p.getValue());return Number.isNaN(D)||Number.isNaN(w)||Number.isNaN(L)||Number.isNaN(x)||Number.isNaN(v)?g.create(h.VALUE):D<=0||w<0||D<w||Math.floor(V)>Math.floor(S)||L<0||x<=0||![0,1,3,4].includes(v)?g.create(h.NUM):(L>1?L=Math.floor(L):L=Math.ceil(L),this._getResult(D,V,S,w,L,x,v))}_getResult(e,t,r,n,s,a,o){const c=e-n,l=e*a,{days:f,yearDays:m}=Ce(t,r,o),d=f/m,_=Math.ceil(c/l-d);if(_<0)return R.create(0);let C=l;return s===0?C=l*d:s===_?C=c-l*(d+s-1):s>_&&(C=0),R.create(C)}}class Jg extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:R.create(0),{isError:a,errorObject:o,variants:c}=G(e,t,r,s);if(a)return o;const[l,f,m,d]=c,_=Y(l);if(typeof _!="number")return _;const C=Y(f);if(typeof C!="number")return C;const E=Math.floor(+m.getValue()),b=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(b))return g.create(h.VALUE);if(![1,2,4].includes(E)||b<0||b>4||Math.floor(_)>=Math.floor(C))return g.create(h.NUM);const y=zn(_,C,E,b);return R.create(y)}}class e1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:R.create(0),{isError:a,errorObject:o,variants:c}=G(e,t,r,s);if(a)return o;const[l,f,m,d]=c,_=Y(l);if(typeof _!="number")return _;const C=Y(f);if(typeof C!="number")return C;const E=Math.floor(+m.getValue()),b=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(b))return g.create(h.VALUE);if(![1,2,4].includes(E)||b<0||b>4||Math.floor(_)>=Math.floor(C))return g.create(h.NUM);const y=Ge(_,C,E,b);return R.create(y)}}class t1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:R.create(0),{isError:a,errorObject:o,variants:c}=G(e,t,r,s);if(a)return o;const[l,f,m,d]=c,_=Y(l);if(typeof _!="number")return _;const C=Y(f);if(typeof C!="number")return C;const E=Math.floor(+m.getValue()),b=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(b))return g.create(h.VALUE);if(![1,2,4].includes(E)||b<0||b>4||Math.floor(_)>=Math.floor(C))return g.create(h.NUM);const y=ne(_),p=ne(C);for(p.setUTCFullYear(y.getUTCFullYear()),p<y&&p.setUTCFullYear(p.getUTCFullYear()+1);p>y;)p.setUTCMonth(p.getUTCMonth()-12/E);p.setUTCMonth(p.getUTCMonth()+12/E);const V=be(p),{days:S}=Ce(_,V,b);return R.create(S)}}class r1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:R.create(0),{isError:a,errorObject:o,variants:c}=G(e,t,r,s);if(a)return o;const[l,f,m,d]=c,_=Y(l);if(typeof _!="number")return _;const C=Y(f);if(typeof C!="number")return C;const E=Math.floor(+m.getValue()),b=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(b))return g.create(h.VALUE);if(![1,2,4].includes(E)||b<0||b>4||Math.floor(_)>=Math.floor(C))return g.create(h.NUM);const y=_u(_,C,E);return R.create(y)}}class n1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:R.create(0),{isError:a,errorObject:o,variants:c}=G(e,t,r,s);if(a)return o;const[l,f,m,d]=c,_=Y(l);if(typeof _!="number")return _;const C=Y(f);if(typeof C!="number")return C;const E=Math.floor(+m.getValue()),b=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(b))return g.create(h.VALUE);if(![1,2,4].includes(E)||b<0||b>4||Math.floor(_)>=Math.floor(C)||Pt(_,C,E)<0)return g.create(h.NUM);const p=qt(_,C,E);return R.create(p)}}class s1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:R.create(0),{isError:a,errorObject:o,variants:c}=G(e,t,r,s);if(a)return o;const[l,f,m,d]=c,_=Y(l);if(typeof _!="number")return _;const C=Y(f);if(typeof C!="number")return C;const E=Math.floor(+m.getValue()),b=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(b))return g.create(h.VALUE);if(![1,2,4].includes(E)||b<0||b>4||Math.floor(_)>=Math.floor(C))return g.create(h.NUM);let y=Pt(_,C,E);return y<0&&(y=0),R.create(y)}}class a1 extends N{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){const{isError:o,errorObject:c,variants:l}=G(e,t,r,n,s,a);if(o)return c;const[f,m,d,_,C,E]=l,b=+f.getValue(),y=+m.getValue(),p=+d.getValue(),V=+_.getValue(),S=+C.getValue(),D=+E.getValue();return Number.isNaN(b)||Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(V)||Number.isNaN(S)||Number.isNaN(D)?g.create(h.VALUE):b<=0||y<=0||p<=0||V<1||S<1||V>S||V>y||S>y||![0,1].includes(D)?g.create(h.NUM):Math.trunc(V)!==V&&Math.trunc(S)!==S&&Math.trunc(V)===Math.trunc(S)?R.create(0):this._getResult(b,y,p,V,S,D)}_getResult(e,t,r,n,s,a){const o=Ur(e,t,r,0,a);let c=0,l=Math.ceil(n);l===1&&(a===0&&(c=-r),l++);let f=!1;for(let m=l;m<=s;m++){const d=a===1?Kt(e,m-2,o,r,1):Kt(e,m-1,o,r,0);if(d===0){f=!0;break}c+=a===1?d-o:d}return c*=e,(c<o*(s-n+1)||f)&&(c=o*(s-n+1)),R.create(c)}}class i1 extends N{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){const{isError:o,errorObject:c,variants:l}=G(e,t,r,n,s,a);if(o)return c;const[f,m,d,_,C,E]=l,b=+f.getValue(),y=+m.getValue(),p=+d.getValue(),V=+_.getValue(),S=+C.getValue(),D=+E.getValue();return Number.isNaN(b)||Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(V)||Number.isNaN(S)||Number.isNaN(D)?g.create(h.VALUE):b<=0||y<=0||p<=0||V<1||S<1||V>S||![0,1].includes(D)?g.create(h.NUM):Math.trunc(V)!==V&&Math.trunc(S)!==S&&Math.trunc(V)===Math.trunc(S)?R.create(0):this._getResult(b,y,p,V,S,D)}_getResult(e,t,r,n,s,a){const o=Ur(e,t,r,0,a);let c=0,l=Math.ceil(n);l===1&&(c=a===0?o+r*e:o,l++);for(let f=l;f<=s;f++)c+=a===1?o-(Kt(e,f-2,o,r,1)-o)*e:o-Kt(e,f-1,o,r,0)*e;return R.create(c)}}class o1 extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5);A(this,"needsLocale",!0)}calculate(e,t,r,n,s){let a=s!=null?s:R.create(12);a.isNull()&&(a=R.create(12));const o=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1),l=O(o,c,e,g.create(h.NA)),f=O(o,c,t,g.create(h.NA)),m=O(o,c,r,g.create(h.NA)),d=O(o,c,n,g.create(h.NA)),_=O(o,c,a,g.create(h.NA)),C=l.map((E,b,y)=>{const p=f.get(b,y),V=m.get(b,y),S=d.get(b,y),D=_.get(b,y),{isError:w,errorObject:L,variants:x}=F(E,p,V,S,D);if(w)return L;const[v,U,$,Q,te]=x,z=+v.getValue(),W=+U.getValue(),ce=+$.getValue();let de=+Q.getValue();const Ee=Math.floor(+te.getValue());return z<0||W<0||ce<=0||de<=0||Math.floor(de)>Math.floor(ce)||Ee<1||Ee>12?g.create(h.NUM):(de<1&&(de=1),de=Math.floor(de),this._getResult(z,W,ce,de,Ee,b,y))});return o===1&&c===1?C.get(0,0):C}_getResult(e,t,r,n,s,a,o){const c=+(1-(t/e)**(1/r)).toFixed(3),l=e*c*s/12;let f=l,m=0;const d=n===r?r-1:n;for(let C=2;C<=d;C++)m=(e-f)*c,f+=m;let _;return n===1?_=l:n===r?_=(e-f)*c:_=m,Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):a===0&&o===0?R.create(_,We(this.getLocale())):R.create(_)}}class u1 extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5);A(this,"needsLocale",!0)}calculate(e,t,r,n,s){let a=s!=null?s:R.create(2);a.isNull()&&(a=R.create(2));const o=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1),l=O(o,c,e,g.create(h.NA)),f=O(o,c,t,g.create(h.NA)),m=O(o,c,r,g.create(h.NA)),d=O(o,c,n,g.create(h.NA)),_=O(o,c,a,g.create(h.NA)),C=l.map((E,b,y)=>{const p=f.get(b,y),V=m.get(b,y),S=d.get(b,y),D=_.get(b,y),{isError:w,errorObject:L,variants:x}=F(E,p,V,S,D);if(w)return L;const[v,U,$,Q,te]=x,z=+v.getValue(),W=+U.getValue(),ce=+$.getValue(),de=+Q.getValue(),Ee=+te.getValue();if(z<0||W<0||ce<=0||de<=0||de>ce||Ee<=0)return g.create(h.NUM);const ye=Ts(z,W,ce,de,Ee);return Number.isNaN(ye)||!Number.isFinite(ye)?g.create(h.NUM):b===0&&y===0?R.create(ye,We(this.getLocale())):R.create(ye)});return o===1&&c===1?C.get(0,0):C}}class c1 extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=s!=null?s:R.create(0),{isError:o,errorObject:c,variants:l}=G(e,t,r,n,a);if(o)return c;const[f,m,d,_,C]=l,E=Y(f);if(typeof E!="number")return E;const b=Y(m);if(typeof b!="number")return b;const y=+d.getValue(),p=+_.getValue(),V=Math.floor(+C.getValue());if(Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(V))return g.create(h.VALUE);if(y<=0||p<=0||V<0||V>4||Math.floor(E)>=Math.floor(b))return g.create(h.NUM);const{days:S,yearDays:D}=Ce(E,b,V),w=(p-y)/p*(D/S);return R.create(w)}}class l1 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=G(e,t);if(r)return n;const[a,o]=s,c=+a.getValue();let l=Math.floor(+o.getValue());if(Number.isNaN(c)||Number.isNaN(l))return g.create(h.VALUE);if(l<0)return g.create(h.NUM);if(l>=0&&l<1)return g.create(h.DIV_BY_ZERO);l=Number.parseInt(`${l}`,10);let f=Number.parseInt(`${c}`,10);f+=c%1*10**Math.ceil(Math.log(l)/Math.LN10)/l;const m=10**(Math.ceil(Math.log(l)/Math.LN2)+1);return f=Math.round(f*m)/m,R.create(f)}}class f1 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=G(e,t);if(r)return n;const[a,o]=s,c=+a.getValue();let l=Math.floor(+o.getValue());if(Number.isNaN(c)||Number.isNaN(l))return g.create(h.VALUE);if(l<0)return g.create(h.NUM);if(l>=0&&l<1)return g.create(h.DIV_BY_ZERO);l=Number.parseInt(`${l}`,10);let f=Number.parseInt(`${c}`,10);return f+=c%1*10**-Math.ceil(Math.log(l)/Math.LN10)*l,R.create(f)}}class m1 extends N{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=a!=null?a:R.create(0);o.isNull()&&(o=R.create(0));const{isError:c,errorObject:l,variants:f}=Ue(e,t,r,n,s,o);if(c)return l;const[m,d,_,C,E,b]=f,y=Y(m);if(typeof y!="number")return y;const p=Y(d);if(typeof p!="number")return p;const V=+_.getValue(),S=+C.getValue(),D=Math.floor(+E.getValue()),w=Math.floor(+b.getValue());if(Number.isNaN(V)||Number.isNaN(S)||Number.isNaN(D)||Number.isNaN(w))return g.create(h.VALUE);if(V<0||S<0||![1,2,4].includes(D)||w<0||w>4||Math.floor(y)>=Math.floor(p)||y<=0||p<=366)return g.create(h.NUM);const L=Au(y,p,V,S,D,w);return R.create(L)}}class h1 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=G(e,t);if(r)return n;const[a,o]=s,c=+a.getValue();let l=Math.floor(+o.getValue());if(Number.isNaN(c)||Number.isNaN(l))return g.create(h.VALUE);if(c<=0||l<1)return g.create(h.NUM);l=Number.parseInt(`${l}`,10);const f=(1+c/l)**l-1;return R.create(f)}}class g1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5);A(this,"needsLocale",!0)}calculate(e,t,r,n,s){const a=n!=null?n:R.create(0),o=s!=null?s:R.create(0),c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),f=O(c,l,e,g.create(h.NA)),m=O(c,l,t,g.create(h.NA)),d=O(c,l,r,g.create(h.NA)),_=O(c,l,a,g.create(h.NA)),C=O(c,l,o,g.create(h.NA)),E=f.map((b,y,p)=>{const V=m.get(y,p),S=d.get(y,p),D=_.get(y,p),w=C.get(y,p),{isError:L,errorObject:x,variants:v}=F(b,V,S,D,w);if(L)return x;const[U,$,Q,te,z]=v,W=+U.getValue(),ce=+$.getValue(),de=+Q.getValue(),Ee=+te.getValue(),ye=+z.getValue(),ge=Kt(W,ce,de,Ee,ye?1:0);return Number.isNaN(ge)||!Number.isFinite(ge)?g.create(h.NUM):y===0&&p===0?R.create(ge,We(this.getLocale())):R.create(ge)});return c===1&&l===1?E.get(0,0):E}}class d1 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=G(e);if(r)return n;const[a]=s,o=+a.getValue();if(Number.isNaN(o))return g.create(h.VALUE);let c=o;if(t.isArray()){const l=t.getArrayValue().flat();for(let f=0;f<l.length;f++){const m=l[f];if(m.isBoolean())return g.create(h.VALUE);const d=+m.getValue();if(Number.isNaN(d))return g.create(h.VALUE);c*=1+d}}else{if(t.isBoolean())return g.create(h.VALUE);const l=+t.getValue();if(Number.isNaN(l))return g.create(h.VALUE);c*=1+l}return R.create(c)}}class C1 extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=s!=null?s:R.create(0),{isError:o,errorObject:c,variants:l}=G(e,t,r,n,a);if(o)return c;const[f,m,d,_,C]=l,E=Y(f);if(typeof E!="number")return E;const b=Y(m);if(typeof b!="number")return b;const y=+d.getValue(),p=+_.getValue(),V=Math.floor(+C.getValue());if(Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(V))return g.create(h.VALUE);if(y<=0||p<=0||V<0||V>4||Math.floor(E)>=Math.floor(b))return g.create(h.NUM);const{days:S,yearDays:D}=Ce(E,b,V),w=(p-y)/y*(D/S);return R.create(w)}}class _1 extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",6);A(this,"needsLocale",!0)}calculate(e,t,r,n,s,a){const o=s!=null?s:R.create(0),c=a!=null?a:R.create(0),l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,o.isArray()?o.getRowCount():1,c.isArray()?c.getRowCount():1),f=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,o.isArray()?o.getColumnCount():1,c.isArray()?c.getColumnCount():1),m=O(l,f,e,g.create(h.NA)),d=O(l,f,t,g.create(h.NA)),_=O(l,f,r,g.create(h.NA)),C=O(l,f,n,g.create(h.NA)),E=O(l,f,o,g.create(h.NA)),b=O(l,f,c,g.create(h.NA)),y=m.map((p,V,S)=>{const D=d.get(V,S),w=_.get(V,S),L=C.get(V,S),x=E.get(V,S),v=b.get(V,S),{isError:U,errorObject:$,variants:Q}=F(p,D,w,L,x,v);if(U)return $;const[te,z,W,ce,de,Ee]=Q,ye=+te.getValue(),ge=+z.getValue(),xe=+W.getValue(),st=+ce.getValue(),yt=+de.getValue(),Rt=+Ee.getValue();if(ge<1||Math.floor(ge)>Math.ceil(xe))return g.create(h.NUM);const Je=Eu(ye,ge,xe,st,yt,Rt?1:0);return Number.isNaN(Je)||!Number.isFinite(Je)?g.create(h.NUM):V===0&&S===0?R.create(Je,We(this.getLocale())):R.create(Je)});return l===1&&f===1?y.get(0,0):y}}class A1 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){let r=t!=null?t:R.create(.1);return r.isNull()&&(r=R.create(.1)),r.isArray()?r.map((n,s,a)=>this._handleSingleObject(e,n,s,a)):this._handleSingleObject(e,r)}_handleSingleObject(e,t,r=0,n=0){if(e.isError())return e;if(t.isError())return t;if(e.isNull())return g.create(h.VALUE);if(!e.isArray())return g.create(h.NUM);const{_values:s,valuesHasError:a}=this._getValues(e);if(a)return g.create(h.VALUE);let o=t;if(o.isString()&&(o=o.convertToNumberObjectValue(),o.isError()))return o;const c=+o.getValue(),{positive:l,negative:f}=this._checkValues(s);if(!l||!f)return g.create(h.NUM);const m=Va(c,d=>bu(d,s));return typeof m!="number"?m:r===0&&n===0?R.create(m,"0%"):R.create(m)}_getValues(e){const t=[];let r=!1;return e.iterator(n=>{const s=n;if(s.isError())return r=!0,!1;if(s.isNull()||s.isBoolean())return!0;const a=+s.getValue();if(Number.isNaN(a))return!0;t.push(a)}),{_values:t,valuesHasError:r}}_checkValues(e){let t=!1,r=!1;for(let n=0;n<e.length;n++)e[n]>0&&(t=!0),e[n]<0&&(r=!0);return{positive:t,negative:r}}}class E1 extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.map((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C),y=f.get(_,C),{isError:p,errorObject:V,variants:S}=F(d,E,b,y);if(p)return V;const[D,w,L,x]=S,v=+D.getValue(),U=+w.getValue(),$=+L.getValue(),Q=+x.getValue();if($===0)return g.create(h.DIV_BY_ZERO);const te=Q*v*(U/$-1);return R.create(te)});return s===1&&a===1?m.get(0,0):m}}class b1 extends N{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=a!=null?a:R.create(0);o.isNull()&&(o=R.create(0));const{isError:c,errorObject:l,variants:f}=Ue(e,t,r,n,s,o);if(c)return l;const[m,d,_,C,E,b]=f,y=Y(m);if(typeof y!="number")return y;const p=Y(d);if(typeof p!="number")return p;const V=+_.getValue(),S=+C.getValue(),D=Math.floor(+E.getValue()),w=Math.floor(+b.getValue());if(Number.isNaN(V)||Number.isNaN(S)||Number.isNaN(D)||Number.isNaN(w))return g.create(h.VALUE);if(V<0||S<0||![1,2,4].includes(D)||w<0||w>4||Math.floor(y)>=Math.floor(p))return g.create(h.NUM);let L=Au(y,p,V,S,D,w);return L/=1+S/D,R.create(L)}}class y1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{_values:n,numberValues:s,positive:a,negative:o}=this._getValues(e),c=Math.max(t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),l=Math.max(t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),f=O(c,l,t,g.create(h.NA)),m=O(c,l,r,g.create(h.NA)),d=f.map((_,C,E)=>{const b=m.get(C,E);if(e.isError())return e;if(b.isError())return b;if(n.isError())return n;if(!a||!o)return g.create(h.DIV_BY_ZERO);const y=+_.getValue(),p=+b.getValue();if(Number.isNaN(y)||Number.isNaN(p))return g.create(h.VALUE);if(p===-1)return g.create(h.DIV_BY_ZERO);const V=this._getResult(s,y,p);return C===0&&E===0?R.create(V,"0%"):R.create(V)});return c===1&&l===1?d.get(0,0):d}_getValues(e){let t=e,r=[],n=!1,s=!1;if(!e.isError())if(e.isNull())t=g.create(h.VALUE);else if(!e.isArray())t=g.create(h.DIV_BY_ZERO);else{const{numberValues:a,valuesHasError:o,errorObject:c,positive:l,negative:f}=this._checkValues(e);o&&(t=c),r=a,n=l,s=f}return{_values:t,numberValues:r,positive:n,negative:s}}_checkValues(e){const t=[];let r=!1,n=g.create(h.VALUE),s=!1,a=!1;return e.iterator(o=>{const c=o;if(c.isError())return r=!0,n=c,!1;if(c.isNull()||c.isBoolean())return!0;const l=+c.getValue();if(Number.isNaN(l))return!0;l>0&&(s=!0),l<0&&(a=!0),t.push(l)}),{numberValues:t,valuesHasError:r,errorObject:n,positive:s,negative:a}}_getResult(e,t,r){const n=e.length,s=[],a=[];for(let d=0;d<n;d++)e[d]>0?a.push(e[d]):e[d]<0&&s.push(e[d]);const o=this._npv(r,e,"positive"),c=this._npv(t,e,"negative"),l=-o*(1+r)**n,f=c*(1+t);return(l/f)**(1/(n-1))-1}_npv(e,t,r){let n=0;for(let s=1;s<=t.length;s++){const a=t[s-1];(r==="positive"&&a>0||r==="negative"&&a<0)&&(n+=a/(1+e)**s)}return n}}class R1 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=G(e,t);if(r)return n;const[a,o]=s,c=+a.getValue();let l=Math.floor(+o.getValue());if(Number.isNaN(c)||Number.isNaN(l))return g.create(h.VALUE);if(c<=0||l<1)return g.create(h.NUM);l=Number.parseInt(`${l}`,10);const f=((c+1)**(1/l)-1)*l;return R.create(f)}}class p1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=n!=null?n:R.create(0),o=s!=null?s:R.create(0),c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),f=O(c,l,e,g.create(h.NA)),m=O(c,l,t,g.create(h.NA)),d=O(c,l,r,g.create(h.NA)),_=O(c,l,a,g.create(h.NA)),C=O(c,l,o,g.create(h.NA)),E=f.map((b,y,p)=>{const V=m.get(y,p),S=d.get(y,p),D=_.get(y,p),w=C.get(y,p),{isError:L,errorObject:x,variants:v}=F(b,V,S,D,w);if(L)return x;const[U,$,Q,te,z]=v,W=+U.getValue(),ce=+$.getValue(),de=+Q.getValue(),Ee=+te.getValue();let ye=+z.getValue();if(ye=ye?1:0,W===0&&ce===0)return g.create(h.DIV_BY_ZERO);let ge;if(W===0)ge=-(de+Ee)/ce;else{const xe=ce*(1+W*ye)-Ee*W,st=de*W+ce*(1+W*ye);ge=Math.log(xe/st)/Math.log(1+W)}return Number.isNaN(ge)||!Number.isFinite(ge)?g.create(h.NUM):R.create(ge)});return c===1&&l===1?E.get(0,0):E}}class N1 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255);A(this,"needsLocale",!0)}calculate(e,...t){if(e.isError())return e;const{isError:r,errorObject:n,values:s}=this._getValues(t);return e.isArray()?e.map((a,o,c)=>this._handleSingleObject(a,r,n,s,o,c)):this._handleSingleObject(e,r,n,s)}_handleSingleObject(e,t,r,n,s=0,a=0){let o=e;if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return o;if(t)return r;const c=+e.getValue(),l=bu(c,n);return Number.isNaN(l)||Math.abs(l)===1/0?g.create(h.DIV_BY_ZERO):s===0&&a===0?R.create(l,We(this.getLocale())):R.create(l)}_getValues(e){const t=[];for(let r=0;r<e.length;r++){const n=e[r];if(n.isError())return{isError:!0,errorObject:n};if(n.isArray()){let s=!1,a=g.create(h.VALUE);if(n.iterator(o=>{const c=o;if(c.isError())return s=!0,a=c,!1;if(c.isNull()||c.isBoolean())return!0;const l=+c.getValue();if(Number.isNaN(l))return!0;t.push(l)}),s)return{isError:s,errorObject:a}}else{const s=+n.getValue();if(Number.isNaN(s))return{isError:!0,errorObject:g.create(h.VALUE)};t.push(s)}}return{isError:!1,values:t}}}class V1 extends N{constructor(){super(...arguments);A(this,"minParams",8);A(this,"maxParams",9)}calculate(e,t,r,n,s,a,o,c,l){let f=l!=null?l:R.create(0);f.isNull()&&(f=R.create(0));const{isError:m,errorObject:d,variants:_}=Ue(e,t,r,n,s,a,o,c,f);if(m)return d;const[C,E,b,y,p,V,S,D,w]=_,L=Y(C);if(typeof L!="number")return L;const x=Y(E);if(typeof x!="number")return x;const v=Y(b);if(typeof v!="number")return v;const U=Y(y);if(typeof U!="number")return U;const $=+p.getValue(),Q=+V.getValue(),te=+S.getValue(),z=Math.floor(+D.getValue()),W=Math.floor(+w.getValue());if(Number.isNaN($)||Number.isNaN(Q)||Number.isNaN(te)||Number.isNaN(z)||Number.isNaN(W))return g.create(h.VALUE);if($<0||Q<0||te<=0||![1,2,4].includes(z)||W<0||W>4||!this._validDate(x,U,L,v,z))return g.create(h.NUM);const ce=yu(L,x,v,U,$,Q,te,z,W);return R.create(ce)}_validDate(e,t,r,n,s){return this._getDateCorrectOrder(e,t,r,n)&&Ru(e,t,s)&&fr(n,e,s)}_getDateCorrectOrder(e,t,r,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)&&Math.floor(r)>Math.floor(n)}}class O1 extends N{constructor(){super(...arguments);A(this,"minParams",8);A(this,"maxParams",9)}calculate(e,t,r,n,s,a,o,c,l){let f=l!=null?l:R.create(0);f.isNull()&&(f=R.create(0));const{isError:m,errorObject:d,variants:_}=Ue(e,t,r,n,s,a,o,c,f);if(m)return d;const[C,E,b,y,p,V,S,D,w]=_,L=Y(C);if(typeof L!="number")return L;const x=Y(E);if(typeof x!="number")return x;const v=Y(b);if(typeof v!="number")return v;const U=Y(y);if(typeof U!="number")return U;const $=+p.getValue(),Q=+V.getValue(),te=+S.getValue(),z=Math.floor(+D.getValue()),W=Math.floor(+w.getValue());return Number.isNaN($)||Number.isNaN(Q)||Number.isNaN(te)||Number.isNaN(z)||Number.isNaN(W)?g.create(h.VALUE):$<0||Q<=0||te<=0||![1,2,4].includes(z)||W<0||W>4||!this._validDate(x,U,L,v,z)?g.create(h.NUM):this._getResult(L,x,v,U,$,Q,te,z,W)}_validDate(e,t,r,n,s){return this._getDateCorrectOrder(e,t,r,n)&&Ru(e,t,s)&&fr(n,e,s)}_getDateCorrectOrder(e,t,r,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)&&Math.floor(r)>Math.floor(n)}_getResult(e,t,r,n,s,a,o,c,l){const{days:f}=Ce(e,t,l),m=(s*f*100-(a-100))/((a-100)*.25*(1+2*f)+f*100);function d(C){return a-yu(e,t,r,n,s,C,o,c,l)}const _=Va(m,C=>d(C));return typeof _!="number"?_:R.create(_)}}class M1 extends N{constructor(){super(...arguments);A(this,"minParams",7);A(this,"maxParams",8)}calculate(e,t,r,n,s,a,o,c){let l=c!=null?c:R.create(0);l.isNull()&&(l=R.create(0));const{isError:f,errorObject:m,variants:d}=Ue(e,t,r,n,s,a,o,l);if(f)return m;const[_,C,E,b,y,p,V,S]=d,D=Y(_);if(typeof D!="number")return D;const w=Y(C);if(typeof w!="number")return w;const L=Y(E);if(typeof L!="number")return L;const x=+b.getValue(),v=+y.getValue(),U=+p.getValue(),$=Math.floor(+V.getValue()),Q=Math.floor(+S.getValue());if(Number.isNaN(x)||Number.isNaN(v)||Number.isNaN(U)||Number.isNaN($)||Number.isNaN(Q))return g.create(h.VALUE);if(x<0||v<0||U<=0||![1,2,4].includes($)||Q<0||Q>4||!this._validDate(w,D,L,$))return g.create(h.NUM);const te=this._getResult(D,w,L,x,v,U,$,Q);return R.create(te)}_validDate(e,t,r,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)&&fr(r,e,n)}_getResult(e,t,r,n,s,a,o,c){const l=this._getCoupDate(t,r,o),f=this._getFrac(r,e,l,o,c),m=this._getFrac(r,t,l,o,c),d=this._getFrac(e,t,l,o,c);return(a*o+100*n*(m-f*(1+s*d/o)))/(s*d+o)}_getCoupDate(e,t,r){const n=ne(e),s=ne(t);for(s.setUTCFullYear(n.getUTCFullYear()),s>n&&s.setUTCFullYear(s.getUTCFullYear()-1);s<n;)s.setUTCMonth(s.getUTCMonth()+12/r);return be(s)}_getFrac(e,t,r,n,s){const a=ne(e),o=ne(t),c=ne(r);for(c.setUTCFullYear(a.getUTCFullYear()),c<a&&c.setUTCFullYear(c.getUTCFullYear()+1);c>a;)c.setUTCMonth(c.getUTCMonth()-12/n);let l=be(c);c.setUTCMonth(c.getUTCMonth()+12/n);let f=be(c);if(f>=t){const{days:p}=Ce(e,t,s),V=Ge(l,f,n,s);return p/V}const{days:m}=Ce(e,f,s),d=Ge(l,f,n,s);let _=m/d;const C=ne(f),E=ne(f);for(E.setUTCMonth(E.getUTCMonth()+12/n);E<o;)C.setUTCMonth(C.getUTCMonth()+12/n),E.setUTCMonth(E.getUTCMonth()+12/n),_+=1;l=be(C),f=be(E);const{days:b}=Ce(l,t,s),y=Ge(l,f,n,s);return _+=b/y,_}}class S1 extends N{constructor(){super(...arguments);A(this,"minParams",8);A(this,"maxParams",9)}calculate(e,t,r,n,s,a,o,c){let l=c!=null?c:R.create(0);l.isNull()&&(l=R.create(0));const{isError:f,errorObject:m,variants:d}=Ue(e,t,r,n,s,a,o,l);if(f)return m;const[_,C,E,b,y,p,V,S]=d,D=Y(_);if(typeof D!="number")return D;const w=Y(C);if(typeof w!="number")return w;const L=Y(E);if(typeof L!="number")return L;const x=+b.getValue(),v=+y.getValue(),U=+p.getValue(),$=Math.floor(+V.getValue()),Q=Math.floor(+S.getValue());if(Number.isNaN(x)||Number.isNaN(v)||Number.isNaN(U)||Number.isNaN($)||Number.isNaN(Q))return g.create(h.VALUE);if(x<0||v<=0||U<=0||![1,2,4].includes($)||Q<0||Q>4||!this._validDate(w,D,L,$))return g.create(h.NUM);const te=this._getResult(D,w,L,x,v,U,$,Q);return R.create(te)}_validDate(e,t,r,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)&&fr(r,e,n)}_getResult(e,t,r,n,s,a,o,c){const l=this._getCoupDate(t,r,o),f=this._getFrac(r,e,l,o,c),m=this._getFrac(r,t,l,o,c),d=this._getFrac(e,t,l,o,c);return(o*(a-s)+100*n*(m-f))/(d*s+100*n*f*d/o)}_getCoupDate(e,t,r){const n=ne(e),s=ne(t);for(s.setUTCFullYear(n.getUTCFullYear()),s>n&&s.setUTCFullYear(s.getUTCFullYear()-1);s<n;)s.setUTCMonth(s.getUTCMonth()+12/r);return be(s)}_getFrac(e,t,r,n,s){const a=ne(e),o=ne(t),c=ne(r);for(c.setUTCFullYear(a.getUTCFullYear()),c<a&&c.setUTCFullYear(c.getUTCFullYear()+1);c>a;)c.setUTCMonth(c.getUTCMonth()-12/n);let l=be(c);c.setUTCMonth(c.getUTCMonth()+12/n);let f=be(c);if(f>=t){const{days:p}=Ce(e,t,s),V=Ge(l,f,n,s);return p/V}const{days:m}=Ce(e,f,s),d=Ge(l,f,n,s);let _=m/d;const C=ne(f),E=ne(f);for(E.setUTCMonth(E.getUTCMonth()+12/n);E<o;)C.setUTCMonth(C.getUTCMonth()+12/n),E.setUTCMonth(E.getUTCMonth()+12/n),_+=1;l=be(C),f=be(E);const{days:b}=Ce(l,t,s),y=Ge(l,f,n,s);return _+=b/y,_}}class D1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.map((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d),{isError:E,errorObject:b,variants:y}=F(f,_,C);if(E)return b;const[p,V,S]=y,D=+p.getValue(),w=+V.getValue(),L=+S.getValue();if(D<=-1)return g.create(h.NUM);const x=(Math.log(L)-Math.log(w))/Math.log(1+D);return Number.isNaN(x)||!Number.isFinite(x)?g.create(h.NUM):R.create(x)});return n===1&&s===1?l.get(0,0):l}}class w1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5);A(this,"needsLocale",!0)}calculate(e,t,r,n,s){const a=n!=null?n:R.create(0),o=s!=null?s:R.create(0),c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),f=O(c,l,e,g.create(h.NA)),m=O(c,l,t,g.create(h.NA)),d=O(c,l,r,g.create(h.NA)),_=O(c,l,a,g.create(h.NA)),C=O(c,l,o,g.create(h.NA)),E=f.map((b,y,p)=>{const V=m.get(y,p),S=d.get(y,p),D=_.get(y,p),w=C.get(y,p),{isError:L,errorObject:x,variants:v}=F(b,V,S,D,w);if(L)return x;const[U,$,Q,te,z]=v,W=+U.getValue(),ce=+$.getValue(),de=+Q.getValue(),Ee=+te.getValue(),ye=+z.getValue();if(W<=-1)return g.create(h.NUM);const ge=Ur(W,ce,de,Ee,ye?1:0);return Number.isNaN(ge)||!Number.isFinite(ge)?g.create(h.NUM):y===0&&p===0?R.create(ge,We(this.getLocale())):R.create(ge)});return c===1&&l===1?E.get(0,0):E}}class L1 extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",6);A(this,"needsLocale",!0)}calculate(e,t,r,n,s,a){const o=s!=null?s:R.create(0),c=a!=null?a:R.create(0),l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,o.isArray()?o.getRowCount():1,c.isArray()?c.getRowCount():1),f=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,o.isArray()?o.getColumnCount():1,c.isArray()?c.getColumnCount():1),m=O(l,f,e,g.create(h.NA)),d=O(l,f,t,g.create(h.NA)),_=O(l,f,r,g.create(h.NA)),C=O(l,f,n,g.create(h.NA)),E=O(l,f,o,g.create(h.NA)),b=O(l,f,c,g.create(h.NA)),y=m.map((p,V,S)=>{const D=d.get(V,S),w=_.get(V,S),L=C.get(V,S),x=E.get(V,S),v=b.get(V,S),{isError:U,errorObject:$,variants:Q}=F(p,D,w,L,x,v);if(U)return $;const[te,z,W,ce,de,Ee]=Q,ye=+te.getValue(),ge=+z.getValue(),xe=+W.getValue(),st=+ce.getValue(),yt=+de.getValue(),Rt=+Ee.getValue();if(ge<1||Math.floor(ge)>Math.ceil(xe)||ge-xe>=1)return g.create(h.NUM);const Je=Ur(ye,xe,st,yt,Rt?1:0)-Eu(ye,ge,xe,st,yt,Rt?1:0);return Number.isNaN(Je)||!Number.isFinite(Je)?g.create(h.NUM):V===0&&S===0?R.create(Je,We(this.getLocale())):R.create(Je)});return l===1&&f===1?y.get(0,0):y}}class x1 extends N{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",7)}calculate(e,t,r,n,s,a,o){let c=o!=null?o:R.create(0);c.isNull()&&(c=R.create(0));const{isError:l,errorObject:f,variants:m}=Ue(e,t,r,n,s,a,c);if(l)return f;const[d,_,C,E,b,y,p]=m,V=Y(d);if(typeof V!="number")return V;const S=Y(_);if(typeof S!="number")return S;const D=+C.getValue(),w=+E.getValue(),L=+b.getValue(),x=Math.floor(+y.getValue()),v=Math.floor(+p.getValue());if(Number.isNaN(D)||Number.isNaN(w)||Number.isNaN(L)||Number.isNaN(x)||Number.isNaN(v))return g.create(h.VALUE);if(D<0||w<0||L<=0||![1,2,4].includes(x)||v<0||v>4||V>=S||!fr(V,S,x))return g.create(h.NUM);const U=Jr(V,S,D,w,L,x,v);return R.create(U)}}class P1 extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){let a=s!=null?s:R.create(0);a.isNull()&&(a=R.create(0));const{isError:o,errorObject:c,variants:l}=Ue(e,t,r,n,a);if(o)return c;const[f,m,d,_,C]=l,E=Y(f);if(typeof E!="number")return E;const b=Y(m);if(typeof b!="number")return b;const y=+d.getValue(),p=+_.getValue(),V=Math.floor(+C.getValue());if(Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(V))return g.create(h.VALUE);if(y<=0||p<=0||V<0||V>4||E>=b)return g.create(h.NUM);const{days:S,yearDays:D}=Ce(E,b,V),w=p-y*p*S/D;return R.create(w)}}class j1 extends N{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=a!=null?a:R.create(0);o.isNull()&&(o=R.create(0));const{isError:c,errorObject:l,variants:f}=Ue(e,t,r,n,s,o);if(c)return l;const[m,d,_,C,E,b]=f,y=Y(m);if(typeof y!="number")return y;const p=Y(d);if(typeof p!="number")return p;const V=Y(_);if(typeof V!="number")return V;const S=+C.getValue(),D=+E.getValue(),w=Math.floor(+b.getValue());if(Number.isNaN(S)||Number.isNaN(D)||Number.isNaN(w))return g.create(h.VALUE);const L=this._getDateCorrectOrder(p,y,V);if(S<0||D<0||w<0||w>4||!L)return g.create(h.NUM);const x=gu(y,w),{days:v}=Ce(y,p,w),{days:U}=Ce(V,p,w),{days:$}=Ce(V,y,w),Q=(100+U/x*S*100)/(1+v/x*D)-$/x*S*100;return R.create(Q)}_getDateCorrectOrder(e,t,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)}}class U1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5);A(this,"needsLocale",!0)}calculate(e,t,r,n,s){const a=n!=null?n:R.create(0),o=s!=null?s:R.create(0),c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),f=O(c,l,e,g.create(h.NA)),m=O(c,l,t,g.create(h.NA)),d=O(c,l,r,g.create(h.NA)),_=O(c,l,a,g.create(h.NA)),C=O(c,l,o,g.create(h.NA)),E=f.map((b,y,p)=>{const V=m.get(y,p),S=d.get(y,p),D=_.get(y,p),w=C.get(y,p),{isError:L,errorObject:x,variants:v}=F(b,V,S,D,w);if(L)return x;const[U,$,Q,te,z]=v,W=+U.getValue(),ce=+$.getValue(),de=+Q.getValue(),Ee=+te.getValue();let ye=+z.getValue();ye=ye?1:0;const ge=W===0?-de*ce-Ee:((1-(1+W)**ce)/W*de*(1+W*ye)-Ee)/(1+W)**ce;return Number.isNaN(ge)||!Number.isFinite(ge)?g.create(h.NUM):y===0&&p===0?R.create(ge,We(this.getLocale())):R.create(ge)});return c===1&&l===1?E.get(0,0):E}}class v1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){const o=n!=null?n:R.create(0),c=s!=null?s:R.create(0),l=a!=null?a:R.create(.1),f=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,o.isArray()?o.getRowCount():1,c.isArray()?c.getRowCount():1,l.isArray()?l.getRowCount():1),m=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,o.isArray()?o.getColumnCount():1,c.isArray()?c.getColumnCount():1,l.isArray()?l.getColumnCount():1),d=O(f,m,e,g.create(h.NA)),_=O(f,m,t,g.create(h.NA)),C=O(f,m,r,g.create(h.NA)),E=O(f,m,o,g.create(h.NA)),b=O(f,m,c,g.create(h.NA)),y=O(f,m,l,g.create(h.NA)),p=d.map((V,S,D)=>{const w=_.get(S,D),L=C.get(S,D),x=E.get(S,D),v=b.get(S,D),U=y.get(S,D),{isError:$,errorObject:Q,variants:te}=F(V,w,L,x,v,U);if($)return Q;const[z,W,ce,de,Ee,ye]=te,ge=+z.getValue(),xe=+W.getValue(),st=+ce.getValue(),yt=+de.getValue();let Rt=+Ee.getValue();const Je=+ye.getValue();return Rt=Rt?1:0,ge<=0||xe>=0&&st>=0&&yt>=0||xe<=0&&st<=0&&yt<=0?g.create(h.NUM):this._getResult(ge,xe,st,yt,Rt,Je,S,D)});return f===1&&m===1?p.get(0,0):p}_getResult(e,t,r,n,s,a,o,c){let m=a;for(let d=0;d<20;d++){if(m<=-1)return g.create(h.NUM);let _,C;if(Math.abs(m)<1e-10?_=r*(1+e*m)+t*(1+m*s)*e+n:(C=(1+m)**e,_=r*C+t*(1/m+s)*(C-1)+n),Math.abs(_)<1e-10)break;let E;if(Math.abs(m)<1e-10)E=r*e+t*s*e;else{C=(1+m)**e;const b=e*(1+m)**(e-1);E=r*b+t*(1/m+s)*b+t*(-1/(m*m))*(C-1)}m-=_/E}return o===0&&c===0?R.create(m,"0%"):R.create(m)}}class T1 extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){let a=s!=null?s:R.create(0);a.isNull()&&(a=R.create(0));const{isError:o,errorObject:c,variants:l}=Ue(e,t,r,n,a);if(o)return c;const[f,m,d,_,C]=l,E=Y(f);if(typeof E!="number")return E;const b=Y(m);if(typeof b!="number")return b;const y=+d.getValue(),p=+_.getValue(),V=Math.floor(+C.getValue());if(Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(V))return g.create(h.VALUE);if(y<=0||p<=0||V<0||V>4||E>=b)return g.create(h.NUM);const{days:S,yearDays:D}=Ce(E,b,V),w=y/(1-p*S/D);return w<0?g.create(h.NUM):R.create(w)}}class I1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",6)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.map((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d),{isError:E,errorObject:b,variants:y}=F(f,_,C);if(E)return b;const[p,V,S]=y,D=+p.getValue(),w=+V.getValue(),L=+S.getValue();if(D<=0)return g.create(h.NUM);if(w===0&&L===0)return R.create(0);const x=(L/w)**(1/D)-1;return Number.isNaN(x)||!Number.isFinite(x)||L/w<0?g.create(h.NUM):R.create(x)});return n===1&&s===1?l.get(0,0):l}}class F1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3);A(this,"needsLocale",!0)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.map((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);if(_.isError())return _;if(C.isError())return C;const E=+f.getValue(),b=+_.getValue(),y=+C.getValue();if(Number.isNaN(E)||Number.isNaN(b)||Number.isNaN(y))return g.create(h.VALUE);if(y===0)return g.create(h.DIV_BY_ZERO);const p=(E-b)/y;return m===0&&d===0?R.create(p,We(this.getLocale())):R.create(p)});return n===1&&s===1?l.get(0,0):l}}class B1 extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4);A(this,"needsLocale",!0)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.map((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C),y=f.get(_,C);if(E.isError())return E;if(b.isError())return b;if(y.isError())return y;const p=+d.getValue(),V=+E.getValue(),S=+b.getValue(),D=+y.getValue();if(Number.isNaN(p)||Number.isNaN(V)||Number.isNaN(S)||Number.isNaN(D))return g.create(h.VALUE);if(V<0||S<=0||D>S)return g.create(h.NUM);const w=(p-V)*(S-D+1)*2/(S*(S+1));return _===0&&C===0?R.create(w,We(this.getLocale())):R.create(w)});return s===1&&a===1?m.get(0,0):m}}class k1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,variants:a}=Ue(e,t,r);if(n)return s;const[o,c,l]=a,f=Y(o);if(typeof f!="number")return f;const m=Y(c);if(typeof m!="number")return m;const d=+l.getValue();if(Number.isNaN(d))return g.create(h.VALUE);if(d<=0||f>=m)return g.create(h.NUM);const _=Math.floor(m)-Math.floor(f),E=ne(f).getUTCFullYear(),b=Zn(E);if(_>b)return g.create(h.NUM);let y=365*d/(360-d*_);if(_>182){const p=100*(1-d*_/360),V=_/365;if(y=(-V+Math.sqrt(V*V-(V*2-1)*(1-100/p)))/(V-.5),Number.isNaN(y))return g.create(h.NUM)}return y<0?g.create(h.NUM):R.create(y)}}class $1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3);A(this,"needsLocale",!0)}calculate(e,t,r){const{isError:n,errorObject:s,variants:a}=Ue(e,t,r);if(n)return s;const[o,c,l]=a,f=Y(o);if(typeof f!="number")return f;const m=Y(c);if(typeof m!="number")return m;const d=+l.getValue();if(Number.isNaN(d))return g.create(h.VALUE);if(d<=0||f>=m)return g.create(h.NUM);const _=Math.floor(m)-Math.floor(f),E=ne(f).getUTCFullYear(),b=Zn(E);if(_>b)return g.create(h.NUM);const y=100*(1-d*_/360);return y<0?g.create(h.NUM):R.create(y,We(this.getLocale()))}}class Y1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,variants:a}=Ue(e,t,r);if(n)return s;const[o,c,l]=a,f=Y(o);if(typeof f!="number")return f;const m=Y(c);if(typeof m!="number")return m;const d=+l.getValue();if(Number.isNaN(d))return g.create(h.VALUE);if(d<=0||f>=m)return g.create(h.NUM);const _=Math.floor(m)-Math.floor(f),E=ne(f).getUTCFullYear(),b=Zn(E);if(_>b)return g.create(h.NUM);const y=(100-d)/d*360/_;return R.create(y)}}class H1 extends N{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",7);A(this,"needsLocale",!0)}calculate(e,t,r,n,s,a,o){let c=a!=null?a:R.create(2);c.isNull()&&(c=R.create(2));let l=o!=null?o:I.create(!1);l.isNull()&&(l=I.create(!1));const f=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1,c.isArray()?c.getRowCount():1,l.isArray()?l.getRowCount():1),m=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1,c.isArray()?c.getColumnCount():1,l.isArray()?l.getColumnCount():1),d=O(f,m,e,g.create(h.NA)),_=O(f,m,t,g.create(h.NA)),C=O(f,m,r,g.create(h.NA)),E=O(f,m,n,g.create(h.NA)),b=O(f,m,s,g.create(h.NA)),y=O(f,m,c,g.create(h.NA)),p=O(f,m,l,g.create(h.NA));return this._getResultArray(d,_,C,E,b,y,p,f,m)}_getResultArray(e,t,r,n,s,a,o,c,l){const f=e.map((m,d,_)=>{const C=t.get(d,_),E=r.get(d,_),b=n.get(d,_),y=s.get(d,_),p=a.get(d,_),V=o.get(d,_),{isError:S,errorObject:D,variants:w}=F(m,C,E,b,y,p,V);if(S)return D;const[L,x,v,U,$,Q,te]=w,z=+L.getValue(),W=+x.getValue(),ce=+v.getValue(),de=+U.getValue(),Ee=+$.getValue(),ye=+Q.getValue(),ge=+te.getValue();if(z<0||W<0||ce<0||de<0||Ee<0||Ee>ce||de>Ee||ye<0)return g.create(h.NUM);if(ce===0&&de===0&&Ee===0)return g.create(h.DIV_BY_ZERO);const xe=this._getResult(z,W,ce,de,Ee,ye,ge);return d===0&&_===0?R.create(xe,We(this.getLocale())):R.create(xe)});return c===1&&l===1?f.get(0,0):f}_getResult(e,t,r,n,s,a,o){const c=Math.floor(n),l=Math.ceil(s);let f=0;if(e<t){if(n>=1||o)return f;const m=Math.abs(e-t);return f=m*(s-n)>m?m:m*(s-n),-f}if(o)for(let m=c+1;m<=l;m++){let d=Ts(e,t,r,m,a);m===c+1?d*=Math.min(s,c+1)-n:m===l&&(d*=s+1-l),f+=d}else{const m=e-this._getVdb(e,t,r,r,n,a);f=this._getVdb(m,t,r,r-n,s-n,a)}return f}_getVdb(e,t,r,n,s,a){const o=Math.ceil(s);let c=0,l=e-t,f=0,m=0,d=!1;for(let _=1;_<=o;_++){if(d)m=f;else{const C=Ts(e,t,r,_,a);f=l/(n-(_-1)),f>C?(m=f,d=!0):(m=C,l-=C)}_===o&&(m*=s+1-o),c+=m}return c}}class G1 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:n,errorObejct:s,_values:a,_dates:o}=this._checkErrors(e,t);if(n)return s;let c=r!=null?r:R.create(.1);c.isNull()&&(c=R.create(.1));const{isError:l,errorObject:f,variants:m}=G(c);if(l)return f;const[d]=m,_=+d.getValue();if(Number.isNaN(_))return g.create(h.VALUE);const{positive:C,negative:E}=this._checkValues(a);if(!C||!E||(a==null?void 0:a.length)!==(o==null?void 0:o.length)||_<0)return g.create(h.NUM);const b=Va(_,y=>this._iterF(a,o,y));return typeof b!="number"?b:R.create(b)}_checkErrors(e,t){if(e.isError())return{isError:!0,errorObejct:e};if(t.isError())return{isError:!0,errorObejct:t};const{isError:r,errorObejct:n,_values:s}=this._checkErrorValues(e);if(r)return{isError:r,errorObejct:n};const{isError:a,errorObejct:o,_dates:c}=this._checkErrorDates(t);return a?{isError:a,errorObejct:o}:{isError:!1,_values:s,_dates:c}}_checkErrorValues(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);return e.iterator(s=>{const a=s;if(a.isError())return r=!0,n=a,!1;if(a.isBoolean())return r=!0,n=g.create(h.VALUE),!1;const o=+a.getValue();if(Number.isNaN(o))return r=!0,n=g.create(h.VALUE),!1;t.push(o)}),r?{isError:r,errorObejct:n}:t.length<=1?{isError:!0,errorObejct:g.create(h.NA)}:{isError:r,_values:t}}else{const r=e.getValue();return e.isBoolean()||e.isString()&&!M.isRealNum(r)?{isError:!0,errorObejct:g.create(h.VALUE)}:{isError:!0,errorObejct:g.create(h.NA)}}}_checkErrorDates(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);return e.iterator(s=>{if(s!=null&&s.isError())return r=!0,n=s,!1;if(s!=null&&s.isBoolean())return r=!0,n=g.create(h.VALUE),!1;const a=+s.getValue();if(Number.isNaN(a))return r=!0,n=g.create(h.VALUE),!1;if(a<0)return r=!0,n=g.create(h.NUM),!1;t.push(Math.floor(a))}),r?{isError:r,errorObejct:n}:t.length<=1?{isError:!0,errorObejct:g.create(h.NA)}:{isError:r,_dates:t}}else{const r=e.getValue();return e.isBoolean()||e.isString()&&!M.isRealNum(r)?{isError:!0,errorObejct:g.create(h.VALUE)}:+r<0?{isError:!0,errorObejct:g.create(h.NUM)}:{isError:!0,errorObejct:g.create(h.NA)}}}_checkValues(e){let t=!1,r=!1;for(let n=0;n<e.length;n++)e[n]>0&&(t=!0),e[n]<0&&(r=!0);return{positive:t,negative:r}}_iterF(e,t,r){return e.reduce((n,s,a)=>n+s/(1+r)**((t[a]-t[0])/365),0)}}class W1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){if(e.isNull()||t.isNull()||r.isNull())return g.create(h.NA);const{isError:n,errorObject:s,variants:a}=G(e);if(n)return s;const[o]=a,c=+o.getValue();if(Number.isNaN(c))return g.create(h.VALUE);let{isError:l,errorObejct:f,_values:m,_dates:d}=this._checkErrors(t,r);if(l)return f;if(m=m,d=d,c<0||m.length!==d.length)return g.create(h.NUM);let _=0;const C=d[0];for(let E=0;E<d.length;E++){const b=d[E],y=m[E];_+=y/(1+c)**((b-C)/365)}return R.create(_)}_checkErrors(e,t){if(e.isError())return{isError:!0,errorObejct:e};if(t.isError())return{isError:!0,errorObejct:t};const{isError:r,errorObejct:n,_values:s}=this._checkErrorValues(e);if(r)return{isError:r,errorObejct:n};const{isError:a,errorObejct:o,_dates:c}=this._checkErrorDates(t);return a?{isError:a,errorObejct:o}:{isError:!1,_values:s,_dates:c}}_checkErrorValues(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);return e.iterator(s=>{const a=s;if(a.isError())return r=!0,n=a,!1;if(a.isNull()||a.isBoolean())return r=!0,n=g.create(h.VALUE),!1;const o=+a.getValue();if(Number.isNaN(o))return r=!0,n=g.create(h.VALUE),!1;t.push(o)}),r?{isError:r,errorObejct:n}:{isError:r,_values:t}}else{if(e.isError())return{isError:!0,errorObejct:e};if(e.isNull()||e.isBoolean())return{isError:!0,errorObejct:g.create(h.VALUE)};const r=+e.getValue();return Number.isNaN(r)?{isError:!0,errorObejct:g.create(h.VALUE)}:{isError:!1,_values:[r]}}}_checkErrorDates(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);return e.iterator(s=>{const a=s;if(a.isError())return r=!0,n=a,!1;if(a.isNull()||a.isBoolean())return r=!0,n=g.create(h.VALUE),!1;const o=+a.getValue();if(Number.isNaN(o))return r=!0,n=g.create(h.VALUE),!1;if(o<0)return r=!0,n=g.create(h.NUM),!1;t.push(Math.floor(o))}),r?{isError:r,errorObejct:n}:{isError:r,_dates:t}}else{if(e.isError())return{isError:!0,errorObejct:e};if(e.isNull()||e.isBoolean())return{isError:!0,errorObejct:g.create(h.VALUE)};const r=+e.getValue();return Number.isNaN(r)?{isError:!0,errorObejct:g.create(h.VALUE)}:+r<0?{isError:!0,errorObejct:g.create(h.NUM)}:{isError:!1,_dates:[Math.floor(r)]}}}}class Q1 extends N{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",7)}calculate(e,t,r,n,s,a,o){let c=o!=null?o:R.create(0);c.isNull()&&(c=R.create(0));const{isError:l,errorObject:f,variants:m}=Ue(e,t,r,n,s,a,c);if(l)return f;const[d,_,C,E,b,y,p]=m,V=Y(d);if(typeof V!="number")return V;const S=Y(_);if(typeof S!="number")return S;const D=+C.getValue(),w=+E.getValue(),L=+b.getValue(),x=Math.floor(+y.getValue()),v=Math.floor(+p.getValue());if(Number.isNaN(D)||Number.isNaN(w)||Number.isNaN(L)||Number.isNaN(x)||Number.isNaN(v))return g.create(h.VALUE);if(D<0||w<=0||L<=0||![1,2,4].includes(x)||v<0||v>4||V>=S||!fr(V,S,x))return g.create(h.NUM);const U=this._getResult(V,S,D,w,L,x,v);return R.create(U)}_getResult(e,t,r,n,s,a,o){if(qt(e,t,a)>1){let E=r||.01,b=Jr(e,t,r,E,s,a,o),y=b-n;for(let p=0;p<100&&Math.abs(y)>1e-7;p++)b=Jr(e,t,r,1.01*E,s,a,o),E+=-y/(b-n-y)*E*.01,y=Jr(e,t,r,E,s,a,o)-n;return E}const l=zn(e,t,a,o),f=Ge(e,t,a,o),{days:m}=Ce(e,t,o),d=n/100+l/f*r/a;return(s/100+r/a-d)/d*a*f/m}}class q1 extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){let a=s!=null?s:R.create(0);a.isNull()&&(a=R.create(0));const{isError:o,errorObject:c,variants:l}=Ue(e,t,r,n,a);if(o)return c;const[f,m,d,_,C]=l,E=Y(f);if(typeof E!="number")return E;const b=Y(m);if(typeof b!="number")return b;const y=+d.getValue(),p=+_.getValue(),V=Math.floor(+C.getValue());if(Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(V))return g.create(h.VALUE);if(y<=0||p<=0||V<0||V>4||E>=b)return g.create(h.NUM);const{days:S,yearDays:D}=Ce(E,b,V),w=(p/y-1)/(S/D);return R.create(w)}}class K1 extends N{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=a!=null?a:R.create(0);o.isNull()&&(o=R.create(0));const{isError:c,errorObject:l,variants:f}=Ue(e,t,r,n,s,o);if(c)return l;const[m,d,_,C,E,b]=f,y=Y(m);if(typeof y!="number")return y;const p=Y(d);if(typeof p!="number")return p;const V=Y(_);if(typeof V!="number")return V;const S=+C.getValue(),D=+E.getValue(),w=Math.floor(+b.getValue());if(Number.isNaN(S)||Number.isNaN(D)||Number.isNaN(w))return g.create(h.VALUE);const L=this._getDateCorrectOrder(p,y,V);if(S<0||D<=0||w<0||w>4||!L)return g.create(h.NUM);const x=gu(y,w),{days:v}=Ce(y,p,w),{days:U}=Ce(V,p,w),{days:$}=Ce(V,y,w),Q=((1+U/x*S)/(D/100+$/x*S)-1)/(v/x);return R.create(Q)}_getDateCorrectOrder(e,t,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)}}const pu=[[Xg,J.ACCRINT],[Zg,J.ACCRINTM],[zg,J.AMORLINC],[Jg,J.COUPDAYBS],[e1,J.COUPDAYS],[t1,J.COUPDAYSNC],[r1,J.COUPNCD],[n1,J.COUPNUM],[s1,J.COUPPCD],[a1,J.CUMIPMT],[i1,J.CUMPRINC],[o1,J.DB],[u1,J.DDB],[c1,J.DISC],[l1,J.DOLLARDE],[f1,J.DOLLARFR],[m1,J.DURATION],[h1,J.EFFECT],[g1,J.FV],[d1,J.FVSCHEDULE],[C1,J.INTRATE],[_1,J.IPMT],[A1,J.IRR],[E1,J.ISPMT],[b1,J.MDURATION],[y1,J.MIRR],[R1,J.NOMINAL],[p1,J.NPER],[N1,J.NPV],[V1,J.ODDFPRICE],[O1,J.ODDFYIELD],[M1,J.ODDLPRICE],[S1,J.ODDLYIELD],[D1,J.PDURATION],[w1,J.PMT],[L1,J.PPMT],[x1,J.PRICE],[P1,J.PRICEDISC],[j1,J.PRICEMAT],[U1,J.PV],[v1,J.RATE],[T1,J.RECEIVED],[I1,J.RRI],[F1,J.SLN],[B1,J.SYD],[k1,J.TBILLEQ],[$1,J.TBILLPRICE],[Y1,J.TBILLYIELD],[H1,J.VDB],[G1,J.XIRR],[W1,J.XNPV],[Q1,J.YIELD],[q1,J.YIELDDISC],[K1,J.YIELDMAT]];class X1 extends N{constructor(){super(...arguments);A(this,"needsReferenceObject",!0);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isError())return r;if(r.isReferenceObject()&&(r=r.toArrayValueObject()),r.isArray()){const n=r.getRowCount(),s=r.getColumnCount();if(n===1&&s===1){const a=r.get(0,0);return this._handleSingleObject(a,t)}return r.map(a=>a.isError()?a:this._handleSingleObject(a,t,!0))}return this._handleSingleObject(r,t)}_handleSingleObject(e,t,r=!1){let n=t;if(n.isError())return n;if(!n.isReferenceObject())return g.create(h.NA);const s=n.getCurrentActiveSheetData(),{columnData:a,defaultColumnWidth:o}=s;n=n.toArrayValueObject();const c=n.getCurrentRow(),l=n.getCurrentColumn();n=n.getFirstCell();const f=`${e.getValue()}`;let m;switch(f.toLocaleLowerCase()){case"address":return j.create(`$${M.Tools.chatAtABC(l)}$${c+1}`);case"col":return R.create(l+1);case"color":return R.create(0);case"contents":return n;case"filename":return g.create(h.VALUE);case"format":return j.create("G");case"parentheses":return R.create(0);case"prefix":return j.create("");case"protect":return R.create(1);case"row":return R.create(c+1);case"type":return m="v",n.isNull()&&(m="b"),n.isString()&&(m="l"),j.create(m);case"width":return this._getWidthResult(a,o,l,r);default:return g.create(h.VALUE)}}_getWidthResult(e,t,r,n){var o;let s=(o=e[r])==null?void 0:o.w;if(!s&&s!==0&&(s=t),n)return R.create(s);const a=[[s,s===t]];return q.createByArray(a)}}class Z1 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"_errorTypeValueMap",new Map([[h.NULL,1],[h.DIV_BY_ZERO,2],[h.VALUE,3],[h.REF,4],[h.NAME,5],[h.NUM,6],[h.NA,7],[h.CONNECT,8],[h.CALC,14]]))}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=e.getValue(),r=this._errorTypeValueMap.get(t);return r?R.create(r):g.create(h.NA)}}var pe=(i=>(i.CELL="CELL",i.ERROR_TYPE="ERROR.TYPE",i.INFO="INFO",i.ISBETWEEN="ISBETWEEN",i.ISBLANK="ISBLANK",i.ISDATE="ISDATE",i.ISEMAIL="ISEMAIL",i.ISERR="ISERR",i.ISERROR="ISERROR",i.ISEVEN="ISEVEN",i.ISFORMULA="ISFORMULA",i.ISLOGICAL="ISLOGICAL",i.ISNA="ISNA",i.ISNONTEXT="ISNONTEXT",i.ISNUMBER="ISNUMBER",i.ISODD="ISODD",i.ISOMITTED="ISOMITTED",i.ISREF="ISREF",i.ISTEXT="ISTEXT",i.ISURL="ISURL",i.N="N",i.NA="NA",i.SHEET="SHEET",i.SHEETS="SHEETS",i.TYPE="TYPE",i))(pe||{});class z1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=n!=null?n:I.create(!0),o=s!=null?s:I.create(!0),{isError:c,errorObject:l,variants:f}=wr(e,t,r,a,o);if(c)return l;const[m,d,_,C,E]=f;if(C.isString()||E.isString())return g.create(h.VALUE);if(d.compare(_,">").getValue()===!0)return g.create(h.NUM);const y=+C.getValue(),p=+E.getValue(),V=y?">=":">",S=p?"<=":"<";return m.compare(d,V).getValue()===!1||m.compare(_,S).getValue()===!1?I.create(!1):I.create(!0)}}class J1 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isNull()?I.create(!0):e.isArray()?e.mapValue(t=>t.isNull()?I.create(!0):I.create(!1)):I.create(!1)}}class ed extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const r=t.getRowCount(),n=t.getColumnCount();if(r>1||n>1)return g.create(h.VALUE);t=t.get(0,0)}return t.isError()?t:t.isNumber()&&t.getPattern()!==""?I.create(Na(t.getPattern())):t.isString()&&(dn(`${t.getValue()}`)||Cn(`${t.getValue()}`))?I.create(!0):I.create(!1)}}class td extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const a=t.getRowCount(),o=t.getColumnCount();if(a>1||o>1)return g.create(h.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isNull()||t.isBoolean()||t.isNumber())return I.create(!1);const r=`${t.getValue()}`;if(r.length>254)return I.create(!1);const n=M.Tools.topLevelDomainCombiningString(),s=new RegExp(`^(?:[\\w+-]+\\.)*[\\w+-]+@[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${n})$`,"i");return I.create(s.test(r))}}class rd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.getValue()===h.NA?I.create(!1):e.isError()?I.create(!0):e.isArray()?e.mapValue(t=>t.getValue()===h.NA?I.create(!1):t.isError()?I.create(!0):I.create(!1)):I.create(!1)}}class nd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?I.create(!0):e.isArray()?e.mapValue(t=>t.isError()?I.create(!0):I.create(!1)):I.create(!1)}}class sd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const s=t.getRowCount(),a=t.getColumnCount();if(s>1||a>1)return g.create(h.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isBoolean())return g.create(h.VALUE);const r=Math.trunc(+t.getValue());if(Number.isNaN(r))return g.create(h.VALUE);const n=r%2===0;return I.create(n)}}class ad extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0)}calculate(e){var o;if(e.isError())return e;if(!e.isReferenceObject())return g.create(h.NA);const t=(o=e.getCurrentActiveSheetData())==null?void 0:o.cellData.getMatrix(),{startRow:r,startColumn:n}=e.getRangePosition(),s=e.toArrayValueObject(),a=s.mapValue((c,l,f)=>{var d;const m=(d=t==null?void 0:t[r+l])==null?void 0:d[n+f];return m!=null&&m.f||m!=null&&m.si?I.create(!0):I.create(!1)});return s.getRowCount()===1&&s.getColumnCount()===1?a.get(0,0):a}}class id extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isBoolean()?I.create(!0):e.isArray()?e.mapValue(t=>t.isBoolean()?I.create(!0):I.create(!1)):I.create(!1)}}class od extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.getValue()===h.NA?I.create(!0):e.isArray()?e.mapValue(t=>t.getValue()===h.NA?I.create(!0):I.create(!1)):I.create(!1)}}class ud extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return!e.isArray()&&!e.isString()?I.create(!0):e.isArray()?e.mapValue(t=>t.isString()?I.create(!1):I.create(!0)):I.create(!1)}}class cd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isNumber()?I.create(!0):e.isArray()?e.mapValue(t=>t.isNumber()?I.create(!0):I.create(!1)):I.create(!1)}}class ld extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const s=t.getRowCount(),a=t.getColumnCount();if(s>1||a>1)return g.create(h.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isBoolean())return g.create(h.VALUE);const r=Math.trunc(+t.getValue());if(Number.isNaN(r))return g.create(h.VALUE);const n=r%2!==0;return I.create(n)}}class fd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0)}calculate(e){return e.isReferenceObject()?I.create(!0):I.create(!1)}}class md extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isString()?I.create(!0):e.isArray()?e.mapValue(t=>t.isString()?I.create(!0):I.create(!1)):I.create(!1)}}class hd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const a=t.getRowCount(),o=t.getColumnCount();if(a>1||o>1)return g.create(h.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isNull()||t.isBoolean()||t.isNumber())return I.create(!1);const r=`${t.getValue()}`.replace(/^\s+|\s+$/g,"");if(r.length>1e3)return I.create(!1);const n=M.Tools.topLevelDomainCombiningString(),s=new RegExp(`^(?:(?:https?|s?ftp|ftps|nfs|ssh)://+[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*(?::[0-9]+)?(?:/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[A-Fa-f0-9]{2})*)*/?(?:[?#]\\S*)?|[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${n})(?::[0-9]+)?(?:/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[A-Fa-f0-9]{2})*)*/?(?:[?#]\\S*)?|mailto:(?:[\\w+-]+\\.)*[\\w+-]+@[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${n})|(?:news|aim):[%a-z0-9$_\\.+!*(),;/?#:@&~=-]+)$`,"i");return I.create(s.test(r))}}class gd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(e.isArray()&&(t=e.get(0,0)),t.isError())return t;if(t.isString())return R.create(0);const r=+t.getValue();return R.create(r)}}class dd extends N{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){return g.create(h.NA)}}class Cd extends N{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",1);A(this,"needsReferenceObject",!0);A(this,"needsSheetsInfo",!0)}calculate(e){var o;if(e!=null&&e.isError())return e;const{sheetOrder:t,sheetNameMap:r}=this.getSheetsInfo();if(!e){const c=t.findIndex(l=>l===this.subUnitId);return R.create(c+1)}if(e.isReferenceObject()){const c=e.getForcedSheetId(),l=e.getDefaultSheetId(),f=t.findIndex(m=>c?m===c:m===l);return R.create(f+1)}if(e.isArray())return g.create(h.NA);const n=`${e.getValue()}`.toLocaleLowerCase(),s=(o=Object.entries(r).find(([c,l])=>l.toLocaleLowerCase()===n))==null?void 0:o[0];if(!s)return g.create(h.NA);const a=t.findIndex(c=>c===s);return R.create(a+1)}}class _d extends N{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0);A(this,"needsSheetsInfo",!0)}calculate(){const{sheetOrder:e}=this.getSheetsInfo();return R.create(e.length)}}class Ad extends N{constructor(){super(...arguments);A(this,"needsReferenceObject",!0);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isReferenceObject()){const t=e.getRowCount(),r=e.getColumnCount();if(t===1&&r===1){const n=e.getFirstCell();if(n.isError())return R.create(16);if(n.isBoolean())return R.create(4);if(n.isString())return R.create(2);if(n.isNumber()||n.isNull())return R.create(1)}else return R.create(64)}else{if(e.isArray())return R.create(64);if(e.isError())return R.create(16);if(e.isBoolean())return R.create(4);if(e.isString())return R.create(2);if(e.isNumber()||e.isNull())return R.create(1)}return R.create(128)}}const Nu=[[X1,pe.CELL],[Z1,pe.ERROR_TYPE],[z1,pe.ISBETWEEN],[J1,pe.ISBLANK],[ed,pe.ISDATE],[td,pe.ISEMAIL],[rd,pe.ISERR],[nd,pe.ISERROR],[sd,pe.ISEVEN],[ad,pe.ISFORMULA],[id,pe.ISLOGICAL],[od,pe.ISNA],[ud,pe.ISNONTEXT],[cd,pe.ISNUMBER],[ld,pe.ISODD],[fd,pe.ISREF],[md,pe.ISTEXT],[hd,pe.ISURL],[gd,pe.N],[dd,pe.NA],[Cd,pe.SHEET],[_d,pe.SHEETS],[Ad,pe.TYPE]];class Ed extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=!0,r=!0,n=null;for(const s of e){if(s.isError())return s;if(s.isArray()){if(s.iterator(a=>{if(a!=null&&a.isError())return n=a,!1;(a!=null&&a.isBoolean()||a!=null&&a.isNumber())&&(t=t&&!!a.getValue(),r=!1)}),n)return n}else(s.isBoolean()||s.isNumber())&&(t=t&&!!s.getValue(),r=!1)}return r?g.create(h.VALUE):I.create(t)}}class bd extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2);A(this,"needsReferenceObject",!0)}calculate(e,t){let r=e,n=null;if(e.isReferenceObject()&&(r=e.toArrayValueObject(),n=e),r.isError())return r;if(t.isError())return t;if(!(t.isValueObject()&&t.isLambda()&&t.getLambdaPrivacyVarKeys().length===1))return g.create(h.VALUE);const s=t,a=r.isArray()?r.getRowCount():1,o=r.isArray()?r.getColumnCount():1;r=O(a,o,r);const c=[[]];for(let l=0;l<o;l++){const f=[];for(let _=0;_<a;_++){const C=r.get(_,l);f.push([C])}let m=q.create({calculateValueList:f,rowCount:a,columnCount:1,unitId:"",sheetId:"",row:0,column:0});if(n){const{startRow:_,startColumn:C}=n.getRangePosition(),E={startRow:_,startColumn:C+l,endRow:_+a-1,endColumn:C+l};m=this.createReferenceObject(n,E)}let d=s.execute(m);if(d.isArray()){const _=d.getRowCount(),C=d.getColumnCount();if(_>1||C>1)return g.create(h.CALC);d=d.get(0,0)}d.isNull()&&(d=R.create(0)),c[0].push(d)}return o===1?c[0][0]:q.create({calculateValueList:c,rowCount:1,columnCount:o,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class yd extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2);A(this,"needsReferenceObject",!0)}calculate(e,t){let r=e,n=null;if(e.isReferenceObject()&&(r=e.toArrayValueObject(),n=e),r.isError())return r;if(t.isError())return t;if(!(t.isValueObject()&&t.isLambda()&&t.getLambdaPrivacyVarKeys().length===1))return g.create(h.VALUE);const s=t,a=r.isArray()?r.getRowCount():1,o=r.isArray()?r.getColumnCount():1;r=O(a,o,r);const c=[];for(let l=0;l<a;l++){const f=[[]];for(let _=0;_<o;_++){const C=r.get(l,_);f[0].push(C)}let m=q.create({calculateValueList:f,rowCount:1,columnCount:o,unitId:"",sheetId:"",row:0,column:0});if(n){const{startRow:_,startColumn:C}=n.getRangePosition(),E={startRow:_+l,startColumn:C,endRow:_+l,endColumn:C+o-1};m=this.createReferenceObject(n,E)}let d=s.execute(m);if(d.isArray()){const _=d.getRowCount(),C=d.getColumnCount();if(_>1||C>1)return g.create(h.CALC);d=d.get(0,0)}d.isNull()&&(d=R.create(0)),c.push([d])}return a===1?c[0][0]:q.create({calculateValueList:c,rowCount:a,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class Rd extends N{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){return I.create(!1)}}var Ve=(i=>(i.AND="AND",i.BYCOL="BYCOL",i.BYROW="BYROW",i.FALSE="FALSE",i.IF="IF",i.IFERROR="IFERROR",i.IFNA="IFNA",i.IFS="IFS",i.LAMBDA="LAMBDA",i.LET="LET",i.MAKEARRAY="MAKEARRAY",i.MAP="MAP",i.NOT="NOT",i.OR="OR",i.REDUCE="REDUCE",i.SCAN="SCAN",i.SWITCH="SWITCH",i.TRUE="TRUE",i.XOR="XOR",i))(Ve||{});class pd extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r=I.create(!1)){let n=e;if(e.isArray()){const f=e.getRowCount(),m=e.getColumnCount();f===1&&m===1&&(n=e.get(0,0))}if(!n.isArray())return this._handleSingleObject(n,t,r);const s=Math.max(n.isArray()?n.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(n.isArray()?n.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=O(s,a,n,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA));return o.mapValue((f,m,d)=>{const _=c.get(m,d),C=l.get(m,d);return this._handleSingleObject(f,_,C)})}_handleSingleObject(e,t,r){return e.isError()?e:e.getValue()?t.isNull()?R.create(0):t:r.isNull()?R.create(0):r}}class Nd extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(!e.isArray())return e.isError()?t:e;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e),a=O(r,n,t);return s.iterator((o,c,l)=>{o!=null&&o.isError()&&s.set(c,l,a.get(c,l))}),s}}class Vd extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError()&&e.getErrorType()!==h.NA)return e;if(t.isError())return t;if(!e.isArray())return e.isError()&&e.getErrorType()===h.NA?t:e;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e),a=O(r,n,t);return s.iterator((o,c,l)=>{o!=null&&o.isError()&&o.getErrorType()===h.NA&&s.set(c,l,a.get(c,l))}),s}}class Od extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255)}calculate(...e){if(e.length%2!==0)return g.create(h.NA);for(let a=0;a<e.length;a++)if(e[a].isError())return e[a];const t=Math.max(...e.map(a=>a.isArray()?a.getRowCount():1)),r=Math.max(...e.map(a=>a.isArray()?a.getColumnCount():1)),n=e.map(a=>O(t,r,a,g.create(h.NA))),s=n[0].map((a,o,c)=>{for(let l=0;l<n.length;l+=2){const f=n[l].get(o,c)||ue.create(),m=n[l+1].get(o,c)||ue.create();if(f.isNull())continue;if(f.isError())return f;const d=f.getValue();if(f.isString()){if(`${d}`.toLocaleUpperCase()==="TRUE")return m;if(`${d}`.toLocaleUpperCase()==="FALSE")continue;return g.create(h.VALUE)}if(+d)return m.isNull()?g.create(h.NA):m}return g.create(h.NA)});return t===1&&r===1?s.get(0,0):s}}class Md extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){return g.create(h.VALUE)}}class Sd extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255)}calculate(...e){return g.create(h.VALUE)}}class Dd extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(...e){const t=this.getIndexNumValue(e[0]);if(typeof t!="number")return t;const r=this.getIndexNumValue(e[1]);if(typeof r!="number")return r;if(!(e[2].isValueObject()&&e[2].isLambda()))return g.create(h.VALUE);const n=e[2],s=[];for(let a=0;a<t;a++){s[a]==null&&(s[a]=[]);for(let o=0;o<r;o++){let c=n.execute(R.create(a+1),R.create(o+1));c.isArray()&&(c=c.get(0,0)),s[a][o]=c}}return new so(s)}isAsync(){return!0}}let wd=class extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(...e){const t=[];let r=null,n=0,s=0;for(let o=0;o<e.length;o++){const c=e[o];let l=c;if(l.isReferenceObject()&&(l=c.toArrayValueObject()),l.isError())return l;if(o===e.length-1){if(!(c.isValueObject()&&c.isLambda()))return g.create(h.VALUE);r=c}else t.push(c),n=Math.max(n,l.isArray()?l.getRowCount():1),s=Math.max(s,l.isArray()?l.getColumnCount():1)}const a=this._getResultArray(t,r,n,s);return a instanceof g?a:n===1&&s===1?a[0][0]:q.create({calculateValueList:a,rowCount:n,columnCount:s,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}_getResultArray(e,t,r,n){const s=[];for(let a=0;a<r;a++){const o=[];for(let c=0;c<n;c++){const l=[];let f=!1;for(let d=0;d<e.length;d++){let _=e[d],C=null;if(_.isReferenceObject()&&(C=_,_=_.toArrayValueObject()),!_.isArray())if(a===0&&c===0){l.push(C||_);continue}else{o.push(g.create(h.NA)),f=!0;break}let E=_.get(a,c);if(!E){o.push(g.create(h.NA)),f=!0;break}if(C){const{startRow:b,startColumn:y}=C.getRangePosition(),p={startRow:b+a,startColumn:y+c,endRow:b+a,endColumn:y+c};E=this.createReferenceObject(C,p)}l.push(E)}if(f||l.length===0)continue;let m=t.execute(...l);if(m.isArray()){const d=m.getRowCount(),_=m.getColumnCount();if(d>1||_>1)return g.create(h.CALC);m=m.get(0,0)}m.isNull()&&(m=R.create(0)),o.push(m)}s.push(o)}return s}};class Ld extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;const t=+e.getValue();return Number.isNaN(t)?g.create(h.VALUE):I.create(!t)}}class xd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=!1,r=!0,n=null;for(const s of e){if(s.isError())return s;if(s.isArray()){if(s.iterator(a=>{if(a!=null&&a.isError())return n=a,!1;(a!=null&&a.isBoolean()||a!=null&&a.isNumber())&&(t=t||!!a.getValue(),r=!1)}),n)return n}else(s.isBoolean()||s.isNumber())&&(t=t||!!s.getValue(),r=!1)}return r?new g(h.VALUE):new I(t)}}class Pd extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){let n,s;e.isReferenceObject()?(n=e.toArrayValueObject(),s=e):(n=e,s=null);let a,o;return t.isReferenceObject()?(a=t.toArrayValueObject(),o=t):(a=t,o=null),n.isArray()?n.mapValue(c=>this._handleSingleValueObject(c,a,r,s,o)):this._handleSingleValueObject(n,a,r,s,o)}_handleSingleValueObject(e,t,r,n,s){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(!(r.isValueObject()&&r.isLambda()&&r.getLambdaPrivacyVarKeys().length===2))return g.create(h.VALUE);const a=r,o=t.isArray()?t.getRowCount():1,c=t.isArray()?t.getColumnCount():1;let l=e;n&&(l=n);for(let f=0;f<o;f++)for(let m=0;m<c;m++){let d=t.isArray()?t.get(f,m):t;if(d.isError())return d;if(s){const{startRow:C,startColumn:E}=s.getRangePosition(),b={startRow:C+f,startColumn:E+m,endRow:C+f,endColumn:E+m};d=this.createReferenceObject(s,b)}let _=a.execute(l,d);if(_.isError())return _;_.isNull()&&(_=R.create(0)),l=_}return l.isReferenceObject()?l.toArrayValueObject():l}}class jd extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){let n=e,s=null;e.isReferenceObject()&&(n=e.toArrayValueObject(),s=e),n=n;let a=t,o=null;if(t.isReferenceObject()&&(a=t.toArrayValueObject(),o=t),a=a,n.isError())return n;if(a.isError())return a;if(r.isError())return r;if(!(r.isValueObject()&&r.isLambda()&&r.getLambdaPrivacyVarKeys().length===2))return g.create(h.VALUE);if(n.isArray()){const c=n.getRowCount(),l=n.getColumnCount();if(c>1||l>1)return g.create(h.CALC);n=n.get(0,0)}return this._getResult(n,a,r,s,o)}_getResult(e,t,r,n,s){const a=[],o=t.isArray()?t.getRowCount():1,c=t.isArray()?t.getColumnCount():1;let l=e;n&&(l=n);for(let f=0;f<o;f++){const m=[];for(let d=0;d<c;d++){if(l.isError()){m.push(l);continue}let _=t.isArray()?t.get(f,d):t;if(_.isError()){l=_,m.push(_);continue}if(s){const{startRow:E,startColumn:b}=s.getRangePosition(),y={startRow:E+f,startColumn:b+d,endRow:E+f,endColumn:b+d};_=this.createReferenceObject(s,y)}let C=r.execute(l,_);if(C.isArray()){const E=C.getRowCount(),b=C.getColumnCount();if(E>1||b>1)return g.create(h.CALC);C=C.get(0,0)}C.isNull()&&(C=R.create(0)),l=C,m.push(C)}a.push(m)}return o===1&&c===1?a[0][0]:q.create({calculateValueList:a,rowCount:o,columnCount:c,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class Ud extends N{constructor(){super(...arguments);A(this,"minParams",3)}calculate(e,...t){if(e.isError())return e;const r=t.length%2!==0,n=r?t[t.length-1]:ue.create();return!e.isArray()&&!t.some(s=>s.isArray())?this._handleNonArrayInputs(e,t,n,r):this._handleArrayInputs(e,t,n,r)}_handleNonArrayInputs(e,t,r,n){for(let s=0;s<t.length-(n?1:0);s+=2){const a=t[s],o=t[s+1];if(!a.isNull()){if(a.isError())return a;if(`${e.getValue()}`.toLocaleLowerCase()===`${a.getValue()}`.toLocaleLowerCase())return o.isNull()?g.create(h.NA):o}}return r.isNull()?g.create(h.NA):r}_handleArrayInputs(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,...t.map(f=>f.isArray()?f.getRowCount():1),r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,...t.map(f=>f.isArray()?f.getColumnCount():1),r.isArray()?r.getColumnCount():1),o=O(s,a,e),c=t.map(f=>O(s,a,f,g.create(h.NA))),l=O(s,a,r,g.create(h.NA));return o.map((f,m,d)=>{for(let C=0;C<c.length-(n?1:0);C+=2){const E=c[C].get(m,d)||ue.create(),b=c[C+1].get(m,d)||ue.create();if(!E.isNull()){if(E.isError()||f.isError())return E.isError()?E:f;if(`${f.getValue()}`.toLocaleLowerCase()===`${E.getValue()}`.toLocaleLowerCase())return b.isNull()?g.create(h.NA):b}}const _=l.get(m,d)||ue.create();return _.isNull()?g.create(h.NA):_})}}class vd extends N{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){return I.create(!0)}}class Td extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=0,r=!0,n=null;for(const s of e){if(s.isError())return s;if(s.isArray()){if(s.iterator(a=>{if(a!=null&&a.isError())return n=a,!1;(a!=null&&a.isBoolean()||a!=null&&a.isNumber())&&(a.getValue()&&t++,r=!1)}),n)return n}else(s.isBoolean()||s.isNumber())&&(s.getValue()&&t++,r=!1)}return r?g.create(h.VALUE):I.create(t%2===1)}}const Vu=[[Ed,Ve.AND],[bd,Ve.BYCOL],[yd,Ve.BYROW],[Rd,Ve.FALSE],[pd,Ve.IF],[Nd,Ve.IFERROR],[Vd,Ve.IFNA],[Od,Ve.IFS],[Md,Ve.LAMBDA],[Sd,Ve.LET],[Dd,Ve.MAKEARRAY],[wd,Ve.MAP],[Ld,Ve.NOT],[xd,Ve.OR],[Pd,Ve.REDUCE],[jd,Ve.SCAN],[Ud,Ve.SWITCH],[vd,Ve.TRUE],[Td,Ve.XOR]];class Id extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",5)}calculate(e,t,r,n,s){if(e.isError())return e;if(t.isError())return t;if(r!=null&&r.isError())return r;if(n!=null&&n.isError())return n;if(s!=null&&s.isError())return s;const a=r!=null?r:R.create(1),o=n!=null?n:I.create(!0),c=s!=null?s:j.create(""),l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1,c.isArray()?c.getRowCount():1),f=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1,c.isArray()?c.getColumnCount():1),m=O(l,f,e,g.create(h.NA)),d=O(l,f,t,g.create(h.NA)),_=O(l,f,a,g.create(h.NA)),C=O(l,f,o,g.create(h.NA)),E=O(l,f,c,g.create(h.NA));return m.map((b,y,p)=>{const V=d.get(y,p)||g.create(h.NA),S=_.get(y,p)||g.create(h.NA),D=C.get(y,p)||g.create(h.NA),w=E.get(y,p)||g.create(h.NA);return b.isError()?b:V.isError()?V:S.isError()?S:D.isError()?D:w.isError()?w:this._calculateSingleCell(b,V,S,D,w)})}_calculateSingleCell(e,t,r,n,s){const a=Number.parseInt(`${Number(e.getValue())-1}`),o=Number.parseInt(`${Number(t.getValue())-1}`),c=Number.parseInt(`${Number(r.getValue())}`);if(Number.isNaN(a)||Number.isNaN(o)||Number.isNaN(c)||c<1||c>4)return g.create(h.VALUE);const l=Fd(c),f=this.getZeroOrOneByOneDefault(n),m=`${s.getValue()}`,d=Ti(m),_={startRow:a,startColumn:o,endRow:a,endColumn:o,startAbsoluteRefType:l,endAbsoluteRefType:l},C=n&&!f?fm(_):Ct(_);return j.create(d!==""?`${d}!${C}`:C)}}function Fd(i){switch(i){case 1:return M.AbsoluteRefType.ALL;case 2:return M.AbsoluteRefType.ROW;case 3:return M.AbsoluteRefType.COLUMN;case 4:return M.AbsoluteRefType.NONE;default:return M.AbsoluteRefType.ALL}}class Bd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0)}calculate(e){return e.isReferenceObject()?R.create(1):g.create(h.VALUE)}}class kd extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(e,...t){let r=e;if(r.isError())return r;if(r.isReferenceObject()&&(r=r.toArrayValueObject()),!r.isArray()){const c=r.convertToNumberObjectValue();return c.isError()?c:t[Math.trunc(+c.getValue())-1]||g.create(h.VALUE)}let n=r.isArray()?r.getRowCount():1,s=r.isArray()?r.getColumnCount():1;t.forEach((c,l)=>{if(c.isArray()){const f=c;n=Math.max(n,f.getRowCount()),s=Math.max(s,f.getColumnCount())}else n=Math.max(n,1),s=Math.max(s,1)});const a=O(n,s,r,g.create(h.NA)),o=t.map(c=>{let l=c;return l.isReferenceObject()&&(l=l.toArrayValueObject()),O(n,s,l,g.create(h.NA))});return a.map((c,l,f)=>{if(c.isError())return c;const m=c.convertToNumberObjectValue();if(m.isError())return m;const d=o[Math.trunc(+m.getValue())-1];let _=(d==null?void 0:d.get(l,f))||g.create(h.VALUE);return _!=null&&_.isNull()&&(_=R.create(0)),_})}}class $d extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255)}calculate(e,...t){if(e.isError())return e;const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=[];for(let a=0;a<t.length;a++){let o=t[a];if(o.isArray()){const f=o.getRowCount(),m=o.getColumnCount();if(f>1||m>1)return g.create(h.VALUE);o=o.get(0,0)}if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return o;const c=Math.trunc(+o.getValue());if(c===0||Math.abs(c)>n)return g.create(h.VALUE);let l=e;n>1&&(c<0?l=e.slice(void 0,[c+n,c+1+n]):l=e.slice(void 0,[c-1,c]));for(let f=0;f<r;f++)s[f]||(s[f]=[]),e.isArray()?s[f].push(l.get(f,0)):s[f].push(e)}return q.create({calculateValueList:s,rowCount:s.length,columnCount:s[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class Yd extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255)}calculate(e,...t){if(e.isError())return e;const r=e.isArray()?e.getRowCount():1,n=[];for(let s=0;s<t.length;s++){let a=t[s];if(a.isArray()){const l=a.getRowCount(),f=a.getColumnCount();if(l>1||f>1)return g.create(h.VALUE);a=a.get(0,0)}if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;const o=Math.trunc(+a.getValue());if(o===0||Math.abs(o)>r)return g.create(h.VALUE);let c=e;r>1&&(o<0?c=e.slice([o+r,o+1+r]):c=e.slice([o-1,o])),e.isArray()?n.push(c.getArrayValue()[0]):n.push([e])}return q.create({calculateValueList:n,rowCount:n.length,columnCount:n[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class Hd extends N{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",1)}calculate(e){if(e==null)return R.create(this.column+1);if(e.isError())return e;if(!e.isArray())return g.create(h.NA);const t=e.getCurrentColumn(),r=e.getColumnCount(),n=[];for(let a=0;a<r;a++)n.push(R.create(t+a+1));const s={calculateValueList:[n],rowCount:1,columnCount:r,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return q.create(s)}}class Gd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return R.create(1);if(!e.isArray())return g.create(h.NA);const t=e.getColumnCount();return R.create(t)}}class Wd extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:R.create(0),s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=Math.max(t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),c=Math.max(t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),l=O(o,c,t,g.create(h.NA)),f=O(o,c,n,g.create(h.NA));if(o>1||c>1)return l.mapValue((y,p,V)=>{const S=f.get(p,V);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const{isError:D,errorObject:w}=this._checkRowsColumns(y,S,s,a);return D?w:e.isArray()?g.create(h.VALUE):e});if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const m=t.isArray()?t.get(0,0):t,d=n.isArray()?n.get(0,0):n,{isError:_,errorObject:C,rowsValue:E,columnsValue:b}=this._checkRowsColumns(m,d,s,a);return _?C:this._getResultArray(e,E,b,s,a)}_checkRowsColumns(e,t,r,n){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};const s=Math.trunc(+e.getValue()),a=Math.trunc(+t.getValue());return Number.isNaN(s)||Number.isNaN(a)?{isError:!0,errorObject:g.create(h.VALUE)}:Math.abs(s)>=r||Math.abs(a)>=n?{isError:!0,errorObject:g.create(h.CALC)}:{isError:!1,rowsValue:s,columnsValue:a}}_getResultArray(e,t,r,n,s){const a=t>=0?[t,n]:[0,n+t],o=r>=0?[r,s]:[0,s+r];let c;return t===0&&r===0?c=e:t===0?c=e.slice(void 0,o):r===0?c=e.slice(a,void 0):c=e.slice(a,o),c=c.map(l=>l.isNull()?R.create(0):l),n-t===1&&s-r===1?c.get(0,0):c}}class Qd extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",4)}calculate(e,t,r,n){const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1;let o=t,c=r!=null?r:R.create(a);const l=n!=null?n:g.create(h.NA);t.isNull()&&(o=R.create(s)),c.isNull()&&(c=R.create(a));const f=Math.max(o.isArray()?o.getRowCount():1,c.isArray()?c.getRowCount():1),m=Math.max(o.isArray()?o.getColumnCount():1,c.isArray()?c.getColumnCount():1),d=O(f,m,o,g.create(h.NA)),_=O(f,m,c,g.create(h.NA));if(f>1||m>1)return d.mapValue((D,w,L)=>{const x=_.get(w,L);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const{isError:v,errorObject:U}=this._checkRowsColumnsPadWith(D,x,l,s,a);return v?U:e.isArray()?e.get(0,0):e});if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const C=o.isArray()?o.get(0,0):o,E=c.isArray()?c.get(0,0):c,{isError:b,errorObject:y,rowsValue:p,columnsValue:V,padWithObject:S}=this._checkRowsColumnsPadWith(C,E,l,s,a);return b?y:this._getResultArray(e,p,V,S,s,a)}_checkRowsColumnsPadWith(e,t,r,n,s){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};const a=Math.trunc(+e.getValue()),o=Math.trunc(+t.getValue());if(Number.isNaN(a)||Number.isNaN(o))return{isError:!0,errorObject:g.create(h.VALUE)};if(Math.abs(a)<n||Math.abs(o)<s)return{isError:!0,errorObject:g.create(h.VALUE)};let c=r;if(r.isArray()){const l=r.getRowCount(),f=r.getColumnCount();if(l>1||f>1)return{isError:!0,errorObject:g.create(h.VALUE)};c=r.get(0,0)}return{isError:!1,rowsValue:a,columnsValue:o,padWithObject:c}}_getResultArray(e,t,r,n,s,a){let o=[];e.isArray()?o=e.map(f=>f.isNull()?R.create(0):f).getArrayValue():o=[[e]];const c=Math.max(0,t-s),l=Math.max(0,r-a);for(let f=0;f<c;f++)o.push(new Array(a).fill(n));for(let f=0;f<l;f++)o.forEach(m=>{m.push(n)});return t===1&&r===1?o[0][0]:q.create({calculateValueList:o,rowCount:o.length,columnCount:o[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class qd extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:g.create(h.CALC);if(e.isError())return e;if(t.isError())return t;const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=t.isArray()?t.getRowCount():1,c=t.isArray()?t.getColumnCount():1;return o>1&&c>1||o===1&&c!==a||c===1&&o!==s?g.create(h.VALUE):s===1&&a===1?this._getResultArrayByR1C1(e,t,n):o===1?c!==a?g.create(h.VALUE):this._getResultArrayByR1(s,a,e,t,n):c===1?o!==s?g.create(h.VALUE):this._getResultArrayByC1(s,a,e,t,n):n}_getResultArrayByR1C1(e,t,r){let n=e,s=t;return n.isArray()&&(n=n.get(0,0)),s.isArray()&&(s=s.get(0,0)),s.isString()&&(s=s.convertToNumberObjectValue()),s.isError()?s:+s.getValue()?n:r}_getResultArrayByR1(e,t,r,n,s){const a=[];for(let o=0;o<t;o++){let c=n.get(0,o);if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return c;if(+c.getValue())for(let f=0;f<e;f++){a[f]||(a[f]=[]);const m=r.get(f,o);a[f].push(m)}}return a.length===0?s:q.create({calculateValueList:a,rowCount:a.length,columnCount:a[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}_getResultArrayByC1(e,t,r,n,s){const a=[];for(let o=0;o<e;o++){let c=n.get(o,0);if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return c;if(!+c.getValue())continue;const f=[];for(let m=0;m<t;m++){const d=r.get(o,m);f.push(d)}a.push(f)}return a.length===0?s:q.create({calculateValueList:a,rowCount:a.length,columnCount:a[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class Kd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0);A(this,"needsFormulaDataModel",!0)}calculate(e){var f,m;if(!e.isReferenceObject())return g.create(h.NA);const t=e.getUnitId(),r=e.getSheetId(),s=(m=(f=e.getUnitData()[t])==null?void 0:f[r])==null?void 0:m.cellData,{startRow:a,startColumn:o}=e.getRangePosition(),l=e.toArrayValueObject().mapValue((d,_,C)=>{const E=s.getValue(a+_,o+C);if(E!=null&&E.f||E!=null&&E.si){const b=this._formulaDataModel.getFormulaStringByCell(a+_,o+C,r,t);return j.create(b)}return g.create(h.NA)});return l.getRowCount()===1&&l.getColumnCount()===1?l.get(0,0):l}}var me=(i=>(i.ADDRESS="ADDRESS",i.AREAS="AREAS",i.CHOOSE="CHOOSE",i.CHOOSECOLS="CHOOSECOLS",i.CHOOSEROWS="CHOOSEROWS",i.COLUMN="COLUMN",i.COLUMNS="COLUMNS",i.DROP="DROP",i.EXPAND="EXPAND",i.FILTER="FILTER",i.FORMULATEXT="FORMULATEXT",i.GETPIVOTDATA="GETPIVOTDATA",i.HLOOKUP="HLOOKUP",i.HSTACK="HSTACK",i.HYPERLINK="HYPERLINK",i.IMAGE="IMAGE",i.INDEX="INDEX",i.INDIRECT="INDIRECT",i.LOOKUP="LOOKUP",i.MATCH="MATCH",i.OFFSET="OFFSET",i.ROW="ROW",i.ROWS="ROWS",i.RTD="RTD",i.SORT="SORT",i.SORTBY="SORTBY",i.TAKE="TAKE",i.TOCOL="TOCOL",i.TOROW="TOROW",i.TRANSPOSE="TRANSPOSE",i.UNIQUE="UNIQUE",i.VLOOKUP="VLOOKUP",i.VSTACK="VSTACK",i.WRAPCOLS="WRAPCOLS",i.WRAPROWS="WRAPROWS",i.XLOOKUP="XLOOKUP",i.XMATCH="XMATCH",i))(me||{});class Xd extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){if(e.isError())return e;if(t.isError())return g.create(h.REF);if(!t.isArray()||r.isError()||n!=null&&n.isError())return g.create(h.NA);const s=this.getZeroOrOneByOneDefault(n);if(s==null)return g.create(h.VALUE);const a=this.getIndexNumValue(r);if(a instanceof g)return a;const o=t.slice([0,1]),c=t.slice([a-1,a]);return o==null||c==null?g.create(h.REF):e.isArray()?e.map(l=>this._handleSingleObject(l,o,c,s)):this._handleSingleObject(e,o,c,s)}_handleSingleObject(e,t,r,n){return n===0?this.equalSearch(e,t,r):this.binarySearch(e,t,r)}}class Zd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=Math.max(...e.map(n=>n.isArray()?n.getRowCount():1)),r=[];for(let n=0;n<e.length;n++){const s=e[n];if(s.isError())return s;const a=s.isArray()?s.getRowCount():1,o=s.isArray()?s.getColumnCount():1;for(let c=0;c<t;c++){r[c]||(r[c]=[]);for(let l=0;l<o;l++){let f=s;s.isArray()&&(f=s.get(c,l)),c>a-1||!f?r[c].push(g.create(h.NA)):r[c].push(f)}}}return q.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class zd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){let r=e;if(e.isArray()&&(r=e.get(0,0)),r.isError())return r;let n=t;if(t!=null&&t.isArray()&&(n=t.get(0,0)),n!=null&&n.isError())return n;let s=`${r.getValue()}`;r.isNull()&&(s="");let a=s;return n&&(a=`${n.getValue()}`,n.isNull()?a="0":n.isBoolean()&&(a=a.toLocaleUpperCase())),j.create(a,{isHyperlink:!0,hyperlinkUrl:s})}}class Jd extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",4);A(this,"needsReferenceObject",!0)}calculate(e,t,r,n){if(e.isError())return e;const s=this._getReferenceCounts(e);let a=t;t.isReferenceObject()&&(a=t.toArrayValueObject());let o=r;o!=null&&o.isReferenceObject()&&(o=r.toArrayValueObject());let c=n!=null?n:R.create(1);c.isReferenceObject()&&(c=n.toArrayValueObject());const l=Math.max(a.isArray()?a.getRowCount():1,o!=null&&o.isArray()?o.getRowCount():1,c.isArray()?c.getRowCount():1),f=Math.max(a.isArray()?a.getColumnCount():1,o!=null&&o.isArray()?o.getColumnCount():1,c.isArray()?c.getColumnCount():1);if(l===1&&f===1)return this._handleSingleObject(e,a.isArray()?a.get(0,0):a,o?o.isArray()?o.get(0,0):o:void 0,c.isArray()?c.get(0,0):c,s);{const m=O(l,f,a,g.create(h.NA)),d=o?O(l,f,o,g.create(h.NA)):[],_=O(l,f,c,g.create(h.NA));return m.mapValue((C,E,b)=>{const y=o?d.get(E,b):void 0,p=_.get(E,b),V=this._handleSingleObject(e,C,y,p,s);return V.isReferenceObject()?V.getCellByPosition():V})}}_handleSingleObject(e,t,r,n,s){let a,o,c;if(r){const{isError:C,errorObject:E,variants:b}=F(t,r,n);if(C)return E;a=b[0],o=b[1],c=b[2]}else{const{isError:C,errorObject:E,variants:b}=F(t,n);if(C)return E;a=b[0],c=b[1]}const l=Math.floor(+c.getValue());if(l<0)return g.create(h.VALUE);if(l>s.length)return g.create(h.REF);const f=s[l-1];let m=0,d=0;if(f.rowCount===1&&!r?d=Math.floor(+a.getValue()):(m=Math.floor(+a.getValue()),r&&(d=Math.floor(+o.getValue()))),m<0||d<0)return g.create(h.VALUE);if(m>f.rowCount||d>f.columnCount)return g.create(h.REF);let _=e;return l>1&&(_=e.getCubeValues()[l-1]),_.isReferenceObject()?this._calculateReferenceObject(_,m,d):this._calculateArrayObject(_,m,d)}_getReferenceCounts(e){let t=[{rowCount:1,columnCount:1}];return e.isReferenceObject()?t=[{rowCount:e.getRowCount(),columnCount:e.getColumnCount()}]:e.isCube()?t=e.getCubeValues().map(r=>({rowCount:r.getRowCount(),columnCount:r.getColumnCount()})):e.isArray()&&(t=[{rowCount:e.getRowCount(),columnCount:e.getColumnCount()}]),t}_calculateReferenceObject(e,t,r){const{startRow:n,endRow:s,startColumn:a,endColumn:o}=e.getRangePosition();let c=0,l=0,f=0,m=0;if(t===0?(c=n,l=s):c=l=n+t-1,r===0?(f=a,m=o):f=m=a+r-1,c>s||f>o)return g.create(h.REF);const d={startRow:c,startColumn:f,endRow:l,endColumn:m};return this.createReferenceObject(e,d)}_calculateArrayObject(e,t,r){return!e.isArray()||t===0&&r===0?e:t===0?e.slice(void 0,[r-1,r]):r===0?e.slice([t-1,t],void 0):e.get(t-1,r-1)}}class e0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}isAddress(){return!0}calculate(e,t){if(e.isError())return e;if(t!=null&&t.isError())return t;let r=this.getZeroOrOneByOneDefault(t);r==null&&(r=1);let n=e;if(e.isArray()){const s=e.getRowCount(),a=e.getColumnCount();if(s>1||a>1)return e.map(()=>g.create(h.VALUE));n=e.getFirstCell()}return this._handleSingleObject(n,r)}_handleSingleObject(e,t){const r=`${e.getValue()}`;if(r.trim()==="")return g.create(h.REF);const n=this._convertToDefinedName(r);if(t===0){const f=Ao(n),{range:m,sheetName:d,unitId:_}=f,C=new br(m);return C.setForcedUnitIdDirect(_),C.setForcedSheetName(d),this._setDefault(C)}if(pr(n))return this._setDefault(new zs(n));if(Mi(n))return this._setDefault(new ea(n));if(Si(n))return this._setDefault(new Js(n));const s=Wt(n),{range:a,sheetName:o,unitId:c}=s;if(Number.isNaN(a.startRow)||a.endRow+1>1048576||Number.isNaN(a.startColumn)||a.endColumn+1>16384)return g.create(h.REF);const l=new br(a);return l.setForcedUnitIdDirect(c),l.setForcedSheetName(o),this._setDefault(l)}_setDefault(e){return this.unitId==null||this.subUnitId==null?g.create(h.REF):(e.setDefaultUnitId(this.unitId),e.setDefaultSheetId(this.subUnitId),e)}_convertToDefinedName(e){const t=this.getDefinedName(e);if(t==null)return e;const r=t.formulaOrRefString;return r==null?e:r.startsWith(X.EQUALS)?r.slice(1):r}}class t0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsExpandParams",!0)}calculate(e,t,r){return e.isError()?e:t.isError()?g.create(h.REF):t.isArray()?r!=null&&r.isError()?r:t.getColumnCount()===1||t.getRowCount()===1?r!=null&&!r.isArray()?g.create(h.REF):this._handleVector(e,t,r):this._handleArray(e,t):g.create(h.VALUE)}_handleVector(e,t,r){let n=r;if(n==null)n=t;else if(n.getRowCount()!==t.getRowCount()||n.getColumnCount()!==t.getColumnCount())return g.create(h.REF);return e.isArray()?e.map(s=>this.binarySearch(s,t,n)):this.binarySearch(e,t,n)}_handleArray(e,t){const r=t.getRowCount(),n=t.getColumnCount();let s,a;return n>r?(s=t.slice([0,1]),a=t.slice([r-1,r])):(s=t.slice(void 0,[0,1]),a=t.slice(void 0,[n-1,n])),s==null||a==null?g.create(h.VALUE):e.isArray()?e.map(o=>this.binarySearch(o,s,a)):this.binarySearch(e,s,a)}}class r0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return g.create(h.REF);if(!t.isArray())return g.create(h.VALUE);const n=t.getRowCount(),s=t.getColumnCount();if(n!==1&&s!==1||r!=null&&r.isError())return g.create(h.NA);const a=this.getMatchTypeValue(r);return a==null?g.create(h.VALUE):e.isArray()?e.map(o=>this._handleSingleObject(o,t,a)):this._handleSingleObject(e,t,a)}_handleSingleObject(e,t,r){const n=this._getSearchModeValue(r),s=t.orderSearch(e,n);if(s==null)return g.create(h.NA);if(s instanceof g)return s;const a=t.getRowCount()===1?s.column+1:s.row+1;return R.create(a)}_getSearchModeValue(e){switch(e){case 1:return Me.MIN;case 0:return Me.NORMAL;case-1:return Me.MAX}}}class n0 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5);A(this,"needsReferenceObject",!0)}isAddress(){return!0}calculate(e,t,r,n,s){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(n!=null&&n.isError())return n;if(s!=null&&s.isError())return s;if(!e.isReferenceObject())return g.create(h.VALUE);const a=e.getRowCount(),o=e.getColumnCount();let c=t;c.isReferenceObject()&&(c=c.toArrayValueObject());let l=r;l.isReferenceObject()&&(l=l.toArrayValueObject());let f=n!=null?n:R.create(a);f.isReferenceObject()&&(f=f.toArrayValueObject()),f.isNull()&&(f=R.create(a));let m=s!=null?s:R.create(o);m.isReferenceObject()&&(m=m.toArrayValueObject()),m.isNull()&&(m=R.create(o));const d=Math.max(c.isArray()?c.getRowCount():1,l.isArray()?l.getRowCount():1,f.isArray()?f.getRowCount():1,m.isArray()?m.getRowCount():1),_=Math.max(c.isArray()?c.getColumnCount():1,l.isArray()?l.getColumnCount():1,f.isArray()?f.getColumnCount():1,m.isArray()?m.getColumnCount():1);if(c=c,l=l,f=f,m=m,d===1&&_===1)return c=c.isArray()?c.get(0,0):c,l=l.isArray()?l.get(0,0):l,f=f.isArray()?f.get(0,0):f,m=m.isArray()?m.get(0,0):m,this._handleSingleObject(e,c,l,f,m);const C=O(d,_,c,g.create(h.NA)),E=O(d,_,l,g.create(h.NA)),b=O(d,_,f,g.create(h.NA)),y=O(d,_,m,g.create(h.NA));return C.mapValue((p,V,S)=>{const D=E.get(V,S),w=b.get(V,S),L=y.get(V,S);return p.isError()?p:D.isError()?D:w.isError()?w:L.isError()?L:this._handleSingleObject(e,p,D,w,L,!0)})}_handleSingleObject(e,t,r,n,s,a=!1){const{startRow:o,startColumn:c}=e.getRangePosition();let l=t;if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;let f=r;if(f.isString()&&(f=f.convertToNumberObjectValue()),f.isError())return f;const m=+l.getValue(),d=+f.getValue();if(typeof m!="number"||typeof d!="number")return g.create(h.VALUE);const _=o+m,C=c+d;if(_<0||C<0)return g.create(h.REF);const E=this.getIndexNumValue(n),b=this.getIndexNumValue(s);if(typeof E!="number"||typeof b!="number")return g.create(h.VALUE);if(E===0||b===0)return g.create(h.REF);const y=E>0?_+E-1:_+E+1,p=b>0?C+b-1:C+b+1;if(y<0||p<0)return g.create(h.REF);if(a)return g.create(h.VALUE);const V=_<y?_:y,S=C<p?C:p,D=_>y?_:y,w=C>p?C:p,L={startRow:V,startColumn:S,endRow:D,endColumn:w};return this.createReferenceObject(e,L)}}class s0 extends N{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",1)}calculate(e){if(e==null)return R.create(this.row+1);if(e.isError())return e;if(!e.isArray())return g.create(h.NA);const t=e.getCurrentRow(),r=e.getRowCount(),n=[];for(let a=0;a<r;a++)n.push([R.create(t+a+1)]);const s={calculateValueList:n,rowCount:r,columnCount:1,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return q.create(s)}}class a0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return R.create(1);if(!e.isArray())return g.create(h.NA);const t=e.getRowCount();return R.create(t)}}class i0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4)}calculate(e,t,r,n){const s=t!=null?t:R.create(1),a=r!=null?r:R.create(1),o=n!=null?n:I.create(!1);if(o.isArray()){const c=o.getRowCount(),l=o.getColumnCount();if(c===1&&l===1){const f=o.get(0,0);return this._handleSingleObject(e,s,a,f)}return o.map(f=>{const m=this._handleSingleObject(e,s,a,f);return m.isArray()?m.get(0,0):m})}return this._handleSingleObject(e,s,a,o)}_handleSingleObject(e,t,r,n){if(e.isError())return e;const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=this._checkArrayError(t);if(o.isError())return o;const c=Math.floor(+o.getValue());if(c<1)return g.create(h.VALUE);const l=this._checkArrayError(r);if(l.isError())return l;const f=Math.floor(+l.getValue());if(f!==-1&&f!==1)return g.create(h.VALUE);let m=n;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;if(!e.isArray()||s===1&&a===1)return e;const d=+m.getValue();return this._getResult(e,c,f,d,s,a)}_checkArrayError(e){let t=e;if(t.isArray()){const r=t.getRowCount(),n=t.getColumnCount();if(r>1||n>1)return g.create(h.VALUE);t=t.get(0,0)}return t.isString()&&(t=t.convertToNumberObjectValue()),t}_getResult(e,t,r,n,s,a){if(n){if(t>s)return g.create(h.VALUE);const o=e.transpose().getArrayValue();return o.sort(this._sort(t-1,r)),q.create({calculateValueList:o,rowCount:o.length,columnCount:o[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}).transpose()}else{if(t>a)return g.create(h.VALUE);const o=e.getArrayValue();return o.sort(this._sort(t-1,r)),q.create({calculateValueList:o,rowCount:o.length,columnCount:o[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}_sort(e,t=1){const r=sn();return t===1?this._sortAsc(e,r):this._sortDesc(e,r)}_sortAsc(e,t){return(r,n)=>{const s=r[e],a=n[e];if(s==null||s.isNull())return 1;if(a==null||a.isNull())return-1;if(s.isError()&&a.isError())return 0;if(s.isError())return 1;if(a.isError())return-1;const o=s.getValue(),c=a.getValue();return s.isBoolean()&&o===!0?1:a.isBoolean()&&c===!0?-1:s.isBoolean()&&o===!1?1:a.isBoolean()&&c===!1?-1:s.isNumber()&&a.isNumber()?+o-+c:t(o,c)}}_sortDesc(e,t){return(r,n)=>{const s=r[e],a=n[e];if(s==null||s.isNull())return 1;if(a==null||a.isNull())return-1;if(s.isError()&&a.isError())return 0;if(s.isError())return-1;if(a.isError())return 1;const o=s.getValue(),c=a.getValue();return s.isBoolean()&&o===!0?-1:a.isBoolean()&&c===!0?1:s.isBoolean()&&o===!1?-1:a.isBoolean()&&c===!1?1:s.isNumber()&&a.isNumber()?+c-+o:t(c,o)}}}class o0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255)}calculate(e,...t){t.length===1&&t.push(R.create(1));const r=this._getVariantsError(e,...t),{maxRowLength:n,maxColumnLength:s}=_f(t);if(r.isError()){const c=O(n,s,r);return n===1&&s===1?c.get(0,0):c}const a=t.map((c,l)=>l%2===0?c:O(n,s,c,g.create(h.NA))),o=this._getResultArray(e,a,n,s);return n===1&&s===1?o[0][0]:q.create({calculateValueList:o,rowCount:o.length,columnCount:o[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}_getVariantsError(e,...t){if(e.isError())return e;for(let o=0;o<t.length;o++){const c=t[o];if(c.isError())return c}if(t.length<2||t.length%2!==0)return g.create(h.VALUE);const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t[0].isArray()?t[0].getRowCount():1,a=t[0].isArray()?t[0].getColumnCount():1;if((s>1||a>1)&&(s>1&&a>1||s===1&&a!==n||a===1&&s!==r))return g.create(h.VALUE);for(let o=2;o<t.length;o++){if(o%2===1)continue;const c=t[o].isArray()?t[o].getRowCount():1,l=t[o].isArray()?t[o].getColumnCount():1;if(c!==s||l!==a)return g.create(h.VALUE)}return I.create(!0)}_getResultArray(e,t,r,n){const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=t[0].isArray()?t[0].getRowCount():1,c=t[0].isArray()?t[0].getColumnCount():1,l=[];for(let f=0;f<r;f++){l[f]=[];for(let m=0;m<n;m++){const{isError:d,errorObject:_,byArrays:C,sortOrders:E}=this._getByArraysAndSortOrders(t,f,m,c);if(d){l[f].push(_);continue}if(!e.isArray()||s===1&&a===1){l[f].push(e);continue}let b=e.getArrayValue();o===1&&c===1||(o===1?(b=b.concat(C),b=this._transposeArray(b),b.sort(this._sort(s,E)),b=this._transposeArray(b).slice(0,s)):c===1&&(b=this._transposeArray(b),b=b.concat(C),b=this._transposeArray(b),b.sort(this._sort(a,E)),b=b.map(p=>p.slice(0,a))));const y=q.create({calculateValueList:b,rowCount:b.length,columnCount:b[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column});if(r>1||n>1){l[f].push(y.get(0,0));continue}l[f].push(y)}}return l}_getByArraysAndSortOrders(e,t,r,n){const s=[],a=[];let o=!1,c=null;for(let l=0;l<e.length;l++){if(l%2===1)continue;const f=e[l];let m=e[l+1].get(t,r);if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError()){o=!0,c=m;break}const d=Math.floor(+m.getValue());if(d!==-1&&d!==1){o=!0,c=g.create(h.VALUE);break}if(a.push(d),f.isArray()){let _=f.getArrayValue();n===1&&(_=this._transposeArray(_)),s.push(_[0])}else s.push([f])}return{isError:o,errorObject:c,byArrays:s,sortOrders:a}}_transposeArray(e){const t=e.length,r=e[0].length,n=[];for(let s=0;s<r;s++){n[s]=[];for(let a=0;a<t;a++)n[s][a]=e[a][s]}return n}_sort(e,t){const r=sn();return(n,s)=>{let a=n[e],o=s[e],c=this._compare(a,o,t[0],r);if(c===0&&t.length>1){for(let l=1;l<t.length;l++)if(a=n[e+l],o=s[e+l],c=this._compare(a,o,t[l],r),c!==0)return c}return c}}_compare(e,t,r,n){return r===1?this._asc(e,t,n):this._desc(e,t,n)}_asc(e,t,r){if(e==null||e.isNull())return 1;if(t==null||t.isNull())return-1;if(e.isError()&&t.isError())return 0;if(e.isError())return 1;if(t.isError())return-1;const n=e.getValue(),s=t.getValue();return e.isBoolean()&&n===!0?1:t.isBoolean()&&s===!0?-1:e.isBoolean()&&n===!1?1:t.isBoolean()&&s===!1?-1:e.isNumber()&&t.isNumber()?+n-+s:r(n,s)}_desc(e,t,r){if(e==null||e.isNull())return 1;if(t==null||t.isNull())return-1;if(e.isError()&&t.isError())return 0;if(e.isError())return-1;if(t.isError())return 1;const n=e.getValue(),s=t.getValue();return e.isBoolean()&&n===!0?-1:t.isBoolean()&&s===!0?1:e.isBoolean()&&n===!1?-1:t.isBoolean()&&s===!1?1:e.isNumber()&&t.isNumber()?+s-+n:r(s,n)}}class u0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1;let a=t,o=r!=null?r:R.create(s);t.isNull()&&(a=R.create(n)),o.isNull()&&(o=R.create(s));const c=Math.max(a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),l=Math.max(a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),f=O(c,l,a,g.create(h.NA)),m=O(c,l,o,g.create(h.NA));if(c>1||l>1)return f.mapValue((p,V,S)=>{const D=m.get(V,S);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const{isError:w,errorObject:L}=this._checkRowsColumns(p,D,n,s);return w?L:e.isArray()?g.create(h.VALUE):e});if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const d=a.isArray()?a.get(0,0):a,_=o.isArray()?o.get(0,0):o,{isError:C,errorObject:E,rowsValue:b,columnsValue:y}=this._checkRowsColumns(d,_,n,s);return C?E:this._getResultArray(e,b,y,n,s)}_checkRowsColumns(e,t,r,n){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};let s=Math.trunc(+e.getValue()),a=Math.trunc(+t.getValue());return Number.isNaN(s)||Number.isNaN(a)?{isError:!0,errorObject:g.create(h.VALUE)}:Math.abs(s)===0||Math.abs(a)===0?{isError:!0,errorObject:g.create(h.CALC)}:(s>r&&(s=r),a>n&&(a=n),{isError:!1,rowsValue:s,columnsValue:a})}_getResultArray(e,t,r,n,s){if(!e.isArray())return e;const a=t>=0?[0,t]:[n+t,n],o=r>=0?[0,r]:[s+r,s];let c;return t===n&&r===s?c=e:t===n?c=e.slice(void 0,o):r===s?c=e.slice(a,void 0):c=e.slice(a,o),c=c.map(l=>l.isNull()?R.create(0):l),t===1&&r===1?c.get(0,0):c}}class c0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){const n=t!=null?t:R.create(0),s=r!=null?r:I.create(!1),a=Math.max(n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),c=O(a,o,n,g.create(h.NA)),l=O(a,o,s,g.create(h.NA)),f=c.mapValue((m,d,_)=>{const C=l.get(d,_);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);if(m.isError())return m;if(C.isError())return C;const E=Math.trunc(+m.getValue()),b=+C.getValue();if(Number.isNaN(E)||E<0||E>3||Number.isNaN(b))return g.create(h.VALUE);if(!e.isArray())return e;let y=[];return b?y=this._getArrayValueByColumn(e,E):y=this._getArrayValueByRow(e,E),y.length===0?g.create(h.CALC):a>1||o>1||y.length===1?y[0]:q.create({calculateValueList:y.map(p=>[p]),rowCount:y.length,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return a===1&&o===1?f.get(0,0):f}_getArrayValueByColumn(e,t){const r=e,n=r.getRowCount(),s=r.getColumnCount(),a=[];for(let o=0;o<s;o++)for(let c=0;c<n;c++){const l=r.get(c,o);this._isIgnore(l,t)||a.push(l.isNull()?R.create(0):l)}return a}_getArrayValueByRow(e,t){const r=e,n=r.getRowCount(),s=r.getColumnCount(),a=[];for(let o=0;o<n;o++)for(let c=0;c<s;c++){const l=r.get(o,c);this._isIgnore(l,t)||a.push(l.isNull()?R.create(0):l)}return a}_isIgnore(e,t){switch(t){case 0:return!1;case 1:return e.isNull();case 2:return e.isError();case 3:return e.isNull()||e.isError();default:return!1}}}class l0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){const n=t!=null?t:R.create(0),s=r!=null?r:I.create(!1),a=Math.max(n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),c=O(a,o,n,g.create(h.NA)),l=O(a,o,s,g.create(h.NA)),f=c.mapValue((m,d,_)=>{const C=l.get(d,_);if(e.isError())return e;if(m.isError())return m;if(C.isError())return C;const E=Math.trunc(+m.getValue()),b=+C.getValue();if(Number.isNaN(E)||E<0||E>3||Number.isNaN(b)||e.isNull())return g.create(h.VALUE);if(!e.isArray())return e;let y=[];return b?y=this._getArrayValueByColumn(e,E):y=this._getArrayValueByRow(e,E),y.length===0?g.create(h.CALC):a>1||o>1||y.length===1?y[0]:q.create({calculateValueList:[y],rowCount:1,columnCount:y.length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return a===1&&o===1?f.get(0,0):f}_getArrayValueByColumn(e,t){const r=e,n=r.getRowCount(),s=r.getColumnCount(),a=[];for(let o=0;o<s;o++)for(let c=0;c<n;c++){const l=r.get(c,o);this._isIgnore(l,t)||a.push(l.isNull()?R.create(0):l)}return a}_getArrayValueByRow(e,t){const r=e,n=r.getRowCount(),s=r.getColumnCount(),a=[];for(let o=0;o<n;o++)for(let c=0;c<s;c++){const l=r.get(o,c);this._isIgnore(l,t)||a.push(l.isNull()?R.create(0):l)}return a}_isIgnore(e,t){switch(t){case 0:return!1;case 1:return e.isNull();case 2:return e.isError();case 3:return e.isNull()||e.isError();default:return!1}}}class f0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isError())return e;if(e.isArray()){const t=e.getRowCount(),r=e.getColumnCount();return t===1&&r===1?e.get(0,0):e.transpose()}return e}}class m0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){const n=t!=null?t:I.create(!1),s=r!=null?r:I.create(!1),a=e.isArray()?e.getRowCount():1,o=e.isArray()?e.getColumnCount():1,c=Math.max(n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),f=O(c,l,n,g.create(h.NA)),m=O(c,l,s,g.create(h.NA)),d=f.map((_,C,E)=>{let b=_,y=m.get(C,E);if(e.isError())return e;if(b.isString()&&(b=b.convertToNumberObjectValue()),b.isError())return b;if(y.isString()&&(y=y.convertToNumberObjectValue()),y.isError())return y;const p=+b.getValue(),V=+y.getValue();let S;return!p&&a===1||p&&o===1?S=e:S=this._getResult(e,p,V),(c>1||l>1)&&(S!=null&&S.isArray())?S.get(0,0):S});return c===1&&l===1?d.get(0,0):d}_getResult(e,t,r){const n=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1;let a=e.getArrayValue(),o=n,c=s;t&&(a=this._transposeArray(a),o=s,c=n);const l=this._getRepeatRows(a,o,c);if(l.length>0){const f=[];l.forEach(m=>{m.forEach((d,_)=>{(_!==0||r)&&f.push(d)})}),a=a.filter((m,d)=>!f.includes(d))}return a.length===0?g.create(h.CALC):(t&&(a=this._transposeArray(a)),q.create({calculateValueList:a,rowCount:a.length,columnCount:a[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}))}_getRepeatRows(e,t,r){let n=[];for(let s=0;s<r;s++)if(s===0){const a=new Array(t).fill(null).map((o,c)=>({r:c,valueObject:e[c][s]}));n=this._getRepeatRowsByObjects(a)}else{if(n.length===0)break;let a=[];n.forEach(o=>{const c=o.map(f=>({r:f,valueObject:e[f][s]})),l=this._getRepeatRowsByObjects(c);a=a.concat(l)}),n=a}return n}_getRepeatRowsByObjects(e){const t=new Map;return e.forEach(r=>{const n=r.r,s=r.valueObject;let a=s.getValue();if(s.isNull()?a=null:s.isString()&&M.isRealNum(a)&&(a=+a),!t.has(a))t.set(a,[n]);else{const o=t.get(a);o.push(n),t.set(a,o)}}),Array.from(t.values()).filter(r=>r.length>1)}_transposeArray(e){const t=e.length,r=e[0].length,n=[];for(let s=0;s<r;s++){n[s]=[];for(let a=0;a<t;a++)n[s][a]=e[a][s]}return n}}class h0 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){if(e.isError())return e;if(t.isError())return t;if(!t.isArray())return g.create(h.VALUE);if(r.isError())return r;if(n!=null&&n.isError())return n;const s=n!=null?n:I.create(!0);return ei(e)&&ei(s)&&r.isArray()?this._handleArrayColIndexNum(e,t,r,s):this._handleNonArrayColIndexNum(e,t,r,s)}_handleArrayColIndexNum(e,t,r,n){const s=e.isArray()?e.getFirstCell():e,a=this.getZeroOrOneByOneDefault(n);if(a==null)return g.create(h.VALUE);let o;const c=[];return r.iterator((l,f,m)=>{if(l==null)return o=g.create(h.VALUE),!1;const d=this._handleTableArray(s,t,l,a);if(d.isError())return o=d,!1;c[f]===void 0&&(c[f]=[]),c[f][m]=d}),o||Or(c,c.length,c[0].length,this.unitId||"",this.subUnitId||"")}_handleNonArrayColIndexNum(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e),c=O(s,a,n);return o.map((l,f,m)=>{if(l.isError())return l;const d=c.get(f,m);if(d==null)return g.create(h.VALUE);if(d.isError())return d;const _=this.getZeroOrOneByOneDefault(d);return _==null?g.create(h.VALUE):this._handleTableArray(l,t,r,_)})}_handleTableArray(e,t,r,n){let s=this.getIndexNumValue(r);if(s instanceof g)return s;if(s=Math.floor(s),s<1)return g.create(h.VALUE);const a=t.slice(void 0,[0,1]);if(a==null)return g.create(h.VALUE);const o=t.slice(void 0,[s-1,s]);return o==null?g.create(h.REF):this._handleSingleObject(e,a,o,n)}_handleSingleObject(e,t,r,n){return n===0?this.equalSearch(e,t,r):this.binarySearch(e,t,r)}}class g0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=Math.max(...e.map(n=>n.isArray()?n.getColumnCount():1)),r=[];for(let n=0;n<e.length;n++){const s=e[n];if(s.isError())return s;const a=s.isArray()?s.getRowCount():1,o=s.isArray()?s.getColumnCount():1;for(let c=0;c<a;c++){const l=[];for(let f=0;f<t;f++){let m=s;s.isArray()&&(m=s.get(c,f)),f>o-1||!m?l.push(g.create(h.NA)):l.push(m)}r.push(l)}}return q.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class d0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){let n=r!=null?r:g.create(h.NA);n.isNull()&&(n=g.create(h.NA));const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=Math.max(t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),c=Math.max(t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),l=O(o,c,t,g.create(h.NA)),f=O(o,c,n,g.create(h.NA)),m=l.mapValue((d,_,C)=>{const E=f.get(_,C);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);if(d.isError())return d;const b=Math.trunc(+d.getValue());if(s>1&&a>1||Number.isNaN(b))return g.create(h.VALUE);if(b<1)return g.create(h.NUM);const y=e.isArray()?e.getArrayValue().flat():[e],p=this._getWrapArray(y,b,E);return o>1||c>1||p.length===1&&p[0].length===1?p[0][0]:q.create({calculateValueList:p,rowCount:p.length,columnCount:p[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return o===1&&c===1?m.get(0,0):m}_getWrapArray(e,t,r){const n=Math.ceil(e.length/t),s=n>1?t:e.length,a=[];for(let o=0;o<n;o++)for(let c=0;c<s;c++){a[c]||(a[c]=[]);const l=o*s+c;l<e.length?a[c].push(e[l].isNull()?R.create(0):e[l]):a[c].push(r)}return a}}class C0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){let n=r!=null?r:g.create(h.NA);n.isNull()&&(n=g.create(h.NA));const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=Math.max(t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),c=Math.max(t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),l=O(o,c,t,g.create(h.NA)),f=O(o,c,n,g.create(h.NA)),m=l.mapValue((d,_,C)=>{const E=f.get(_,C);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);if(d.isError())return d;const b=Math.trunc(+d.getValue());if(s>1&&a>1||Number.isNaN(b))return g.create(h.VALUE);if(b<1)return g.create(h.NUM);const y=e.isArray()?e.getArrayValue().flat():[e],p=this._getWrapArray(y,b,E);return o>1||c>1||p.length===1&&p[0].length===1?p[0][0]:q.create({calculateValueList:p,rowCount:p.length,columnCount:p[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return o===1&&c===1?m.get(0,0):m}_getWrapArray(e,t,r){const n=Math.ceil(e.length/t),s=n>1?t:e.length,a=[];for(let o=0;o<n;o++){const c=[];for(let l=0;l<s;l++){const f=o*s+l;f<e.length?c.push(e[f].isNull()?R.create(0):e[f]):c.push(r)}a.push(c)}return a}}class _0 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=n!=null?n:g.create(h.NA);n!=null&&n.isNull()&&(o=g.create(h.NA));let c=s!=null?s:R.create(0);s!=null&&s.isNull()&&(c=R.create(0));let l=a!=null?a:R.create(1);if(a!=null&&a.isNull()&&(l=R.create(1)),e.isError())return e;const f=t.isArray()?t.getRowCount():1,m=t.isArray()?t.getColumnCount():1,d=r.isArray()?r.getRowCount():1,_=r.isArray()?r.getColumnCount():1;if(f!==1&&m!==1||f===1&&m>1&&m!==_||m===1&&f>1&&f!==d)return g.create(h.VALUE);if(c.isError())return c;if(l.isError())return l;const C=this.getIndexNumValue(c);if(C instanceof g)return C;const E=this.getIndexNumValue(l);return E instanceof g?E:this._getResult(e,ws(t),ws(r),o,C,E,f,m,d,_)}_getResult(e,t,r,n,s,a,o,c,l,f){const m=e.isArray()?e.getRowCount():1,d=e.isArray()?e.getColumnCount():1;if(m>1||d>1){let b;return o===1?b=r.slice([0,1]):b=r.slice(void 0,[0,1]),b==null?g.create(h.NA):e.map(y=>{const p=this._checkErrorCombination(s,a);if(p)return p;const V=this._handleSingleObject(y,t,b,s,a);return V.isError()?n:V})}const _=e.isArray()?e.get(0,0):e;if(c===f&&o===l){const b=this._checkErrorCombination(s,a);if(b)return b;const y=this._handleSingleObject(_,t,r,s,a);return y.isError()?n:y}let C=0;c===f&&(C=1);const E=this._handleExpandObject(_,t,r,s,a,C);return E==null?g.create(h.NA):E}_handleExpandObject(e,t,r,n,s,a=0){if((s===2||s===-2)&&n!==2){const o=ps(s),c=Rs(n);return this.binarySearchExpand(e,t,r,a,o,c)}return n===2?this.fuzzySearchExpand(e,t,r,s!==-1,a):n===-1||n===1?this.orderSearchExpand(e,t,r,n===1?Me.MAX:Me.MIN,s===-1,a):this.equalSearchExpand(e,t,r,s!==-1,a)}_handleSingleObject(e,t,r,n,s){if((s===2||s===-2)&&n!==2){const a=ps(s),o=Rs(n);return this.binarySearch(e,t,r,a,o)}return n===2?this.fuzzySearch(e,t,r,s!==-1):n===-1||n===1?this.orderSearch(e,t,r,n===1?Me.MAX:Me.MIN,s===-1):this.equalSearch(e,t,r,s!==-1)}_checkErrorCombination(e,t){return e===2&&(t===-2||t===2)?g.create(h.VALUE):null}}class A0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",4)}calculate(e,t,r,n){let s=R.create(0);r&&!r.isNull()&&(s=r);let a=R.create(1);n&&!n.isNull()&&(a=n);const o=Math.max(e.isArray()?e.getRowCount():1,s.isArray()?s.getRowCount():1,a.isArray()?a.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,s.isArray()?s.getColumnCount():1,a.isArray()?a.getColumnCount():1),l=O(o,c,e,g.create(h.NA)),f=O(o,c,s,g.create(h.NA)),m=O(o,c,a,g.create(h.NA)),d=l.mapValue((_,C,E)=>{if(_.isError())return _;const b=f.get(C,E),y=m.get(C,E);return b.isError()?b:y.isError()?y:this._handleSingleObject(_,t,b,y)});return o===1&&c===1?d.get(0,0):d}_handleSingleObject(e,t,r,n){const s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;if(s!==1&&a!==1)return g.create(h.VALUE);let o=r;if((r.isString()||r.isBoolean()||r.isNull())&&(o=r.convertToNumberObjectValue()),o.isError())return o;let c=n;if((n.isString()||n.isBoolean()||n.isNull())&&(c=n.convertToNumberObjectValue()),c.isError())return c;const l=o.getValue(),f=c.getValue();return![-1,0,1,2].includes(l)||![-1,1,2].includes(f)?g.create(h.VALUE):this._getResult(e,t,l,f)}_getResult(e,t,r,n){const s=ws(t);let a;if((n===2||n===-2)&&r!==2){const o=ps(n),c=Rs(r);a=s.binarySearch(e,o,c)}else if(r===2){const o=s.compare(e,k.EQUALS);let c;if(n!==-1?c=o.getFirstTruePosition():c=o.getLastTruePosition(),c==null)return g.create(h.NA);a=s.getRowCount()===1?c.column:c.row}else if(r===-1||r===1){const o=s.orderSearch(e,r===1?Me.MAX:Me.MIN,n===-1);if(o==null)return g.create(h.NA);if(o instanceof g)return o;a=s.getRowCount()===1?o.column:o.row}else{const o=s.isEqual(e);let c;if(n!==-1?c=o.getFirstTruePosition():c=o.getLastTruePosition(),c==null)return g.create(h.NA);a=s.getRowCount()===1?c.column:c.row}return a==null?g.create(h.NA):R.create(a+1)}}const Ou=[[Id,me.ADDRESS],[Bd,me.AREAS],[kd,me.CHOOSE],[$d,me.CHOOSECOLS],[Yd,me.CHOOSEROWS],[Hd,me.COLUMN],[Gd,me.COLUMNS],[Wd,me.DROP],[Qd,me.EXPAND],[qd,me.FILTER],[Kd,me.FORMULATEXT],[Xd,me.HLOOKUP],[Zd,me.HSTACK],[zd,me.HYPERLINK],[Jd,me.INDEX],[e0,me.INDIRECT],[t0,me.LOOKUP],[r0,me.MATCH],[n0,me.OFFSET],[s0,me.ROW],[a0,me.ROWS],[i0,me.SORT],[o0,me.SORTBY],[u0,me.TAKE],[c0,me.TOCOL],[l0,me.TOROW],[f0,me.TRANSPOSE],[m0,me.UNIQUE],[h0,me.VLOOKUP],[g0,me.VSTACK],[d0,me.WRAPCOLS],[C0,me.WRAPROWS],[_0,me.XLOOKUP],[A0,me.XMATCH]];class E0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.abs()}}class b0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.acos()}}class y0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.acosh()}}class R0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.isArray()?t.map(r=>r.isError()?r:li(r)):li(t)}}function li(i){let u=i.getValue();if(i.isBoolean()&&(u=u?1:0),!Number.isFinite(u))return g.create(h.VALUE);u=Number(u);let e=Math.atan(1/u);return u<0&&(e+=Math.PI),Number.isNaN(e)?g.create(h.VALUE):R.create(e)}class p0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.isArray()?t.map(r=>r.isError()?r:fi(r)):fi(t)}}function fi(i){let u=i.getValue();if(i.isBoolean()&&(u=u?1:0),!Number.isFinite(u))return g.create(h.VALUE);if(u=Number(u),Math.abs(u)<=1)return g.create(h.NUM);const e=1/2*Math.log((u+1)/(u-1));return Number.isNaN(e)?g.create(h.VALUE):R.create(e)}class N0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return R.create(0);if(e.isBoolean()||e.isNumber())return g.create(h.VALUE);let t=e.getValue().toLocaleString().toLocaleUpperCase();if(t.length>255)return g.create(h.VALUE);const r=t.startsWith("-");r&&(t=t.slice(1));let n=0;for(let s=0;s<t.length;s++){const a=kr.get(t[s])||0,o=kr.get(t[s+1])||0,c=kr.get(t[s+2])||0,l=kr.get(t[s+3])||0;if(!a||c>=o&&c>a||a===o&&a===c&&a===l||a===o/2)return g.create(h.VALUE);a<o?n-=a:n+=a}return R.create(r?-n:n)}}class V0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.asin()}}class O0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.asinh()}}class M0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.atan()}}class S0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e,n=t;return r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:n.atan2(r))}}class D0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.atanh()}}class w0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:R.create(0);if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,n,g.create(h.NA)),f=o.map((m,d,_)=>{const C=c.get(d,_),E=l.get(d,_);return this._handleSingleObject(m,C,E)});return f.getRowCount()===1&&f.getColumnCount()===1?f.getArrayValue()[0][0]:f}_handleSingleObject(e,t,r){let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let s=t;if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;let a=r;if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;const o=Math.floor(+n.getValue()),c=Math.floor(+s.getValue()),l=Math.floor(+a.getValue());if(o<0||o>=2**53||c<2||c>36||l<0)return g.create(h.NUM);let f=o.toString(c);return f.length<l&&(f=new Array(l-f.length+1).join("0")+f),j.create(f.toLocaleUpperCase())}}class L0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((c,l,f)=>{let m=c,d=a.get(l,f);if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+m.getValue(),C=+d.getValue();if(_>0&&C<0)return g.create(h.NUM);if(_===0||C===0)return R.create(0);const E=Fe(_/C,0)*C;return R.create(E)});return o.getRowCount()===1&&o.getColumnCount()===1?o.getArrayValue()[0][0]:o}}class x0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){const n=t!=null?t:R.create(1),s=r!=null?r:R.create(0);if(e.isError())return e;if(n.isError())return n;if(s.isError())return s;const a=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),c=O(a,o,e,g.create(h.NA)),l=O(a,o,n,g.create(h.NA)),f=O(a,o,s,g.create(h.NA)),m=c.map((d,_,C)=>{let E=d,b=l.get(_,C),y=f.get(_,C);if(E.isString()&&(E=E.convertToNumberObjectValue()),E.isError())return E;if(b.isString()&&(b=b.convertToNumberObjectValue()),b.isError())return b;if(y.isString()&&(y=y.convertToNumberObjectValue()),y.isError())return y;const p=+E.getValue(),V=+b.getValue(),S=+y.getValue();return p===0||V===0?R.create(0):this._getResult(p,V,S)});return a===1&&o===1?m.get(0,0):m}_getResult(e,t,r){let n;return e<0&&r!==0?n=(t<0?Fe(Math.abs(e)/Math.abs(t),0):-Fe(Math.abs(e)/t,0))*t:n=(t<0?-Fe(e/Math.abs(t),0):Fe(e/t,0))*t,R.create(n)}}class P0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:R.create(1);if(e.isError())return e;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),c=a.map((l,f,m)=>{let d=o.get(f,m),_=l;if(_.isString()&&(_=_.convertToNumberObjectValue()),_.isError())return _;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const C=+_.getValue(),E=+d.getValue();if(C===0||E===0)return R.create(0);const b=(E<0?-Fe(C/Math.abs(E),0):Fe(C/E,0))*E;return R.create(b)});return n===1&&s===1?c.get(0,0):c}}class j0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{let m=c,d=a.get(l,f);if(m.isString()&&(m=m.convertToNumberObjectValue()),d.isString()&&(d=d.convertToNumberObjectValue()),m.isError())return m;if(d.isError())return d;const _=Math.floor(+m.getValue()),C=Math.floor(+d.getValue());if(_<0||C<0||_<C)return g.create(h.NUM);const E=Ht(_,C);return Number.isNaN(E)||!Number.isFinite(E)?g.create(h.NUM):R.create(E)});return r===1&&n===1?o.get(0,0):o}}class U0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{let m=c,d=a.get(l,f);if(m.isString()&&(m=m.convertToNumberObjectValue()),d.isString()&&(d=d.convertToNumberObjectValue()),m.isError())return m;if(d.isError())return d;const _=Math.floor(+m.getValue()),C=Math.floor(+d.getValue());if(_<0||C<0||_===0&&_<C)return g.create(h.NUM);const E=Ht(_+C-1,_-1);return Number.isNaN(E)||!Number.isFinite(E)?g.create(h.NUM):R.create(E)});return r===1&&n===1?o.get(0,0):o}}class v0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.cos()}}class T0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.cosh()}}class I0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();return Math.abs(r)>=2**27?g.create(h.NUM):r===0?g.create(h.DIV_BY_ZERO):t.tan().getReciprocal()}}class F0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:+t.getValue()===0?g.create(h.DIV_BY_ZERO):t.tanh().getReciprocal()}}class B0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();return Math.abs(r)>=2**27?g.create(h.NUM):r===0?g.create(h.DIV_BY_ZERO):t.sin().getReciprocal()}}class k0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();return r===0?g.create(h.DIV_BY_ZERO):!Number.isNaN(r)&&!Number.isFinite(Math.sinh(r))?R.create(0):t.sinh().getReciprocal()}}class $0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((c,l,f)=>{if(c.isError())return c;let m=a.get(l,f);if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;const d=`${c.getValue()}`,_=Math.floor(+m.getValue());if(M.isRealNum(d)&&(+d<0||+d>=2**53||!Number.isInteger(+d))||d.toLocaleLowerCase()==="true"||d.toLocaleLowerCase()==="false"||_<2||_>36)return g.create(h.NUM);if(d.replace(/\s/g,"")==="")return R.create(0);if(!this._isValidCharForRadix(d,_))return g.create(h.NUM);const C=Number.parseInt(d,_);return Number.isNaN(C)?g.create(h.NUM):R.create(C)});return r===1&&n===1?o.get(0,0):o}_isValidCharForRadix(e,t){for(const r of e){const n=r.toUpperCase().charCodeAt(0);if(t<=10&&!(n>=48&&n<48+t)||t>10&&!(n>=48&&n<58||n>=65&&n<65+t-10))return!1}return!0}}class Y0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();if(!Number.isFinite(r))return g.create(h.VALUE);const n=r*(180/Math.PI);return Number.isNaN(n)?g.create(h.VALUE):R.create(n)}}class H0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();if(!Number.isFinite(r))return g.create(h.VALUE);const n=(r<0?-Fe(Math.abs(r)/2,0):Fe(r/2,0))*2;return Number.isNaN(n)?g.create(h.VALUE):n===0?R.create(0):R.create(n)}}class G0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.exp()}}class W0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=Math.floor(+t.getValue()),n=er(r);return Number.isNaN(n)||!Number.isFinite(n)?g.create(h.NUM):R.create(n)}}class Q0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(e.isArray()){const r=e.getRowCount(),n=e.getColumnCount();if(r>1||n>1)return g.create(h.VALUE);t=e.get(0,0)}return this._handleSingleObject(t)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=Math.floor(+t.getValue()),n=er(r,2);return Number.isNaN(n)||!Number.isFinite(n)?g.create(h.NUM):R.create(n)}}class q0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((c,l,f)=>{let m=a.get(l,f),d=c;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;const _=+d.getValue(),C=+m.getValue();if(_>0&&C<0)return g.create(h.NUM);if(_===0)return R.create(0);if(C===0)return g.create(h.DIV_BY_ZERO);const E=He(_/C,0)*C;return R.create(E)});return r===1&&n===1?o.get(0,0):o}}class K0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){const n=t!=null?t:R.create(1),s=r!=null?r:R.create(0),a=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),c=O(a,o,e,g.create(h.NA)),l=O(a,o,n,g.create(h.NA)),f=O(a,o,s,g.create(h.NA)),m=c.map((d,_,C)=>{let E=d,b=l.get(_,C),y=f.get(_,C);if(E.isString()&&(E=E.convertToNumberObjectValue()),E.isError())return E;if(b.isString()&&(b=b.convertToNumberObjectValue()),b.isError())return b;if(y.isString()&&(y=y.convertToNumberObjectValue()),y.isError())return y;const p=+E.getValue(),V=+b.getValue(),S=+y.getValue();if(p===0||V===0)return R.create(0);let D;return p<0&&S!==0?D=(V<0?He(Math.abs(p)/Math.abs(V),0):-He(Math.abs(p)/V,0))*V:D=(V<0?-He(p/Math.abs(V),0):He(p/V,0))*V,R.create(D)});return a===1&&o===1?m.get(0,0):m}}class X0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:R.create(1);if(e.isError())return e;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),c=a.map((l,f,m)=>{let d=o.get(f,m),_=l;if(_.isString()&&(_=_.convertToNumberObjectValue()),_.isError())return _;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const C=+_.getValue(),E=+d.getValue();if(C===0||E===0)return R.create(0);const b=(E<0?-He(C/Math.abs(E),0):He(C/E,0))*E;return R.create(b)});return n===1&&s===1?c.get(0,0):c}}class Z0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=0;for(let r=0;r<e.length;r++){const n=e[r];if(!n.isNull())if(n.isArray()){let s=!1,a=g.create(h.VALUE);if(n.iterator(o=>{if(o!=null&&o.isNull())return!0;const{isError:c,errorObject:l,number:f}=this._handleSingleObject(o);if(c)return s=!0,a=l,!1;t=Us(t,f)}),s)return a}else{const{isError:s,errorObject:a,number:o}=this._handleSingleObject(n);if(s)return a;t=Us(t,o)}}return R.create(t)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};const r=Math.floor(+t.getValue());return r<0||r>=2**53?{isError:!0,errorObject:g.create(h.NUM),number:null}:{isError:!1,errorObject:null,number:r}}}class z0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=Math.floor(+t.getValue());return R.create(r)}}class J0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=1,r=!0;for(let n=0;n<e.length;n++){const s=e[n];if(!s.isNull())if(s.isArray()){let a=!1,o=g.create(h.VALUE);if(s.iterator(c=>{if(c!=null&&c.isNull())return!0;const{isError:l,errorObject:f,number:m}=this._handleSingleObject(c);if(l)return a=!0,o=f,!1;t=oi(t,m),r=!1}),a)return o}else{const{isError:a,errorObject:o,number:c}=this._handleSingleObject(s);if(a)return o;t=oi(t,c),r=!1}}return r?R.create(0):Number.isNaN(t)||!Number.isFinite(t)||t>=2**53?g.create(h.VALUE):R.create(t)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};const r=Math.floor(+t.getValue());return r<0?{isError:!0,errorObject:g.create(h.NUM),number:null}:{isError:!1,errorObject:null,number:r}}}class eC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.log()}}class tC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:R.create(10);if(e.isError())return e;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),c=a.map((l,f,m)=>{let d=o.get(f,m),_=l;if(_.isString()&&(_=_.convertToNumberObjectValue()),_.isError())return _;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const C=+_.getValue(),E=+d.getValue();if(C<=0||E<=0)return g.create(h.NUM);const b=Math.log(E);if(b===0)return g.create(h.DIV_BY_ZERO);const y=Math.log(C)/b;return R.create(y)});return n===1&&s===1?c.get(0,0):c}}class rC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.log10()}}class nC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let a=0;a<t;a++){const o=[];for(let c=0;c<r;c++){let l=e.isArray()?e.get(a,c):e;if(l.isError())return l;if(l.isNull()||l.isBoolean())return g.create(h.VALUE);if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;const f=+l.getValue();o.push(f)}n.push(o)}if(t!==r)return g.create(h.VALUE);const s=fa(n);return R.create(s)}}class sC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let a=0;a<t;a++){const o=[];for(let c=0;c<r;c++){let l=e.isArray()?e.get(a,c):e;if(l.isError())return l;if(l.isNull()||l.isBoolean())return g.create(h.VALUE);if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;const f=+l.getValue();o.push(f)}n.push(o)}if(t!==r)return g.create(h.VALUE);const s=dm(n);return s===null?g.create(h.NUM):q.createByArray(s)}}class aC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;if(n!==s)return g.create(h.VALUE);const o=this._getMatrix(e,r,n),c=this._getMatrix(t,s,a);if(o instanceof g)return o;if(c instanceof g)return c;const l=tr(o,c);return q.createByArray(l)}_getMatrix(e,t,r){const n=[];for(let s=0;s<t;s++){const a=[];for(let o=0;o<r;o++){let c=e.isArray()?e.get(s,o):e;if(c.isError())return c;if(c.isNull()||c.isBoolean())return g.create(h.VALUE);if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return c;const l=+c.getValue();a.push(l)}n.push(a)}return n}}class iC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.mod(n)}}class oC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isArray()){const c=r.getRowCount(),l=r.getColumnCount();if(c>1||l>1)return g.create(h.VALUE);r=r.get(0,0)}if(r.isError())return r;let n=t;if(n.isArray()){const c=n.getRowCount(),l=n.getColumnCount();if(c>1||l>1)return g.create(h.VALUE);n=n.get(0,0)}if(n.isError())return n;if(r.isBoolean()||n.isBoolean())return g.create(h.VALUE);const s=+r.getValue(),a=+n.getValue();if(Number.isNaN(s)||Number.isNaN(a))return g.create(h.VALUE);if(a===0)return R.create(0);if(s>0&&a<0||s<0&&a>0)return g.create(h.NUM);const o=Dt(s/a,0)*a;return R.create(o)}}class uC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=0,r=1;for(let s=0;s<e.length;s++){const a=e[s];if(!a.isNull())if(a.isArray()){let o=!1,c=g.create(h.VALUE);if(a.iterator(l=>{if(l!=null&&l.isNull())return!0;const{isError:f,errorObject:m,number:d}=this._handleSingleObject(l);if(f)return o=!0,c=m,!1;if(t+=d,t>170)return o=!0,c=g.create(h.NUM),!1;r*=er(d)}),o)return c}else{const{isError:o,errorObject:c,number:l}=this._handleSingleObject(a);if(o)return c;if(t+=l,t>170)return g.create(h.NUM);r*=er(l)}}const n=er(t)/r;return R.create(n)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};const r=Math.floor(+t.getValue());return r<0?{isError:!0,errorObject:g.create(h.NUM),number:null}:{isError:!1,errorObject:null,number:r}}}class cC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.getRowCount(),r=e.getColumnCount(),n=e.mapValue(s=>{const a=this._handleSingleObject(s);return a.isError()?a:t>1||r>1?a.get(0,0):a});return t===1&&r===1?n.get(0,0):n}return this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=Math.floor(+t.getValue());if(r<=0)return g.create(h.VALUE);const n=[];for(let s=0;s<r;s++){n[s]=[];for(let a=0;a<r;a++)n[s][a]=s===a?1:0}return q.createByArray(n)}}class lC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();if(!Number.isFinite(r))return g.create(h.VALUE);let n=r<0?-Fe(Math.abs(r),0):Fe(r,0);return Number.isNaN(n)?g.create(h.VALUE):(Math.abs(n)%2===0&&(r<0?n--:n++),R.create(n))}}class fC extends N{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){return R.create(Math.PI)}}class mC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.pow(n)}}class hC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=R.create(1),r=!0;for(let n=0;n<e.length;n++){let s=e[n];if(s.isError())return s;if(s.isArray()){let a=!1,o=null;if(s.iterator(c=>{if(c!=null&&c.isError())return a=!0,o=c,!1;if(!c||c.isNull()||c.isString()||c.isBoolean())return!0;t=t.multiply(c),r=!1}),a)return o}else{if(s.isNull())continue;if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;t=t.multiply(s),r=!1}if(t.isError())return t}return r?R.create(0):t}}class gC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=G(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=+o.getValue();if(Number.isNaN(c)||Number.isNaN(l))return g.create(h.VALUE);if(l===0)return g.create(h.DIV_BY_ZERO);const f=Math.trunc(c/l);return R.create(f)}}class dC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();if(!Number.isFinite(r))return g.create(h.VALUE);const n=r*(Math.PI/180);return Number.isNaN(n)?g.create(h.VALUE):R.create(n)}}class CC extends N{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){return R.create(Math.random())}}class _C extends N{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",5);A(this,"needsSheetRowColumnCount",!0)}calculate(e,t,r,n,s){if(e!=null&&e.isError())return e;if(t!=null&&t.isError())return t;if(r!=null&&r.isError())return r;if(n!=null&&n.isError())return n;if(s!=null&&s.isError())return s;const a=e!=null?e:R.create(1),o=t!=null?t:R.create(1),c=r!=null?r:R.create(0),l=n!=null?n:R.create(1),f=s!=null?s:R.create(0);return this._calculateResult(a,o,c,l,f)}_calculateResult(e,t,r,n,s){const a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1);if(a===1&&o===1)return this._calculateSingleCell(e,t,r,n,s);const c=O(a,o,e,g.create(h.NA)),l=O(a,o,t,g.create(h.NA)),f=O(a,o,r,g.create(h.NA)),m=O(a,o,n,g.create(h.NA)),d=O(a,o,s,g.create(h.NA));return c.map((_,C,E)=>{const b=l.get(C,E),y=f.get(C,E),p=m.get(C,E),V=d.get(C,E),S=this._handleError(_,b,y,p,V);if(S.errorObject)return S.errorObject;let{minValue:D,maxValue:w,wholeNumberValue:L}=S,x;return L?(D=Math.ceil(D),w=Math.floor(w),x=Math.floor(Math.random()*(w-D+1))+D):x=Math.random()*(w-D)+D,x<D||x>w?g.create(h.VALUE):R.create(x)})}_calculateSingleCell(e,t,r,n,s){let a=e;a.isArray()&&(a=a.get(0,0));let o=t;o.isArray()&&(o=o.get(0,0));let c=r;c.isArray()&&(c=c.get(0,0));let l=n;l.isArray()&&(l=l.get(0,0));let f=s;f.isArray()&&(f=f.get(0,0));const m=this._handleError(a,o,c,l,f);if(m.errorObject)return m.errorObject;let{rowsValue:d,columnsValue:_,minValue:C,maxValue:E,wholeNumberValue:b}=m;if(b&&(C=Math.ceil(C),E=Math.floor(E),C>E))return g.create(h.VALUE);const y=[];for(let p=0;p<d;p++){const V=[];for(let S=0;S<_;S++)b?V.push(Math.floor(Math.random()*(E-C+1))+C):V.push(Math.random()*(E-C)+C);y.push(V)}return d===1&&_===1?R.create(y[0][0]):q.createByArray(y)}_handleError(e,t,r,n,s){let a=e;if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return{errorObject:a};let o=t;if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return{errorObject:o};let c=r;if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return{errorObject:c};let l=n;if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return{errorObject:l};let f=s;return f.isString()&&(f=f.convertToNumberObjectValue()),f.isError()?{errorObject:f}:this._getValue(a,o,c,l,f)}_getValue(e,t,r,n,s){const a=Math.floor(+e.getValue()),o=Math.floor(+t.getValue());if(a===0||o===0)return{errorObject:g.create(h.CALC)};const c=this._rowCount-this.row,l=this._columnCount-this.column;if(a<0||o<0||a*o>10**7)return{errorObject:g.create(h.VALUE)};if(a>c||o>l)return{errorObject:g.create(h.REF)};const f=+r.getValue(),m=+n.getValue(),d=+s.getValue();return f>m?{errorObject:g.create(h.VALUE)}:d&&(!Number.isInteger(f)||!Number.isInteger(m))?{errorObject:g.create(h.VALUE)}:{rowsValue:a,columnsValue:o,minValue:f,maxValue:m,wholeNumberValue:d}}}class AC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isArray()){const c=r.getRowCount(),l=r.getColumnCount();if(c>1||l>1)return g.create(h.VALUE);r=r.get(0,0)}if(r.isError())return r;let n=t;if(n.isArray()){const c=n.getRowCount(),l=n.getColumnCount();if(c>1||l>1)return g.create(h.VALUE);n=n.get(0,0)}if(n.isError())return n;if(r.isBoolean()||n.isBoolean())return g.create(h.VALUE);let s=+r.getValue(),a=+n.getValue();if(Number.isNaN(s)||Number.isNaN(a))return g.create(h.VALUE);if(s>a)return g.create(h.NUM);s=Math.ceil(s),a=Math.floor(a);const o=Math.floor(Math.random()*(a-s+1))+s;return R.create(o)}}class EC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:R.create(0),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),c=a.mapValue((l,f,m)=>{const d=o.get(f,m);return l.isError()?l:d.isError()?d:this._handleSingleObject(l,d)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=F(e);if(r)return n;const[a]=s;let o=Math.floor(+a.getValue()),c=t;if(c.isString()&&(c=c.convertToNumberObjectValue(),c.isError()))return c;let l=Math.floor(+c.getValue());if(c.isBoolean()&&(l=c.getValue()?0:4),o<0||o>3999||l<0||l>4)return g.create(h.VALUE);const f=pm[l];let m=f.length-1,d="";for(;o>0;){m=this._binarySearch(o,0,m,f);const _=f[m];o-=_,d+=Rm.get(_)}return j.create(d)}_binarySearch(e,t,r,n){let s=t,a=r;for(;a-s>1;){const o=Math.floor((s+a)/2),c=n[o];if(c===e)return o;c>e?a=o:s=o}return s!==a&&n[a]<=e?a:s}}class bC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.round(n)}}class yC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);if(c.isError())return c;if(m.isError())return m;const{isError:d,errorObject:_,variants:C}=F(c,m);if(d)return _;const[E,b]=C,y=+E.getValue(),p=Math.trunc(+b.getValue()),V=this._roundBank(y,p);return R.create(V)});return r===1&&n===1?o.get(0,0):o}_roundBank(e,t){if(t>16)return e;if(t<-16)return 0;const r=1e-8,n=10**t,s=+(e*n).toFixed(8),a=Math.floor(s),o=s-a;let c=Math.round(s);return o>.5-r&&o<.5+r&&(c=a%2===0?a:a+1),t?c/n:c}}class RC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.floor(n)}}class pC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.ceil(n)}}class NC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();return Math.abs(r)>=2**27?g.create(h.NUM):t.cos().getReciprocal()}}class VC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();return Number.isFinite(Math.cosh(r))?Math.abs(r)>=2**27?g.create(h.NUM):t.cosh().getReciprocal():R.create(0)}}class OC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4);A(this,"needsSheetRowColumnCount",!0)}calculate(e,t,r,n){let s=e,a=t!=null?t:R.create(1),o=r!=null?r:R.create(1),c=n!=null?n:R.create(1);s.isNull()&&(s=R.create(1)),a.isNull()&&(a=R.create(1)),o.isNull()&&(o=R.create(1)),c.isNull()&&(c=R.create(1));const l=Math.max(s.isArray()?s.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1,c.isArray()?c.getRowCount():1),f=Math.max(s.isArray()?s.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1,c.isArray()?c.getColumnCount():1),m=O(l,f,s,g.create(h.NA)),d=O(l,f,a,g.create(h.NA)),_=O(l,f,o,g.create(h.NA)),C=O(l,f,c,g.create(h.NA)),E=m.mapValue((b,y,p)=>{const V=d.get(y,p),S=_.get(y,p),D=C.get(y,p);return b.isError()?b:V.isError()?V:S.isError()?S:D.isError()?D:this._getResult(b,V,S,D,l,f)});return l===1&&f===1?E.get(0,0):E}_getResult(e,t,r,n,s,a){const{isError:o,errorObject:c,variants:l}=F(e,t,r,n);if(o)return c;const[f,m,d,_]=l,C=Math.floor(+f.getValue()),E=Math.floor(+m.getValue()),b=+d.getValue(),y=+_.getValue();if(C<0||E<0||C*E>10**7)return g.create(h.VALUE);if(C===0||E===0)return g.create(h.CALC);const p=this._rowCount-this.row,V=this._columnCount-this.column;if(C>p||E>V)return g.create(h.REF);const S=[];for(let D=0;D<C;D++){S[D]=[];for(let w=0;w<E;w++)S[D][w]=b+(D*E+w)*y}return s>1||a>1?R.create(S[0][0]):q.createByArray(S)}}class MC extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){if(e.isNull()||t.isNull()||r.isNull()||n.isNull())return g.create(h.NA);const{isError:s,errorObject:a,variants:o}=G(e,t,r);if(s)return a;const{isError:c,errorObject:l,variants:f}=F(...o);if(c)return l;const[m,d,_]=f,C=+m.getValue(),E=+d.getValue(),b=+_.getValue(),y=[];if(n.isArray()){let V=!1,S=g.create(h.VALUE);if(n.iterator(D=>{const{isError:w,errorObject:L,coefficientsObject:x}=this._handleSingleObject(D);if(w)return V=!0,S=L,!1;const v=+x.getValue();y.push(v)}),V)return S}else{const{isError:V,errorObject:S,coefficientsObject:D}=this._handleSingleObject(n);if(V)return S;const w=+D.getValue();y.push(w)}let p=0;for(let V=0;V<y.length;V++)p+=y[V]*C**(E+V*b);return Number.isNaN(p)||!Number.isFinite(p)?g.create(h.NUM):R.create(p)}_handleSingleObject(e){if(e.isError())return{isError:!0,errorObject:e,coefficientsObject:null};if(e!=null&&e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE),coefficientsObject:null};let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?{isError:!0,errorObject:t,coefficientsObject:null}:{isError:!1,errorObject:null,coefficientsObject:t}}}class SC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;const{isError:t,errorObject:r,variants:n}=F(e);if(t)return r;const[s]=n,a=+s.getValue();return a>0?R.create(1):a<0?R.create(-1):R.create(0)}}class DC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sin()}}class wC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sinh()}}class LC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sqrt()}}class xC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const s=t.getRowCount(),a=t.getColumnCount();if(s>1||a>1)return g.create(h.VALUE);t=t.get(0,0)}if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();if(r<0)return g.create(h.NUM);const n=Math.sqrt(r*Math.PI);return R.create(n)}}class PC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255);A(this,"needsReferenceObject",!0);A(this,"needsFilteredOutRows",!0);A(this,"needsFormulaDataModel",!0)}calculate(e,...t){return e.isError()?e:e.isReferenceObject()?e.toArrayValueObject().mapValue(r=>this._handleSingleObject(r,...t)):this._handleSingleObject(e,...t)}_handleSingleObject(e,...t){const r=this._getIndexNumValue(e);let n;if(r instanceof g)return r;switch(r){case 1:n=this._average(!1,...t);break;case 2:n=this._count(!1,...t);break;case 3:n=this._counta(!1,...t);break;case 4:n=this._max(!1,...t);break;case 5:n=this._min(!1,...t);break;case 6:n=this._product(!1,...t);break;case 7:n=this._stdev(!1,...t);break;case 8:n=this._stdevp(!1,...t);break;case 9:n=this._sum(!1,...t);break;case 10:n=this._var(!1,...t);break;case 11:n=this._varp(!1,...t);break;case 101:n=this._average(!0,...t);break;case 102:n=this._count(!0,...t);break;case 103:n=this._counta(!0,...t);break;case 104:n=this._max(!0,...t);break;case 105:n=this._min(!0,...t);break;case 106:n=this._product(!0,...t);break;case 107:n=this._stdev(!0,...t);break;case 108:n=this._stdevp(!0,...t);break;case 109:n=this._sum(!0,...t);break;case 110:n=this._var(!0,...t);break;case 111:n=this._varp(!0,...t);break;default:n=g.create(h.VALUE)}return n}_getIndexNumValue(e){const t=e?Number(e.getValue()):0;if(Number.isNaN(t))return g.create(h.VALUE);const r=Math.floor(t);return r>=1&&r<=11||r>=101&&r<=111?r:g.create(h.VALUE)}_average(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:r.mean()}_count(e,...t){let r=R.create(0);for(let n=0;n<t.length;n++){const s=t[n];if(!s.isReferenceObject())return g.create(h.VALUE);const a=s.getFilteredOutRows(),o=s.getRowData();s.iterator((c,l)=>{if(a.includes(l)||e&&this._isRowHidden(o,l))return!0;c!=null&&c.isNumber()&&(r=r.plusBy(1))})}return r}_counta(e,...t){let r=R.create(0);for(let n=0;n<t.length;n++){const s=t[n];if(!s.isReferenceObject())return g.create(h.VALUE);const a=s.getFilteredOutRows(),o=s.getRowData();s.iterator((c,l)=>{if(a.includes(l)||e&&this._isRowHidden(o,l)||c==null||c.isNull())return!0;r=r.plusBy(1)})}return r}_max(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?R.create(0):r.max()}_min(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?R.create(0):r.min()}_product(e,...t){const r=this._flattenRefArray(e,...t);if(r.isError())return r;if(this._isBlankArrayObject(r))return R.create(0);let n=R.create(1);return r.iterator(s=>{n=n.multiply(s)}),n}_stdev(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?g.create(h.DIV_BY_ZERO):r.std(1)}_stdevp(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?g.create(h.DIV_BY_ZERO):r.std()}_sum(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:r.sum()}_var(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?g.create(h.DIV_BY_ZERO):r.var(1)}_varp(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?g.create(h.DIV_BY_ZERO):r.var()}_flattenRefArray(e,...t){var n,s;const r=[];r[0]=[];for(let a=0;a<t.length;a++){const o=t[a];if(o.isError())return o;if(!o.isReferenceObject())return g.create(h.VALUE);const c=o.getFilteredOutRows(),l=o.getRowData(),f=o.getUnitId(),m=o.getSheetId(),_=(s=(n=o.getUnitData()[f])==null?void 0:n[m])==null?void 0:s.cellData;let C;if(o.iterator((E,b,y)=>{if(c.includes(b)||e&&this._isRowHidden(l,b))return!0;const p=_.getValue(b,y);if(p!=null&&p.f||p!=null&&p.si){const V=this._formulaDataModel.getFormulaStringByCell(b,y,m,f);if(V&&V.indexOf(`${this.name}(`)>-1)return!0}if(E==null||E.isNull()||E.isString()||E.isBoolean())return!0;if(E.isError())return C=E,!1;r[0].push(E)}),C!=null&&C.isError())return C}return Or(r,1,r[0].length)}_isRowHidden(e,t){const r=e[t];return r?r.hd===M.BooleanNumber.TRUE:!1}_isBlankArrayObject(e){return e.getArrayValue()[0].length===0}}class jC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=R.create(0);for(let r=0;r<e.length;r++){let n=e[r];if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()||(n.isArray()&&(n=n.sum()),n.isError()))return n;if(t=t.plus(n),t.isError())return t}return t}}class UC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){if(!e.isReferenceObject()||r&&!r.isReferenceObject())return g.create(h.VALUE);let n=t;if(t.isReferenceObject()&&(n=t.toArrayValueObject()),n.isArray()){const s=n.mapValue(a=>this._handleSingleObject(e,a,r));return s.getRowCount()===1&&s.getColumnCount()===1?s.get(0,0):s}return this._handleSingleObject(e,n,r)}_handleSingleObject(e,t,r){const n=e.toArrayValueObject();let s=Bn(n,t);s=kn(s,n,t);const a=n.getRowCount(),o=n.getColumnCount();let c=n;if(r){c=r.toArrayValueObject();const l=c.getRowCount(),f=c.getColumnCount();if(a!==l||o!==f){const m=r.getRangeData();m.endRow=m.startRow+a-1,m.endColumn=m.startColumn+o-1,r.setRangeData(m),c=r.toArrayValueObject()}}return c.pick(s).sum()}}class vC extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(e,...t){const{isError:r,errorObject:n,rangeIsDifferentSize:s,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:c,variants:l}=Mr(t,e);if(r)return n;if(s)return a===1&&o===1?g.create(h.VALUE):O(a,o,g.create(h.VALUE));const f=Sr(l,a,o,!0);return this._aggregateResults(c,f)}_aggregateResults(e,t){const r=t.map(n=>n.map(s=>e.pick(s).sum()));return r.length===1&&r[0].length===1?r[0][0]:q.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}}class TC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(e,...t){if(e.isError())return e;const r=this._initArray1(e);if(t.length>0){const n=r.getRowCount(),s=r.getColumnCount();let a=this._getResultArrayByArray1(n,s,r);if(a instanceof g)return a;a=a;for(let c=0;c<t.length;c++){if(t[c].isError())return t[c];let l=1,f=1;if(t[c].isArray()&&(l=t[c].getRowCount(),f=t[c].getColumnCount()),l!==n||f!==s)return g.create(h.VALUE);for(let m=0;m<n;m++){const d=[];for(let _=0;_<s;_++){let C=t[c];if(t[c].isArray()&&(C=t[c].get(m,_)),C.isError())return C;C.isNumber()?d.push(C.getValue()*a[m][_]):d.push(0)}a[m]=d}}const o=a.reduce((c,l)=>c.concat(l)).reduce((c,l)=>c+l,0);return R.create(o)}else return r.sum()}_initArray1(e){let t=e;return t.isArray()||(t=q.create({calculateValueList:[[t]],rowCount:1,columnCount:1,unitId:"",sheetId:"",row:0,column:0})),t}_getResultArrayByArray1(e,t,r){const n=[];for(let s=0;s<e;s++){const a=[];for(let o=0;o<t;o++){const c=r.get(s,o);if(c.isError())return c;c.isNumber()?a.push(c.getValue()):a.push(0)}n.push(a)}return n}}class IC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=R.create(0);const r=R.create(2);for(let n=0;n<e.length;n++){let s=e[n];if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()?s.iterator(a=>{if(a==null||a.isString()||a.isBoolean()||a.isNull())return!0;if(a.isError())return t=a,!1;t=t.plus(a.pow(r))}):t=t.plus(s.pow(r)),t.isError())return t}return t}}class FC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=r*n,a=t.isArray()?t.getRowCount():1,o=t.isArray()?t.getColumnCount():1,c=a*o;if(s!==c)return g.create(h.NA);if(s===1)return this._calculateSingleCell(e,t);{const l=e.flatten(),f=t.flatten();let m=ue.create();const d=[],_=[];let C=0;return l.iterator((E,b,y)=>{const p=f.get(b,y);if(E==null||E.isString()||E.isBoolean()||E.isNull())return!0;if(E!=null&&E.isError())return m=E,!1;if(p==null||p.isString()||p.isBoolean()||p.isNull())return!0;if(p!=null&&p.isError())return m=p,!1;const V=+E.getValue(),S=+p.getValue();d.push(V),_.push(S),C+=V**2-S**2}),m.isError()?m:d.length===0||_.length===0?g.create(h.DIV_BY_ZERO):R.create(C)}}_calculateSingleCell(e,t){let r=e;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;let n=t;if(n.isArray()&&(n=n.get(0,0)),n.isError())return n;if(r.isNull()||n.isNull())return g.create(h.VALUE);const s=+r.getValue(),a=+n.getValue();if(r.isString()&&!M.isRealNum(s)||r.isBoolean()||n.isString()&&!M.isRealNum(a)||n.isBoolean())return g.create(h.DIV_BY_ZERO);const o=s**2-a**2;return R.create(o)}}class BC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=r*n,a=t.isArray()?t.getRowCount():1,o=t.isArray()?t.getColumnCount():1,c=a*o;if(s!==c)return g.create(h.NA);if(s===1)return this._calculateSingleCell(e,t);{const l=e.flatten(),f=t.flatten();let m=ue.create();const d=[],_=[];let C=0;return l.iterator((E,b,y)=>{const p=f.get(b,y);if(E==null||E.isString()||E.isBoolean()||E.isNull())return!0;if(E!=null&&E.isError())return m=E,!1;if(p==null||p.isString()||p.isBoolean()||p.isNull())return!0;if(p!=null&&p.isError())return m=p,!1;const V=+E.getValue(),S=+p.getValue();d.push(V),_.push(S),C+=V**2+S**2}),m.isError()?m:d.length===0||_.length===0?g.create(h.DIV_BY_ZERO):R.create(C)}}_calculateSingleCell(e,t){let r=e;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;let n=t;if(n.isArray()&&(n=n.get(0,0)),n.isError())return n;if(r.isNull()||n.isNull())return g.create(h.VALUE);const s=+r.getValue(),a=+n.getValue();if(r.isString()&&!M.isRealNum(s)||r.isBoolean()||n.isString()&&!M.isRealNum(a)||n.isBoolean())return g.create(h.DIV_BY_ZERO);const o=s**2+a**2;return R.create(o)}}class kC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=r*n,a=t.isArray()?t.getRowCount():1,o=t.isArray()?t.getColumnCount():1,c=a*o;if(s!==c)return g.create(h.NA);if(s===1)return this._calculateSingleCell(e,t);{const l=e.flatten(),f=t.flatten();let m=ue.create();const d=[],_=[];let C=0;return l.iterator((E,b,y)=>{const p=f.get(b,y);if(E==null||E.isString()||E.isBoolean()||E.isNull())return!0;if(E!=null&&E.isError())return m=E,!1;if(p==null||p.isString()||p.isBoolean()||p.isNull())return!0;if(p!=null&&p.isError())return m=p,!1;const V=+E.getValue(),S=+p.getValue();d.push(V),_.push(S),C+=(V-S)**2}),m.isError()?m:d.length===0||_.length===0?g.create(h.DIV_BY_ZERO):R.create(C)}}_calculateSingleCell(e,t){let r=e;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;let n=t;if(n.isArray()&&(n=n.get(0,0)),n.isError())return n;if(r.isNull()||n.isNull())return g.create(h.VALUE);const s=+r.getValue(),a=+n.getValue();if(r.isString()&&!M.isRealNum(s)||r.isBoolean()||n.isString()&&!M.isRealNum(a)||n.isBoolean())return g.create(h.DIV_BY_ZERO);const o=(s-a)**2;return R.create(o)}}class $C extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.tan()}}class YC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.tanh()}}class HC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:R.create(0),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),c=a.map((l,f,m)=>{let d=o.get(f,m),_=l;if(_.isString()&&(_=_.convertToNumberObjectValue()),_.isError())return _;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const C=+_.getValue(),E=+d.getValue(),b=10**Math.trunc(E),y=Tn(C,b),p=Math.trunc(lr(C,b)+y)/b;return R.create(p)});return n===1&&s===1?c.get(0,0):c}}const Mu=[[E0,H.ABS],[b0,H.ACOS],[y0,H.ACOSH],[R0,H.ACOT],[p0,H.ACOTH],[N0,H.ARABIC],[V0,H.ASIN],[O0,H.ASINH],[M0,H.ATAN],[S0,H.ATAN2],[D0,H.ATANH],[w0,H.BASE],[L0,H.CEILING],[x0,H.CEILING_MATH],[P0,H.CEILING_PRECISE],[j0,H.COMBIN],[U0,H.COMBINA],[v0,H.COS],[T0,H.COSH],[I0,H.COT],[F0,H.COTH],[B0,H.CSC],[k0,H.CSCH],[$0,H.DECIMAL],[Y0,H.DEGREES],[H0,H.EVEN],[G0,H.EXP],[W0,H.FACT],[Q0,H.FACTDOUBLE],[q0,H.FLOOR],[K0,H.FLOOR_MATH],[X0,H.FLOOR_PRECISE],[Z0,H.GCD],[z0,H.INT],[J0,H.LCM],[eC,H.LN],[tC,H.LOG],[rC,H.LOG10],[nC,H.MDETERM],[sC,H.MINVERSE],[aC,H.MMULT],[iC,H.MOD],[oC,H.MROUND],[uC,H.MULTINOMIAL],[cC,H.MUNIT],[lC,H.ODD],[fC,H.PI],[mC,H.POWER],[hC,H.PRODUCT],[gC,H.QUOTIENT],[dC,H.RADIANS],[CC,H.RAND],[_C,H.RANDARRAY],[AC,H.RANDBETWEEN],[EC,H.ROMAN],[bC,H.ROUND],[yC,H.ROUNDBANK],[RC,H.ROUNDDOWN],[pC,H.ROUNDUP],[NC,H.SEC],[VC,H.SECH],[MC,H.SERIESSUM],[OC,H.SEQUENCE],[SC,H.SIGN],[DC,H.SIN],[wC,H.SINH],[LC,H.SQRT],[xC,H.SQRTPI],[PC,H.SUBTOTAL],[jC,H.SUM],[UC,H.SUMIF],[vC,H.SUMIFS],[TC,H.SUMPRODUCT],[IC,H.SUMSQ],[FC,H.SUMX2MY2],[BC,H.SUMX2PY2],[kC,H.SUMXMY2],[$C,H.TAN],[YC,H.TANH],[HC,H.TRUNC]];class GC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2);A(this,"_compareType",k.EQUALS)}setCompareType(e){this._compareType=e}calculate(e,t){return e.isError()?e:t.isError()?t:e.compare(t,this._compareType)}}class Oa extends Et{constructor(e){super("");A(this,"_values",[]);this._values=e}static create(e){return new Oa(e)}isCube(){return!0}dispose(){this._values.forEach(e=>{e.dispose()}),this._values=[]}getCubeValues(){return this._values}getCubeCount(){return this._values.length}sum(){const e=R.create(0);return this._values.forEach(t=>{e.plus(t.sum())}),e}max(){let e=R.create(Number.NEGATIVE_INFINITY);return this._values.forEach(t=>{const r=t.max();e.isLessThan(r)&&(e=r)}),e}min(){let e=R.create(Number.POSITIVE_INFINITY);return this._values.forEach(t=>{const r=t.max();e.isGreaterThan(r)&&(e=r)}),e}count(){const e=R.create(0);return this._values.forEach(t=>{e.plus(t.count())}),e}countA(){const e=R.create(0);return this._values.forEach(t=>{e.plus(t.countA())}),e}countBlank(){const e=R.create(0);return this._values.forEach(t=>{e.plus(t.countBlank())}),e}}class WC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];for(let r=0;r<e.length;r++){const n=e[r];if(n.isError())return n;if(!n.isArray())return g.create(h.VALUE);t.push(n)}return Oa.create(t)}}class QC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:!t.isArray()&&t.getValue()===0?g.create(h.DIV_BY_ZERO):e.divided(t)}}class qC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.minus(t)}}class KC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.multiply(t)}}class XC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.plus(t)}}const Su=[[GC,Pe.COMPARE],[QC,Pe.DIVIDED],[qC,Pe.MINUS],[KC,Pe.MULTIPLY],[XC,Pe.PLUS],[WC,Pe.CUBE]];class ZC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=R.create(0),r=R.create(0);for(let a=0;a<e.length;a++){let o=e[a];if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return o;if(o.isArray()){if(o=zC(o),o.isError())return o;if(e[a]=o,t=t.plus(o.sum()),t.isError())return t;r=r.plus(o.count())}else o.isNull()||(t=t.plus(o),r=r.plus(R.create(1)))}if(r.getValue()===0)return g.create(h.NUM);const n=t.divided(r);if(n.isError())return n;let s=R.create(0);for(let a=0;a<e.length;a++){let o=e[a];if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return o;if(o.isArray()){if(s=s.plus(o.minus(n).abs().sum()),s.isError())return s}else o.isNull()||(s=s.plus(o.minus(n).abs()))}return s.divided(r)}}function zC(i){const u=[];u[0]=[];let e=null;return i.iterator((t,r,n)=>{if(t!=null&&t.isError())return e=t,!1;t!=null&&t.isNumber()&&u[0].push(t)}),e||Or(u,1,u[0].length)}class JC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=R.create(0),r=R.create(0);for(let n=0;n<e.length;n++){let s=e[n];if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()){if(t=t.plus(s.sum()),t.isError())return t;r=r.plus(s.count())}else s.isNull()||(t=t.plus(s),r=r.plus(R.create(1)))}return t.divided(r)}}class e_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",254)}calculate(...e){let t=!1,r;e.length%2!==0&&(t=!0,r=g.create(h.NA));const n=[],s=[];for(let a=0;a<e.length;a+=2){const o=e[a],c=o.isArray()?o.getRowCount():1,l=o.isArray()?o.getColumnCount():1;for(let _=0;_<c;_++)for(let C=0;C<l;C++){const E=o.isArray()?o.get(_,C):o;if(E.isError())return E;if(t)continue;const b=E.isNull()?"":E.getValue();n.push(b)}if(a+1>=e.length)continue;const f=e[a+1],m=f.isArray()?f.getRowCount():1,d=f.isArray()?f.getColumnCount():1;(m!==c||d!==l)&&(t=!0,r=g.create(h.VALUE));for(let _=0;_<m;_++)for(let C=0;C<d;C++){const E=f.isArray()?f.get(_,C):f;if(E.isError())return E;if(t)continue;const b=E.isNull()?"":E.getValue();s.push(b)}}return t?r:this._getResult(n,s)}_getResult(e,t){const r=e.length;let n=0,s=0;for(let o=0;o<r;o++){const c=e[o],l=t[o];if(!(typeof c!="number"&&typeof l!="number")){if(typeof c!="number"||typeof l!="number"||l<0)return g.create(h.VALUE);n+=c*l,s+=l}}if(s===0)return g.create(h.DIV_BY_ZERO);const a=n/s;return R.create(a)}}class t_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=R.create(0),r=R.create(0);for(let n=0;n<e.length;n++){let s=e[n];if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()){if(s.iterator(a=>{if(a==null||a.isNull())return!0;let o=a;if(o.isString()&&(o=o.convertToNumberObjectValue(),o.isError()&&(o=R.create(0))),o.isBoolean()&&(o=o.convertToNumberObjectValue()),o.isError())return t=o,!1;t=t.plus(o),r=r.plus(R.create(1))}),t.isError())return t}else s.isNull()||(t=t.plus(s),r=r.plus(R.create(1)))}return t.divided(r)}}class r_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){if(!e.isReferenceObject()||r&&!r.isReferenceObject())return g.create(h.VALUE);let n=t;if(t.isReferenceObject()&&(n=t.toArrayValueObject()),n.isArray()){const s=n.mapValue(a=>this._handleSingleObject(e,a,r));return s.getRowCount()===1&&s.getColumnCount()===1?s.get(0,0):s}return this._handleSingleObject(e,n,r)}_handleSingleObject(e,t,r){const n=e.toArrayValueObject();let s=Bn(n,t);s=kn(s,n,t);const a=n.getRowCount(),o=n.getColumnCount();let c=n;if(r){c=r.toArrayValueObject();const d=c.getRowCount(),_=c.getColumnCount();if(a!==d||o!==_){const C=r.getRangeData();C.endRow=C.startRow+a-1,C.endColumn=C.startColumn+o-1,r.setRangeData(C),c=r.toArrayValueObject()}}const l=c.pick(s),f=l.sum(),m=l.count();return f.divided(m)}}class n_ extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(e,...t){const{isError:r,errorObject:n,rangeIsDifferentSize:s,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:c,variants:l}=Mr(t,e);if(r)return n;if(s)return a===1&&o===1?g.create(h.VALUE):O(a,o,g.create(h.VALUE));const f=Sr(l,a,o,!0);return this._aggregateResults(c,f)}_aggregateResults(e,t){const r=t.map(n=>n.map(s=>{const a=e.pick(s),o=a.sum(),c=a.count();return o.divided(c)}));return r.length===1&&r[0].length===1?r[0][0]:q.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}}class s_ extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=s!=null?s:R.create(0),c=a!=null?a:R.create(1);o.isNull()&&(o=R.create(0)),c.isNull()&&(c=R.create(1));const l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,o.isArray()?o.getRowCount():1,c.isArray()?c.getRowCount():1),f=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,o.isArray()?o.getColumnCount():1,c.isArray()?c.getColumnCount():1),m=O(l,f,e,g.create(h.NA)),d=O(l,f,t,g.create(h.NA)),_=O(l,f,r,g.create(h.NA)),C=O(l,f,n,g.create(h.NA)),E=O(l,f,o,g.create(h.NA)),b=O(l,f,c,g.create(h.NA)),y=m.mapValue((p,V,S)=>{const D=d.get(V,S),w=_.get(V,S),L=C.get(V,S),x=E.get(V,S),v=b.get(V,S);return this._handleSingleObject(p,D,w,L,x,v)});return l===1&&f===1?y.get(0,0):y}_handleSingleObject(e,t,r,n,s,a){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(n.isError())return n;if(s.isError())return s;if(a.isError())return a;const{isError:o,errorObject:c,variants:l}=F(e,t,r,n,s,a);if(o)return c;const[f,m,d,_,C,E]=l,b=+f.getValue(),y=+m.getValue(),p=+d.getValue(),V=+_.getValue(),S=+C.getValue(),D=+E.getValue();if(y<=0||p<=0||b<S||b>D||S===D)return g.create(h.NUM);let w;return V?w=yo((b-S)/(D-S),y,p):w=Nm((b-S)/(D-S),y,p)/(D-S),R.create(w)}}class a_ extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){let s=n!=null?n:r;s.isNull()&&(s=r);const a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1),c=O(a,o,e,g.create(h.NA)),l=O(a,o,t,g.create(h.NA)),f=O(a,o,r,g.create(h.NA)),m=O(a,o,s,g.create(h.NA)),d=c.mapValue((_,C,E)=>{const b=l.get(C,E),y=f.get(C,E),p=m.get(C,E);return _.isError()?_:b.isError()?b:y.isError()?y:p.isError()?p:this._handleSingleObject(_,b,y,p)});return a===1&&o===1?d.get(0,0):d}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=F(e,t,r,n);if(s)return a;const[c,l,f,m]=o,d=Math.floor(+c.getValue()),_=+l.getValue(),C=Math.floor(+f.getValue()),E=Math.floor(+m.getValue());if(d<0||_<0||_>1||C<0||C>d||E<0||E<C||E>d)return g.create(h.NUM);let b=0;for(let y=C;y<=E;y++)b+=da(y,d,_);return R.create(b)}}class i_ extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=Math.floor(+c.getValue()),d=+l.getValue();if(f<0||m<1||m>10**10)return g.create(h.NUM);let _;return d?_=Ca(f,m):_=Vm(f,m),R.create(_)}}class o_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);return c.isError()?c:m.isError()?m:this._handleSingleObject(c,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=F(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=Math.floor(+o.getValue());if(c<0||c>1||l<1||l>10**10)return g.create(h.NUM);const f=po(c,l);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):R.create(f)}}class u_ extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);if(f.isError())return f;if(_.isError())return _;if(C.isError())return C;const{isError:E,errorObject:b,variants:y}=F(f,_,C);if(E)return b;const[p,V,S]=y,D=+p.getValue(),w=+V.getValue(),L=Math.floor(+S.getValue());if(D<=0||D>=1||w<=0||L<1)return g.create(h.NUM);if(L===1)return g.create(h.DIV_BY_ZERO);const x=Math.abs(Wn(D/2,L-1)*w/Math.sqrt(L));return R.create(x)});return n===1&&s===1?l.get(0,0):l}}class c_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let c=t;if(t.isArray()&&s===1&&a===1&&(c=t.get(0,0)),c.isError())return c;if(r*n===1||s*a===1)return o.isNull()||c.isNull()?g.create(h.VALUE):g.create(h.DIV_BY_ZERO);if(r*n!==s*a)return g.create(h.NA);const{isError:l,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=qe(e,t,r*n,n,a);return l?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){const r=e.length;let n=0,s=0;for(let d=0;d<r;d++)n+=e[d],s+=t[d];const a=n/r,o=s/r;let c=0,l=0,f=0;for(let d=0;d<r;d++){const _=e[d]-a,C=t[d]-o;c+=_*C,l+=_**2,f+=C**2}const m=Math.sqrt(l*f);return m===0?g.create(h.DIV_BY_ZERO):R.create(c/m)}}class l_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=R.create(0);for(let r=0;r<e.length;r++){const n=e[r];n.isError()||(n.isArray()?t=t.plus(n.count()):n.isString()?n.convertToNumberObjectValue().isError()||(t=t.plus(R.create(1))):n.isNull()||(t=t.plus(R.create(1))))}return t}}class f_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=R.create(0);for(let r=0;r<e.length;r++){let n=e[r];if(n.isError()){t=t.plus(R.create(1));continue}n.isArray()?(n=n.countA(),t=t.plus(n)):n.isNull()||(t=t.plus(R.create(1)))}return t}}class m_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.getValue()===""||e.isNull()?R.create(1):e.isArray()?e.countBlank():R.create(0)}}class h_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2);A(this,"needsReferenceObject",!0)}calculate(e,t){if(!e.isReferenceObject())return g.create(h.VALUE);let r=t;if(t.isReferenceObject()&&(r=t.toArrayValueObject()),r.isArray()){const n=r.mapValue(s=>this._handleSingleObject(e,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(e,r)}_handleSingleObject(e,t){const r=e.toArrayValueObject();let n=Bn(r,t);n=kn(n,r,t);const s=r.pick(n);return this._countA(s)}_countA(e){let t=R.create(0);return e.iterator(r=>{if(r==null)return!0;t=t.plusBy(1)}),t}}class g_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(...e){const{isError:t,errorObject:r,rangeIsDifferentSize:n,criteriaMaxRowLength:s,criteriaMaxColumnLength:a,variants:o}=Mr(e);if(t)return r;if(n)return s===1&&a===1?g.create(h.VALUE):O(s,a,g.create(h.VALUE));const c=Sr(o,s,a,!0);return this._aggregateResults(c)}_aggregateResults(e){const t=e.map(r=>r.map(n=>d_(n)));return t.length===1&&t[0].length===1?t[0][0]:q.create({calculateValueList:t,rowCount:t.length,columnCount:t[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}}function d_(i){let u=0;return i.iterator(e=>{e!=null&&e.isBoolean()&&e.getValue()===!0&&u++}),R.create(u)}class C_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let c=t;if(t.isArray()&&s===1&&a===1&&(c=t.get(0,0)),c.isError())return c;if((r*n===1||s*a===1)&&(o.isNull()||c.isNull()))return g.create(h.VALUE);if(r*n!==s*a)return g.create(h.NA);const{isError:l,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=qe(e,t,r*n,n,a);return l?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){if(e.length<=1)return g.create(h.DIV_BY_ZERO);const r=e.length;let n=0,s=0;for(let l=0;l<r;l++)n+=e[l],s+=t[l];const a=n/r,o=s/r;let c=0;for(let l=0;l<r;l++){const f=e[l]-a,m=t[l]-o;c+=f*m}return R.create(c/(r-1))}}class __ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];let r=0,n=!0;for(let o=0;o<e.length;o++){const c=e[o];if(c.isArray()){let l=!1,f=g.create(h.VALUE);if(c.iterator(m=>{const d=this._handleSingleObject(m);if(d.isError())return l=!0,f=d,!1;if(d.isNull())return!0;const _=d.getValue();t.push(_),r+=_,n=!1}),l)return f}else{const l=this._handleSingleObject(c);if(l.isError())return l;if(l.isNull())continue;const f=l.getValue();t.push(f),r+=f,n=!1}}if(n)return g.create(h.NUM);const s=r/t.length;let a=0;for(let o=0;o<t.length;o++)a+=(t[o]-s)**2;return R.create(a)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull()||e.isBoolean())return ue.create();const t=e.getValue();return M.isRealNum(t)?R.create(+t):ue.create()}}class A_ extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:b.isError()?b:y.isError()?y:this._handleSingleObject(d,E,b,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=F(e,t,r,n);if(s)return a;const[c,l,f,m]=o,d=+c.getValue(),_=Math.floor(+l.getValue()),C=Math.floor(+f.getValue()),E=+m.getValue();if(d<0||_<1||_>10**10||C<1||C>10**10)return g.create(h.NUM);let b;return E?b=_a(d,_,C):b=Om(d,_,C),Number.isNaN(b)||!Number.isFinite(b)?g.create(h.NUM):R.create(b)}}class E_ extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=Math.floor(+c.getValue()),d=Math.floor(+l.getValue());if(f<0||f>1||m<1||m>10**10||d<1||d>10**10)return g.create(h.NUM);const _=No(f,m,d);return Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):R.create(_)}}class b_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=F(e);if(t)return r;const[s]=n,a=s.getValue();if(a<=-1||a>=1)return g.create(h.NUM);const o=Math.log((1+a)/(1-a))/2;return R.create(o)}}class y_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=F(e);if(t)return r;const[s]=n,a=+s.getValue(),o=Math.exp(2*a)-1,c=Math.exp(2*a)+1;return!Number.isFinite(o)&&o>0&&!Number.isFinite(c)&&c>0?R.create(1):R.create(o/c)}}class mi extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=t.isArray()?t.getRowCount():1,s=t.isArray()?t.getColumnCount():1,a=r.isArray()?r.getRowCount():1,o=r.isArray()?r.getColumnCount():1;let c=t;t.isArray()&&n===1&&s===1&&(c=t.get(0,0));let l=r;return r.isArray()&&a===1&&o===1&&(l=r.get(0,0)),e.isArray()?e.mapValue(f=>this._handleSingleObject(f,c,l,n,s,a,o)):this._handleSingleObject(e,c,l,n,s,a,o)}_handleSingleObject(e,t,r,n,s,a,o){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;let c=e;if(e.isString()&&(c=e.convertToNumberObjectValue()),c.isError())return c;const l=+c.getValue();if((n*s===1||a*o===1)&&(t.isNull()||r.isNull()))return g.create(h.VALUE);if(n*s!==a*o)return g.create(h.NA);const{isError:f,errorObject:m,array1Values:d,array2Values:_,noCalculate:C}=qe(t,r,n*s,s,o);if(f)return m;if(C)return g.create(h.DIV_BY_ZERO);const E=Vo(l,d,_);return Number.isFinite(E)?R.create(E):g.create(h.DIV_BY_ZERO)}}class R_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,values:s}=this._getValues(e);if(r)return n;if(e.isNull()||t.isNull())return g.create(h.VALUE);let{values:a}=this._getValues(t,!0);a.length===0&&(a=[0]);const o=this._getNewBinsArrayValues(a),c=new Array(o.length).fill(0);for(let l=0;l<s.length;l++){const f=s[l],m=o.findIndex(d=>f>d.start&&f<=d.end);c[m]++}return q.createByArray(c.map(l=>[l]))}_getValues(e,t=!1){const r=[],n=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1;for(let a=0;a<n;a++)for(let o=0;o<s;o++){const c=e.isArray()?e.get(a,o):e;if(c.isError()){if(!t)return{isError:!0,errorObject:c,values:r};continue}if(c.isNull()||c.isBoolean())continue;const l=c.getValue();M.isRealNum(l)&&r.push(+l)}return{isError:!1,errorObject:null,values:r}}_getNewBinsArrayValues(e){const t=e.map((n,s)=>({value:n,index:s})).sort((n,s)=>n.value-s.value),r=[];for(let n=0;n<t.length;n++){const s=t[n].index;if(n===0){r[s]={start:-1/0,end:t[n].value};continue}r[s]={start:t[n-1].value,end:t[n].value}}return r.push({start:t[t.length-1].value,end:1/0}),r}}var T=(i=>(i.AVEDEV="AVEDEV",i.AVERAGE="AVERAGE",i.AVERAGE_WEIGHTED="AVERAGE.WEIGHTED",i.AVERAGEA="AVERAGEA",i.AVERAGEIF="AVERAGEIF",i.AVERAGEIFS="AVERAGEIFS",i.BETA_DIST="BETA.DIST",i.BETA_INV="BETA.INV",i.BINOM_DIST="BINOM.DIST",i.BINOM_DIST_RANGE="BINOM.DIST.RANGE",i.BINOM_INV="BINOM.INV",i.CHISQ_DIST="CHISQ.DIST",i.CHISQ_DIST_RT="CHISQ.DIST.RT",i.CHISQ_INV="CHISQ.INV",i.CHISQ_INV_RT="CHISQ.INV.RT",i.CHISQ_TEST="CHISQ.TEST",i.CONFIDENCE_NORM="CONFIDENCE.NORM",i.CONFIDENCE_T="CONFIDENCE.T",i.CORREL="CORREL",i.COUNT="COUNT",i.COUNTA="COUNTA",i.COUNTBLANK="COUNTBLANK",i.COUNTIF="COUNTIF",i.COUNTIFS="COUNTIFS",i.COVARIANCE_P="COVARIANCE.P",i.COVARIANCE_S="COVARIANCE.S",i.DEVSQ="DEVSQ",i.EXPON_DIST="EXPON.DIST",i.F_DIST="F.DIST",i.F_DIST_RT="F.DIST.RT",i.F_INV="F.INV",i.F_INV_RT="F.INV.RT",i.F_TEST="F.TEST",i.FISHER="FISHER",i.FISHERINV="FISHERINV",i.FORECAST="FORECAST",i.FORECAST_ETS="FORECAST.ETS",i.FORECAST_ETS_CONFINT="FORECAST.ETS.CONFINT",i.FORECAST_ETS_SEASONALITY="FORECAST.ETS.SEASONALITY",i.FORECAST_ETS_STAT="FORECAST.ETS.STAT",i.FORECAST_LINEAR="FORECAST.LINEAR",i.FREQUENCY="FREQUENCY",i.GAMMA="GAMMA",i.GAMMA_DIST="GAMMA.DIST",i.GAMMA_INV="GAMMA.INV",i.GAMMALN="GAMMALN",i.GAMMALN_PRECISE="GAMMALN.PRECISE",i.GAUSS="GAUSS",i.GEOMEAN="GEOMEAN",i.GROWTH="GROWTH",i.HARMEAN="HARMEAN",i.HYPGEOM_DIST="HYPGEOM.DIST",i.INTERCEPT="INTERCEPT",i.KURT="KURT",i.LARGE="LARGE",i.LINEST="LINEST",i.LOGEST="LOGEST",i.LOGNORM_DIST="LOGNORM.DIST",i.LOGNORM_INV="LOGNORM.INV",i.MARGINOFERROR="MARGINOFERROR",i.MAX="MAX",i.MAXA="MAXA",i.MAXIFS="MAXIFS",i.MEDIAN="MEDIAN",i.MIN="MIN",i.MINA="MINA",i.MINIFS="MINIFS",i.MODE_MULT="MODE.MULT",i.MODE_SNGL="MODE.SNGL",i.NEGBINOM_DIST="NEGBINOM.DIST",i.NORM_DIST="NORM.DIST",i.NORM_INV="NORM.INV",i.NORM_S_DIST="NORM.S.DIST",i.NORM_S_INV="NORM.S.INV",i.PEARSON="PEARSON",i.PERCENTILE_EXC="PERCENTILE.EXC",i.PERCENTILE_INC="PERCENTILE.INC",i.PERCENTRANK_EXC="PERCENTRANK.EXC",i.PERCENTRANK_INC="PERCENTRANK.INC",i.PERMUT="PERMUT",i.PERMUTATIONA="PERMUTATIONA",i.PHI="PHI",i.POISSON_DIST="POISSON.DIST",i.PROB="PROB",i.QUARTILE_EXC="QUARTILE.EXC",i.QUARTILE_INC="QUARTILE.INC",i.RANK_AVG="RANK.AVG",i.RANK_EQ="RANK.EQ",i.RSQ="RSQ",i.SKEW="SKEW",i.SKEW_P="SKEW.P",i.SLOPE="SLOPE",i.SMALL="SMALL",i.STANDARDIZE="STANDARDIZE",i.STDEV_P="STDEV.P",i.STDEV_S="STDEV.S",i.STDEVA="STDEVA",i.STDEVPA="STDEVPA",i.STEYX="STEYX",i.T_DIST="T.DIST",i.T_DIST_2T="T.DIST.2T",i.T_DIST_RT="T.DIST.RT",i.T_INV="T.INV",i.T_INV_2T="T.INV.2T",i.T_TEST="T.TEST",i.TREND="TREND",i.TRIMMEAN="TRIMMEAN",i.VAR_P="VAR.P",i.VAR_S="VAR.S",i.VARA="VARA",i.VARPA="VARPA",i.WEIBULL_DIST="WEIBULL.DIST",i.Z_TEST="Z.TEST",i))(T||{});class p_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=F(e);if(t)return r;const[s]=n,a=+s.getValue();if(a===0||a<0&&a%1===0)return g.create(h.NUM);const o=zr(a);return Number.isNaN(o)||!Number.isFinite(o)?g.create(h.NUM):R.create(o)}}class hi extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=F(e);if(t)return r;const[s]=n,a=+s.getValue();if(a<=0)return g.create(h.NUM);const o=nt(a);return Math.abs(o)<1e-15?R.create(0):R.create(o)}}class N_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=F(e);if(t)return r;const[s]=n,a=+s.getValue(),o=Lr(a,0,1)-.5;return R.create(o)}}class V_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=1,r=0,n=!1;for(let a=0;a<e.length;a++){const o=e[a];if(o.isArray()){let c=!1,l=g.create(h.VALUE);if(o.iterator(f=>{if(f!=null&&f.isError())return c=!0,l=f,!1;if(f!=null&&f.isNull()||f!=null&&f.isBoolean())return!0;const m=f.getValue();if(!M.isRealNum(m))return!0;+m<=0&&(n=!0),t*=+m,r++}),c)return l}else{if(o.isError())return o;if(o.isString()){const l=o.convertToNumberObjectValue();if(l.isError())return l}if(o.isNull()||o.isBoolean())continue;const c=o.getValue();if(!M.isRealNum(c))continue;+c<=0&&(n=!0),t*=+c,r++}}if(r===0||n)return g.create(h.NUM);const s=t**(1/r);return R.create(s)}}class O_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a}=Qn(e,t,r);if(s)return a;const o=ut(e);if(o instanceof g)return o;const c=this._getKnownXsValues(o,t);if(c instanceof g)return c;const l=this._getNewXsValues(c,r);if(l instanceof g)return l;let f=n!=null?n:I.create(!0);if(f.isArray()&&(f=f.get(0,0)),f.isString()&&(f=f.convertToNumberObjectValue()),f.isError())return f;const m=+f.getValue();return this._getResult(o,c,l,m)}_getResult(e,t,r,n){return e.length===1&&t.length>1||e[0].length===1&&t[0].length>1?e.length===1&&t.length>1&&(n?t.length+1:t.length)>e[0].length||e[0].length===1&&t[0].length>1&&(n?t[0].length+1:t[0].length)>e.length?g.create(h.NA):this._getResultByMultipleVariables(e,t,r,n):this._getResultBySimpleVariables(e,t,r,n)}_getResultByMultipleVariables(e,t,r,n){const s=e.length===1&&e[0].length>1,a=Xn(e,t,r,n,!0);if(a instanceof g)return a;const{coefficients:o,newX:c}=a,l=o[0].length,f=o[0][l-1];let m=[];for(let d=0;d<c.length;d++){m[d]=[];let _=f;for(let C=l-2;C>=0;C--)_*=o[0][l-2-C]**c[d][C];m[d].push(_)}return s&&(m=it(m)),q.createByArray(m)}_getResultBySimpleVariables(e,t,r,n){const s=e.flat(),a=t.flat(),{slope:o,intercept:c}=Kn(a,s,n,!0),l=r.map(f=>f.map(m=>c*o**m));return q.createByArray(l)}_getKnownXsValues(e,t){return!t||t.isNull()?qn(e.length,e[0].length):ut(t)}_getNewXsValues(e,t){return!t||t.isNull()?e:ut(t)}}class M_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=0,r=0,n=!1;for(let a=0;a<e.length;a++){const o=e[a];if(o.isArray()){let c=!1,l=g.create(h.VALUE);if(o.iterator(f=>{if(f!=null&&f.isError())return c=!0,l=f,!1;if(f!=null&&f.isNull()||f!=null&&f.isBoolean())return!0;const m=f.getValue();if(!M.isRealNum(m))return!0;+m<=0&&(n=!0),t+=1/+m,r++}),c)return l}else{if(o.isError())return o;if(o.isString()){const l=o.convertToNumberObjectValue();if(l.isError())return l}if(o.isNull()||o.isBoolean())continue;const c=o.getValue();if(!M.isRealNum(c))continue;+c<=0&&(n=!0),t+=1/+c,r++}}if(r===0)return g.create(h.NA);if(n)return g.create(h.NUM);const s=r/t;return R.create(s)}}class S_ extends N{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),c=O(a,o,e,g.create(h.NA)),l=O(a,o,t,g.create(h.NA)),f=O(a,o,r,g.create(h.NA)),m=O(a,o,n,g.create(h.NA)),d=O(a,o,s,g.create(h.NA)),_=c.mapValue((C,E,b)=>{const y=l.get(E,b),p=f.get(E,b),V=m.get(E,b),S=d.get(E,b);return C.isError()?C:y.isError()?y:p.isError()?p:V.isError()?V:S.isError()?S:this._handleSingleObject(C,y,p,V,S)});return a===1&&o===1?_.get(0,0):_}_handleSingleObject(e,t,r,n,s){const{isError:a,errorObject:o,variants:c}=F(e,t,r,n,s);if(a)return o;const[l,f,m,d,_]=c,C=Math.floor(+l.getValue()),E=Math.floor(+f.getValue()),b=Math.floor(+m.getValue()),y=Math.floor(+d.getValue()),p=+_.getValue();if(C<0||C>E||C>b||C<E-y+b||E<=0||E>y||b<=0||b>y||y<=0)return g.create(h.NUM);let V;return p?V=xm(C,E,b,y):V=Ea(C,E,b,y),Number.isNaN(V)&&(V=0),R.create(V)}}class D_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let c=t;if(t.isArray()&&s===1&&a===1&&(c=t.get(0,0)),c.isError())return c;if(r*n===1||s*a===1)return o.isNull()||c.isNull()?g.create(h.VALUE):g.create(h.DIV_BY_ZERO);if(r*n!==s*a)return g.create(h.NA);const{isError:l,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=qe(e,t,r*n,n,a);return l?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){const r=Vo(0,e,t);return Number.isFinite(r)?R.create(r):g.create(h.DIV_BY_ZERO)}}class w_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];let r=0;for(let n=0;n<e.length;n++){const s=e[n];if(s.isError())return s;if(s.isString()){const c=s.convertToNumberObjectValue();if(c.isError())return c}const a=s.isArray()?s.getRowCount():1,o=s.isArray()?s.getColumnCount():1;for(let c=0;c<a;c++)for(let l=0;l<o;l++){const f=s.isArray()?s.get(c,l):s;if(f.isError())return f;if(f.isNull()||f.isBoolean())continue;const m=f.getValue();M.isRealNum(m)&&(t.push(+m),r+=+m)}}return t.length<=3?g.create(h.DIV_BY_ZERO):this._getResult(t,r)}_getResult(e,t){const r=e.length,n=t/r;let s=0;for(let l=0;l<r;l++)s+=(e[l]-n)**2;const a=Math.sqrt(s/(r-1));if(a===0)return g.create(h.DIV_BY_ZERO);let o=0;for(let l=0;l<r;l++)o+=((e[l]-n)/a)**4;const c=r*(r+1)/((r-1)*(r-2)*(r-3))*o-3*(r-1)**2/((r-2)*(r-3));return R.create(c)}}class L_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=this._getValues(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(e instanceof g)return e;const{isError:r,errorObject:n,variants:s}=F(t);if(r)return n;const[a]=s;let o=+a.getValue();return o<1||o>e.length?g.create(h.NUM):(o=Math.ceil(o),R.create(e[o-1]))}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()||o.isBoolean()||o.isString())continue;const c=o.getValue();M.isRealNum(c)&&n.push(+c)}return n.length===0?g.create(h.NUM):n.sort((s,a)=>a-s)}}class x_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a}=Qn(e,t);if(s)return a;const o=ut(e);if(o instanceof g)return o;const c=this._getKnownXsValues(o,t);if(c instanceof g)return c;let l=r!=null?r:I.create(!0);l.isArray()&&(l=l.get(0,0));let f=n!=null?n:I.create(!1);f.isArray()&&(f=f.get(0,0));const{isError:m,errorObject:d,variants:_}=F(l,f);if(m)return d;const[C,E]=_;return this._getResult(o,c,+C.getValue(),+E.getValue())}_getResult(e,t,r,n){return e.length===1&&t.length>1||e[0].length===1&&t[0].length>1?e.length===1&&t.length>1&&(r?t.length+1:t.length)>e[0].length||e[0].length===1&&t[0].length>1&&(r?t[0].length+1:t[0].length)>e.length?g.create(h.NA):this._getResultByMultipleVariables(e,t,r,n):this._getResultBySimpleVariables(e,t,r,n)}_getResultByMultipleVariables(e,t,r,n){const s=Xn(e,t,t,r,!1);if(s instanceof g)return s;const{coefficients:a,X:o,XTXInverse:c}=s;let l=[];if(n){const f=e.flat(),m=f.length,d=r?f.reduce((U,$)=>U+$,0)/m:0,_=c.length,C=m-_,E=a[0].length,b=new Array(E-2).fill(h.NA),y=a[0][E-1],p=[];for(let U=0;U<o.length;U++){let $=y;for(let Q=E-2;Q>=0;Q--)$+=a[0][E-2-Q]*o[U][Q];p.push($)}let V=0,S=0;for(let U=0;U<m;U++)V+=(f[U]-d)**2,S+=(f[U]-p[U])**2;const D=V-S,w=V===0?0:D/V,L=[];for(let U=_-1;U>=0;U--){const $=C>0?Math.sqrt(S/C*c[U][U]):0;L.push($)}if(r){const U=L.shift();L.push(U)}else L.push(h.NA);const x=C>0?Math.sqrt(S/C):0,v=C>0?D/(E-1)/(S/C):h.NUM;l=[a[0],[...L],[w,x,...b],[v,C,...b],[D,S,...b]]}else l=[a[0]];return q.createByArray(l)}_getResultBySimpleVariables(e,t,r,n){const s=e.flat(),a=t.flat(),{slope:o,intercept:c}=Kn(a,s,r,!1);if(Number.isNaN(o))return g.create(h.NA);let l=[];if(n){const f=s.length;let m=0,d=0,_=f-1;if(r){let L=0,x=0;for(let v=0;v<f;v++)L+=s[v],x+=a[v];m=L/f,d=x/f,_=f-2}let C=0,E=0,b=0;for(let L=0;L<f;L++)C+=(s[L]-m)**2,E+=(s[L]-(o*a[L]+c))**2,b+=(a[L]-d)**2;const y=C-E,p=y===C?1:y/C;let V=0,S=0,D=0;_>0&&(b>0&&(V=Math.sqrt(E/_/b),S=Math.sqrt(E/_*(1/f+d**2/b))),D=Math.sqrt(E/_));const w=_>0?y/1/(E/_):h.NUM;r||(S=h.NA),l=[[o,c],[V,S],[p,D],[w,_],[y,E]]}else l=[[o,c]];return q.createByArray(l)}_getKnownXsValues(e,t){return!t||t.isNull()?qn(e.length,e[0].length):ut(t)}}class P_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a}=Qn(e,t);if(s)return a;const o=ut(e);if(o instanceof g)return o;const c=this._getKnownXsValues(o,t);if(c instanceof g)return c;let l=r!=null?r:I.create(!0);l.isArray()&&(l=l.get(0,0));let f=n!=null?n:I.create(!1);f.isArray()&&(f=f.get(0,0));const{isError:m,errorObject:d,variants:_}=F(l,f);if(m)return d;const[C,E]=_;return this._getResult(o,c,+C.getValue(),+E.getValue())}_getResult(e,t,r,n){return e.length===1&&t.length>1||e[0].length===1&&t[0].length>1?e.length===1&&t.length>1&&(r?t.length+1:t.length)>e[0].length||e[0].length===1&&t[0].length>1&&(r?t[0].length+1:t[0].length)>e.length?g.create(h.NA):this._getResultByMultipleVariables(e,t,r,n):this._getResultBySimpleVariables(e,t,r,n)}_getResultByMultipleVariables(e,t,r,n){const s=Xn(e,t,t,r,!0);if(s instanceof g)return s;const{coefficients:a,Y:o,X:c,XTXInverse:l}=s;let f=[];if(n){const m=o.flat(),d=m.length,_=r?m.reduce(($,Q)=>$+Q,0)/d:0,C=l.length,E=d-C,b=a[0].length,y=new Array(b-2).fill(h.NA),p=a[0][b-1],V=[];for(let $=0;$<c.length;$++){let Q=p;for(let te=b-2;te>=0;te--)Q*=a[0][b-2-te]**c[$][te];V.push(Math.log(Q))}let S=0,D=0;for(let $=0;$<d;$++)S+=(m[$]-_)**2,!(!r&&!Number.isFinite(V[$]))&&(D+=(m[$]-V[$])**2);Number.isFinite(D)||(D=0);const w=S-D,L=S===0?0:w/S,x=[];for(let $=C-1;$>=0;$--){const Q=E>0?Math.sqrt(D/E*l[$][$]):0;x.push(Q)}if(r){const $=x.shift();x.push($)}else x.push(h.NA);const v=E>0?Math.sqrt(D/E):0,U=E>0?w/(b-1)/(D/E):h.NUM;f=[a[0],[...x],[L,v,...y],[U,E,...y],[w,D,...y]]}else f=[a[0]];return q.createByArray(f)}_getResultBySimpleVariables(e,t,r,n){const s=e.flat(),a=t.flat(),{slope:o,intercept:c,Y:l}=Kn(a,s,r,!0);if(Number.isNaN(o))return g.create(h.NA);let f=[];if(n){const m=l.length;let d=0,_=0,C=m-1;if(r){let x=0,v=0;for(let U=0;U<m;U++)x+=l[U],v+=a[U];d=x/m,_=v/m,C=m-2}let E=0,b=0,y=0;for(let x=0;x<m;x++)E+=(l[x]-d)**2,b+=(l[x]-Math.log(c*o**a[x]))**2,y+=(a[x]-_)**2;const p=E-b,V=E===0?0:p/E;let S=0,D=0,w=0,L=0;C>0&&(y>0&&(S=Math.sqrt(b/C/y),D=Math.sqrt(b/C*(1/m+_**2/y))),w=Math.sqrt(b/C),L=p/1/(b/C)),r||(D=h.NA),f=[[o,c],[S,D],[V,w],[L,C],[p,b]]}else f=[[o,c]];return q.createByArray(f)}_getKnownXsValues(e,t){return!t||t.isNull()?qn(e.length,e[0].length):ut(t)}}class j_ extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:b.isError()?b:y.isError()?y:this._handleSingleObject(d,E,b,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=F(e,t,r,n);if(s)return a;const[c,l,f,m]=o,d=+c.getValue(),_=+l.getValue(),C=+f.getValue(),E=+m.getValue();if(d<=0||C<=0)return g.create(h.NUM);let b;return E?b=Mo(d,_,C):b=Pm(d,_,C),R.create(b)}}class U_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=this._getRangeValues(e);if(r instanceof g)return r;const n=$t(t);if(n.isError())return n;const{isError:s,errorObject:a,variants:o}=F(n);if(s)return a;const[c]=o,l=+c.getValue();if(l<=0||l>=1)return g.create(h.NUM);if(r.length<2)return g.create(h.DIV_BY_ZERO);const f=1-l,m=r.length,d=r.reduce((b,y)=>b+y,0)/m,_=r.reduce((b,y)=>b+(y-d)**2,0)/(m-1),C=Math.sqrt(_);if(C<=0)return g.create(h.NUM);const E=Math.abs(Wn(f/2,m-1)*C/Math.sqrt(m));return R.create(E)}_getRangeValues(e){const t=[],r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1;for(let s=0;s<r;s++)for(let a=0;a<n;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;o.isNull()||o.isBoolean()||o.isString()||t.push(+o.getValue())}return t}}class v_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=R.create(Number.NEGATIVE_INFINITY);for(let r=0;r<e.length;r++){let n=e[r];if(!n.isNull()){if((n.isString()||n.isBoolean())&&(n=n.convertToNumberObjectValue()),n.isArray()&&(n=n.max()),n.isError())return n;t=this._validator(t,n)}}return t.getValue()===Number.NEGATIVE_INFINITY?R.create(0):t}_validator(e,t){const r=e.isLessThan(t);let n=e;return r.getValue()&&(n=t),n}}class T_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=R.create(Number.NEGATIVE_INFINITY);for(let r=0;r<e.length;r++){let n=e[r];if(!n.isNull()){if((n.isString()||n.isBoolean())&&(n=n.convertToNumberObjectValue()),n.isError())return n;if(n.isArray()&&n.iterator(s=>{let a=s;if((a==null||a.isNull()||a.isString())&&(a=R.create(0)),a.isBoolean()&&(a=a.convertToNumberObjectValue()),a.isError())return t=a,!1;t=this._validator(t,a)}),t.isError())return t;t=this._validator(t,n)}}return t.getValue()===Number.NEGATIVE_INFINITY?R.create(0):t}_validator(e,t){const r=e.isLessThan(t);let n=e;return r.getValue()&&(n=t),n}}class I_ extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(e,...t){const{isError:r,errorObject:n,rangeIsDifferentSize:s,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:c,variants:l}=Mr(t,e);if(r)return n;if(s)return a===1&&o===1?g.create(h.VALUE):O(a,o,g.create(h.VALUE));const f=Sr(l,a,o,!0);return this._aggregateResults(c,f)}_aggregateResults(e,t){const r=t.map(n=>n.map(s=>{const a=e.pick(s);return a.getColumnCount()===0?q.create("0"):a.max()}));return r.length===1&&r[0].length===1?r[0][0]:q.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}}class F_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];for(let r=0;r<e.length;r++){const n=e[r];if(n.isArray()){let s=!1,a=g.create(h.VALUE);if(n.iterator(o=>{if(o!=null&&o.isError())return s=!0,a=o,!1;if(o!=null&&o.isNull()||o!=null&&o.isBoolean())return!0;const c=o.getValue();if(!M.isRealNum(c))return!0;t.push(+c)}),s)return a}else{if(n.isError())return n;if(n.isNull()||n.isBoolean())continue;if(n.isString()){const a=n.convertToNumberObjectValue();if(a.isError())return a}const s=n.getValue();if(!M.isRealNum(s))continue;t.push(+s)}}return t.length===0?g.create(h.NUM):this._getResult(t.sort((r,n)=>r-n))}_getResult(e){const t=e.length;let r;if(t%2===0){const n=t/2;r=(e[n-1]+e[n])/2}else r=e[Math.floor(t/2)];return R.create(r)}}class B_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=R.create(Number.POSITIVE_INFINITY);for(let r=0;r<e.length;r++){let n=e[r];if(!n.isNull()){if((n.isString()||n.isBoolean())&&(n=n.convertToNumberObjectValue()),n.isArray()&&(n=n.min()),n.isError())return n;t=this._validator(t,n)}}return t.getValue()===Number.POSITIVE_INFINITY?R.create(0):t}_validator(e,t){const r=e.isGreaterThan(t);let n=e;return r.getValue()&&(n=t),n}}class k_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=R.create(Number.POSITIVE_INFINITY);for(let r=0;r<e.length;r++){let n=e[r];if(!n.isNull()){if((n.isString()||n.isBoolean())&&(n=n.convertToNumberObjectValue()),n.isError())return n;if(n.isArray()&&n.iterator(s=>{let a=s;if((a==null||a.isNull()||a.isString())&&(a=R.create(0)),a.isBoolean()&&(a=a.convertToNumberObjectValue()),a.isError())return t=a,!1;t=this._validator(t,a)}),t.isError())return t;t=this._validator(t,n)}}return t.getValue()===Number.POSITIVE_INFINITY?R.create(0):t}_validator(e,t){const r=e.isGreaterThan(t);let n=e;return r.getValue()&&(n=t),n}}class $_ extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(e,...t){const{isError:r,errorObject:n,rangeIsDifferentSize:s,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:c,variants:l}=Mr(t,e);if(r)return n;if(s)return a===1&&o===1?g.create(h.VALUE):O(a,o,g.create(h.VALUE));const f=Sr(l,a,o,!0);return this._aggregateResults(c,f)}_aggregateResults(e,t){const r=t.map(n=>n.map(s=>{const a=e.pick(s);return a.getColumnCount()===0?q.create("0"):a.min()}));return r.length===1&&r[0].length===1?r[0][0]:q.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}}class Y_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t={};let r=0,n=1;for(let s=0;s<e.length;s++){const a=e[s];if(a.isError())return a;if(a.isString()){const l=a.convertToNumberObjectValue();if(l.isError())return l}const o=a.isArray()?a.getRowCount():1,c=a.isArray()?a.getColumnCount():1;for(let l=0;l<o;l++)for(let f=0;f<c;f++){const m=a.isArray()?a.get(l,f):a;if(m.isError())return m;if(m.isNull()||m.isBoolean()||m.isString())continue;const d=m.getValue();M.isRealNum(d)&&(t[+d]?(t[+d].count++,t[+d].count>n&&(n=t[+d].count)):t[+d]={count:1,order:r++})}}return r===0||n===1?new g(h.NA):this._getResult(t,n)}_getResult(e,t){const r=Object.entries(e).filter(([n,{count:s}])=>s===t).sort((n,s)=>n[1].order-s[1].order).map(([n])=>+n);return r.length===1?R.create(r[0]):q.createByArray(r.map(n=>[n]))}}class H_ extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:b.isError()?b:y.isError()?y:this._handleSingleObject(d,E,b,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=F(e,t,r,n);if(s)return a;const[c,l,f,m]=o,d=Math.floor(+c.getValue()),_=Math.floor(+l.getValue()),C=+f.getValue(),E=+m.getValue();if(d<0||_<1||C<=0||C>=1)return g.create(h.NUM);let b;return E?b=Um(d,_,C):b=ba(d,_,C),R.create(b)}}class G_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);return c.isError()?c:m.isError()?m:this._handleSingleObject(c,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=F(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=+o.getValue();let f;return l?f=Lr(c,0,1):f=So(c,0,1),R.create(f)}}class W_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let c=t;if(t.isArray()&&s===1&&a===1&&(c=t.get(0,0)),c.isError())return c;if(r*n===1||s*a===1)return o.isNull()||c.isNull()?g.create(h.VALUE):g.create(h.DIV_BY_ZERO);if(r*n!==s*a)return g.create(h.NA);const{isError:l,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=qe(e,t,r*n,n,a);return l?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){const r=e.length;let n=0,s=0;for(let d=0;d<r;d++)n+=e[d],s+=t[d];const a=n/r,o=s/r;let c=0,l=0,f=0;for(let d=0;d<r;d++)c+=(e[d]-a)*(t[d]-o),l+=(e[d]-a)**2,f+=(t[d]-o)**2;if(l===0||f===0)return g.create(h.DIV_BY_ZERO);const m=c/Math.sqrt(l*f);return R.create(m)}}class Q_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=this._getValues(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(e instanceof g)return e;const{isError:r,errorObject:n,variants:s}=F(t);if(r)return n;const[a]=s,o=+a.getValue(),c=e.length;if(o<1/(c+1)||o>1-1/(c+1))return g.create(h.NUM);const l=o*(c+1)-1,f=Math.floor(l),m=l-f;if(m===0)return R.create(e[f]);const d=e[f]+m*(e[f+1]-e[f]);return R.create(d)}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()||o.isBoolean()||o.isString())continue;const c=o.getValue();M.isRealNum(c)&&n.push(+c)}return n.length===0?g.create(h.NUM):n.sort((s,a)=>s-a)}}class q_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=this._getValues(e);let s=r!=null?r:R.create(3);s.isNull()&&(s=R.create(3));const a=Math.max(t.isArray()?t.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(t.isArray()?t.getColumnCount():1,s.isArray()?s.getColumnCount():1),c=O(a,o,t,g.create(h.NA)),l=O(a,o,s,g.create(h.NA)),f=c.mapValue((m,d,_)=>{const C=l.get(d,_);return m.isError()?m:C.isError()?C:this._handleSingleObject(n,m,C)});return a===1&&o===1?f.get(0,0):f}_handleSingleObject(e,t,r){if(e instanceof g)return e;const{isError:n,errorObject:s,variants:a}=F(t,r);if(n)return s;const[o,c]=a,l=+o.getValue(),f=Math.floor(+c.getValue()),m=e.length;if(m===0||l<e[0]||l>e[m-1])return g.create(h.NA);if(m===1)return l===e[0]?R.create(1):g.create(h.NA);let d=0,_=!1,C=0;for(;!_&&C<m;)l===e[C]?(d=(C+1)/(m+1),_=!0):l>e[C]&&C+1<m&&l<e[C+1]&&(d=(C+1+(l-e[C])/(e[C+1]-e[C]))/(m+1),_=!0),C++;return _?f<1?g.create(h.NUM):(d=He(d,f),R.create(d)):g.create(h.NA)}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()||o.isBoolean())continue;const c=o.getValue();M.isRealNum(c)&&n.push(+c)}return n.sort((s,a)=>s-a)}}class K_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);if(c.isError())return c;if(m.isError())return m;const{isError:d,errorObject:_,variants:C}=F(c,m);if(d)return _;const[E,b]=C,y=Math.floor(+E.getValue()),p=Math.floor(+b.getValue());if(y<0||y>=2147483647||p<0||y<p)return g.create(h.NUM);let V=1;for(let S=y-p+1;S<=y;S++)V*=S;return Number.isFinite(V)?R.create(V):g.create(h.NUM)});return r===1&&n===1?o.get(0,0):o}}class X_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);if(c.isError())return c;if(m.isError())return m;const{isError:d,errorObject:_,variants:C}=F(c,m);if(d)return _;const[E,b]=C,y=Math.floor(+E.getValue()),p=Math.floor(+b.getValue());if(y<0||y>=2147483647||p<0)return g.create(h.NUM);if(y===0)return p===0?R.create(1):R.create(0);const V=y**p;return Number.isFinite(V)?R.create(V):g.create(h.NUM)});return r===1&&n===1?o.get(0,0):o}}class Z_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=F(e);if(t)return r;const[s]=n,a=+s.getValue(),o=Math.exp(-.5*a*a)/Math.sqrt(2*Math.PI);return R.create(o)}}class z_ extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a,xRangeValues:o,probRangeValues:c}=this._handleXRangeAndProbRange(e,t);let l=n!=null?n:r;n!=null&&n.isNull()&&(l=r);const f=Math.max(r.isArray()?r.getRowCount():1,l.isArray()?l.getRowCount():1),m=Math.max(r.isArray()?r.getColumnCount():1,l.isArray()?l.getColumnCount():1),d=O(f,m,r,g.create(h.NA)),_=O(f,m,l,g.create(h.NA)),C=d.mapValue((E,b,y)=>{const p=_.get(b,y);return e.isError()?e:t.isError()?t:E.isError()?E:p.isError()?p:s?a:this._handleSingleObject(o,c,E,p)});return f===1&&m===1?C.get(0,0):C}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=F(r,n);if(s)return a;const[c,l]=o,f=+c.getValue(),m=+l.getValue();if(t.reduce((_,C)=>_+C,0)!==1)return g.create(h.NUM);let d=0;for(let _=0;_<e.length;_++)e[_]>=f&&e[_]<=m&&(d+=t[_]);return R.create(d)}_handleXRangeAndProbRange(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return{isError:!0,errorObject:o,xRangeValues:[],probRangeValues:[]};let c=t;if(t.isArray()&&s===1&&a===1&&(c=t.get(0,0)),c.isError())return{isError:!0,errorObject:c,xRangeValues:[],probRangeValues:[]};if((r*n===1||s*a===1)&&(o.isNull()||c.isNull()))return{isError:!0,errorObject:g.create(h.VALUE),xRangeValues:[],probRangeValues:[]};if(r*n!==s*a)return{isError:!0,errorObject:g.create(h.NA),xRangeValues:[],probRangeValues:[]};const{isError:l,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=qe(e,t,r*n,n,a);return l?{isError:!0,errorObject:f,xRangeValues:[],probRangeValues:[]}:_?{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),xRangeValues:[],probRangeValues:[]}:{isError:!1,errorObject:null,xRangeValues:m,probRangeValues:d}}}class J_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=this._getValues(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(e instanceof g)return e;const{isError:r,errorObject:n,variants:s}=F(t);if(r)return n;const[a]=s,o=Math.floor(+a.getValue());if(o<=0||o>=4)return g.create(h.NUM);const c=o/4,l=e.length;if(c<1/(l+1)||c>1-1/(l+1))return g.create(h.NUM);const f=c*(l+1)-1,m=Math.floor(f),d=f-m;if(d===0)return R.create(e[m]);const _=e[m]+d*(e[m+1]-e[m]);return R.create(_)}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()||o.isBoolean())continue;const c=o.getValue();M.isRealNum(c)&&n.push(+c)}return n.length===0?g.create(h.NUM):n.sort((s,a)=>s-a)}}class eA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){let n=e;n.isReferenceObject()&&(n=n.toArrayValueObject());const{refHasError:s,refErrorObject:a,refNumbers:o}=this._checkRefReferenceObject(t);let c=r!=null?r:R.create(0);c.isReferenceObject()&&(c=c.toArrayValueObject());const l=Math.max(n.isArray()?n.getRowCount():1,c.isArray()?c.getRowCount():1),f=Math.max(n.isArray()?n.getColumnCount():1,c.isArray()?c.getColumnCount():1),m=O(l,f,n,g.create(h.NA)),d=O(l,f,c,g.create(h.NA)),_=m.map((C,E,b)=>{const y=d.get(E,b);if(!e.isReferenceObject()&&e.isNull())return g.create(h.NA);if(s)return a;if(y.isError())return y;const p=+C.getValue(),V=+y.getValue();return Number.isNaN(p)||Number.isNaN(V)?g.create(h.VALUE):this._getResult(p,V,o)});return l===1&&f===1?_.get(0,0):_}_getResult(e,t,r){const n=r.sort((c,l)=>t?c-l:l-c);let s=n.indexOf(e);const a=[];for(;s>=0;){const c=s+1;a.push(c),s=n.indexOf(e,c)}if(a.length===0)return g.create(h.NA);const o=a.reduce((c,l)=>c+l,0)/a.length;return R.create(o)}_checkRefReferenceObject(e){let t=!1,r=g.create(h.NA);const n=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(a=>{const o=a;if(o.isError())return t=!0,r=o,!1;if(o.isNull()||o.isBoolean())return!0;const c=+o.getValue();if(Number.isNaN(c))return!0;n.push(c)}),{refHasError:t,refErrorObject:r,refNumbers:n}):{refHasError:!0,refErrorObject:r,refNumbers:n}}}class tA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){let n=e;n.isReferenceObject()&&(n=n.toArrayValueObject());const{refHasError:s,refErrorObject:a,refNumbers:o}=this._checkRefReferenceObject(t);let c=r!=null?r:R.create(0);c.isReferenceObject()&&(c=c.toArrayValueObject());const l=Math.max(n.isArray()?n.getRowCount():1,c.isArray()?c.getRowCount():1),f=Math.max(n.isArray()?n.getColumnCount():1,c.isArray()?c.getColumnCount():1),m=O(l,f,n,g.create(h.NA)),d=O(l,f,c,g.create(h.NA)),_=m.map((C,E,b)=>{const y=d.get(E,b);if(!e.isReferenceObject()&&e.isNull())return g.create(h.NA);if(s)return a;if(y.isError())return y;const p=+C.getValue(),V=+y.getValue();if(Number.isNaN(p)||Number.isNaN(V))return g.create(h.VALUE);const D=o.sort((w,L)=>V?w-L:L-w).indexOf(p);return D===-1?g.create(h.NA):R.create(D+1)});return l===1&&f===1?_.get(0,0):_}_checkRefReferenceObject(e){let t=!1,r=g.create(h.NA);const n=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(a=>{const o=a;if(o.isError())return t=!0,r=o,!1;if(o.isNull()||o.isBoolean())return!0;const c=+o.getValue();if(Number.isNaN(c))return!0;n.push(c)}),{refHasError:t,refErrorObject:r,refNumbers:n}):{refHasError:!0,refErrorObject:r,refNumbers:n}}}class rA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let c=t;if(t.isArray()&&s===1&&a===1&&(c=t.get(0,0)),c.isError())return c;if((r*n===1||s*a===1)&&(o.isNull()||c.isNull()))return g.create(h.VALUE);if(r*n!==s*a)return g.create(h.NA);const{isError:l,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=qe(e,t,r*n,n,a);return l?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){if(e.length===0)return g.create(h.DIV_BY_ZERO);const r=e.length;let n=0,s=0;for(let d=0;d<r;d++)n+=e[d],s+=t[d];const a=n/r,o=s/r;let c=0,l=0,f=0;for(let d=0;d<r;d++)c+=(e[d]-a)*(t[d]-o),l+=(e[d]-a)**2,f+=(t[d]-o)**2;if(l===0||f===0)return g.create(h.DIV_BY_ZERO);const m=(c/Math.sqrt(l*f))**2;return R.create(m)}}class nA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];let r=0;for(let n=0;n<e.length;n++){const s=e[n];if(s.isError())return s;if(s.isString()){const c=s.convertToNumberObjectValue();if(c.isError())return c}const a=s.isArray()?s.getRowCount():1,o=s.isArray()?s.getColumnCount():1;for(let c=0;c<a;c++)for(let l=0;l<o;l++){const f=s.isArray()?s.get(c,l):s;if(f.isError())return f;if(f.isNull()||f.isBoolean())continue;const m=f.getValue();M.isRealNum(m)&&(t.push(+m),r+=+m)}}return t.length<=2?g.create(h.DIV_BY_ZERO):this._getResult(t,r)}_getResult(e,t){const r=e.length,n=t/r;let s=0;for(let l=0;l<r;l++)s+=(e[l]-n)**2;const a=Math.sqrt(s/(r-1));if(a===0)return g.create(h.DIV_BY_ZERO);let o=0;for(let l=0;l<r;l++)o+=((e[l]-n)/a)**3;const c=r/((r-1)*(r-2))*o;return R.create(c)}}class sA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];let r=0;for(let n=0;n<e.length;n++){const s=e[n];if(s.isError())return s;if(s.isString()){const c=s.convertToNumberObjectValue();if(c.isError())return c}const a=s.isArray()?s.getRowCount():1,o=s.isArray()?s.getColumnCount():1;for(let c=0;c<a;c++)for(let l=0;l<o;l++){const f=s.isArray()?s.get(c,l):s;if(f.isError())return f;if(f.isNull()||f.isBoolean())continue;const m=f.getValue();M.isRealNum(m)&&(t.push(+m),r+=+m)}}return t.length<=2?g.create(h.DIV_BY_ZERO):this._getResult(t,r)}_getResult(e,t){const r=e.length,n=t/r;let s=0;for(let l=0;l<r;l++)s+=(e[l]-n)**2;const a=Math.sqrt(s/r);if(a===0)return g.create(h.DIV_BY_ZERO);let o=0;for(let l=0;l<r;l++)o+=((e[l]-n)/a)**3;const c=o/r;return R.create(c)}}class aA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let c=t;if(t.isArray()&&s===1&&a===1&&(c=t.get(0,0)),c.isError())return c;if(r*n===1||s*a===1)return o.isNull()||c.isNull()?g.create(h.VALUE):g.create(h.DIV_BY_ZERO);if(r*n!==s*a)return g.create(h.NA);const{isError:l,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=qe(e,t,r*n,n,a);return l?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){const r=e.length;let n=0,s=0;for(let m=0;m<r;m++)n+=e[m],s+=t[m];const a=n/r,o=s/r;let c=0,l=0;for(let m=0;m<r;m++)c+=(e[m]-a)*(t[m]-o),l+=(t[m]-o)**2;if(l===0)return g.create(h.DIV_BY_ZERO);const f=c/l;return R.create(f)}}class iA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=this._getValues(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(e instanceof g)return e;const{isError:r,errorObject:n,variants:s}=F(t);if(r)return n;const[a]=s;let o=+a.getValue();return o<1||o>e.length?g.create(h.NUM):(o=Math.floor(o),R.create(e[o-1]))}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()||o.isBoolean()||o.isString())continue;const c=o.getValue();M.isRealNum(c)&&n.push(+c)}return n.length===0?g.create(h.NUM):n.sort((s,a)=>s-a)}}class oA extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=+c.getValue(),d=+l.getValue();if(d<=0)return g.create(h.NUM);const _=(f-m)/d;return R.create(_)}}class uA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.std(1)}}class cA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.std()}}class lA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let c=t;if(t.isArray()&&s===1&&a===1&&(c=t.get(0,0)),c.isError())return c;if((r*n===1||s*a===1)&&(o.isNull()||c.isNull()))return g.create(h.VALUE);if(r*n!==s*a)return g.create(h.NA);const{isError:l,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=qe(e,t,r*n,n,a);return l?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){const r=e.length;if(r<=2)return g.create(h.DIV_BY_ZERO);let n=0,s=0;for(let d=0;d<r;d++)n+=e[d],s+=t[d];const a=n/r,o=s/r;let c=0,l=0,f=0;for(let d=0;d<r;d++)c+=(e[d]-a)*(t[d]-o),l+=(e[d]-a)**2,f+=(t[d]-o)**2;if(f===0)return g.create(h.DIV_BY_ZERO);const m=Math.sqrt((l-c**2/f)/(r-2));return Number.isNaN(m)||!Number.isFinite(m)?g.create(h.NUM):R.create(m)}}class fA extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=Math.floor(+c.getValue()),d=+l.getValue();if(m<1)return g.create(h.NUM);let _;return d?_=xr(f,m):_=Tm(f,m),Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):R.create(_)}}class mA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);return c.isError()?c:m.isError()?m:this._handleSingleObject(c,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=F(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=Math.floor(+o.getValue());if(c<0||l<1||l>10**10)return g.create(h.NUM);const f=xr(-c,l)*2;return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):R.create(f)}}class hA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);return c.isError()?c:m.isError()?m:this._handleSingleObject(c,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=F(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=Math.floor(+o.getValue());if(l<1||l>10**10)return g.create(h.NUM);const f=xr(-c,l);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):R.create(f)}}class gA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);return c.isError()?c:m.isError()?m:this._handleSingleObject(c,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=F(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=Math.floor(+o.getValue());if(c<=0||c>1||l<1||l>10**10)return g.create(h.NUM);const f=Wn(c,l);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):R.create(f)}}class dA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a}=Qn(e,t,r);if(s)return a;const o=ut(e);if(o instanceof g)return o;const c=this._getKnownXsValues(o,t);if(c instanceof g)return c;const l=this._getNewXsValues(c,r);if(l instanceof g)return l;let f=n!=null?n:I.create(!0);if(f.isArray()&&(f=f.get(0,0)),f.isString()&&(f=f.convertToNumberObjectValue()),f.isError())return f;const m=+f.getValue();return this._getResult(o,c,l,m)}_getResult(e,t,r,n){return e.length===1&&t.length>1||e[0].length===1&&t[0].length>1?e.length===1&&t.length>1&&(n?t.length+1:t.length)>e[0].length||e[0].length===1&&t[0].length>1&&(n?t[0].length+1:t[0].length)>e.length?g.create(h.NA):this._getResultByMultipleVariables(e,t,r,n):this._getResultBySimpleVariables(e,t,r,n)}_getResultByMultipleVariables(e,t,r,n){const s=e.length===1&&e[0].length>1,a=Xn(e,t,r,n,!1);if(a instanceof g)return a;const{coefficients:o,newX:c}=a,l=o[0].length,f=o[0][l-1];let m=[];for(let d=0;d<c.length;d++){m[d]=[];let _=f;for(let C=l-2;C>=0;C--)_+=o[0][l-2-C]*c[d][C];m[d].push(_)}return s&&(m=it(m)),q.createByArray(m)}_getResultBySimpleVariables(e,t,r,n){const s=e.flat(),a=t.flat(),{slope:o,intercept:c}=Kn(a,s,n,!1);if(Number.isNaN(o))return g.create(h.NA);const l=r.map(f=>f.map(m=>o*m+c));return q.createByArray(l)}_getKnownXsValues(e,t){return!t||t.isNull()?qn(e.length,e[0].length):ut(t)}_getNewXsValues(e,t){return!t||t.isNull()?e:ut(t)}}class CA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=this._getValues(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(e instanceof g)return e;const{isError:r,errorObject:n,variants:s}=F(t);if(r)return n;const[a]=s,o=+a.getValue();if(o<0||o>=1)return g.create(h.NUM);const c=He(e.length*o/2,0)*2,l=e.slice(c/2,e.length-c/2),f=l.reduce((m,d)=>m+d,0)/l.length;return R.create(f)}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()||o.isBoolean())continue;const c=o.getValue();M.isRealNum(c)&&n.push(+c)}return n.length===0?g.create(h.NUM):n.sort((s,a)=>s-a)}}class _A extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.var(1)}}class AA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.var()}}const Du=[[ZC,T.AVEDEV],[JC,T.AVERAGE],[e_,T.AVERAGE_WEIGHTED],[t_,T.AVERAGEA],[r_,T.AVERAGEIF],[n_,T.AVERAGEIFS],[s_,T.BETA_DIST],[wo,T.BETA_INV],[Lo,T.BINOM_DIST],[a_,T.BINOM_DIST_RANGE],[xo,T.BINOM_INV],[i_,T.CHISQ_DIST],[Po,T.CHISQ_DIST_RT],[o_,T.CHISQ_INV],[jo,T.CHISQ_INV_RT],[Uo,T.CHISQ_TEST],[vo,T.CONFIDENCE_NORM],[u_,T.CONFIDENCE_T],[c_,T.CORREL],[l_,T.COUNT],[f_,T.COUNTA],[m_,T.COUNTBLANK],[h_,T.COUNTIF],[g_,T.COUNTIFS],[To,T.COVARIANCE_P],[C_,T.COVARIANCE_S],[__,T.DEVSQ],[Io,T.EXPON_DIST],[A_,T.F_DIST],[Fo,T.F_DIST_RT],[E_,T.F_INV],[Bo,T.F_INV_RT],[ko,T.F_TEST],[b_,T.FISHER],[y_,T.FISHERINV],[mi,T.FORECAST],[mi,T.FORECAST_LINEAR],[R_,T.FREQUENCY],[p_,T.GAMMA],[$o,T.GAMMA_DIST],[Yo,T.GAMMA_INV],[hi,T.GAMMALN],[hi,T.GAMMALN_PRECISE],[N_,T.GAUSS],[V_,T.GEOMEAN],[O_,T.GROWTH],[M_,T.HARMEAN],[S_,T.HYPGEOM_DIST],[D_,T.INTERCEPT],[w_,T.KURT],[L_,T.LARGE],[x_,T.LINEST],[P_,T.LOGEST],[j_,T.LOGNORM_DIST],[Ho,T.LOGNORM_INV],[U_,T.MARGINOFERROR],[v_,T.MAX],[T_,T.MAXA],[I_,T.MAXIFS],[F_,T.MEDIAN],[B_,T.MIN],[k_,T.MINA],[$_,T.MINIFS],[Y_,T.MODE_MULT],[Go,T.MODE_SNGL],[H_,T.NEGBINOM_DIST],[Wo,T.NORM_DIST],[Qo,T.NORM_INV],[G_,T.NORM_S_DIST],[qo,T.NORM_S_INV],[W_,T.PEARSON],[Q_,T.PERCENTILE_EXC],[Ko,T.PERCENTILE_INC],[q_,T.PERCENTRANK_EXC],[Xo,T.PERCENTRANK_INC],[K_,T.PERMUT],[X_,T.PERMUTATIONA],[Z_,T.PHI],[Zo,T.POISSON_DIST],[z_,T.PROB],[J_,T.QUARTILE_EXC],[zo,T.QUARTILE_INC],[eA,T.RANK_AVG],[tA,T.RANK_EQ],[rA,T.RSQ],[nA,T.SKEW],[sA,T.SKEW_P],[aA,T.SLOPE],[iA,T.SMALL],[oA,T.STANDARDIZE],[Jo,T.STDEV_P],[eu,T.STDEV_S],[uA,T.STDEVA],[cA,T.STDEVPA],[lA,T.STEYX],[fA,T.T_DIST],[mA,T.T_DIST_2T],[hA,T.T_DIST_RT],[gA,T.T_INV],[tu,T.T_INV_2T],[ru,T.T_TEST],[dA,T.TREND],[CA,T.TRIMMEAN],[nu,T.VAR_P],[su,T.VAR_S],[_A,T.VARA],[AA,T.VARPA],[au,T.WEIBULL_DIST],[iu,T.Z_TEST]];class EA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){let r=t!=null?t:R.create(0);if(t!=null&&t.isNull()&&(r=R.create(0)),r.isArray()){const n=r.mapValue(s=>this._handleSingleObject(e,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(e,r)}_handleSingleObject(e,t){const r=this._checkArray(e);if(r.isError())return r;const{isError:n,errorObject:s,variants:a}=F(t);if(n)return s;const[o]=a,c=+o.getValue(),l=e.isArray()?e.getRowCount():1,f=e.isArray()?e.getColumnCount():1;let m="";for(let d=0;d<l;d++)for(let _=0;_<f;_++){const C=e.isArray()?e.get(d,_):e;let E=`${C.getValue()}`;C.isNull()&&(E=""),C.isBoolean()&&(E=E.toLocaleUpperCase()),C.isString()&&c?m+=`"${E}"`:m+=E,d===l-1&&_===f-1||(c?_===f-1?m+=";":m+=",":m+=", ")}return c&&(m=`{${m}}`),m.length>32767?g.create(h.CALC):j.create(m)}_checkArray(e){if(e.isArray()){const t=e.getRowCount(),r=e.getColumnCount();return t>1||r>1?e:e.get(0,0)}return e}}class bA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError()||e.isNull()||e.isBoolean()||e.isNumber())return e;const t=e.getValue().toLocaleString();let r="";for(let n=0;n<t.length;n++){let s=t.charCodeAt(n);s===12288?s=32:s>=65281&&s<=65374&&(s-=65248),r+=String.fromCharCode(s)}return j.create(r)}}class yA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=F(e);if(t)return r;const[s]=n,a=+s.getValue(),o=Math.abs(Number.parseInt(a.toString(),10)),c=Number.parseFloat((Math.abs(a)-o).toFixed(2));let l="";return o===0?c!==0?l=`${a<0?"ลบ":""}${this._convertNumberToThaiText(c*100)}สตางค์`:l="ศูนย์บาทถ้วน":c===0?l=`${a<0?"ลบ":""}${this._convertNumberToThaiText(o)}บาทถ้วน`:l=`${a<0?"ลบ":""}${this._convertNumberToThaiText(o)}บาท${this._convertNumberToThaiText(c*100)}สตางค์`,j.create(l)}_convertNumberToThaiText(e){const t=["ล้าน","สิบ","ร้อย","พัน","หมื่น","แสน",""],r=["ศูนย์","หนึ่ง","สอง","สาม","สี่","ห้า","หก","เจ็ด","แปด","เก้า"],n=["ลบ","บาท","ถ้วน","สตางค์","ยี่","เอ็ด",","," ","฿"],s=e.toString(),a=s.length;let o="";for(let c=a;c>0;c--){const l=Number.parseInt(s.charAt(a-c),10);let f=r[l];const m=c>1?(c-1)%6:6;if(m===1&&l===2&&(f=n[4]),l===1)switch(m){case 0:case 6:o+=c<a?n[5]:f;break;case 1:break;default:o+=f;break}else if(l===0){m===0&&(o+=t[m]);continue}else o+=f;o+=t[m]}return o}}const RA=Object.values(M.DataStreamTreeTokenType).filter(i=>[M.DataStreamTreeTokenType.TABLE_START,M.DataStreamTreeTokenType.TABLE_ROW_START,M.DataStreamTreeTokenType.TABLE_CELL_START,M.DataStreamTreeTokenType.TABLE_CELL_END,M.DataStreamTreeTokenType.TABLE_ROW_END,M.DataStreamTreeTokenType.TABLE_END,M.DataStreamTreeTokenType.CUSTOM_BLOCK].includes(i));class pA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=F(e);if(t)return r;const[s]=n,a=Math.floor(+s.getValue());if(a<=0)return g.create(h.VALUE);let o=String.fromCharCode(a);return RA.some(c=>c===o)&&(o=""),j.create(o)}}class NA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError()||e.isBoolean()||e.isNumber())return e;if(e.isNull())return j.create("");const r=`${e.getValue()}`.replace(/[\0-\x1F]/g,"");return j.create(r)}}class VA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);let t=e.getValue().toLocaleString();if(e.isBoolean()&&(t=t.toLocaleUpperCase()),t==="")return g.create(h.VALUE);const r=t.charCodeAt(0);return R.create(r)}}class OA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t="",r=null;for(const n of e)if(n.isArray()){if(n.iterator(s=>{if(s==null||s.isNull())return!0;if(s.isError())return r=s,!1;s.isBoolean()?t+=`${s.getValue()}`.toLocaleUpperCase():(s.isString()||s.isNumber())&&(t+=s.getValue())}),r)return r}else!n.isError()&&!n.isNull()&&(t+=n.getValue());return j.create(t)}}class MA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=0,r=0;e.forEach(s=>{if(s.isArray()){const a=s;t=Math.max(t,a.getRowCount()),r=Math.max(r,a.getColumnCount())}else t=Math.max(t,1),r=Math.max(r,1)});let n=null;for(const s of e)n=O(t,r,s,g.create(h.NA)).mapValue((o,c,l)=>{const f=n&&n.get(c,l);if(f!=null&&f.isError())return f;if(o.isError())return o;let m=f==null?void 0:f.getValue(),d=o==null?void 0:o.getValue();f!=null&&f.isBoolean()&&(m=`${m}`.toLocaleUpperCase()),o!=null&&o.isBoolean()&&(d=`${d}`.toLocaleUpperCase());const _=f!=null&&f.isNull()?"":m!=null?m:"",C=o!=null&&o.isNull()?"":d!=null?d:"";return j.create(`${_}${C}`)});return n||g.create(h.VALUE)}}class SA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return j.create("");let t=`${e.getValue()}`;e.isBoolean()&&(t=t.toLocaleUpperCase());let r="";for(let n=0;n<t.length;n++){const s=t.charCodeAt(n);s>=33&&s<=126?r+=String.fromCharCode(s+65248):s===32?r+=" ":r+=t.charAt(n)}return j.create(r)}}class DA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2);A(this,"needsLocale",!0)}calculate(e,t){let r=t!=null?t:R.create(2);r.isNull()&&(r=R.create(2));const n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),c=a.mapValue((l,f,m)=>{const d=o.get(f,m);return l.isError()?l:d.isError()?d:this._handleSingleObject(l,d)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=F(e,t);if(r)return n;const[a,o]=s;let c=+a.getValue(),l=Math.trunc(+o.getValue());if(l>127)return g.create(h.VALUE);l<0&&(`${c}`.length<Math.abs(l)?c=0:c=c<0?-Dt(Math.abs(c),l):Dt(c,l),l=0);const f=qc(this.getLocale(),c,l);return j.create(f)}}class wA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,ue.create()),a=O(r,n,t,ue.create()),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);return c.isError()?c:m.isError()?m:this._handleSingleObject(c,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){if(e.isNull()||t.isNull()){const a=e.isNull()&&t.isNull();return I.create(a)}let r=`${e.getValue()}`;e.isBoolean()&&(r=r.toLocaleUpperCase());let n=`${t.getValue()}`;t.isBoolean()&&(n=n.toLocaleUpperCase());const s=r===n;return I.create(s)}}const Ma=(i,u)=>M.numfmt.format(i,u,{throws:!1}),Oe=i=>{let u=`${i.getValue()}`;return i.isNull()&&(u=""),i.isBoolean()&&(u=u.toLocaleUpperCase()),i.isNumber()&&(i.getPattern()!==""?u=Ma(i.getPattern(),+i.getValue()):u=`${In(+i.getValue())}`),u};class LA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:R.create(1),s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,n,g.create(h.NA)),f=o.mapValue((m,d,_)=>{const C=c.get(d,_),E=l.get(d,_);return m.isError()?m:C.isError()?C:E.isError()?E:this._handleSingleObject(m,C,E)});return s===1&&a===1?f.get(0,0):f}_handleSingleObject(e,t,r){const n=Oe(e),s=Oe(t),{isError:a,errorObject:o,variants:c}=F(r);if(a)return o;const[l]=c,f=Math.floor(+l.getValue());if(t.isNull()||f<=0||f>s.length)return g.create(h.VALUE);if(e.isNull()||n.length===0)return R.create(f);const m=s.indexOf(n,f-1);return m===-1?g.create(h.VALUE):R.create(m+1)}}function Sa(i){let u=0;for(let e=0;e<i.length;e++)u+=vr(i,e);return u}function vr(i,u,e="ltr"){return xA(i,u,e)>255?2:1}function gi(i){return i>=55296&&i<=56319}function di(i){return i>=56320&&i<=57343}function Ci(i,u){const e=(i&1023)<<10,t=u&1023;return e+t+65536}function xA(i,u,e="ltr"){const t=i.charCodeAt(u);if(e==="ltr"&&gi(t)&&u+1<i.length){const r=i.charCodeAt(u+1);if(di(r))return Ci(t,r)}if(e==="rtl"&&di(t)&&u-1>=0){const r=i.charCodeAt(u-1);if(gi(r))return Ci(r,t)}return t}class PA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:R.create(1),s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,n,g.create(h.NA)),f=o.mapValue((m,d,_)=>{const C=c.get(d,_),E=l.get(d,_);return m.isError()?m:C.isError()?C:E.isError()?E:this._handleSingleObject(m,C,E)});return s===1&&a===1?f.get(0,0):f}_handleSingleObject(e,t,r){const n=Oe(e),s=Oe(t),{isError:a,errorObject:o,variants:c}=F(r);if(a)return o;const[l]=c,f=Math.floor(+l.getValue());if(t.isNull()||f<=0||f>s.length)return g.create(h.VALUE);if(e.isNull()||n.length===0)return R.create(f);const m=s.indexOf(n,f-1);if(m===-1)return g.create(h.VALUE);const d=Sa(s.substring(0,m))+1;return R.create(d)}}class jA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){let n=t!=null?t:R.create(2);n.isNull()&&(n=R.create(2));let s=r!=null?r:I.create(!1);s.isNull()&&(s=I.create(!1));const a=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),c=O(a,o,e,g.create(h.NA)),l=O(a,o,n,g.create(h.NA)),f=O(a,o,s,g.create(h.NA)),m=c.mapValue((d,_,C)=>{const E=l.get(_,C),b=f.get(_,C);return d.isError()?d:E.isError()?E:b.isError()?b:this._handleSingleObject(d,E,b)});return a===1&&o===1?m.get(0,0):m}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a;let f=+o.getValue(),m=Math.trunc(+c.getValue());const d=+l.getValue();if(m>127)return g.create(h.VALUE);m<0&&(`${f}`.length<Math.abs(m)?f=0:f=f<0?-Dt(Math.abs(f),m):Dt(f,m),m=0);let _=d?"###0":"#,##0";m>0&&(_+=`.${"0".repeat(m)}`);const C=Ma(_,f);return j.create(C)}}class UA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:R.create(1),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),c=a.mapValue((l,f,m)=>{const d=o.get(f,m);return l.isError()?l:d.isError()?d:this._handleSingleObject(l,d)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t){const r=Oe(e),{isError:n,errorObject:s,variants:a}=F(t);if(n)return s;const[o]=a,c=Math.floor(+o.getValue());if(c<0)return g.create(h.VALUE);if(e.isNull()||c===0)return j.create("");if(c>=r.length)return j.create(r);const l=r.substring(0,c);return j.create(l)}}class vA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:R.create(1),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,ue.create()),o=O(n,s,r,ue.create()),c=a.mapValue((l,f,m)=>{const d=o.get(f,m);return l.isError()?l:d.isError()?d:this._handleSingleObject(l,d)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t){const r=Oe(e),{isError:n,errorObject:s,variants:a}=F(t);if(n)return s;const[o]=a,c=Math.floor(+o.getValue());if(c<0)return g.create(h.VALUE);if(e.isNull()||c===0)return j.create("");let l=0,f=0,m="";for(;f<c&&l<r.length;)f+=vr(r,l),m+=r.charAt(l),l++;return j.create(m)}}class TA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleText(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;const t=Oe(e);return R.create(t.length)}}class IA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleText(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;const t=Oe(e),r=Sa(t);return R.create(r)}}class FA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return j.create("");const t=`${e.getValue()}`.toLocaleLowerCase();return j.create(t)}}class BA extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const n=Oe(e),{isError:s,errorObject:a,variants:o}=F(t,r);if(s)return a;const[c,l]=o,f=Math.floor(+c.getValue()),m=Math.floor(+l.getValue());if(f<=0||m<0)return g.create(h.VALUE);if(e.isNull()||f>n.length||m===0)return j.create("");const d=n.substring(f-1,f-1+m);return j.create(d)}}class kA extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){let n=Oe(e);const{isError:s,errorObject:a,variants:o}=F(t,r);if(s)return a;const[c,l]=o,f=Math.floor(+c.getValue()),m=Math.floor(+l.getValue());if(f<=0||m<0)return g.create(h.VALUE);if(e.isNull()||f>n.length||m===0)return j.create("");n=n.substring(f-1);let d=0,_=0,C="";for(;_<m&&d<n.length;)_+=vr(n,d),C+=n.charAt(d),d++;return j.create(C)}}const mr=["〇","一","二","三","四","五","六","七","八","九"],$r=["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"],$A=["","十","百","千"],YA=["","拾","佰","仟"],HA=["","万","亿","兆"];class GA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);return c.isError()?c:m.isError()?m:this._handleSingleObject(c,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const r=e.convertToNumberObjectValue();if(r.isError())return r;const n=t.convertToNumberObjectValue();if(n.isError())return n;let s=r.getValue();const a=Math.trunc(n.getValue());if(s<0||![1,2,3].includes(a))return g.create(h.NUM);s=Math.round(s);const o=s.toString(),c=o.length;let l="",f=!1;for(let m=0;m<c;m++){const d=Number(o[m]);if(c===1&&d===0){l+=a===2?$r[0]:mr[0];break}if(a===3){l+=mr[d];continue}const _=c-m-1,C=_%4,E=Math.trunc(_/4);if(c>=17&&E>2){if(l+=a===1?mr[d]:$r[d],E>3)continue}else d===0?f=C!==0:(f&&(l+=a===1?mr[0]:$r[0],f=!1),l+=a===1?mr[d]+$A[C]:$r[d]+YA[C]);C===0&&E>0&&o.slice(Math.max(0,m-3),m+1)!=="0000"&&(l+=HA[E])}return j.create(l)}}class WA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e,t,r){const n=t!=null?t:j.create("."),s=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,n,g.create(h.NA)),l=r?O(s,a,r,g.create(h.NA)):void 0,f=o.mapValue((m,d,_)=>{const C=c.get(d,_),E=r?l.get(d,_):void 0;return m.isError()?m:C.isError()?C:E!=null&&E.isError()?E:C.isNull()||E!=null&&E.isNull()?g.create(h.VALUE):m.isNull()?R.create(0):this._handleSingleObject(m,C,E)});return s===1&&a===1?f.get(0,0):f}_handleSingleObject(e,t,r){let n=`${e.getValue()}`;n=n.replace(/\s+/g,"");let s=`${t.getValue()}`;t.isBoolean()&&(s=s.toLocaleUpperCase()),s=s.charAt(0);let a;if(r&&(a=`${r.getValue()}`,r.isBoolean()&&(a=a.toLocaleUpperCase()),a=a.charAt(0),s===a))return g.create(h.VALUE);if(n.trim()==="")return R.create(0);if(!n.match(/^\s*[+-]?\s*(?:(?:\d+(?:\.\d*)?)|(?:\.\d+))(?:[eE][+-]?\d+)?[ \t]*/))return g.create(h.VALUE);const o=n.split(s);if(o.length>2)return g.create(h.VALUE);let c=o[0].replace(/,/g,"");r&&(c=c.split(a).join(""));let l=0;if(o.length===1){s===","&&(c=c.replace(/\./g,""));let f=0;for(;c.endsWith("%");)c=c.slice(0,-1),f++;f>0?l=+c/100**f:l=+c}else{if(!M.isRealNum(c))return g.create(h.VALUE);let f=o[1],m=0;for(;f.endsWith("%");)f=f.slice(0,-1),m++;const d=`${c}.${f}`;if(!M.isRealNum(d))return g.create(h.VALUE);m>0?l=+d/100**m:l=+d}return Number.isNaN(l)?g.create(h.VALUE):R.create(l)}}class QA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError()||e.isNull()||e.isBoolean()||e.isNumber())return e;const r=e.getValue().toLocaleString().toLocaleLowerCase().replace(/(^|\b|\W|\d|_)[a-z]/g,n=>n.toLocaleUpperCase());return j.create(r)}}const wu=()=>[{type:4,from:48,to:57}],Lu=()=>[{type:7,value:95},{type:4,from:97,to:122},{type:4,from:65,to:90},{type:4,from:48,to:57}],xu=()=>[{type:7,value:9},{type:7,value:10},{type:7,value:11},{type:7,value:12},{type:7,value:13},{type:7,value:32},{type:7,value:160},{type:7,value:5760},{type:4,from:8192,to:8202},{type:7,value:8232},{type:7,value:8233},{type:7,value:8239},{type:7,value:8287},{type:7,value:12288},{type:7,value:65279}],Pu=()=>({type:3,set:Lu(),not:!1}),ju=()=>({type:3,set:Lu(),not:!0}),Uu=()=>({type:3,set:wu(),not:!1}),vu=()=>({type:3,set:wu(),not:!0}),Tu=()=>({type:3,set:xu(),not:!1}),Iu=()=>({type:3,set:xu(),not:!0}),qA=()=>({type:3,set:[{type:7,value:10},{type:7,value:13},{type:7,value:8232},{type:7,value:8233}],not:!0});function KA(i){const u={type:0,stack:[]};let e=u,t=u.stack;const r=[],n=[];let s=0;const a=f=>{throw new SyntaxError(`Invalid regular expression: /${i}/: Nothing to repeat at column ${f-1}`)},o=ZA(i);let c=0,l;for(;c<o.length;)switch(l=o[c++],l){case"\\":if(c===o.length)throw new SyntaxError(`Invalid regular expression: /${i}/: \\ at end of pattern`);switch(l=o[c++],l){case"b":t.push({type:2,value:"b"});break;case"B":t.push({type:2,value:"B"});break;case"w":t.push(Pu());break;case"W":t.push(ju());break;case"d":t.push(Uu());break;case"D":t.push(vu());break;case"s":t.push(Tu());break;case"S":t.push(Iu());break;default:if(/\d/.test(l)){for(;/\d/.test(o[c])&&c<o.length;)l+=o[c++];const f=Number.parseInt(l,10);t.push({type:6,value:f}),n.push({reference:{type:6,value:f},stack:t,index:t.length-1})}else t.push({type:7,value:l.charCodeAt(0)})}break;case"^":t.push({type:2,value:"^"});break;case"$":t.push({type:2,value:"$"});break;case"[":{const f=o[c]==="^";f&&c++;const m=XA(o.slice(c),i);c+=m[1],t.push({type:3,set:m[0],not:f});break}case".":t.push(qA());break;case"(":{const f={type:1,stack:[],remember:!0};if(o[c]==="?"){const m=o[c+1];if(c+=2,m==="=")f.followedBy=!0;else if(m==="!")f.notFollowedBy=!0;else if(m!==":")throw new SyntaxError(`Invalid regular expression: /${i}/: Invalid group, character '${m}' after '?' at column ${c-1}`);f.remember=!1}else s+=1;t.push(f),r.push(e),e=f,t=f.stack;break}case")":if(r.length===0)throw new SyntaxError(`Invalid regular expression: /${i}/: Unmatched ) at column ${c-1}`);e=r.pop(),t=e.options?e.options[e.options.length-1]:e.stack;break;case"|":{e.options||(e.options=[e.stack],delete e.stack);const f=[];e.options.push(f),t=f;break}case"{":{const f=/^(\d+)(,(\d+)?)?\}/.exec(o.slice(c));if(f){t.length===0&&a(c);const m=Number.parseInt(f[1],10),d=f[2]?f[3]?Number.parseInt(f[3],10):1/0:m;c+=f[0].length,t.push({type:5,min:m,max:d,value:t.pop()})}else t.push({type:7,value:123});break}case"?":t.length===0&&a(c),t.push({type:5,min:0,max:1,value:t.pop()});break;case"+":t.length===0&&a(c),t.push({type:5,min:1,max:1/0,value:t.pop()});break;case"*":t.length===0&&a(c),t.push({type:5,min:0,max:1/0,value:t.pop()});break;default:t.push({type:7,value:l.charCodeAt(0)})}if(r.length>0)throw new SyntaxError(`Invalid regular expression: /${i}/: Unterminated group`);return zA(n,s),u}function XA(i,u){let e;const t=[],r=/\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(((?:\\)])|(((?:\\)?([^\]])))))|(\])|(?:\\)?([^])/g;for(;(e=r.exec(i))!==null;){let n=null;const[,s,a,o,c,l,f,m,d,_,C]=e;if(s||a||o||c||l||f?n=(()=>{let E={type:3,set:[],not:!1};return s?E=Pu():a?E=Uu():o?E=Tu():c?E=ju():l?E=vu():f&&(E=Iu()),E})():m&&C?n={type:4,from:(d||_).charCodeAt(0),to:C.charCodeAt(C.length-1)}:e[16]&&(n={type:7,value:e[16].charCodeAt(0)}),!n)return[t,r.lastIndex];t.push(n)}throw new SyntaxError(`Invalid regular expression: /${u}/: Unterminated character class`)}function ZA(i){return i.replace(/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g,(u,e,t,r,n,s,a)=>{if(t)return u;let o;e?o=8:r?o=Number.parseInt(r,16):n?o=Number.parseInt(n,16):s?o="@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?".indexOf(s):o={0:0,t:9,n:10,v:11,f:12,r:13}[a];const c=String.fromCharCode(o);return/[[\]{}^$.|?*+()]/.test(c)?`\\${c}`:c})}function zA(i,u){for(const e of i.reverse()){const t=e.reference.value;if(u<t){e.reference.type=7;const r=t.toString();if(e.reference.value=Number.parseInt(r,8),!/^[0-7]+$/.test(r)){let n=0;for(;r[n]!=="8"&&r[n]!=="9"&&n<r.length;)n+=1;if(n===0?(e.reference.value=r.charCodeAt(0),n+=1):e.reference.value=Number.parseInt(r.slice(0,n),8),r.length>n){const s=e.stack.splice(e.index+1);for(const a of r.slice(n))e.stack.push({type:7,value:a.charCodeAt(0)});e.stack.push(...s)}}}}}function Da(i,u){if(!JA(i))return{isError:!0,regExp:null};try{const e=new RegExp(i,u?"ug":"u");return eE(e)?{isError:!1,regExp:e}:{isError:!0,regExp:null}}catch{return{isError:!0,regExp:null}}}function JA(i){return!(/\(\?<=.*?\)/g.test(i)&&!/\[.*?(\?<=.*?)\]/g.test(i)||/\(\?<!.*?\)/g.test(i)&&!/\[.*?(\?<!.*?)\]/g.test(i))}function eE(i,u){let t;Object.prototype.toString.call(i)==="[object RegExp]"?t=i.source:i&&typeof i!="string"&&(t=`${i}`);let r;try{r=KA(t)}catch{return!1}let n=0;const s=(a,o)=>{let c=o;if(a.type===5&&(c++,n++,c>1||n>25))return!1;if(a.options){for(const f of a.options)if(!s({stack:f},c))return!1}const l=a.stack||a.value&&a.value.stack;if(!l)return!0;for(const f of l)if(!s(f,c))return!1;return!0};return s(r,0)}class tE extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=wr(e,t);if(r)return n;const[a,o]=s;let c=a.getValue();a.isNull()&&(c=""),a.isBoolean()&&(c=c?"TRUE":"FALSE"),c=`${c}`;let l=o.getValue();o.isNull()&&(l=""),o.isBoolean()&&(l=l?"TRUE":"FALSE"),l=`${l}`;const{isError:f,regExp:m}=Da(l,!1);if(f)return g.create(h.REF);const d=c.match(m);if(d===null)return g.create(h.NA);if(d.length>1){const _=d.slice(1).map(C=>j.create(C));return _.length>1?q.create({calculateValueList:[_],rowCount:1,columnCount:_.length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}):_[0]}return j.create(d[0])}}class rE extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=wr(e,t);if(r)return n;const[a,o]=s;let c=a.getValue();a.isNull()&&(c=""),a.isBoolean()&&(c=c?"TRUE":"FALSE"),c=`${c}`;let l=o.getValue();o.isNull()&&(l=""),o.isBoolean()&&(l=l?"TRUE":"FALSE"),l=`${l}`;const{isError:f,regExp:m}=Da(l,!1);return f?g.create(h.REF):c.match(m)===null?I.create(!1):I.create(!0)}}class nE extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,variants:a}=wr(e,t,r);if(n)return s;const[o,c,l]=a;let f=o.getValue();o.isNull()&&(f=""),o.isBoolean()&&(f=f?"TRUE":"FALSE"),f=`${f}`;let m=c.getValue();c.isNull()&&(m=""),c.isBoolean()&&(m=m?"TRUE":"FALSE"),m=`${m}`;let d=l.getValue();l.isNull()&&(d=""),l.isBoolean()&&(d=d?"TRUE":"FALSE"),d=`${d}`;const{isError:_,regExp:C}=Da(m,!0);if(_)return g.create(h.REF);const E=f.replace(C,d);return j.create(E)}}class sE extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:b.isError()?b:y.isError()?y:this._handleSingleObject(d,E,b,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=F(t,r);if(s)return a;const[c,l]=o,f=Math.floor(+c.getValue()),m=Math.floor(+l.getValue());if(f<=0||m<0)return g.create(h.VALUE);const d=Oe(e),_=Oe(n),C=d.substring(0,f-1)+_+d.substring(f-1+m);return j.create(C)}}class aE extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:b.isError()?b:y.isError()?y:this._handleSingleObject(d,E,b,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=F(t,r);if(s)return a;const[c,l]=o,f=Math.floor(+c.getValue()),m=Math.floor(+l.getValue());if(f<=0||m<0)return g.create(h.VALUE);let d=Oe(e);const _=Oe(n);let C=d.substring(0,f-1);d=d.substring(f-1);let E=0,b=0;for(;b<m&&E<d.length;)b+=vr(d,E),E++;return C+=_+d.substring(E),j.create(C)}}class iE extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((c,l,f)=>{let m=a.get(l,f);if(c.isError())return c;let d=c.getValue();if(c.isNull()&&(d=""),c.isBoolean()&&(d=d?"TRUE":"FALSE"),d+="",m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;const _=32767,C=Math.floor(+m.getValue());if(C<0||C>_/d.length)return g.create(h.VALUE);const E=d.repeat(C);return j.create(E)});return r===1&&n===1?o.get(0,0):o}}class oE extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:R.create(1),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),c=a.mapValue((l,f,m)=>{const d=o.get(f,m);return l.isError()?l:d.isError()?d:this._handleSingleObject(l,d)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t){const r=Oe(e),{isError:n,errorObject:s,variants:a}=F(t);if(n)return s;const[o]=a,c=Math.floor(+o.getValue());if(c<0)return g.create(h.VALUE);if(e.isNull()||c===0)return j.create("");if(c>=r.length)return j.create(r);const l=r.substring(r.length-c);return j.create(l)}}class uE extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:R.create(1),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),c=a.mapValue((l,f,m)=>{const d=o.get(f,m);return l.isError()?l:d.isError()?d:this._handleSingleObject(l,d)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t){const r=Oe(e),{isError:n,errorObject:s,variants:a}=F(t);if(n)return s;const[o]=a,c=Math.floor(+o.getValue());if(c<0)return g.create(h.VALUE);if(e.isNull()||c===0)return j.create("");let l=r.length-1,f=0,m="";for(;f<c&&l>=0;)f+=vr(r,l,"rtl"),m=r.charAt(l)+m,l--;return j.create(m)}}class cE extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:R.create(1),s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,n,g.create(h.NA)),f=o.mapValue((m,d,_)=>{const C=c.get(d,_),E=l.get(d,_);return m.isError()?m:C.isError()?C:E.isError()?E:this._handleSingleObject(m,C,E)});return s===1&&a===1?f.get(0,0):f}_handleSingleObject(e,t,r){const n=Oe(e).toLocaleUpperCase(),s=Oe(t).toLocaleUpperCase(),{isError:a,errorObject:o,variants:c}=F(r);if(a)return o;const[l]=c,f=Math.floor(+l.getValue());if(t.isNull()||f<=0||f>s.length)return g.create(h.VALUE);if(e.isNull()||n.length===0)return R.create(f);const m=s.indexOf(n,f-1);return m===-1?g.create(h.VALUE):R.create(m+1)}}class lE extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:R.create(1),s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,n,g.create(h.NA)),f=o.mapValue((m,d,_)=>{const C=c.get(d,_),E=l.get(d,_);return m.isError()?m:C.isError()?C:E.isError()?E:this._handleSingleObject(m,C,E)});return s===1&&a===1?f.get(0,0):f}_handleSingleObject(e,t,r){const n=Oe(e).toLocaleUpperCase(),s=Oe(t).toLocaleUpperCase(),{isError:a,errorObject:o,variants:c}=F(r);if(a)return o;const[l]=c,f=Math.floor(+l.getValue());if(t.isNull()||f<=0||f>s.length)return g.create(h.VALUE);if(e.isNull()||n.length===0)return R.create(f);const m=s.indexOf(n,f-1);if(m===-1)return g.create(h.VALUE);const d=Sa(s.substring(0,m))+1;return R.create(d)}}class fE extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n!=null&&n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n!=null&&n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=n?O(s,a,n,g.create(h.NA)):void 0,m=o.mapValue((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C);let y=n?f.get(_,C):void 0;return d.isError()?d:E.isError()?E:b.isError()?b:y!=null&&y.isError()?y:y!=null&&y.isNull()||y!=null&&y.isBoolean()?g.create(h.VALUE):(y!=null&&y.isString()&&(y=y.convertToNumberObjectValue()),y!=null&&y.isError()?y:this._handleSingleObject(d,E,b,y))});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const s=this._getObjectString(e),a=this._getObjectString(t),o=this._getObjectString(r),c=n?Math.floor(+n.getValue()):void 0;if(n&&c<=0)return g.create(h.VALUE);if(a==="")return j.create(s);let l="",f=0;for(let m=0;m<s.length;m++){const d=s.substr(m,a.length);if(d===a||d.length===a.length&&d.trim()===a.trim()){if(f++,f===c){l=s.substr(0,m)+o+s.substr(m+a.length);break}c===void 0&&(l+=o),m+=a.length-1}else c===void 0&&(l+=s[m])}return c&&f<c&&(l=s),j.create(l)}_getObjectString(e){let t=`${e.getValue()}`;return e.isNull()&&(t=""),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}}class mE extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0)}calculate(e){let t=e;return e.isReferenceObject()&&(t=e.toArrayValueObject().get(0,0)),t.isArray()?t.mapValue(r=>this._handleSingleObject(r)):this._handleSingleObject(t)}_handleSingleObject(e){return e.isError()?e:e.isNull()||e.isBoolean()||e.isNumber()?j.create(""):e}}class hE extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e),a=O(r,n,t),o=s.map((c,l,f)=>{if(c.isError())return c;let m=a.get(l,f)||j.create(" ");if(m.isError())return m;if(m.isBoolean())return g.create(h.VALUE);if(c.isBoolean())return c;let d=c.getValue();if(c.isNull()&&(d=0),c.isString()){if(!M.isRealNum(d))return c;d=Number(d)}m.isNull()&&(m=j.create(" "));const _=`${m.getValue()}`,C=Ma(_,d);return j.create(_===" "?C.trimEnd():C)});return o.getRowCount()===1&&o.getColumnCount()===1?o.get(0,0):o}}class gE extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=!1,c=r!=null?r:R.create(1);c.isNull()&&(o=!0,c=R.create(1));const l=!n,f=n!=null?n:R.create(0),m=s!=null?s:R.create(0),d=a!=null?a:g.create(h.NA),_=Math.max(e.isArray()?e.getRowCount():1,c.isArray()?c.getRowCount():1,f.isArray()?f.getRowCount():1,m.isArray()?m.getRowCount():1,d.isArray()?d.getRowCount():1),C=Math.max(e.isArray()?e.getColumnCount():1,c.isArray()?c.getColumnCount():1,f.isArray()?f.getColumnCount():1,m.isArray()?m.getColumnCount():1,d.isArray()?d.getColumnCount():1),E=O(_,C,e,g.create(h.NA)),b=O(_,C,c,g.create(h.NA)),y=O(_,C,f,g.create(h.NA)),p=O(_,C,m,g.create(h.NA)),V=O(_,C,d,g.create(h.NA)),S=this._getResultArray(E,t,b,y,p,V,o,l);return _===1&&C===1?S.get(0,0):S}_getResultArray(e,t,r,n,s,a,o,c){return e.map((f,m,d)=>{const _=r.get(m,d),C=n.get(m,d),E=s.get(m,d),b=a.get(m,d),y=this._checkVariantsError(f,_,C,E);if(y.isError())return y;const p=this._getStringValue(f),V=this._getDelimiterValue(t);if(V instanceof g)return V;const S=this._getVariantsNumberFloorValue(_,C,E);if(S instanceof g)return S;const[D,w,L]=S;return D===0||w<0||w>1||L<0||L>1?g.create(h.VALUE):V.includes("")?D>0?j.create(p):j.create(""):!o&&Math.abs(D)>p.length?g.create(h.VALUE):V.every(x=>x.length>p.length)?g.create(h.NA):this._getResult(p,V,D,w,L,b,c)})}_checkVariantsError(...e){for(let t=0;t<e.length;t++){const r=e[t];if(r.isError())return r}return I.create(!0)}_getStringValue(e){let t=`${e.getValue()}`;return e.isNull()&&(t=""),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}_getDelimiterValue(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);if(e.iterator(s=>{const a=s;if(a.isError())return r=!0,n=a,!1;t.push(this._getStringValue(a))}),r)return n}else{if(e.isError())return e;t.push(this._getStringValue(e))}return t}_getVariantsNumberFloorValue(...e){const t=[];for(let r=0;r<e.length;r++){let n=e[r];if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;const s=Math.floor(+n.getValue());t.push(s)}return t}_getResult(e,t,r,n,s,a,o){let c=n?e.toLocaleLowerCase():e;const l=n?t.map(C=>C.toLocaleLowerCase()):t;let f=0,m=0,d=0;for(let C=0;C<Math.abs(r);C++)if(r<0){const E=l.map(b=>({index:c.lastIndexOf(b),length:b.length})).filter(b=>b.index!==-1).sort((b,y)=>y.index-b.index)[0];if(!E)break;f=E.index,c=c.substr(0,E.index),d=E.length,m++}else{const E=l.map(b=>({index:c.indexOf(b),length:b.length})).filter(b=>b.index!==-1).sort((b,y)=>b.index-y.index)[0];if(!E)break;f+=E.index+d,c=c.substr(E.index+E.length),d=E.length,m++}if(m&&m<Math.abs(r)&&o)return g.create(h.NA);if(!m||m<Math.abs(r))return s?r>0?j.create(""):j.create(e):a;const _=e.substr(f+d);return j.create(_)}}class dE extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=!1,c=r!=null?r:R.create(1);c.isNull()&&(o=!0,c=R.create(1));const l=!n,f=n!=null?n:R.create(0),m=s!=null?s:R.create(0),d=a!=null?a:g.create(h.NA),_=Math.max(e.isArray()?e.getRowCount():1,c.isArray()?c.getRowCount():1,f.isArray()?f.getRowCount():1,m.isArray()?m.getRowCount():1,d.isArray()?d.getRowCount():1),C=Math.max(e.isArray()?e.getColumnCount():1,c.isArray()?c.getColumnCount():1,f.isArray()?f.getColumnCount():1,m.isArray()?m.getColumnCount():1,d.isArray()?d.getColumnCount():1),E=O(_,C,e,g.create(h.NA)),b=O(_,C,c,g.create(h.NA)),y=O(_,C,f,g.create(h.NA)),p=O(_,C,m,g.create(h.NA)),V=O(_,C,d,g.create(h.NA)),S=this._getResultArray(E,t,b,y,p,V,o,l);return _===1&&C===1?S.get(0,0):S}_getResultArray(e,t,r,n,s,a,o,c){return e.map((f,m,d)=>{const _=r.get(m,d),C=n.get(m,d),E=s.get(m,d),b=a.get(m,d),y=this._checkVariantsError(f,_,C,E);if(y.isError())return y;const p=this._getStringValue(f),V=this._getDelimiterValue(t);if(V instanceof g)return V;const S=this._getVariantsNumberFloorValue(_,C,E);if(S instanceof g)return S;const[D,w,L]=S;return D===0||w<0||w>1||L<0||L>1?g.create(h.VALUE):V.includes("")?D>0?j.create(""):j.create(p):!o&&Math.abs(D)>p.length?g.create(h.VALUE):V.every(x=>x.length>p.length)?g.create(h.NA):this._getResult(p,V,D,w,L,b,c)})}_checkVariantsError(...e){for(let t=0;t<e.length;t++){const r=e[t];if(r.isError())return r}return I.create(!0)}_getStringValue(e){let t=`${e.getValue()}`;return e.isNull()&&(t=""),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}_getDelimiterValue(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);if(e.iterator(s=>{const a=s;if(a.isError())return r=!0,n=a,!1;t.push(this._getStringValue(a))}),r)return n}else{if(e.isError())return e;t.push(this._getStringValue(e))}return t}_getVariantsNumberFloorValue(...e){const t=[];for(let r=0;r<e.length;r++){let n=e[r];if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;const s=Math.floor(+n.getValue());t.push(s)}return t}_getResult(e,t,r,n,s,a,o){let c=n?e.toLocaleLowerCase():e;const l=n?t.map(C=>C.toLocaleLowerCase()):t;let f=0,m=0,d=0;for(let C=0;C<Math.abs(r);C++)if(r<0){const E=l.map(b=>({index:c.lastIndexOf(b),length:b.length})).filter(b=>b.index!==-1).sort((b,y)=>y.index-b.index)[0];if(!E)break;f=E.index,c=c.substr(0,E.index),m++}else{const E=l.map(b=>({index:c.indexOf(b),length:b.length})).filter(b=>b.index!==-1).sort((b,y)=>b.index-y.index)[0];if(!E)break;f+=E.index+d,c=c.substr(E.index+E.length),d=E.length,m++}if(m&&m<Math.abs(r)&&o)return g.create(h.NA);if(!m||m<Math.abs(r))return s?r>0?j.create(e):j.create(""):a;const _=e.substr(0,f);return j.create(_)}}class CE extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255)}calculate(e,t,...r){const n=this._getDelimiterValues(e),s=this._getTextValues(r);if(t.isArray()){const o=t.mapValue(c=>this._handleSingleObject(n,c,s));return o.getRowCount()===1&&o.getColumnCount()===1?o.get(0,0):o}const a=t;if(a.isString()){const o=`${a.getValue()}`.toLocaleUpperCase();if(o==="TRUE")return this._handleSingleObject(n,I.create(!0),s);if(o==="FALSE")return this._handleSingleObject(n,I.create(!1),s)}return this._handleSingleObject(n,t,s)}_handleSingleObject(e,t,r){if(e instanceof g)return e;const{isError:n,errorObject:s,variants:a}=F(t);if(n)return s;if(r instanceof g)return r;const[o]=a,c=+o.getValue();let l=r;c&&(l=r.filter(m=>m!==null));let f="";for(let m=0;m<l.length;m++)l[m]!==null&&(f+=l[m]),m<l.length-1&&(f+=e[m%e.length]);return j.create(f)}_getDelimiterValues(e){const t=[],r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1;for(let s=0;s<r;s++)for(let a=0;a<n;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;let c=`${o.getValue()}`;o.isNull()&&(c=""),o.isBoolean()&&(c=c.toLocaleUpperCase()),t.push(c)}return t}_getTextValues(e){const t=[];for(const r of e){const n=r.isArray()?r.getRowCount():1,s=r.isArray()?r.getColumnCount():1;for(let a=0;a<n;a++)for(let o=0;o<s;o++){const c=r.isArray()?r.get(a,o):r;if(c.isError())return c;if(c.isNull()){t.push(null);continue}let l=`${c.getValue()}`;c.isBoolean()&&(l=l.toLocaleUpperCase()),t.push(l)}}return t}}class _E extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=r!=null?r:j.create("\\s");const c=n!=null?n:R.create(0),l=s!=null?s:R.create(0),f=a!=null?a:j.create(h.NA),{_variant:m,values:d}=this._getStringValues(t),{_variant:_,values:C}=this._getStringValues(o,!1);o=_;const E=Math.max(e.isArray()?e.getRowCount():1,c.isArray()?c.getRowCount():1,l.isArray()?l.getRowCount():1),b=Math.max(e.isArray()?e.getColumnCount():1,c.isArray()?c.getColumnCount():1,l.isArray()?l.getColumnCount():1),y=O(E,b,e,g.create(h.NA)),p=O(E,b,c,g.create(h.NA)),V=O(E,b,l,g.create(h.NA)),S=this._getResultArray(y,m,o,p,V,f,d,C);return E===1&&b===1?S.get(0,0):S.map(D=>D.get(0,0))}_getStringValues(e,t=!0){let r=e;const n=[];if(r.isArray())r.iterator(s=>{if(s!=null&&s.isError())return r=s,!1;if(s!=null&&s.isNull()&&t)return r=g.create(h.VALUE),!1;const a=this._getRegExpStringValue(s);if(a==="")return r=g.create(h.VALUE),!1;n.push(a)});else{r.isNull()&&t&&(r=g.create(h.VALUE));const s=this._getRegExpStringValue(r);s===""&&(r=g.create(h.VALUE)),n.push(s)}return{_variant:r,values:n}}_getResultArray(e,t,r,n,s,a,o,c){return e.map((f,m,d)=>{let _=n.get(m,d),C=s.get(m,d);const E=this._checkVariantsError(f,t,r,_,C);if(E.isError())return E;if(f.isNull())return g.create(h.VALUE);let b=a;if(b.isArray()){const D=b.getRowCount(),w=b.getColumnCount();if(D>1||w>1)return g.create(h.VALUE);b=b.get(0,0)}let y=`${f.getValue()}`;if(f.isBoolean()&&(y=y.toLocaleUpperCase()),_.isString()&&(_=_.convertToNumberObjectValue(),_.isError()))return _;const p=Math.floor(+_.getValue());if(C.isString()&&(C=C.convertToNumberObjectValue(),C.isError()))return C;const V=Math.floor(+C.getValue());if(V<0||V>1)return g.create(h.VALUE);let S=`${b.getValue()}`;return b.isBoolean()&&(S=S.toLocaleUpperCase()),this._getResult(y,o,c,p,V,S)})}_getResult(e,t,r,n,s,a){const o=new RegExp(r.join("|"),`g${s?"i":""}`),c=new RegExp(t.join("|"),`g${s?"i":""}`),l=e.split(o);let f=1,m=l.map(d=>{let _=d.split(c);return n&&(_=_.filter(C=>C!=="")),f=Math.max(f,_.length),_});return m=m.map(d=>{let _=d;return _.length<f&&(_=_.concat(new Array(f-_.length).fill(a))),_}),q.createByArray(m)}_checkVariantsError(...e){for(let t=0;t<e.length;t++){const r=e[t];if(r.isError())return r}return I.create(!0)}_getRegExpStringValue(e){let t=e.getValue();return e.isNull()&&(t="\\s"),e.isBoolean()&&(t=t?"TRUE":"FALSE"),t+="",this._escapeRegExp(t)}_escapeRegExp(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}}class AE extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return j.create("");let t=`${e.getValue()}`;return e.isBoolean()&&(t=t.toLocaleUpperCase()),t=t.trim().replace(/\s+/g," "),j.create(t)}}const EE=Object.values(M.DataStreamTreeTokenType).filter(i=>[M.DataStreamTreeTokenType.TABLE_START,M.DataStreamTreeTokenType.TABLE_ROW_START,M.DataStreamTreeTokenType.TABLE_CELL_START,M.DataStreamTreeTokenType.TABLE_CELL_END,M.DataStreamTreeTokenType.TABLE_ROW_END,M.DataStreamTreeTokenType.TABLE_END,M.DataStreamTreeTokenType.CUSTOM_BLOCK].includes(i));class bE extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=F(e);if(t)return r;const[s]=n,a=Math.floor(+s.getValue());if(a<1||a>1114111)return g.create(h.VALUE);if(a===1114111||a===1114110)return g.create(h.NA);let o=String.fromCharCode(a);return EE.some(c=>c===o)&&(o=""),j.create(o)}}class yE extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);let t=e.getValue().toLocaleString();e.isBoolean()&&(t=t.toLocaleUpperCase());const r=t.charCodeAt(0);return R.create(r)}}class RE extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return j.create("");const t=`${e.getValue()}`.toLocaleUpperCase();return j.create(t)}}class pE extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isBoolean())return g.create(h.VALUE);let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue(),t.isError()))return t;const r=+t.getValue();return R.create(r)}}class NE extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:R.create(0),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),c=a.mapValue((l,f,m)=>{const d=o.get(f,m);return l.isError()?l:d.isError()?d:this._handleSingleObject(l,d)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=F(t);if(r)return n;const[a]=s,o=Math.floor(+a.getValue());if(o<0||o>1)return g.create(h.VALUE);if(e.isNull())return j.create("");if(e.isBoolean())return e;if(e.isNumber())return R.create(e.getValue());const c=o?`"${e.getValue()}"`:`${e.getValue()}`;return j.create(c)}}const Fu=[[bA,se.ASC],[EA,se.ARRAYTOTEXT],[yA,se.BAHTTEXT],[pA,se.CHAR],[NA,se.CLEAN],[VA,se.CODE],[OA,se.CONCAT],[MA,se.CONCATENATE],[SA,se.DBCS],[DA,se.DOLLAR],[wA,se.EXACT],[LA,se.FIND],[PA,se.FINDB],[jA,se.FIXED],[UA,se.LEFT],[vA,se.LEFTB],[TA,se.LEN],[IA,se.LENB],[FA,se.LOWER],[BA,se.MID],[kA,se.MIDB],[GA,se.NUMBERSTRING],[WA,se.NUMBERVALUE],[tE,se.REGEXEXTRACT],[rE,se.REGEXMATCH],[nE,se.REGEXREPLACE],[QA,se.PROPER],[sE,se.REPLACE],[aE,se.REPLACEB],[iE,se.REPT],[oE,se.RIGHT],[uE,se.RIGHTB],[cE,se.SEARCH],[lE,se.SEARCHB],[fE,se.SUBSTITUTE],[mE,se.T],[hE,se.TEXT],[gE,se.TEXTAFTER],[dE,se.TEXTBEFORE],[CE,se.TEXTJOIN],[_E,se.TEXTSPLIT],[AE,se.TRIM],[bE,se.UNICHAR],[yE,se.UNICODE],[RE,se.UPPER],[pE,se.VALUE],[NE,se.VALUETOTEXT]],Bu=[];var ku=(i=>i)(ku||{});class $u extends M.Disposable{constructor(){super(...arguments);A(this,"_tableMap",new Map);A(this,"_tableOptionMap",new Map)}dispose(){super.dispose(),this._tableMap.clear(),this._tableOptionMap.clear()}remove(e,t){var r;(r=this._tableMap.get(e))==null||r.delete(t)}getTableMap(e){return this._tableMap.get(e)}getTableOptionMap(){return this._tableOptionMap}registerTable(e,t,r){var n;this._tableMap.get(e)==null&&this._tableMap.set(e,new Map),(n=this._tableMap.get(e))==null||n.set(t,r)}registerTableOptionMap(e,t){this._tableOptionMap.set(e,t)}}const wa=M.createIdentifier("univer.formula.super-table.service");function _i(i){return i.map(u=>u.map(e=>typeof e=="number"?In(e):e))}function VE(i,u=!1){if(i.isReferenceObject()){const e=i.toArrayValueObject().toValue();return u?_i(e):e}else if(i.isArray()){const e=i.toValue();return u?_i(e):e}else if(i.isNumber()){const e=i.getValue();return u?In(e):e}return i.getValue()}class OE extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;const t=Oe(e),r=encodeURIComponent(t).replace(/[!~'()*]/g,n=>`%${n.charCodeAt(0).toString(16).toLocaleUpperCase()}`);return j.create(r)}}var La=(i=>(i.ENCODEURL="ENCODEURL",i.FILTERXML="FILTERXML",i.WEBSERVICE="WEBSERVICE",i))(La||{});const Yu=[[OE,La.ENCODEURL]];class xa extends M.Disposable{constructor(){super(...arguments);A(this,"_allSubjects",[]);A(this,"_computingStatus$",new Ie.BehaviorSubject(!0));A(this,"computingStatus$",this._computingStatus$.pipe(Ie.distinctUntilChanged()));A(this,"_computingSubscription")}get computingStatus(){return this._computingStatus$.getValue()}dispose(){var e;super.dispose(),(e=this._computingSubscription)==null||e.unsubscribe(),this._computingStatus$.next(!0),this._computingStatus$.complete(),this._allSubjects.forEach(t=>{t.complete()})}pushComputingStatusSubject(e){return this._allSubjects.push(e),this._updateComputingObservable(),{dispose:()=>{const t=this._allSubjects.indexOf(e);t!==-1&&this._allSubjects.splice(t,1),this._updateComputingObservable()}}}_updateComputingObservable(){var e;if((e=this._computingSubscription)==null||e.unsubscribe(),this._allSubjects.length===0){this._computingStatus$.next(!0);return}this._computingSubscription=Ie.combineLatest(this._allSubjects).pipe(Ie.map(t=>t.every(r=>r))).subscribe(t=>this._computingStatus$.next(t))}}var ME=Object.getOwnPropertyDescriptor,SE=(i,u,e,t)=>{for(var r=t>1?void 0:t?ME(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Ai=(i,u)=>(e,t)=>u(e,t,i);let Is=class extends M.Disposable{constructor(u,e){super();A(this,"_computingCompleted$",new Ie.Observable(u=>{this._commandService.onCommandExecuted(e=>{if(e.id!==Cr.id)return;const t=e.params;if(t.stageInfo)return u.next(t.stageInfo.stage===$e.IDLE||t.stageInfo.stage===$e.CALCULATION_COMPLETED)})}).pipe(Ie.distinctUntilChanged(),Ie.shareReplay()));this._commandService=u,this._globalComputingSrv=e;const t=new M.DisposableCollection,r=new Ie.BehaviorSubject(!0);t.add(this._globalComputingSrv.pushComputingStatusSubject(r)),t.add(this._computingCompleted$.subscribe(n=>r.next(n))),t.add(()=>r.complete()),this.disposeWithMe(t)}};Is=SE([Ai(0,M.ICommandService),Ai(1,M.Inject(xa))],Is);var DE=Object.getOwnPropertyDescriptor,wE=(i,u,e,t)=>{for(var r=t>1?void 0:t?DE(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Yr=(i,u)=>(e,t)=>u(e,t,i);let En=class extends M.Disposable{constructor(i,u,e,t){super(),this._commandService=i,this._functionService=u,this._configService=e,this._dataSyncPrimaryController=t,this._initialize()}_initialize(){this._registerCommands(),this._registerFunctions()}_registerCommands(){[Gs,rn,$s,Ys,Cr,Hs,On,ks,Mn,Sn,Dn,wn,Ii,Fi,Ws,xi].forEach(i=>{var u;this._commandService.registerCommand(i),(u=this._dataSyncPrimaryController)==null||u.registerSyncingMutations(i)})}_registerFunctions(){var e;const i=this._configService.getConfig(xn),u=[...Eo,...ou,...uu,...fu,...du,...Cu,...pu,...Nu,...Vu,...Ou,...Mu,...Su,...Du,...Fu,...Bu,...Yu].concat((e=i==null?void 0:i.function)!=null?e:[]).map(t=>{const r=t[0],n=t[1];return new r(n)});this._functionService.registerExecutors(...u)}};En=wE([Yr(0,M.ICommandService),Yr(1,bt),Yr(2,M.IConfigService),Yr(3,M.Optional(qu.DataSyncPrimaryController))],En);var LE=Object.getOwnPropertyDescriptor,xE=(i,u,e,t)=>{for(var r=t>1?void 0:t?LE(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Hr=(i,u)=>(e,t)=>u(e,t,i);let bn=class extends M.Disposable{constructor(i,u,e){super(),this._commandService=i,this._dependencyManagerService=u,this._featureCalculationManagerService=e,this._initialize()}_initialize(){this._commandExecutedListener(),this._featureCalculationManagerServiceListener()}_featureCalculationManagerServiceListener(){this.disposeWithMe(this._featureCalculationManagerService.onChanged$.subscribe(i=>{const{unitId:u,subUnitId:e,featureIds:t}=i;this._dependencyManagerService.removeFeatureFormulaDependency(u,e,t)}))}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(i=>{if(i.id===Sn.id){const u=i.params;if(u==null)return;const{featureIds:e,unitId:t,subUnitId:r}=u;this._dependencyManagerService.removeFeatureFormulaDependency(t,r,e)}else if(i.id===Mn.id){const u=i.params;if(u==null)return;const{featureId:e,calculationParam:t}=u,{unitId:r,subUnitId:n}=t;this._dependencyManagerService.removeFeatureFormulaDependency(r,n,[e])}else if(i.id===wn.id){const u=i.params;if(u==null)return;this._dependencyManagerService.removeOtherFormulaDependency(u.unitId,u.subUnitId,u.formulaIdList)}else if(i.id===Dn.id){const u=i.params;if(u==null)return;const e=u.formulaMap,t=[];Object.keys(e).forEach(r=>{t.push(r)}),this._dependencyManagerService.removeOtherFormulaDependency(u.unitId,u.subUnitId,t)}else if(i.id===Gs.id){const u=i.params.formulaData;Object.keys(u).forEach(e=>{const t=u[e];if(t!==void 0){if(t===null){this._dependencyManagerService.clearFormulaDependency(e);return}Object.keys(t).forEach(r=>{const n=t[r];if(n!==void 0){if(n===null)return this._dependencyManagerService.clearFormulaDependency(e,r),!0;new M.ObjectMatrix(n).forValue((s,a)=>{this._dependencyManagerService.removeFormulaDependency(e,r,s,a)})}})}})}else i.id===On.id&&this._handleSetDefinedName(i)}))}_handleSetDefinedName(i){const u=i.params;if(u==null)return;const{unitId:e,name:t}=u;this._dependencyManagerService.removeFormulaDependencyByDefinedName(e,t)}};bn=xE([Hr(0,M.ICommandService),Hr(1,ar),Hr(1,Dr),Hr(2,ar)],bn);var PE=Object.getOwnPropertyDescriptor,jE=(i,u,e,t)=>{for(var r=t>1?void 0:t?PE(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Ei=(i,u)=>(e,t)=>u(e,t,i);let yn=class extends M.Disposable{constructor(i,u){super(),this._commandService=i,this._featureCalculationManagerService=u,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(i=>{if(i.id===Mn.id){const u=i.params;if(u==null)return;const{featureId:e,calculationParam:t}=u,{unitId:r,subUnitId:n}=t;this._featureCalculationManagerService.register(r,n,e,t)}else if(i.id===Sn.id){const u=i.params;if(u==null)return;const{featureIds:e,unitId:t,subUnitId:r}=u;this._featureCalculationManagerService.remove(t,r,e)}}))}};yn=jE([Ei(0,M.ICommandService),Ei(1,ar)],yn);var UE=Object.getOwnPropertyDescriptor,vE=(i,u,e,t)=>{for(var r=t>1?void 0:t?UE(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},fs=(i,u)=>(e,t)=>u(e,t,i);let Rn=class extends M.Disposable{constructor(i,u,e){super(),this._commandService=i,this._otherFormulaManagerService=u,this._dependencyManagerService=e,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(i=>{if(i.id===Dn.id){const u=i.params;if(u==null)return;const e={[u.unitId]:{[u.subUnitId]:u.formulaMap}};this._otherFormulaManagerService.batchRegister(e)}else if(i.id===wn.id){const u=i.params;if(u==null)return;const e={};u.formulaIdList.forEach(r=>e[r]=!0);const t={[u.unitId]:{[u.subUnitId]:e}};this._otherFormulaManagerService.batchRemove(t)}}))}};Rn=vE([fs(0,M.ICommandService),fs(1,Yn),fs(2,Dr)],Rn);var TE=Object.getOwnPropertyDescriptor,IE=(i,u,e,t)=>{for(var r=t>1?void 0:t?TE(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},bi=(i,u)=>(e,t)=>u(e,t,i);let pn=class extends M.Disposable{constructor(i,u){super(),this._commandService=i,this._superTableService=u,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(i=>{if(i.id===On.id){const u=i.params;if(u==null)return;const{unitId:e,tableName:t,reference:r}=u;this._superTableService.registerTable(e,t,r)}else if(i.id===ks.id){const u=i.params;if(u==null)return;const{unitId:e,tableName:t}=u;this._superTableService.remove(e,t)}else if(i.id===Ws.id){const u=i.params;if(u==null)return;const{tableOption:e,tableOptionType:t}=u;this._superTableService.registerTableOptionMap(e,t)}}))}};pn=IE([bi(0,M.ICommandService),bi(1,wa)],pn);class Hu extends M.Disposable{constructor(){super(...arguments);A(this,"_dirtyConversionMap",new Map)}dispose(){this._dirtyConversionMap.clear()}remove(e){this._dirtyConversionMap.delete(e)}get(e){return this._dirtyConversionMap.get(e)}has(e){return this._dirtyConversionMap.has(e)}register(e,t){this._dirtyConversionMap.set(e,t)}getDirtyConversionMap(){return this._dirtyConversionMap}}const Gu=M.createIdentifier("univer.formula.active-dirty-manager.service");var FE=Object.getOwnPropertyDescriptor,BE=(i,u,e,t)=>{for(var r=t>1?void 0:t?FE(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},yi=(i,u)=>(e,t)=>u(e,t,i);const kE="UNIVER_ENGINE_FORMULA_PLUGIN";var ms;exports.UniverFormulaEnginePlugin=(ms=class extends M.Plugin{constructor(u=Ga,e,t){super(),this._config=u,this._injector=e,this._configService=t;const{...r}=M.merge({},Ga,this._config);this._configService.setConfig(xn,r)}onStarting(){this._initialize(),this._initializeWithOverride()}onReady(){var u;M.touchDependencies(this._injector,[[En],[pn]]),(u=this._config)!=null&&u.notExecuteFormula||M.touchDependencies(this._injector,[[Rn],[yn],[bn],[exports.CalculateController]])}onRendered(){var u;(u=this._config)!=null&&u.notExecuteFormula||M.touchDependencies(this._injector,[[hn],[mn]])}_initialize(){const u=!this._config.notExecuteFormula,e=[[bt,{useClass:io}],[Xt,{useClass:exports.DefinedNamesService}],[Gu,{useClass:Hu}],[ra,{useClass:exports.HyperlinkEngineFormulaService}],[qs,{useClass:Yi}],[wa,{useClass:$u}],[xa],[exports.FormulaDataModel],[Ln],[En],[pn],[Is]];u&&e.push([Yn,{useClass:go}],[ft,{useClass:exports.FormulaRuntimeService}],[At,{useClass:exports.FormulaCurrentConfigService}],[ar,{useClass:ho}],[exports.CalculateController],[Rn],[bn],[yn],[exports.Interpreter],[exports.AstTreeBuilder],[exports.Lexer],[na],[exports.FunctionNodeFactory],[exports.LambdaNodeFactory],[aa],[exports.OperatorNodeFactory],[exports.PrefixNodeFactory],[exports.ReferenceNodeFactory],[exports.SuffixNodeFactory],[exports.UnionNodeFactory],[ia]),e.forEach(t=>this._injector.add(t))}_initializeWithOverride(){var u;(u=this._config)!=null&&u.notExecuteFormula||[[hn,{useClass:exports.CalculateFormulaService}],[Dr,{useClass:mo}],[mn,{useClass:exports.FormulaDependencyGenerator}]].forEach(t=>this._injector.add(t))}},A(ms,"pluginName",kE),ms);exports.UniverFormulaEnginePlugin=BE([yi(1,M.Inject(M.Injector)),yi(2,M.IConfigService)],exports.UniverFormulaEnginePlugin);exports.ActiveDirtyManagerService=Hu;exports.ArrayValueObject=q;exports.AstRootNodeFactory=na;exports.AsyncArrayObject=so;exports.AsyncCustomFunction=Qm;exports.AsyncObject=no;exports.BaseFunction=N;exports.BaseReferenceObject=Vr;exports.BaseValueObject=Et;exports.BooleanValue=wt;exports.BooleanValueObject=I;exports.CustomFunction=lu;exports.DEFAULT_INTERVAL_COUNT=_o;exports.DependencyManagerBaseService=fo;exports.DependencyManagerService=mo;exports.ENGINE_FORMULA_CYCLE_REFERENCE_COUNT=vc;exports.ENGINE_FORMULA_PLUGIN_CONFIG_KEY=xn;exports.ERROR_TYPE_SET=jt;exports.ErrorType=h;exports.ErrorValueObject=g;exports.FUNCTION_NAMES_ARRAY=gn;exports.FUNCTION_NAMES_COMPATIBILITY=fe;exports.FUNCTION_NAMES_CUBE=cu;exports.FUNCTION_NAMES_DATABASE=Te;exports.FUNCTION_NAMES_DATE=Ae;exports.FUNCTION_NAMES_ENGINEERING=Z;exports.FUNCTION_NAMES_FINANCIAL=J;exports.FUNCTION_NAMES_INFORMATION=pe;exports.FUNCTION_NAMES_LOGICAL=Ve;exports.FUNCTION_NAMES_LOOKUP=me;exports.FUNCTION_NAMES_MATH=H;exports.FUNCTION_NAMES_STATISTICAL=T;exports.FUNCTION_NAMES_TEXT=se;exports.FUNCTION_NAMES_UNIVER=ku;exports.FUNCTION_NAMES_WEB=La;exports.FeatureCalculationManagerService=ho;exports.FormulaDependencyTree=Zr;exports.FormulaDependencyTreeType=fn;exports.FormulaDependencyTreeVirtual=js;exports.FormulaExecuteStageType=$e;exports.FormulaExecutedStateType=Jt;exports.FunctionService=io;exports.FunctionType=pi;exports.GlobalComputingStatusService=xa;exports.IActiveDirtyManagerService=Gu;exports.ICalculateFormulaService=hn;exports.IDefinedNamesService=Xt;exports.IDependencyManagerService=Dr;exports.IFeatureCalculationManagerService=ar;exports.IFormulaCurrentConfigService=At;exports.IFormulaDependencyGenerator=mn;exports.IFormulaRuntimeService=ft;exports.IFunctionService=bt;exports.IHyperlinkEngineFormulaService=ra;exports.IOtherFormulaManagerService=Yn;exports.ISheetRowFilteredService=qs;exports.ISuperTableService=wa;exports.LambdaParameterNodeFactory=aa;exports.LambdaValueObjectObject=$n;exports.LexerNode=ae;exports.LexerTreeBuilder=Ln;exports.NullValueObject=ue;exports.NumberValueObject=R;exports.OtherFormulaManagerService=go;exports.RangeReferenceObject=br;exports.RegisterFunctionMutation=xi;exports.RemoveDefinedNameMutation=ks;exports.RemoveFeatureCalculationMutation=Sn;exports.RemoveOtherFormulaMutation=wn;exports.RemoveSuperTableMutation=Fi;exports.SetArrayFormulaDataMutation=rn;exports.SetDefinedNameMutation=On;exports.SetDefinedNameMutationFactory=Vc;exports.SetFeatureCalculationMutation=Mn;exports.SetFormulaCalculationNotificationMutation=Cr;exports.SetFormulaCalculationResultMutation=Hs;exports.SetFormulaCalculationStartMutation=$s;exports.SetFormulaCalculationStopMutation=Ys;exports.SetFormulaDataMutation=Gs;exports.SetOtherFormulaMutation=Dn;exports.SetSuperTableMutation=Ii;exports.SetSuperTableOptionMutation=Ws;exports.SheetRowFilteredService=Yi;exports.StringValueObject=j;exports.SuperTableService=$u;exports.ValueNodeFactory=ia;exports.ValueObjectFactory=lt;exports.compareToken=k;exports.convertUnitDataToRuntime=Li;exports.deserializeRangeForR1C1=Ao;exports.deserializeRangeWithSheet=rr;exports.deserializeRangeWithSheetWithCache=Wt;exports.extractFormulaError=Jc;exports.functionArray=Eo;exports.functionCompatibility=ou;exports.functionCube=uu;exports.functionDatabase=fu;exports.functionDate=du;exports.functionEngineering=Cu;exports.functionFinancial=pu;exports.functionInformation=Nu;exports.functionLogical=Vu;exports.functionLookup=Ou;exports.functionMath=Mu;exports.functionMeta=Su;exports.functionStatistical=Du;exports.functionText=Fu;exports.functionUniver=Bu;exports.functionWeb=Yu;exports.generateAstNode=xs;exports.generateExecuteAstNodeData=Ps;exports.generateRandomDependencyTreeId=Ft;exports.generateStringWithSequence=_s;exports.getAbsoluteRefTypeWitString=Cc;exports.getAbsoluteRefTypeWithSingleString=gr;exports.getObjectValue=VE;exports.getRangeWithRefsString=Ac;exports.handleNumfmtInCell=Yc;exports.handleRefStringInfo=Vn;exports.includeFormulaLexerToken=Vi;exports.initSheetFormulaData=As;exports.isFormulaLexerToken=hr;exports.isInDirtyRange=Ri;exports.isReferenceString=Bs;exports.isReferenceStringWithEffectiveColumn=dr;exports.isReferenceStrings=vi;exports.matchRefDrawToken=zu;exports.matchToken=K;exports.normalizeSheetName=Zu;exports.operatorToken=X;exports.sequenceNodeType=ve;exports.serializeRange=Ct;exports.serializeRangeToRefString=nn;exports.serializeRangeWithSheet=Pi;exports.serializeRangeWithSpreadsheet=ji;exports.singleReferenceToGrid=Wr;exports.strip=Ss;exports.stripErrorMargin=In;
7
+ */var zt=9e15,Ut=1e9,Ns="0123456789abcdef",an="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",on="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Vs={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-zt,maxE:zt,crypto:!1},Gi,dt,oe=!0,jn="[DecimalError] ",xt=jn+"Invalid argument: ",Wi=jn+"Precision limit exceeded",Qi=jn+"crypto unavailable",qi="[object Decimal]",je=Math.floor,Se=Math.pow,nl=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,sl=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,al=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Ki=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,rt=1e7,re=7,il=9007199254740991,ol=an.length-1,Os=on.length-1,B={toStringTag:qi};B.absoluteValue=B.abs=function(){var i=new this.constructor(this);return i.s<0&&(i.s=1),ee(i)};B.ceil=function(){return ee(new this.constructor(this),this.e+1,2)};B.clampedTo=B.clamp=function(i,u){var e,t=this,r=t.constructor;if(i=new r(i),u=new r(u),!i.s||!u.s)return new r(NaN);if(i.gt(u))throw Error(xt+u);return e=t.cmp(i),e<0?i:t.cmp(u)>0?u:new r(t)};B.comparedTo=B.cmp=function(i){var u,e,t,r,n=this,s=n.d,a=(i=new n.constructor(i)).d,o=n.s,c=i.s;if(!s||!a)return!o||!c?NaN:o!==c?o:s===a?0:!s^o<0?1:-1;if(!s[0]||!a[0])return s[0]?o:a[0]?-c:0;if(o!==c)return o;if(n.e!==i.e)return n.e>i.e^o<0?1:-1;for(t=s.length,r=a.length,u=0,e=t<r?t:r;u<e;++u)if(s[u]!==a[u])return s[u]>a[u]^o<0?1:-1;return t===r?0:t>r^o<0?1:-1};B.cosine=B.cos=function(){var i,u,e=this,t=e.constructor;return e.d?e.d[0]?(i=t.precision,u=t.rounding,t.precision=i+Math.max(e.e,e.sd())+re,t.rounding=1,e=ul(t,eo(t,e)),t.precision=i,t.rounding=u,ee(dt==2||dt==3?e.neg():e,i,u,!0)):new t(1):new t(NaN)};B.cubeRoot=B.cbrt=function(){var i,u,e,t,r,n,s,a,o,c,l=this,f=l.constructor;if(!l.isFinite()||l.isZero())return new f(l);for(oe=!1,n=l.s*Se(l.s*l,1/3),!n||Math.abs(n)==1/0?(e=Le(l.d),i=l.e,(n=(i-e.length+1)%3)&&(e+=n==1||n==-2?"0":"00"),n=Se(e,1/3),i=je((i+1)/3)-(i%3==(i<0?-1:2)),n==1/0?e="5e"+i:(e=n.toExponential(),e=e.slice(0,e.indexOf("e")+1)+i),t=new f(e),t.s=l.s):t=new f(n.toString()),s=(i=f.precision)+3;;)if(a=t,o=a.times(a).times(a),c=o.plus(l),t=Re(c.plus(l).times(a),c.plus(o),s+2,1),Le(a.d).slice(0,s)===(e=Le(t.d)).slice(0,s))if(e=e.slice(s-3,s+1),e=="9999"||!r&&e=="4999"){if(!r&&(ee(a,i+1,0),a.times(a).times(a).eq(l))){t=a;break}s+=4,r=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(ee(t,i+1,1),u=!t.times(t).times(t).eq(l));break}return oe=!0,ee(t,i,f.rounding,u)};B.decimalPlaces=B.dp=function(){var i,u=this.d,e=NaN;if(u){if(i=u.length-1,e=(i-je(this.e/re))*re,i=u[i],i)for(;i%10==0;i/=10)e--;e<0&&(e=0)}return e};B.dividedBy=B.div=function(i){return Re(this,new this.constructor(i))};B.dividedToIntegerBy=B.divToInt=function(i){var u=this,e=u.constructor;return ee(Re(u,new e(i),0,1,1),e.precision,e.rounding)};B.equals=B.eq=function(i){return this.cmp(i)===0};B.floor=function(){return ee(new this.constructor(this),this.e+1,3)};B.greaterThan=B.gt=function(i){return this.cmp(i)>0};B.greaterThanOrEqualTo=B.gte=function(i){var u=this.cmp(i);return u==1||u===0};B.hyperbolicCosine=B.cosh=function(){var i,u,e,t,r,n=this,s=n.constructor,a=new s(1);if(!n.isFinite())return new s(n.s?1/0:NaN);if(n.isZero())return a;e=s.precision,t=s.rounding,s.precision=e+Math.max(n.e,n.sd())+4,s.rounding=1,r=n.d.length,r<32?(i=Math.ceil(r/3),u=(1/vn(4,i)).toString()):(i=16,u="2.3283064365386962890625e-10"),n=sr(s,1,n.times(u),new s(1),!0);for(var o,c=i,l=new s(8);c--;)o=n.times(n),n=a.minus(o.times(l.minus(o.times(l))));return ee(n,s.precision=e,s.rounding=t,!0)};B.hyperbolicSine=B.sinh=function(){var i,u,e,t,r=this,n=r.constructor;if(!r.isFinite()||r.isZero())return new n(r);if(u=n.precision,e=n.rounding,n.precision=u+Math.max(r.e,r.sd())+4,n.rounding=1,t=r.d.length,t<3)r=sr(n,2,r,r,!0);else{i=1.4*Math.sqrt(t),i=i>16?16:i|0,r=r.times(1/vn(5,i)),r=sr(n,2,r,r,!0);for(var s,a=new n(5),o=new n(16),c=new n(20);i--;)s=r.times(r),r=r.times(a.plus(s.times(o.times(s).plus(c))))}return n.precision=u,n.rounding=e,ee(r,u,e,!0)};B.hyperbolicTangent=B.tanh=function(){var i,u,e=this,t=e.constructor;return e.isFinite()?e.isZero()?new t(e):(i=t.precision,u=t.rounding,t.precision=i+7,t.rounding=1,Re(e.sinh(),e.cosh(),t.precision=i,t.rounding=u)):new t(e.s)};B.inverseCosine=B.acos=function(){var i=this,u=i.constructor,e=i.abs().cmp(1),t=u.precision,r=u.rounding;return e!==-1?e===0?i.isNeg()?ot(u,t,r):new u(0):new u(NaN):i.isZero()?ot(u,t+4,r).times(.5):(u.precision=t+6,u.rounding=1,i=new u(1).minus(i).div(i.plus(1)).sqrt().atan(),u.precision=t,u.rounding=r,i.times(2))};B.inverseHyperbolicCosine=B.acosh=function(){var i,u,e=this,t=e.constructor;return e.lte(1)?new t(e.eq(1)?0:NaN):e.isFinite()?(i=t.precision,u=t.rounding,t.precision=i+Math.max(Math.abs(e.e),e.sd())+4,t.rounding=1,oe=!1,e=e.times(e).minus(1).sqrt().plus(e),oe=!0,t.precision=i,t.rounding=u,e.ln()):new t(e)};B.inverseHyperbolicSine=B.asinh=function(){var i,u,e=this,t=e.constructor;return!e.isFinite()||e.isZero()?new t(e):(i=t.precision,u=t.rounding,t.precision=i+2*Math.max(Math.abs(e.e),e.sd())+6,t.rounding=1,oe=!1,e=e.times(e).plus(1).sqrt().plus(e),oe=!0,t.precision=i,t.rounding=u,e.ln())};B.inverseHyperbolicTangent=B.atanh=function(){var i,u,e,t,r=this,n=r.constructor;return r.isFinite()?r.e>=0?new n(r.abs().eq(1)?r.s/0:r.isZero()?r:NaN):(i=n.precision,u=n.rounding,t=r.sd(),Math.max(t,i)<2*-r.e-1?ee(new n(r),i,u,!0):(n.precision=e=t-r.e,r=Re(r.plus(1),new n(1).minus(r),e+i,1),n.precision=i+4,n.rounding=1,r=r.ln(),n.precision=i,n.rounding=u,r.times(.5))):new n(NaN)};B.inverseSine=B.asin=function(){var i,u,e,t,r=this,n=r.constructor;return r.isZero()?new n(r):(u=r.abs().cmp(1),e=n.precision,t=n.rounding,u!==-1?u===0?(i=ot(n,e+4,t).times(.5),i.s=r.s,i):new n(NaN):(n.precision=e+6,n.rounding=1,r=r.div(new n(1).minus(r.times(r)).sqrt().plus(1)).atan(),n.precision=e,n.rounding=t,r.times(2)))};B.inverseTangent=B.atan=function(){var i,u,e,t,r,n,s,a,o,c=this,l=c.constructor,f=l.precision,m=l.rounding;if(c.isFinite()){if(c.isZero())return new l(c);if(c.abs().eq(1)&&f+4<=Os)return s=ot(l,f+4,m).times(.25),s.s=c.s,s}else{if(!c.s)return new l(NaN);if(f+4<=Os)return s=ot(l,f+4,m).times(.5),s.s=c.s,s}for(l.precision=a=f+10,l.rounding=1,e=Math.min(28,a/re+2|0),i=e;i;--i)c=c.div(c.times(c).plus(1).sqrt().plus(1));for(oe=!1,u=Math.ceil(a/re),t=1,o=c.times(c),s=new l(c),r=c;i!==-1;)if(r=r.times(o),n=s.minus(r.div(t+=2)),r=r.times(o),s=n.plus(r.div(t+=2)),s.d[u]!==void 0)for(i=u;s.d[i]===n.d[i]&&i--;);return e&&(s=s.times(2<<e-1)),oe=!0,ee(s,l.precision=f,l.rounding=m,!0)};B.isFinite=function(){return!!this.d};B.isInteger=B.isInt=function(){return!!this.d&&je(this.e/re)>this.d.length-2};B.isNaN=function(){return!this.s};B.isNegative=B.isNeg=function(){return this.s<0};B.isPositive=B.isPos=function(){return this.s>0};B.isZero=function(){return!!this.d&&this.d[0]===0};B.lessThan=B.lt=function(i){return this.cmp(i)<0};B.lessThanOrEqualTo=B.lte=function(i){return this.cmp(i)<1};B.logarithm=B.log=function(i){var u,e,t,r,n,s,a,o,c=this,l=c.constructor,f=l.precision,m=l.rounding,d=5;if(i==null)i=new l(10),u=!0;else{if(i=new l(i),e=i.d,i.s<0||!e||!e[0]||i.eq(1))return new l(NaN);u=i.eq(10)}if(e=c.d,c.s<0||!e||!e[0]||c.eq(1))return new l(e&&!e[0]?-1/0:c.s!=1?NaN:e?0:1/0);if(u)if(e.length>1)n=!0;else{for(r=e[0];r%10===0;)r/=10;n=r!==1}if(oe=!1,a=f+d,s=Mt(c,a),t=u?un(l,a+10):Mt(i,a),o=Re(s,t,a,1),Ar(o.d,r=f,m))do if(a+=10,s=Mt(c,a),t=u?un(l,a+10):Mt(i,a),o=Re(s,t,a,1),!n){+Le(o.d).slice(r+1,r+15)+1==1e14&&(o=ee(o,f+1,0));break}while(Ar(o.d,r+=10,m));return oe=!0,ee(o,f,m)};B.minus=B.sub=function(i){var u,e,t,r,n,s,a,o,c,l,f,m,d=this,_=d.constructor;if(i=new _(i),!d.d||!i.d)return!d.s||!i.s?i=new _(NaN):d.d?i.s=-i.s:i=new _(i.d||d.s!==i.s?d:NaN),i;if(d.s!=i.s)return i.s=-i.s,d.plus(i);if(c=d.d,m=i.d,a=_.precision,o=_.rounding,!c[0]||!m[0]){if(m[0])i.s=-i.s;else if(c[0])i=new _(d);else return new _(o===3?-0:0);return oe?ee(i,a,o):i}if(e=je(i.e/re),l=je(d.e/re),c=c.slice(),n=l-e,n){for(f=n<0,f?(u=c,n=-n,s=m.length):(u=m,e=l,s=c.length),t=Math.max(Math.ceil(a/re),s)+2,n>t&&(n=t,u.length=1),u.reverse(),t=n;t--;)u.push(0);u.reverse()}else{for(t=c.length,s=m.length,f=t<s,f&&(s=t),t=0;t<s;t++)if(c[t]!=m[t]){f=c[t]<m[t];break}n=0}for(f&&(u=c,c=m,m=u,i.s=-i.s),s=c.length,t=m.length-s;t>0;--t)c[s++]=0;for(t=m.length;t>n;){if(c[--t]<m[t]){for(r=t;r&&c[--r]===0;)c[r]=rt-1;--c[r],c[t]+=rt}c[t]-=m[t]}for(;c[--s]===0;)c.pop();for(;c[0]===0;c.shift())--e;return c[0]?(i.d=c,i.e=Un(c,e),oe?ee(i,a,o):i):new _(o===3?-0:0)};B.modulo=B.mod=function(i){var u,e=this,t=e.constructor;return i=new t(i),!e.d||!i.s||i.d&&!i.d[0]?new t(NaN):!i.d||e.d&&!e.d[0]?ee(new t(e),t.precision,t.rounding):(oe=!1,t.modulo==9?(u=Re(e,i.abs(),0,3,1),u.s*=i.s):u=Re(e,i,0,t.modulo,1),u=u.times(i),oe=!0,e.minus(u))};B.naturalExponential=B.exp=function(){return Ms(this)};B.naturalLogarithm=B.ln=function(){return Mt(this)};B.negated=B.neg=function(){var i=new this.constructor(this);return i.s=-i.s,ee(i)};B.plus=B.add=function(i){var u,e,t,r,n,s,a,o,c,l,f=this,m=f.constructor;if(i=new m(i),!f.d||!i.d)return!f.s||!i.s?i=new m(NaN):f.d||(i=new m(i.d||f.s===i.s?f:NaN)),i;if(f.s!=i.s)return i.s=-i.s,f.minus(i);if(c=f.d,l=i.d,a=m.precision,o=m.rounding,!c[0]||!l[0])return l[0]||(i=new m(f)),oe?ee(i,a,o):i;if(n=je(f.e/re),t=je(i.e/re),c=c.slice(),r=n-t,r){for(r<0?(e=c,r=-r,s=l.length):(e=l,t=n,s=c.length),n=Math.ceil(a/re),s=n>s?n+1:s+1,r>s&&(r=s,e.length=1),e.reverse();r--;)e.push(0);e.reverse()}for(s=c.length,r=l.length,s-r<0&&(r=s,e=l,l=c,c=e),u=0;r;)u=(c[--r]=c[r]+l[r]+u)/rt|0,c[r]%=rt;for(u&&(c.unshift(u),++t),s=c.length;c[--s]==0;)c.pop();return i.d=c,i.e=Un(c,t),oe?ee(i,a,o):i};B.precision=B.sd=function(i){var u,e=this;if(i!==void 0&&i!==!!i&&i!==1&&i!==0)throw Error(xt+i);return e.d?(u=Xi(e.d),i&&e.e+1>u&&(u=e.e+1)):u=NaN,u};B.round=function(){var i=this,u=i.constructor;return ee(new u(i),i.e+1,u.rounding)};B.sine=B.sin=function(){var i,u,e=this,t=e.constructor;return e.isFinite()?e.isZero()?new t(e):(i=t.precision,u=t.rounding,t.precision=i+Math.max(e.e,e.sd())+re,t.rounding=1,e=ll(t,eo(t,e)),t.precision=i,t.rounding=u,ee(dt>2?e.neg():e,i,u,!0)):new t(NaN)};B.squareRoot=B.sqrt=function(){var i,u,e,t,r,n,s=this,a=s.d,o=s.e,c=s.s,l=s.constructor;if(c!==1||!a||!a[0])return new l(!c||c<0&&(!a||a[0])?NaN:a?s:1/0);for(oe=!1,c=Math.sqrt(+s),c==0||c==1/0?(u=Le(a),(u.length+o)%2==0&&(u+="0"),c=Math.sqrt(u),o=je((o+1)/2)-(o<0||o%2),c==1/0?u="5e"+o:(u=c.toExponential(),u=u.slice(0,u.indexOf("e")+1)+o),t=new l(u)):t=new l(c.toString()),e=(o=l.precision)+3;;)if(n=t,t=n.plus(Re(s,n,e+2,1)).times(.5),Le(n.d).slice(0,e)===(u=Le(t.d)).slice(0,e))if(u=u.slice(e-3,e+1),u=="9999"||!r&&u=="4999"){if(!r&&(ee(n,o+1,0),n.times(n).eq(s))){t=n;break}e+=4,r=1}else{(!+u||!+u.slice(1)&&u.charAt(0)=="5")&&(ee(t,o+1,1),i=!t.times(t).eq(s));break}return oe=!0,ee(t,o,l.rounding,i)};B.tangent=B.tan=function(){var i,u,e=this,t=e.constructor;return e.isFinite()?e.isZero()?new t(e):(i=t.precision,u=t.rounding,t.precision=i+10,t.rounding=1,e=e.sin(),e.s=1,e=Re(e,new t(1).minus(e.times(e)).sqrt(),i+10,0),t.precision=i,t.rounding=u,ee(dt==2||dt==4?e.neg():e,i,u,!0)):new t(NaN)};B.times=B.mul=function(i){var u,e,t,r,n,s,a,o,c,l=this,f=l.constructor,m=l.d,d=(i=new f(i)).d;if(i.s*=l.s,!m||!m[0]||!d||!d[0])return new f(!i.s||m&&!m[0]&&!d||d&&!d[0]&&!m?NaN:!m||!d?i.s/0:i.s*0);for(e=je(l.e/re)+je(i.e/re),o=m.length,c=d.length,o<c&&(n=m,m=d,d=n,s=o,o=c,c=s),n=[],s=o+c,t=s;t--;)n.push(0);for(t=c;--t>=0;){for(u=0,r=o+t;r>t;)a=n[r]+d[t]*m[r-t-1]+u,n[r--]=a%rt|0,u=a/rt|0;n[r]=(n[r]+u)%rt|0}for(;!n[--s];)n.pop();return u?++e:n.shift(),i.d=n,i.e=Un(n,e),oe?ee(i,f.precision,f.rounding):i};B.toBinary=function(i,u){return Zs(this,2,i,u)};B.toDecimalPlaces=B.toDP=function(i,u){var e=this,t=e.constructor;return e=new t(e),i===void 0?e:(Be(i,0,Ut),u===void 0?u=t.rounding:Be(u,0,8),ee(e,i+e.e+1,u))};B.toExponential=function(i,u){var e,t=this,r=t.constructor;return i===void 0?e=ct(t,!0):(Be(i,0,Ut),u===void 0?u=r.rounding:Be(u,0,8),t=ee(new r(t),i+1,u),e=ct(t,!0,i+1)),t.isNeg()&&!t.isZero()?"-"+e:e};B.toFixed=function(i,u){var e,t,r=this,n=r.constructor;return i===void 0?e=ct(r):(Be(i,0,Ut),u===void 0?u=n.rounding:Be(u,0,8),t=ee(new n(r),i+r.e+1,u),e=ct(t,!1,i+t.e+1)),r.isNeg()&&!r.isZero()?"-"+e:e};B.toFraction=function(i){var u,e,t,r,n,s,a,o,c,l,f,m,d=this,_=d.d,C=d.constructor;if(!_)return new C(d);if(c=e=new C(1),t=o=new C(0),u=new C(t),n=u.e=Xi(_)-d.e-1,s=n%re,u.d[0]=Se(10,s<0?re+s:s),i==null)i=n>0?u:c;else{if(a=new C(i),!a.isInt()||a.lt(c))throw Error(xt+a);i=a.gt(u)?n>0?u:c:a}for(oe=!1,a=new C(Le(_)),l=C.precision,C.precision=n=_.length*re*2;f=Re(a,u,0,1,1),r=e.plus(f.times(t)),r.cmp(i)!=1;)e=t,t=r,r=c,c=o.plus(f.times(r)),o=r,r=u,u=a.minus(f.times(r)),a=r;return r=Re(i.minus(e),t,0,1,1),o=o.plus(r.times(c)),e=e.plus(r.times(t)),o.s=c.s=d.s,m=Re(c,t,n,1).minus(d).abs().cmp(Re(o,e,n,1).minus(d).abs())<1?[c,t]:[o,e],C.precision=l,oe=!0,m};B.toHexadecimal=B.toHex=function(i,u){return Zs(this,16,i,u)};B.toNearest=function(i,u){var e=this,t=e.constructor;if(e=new t(e),i==null){if(!e.d)return e;i=new t(1),u=t.rounding}else{if(i=new t(i),u===void 0?u=t.rounding:Be(u,0,8),!e.d)return i.s?e:i;if(!i.d)return i.s&&(i.s=e.s),i}return i.d[0]?(oe=!1,e=Re(e,i,0,u,1).times(i),oe=!0,ee(e)):(i.s=e.s,e=i),e};B.toNumber=function(){return+this};B.toOctal=function(i,u){return Zs(this,8,i,u)};B.toPower=B.pow=function(i){var u,e,t,r,n,s,a=this,o=a.constructor,c=+(i=new o(i));if(!a.d||!i.d||!a.d[0]||!i.d[0])return new o(Se(+a,c));if(a=new o(a),a.eq(1))return a;if(t=o.precision,n=o.rounding,i.eq(1))return ee(a,t,n);if(u=je(i.e/re),u>=i.d.length-1&&(e=c<0?-c:c)<=il)return r=Zi(o,a,e,t),i.s<0?new o(1).div(r):ee(r,t,n);if(s=a.s,s<0){if(u<i.d.length-1)return new o(NaN);if((i.d[u]&1)==0&&(s=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=s,a}return e=Se(+a,c),u=e==0||!isFinite(e)?je(c*(Math.log("0."+Le(a.d))/Math.LN10+a.e+1)):new o(e+"").e,u>o.maxE+1||u<o.minE-1?new o(u>0?s/0:0):(oe=!1,o.rounding=a.s=1,e=Math.min(12,(u+"").length),r=Ms(i.times(Mt(a,t+e)),t),r.d&&(r=ee(r,t+5,1),Ar(r.d,t,n)&&(u=t+10,r=ee(Ms(i.times(Mt(a,u+e)),u),u+5,1),+Le(r.d).slice(t+1,t+15)+1==1e14&&(r=ee(r,t+1,0)))),r.s=s,oe=!0,o.rounding=n,ee(r,t,n))};B.toPrecision=function(i,u){var e,t=this,r=t.constructor;return i===void 0?e=ct(t,t.e<=r.toExpNeg||t.e>=r.toExpPos):(Be(i,1,Ut),u===void 0?u=r.rounding:Be(u,0,8),t=ee(new r(t),i,u),e=ct(t,i<=t.e||t.e<=r.toExpNeg,i)),t.isNeg()&&!t.isZero()?"-"+e:e};B.toSignificantDigits=B.toSD=function(i,u){var e=this,t=e.constructor;return i===void 0?(i=t.precision,u=t.rounding):(Be(i,1,Ut),u===void 0?u=t.rounding:Be(u,0,8)),ee(new t(e),i,u)};B.toString=function(){var i=this,u=i.constructor,e=ct(i,i.e<=u.toExpNeg||i.e>=u.toExpPos);return i.isNeg()&&!i.isZero()?"-"+e:e};B.truncated=B.trunc=function(){return ee(new this.constructor(this),this.e+1,1)};B.valueOf=B.toJSON=function(){var i=this,u=i.constructor,e=ct(i,i.e<=u.toExpNeg||i.e>=u.toExpPos);return i.isNeg()?"-"+e:e};function Le(i){var u,e,t,r=i.length-1,n="",s=i[0];if(r>0){for(n+=s,u=1;u<r;u++)t=i[u]+"",e=re-t.length,e&&(n+=Vt(e)),n+=t;s=i[u],t=s+"",e=re-t.length,e&&(n+=Vt(e))}else if(s===0)return"0";for(;s%10===0;)s/=10;return n+s}function Be(i,u,e){if(i!==~~i||i<u||i>e)throw Error(xt+i)}function Ar(i,u,e,t){var r,n,s,a;for(n=i[0];n>=10;n/=10)--u;return--u<0?(u+=re,r=0):(r=Math.ceil((u+1)/re),u%=re),n=Se(10,re-u),a=i[r]%n|0,t==null?u<3?(u==0?a=a/100|0:u==1&&(a=a/10|0),s=e<4&&a==99999||e>3&&a==49999||a==5e4||a==0):s=(e<4&&a+1==n||e>3&&a+1==n/2)&&(i[r+1]/n/100|0)==Se(10,u-2)-1||(a==n/2||a==0)&&(i[r+1]/n/100|0)==0:u<4?(u==0?a=a/1e3|0:u==1?a=a/100|0:u==2&&(a=a/10|0),s=(t||e<4)&&a==9999||!t&&e>3&&a==4999):s=((t||e<4)&&a+1==n||!t&&e>3&&a+1==n/2)&&(i[r+1]/n/1e3|0)==Se(10,u-3)-1,s}function qr(i,u,e){for(var t,r=[0],n,s=0,a=i.length;s<a;){for(n=r.length;n--;)r[n]*=u;for(r[0]+=Ns.indexOf(i.charAt(s++)),t=0;t<r.length;t++)r[t]>e-1&&(r[t+1]===void 0&&(r[t+1]=0),r[t+1]+=r[t]/e|0,r[t]%=e)}return r.reverse()}function ul(i,u){var e,t,r;if(u.isZero())return u;t=u.d.length,t<32?(e=Math.ceil(t/3),r=(1/vn(4,e)).toString()):(e=16,r="2.3283064365386962890625e-10"),i.precision+=e,u=sr(i,1,u.times(r),new i(1));for(var n=e;n--;){var s=u.times(u);u=s.times(s).minus(s).times(8).plus(1)}return i.precision-=e,u}var Re=(function(){function i(t,r,n){var s,a=0,o=t.length;for(t=t.slice();o--;)s=t[o]*r+a,t[o]=s%n|0,a=s/n|0;return a&&t.unshift(a),t}function u(t,r,n,s){var a,o;if(n!=s)o=n>s?1:-1;else for(a=o=0;a<n;a++)if(t[a]!=r[a]){o=t[a]>r[a]?1:-1;break}return o}function e(t,r,n,s){for(var a=0;n--;)t[n]-=a,a=t[n]<r[n]?1:0,t[n]=a*s+t[n]-r[n];for(;!t[0]&&t.length>1;)t.shift()}return function(t,r,n,s,a,o){var c,l,f,m,d,_,C,E,b,y,p,V,S,D,w,L,x,v,U,$,Q=t.constructor,te=t.s==r.s?1:-1,z=t.d,W=r.d;if(!z||!z[0]||!W||!W[0])return new Q(!t.s||!r.s||(z?W&&z[0]==W[0]:!W)?NaN:z&&z[0]==0||!W?te*0:te/0);for(o?(d=1,l=t.e-r.e):(o=rt,d=re,l=je(t.e/d)-je(r.e/d)),U=W.length,x=z.length,b=new Q(te),y=b.d=[],f=0;W[f]==(z[f]||0);f++);if(W[f]>(z[f]||0)&&l--,n==null?(D=n=Q.precision,s=Q.rounding):a?D=n+(t.e-r.e)+1:D=n,D<0)y.push(1),_=!0;else{if(D=D/d+2|0,f=0,U==1){for(m=0,W=W[0],D++;(f<x||m)&&D--;f++)w=m*o+(z[f]||0),y[f]=w/W|0,m=w%W|0;_=m||f<x}else{for(m=o/(W[0]+1)|0,m>1&&(W=i(W,m,o),z=i(z,m,o),U=W.length,x=z.length),L=U,p=z.slice(0,U),V=p.length;V<U;)p[V++]=0;$=W.slice(),$.unshift(0),v=W[0],W[1]>=o/2&&++v;do m=0,c=u(W,p,U,V),c<0?(S=p[0],U!=V&&(S=S*o+(p[1]||0)),m=S/v|0,m>1?(m>=o&&(m=o-1),C=i(W,m,o),E=C.length,V=p.length,c=u(C,p,E,V),c==1&&(m--,e(C,U<E?$:W,E,o))):(m==0&&(c=m=1),C=W.slice()),E=C.length,E<V&&C.unshift(0),e(p,C,V,o),c==-1&&(V=p.length,c=u(W,p,U,V),c<1&&(m++,e(p,U<V?$:W,V,o))),V=p.length):c===0&&(m++,p=[0]),y[f++]=m,c&&p[0]?p[V++]=z[L]||0:(p=[z[L]],V=1);while((L++<x||p[0]!==void 0)&&D--);_=p[0]!==void 0}y[0]||y.shift()}if(d==1)b.e=l,Gi=_;else{for(f=1,m=y[0];m>=10;m/=10)f++;b.e=f+l*d-1,ee(b,a?n+b.e+1:n,s,_)}return b}})();function ee(i,u,e,t){var r,n,s,a,o,c,l,f,m,d=i.constructor;e:if(u!=null){if(f=i.d,!f)return i;for(r=1,a=f[0];a>=10;a/=10)r++;if(n=u-r,n<0)n+=re,s=u,l=f[m=0],o=l/Se(10,r-s-1)%10|0;else if(m=Math.ceil((n+1)/re),a=f.length,m>=a)if(t){for(;a++<=m;)f.push(0);l=o=0,r=1,n%=re,s=n-re+1}else break e;else{for(l=a=f[m],r=1;a>=10;a/=10)r++;n%=re,s=n-re+r,o=s<0?0:l/Se(10,r-s-1)%10|0}if(t=t||u<0||f[m+1]!==void 0||(s<0?l:l%Se(10,r-s-1)),c=e<4?(o||t)&&(e==0||e==(i.s<0?3:2)):o>5||o==5&&(e==4||t||e==6&&(n>0?s>0?l/Se(10,r-s):0:f[m-1])%10&1||e==(i.s<0?8:7)),u<1||!f[0])return f.length=0,c?(u-=i.e+1,f[0]=Se(10,(re-u%re)%re),i.e=-u||0):f[0]=i.e=0,i;if(n==0?(f.length=m,a=1,m--):(f.length=m+1,a=Se(10,re-n),f[m]=s>0?(l/Se(10,r-s)%Se(10,s)|0)*a:0),c)for(;;)if(m==0){for(n=1,s=f[0];s>=10;s/=10)n++;for(s=f[0]+=a,a=1;s>=10;s/=10)a++;n!=a&&(i.e++,f[0]==rt&&(f[0]=1));break}else{if(f[m]+=a,f[m]!=rt)break;f[m--]=0,a=1}for(n=f.length;f[--n]===0;)f.pop()}return oe&&(i.e>d.maxE?(i.d=null,i.e=NaN):i.e<d.minE&&(i.e=0,i.d=[0])),i}function ct(i,u,e){if(!i.isFinite())return Ji(i);var t,r=i.e,n=Le(i.d),s=n.length;return u?(e&&(t=e-s)>0?n=n.charAt(0)+"."+n.slice(1)+Vt(t):s>1&&(n=n.charAt(0)+"."+n.slice(1)),n=n+(i.e<0?"e":"e+")+i.e):r<0?(n="0."+Vt(-r-1)+n,e&&(t=e-s)>0&&(n+=Vt(t))):r>=s?(n+=Vt(r+1-s),e&&(t=e-r-1)>0&&(n=n+"."+Vt(t))):((t=r+1)<s&&(n=n.slice(0,t)+"."+n.slice(t)),e&&(t=e-s)>0&&(r+1===s&&(n+="."),n+=Vt(t))),n}function Un(i,u){var e=i[0];for(u*=re;e>=10;e/=10)u++;return u}function un(i,u,e){if(u>ol)throw oe=!0,e&&(i.precision=e),Error(Wi);return ee(new i(an),u,1,!0)}function ot(i,u,e){if(u>Os)throw Error(Wi);return ee(new i(on),u,e,!0)}function Xi(i){var u=i.length-1,e=u*re+1;if(u=i[u],u){for(;u%10==0;u/=10)e--;for(u=i[0];u>=10;u/=10)e++}return e}function Vt(i){for(var u="";i--;)u+="0";return u}function Zi(i,u,e,t){var r,n=new i(1),s=Math.ceil(t/re+4);for(oe=!1;;){if(e%2&&(n=n.times(u),Xa(n.d,s)&&(r=!0)),e=je(e/2),e===0){e=n.d.length-1,r&&n.d[e]===0&&++n.d[e];break}u=u.times(u),Xa(u.d,s)}return oe=!0,n}function Ka(i){return i.d[i.d.length-1]&1}function zi(i,u,e){for(var t,r,n=new i(u[0]),s=0;++s<u.length;){if(r=new i(u[s]),!r.s){n=r;break}t=n.cmp(r),(t===e||t===0&&n.s===e)&&(n=r)}return n}function Ms(i,u){var e,t,r,n,s,a,o,c=0,l=0,f=0,m=i.constructor,d=m.rounding,_=m.precision;if(!i.d||!i.d[0]||i.e>17)return new m(i.d?i.d[0]?i.s<0?0:1/0:1:i.s?i.s<0?0:i:NaN);for(u==null?(oe=!1,o=_):o=u,a=new m(.03125);i.e>-2;)i=i.times(a),f+=5;for(t=Math.log(Se(2,f))/Math.LN10*2+5|0,o+=t,e=n=s=new m(1),m.precision=o;;){if(n=ee(n.times(i),o,1),e=e.times(++l),a=s.plus(Re(n,e,o,1)),Le(a.d).slice(0,o)===Le(s.d).slice(0,o)){for(r=f;r--;)s=ee(s.times(s),o,1);if(u==null)if(c<3&&Ar(s.d,o-t,d,c))m.precision=o+=10,e=n=a=new m(1),l=0,c++;else return ee(s,m.precision=_,d,oe=!0);else return m.precision=_,s}s=a}}function Mt(i,u){var e,t,r,n,s,a,o,c,l,f,m,d=1,_=10,C=i,E=C.d,b=C.constructor,y=b.rounding,p=b.precision;if(C.s<0||!E||!E[0]||!C.e&&E[0]==1&&E.length==1)return new b(E&&!E[0]?-1/0:C.s!=1?NaN:E?0:C);if(u==null?(oe=!1,l=p):l=u,b.precision=l+=_,e=Le(E),t=e.charAt(0),Math.abs(n=C.e)<15e14){for(;t<7&&t!=1||t==1&&e.charAt(1)>3;)C=C.times(i),e=Le(C.d),t=e.charAt(0),d++;n=C.e,t>1?(C=new b("0."+e),n++):C=new b(t+"."+e.slice(1))}else return c=un(b,l+2,p).times(n+""),C=Mt(new b(t+"."+e.slice(1)),l-_).plus(c),b.precision=p,u==null?ee(C,p,y,oe=!0):C;for(f=C,o=s=C=Re(C.minus(1),C.plus(1),l,1),m=ee(C.times(C),l,1),r=3;;){if(s=ee(s.times(m),l,1),c=o.plus(Re(s,new b(r),l,1)),Le(c.d).slice(0,l)===Le(o.d).slice(0,l))if(o=o.times(2),n!==0&&(o=o.plus(un(b,l+2,p).times(n+""))),o=Re(o,new b(d),l,1),u==null)if(Ar(o.d,l-_,y,a))b.precision=l+=_,c=s=C=Re(f.minus(1),f.plus(1),l,1),m=ee(C.times(C),l,1),r=a=1;else return ee(o,b.precision=p,y,oe=!0);else return b.precision=p,o;o=c,r+=2}}function Ji(i){return String(i.s*i.s/0)}function Kr(i,u){var e,t,r;for((e=u.indexOf("."))>-1&&(u=u.replace(".","")),(t=u.search(/e/i))>0?(e<0&&(e=t),e+=+u.slice(t+1),u=u.substring(0,t)):e<0&&(e=u.length),t=0;u.charCodeAt(t)===48;t++);for(r=u.length;u.charCodeAt(r-1)===48;--r);if(u=u.slice(t,r),u){if(r-=t,i.e=e=e-t-1,i.d=[],t=(e+1)%re,e<0&&(t+=re),t<r){for(t&&i.d.push(+u.slice(0,t)),r-=re;t<r;)i.d.push(+u.slice(t,t+=re));u=u.slice(t),t=re-u.length}else t-=r;for(;t--;)u+="0";i.d.push(+u),oe&&(i.e>i.constructor.maxE?(i.d=null,i.e=NaN):i.e<i.constructor.minE&&(i.e=0,i.d=[0]))}else i.e=0,i.d=[0];return i}function cl(i,u){var e,t,r,n,s,a,o,c,l;if(u.indexOf("_")>-1){if(u=u.replace(/(\d)_(?=\d)/g,"$1"),Ki.test(u))return Kr(i,u)}else if(u==="Infinity"||u==="NaN")return+u||(i.s=NaN),i.e=NaN,i.d=null,i;if(sl.test(u))e=16,u=u.toLowerCase();else if(nl.test(u))e=2;else if(al.test(u))e=8;else throw Error(xt+u);for(n=u.search(/p/i),n>0?(o=+u.slice(n+1),u=u.substring(2,n)):u=u.slice(2),n=u.indexOf("."),s=n>=0,t=i.constructor,s&&(u=u.replace(".",""),a=u.length,n=a-n,r=Zi(t,new t(e),n,n*2)),c=qr(u,e,rt),l=c.length-1,n=l;c[n]===0;--n)c.pop();return n<0?new t(i.s*0):(i.e=Un(c,l),i.d=c,oe=!1,s&&(i=Re(i,r,a*4)),o&&(i=i.times(Math.abs(o)<54?Se(2,o):P.pow(2,o))),oe=!0,i)}function ll(i,u){var e,t=u.d.length;if(t<3)return u.isZero()?u:sr(i,2,u,u);e=1.4*Math.sqrt(t),e=e>16?16:e|0,u=u.times(1/vn(5,e)),u=sr(i,2,u,u);for(var r,n=new i(5),s=new i(16),a=new i(20);e--;)r=u.times(u),u=u.times(n.plus(r.times(s.times(r).minus(a))));return u}function sr(i,u,e,t,r){var n,s,a,o,c=i.precision,l=Math.ceil(c/re);for(oe=!1,o=e.times(e),a=new i(t);;){if(s=Re(a.times(o),new i(u++*u++),c,1),a=r?t.plus(s):t.minus(s),t=Re(s.times(o),new i(u++*u++),c,1),s=a.plus(t),s.d[l]!==void 0){for(n=l;s.d[n]===a.d[n]&&n--;);if(n==-1)break}n=a,a=t,t=s,s=n}return oe=!0,s.d.length=l+1,s}function vn(i,u){for(var e=i;--u;)e*=i;return e}function eo(i,u){var e,t=u.s<0,r=ot(i,i.precision,1),n=r.times(.5);if(u=u.abs(),u.lte(n))return dt=t?4:1,u;if(e=u.divToInt(r),e.isZero())dt=t?3:2;else{if(u=u.minus(e.times(r)),u.lte(n))return dt=Ka(e)?t?2:3:t?4:1,u;dt=Ka(e)?t?1:4:t?3:2}return u.minus(r).abs()}function Zs(i,u,e,t){var r,n,s,a,o,c,l,f,m,d=i.constructor,_=e!==void 0;if(_?(Be(e,1,Ut),t===void 0?t=d.rounding:Be(t,0,8)):(e=d.precision,t=d.rounding),!i.isFinite())l=Ji(i);else{for(l=ct(i),s=l.indexOf("."),_?(r=2,u==16?e=e*4-3:u==8&&(e=e*3-2)):r=u,s>=0&&(l=l.replace(".",""),m=new d(1),m.e=l.length-s,m.d=qr(ct(m),10,r),m.e=m.d.length),f=qr(l,10,r),n=o=f.length;f[--o]==0;)f.pop();if(!f[0])l=_?"0p+0":"0";else{if(s<0?n--:(i=new d(i),i.d=f,i.e=n,i=Re(i,m,e,t,0,r),f=i.d,n=i.e,c=Gi),s=f[e],a=r/2,c=c||f[e+1]!==void 0,c=t<4?(s!==void 0||c)&&(t===0||t===(i.s<0?3:2)):s>a||s===a&&(t===4||c||t===6&&f[e-1]&1||t===(i.s<0?8:7)),f.length=e,c)for(;++f[--e]>r-1;)f[e]=0,e||(++n,f.unshift(1));for(o=f.length;!f[o-1];--o);for(s=0,l="";s<o;s++)l+=Ns.charAt(f[s]);if(_){if(o>1)if(u==16||u==8){for(s=u==16?4:3,--o;o%s;o++)l+="0";for(f=qr(l,r,u),o=f.length;!f[o-1];--o);for(s=1,l="1.";s<o;s++)l+=Ns.charAt(f[s])}else l=l.charAt(0)+"."+l.slice(1);l=l+(n<0?"p":"p+")+n}else if(n<0){for(;++n;)l="0"+l;l="0."+l}else if(++n>o)for(n-=o;n--;)l+="0";else n<o&&(l=l.slice(0,n)+"."+l.slice(n))}l=(u==16?"0x":u==2?"0b":u==8?"0o":"")+l}return i.s<0?"-"+l:l}function Xa(i,u){if(i.length>u)return i.length=u,!0}function fl(i){return new this(i).abs()}function ml(i){return new this(i).acos()}function hl(i){return new this(i).acosh()}function gl(i,u){return new this(i).plus(u)}function dl(i){return new this(i).asin()}function Cl(i){return new this(i).asinh()}function _l(i){return new this(i).atan()}function Al(i){return new this(i).atanh()}function El(i,u){i=new this(i),u=new this(u);var e,t=this.precision,r=this.rounding,n=t+4;return!i.s||!u.s?e=new this(NaN):!i.d&&!u.d?(e=ot(this,n,1).times(u.s>0?.25:.75),e.s=i.s):!u.d||i.isZero()?(e=u.s<0?ot(this,t,r):new this(0),e.s=i.s):!i.d||u.isZero()?(e=ot(this,n,1).times(.5),e.s=i.s):u.s<0?(this.precision=n,this.rounding=1,e=this.atan(Re(i,u,n,1)),u=ot(this,n,1),this.precision=t,this.rounding=r,e=i.s<0?e.minus(u):e.plus(u)):e=this.atan(Re(i,u,n,1)),e}function bl(i){return new this(i).cbrt()}function yl(i){return ee(i=new this(i),i.e+1,2)}function Rl(i,u,e){return new this(i).clamp(u,e)}function pl(i){if(!i||typeof i!="object")throw Error(jn+"Object expected");var u,e,t,r=i.defaults===!0,n=["precision",1,Ut,"rounding",0,8,"toExpNeg",-zt,0,"toExpPos",0,zt,"maxE",0,zt,"minE",-zt,0,"modulo",0,9];for(u=0;u<n.length;u+=3)if(e=n[u],r&&(this[e]=Vs[e]),(t=i[e])!==void 0)if(je(t)===t&&t>=n[u+1]&&t<=n[u+2])this[e]=t;else throw Error(xt+e+": "+t);if(e="crypto",r&&(this[e]=Vs[e]),(t=i[e])!==void 0)if(t===!0||t===!1||t===0||t===1)if(t)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[e]=!0;else throw Error(Qi);else this[e]=!1;else throw Error(xt+e+": "+t);return this}function Nl(i){return new this(i).cos()}function Vl(i){return new this(i).cosh()}function to(i){var u,e,t;function r(n){var s,a,o,c=this;if(!(c instanceof r))return new r(n);if(c.constructor=r,Za(n)){c.s=n.s,oe?!n.d||n.e>r.maxE?(c.e=NaN,c.d=null):n.e<r.minE?(c.e=0,c.d=[0]):(c.e=n.e,c.d=n.d.slice()):(c.e=n.e,c.d=n.d?n.d.slice():n.d);return}if(o=typeof n,o==="number"){if(n===0){c.s=1/n<0?-1:1,c.e=0,c.d=[0];return}if(n<0?(n=-n,c.s=-1):c.s=1,n===~~n&&n<1e7){for(s=0,a=n;a>=10;a/=10)s++;oe?s>r.maxE?(c.e=NaN,c.d=null):s<r.minE?(c.e=0,c.d=[0]):(c.e=s,c.d=[n]):(c.e=s,c.d=[n]);return}if(n*0!==0){n||(c.s=NaN),c.e=NaN,c.d=null;return}return Kr(c,n.toString())}if(o==="string")return(a=n.charCodeAt(0))===45?(n=n.slice(1),c.s=-1):(a===43&&(n=n.slice(1)),c.s=1),Ki.test(n)?Kr(c,n):cl(c,n);if(o==="bigint")return n<0?(n=-n,c.s=-1):c.s=1,Kr(c,n.toString());throw Error(xt+n)}if(r.prototype=B,r.ROUND_UP=0,r.ROUND_DOWN=1,r.ROUND_CEIL=2,r.ROUND_FLOOR=3,r.ROUND_HALF_UP=4,r.ROUND_HALF_DOWN=5,r.ROUND_HALF_EVEN=6,r.ROUND_HALF_CEIL=7,r.ROUND_HALF_FLOOR=8,r.EUCLID=9,r.config=r.set=pl,r.clone=to,r.isDecimal=Za,r.abs=fl,r.acos=ml,r.acosh=hl,r.add=gl,r.asin=dl,r.asinh=Cl,r.atan=_l,r.atanh=Al,r.atan2=El,r.cbrt=bl,r.ceil=yl,r.clamp=Rl,r.cos=Nl,r.cosh=Vl,r.div=Ol,r.exp=Ml,r.floor=Sl,r.hypot=Dl,r.ln=wl,r.log=Ll,r.log10=Pl,r.log2=xl,r.max=jl,r.min=Ul,r.mod=vl,r.mul=Tl,r.pow=Il,r.random=Fl,r.round=Bl,r.sign=kl,r.sin=$l,r.sinh=Yl,r.sqrt=Hl,r.sub=Gl,r.sum=Wl,r.tan=Ql,r.tanh=ql,r.trunc=Kl,i===void 0&&(i={}),i&&i.defaults!==!0)for(t=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],u=0;u<t.length;)i.hasOwnProperty(e=t[u++])||(i[e]=this[e]);return r.config(i),r}function Ol(i,u){return new this(i).div(u)}function Ml(i){return new this(i).exp()}function Sl(i){return ee(i=new this(i),i.e+1,3)}function Dl(){var i,u,e=new this(0);for(oe=!1,i=0;i<arguments.length;)if(u=new this(arguments[i++]),u.d)e.d&&(e=e.plus(u.times(u)));else{if(u.s)return oe=!0,new this(1/0);e=u}return oe=!0,e.sqrt()}function Za(i){return i instanceof P||i&&i.toStringTag===qi||!1}function wl(i){return new this(i).ln()}function Ll(i,u){return new this(i).log(u)}function xl(i){return new this(i).log(2)}function Pl(i){return new this(i).log(10)}function jl(){return zi(this,arguments,-1)}function Ul(){return zi(this,arguments,1)}function vl(i,u){return new this(i).mod(u)}function Tl(i,u){return new this(i).mul(u)}function Il(i,u){return new this(i).pow(u)}function Fl(i){var u,e,t,r,n=0,s=new this(1),a=[];if(i===void 0?i=this.precision:Be(i,1,Ut),t=Math.ceil(i/re),this.crypto)if(crypto.getRandomValues)for(u=crypto.getRandomValues(new Uint32Array(t));n<t;)r=u[n],r>=429e7?u[n]=crypto.getRandomValues(new Uint32Array(1))[0]:a[n++]=r%1e7;else if(crypto.randomBytes){for(u=crypto.randomBytes(t*=4);n<t;)r=u[n]+(u[n+1]<<8)+(u[n+2]<<16)+((u[n+3]&127)<<24),r>=214e7?crypto.randomBytes(4).copy(u,n):(a.push(r%1e7),n+=4);n=t/4}else throw Error(Qi);else for(;n<t;)a[n++]=Math.random()*1e7|0;for(t=a[--n],i%=re,t&&i&&(r=Se(10,re-i),a[n]=(t/r|0)*r);a[n]===0;n--)a.pop();if(n<0)e=0,a=[0];else{for(e=-1;a[0]===0;e-=re)a.shift();for(t=1,r=a[0];r>=10;r/=10)t++;t<re&&(e-=re-t)}return s.e=e,s.d=a,s}function Bl(i){return ee(i=new this(i),i.e+1,this.rounding)}function kl(i){return i=new this(i),i.d?i.d[0]?i.s:0*i.s:i.s||NaN}function $l(i){return new this(i).sin()}function Yl(i){return new this(i).sinh()}function Hl(i){return new this(i).sqrt()}function Gl(i,u){return new this(i).sub(u)}function Wl(){var i=0,u=arguments,e=new this(u[i]);for(oe=!1;e.s&&++i<u.length;)e=e.plus(u[i]);return oe=!0,ee(e,this.precision,this.rounding)}function Ql(i){return new this(i).tan()}function ql(i){return new this(i).tanh()}function Kl(i){return ee(i=new this(i),i.e+1,1)}B[Symbol.for("nodejs.util.inspect.custom")]=B.toString;B[Symbol.toStringTag]="Decimal";var P=B.constructor=to(Vs);an=new P(an);on=new P(on);function Xl(i,u){const e=i+u;return Number.isSafeInteger(e)?e:new P(i).add(u).toNumber()}function Zl(i,u){const e=i-u;return Number.isSafeInteger(e)?e:new P(i).sub(u).toNumber()}function lr(i,u){const e=i*u;return Number.isSafeInteger(e)?e:new P(i).mul(u).toNumber()}function zl(i,u){const e=i/u;return Number.isSafeInteger(e)?e:new P(i).div(u).toNumber()}function Dt(i,u){const e=10**Math.trunc(u),t=Tn(i,e);return Math.round(lr(i,e)+t)/e}function He(i,u){const e=10**Math.trunc(u),t=Tn(i,e);return Math.floor(lr(i,e)+t)/e}function Fe(i,u){const e=10**Math.trunc(u),t=Tn(i,e);return Math.ceil(lr(i,e)-t)/e}function Tn(i,u){return Number.EPSILON*Math.max(1,Math.abs(lr(i,u)))}function za(i,u){return i-u*Math.floor(i/u)}function Jl(i,u){return i**u}function ef(i){return Math.sqrt(i)}function Ja(i,u){return i===u}function tf(i,u){return i>u}function rf(i,u){return i>=u}function nf(i,u){return i<u}function sf(i,u){return i<=u}function Ss(i,u=15){return Math.floor(Math.abs(i)).toString().length>=u?i:Number.parseFloat(i.toPrecision(u))}function af(i,u,e=Number.EPSILON){return Math.abs(i-u)<e}function In(i,u=12,e=1e-10){const t=Ss(i,u);return af(i,t,e)?t:Ss(i)}function of(i){return i-Math.trunc(i)}const Nn=class Nn extends Et{static create(){return this._instance=this._instance||new Nn(0),this._instance}isNull(){return!0}plus(u){return R.create(0).plus(u)}minus(u){return R.create(0).minus(u)}multiply(u){return R.create(0).multiply(u)}divided(u){return R.create(0).divided(u)}mod(u){return R.create(0).mod(u)}compare(u,e){return u.isString()?j.create("").compare(u,e):u.isBoolean()?I.create(!1).compare(u,e):R.create(0).compare(u,e)}concatenateFront(u){return u.isArray()?u.concatenateBack(j.create("")):j.create(this.concatenate(u.getValue(),tt.FRONT))}concatenateBack(u){return u.isArray()?u.concatenateFront(j.create("")):j.create(this.concatenate(u.getValue(),tt.BACK))}plusBy(u){return R.create(0).plusBy(u)}minusBy(u){return R.create(0).minusBy(u)}multiplyBy(u){return R.create(0).multiplyBy(u)}dividedBy(u){return R.create(0).dividedBy(u)}compareBy(u,e){return typeof u=="string"?j.create("").compareBy(u,e):typeof u=="boolean"?I.create(!1).compareBy(u,e):R.create(0).compareBy(u,e)}pow(u){return R.create(0).pow(u)}sqrt(){return R.create(0).sqrt()}cbrt(){return R.create(0).cbrt()}cos(){return R.create(0).cos()}cosh(){return R.create(0).cosh()}acos(){return R.create(0).acos()}acosh(){return R.create(0).acosh()}sin(){return R.create(0).sin()}sinh(){return R.create(0).sinh()}asin(){return R.create(0).asin()}asinh(){return R.create(0).asinh()}tan(){return R.create(0).tan()}tanh(){return R.create(0).tanh()}atan(){return R.create(0).atan()}atan2(u){return R.create(0).atan2(u)}atanh(){return R.create(0).atanh()}log(){return g.create(h.NUM)}log10(){return g.create(h.NUM)}exp(){return R.create(0).exp()}abs(){return R.create(0).abs()}round(u){return R.create(0).round(u)}floor(u){return R.create(0).floor(u)}ceil(u){return R.create(0).ceil(u)}convertToNumberObjectValue(){return R.create(0)}convertToBooleanObjectValue(){return I.create(!1)}};A(Nn,"_instance");let le=Nn;const Bt=class Bt extends Et{constructor(e){super(e);A(this,"_value",!1);this._value=e}static create(e){return e?(this._instanceTrue=this._instanceTrue||new Bt(!0),this._instanceTrue):(this._instanceFalse=this._instanceFalse||new Bt(!1),this._instanceFalse)}getValue(){return this._value}isBoolean(){return!0}getNegative(){const e=this.getValue();let t=0;return e&&(t=1),R.create(-t)}getReciprocal(){return this.getValue()?R.create(1):g.create(h.DIV_BY_ZERO)}plus(e){return this._convertToNumber().plus(e)}minus(e){return this._convertToNumber().minus(e)}multiply(e){return this._convertToNumber().multiply(e)}divided(e){return this._convertToNumber().divided(e)}mod(e){return this._convertToNumber().mod(e)}compare(e,t){return e.isArray()?e.compare(this,Xs(t)):e.isNull()?this._convertToNumber().compare(e,t):this.compareBy(e.getValue(),t)}compareBy(e,t){let r=!1;if(typeof e=="string"||typeof e=="number")r=this._compareString(t);else if(typeof e=="boolean"){const n=R.create(e?1:0);return this._convertToNumber().compare(n,t)}return Bt.create(r)}_compareString(e){switch(e){case k.GREATER_THAN:case k.GREATER_THAN_OR_EQUAL:return!0;case k.EQUALS:case k.LESS_THAN:case k.LESS_THAN_OR_EQUAL:case k.NOT_EQUAL:return!1}}concatenateFront(e){return this._convertToNumber().concatenateFront(e)}concatenateBack(e){return this._convertToNumber().concatenateBack(e)}_convertToNumber(){const e=this.getValue();let t=0;return e&&(t=1),R.create(t)}pow(e){return this._convertToNumber().pow(e)}sqrt(){return this._convertToNumber().sqrt()}cbrt(){return this._convertToNumber().cbrt()}cos(){return this._convertToNumber().cos()}cosh(){return this._convertToNumber().cosh()}acos(){return this._convertToNumber().acos()}acosh(){return this._convertToNumber().acosh()}sin(){return this._convertToNumber().sin()}sinh(){return this._convertToNumber().sinh()}asin(){return this._convertToNumber().asin()}asinh(){return this._convertToNumber().asinh()}tan(){return this._convertToNumber().tan()}tanh(){return this._convertToNumber().tanh()}atan(){return this._convertToNumber().atan()}atan2(e){return this._convertToNumber().atan2(e)}atanh(){return this._convertToNumber().atanh()}log(){return this._convertToNumber().log()}log10(){return this._convertToNumber().log10()}exp(){return this._convertToNumber().exp()}abs(){return this._convertToNumber().abs()}round(e){return this._convertToNumber().round(e)}floor(e){return this._convertToNumber().floor(e)}ceil(e){return this._convertToNumber().ceil(e)}convertToNumberObjectValue(){return Er(this.getValue())}convertToBooleanObjectValue(){return this}};A(Bt,"_instanceTrue"),A(Bt,"_instanceFalse");let I=Bt;class R extends Et{constructor(e){super(e);A(this,"_value",0);this._value=Number(e)}static create(e,t=""){const r=new R(e);return t&&r.setPattern(t),r}getValue(){return this._value}setValue(e){this._value=e}isNumber(){return!0}getNegative(){return R.create(0).minus(this)}getReciprocal(){return R.create(1).divided(this)}plus(e){if(e.isArray())return e.plus(this);let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let r=this.plusBy(t.getValue());if(r.isError())return r;const n=Ir(this.getPattern(),t.getPattern(),X.PLUS);return r=R.create(Number(r.getValue()),n),r}equalZero(){return this._value===0}minus(e){if(e.isArray()){const s=e.getNegative();return s.isError()?s:s.plus(this)}let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let r=this.minusBy(t.getValue());if(r.isError())return r;const n=Ir(this.getPattern(),t.getPattern(),X.MINUS);return r=R.create(Number(r.getValue()),n),r}multiply(e){if(e.isArray())return e.multiply(this);let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let r=this.multiplyBy(t.getValue());if(r.isError())return r;const n=Ir(this.getPattern(),t.getPattern(),X.MULTIPLY);return r=R.create(Number(r.getValue()),n),r}divided(e){if(e.isArray()){const s=e.getReciprocal();return s.isError()?s:s.multiply(this)}let t=e;e.isNumber()||(t=e.convertToNumberObjectValue());let r=this.dividedBy(t.getValue());if(r.isError())return r;const n=Ir(this.getPattern(),t.getPattern(),X.DIVIDED);return r=R.create(Number(r.getValue()),n),r}mod(e){if(e.isArray())return e.modInverse(this);const t=this.getValue(),r=e.getValue();if(e.isNull())return g.create(h.DIV_BY_ZERO);if(typeof r=="string")return g.create(h.VALUE);if(typeof r=="number"){if(r===0)return g.create(h.DIV_BY_ZERO);if(!Number.isFinite(t)||!Number.isFinite(r)||Math.abs(r)*11259e8<=Math.abs(t))return g.create(h.NUM);const n=za(t,r);return Number.isFinite(n)?R.create(n):g.create(h.NUM)}if(typeof r=="boolean"){const n=r?1:0;return n===0?g.create(h.DIV_BY_ZERO):R.create(za(t,n))}return this}concatenateFront(e){return e.isArray()?e.concatenateBack(this):j.create(this.concatenate(e.getValue(),tt.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):j.create(this.concatenate(e.getValue(),tt.BACK))}compare(e,t){return e.isArray()?e.compare(this,Xs(t)):this.compareBy(e.getValue(),t)}plusBy(e){if(typeof e=="string"&&e.trim()==="")return g.create(h.VALUE);const t=+this.getValue(),r=+e;if(Number.isNaN(t)||Number.isNaN(r))return g.create(h.VALUE);if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=Xl(t,r);return Number.isFinite(n)?R.create(n):g.create(h.NUM)}minusBy(e){if(typeof e=="string"&&e.trim()==="")return g.create(h.VALUE);const t=+this.getValue(),r=+e;if(Number.isNaN(t)||Number.isNaN(r))return g.create(h.VALUE);if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=Zl(t,r);return Number.isFinite(n)?R.create(n):g.create(h.NUM)}multiplyBy(e){if(typeof e=="string"&&e.trim()==="")return g.create(h.VALUE);const t=+this.getValue(),r=+e;if(Number.isNaN(t)||Number.isNaN(r))return g.create(h.VALUE);if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=lr(t,r);return Number.isFinite(n)?R.create(n):g.create(h.NUM)}dividedBy(e){if(typeof e=="string"&&e.trim()==="")return g.create(h.VALUE);const t=+this.getValue(),r=+e;if(Number.isNaN(t)||Number.isNaN(r))return g.create(h.VALUE);if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);if(r===0)return g.create(h.DIV_BY_ZERO);const n=zl(t,r);return Number.isFinite(n)?R.create(n):g.create(h.NUM)}compareBy(e,t){const r=this.getValue();let n=!1;return typeof e=="string"?n=this._compareString(t):typeof e=="number"?n=this._compareNumber(r,e,t):typeof e=="boolean"&&(n=this._compareBoolean(t)),I.create(n)}_compareString(e){switch(e){case k.EQUALS:case k.GREATER_THAN:case k.GREATER_THAN_OR_EQUAL:return!1;case k.LESS_THAN:case k.LESS_THAN_OR_EQUAL:case k.NOT_EQUAL:return!0}}_compareNumber(e,t,r){return!Number.isFinite(e)||!Number.isFinite(t)?this._compareInfinity(e,t,r):this._compareFiniteNumber(e,t,r)}_compareFiniteNumber(e,t,r){switch(r){case k.EQUALS:return Ja(e,t);case k.GREATER_THAN:return tf(e,t);case k.GREATER_THAN_OR_EQUAL:return rf(e,t);case k.LESS_THAN:return nf(e,t);case k.LESS_THAN_OR_EQUAL:return sf(e,t);case k.NOT_EQUAL:return!Ja(e,t)}}_compareBoolean(e){switch(e){case k.EQUALS:case k.GREATER_THAN:case k.GREATER_THAN_OR_EQUAL:return!1;case k.LESS_THAN:case k.LESS_THAN_OR_EQUAL:case k.NOT_EQUAL:return!0}}pow(e){if(e.isArray())return e.powInverse(this);if(this.isError())return this;const t=this.getValue();let r=e;if(e.isString()&&(r=e.convertToNumberObjectValue()),r.isError())return r;const n=+r.getValue();if(Number.isNaN(n))return g.create(h.VALUE);if(!Number.isFinite(t)||!Number.isFinite(n))return g.create(h.NUM);if(t===0)return n<0?g.create(h.DIV_BY_ZERO):n===0?g.create(h.NUM):R.create(0);const s=Jl(t,n);return Number.isFinite(s)?R.create(s):g.create(h.NUM)}sqrt(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=ef(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}cbrt(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.cbrt(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}cos(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.cos(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}cosh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.cosh(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}acos(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.acos(e);return Number.isNaN(t)?g.create(h.NUM):R.create(t)}acosh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.acosh(e);return Number.isNaN(t)?g.create(h.NUM):R.create(t)}sin(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.sin(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}sinh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.sinh(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}asin(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.asin(e);return Number.isNaN(t)?g.create(h.NUM):R.create(t)}asinh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.asinh(e);return Number.isNaN(t)?g.create(h.NUM):R.create(t)}tan(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.tan(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}tanh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.tanh(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}atan(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.atan(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}atan2(e){if(e.isArray())return e.atan2Inverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return g.create(h.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);if(t===0&&r===0)return g.create(h.DIV_BY_ZERO);const n=Math.atan2(t,r);return Number.isFinite(n)?R.create(n):g.create(h.NUM)}return typeof r=="boolean"?R.create(Math.atan2(t,r?1:0)):this}atanh(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.atanh(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}log(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return g.create(h.NUM);const t=Math.log(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}log10(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return g.create(h.NUM);const t=Math.log10(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}exp(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.exp(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}abs(){const e=this.getValue();if(!Number.isFinite(e))return g.create(h.NUM);const t=Math.abs(e);return Number.isFinite(t)?R.create(t):g.create(h.NUM)}round(e){if(e.isArray())return e.roundInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return g.create(h.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=t<0?-Dt(Math.abs(t),r):Dt(t,r);return Number.isFinite(n)?R.create(n):g.create(h.NUM)}return typeof r=="boolean"?R.create(Dt(t,r?1:0)):this}floor(e){if(e.isArray())return e.floorInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return g.create(h.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=t<0?-He(Math.abs(t),r):He(t,r);return Number.isFinite(n)?R.create(n):g.create(h.NUM)}return typeof r=="boolean"?R.create(He(t,r?1:0)):this}ceil(e){if(e.isArray())return e.ceilInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return g.create(h.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return g.create(h.NUM);const n=t<0?-Fe(Math.abs(t),r):Fe(t,r);return Number.isFinite(n)?R.create(n):g.create(h.NUM)}return typeof r=="boolean"?R.create(Fe(t,r?1:0)):this}convertToNumberObjectValue(){return this}convertToBooleanObjectValue(){return Fn(!0)}_compareInfinity(e,t,r){let n=!1;switch(r){case k.EQUALS:n=e===t;break;case k.GREATER_THAN:n=e>t;break;case k.GREATER_THAN_OR_EQUAL:n=e>=t;break;case k.LESS_THAN:n=e<t;break;case k.LESS_THAN_OR_EQUAL:n=e<=t;break;case k.NOT_EQUAL:n=e!==t;break}return n}}const uf=1e5,Ds=new _t(uf);class j extends Et{constructor(e){super(e);A(this,"_value");A(this,"_isHyperlink",!1);A(this,"_hyperlinkUrl","");this._value=e}static create(e,t){var s;const r=Ds.get(e);if(r&&t&&this.checkCacheByOptions(r,t))return r;const n=new j(e);return t!=null&&t.isHyperlink&&(n._isHyperlink=t.isHyperlink,n._hyperlinkUrl=(s=t.hyperlinkUrl)!=null?s:""),Ds.set(e,n),n}static checkCacheByOptions(e,t){return!(e.isHyperlink()!==t.isHyperlink||e.getHyperlinkUrl()!==t.hyperlinkUrl)}getValue(){return this._value}isString(){return!0}isHyperlink(){return this._isHyperlink}getHyperlinkUrl(){return this._hyperlinkUrl}concatenateFront(e){return e.isArray()?e.concatenateBack(this):j.create(this.concatenate(e.getValue(),tt.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):j.create(this.concatenate(e.getValue(),tt.BACK))}plus(e){return this.convertToNumberObjectValue().plus(e)}minus(e){return this.convertToNumberObjectValue().minus(e)}multiply(e){return this.convertToNumberObjectValue().multiply(e)}divided(e){return this.convertToNumberObjectValue().divided(e)}compare(e,t,r){return e.isArray()?e.compare(this,Xs(t),r):this.compareBy(e.getValue(),t,r)}compareBy(e,t,r=!1){let n=this.getValue(),s=!1;if(typeof e=="string"){let a=e;if(r||(n=n.toLocaleLowerCase(),a=a.toLocaleLowerCase()),el(a))return this._checkWildcard(a,t);s=this._compareString(n,a,t)}else typeof e=="number"?s=this._compareNumber(t):typeof e=="boolean"&&(s=this._compareBoolean(t));return I.create(s)}_compareString(e,t,r){switch(r){case k.EQUALS:return e===t;case k.GREATER_THAN:return e>t;case k.GREATER_THAN_OR_EQUAL:return e>=t;case k.LESS_THAN:return e<t;case k.LESS_THAN_OR_EQUAL:return e<=t;case k.NOT_EQUAL:return e!==t}}_compareNumber(e){switch(e){case k.NOT_EQUAL:case k.GREATER_THAN:case k.GREATER_THAN_OR_EQUAL:return!0;case k.EQUALS:case k.LESS_THAN:case k.LESS_THAN_OR_EQUAL:return!1}}_compareBoolean(e){switch(e){case k.EQUALS:case k.GREATER_THAN:case k.GREATER_THAN_OR_EQUAL:return!1;case k.LESS_THAN:case k.LESS_THAN_OR_EQUAL:case k.NOT_EQUAL:return!0}}convertToNumberObjectValue(){const e=this.getValue(),t=M.getNumfmtParseValueFilter(e);return t&&t.z?Er(t.v,t.z):Er(e)}convertToBooleanObjectValue(){return I.create(!0)}_checkWildcard(e,t){const r=this.getValue().toLocaleLowerCase(),n=tl(r,e,t);return I.create(n)}}function Fn(i){if(typeof i=="boolean")return I.create(i);let u=!1;if(typeof i=="string"){const e=i.toLocaleUpperCase();e===wt.TRUE?u=!0:e===wt.FALSE&&(u=!1)}else i===1?u=!0:u=!1;return I.create(u)}function cf(i){let u=i.toString();return u.charAt(0)==='"'&&u.charAt(u.length-1)==='"'&&(u=u.slice(1,-1),u=u.replace(/""/g,'"')),j.create(u)}function Er(i,u=""){if(typeof i=="boolean"){let e=0;return i&&(e=1),R.create(e,u)}else{if(typeof i=="number")return Number.isFinite(i)?R.create(i,u):g.create(h.NUM);if(M.isRealNum(i))return R.create(Number(i),u)}return g.create(h.VALUE)}function lf(i){return""}function ro(i=[],u=!1){const e=[];for(let t=0;t<i.length;t++){const r=i[t];e[t]==null&&(e[t]=[]);for(let n=0;n<r.length;n++){const s=r[n];e[t][n]=lt.create(s,u)}}return e}function ff(i=[]){const u=[];for(let e=0;e<i.length;e++){const t=i[e];u[e]==null&&(u[e]=[]);for(let r=0;r<t.length;r++){const n=t[r];n==null?u[e][r]=null:n.isError()?u[e][r]=n.getErrorType():u[e][r]=n.getValue()}}return u}class q extends Et{constructor(e){super(typeof e=="string"?e:lf());A(this,"_values",[]);A(this,"_rowCount",-1);A(this,"_columnCount",-1);A(this,"_unitId","");A(this,"_sheetId","");A(this,"_currentRow",-1);A(this,"_currentColumn",-1);A(this,"_sliceCache",new Map);A(this,"_flattenCache");A(this,"_defaultValue",null);A(this,"_flattenPosition");this._values=this._formatValue(e)}static create(e){return new q(e)}static createByArray(e){const r={calculateValueList:ro(e),rowCount:e.length,columnCount:e[0].length||0,unitId:"",sheetId:"",row:-1,column:-1};return new q(r)}dispose(){this._values=[],this._defaultValue=null,this._flattenPosition=null,this._clearCache()}clone(){return this.map(e=>e)}getRowCount(){return this._rowCount}setRowCount(e){this._rowCount=e}getColumnCount(){return this._columnCount}setColumnCount(e){this._columnCount=e}setCurrent(e,t){this._currentRow=e,this._currentColumn=t}setUnitId(e){this._unitId=e}getUnitId(){return this._unitId}setSheetId(e){this._sheetId=e}getSheetId(){return this._sheetId}getCurrentRow(){return this._currentRow}getCurrentColumn(){return this._currentColumn}getArrayValue(){return this._values}setArrayValue(e){this._clearCache(),this._values=e}isArray(){return!0}setDefaultValue(e){this._defaultValue=e}get(e,t){var r;return((r=this._values[e])==null?void 0:r[t])||this._defaultValue}getRealValue(e,t){const r=this._values[e];if(r==null)return null;const n=r[t];return n==null?null:n}getValueOrDefault(e,t){return this.get(e,t)||this._defaultValue}set(e,t,r){if(e>=this._rowCount||t>=this._columnCount)throw new Error("Exceeding array bounds.");this._clearCache(),this._values[e][t]=r}getRangePosition(){const t=this.getRowCount(),r=0,n=this.getColumnCount();return{startRow:0,endRow:t-1,startColumn:r,endColumn:n-1}}iterator(e){var o;const{startRow:t,endRow:r,startColumn:n,endColumn:s}=this.getRangePosition(),a=this.getArrayValue();for(let c=t;c<=r;c++)for(let l=n;l<=s;l++)if(e(((o=a[c])==null?void 0:o[l])||this._defaultValue,c,l)===!1)return}iteratorReverse(e){var o;const{startRow:t,endRow:r,startColumn:n,endColumn:s}=this.getRangePosition(),a=this.getArrayValue();for(let c=r;c>=t;c--)for(let l=s;l>=n;l--)if(e(((o=a[c])==null?void 0:o[l])||this._defaultValue,c,l)===!1)return}getLastTruePosition(){let e;return this.iteratorReverse((t,r,n)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:r,column:n},!1}),e}getFirstTruePosition(){let e;return this.iterator((t,r,n)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:r,column:n},!1}),e}getFirstCell(){const{startRow:e,startColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||le.create()}getLastCell(){const{endRow:e,endColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||le.create()}pick(e){const t=this.pickRaw(e);return this._createNewArray(t,1,t[0].length)}pickRaw(e){const t=e.getRowCount(),r=e.getColumnCount();if(t!==this._rowCount||r!==this._columnCount)return[[le.create()]];const n=[];n[0]=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.get(s,a);if(!(o==null||o.isError())&&o.getValue()===!0){const c=this.get(s,a);n[0].push(c)}}return n}flatten(){if(this._flattenCache!=null)return this._flattenCache;const e=[];e[0]=[];for(let r=0;r<this._rowCount;r++)for(let n=0;n<this._columnCount;n++){const s=this.get(r,n);e[0].push(s)}const t=this._createNewArray(e,1,e[0].length);return t.setDefaultValue(this._defaultValue),this._flattenCache=t,t}flattenPosition(){if(this._flattenPosition!=null)return this._flattenPosition;const e=[],t=[],r=[],n=[];let s=0;for(let o=0;o<this._rowCount;o++)for(let c=0;c<this._columnCount;c++){const l=this.get(o,c);if(l==null||l.isError()||l.isNull()){s++;continue}l.isString()?(e.push(l),r.push(s++)):(t.push(l),n.push(s++))}const a={stringArray:e,numberArray:t,stringPosition:r,numberPosition:n};return this._flattenPosition=a,a}slice(e,t){let r=0,n=this._rowCount,s=1,a=0,o=this._columnCount,c=1;if(e!=null&&(r=e[0]||0,n=e[1]||this._rowCount,s=e[2]||1),t!=null&&(a=t[0]||0,o=t[1]||this._columnCount,c=t[2]||1),r>=this._rowCount||a>=this._columnCount)return;const l=`${r}_${n}_${s}_${a}_${o}_${c}`,f=this._sliceCache.get(l);if(f!=null)return f;const m=[],d=this._values;let _=0,C=0;for(let p=r;p<n;p+=s){C=0,m[_]==null&&(m[_]=[]);for(let V=a;V<o;V+=c){if(!d[p])return;let S=d[p][V]||this._defaultValue;S==null&&(S=le.create()),m[_][C]=S,C++}_++}if(m.length===0||m[0].length===0)return;const E=s>1?-1:r+this._currentRow,b=c>1?-1:a+this._currentColumn,y=this._createNewArray(m,m.length,m[0].length,E,b);return y.setDefaultValue(this._defaultValue),this._sliceCache.set(l,y),y}sortByRow(e){const t=this._transposeArray(this._values);t.sort(this._sort(e)),this._clearCache(),this._values=this._transposeArray(t)}sortByColumn(e){this._clearCache(),this._values.sort(this._sort(e))}transpose(){const e=this._transposeArray(this._values),t=this._rowCount,r=this._columnCount,n=this._createNewArray(e,r,t);return n.setDefaultValue(this._defaultValue),n}orderSearch(e,t=Me.MIN,r=!1,n=!1){let s,a,o,c;const l=(f,m,d)=>{if(f==null)return!0;let _;if(n===!0?_=f.compare(e,k.EQUALS):_=f.isEqual(e),(_==null?void 0:_.getValue())===!0)return s=f,o={row:m,column:d},!1;t===Me.MAX?f.isGreaterThan(e).getValue()===!0&&(a==null||f.minus(e).abs().isLessThanOrEqual(a.minus(e).abs()).getValue()===!0)&&(a=f,c={row:m,column:d}):t===Me.MIN&&f.isLessThan(e).getValue()===!0&&(a==null||f.minus(e).abs().isLessThanOrEqual(a.minus(e).abs()).getValue()===!0)&&(a=f,c={row:m,column:d})};if(r?this.iteratorReverse((f,m,d)=>l(f,m,d)):this.iterator((f,m,d)=>l(f,m,d)),s!=null)return o;if(a!=null)return c}binarySearch(e,t=It.MIN,r=Me.MIN){if(e.isError())return;const{stringArray:n,stringPosition:s,numberArray:a,numberPosition:o}=this.flattenPosition();return e.isString()?this._binarySearch(e,n,s,t,r):this._binarySearch(e,a,o,t,r)}_binarySearch(e,t,r,n=It.MIN,s=Me.MIN){const a=sn(),o=Number(e.getValue()),c=!Number.isNaN(o);let l=0,f=t.length-1,m=-1,d=-1,_=-1;for(;l<=f;){const C=Math.floor((l+f)/2),E=t[C];let b;if(E.isNull())b=n===It.MIN?1:-1;else{const y=E.getValue();if(c){const p=Number(y);b=Number.isNaN(p)?1:Math.sign(p-o)}else b=a(y.toString().toLocaleLowerCase(),e.getValue().toString().toLocaleLowerCase())}if(n===It.MAX&&(b=-b),b===0){m=C;break}b<0?(d=C,l=C+1):(_=C,f=C-1)}if(s===Me.NORMAL)return m!==-1?r[m]:void 0;if(s===Me.MIN)return m!==-1?r[m]:n===It.MIN?r[d]:r[_];if(s===Me.MAX)return m!==-1?r[m]:n===It.MIN?r[_]:r[d]}sum(){let e=R.create(0);return this.iterator(t=>{if(t==null||t.isString()||t.isBoolean()||t.isNull())return!0;if(t.isError())return e=t,!1;e=e.plus(t)}),e}max(){let e=R.create(Number.NEGATIVE_INFINITY);return this.iterator(t=>{if(t==null)return!0;if(t.isError())return e=t,!1;if(t.isString()||t.isNull()||t.isBoolean())return!0;e.isLessThan(t).getValue()&&(e=t)}),e}min(){let e=R.create(Number.POSITIVE_INFINITY);return this.iterator(t=>{if(t==null)return!0;if(t.isError())return e=t,!1;if(t.isString()||t.isNull()||t.isBoolean())return!0;e.isGreaterThan(t).getValue()&&(e=t)}),e}count(){let e=R.create(0);return this.iterator(t=>{if(t==null||t.isError()||t.isString()||t.isNull()||t.isBoolean())return!0;e=e.plusBy(1)}),e}countA(){let e=R.create(0);return this.iterator(t=>{if(t==null||t.isNull())return!0;e=e.plusBy(1)}),e}countBlank(){let e=R.create(0);return this.iterator(t=>{(t==null||t.isNull()||t.getValue()==="")&&(e=e.plusBy(1))}),e}getNegative(){return q.create("{0}").minus(this)}getReciprocal(){return q.create("{1}").divided(this)}plus(e){return this._batchOperator(e,1)}minus(e){return this._batchOperator(e,0)}multiply(e){return this._batchOperator(e,2)}divided(e){return this._batchOperator(e,3)}mod(e){return this._batchOperator(e,4)}modInverse(e){return this.map(t=>t.isError()?t:e.mod(t))}compare(e,t,r){return this._batchOperator(e,5,t,r)}concatenateFront(e){return this._batchOperator(e,6)}concatenateBack(e){return this._batchOperator(e,7)}map(e){const t=(r,n,s)=>r==null?le.create():r.isError()?r:e(r,n,s);return this.mapValue(t)}mapValue(e){var s;const t=this._rowCount,r=this._columnCount,n=[];for(let a=0;a<t;a++){const o=[];for(let c=0;c<r;c++){const l=(s=this._values)==null?void 0:s[a];if(l==null)o[c]=g.create(h.VALUE);else{const f=l[c]||this._defaultValue;f?o[c]=e(f,a,c):o[c]=le.create()}}n.push(o)}return this._createNewArray(n,t,r)}pow(e){return this._batchOperator(e,8)}powInverse(e){return this.map(t=>t.isError()?t:e.pow(t))}sqrt(){return this.map(e=>e.isError()?e:e.sqrt())}cbrt(){return this.map(e=>e.isError()?e:e.cbrt())}cos(){return this.map(e=>e.isError()?e:e.cos())}cosh(){return this.map(e=>e.isError()?e:e.cosh())}acos(){return this.map(e=>e.isError()?e:e.acos())}acosh(){return this.map(e=>e.isError()?e:e.acosh())}sin(){return this.map(e=>e.isError()?e:e.sin())}sinh(){return this.map(e=>e.isError()?e:e.sinh())}asin(){return this.map(e=>e.isError()?e:e.asin())}asinh(){return this.map(e=>e.isError()?e:e.asinh())}tan(){return this.map(e=>e.isError()?e:e.tan())}tanh(){return this.map(e=>e.isError()?e:e.tanh())}atan(){return this.map(e=>e.isError()?e:e.atan())}atanh(){return this.map(e=>e.isError()?e:e.atanh())}atan2(e){return this._batchOperator(e,12)}atan2Inverse(e){return this.map(t=>t.isError()?t:e.atan2(t))}mean(e=0){const t=this.sum(),r=this.count();return t.divided(e===0?r:r.minusBy(1))}median(){const e=this.flattenPosition().numberArray,t=this._createNewArray([e],1,e.length),r=t.getColumnCount();if(r<=1)return t.get(0,0)||le.create();if(t.sortByRow(0),r%2===0){const n=t.get(0,r/2)||le.create(),s=t.get(0,r/2-1)||le.create();return n.plus(s).divided(R.create(2))}return t.get(0,(r-1)/2)||le.create()}var(e=0){const t=this.mean(),r=[[]];this.iterator(l=>{if(l==null||l.isError()||l.isString()||l.isBoolean()||l.isNull())return;const f=l.minus(t).pow(R.create(2));f.isError()||r[0].push(f)});const{_unitId:n,_sheetId:s,_currentRow:a,_currentColumn:o}=this;return q.create({calculateValueList:r,rowCount:1,columnCount:r[0].length,unitId:n,sheetId:s,row:a,column:o}).mean(e)}std(e=0){const t=this.var(e);return t.isError()?t:t.sqrt()}log(){return this.map(e=>e.isError()?e:e.log())}log10(){return this.map(e=>e.isError()?e:e.log10())}exp(){return this.map(e=>e.isError()?e:e.exp())}abs(){return this.map(e=>e.isError()?e:e.abs())}round(e){return this._batchOperator(e,9)}roundInverse(e){return this.map(t=>t.isError()?t:e.round(t))}floor(e){return this._batchOperator(e,10)}floorInverse(e){return this.map(t=>t.isError()?t:e.floor(t))}ceil(e){return this._batchOperator(e,11)}ceilInverse(e){return this.map(t=>t.isError()?t:e.ceil(t))}toValue(){return ff(this._values)}_clearCache(){this._flattenCache=null,this._sliceCache.clear()}_sort(e){const t=sn();return(r,n)=>{const s=r[e],a=n[e];return s==null?1:a==null?-1:s.isError()&&s.isError()?0:s.isError()?1:a.isError()?-1:t(s.getValue(),a.getValue())}}_transposeArray(e){const t=e.length,r=e[0].length,n=[];for(let s=0;s<r;s++){n[s]=[];for(let a=0;a<t;a++)n[s][a]=e[a][s]}return n}_batchOperator(e,t,r,n){const s=[];let a=this._rowCount,o=this._columnCount;if(e.isArray()){const f=e.getRowCount(),m=e.getColumnCount();if(a=Math.max(f,a),o=Math.max(m,o),f===1&&m===1){const d=e.getFirstCell();for(let _=0;_<o;_++)s.push(d)}else if(f===1&&this._columnCount>1){const d=e.getArrayValue();for(let _=0;_<o;_++)s.push(d[0][_])}else return this._batchOperatorArray(e,t,r,n)}else for(let f=0;f<o;f++)s.push(e);const c=[];for(let f=0;f<o;f++){const m=s[f];this._batchOperatorValue(m,f,c,t,r,n)}const l=this._createNewArray(c,a,o);return l.setDefaultValue(I.create(!1)),l}_batchOperatorValue(e,t,r,n,s,a){const o=this._rowCount,c=this.getUnitId(),l=this.getSheetId(),f=this.getCurrentRow(),m=this.getCurrentColumn();if(n===5){const{rowsInCache:d,rowsNotInCache:_}=Ye.canUseCache(c,l,t+m,f,f+o-1);if(d.length>0){if(s===k.EQUALS){const C=Ye.getCellPositions(c,l,t+m,e.getValue(),d);C!=null&&C.forEach(E=>{if(E<f||E>f+o-1)return;const b=E-f;r[b]==null&&(r[b]=[]),r[b][t]=I.create(!0)})}else{const C=Ye.getCellValuePositions(c,l,t+m);C!=null&&C.forEach((E,b)=>{let y=le.create();jt.has(b)?y=g.create(b):typeof b=="string"?y=j.create(b):typeof b=="number"?y=R.create(b):typeof b=="boolean"&&(y=I.create(b));let p;y.isError()?p=y:e.isError()?p=e:p=y.compare(e,s,a),(p.isError()||p.getValue()===!0)&&E.forEach(V=>{V>=f&&V<=f+o-1&&(r[V-f]==null&&(r[V-f]=[]),r[V-f][t]=p)})})}if(_.length>0)for(const C of _){const[E,b]=C;for(let y=E;y<=b;y++)this.__batchOperatorRowValue(e,t,r,n,y-f,c,l,f,m,s,a);Ye.setContinueBuildingCache(c,l,t+m,E,b)}return}}for(let d=0;d<o;d++)this.__batchOperatorRowValue(e,t,r,n,d,c,l,f,m,s,a);Ye.setContinueBuildingCache(c,l,t+m,f,f+o-1)}__batchOperatorRowValue(e,t,r,n,s,a,o,c,l,f,m){const d=this.getValueOrDefault(s,t);if(r[s]==null&&(r[s]=[]),d&&e)if(d.isError())r[s][t]=d;else if(e.isError())r[s][t]=e;else switch(n){case 1:r[s][t]=d.plus(e);break;case 0:r[s][t]=d.minus(e);break;case 2:r[s][t]=d.multiply(e);break;case 3:r[s][t]=d.divided(e);break;case 4:r[s][t]=d.mod(e);break;case 5:f?r[s][t]=d.compare(e,f,m):r[s][t]=g.create(h.VALUE);break;case 6:r[s][t]=d.concatenateFront(e);break;case 7:r[s][t]=d.concatenateBack(e);break;case 8:r[s][t]=d.pow(e);break;case 9:r[s][t]=d.round(e);break;case 10:r[s][t]=d.floor(e);break;case 12:r[s][t]=d.atan2(e);break;case 11:r[s][t]=d.ceil(e);break}else r[s][t]=g.create(h.NA);d!=null&&(d.isError()?Ye.set(a,o,t+l,d.getErrorType(),s+c):Ye.set(a,o,t+l,d.getValue(),s+c))}_batchOperatorArray(e,t,r,n){let s=e.getRowCount(),a=e.getColumnCount();s<this._rowCount&&(s=this._rowCount),a<this._columnCount&&(a=this._columnCount);const o=[],c=this._checkArrayCalculateType(this),l=this._checkArrayCalculateType(e);for(let f=0;f<s;f++){const m=[];for(let d=0;d<a;d++){let _;c===3?_=this.getValueOrDefault(0,0):c===1?_=this.getValueOrDefault(0,d):c===2?_=this.getValueOrDefault(f,0):_=this.getValueOrDefault(f,d);let C;if(l===3?C=e.getValueOrDefault(0,0):l===1?C=e.getValueOrDefault(0,d):l===2?C=e.getValueOrDefault(f,0):C=e.getValueOrDefault(f,d),_&&C)if(_.isError())m[d]=_;else if(C.isError())m[d]=C;else switch(t){case 1:m[d]=_.plus(C);break;case 0:m[d]=_.minus(C);break;case 2:m[d]=_.multiply(C);break;case 3:m[d]=_.divided(C);break;case 4:m[d]=_.mod(C);break;case 5:r?m[d]=_.compare(C,r,n):m[d]=g.create(h.VALUE);break;case 6:m[d]=_.concatenateFront(C);break;case 7:m[d]=_.concatenateBack(C);break;case 8:m[d]=_.pow(C);break;case 9:m[d]=_.round(C);break;case 12:m[d]=_.atan2(C);break;case 10:m[d]=_.floor(C);break;case 11:m[d]=_.ceil(C);break}else m[d]=g.create(h.NA)}o.push(m)}return this._createNewArray(o,s,a)}_checkArrayCalculateType(e){return e.getRowCount()===1&&e.getColumnCount()===1?3:e.getRowCount()===1?1:e.getColumnCount()===1?2:0}_formatValue(e){if(typeof e!="string")return e=e,this._rowCount=e.rowCount,this._columnCount=e.columnCount,this._unitId=e.unitId,this._sheetId=e.sheetId,this._currentRow=e.row,this._currentColumn=e.column,e.calculateValueList;e=e.slice(1,-1);const t=e.split(";"),r=t.length,n=[];let s=0;for(let a=0;a<r;a++){const c=t[a].split(","),l=c.length;s<l&&(s=l);const f=[];for(let m=0;m<l;m++){const d=c[m].trim();f.push(lt.create(d))}n.push(f)}return this._rowCount=r,this._columnCount=s,n}_createNewArray(e,t,r,n=-1,s=-1){(this._currentColumn===-1||this._currentRow===-1)&&(n=-1,s=-1);const a={calculateValueList:e,rowCount:t,columnCount:r,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:n,column:s};return q.create(a)}}class lt{static create(u,e=!1){if(u==null)return le.create();if(typeof u=="boolean")return I.create(u);if(typeof u=="string"){const t=u.toLocaleUpperCase().trim();if(jt.has(t))return g.create(t);if(t===wt.TRUE||t===wt.FALSE)return Fn(u);if(M.isRealNum(u))return R.create(Number(u));if(!e){const{isNumberPattern:n,value:s,pattern:a}=Kc(u);if(n)return R.create(s,a)}const r=u.replace(/\n/g,"").replace(/\r/g,"");return!mf(r)&&mc(r)?q.create(r):cf(u)}return typeof u=="number"?Er(u):g.create(h.VALUE)}}function mf(i){const u=i.trim();return u.startsWith('"')&&u.endsWith('"')}const hf=1e4,cn=new _t(hf);class Vr extends Pn{constructor(e){super();A(this,"_forcedSheetId","");A(this,"_forcedSheetName","");A(this,"_defaultSheetId","");A(this,"_rangeData",{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1});A(this,"_unitData",{});A(this,"_unitStylesData",{});A(this,"_filteredOutRows",[]);A(this,"_defaultUnitId","");A(this,"_forcedUnitId","");A(this,"_runtimeData",{});A(this,"_arrayFormulaCellData",{});A(this,"_runtimeArrayFormulaCellData",{});A(this,"_runtimeFeatureCellData",{});A(this,"_refOffsetX",0);A(this,"_refOffsetY",0);this._token=e}dispose(){this._unitData={},this._unitStylesData={},this._runtimeData={}}getToken(){return this._token}setToken(e){this._token=e}isExceedRange(){const{startRow:e,endRow:t,startColumn:r,endColumn:n}=this.getRangePosition();return e<0||r<0||t>=this.getActiveSheetRowCount()||n>=this.getActiveSheetColumnCount()}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}getRangePosition(){let{startRow:e,startColumn:t,endRow:r,endColumn:n}=M.moveRangeByOffset(this._rangeData,this._refOffsetX,this._refOffsetY);return Number.isNaN(e)&&(e=0),Number.isNaN(t)&&(t=0),Number.isNaN(r)&&(r=this.getActiveSheetRowCount()-1),Number.isNaN(n)&&(n=this.getActiveSheetColumnCount()-1),{...this._rangeData,startRow:e,endRow:r,startColumn:t,endColumn:n}}isReferenceObject(){return!0}iterator(e){const{startRow:t,endRow:r,startColumn:n,endColumn:s}=this.getRangePosition();if(this._checkIfWorksheetMiss())return e(g.create(h.VALUE),t,n);const a=this._forcedUnitId||this._defaultUnitId,o=this._forcedSheetId||this._defaultSheetId;for(let c=t;c<=r;c++)for(let l=n;l<=s;l++){if(c<0||l<0)return e(g.create(h.REF),c,l);const f=this.getCellData(c,l);let m=!1;if(Qr(f)){m=e(null,c,l);continue}let d=this.getCellValueObject(f);if(c===t&&l===n){const _=this.getCellPattern(a,o,c,l);if(_&&d.isNumber()){const C=Number(d.getValue());d=R.create(C,_)}}if(m=e(d,c,l),m===!1)return}}getFirstCell(){if(this._checkIfWorksheetMiss())return g.create(h.VALUE);const{startRow:e,startColumn:t}=this.getRangePosition(),r=this.getCellData(e,t);if(!r)return R.create(0);let n=this.getCellValueObject(r);const s=this._forcedUnitId||this._defaultUnitId,a=this._forcedSheetId||this._defaultSheetId,o=this.getCellPattern(s,a,e,t);if(o&&n.isNumber()){const c=Number(n.getValue());n=R.create(c,o)}return n}getRangeData(){return this._rangeData}setRangeData(e){this._rangeData=e}getUnitId(){return this._forcedUnitId&&this._forcedUnitId.length>0?this._forcedUnitId:this._defaultUnitId}getSheetId(){return this._forcedSheetId&&this._forcedSheetId.length>0?this._forcedSheetId:this._defaultSheetId}setForcedUnitIdDirect(e){e.length>0&&(this._forcedUnitId=e)}getForcedUnitId(){return this._forcedUnitId}setForcedSheetId(e){var t;this._forcedSheetId=(t=e[this.getUnitId()])==null?void 0:t[this._forcedSheetName]}setForcedSheetIdDirect(e){this._forcedSheetId=e}getForcedSheetId(){return this._forcedSheetId}setForcedSheetName(e){e.length>0&&(this._forcedSheetName=e)}getForcedSheetName(){return this._forcedSheetName}setDefaultSheetId(e){this._defaultSheetId=e}getDefaultSheetId(){return this._defaultSheetId}setDefaultUnitId(e){this._defaultUnitId=e}getDefaultUnitId(){return this._defaultUnitId}getUnitData(){return this._unitData}setUnitData(e){this._unitData=e}getUnitStylesData(){return this._unitStylesData}setUnitStylesData(e){this._unitStylesData=e}getFilteredOutRows(){return this._filteredOutRows}setFilteredOutRows(e){this._filteredOutRows=e}getRuntimeData(){return this._runtimeData}setRuntimeData(e){this._runtimeData=e}getArrayFormulaCellData(){return this._arrayFormulaCellData}setArrayFormulaCellData(e){this._arrayFormulaCellData=e}getRuntimeArrayFormulaCellData(){return this._runtimeArrayFormulaCellData}setRuntimeArrayFormulaCellData(e){this._runtimeArrayFormulaCellData=e}getRuntimeFeatureCellData(){return this._runtimeFeatureCellData}setRuntimeFeatureCellData(e){this._runtimeFeatureCellData=e}getActiveSheetRowCount(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.rowCount)||0}getActiveSheetColumnCount(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.columnCount)||0}getRowCount(){return this._rangeData.endRow-this._rangeData.startRow+1}getColumnCount(){return this._rangeData.endColumn-this._rangeData.startColumn+1}getRowData(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.rowData)||{}}getColumnData(){var e;return((e=this.getCurrentActiveSheetData())==null?void 0:e.columnData)||{}}isCell(){return!1}isColumn(){return!1}isRow(){return!1}isRange(){return!1}isTable(){return!1}unionBy(e){return g.create(h.REF)}unionRange(e,t){return{startRow:-1,startColumn:-1,endRow:-1,endColumn:-1}}getCellValueObject(e){const t=zc(e);if(jt.has(t))return g.create(t);if(e.t===M.CellValueType.NUMBER){const r=this._getPatternByCell(e);return M.isTextFormat(r)?j.create(t.toString()):Er(t,r)}return e.t===M.CellValueType.STRING||e.t===M.CellValueType.FORCE_STRING?j.create(t.toString()):e.t===M.CellValueType.BOOLEAN?Fn(t):lt.create(t)}_getPatternByCell(e){var n;const t=this._unitStylesData[this.getUnitId()];if(!t)return"";const r=t.getStyleByCell(e);return((n=r==null?void 0:r.n)==null?void 0:n.pattern)||""}getCellByRow(e){return this.getCellByPosition(e)}getCellByColumn(e){return this.getCellByPosition(void 0,e)}getCurrentActiveSheetData(){var e;return(e=this._unitData[this.getUnitId()])==null?void 0:e[this.getSheetId()]}getCurrentStylesData(){return this._unitStylesData[this.getUnitId()]}getCurrentRuntimeSheetData(){var e,t;return(t=(e=this._runtimeData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCurrentActiveArrayFormulaCellData(){var e,t;return(t=(e=this._arrayFormulaCellData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCurrentRuntimeActiveArrayFormulaCellData(){var e,t;return(t=(e=this._runtimeArrayFormulaCellData)==null?void 0:e[this.getUnitId()])==null?void 0:t[this.getSheetId()]}getCellData(e,t){const r=this.getCurrentActiveSheetData(),n=this.getCurrentRuntimeSheetData(),s=this.getCurrentActiveArrayFormulaCellData(),a=this.getCurrentRuntimeActiveArrayFormulaCellData();return(n==null?void 0:n.getValue(e,t))||(a==null?void 0:a.getValue(e,t))||this.getRuntimeFeatureCellValue(e,t)||(s==null?void 0:s.getValue(e,t))||(r==null?void 0:r.cellData.getValue(e,t))}getRuntimeFeatureCellValue(e,t){return Hi(e,t,this.getSheetId(),this.getUnitId(),this._runtimeFeatureCellData)}getCellByPosition(e,t){let r=e,n=t;r||(r=this._rangeData.startRow),n||(n=this._rangeData.startColumn);const s=this.getCellData(r,n);return s?this.getCellValueObject(s):g.create(h.VALUE)}getCellPattern(e,t,r,n){var c,l,f,m;const s=this._unitStylesData[e];if(!s)return"";const a=(f=(l=(c=this._unitData[e])==null?void 0:c[t])==null?void 0:l.cellData)==null?void 0:f.getValue(r,n);if(!a)return"";const o=s.getStyleByCell(a);return((m=o==null?void 0:o.n)==null?void 0:m.pattern)||""}toArrayValueObject(e=!0){var _;const{startRow:t,endRow:r,startColumn:n,endColumn:s}=this.getRangePosition(),a=`${this.getUnitId()}_${this.getSheetId()}_${t}_${r}_${n}_${s}`,o=cn.get(a);if(o&&e)return o;const c=r-t+1,l=s-n+1;if(c<0||l<0)return this._getBlankArrayValueObject();const f=new Array(c);this.iterator((C,E,b)=>{const y=E-t,p=b-n;f[y]||(f[y]=new Array(l)),C==null&&(C=le.create()),f[y][p]=C});const m={calculateValueList:f,rowCount:f.length,columnCount:((_=f[0])==null?void 0:_.length)||0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:t,column:n},d=q.create(m);return e&&cn.set(a,d),d}toUnitRange(){return{range:this.getRangePosition(),sheetId:this.getSheetId(),unitId:this.getUnitId()}}_checkIfWorksheetMiss(){return(this._forcedSheetId==null||this._forcedSheetId.length===0)&&this._forcedSheetName.length>0}_getBlankArrayValueObject(){const e={calculateValueList:[],rowCount:0,columnCount:0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:0,column:0};return q.create(e)}}class no extends Pn{constructor(u){super(),this._promise=u}isAsyncObject(){return!0}async getValue(){return this._promise}}class so extends Pn{constructor(u){super(),this._promiseList=u}isAsyncArrayObject(){return!0}async getValue(){var t;const u=[];for(let r=0;r<this._promiseList.length;r++){const n=this._promiseList[r];u[r]==null&&(u[r]=[]);for(let s=0;s<n.length;s++){const a=n[s];a.isAsyncObject()?u[r][s]=await a.getValue():u[r][s]=a}}const e={calculateValueList:u,rowCount:u.length,columnCount:((t=u[0])==null?void 0:t.length)||0,unitId:"",sheetId:"",row:0,column:0};return q.create(e)}}class br extends Vr{constructor(u,e,t){super(""),this.setRangeData(u),e&&this.setForcedSheetIdDirect(e),t&&this.setForcedUnitIdDirect(t)}isRange(){return!0}}class zs extends Vr{constructor(u){super(u);const e=Wt(u);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName),this.setRangeData(e.range)}isCell(){return!0}unionBy(u){if(!u.isCell())return g.create(h.REF);const e=u,t=this.unionRange(this.getRangeData(),e.getRangeData());return this._createRange(t)}unionRange(u,e){const t=u.startRow,r=u.startColumn,n=e.startRow,s=e.startColumn,a={startRow:-1,startColumn:-1,endRow:-1,endColumn:-1};return t>n?(a.startRow=n,a.endRow=t):(a.startRow=t,a.endRow=n),r>s?(a.startColumn=s,a.endColumn=r):(a.startColumn=r,a.endColumn=s),u.startAbsoluteRefType&&(a.startAbsoluteRefType=u.startAbsoluteRefType),e.startAbsoluteRefType&&(a.endAbsoluteRefType=e.startAbsoluteRefType),a}_createRange(u){const e=new br(u,this.getForcedSheetId(),this.getForcedUnitId());e.setUnitData(this.getUnitData()),e.setDefaultSheetId(this.getDefaultSheetId()),e.setDefaultUnitId(this.getDefaultUnitId()),e.setRuntimeData(this.getRuntimeData()),e.setUnitStylesData(this.getUnitStylesData()),e.setArrayFormulaCellData(this.getArrayFormulaCellData()),e.setRuntimeArrayFormulaCellData(this.getRuntimeArrayFormulaCellData()),e.setRuntimeFeatureCellData(this.getRuntimeFeatureCellData());const{x:t,y:r}=this.getRefOffset();e.setRefOffset(t,r);const n=this.getForcedSheetId();e.setForcedSheetName(this.getForcedSheetName()),n!=null&&e.setForcedSheetIdDirect(n);const s=this.getForcedUnitId();return s&&e.setForcedUnitIdDirect(s),e}}class Js extends Vr{constructor(u){super(u);const e=Wt(u);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={...e.range,startColumn:e.range.startColumn,startRow:Number.NaN,endColumn:e.range.endColumn,endRow:Number.NaN,rangeType:M.RANGE_TYPE.COLUMN};this.setRangeData(t)}isColumn(){return!0}unionBy(u){if(!u.isColumn())return g.create(h.REF);const e=u;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return g.create(h.REF);const t=this.getRangeData(),r=e.getRangeData(),n=r.startColumn;if(n>=t.startColumn&&n<=t.endColumn)return this;const s=t.startColumn;return n>s?t.endColumn=n:(t.startColumn=n,t.endColumn=s),r.startAbsoluteRefType&&(t.endAbsoluteRefType=r.startAbsoluteRefType),t.rangeType=M.RANGE_TYPE.COLUMN,this.setToken(`${this.getToken()}${K.COLON}${e.getToken()}`),this}}class ea extends Vr{constructor(u){super(u);const e=Wt(u);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={...e.range,startColumn:Number.NaN,startRow:e.range.startRow,endColumn:Number.NaN,endRow:e.range.endRow,rangeType:M.RANGE_TYPE.ROW};this.setRangeData(t)}isRow(){return!0}unionBy(u){if(!u.isRow())return g.create(h.REF);const e=u;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return g.create(h.REF);const t=this.getRangeData(),r=e.getRangeData(),n=r.startRow;if(n>=t.startRow&&n<=t.endRow)return this;const s=t.startRow;return n>s?t.endRow=n:(t.startRow=n,t.endRow=s),r.startAbsoluteRefType&&(t.endAbsoluteRefType=r.startAbsoluteRefType),t.rangeType=M.RANGE_TYPE.ROW,this.setToken(`${this.getToken()}${K.COLON}${e.getToken()}`),this}}function O(i,u,e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=[];for(let a=0;a<i;a++){const o=[];for(let c=0;c<u;c++){if(r===1&&n===1){const f=e.isArray()?e.get(0,0):e;o.push(f);continue}if(r===1&&c<n){const f=e.get(0,c);o.push(f);continue}if(n===1&&a<r){const f=e.get(a,0);o.push(f);continue}if(a>=r||c>=n){o.push(t!=null?t:le.create());continue}const l=e.get(a,c);o.push(l)}s.push(o)}return Or(s,i,u)}function Or(i,u,e,t="",r=""){const n={calculateValueList:i,rowCount:u,columnCount:e,unitId:t,sheetId:r,row:-1,column:-1};return q.create(n)}function ta(i){const u=[k.EQUALS,k.NOT_EQUAL,k.GREATER_THAN_OR_EQUAL,k.GREATER_THAN,k.LESS_THAN_OR_EQUAL,k.LESS_THAN];for(const e of u)if(i.startsWith(e)){const t=i.substring(e.length);return[e,lt.create(t)]}return[k.EQUALS,lt.create(i)]}function Bn(i,u,e,t){if(!e)if(u.isString()){const r=`${u.getValue()}`,[n,s]=ta(r);e=n,u=s}else e=k.EQUALS;return i.compare(u,e,t)}function gf(i,u){const e=Math.max(i.isArray()?i.getRowCount():1,u.isArray()?u.getRowCount():1),t=Math.max(i.isArray()?i.getColumnCount():1,u.isArray()?u.getColumnCount():1),r=O(e,t,i),n=O(e,t,u);return r.mapValue((s,a,o)=>{const c=n.get(a,o);return s!=null&&s.isError()?s:c!=null&&c.isError()?c:s!=null&&s.isBoolean()&&(c!=null&&c.isBoolean())?Fn(s.getValue()&&c.getValue()):I.create(!1)})}function df(i){const u=i.getValue();let e=0;return u&&(e=1),R.create(e)}function ei(i){return i.isArray()&&i.getRowCount()===1&&i.getColumnCount()===1?!0:i.isReferenceObject()?!!(i.isCell()||i.getRowCount()===1&&i.getColumnCount()===1):(i=i,!!(i.isString()||i.isNumber()||i.isBoolean()||i.isError()||i.isNull()))}function Cf(i){const u=i==null?void 0:i.getPattern();let e={},t={};if(u&&(e={s:{n:{pattern:u}}}),i!=null&&i.getCustomData()&&(t={custom:i.getCustomData()}),i==null)return{v:null,...e};if(i.isError())return{v:i.getErrorType(),t:M.CellValueType.STRING,...e,...t};if(i.isValueObject()){const r=i,n=r.getValue();return r.isNumber()?{v:n,t:M.CellValueType.NUMBER,...e,...t}:r.isBoolean()?{v:n?1:0,t:M.CellValueType.BOOLEAN,...e,...t}:r.isString()?{v:n,t:M.CellValueType.STRING,...e,...t}:r.isNull()?{v:null,...e,...t}:{v:n,t:M.CellValueType.STRING,...e,...t}}}function _f(i){let u=0,e=0;return i.forEach((t,r)=>{if(r%2===1)if(t.isArray()){const n=t;u=Math.max(u,n.getRowCount()),e=Math.max(e,n.getColumnCount())}else u=Math.max(u,1),e=Math.max(e,1)}),{maxRowLength:u,maxColumnLength:e}}function Mr(i,u){if(i.length===0||i.length%2!==0)return{isError:!0,errorObject:g.create(h.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};let e=null,t=-1,r=-1;if(u){if(!u.isReferenceObject())return{isError:!0,errorObject:g.create(h.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};e=u.toArrayValueObject(),t=e.getRowCount(),r=e.getColumnCount()}let n=0,s=0,a=!1;const o=[];for(let c=0;c<i.length;c++)if(c%2===1){const l=i[c-1],f=i[c];if(!l.isReferenceObject())return{isError:!0,errorObject:g.create(h.VALUE),rangeIsDifferentSize:!1,criteriaMaxRowLength:0,criteriaMaxColumnLength:0,targetRange:null,variants:[]};const m=l.toArrayValueObject(),d=m.getRowCount(),_=m.getColumnCount();c===1&&t===-1&&r===-1?(t=d,r=_):!a&&(t!==d||r!==_)&&(a=!0);let C=f;f.isReferenceObject()&&(C=f.toArrayValueObject()),n=Math.max(n,C.isArray()?C.getRowCount():1),s=Math.max(s,C.isArray()?C.getColumnCount():1),o.push(m),o.push(C)}return{isError:!1,errorObject:null,rangeIsDifferentSize:a,criteriaMaxRowLength:n,criteriaMaxColumnLength:s,targetRange:e,variants:o}}function ws(i){return i.isArray()?i:q.createByArray([[i.getValue()]])}function Sr(i,u,e,t=!1){const r=[];for(let n=0;n<i.length;n++){if(n%2===1)continue;const s=i[n],a=i[n+1];O(u,e,a,g.create(h.NA)).iterator((c,l,f)=>{if(!c)return;let m=Bn(s,c);if(t&&(m=kn(m,s,c)),r[l]===void 0&&(r[l]=[]),r[l][f]===void 0){r[l][f]=m;return}r[l][f]=gf(r[l][f],m)})}return r}function kn(i,u,e){const[t,r]=ta(`${e.getValue()}`);return i.mapValue((n,s,a)=>{const o=u.get(s,a);if(o&&Af(o,r))return n;if(o!=null&&o.isError()&&r.isError()&&o.getValue()===r.getValue())return I.create(!0);if(t===k.EQUALS||t===k.NOT_EQUAL){if(o!=null&&o.isNumber()&&r.isString()){const c=r.convertToNumberObjectValue();if(c.isNumber())return o.compare(c,t)}if(r.isNumber()&&(o!=null&&o.isString())){const c=o.convertToNumberObjectValue();if(c.isNumber())return c.compare(r,t)}if(t===k.EQUALS)return I.create(!1);if(t===k.NOT_EQUAL)return I.create(!0)}return I.create(!1)})}function Af(i,u){if(i.isNumber()&&u.isNumber()||i.isBoolean()&&u.isBoolean())return!0;const e=i.isString()&&i.getValue()==="",t=u.isString()&&u.getValue()==="";return!!((e||i.isNull())&&(t||u.isNull())||i.isString()&&!e&&u.isString()&&!t)}var Xr=(i=>(i[i.CELL=0]="CELL",i[i.COLUMN=1]="COLUMN",i[i.ROW=2]="ROW",i))(Xr||{});function Ef(i,u){let e;switch(u){case 0:e=new zs(i);break;case 1:e=new Js(i);break;case 2:e=new ea(i);break;default:throw new Error("Unknown reference object type")}return e}function bf(i,u){let e;return i.isCell()&&u.isCell()||i.isRow()&&u.isRow()||i.isColumn()&&u.isColumn()?e=i.unionBy(u):e=g.create(h.NAME),e}var yf=Object.getOwnPropertyDescriptor,Rf=(i,u,e,t)=>{for(var r=t>1?void 0:t?yf(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},pf=(i,u)=>(e,t)=>u(e,t,i);exports.HyperlinkEngineFormulaService=class extends M.Disposable{constructor(u){super(),this._univerInstanceService=u}generateCellValue(u,e){if(e.trim()==="")return{v:""};let t=u;if(u.startsWith("#")&&Bs(u.slice(1))){const{unitId:r,sheetName:n,range:s}=rr(u.slice(1)),a=this._univerInstanceService.getCurrentUnitOfType(M.UniverInstanceType.UNIVER_SHEET);if(r===""||r===a.getUnitId())if(n==="")t=`#gid=${a.getActiveSheet().getSheetId()}&range=${Ct(s)}`;else{const o=a.getSheetBySheetName(n);o&&(t=`#gid=${o.getSheetId()}&range=${Ct(s)}`)}}else M.Tools.isLegalUrl(u)&&(t=M.Tools.normalizeUrl(u));return{p:M.RichTextBuilder.create().insertLink(e,t).getData()}}};exports.HyperlinkEngineFormulaService=Rf([pf(0,M.IUniverInstanceService)],exports.HyperlinkEngineFormulaService);const ra=M.createIdentifier("univer.formula.hyperlink-engine-formula.service");var Nf=Object.getOwnPropertyDescriptor,Vf=(i,u,e,t)=>{for(var r=t>1?void 0:t?Nf(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},ti=(i,u)=>(e,t)=>u(e,t,i),$e=(i=>(i[i.IDLE=0]="IDLE",i[i.START=1]="START",i[i.START_DEPENDENCY=2]="START_DEPENDENCY",i[i.START_CALCULATION=3]="START_CALCULATION",i[i.CURRENTLY_CALCULATING=4]="CURRENTLY_CALCULATING",i[i.START_DEPENDENCY_ARRAY_FORMULA=5]="START_DEPENDENCY_ARRAY_FORMULA",i[i.START_CALCULATION_ARRAY_FORMULA=6]="START_CALCULATION_ARRAY_FORMULA",i[i.CURRENTLY_CALCULATING_ARRAY_FORMULA=7]="CURRENTLY_CALCULATING_ARRAY_FORMULA",i[i.CALCULATION_COMPLETED=8]="CALCULATION_COMPLETED",i))($e||{}),Jt=(i=>(i[i.INITIAL=0]="INITIAL",i[i.STOP_EXECUTION=1]="STOP_EXECUTION",i[i.NOT_EXECUTED=2]="NOT_EXECUTED",i[i.SUCCESS=3]="SUCCESS",i))(Jt||{});exports.FormulaRuntimeService=class extends M.Disposable{constructor(e,t){super();A(this,"_formulaExecuteStage",0);A(this,"_stopState",!1);A(this,"_currentRow",-1);A(this,"_currentColumn",-1);A(this,"_currentRowCount",Number.NEGATIVE_INFINITY);A(this,"_currentColumnCount",Number.NEGATIVE_INFINITY);A(this,"_currentSubUnitId","");A(this,"_currentUnitId","");A(this,"_runtimeData",{});A(this,"_runtimeOtherData",{});A(this,"_unitArrayFormulaRange",{});A(this,"_runtimeArrayFormulaCellData",{});A(this,"_runtimeClearArrayFormulaCellData",{});A(this,"_runtimeFeatureRange",{});A(this,"_runtimeFeatureCellData",{});A(this,"_functionsExecutedState",0);A(this,"_functionDefinitionPrivacyVar",new Map);A(this,"_totalFormulasToCalculate",0);A(this,"_completedFormulasCount",0);A(this,"_totalArrayFormulasToCalculate",0);A(this,"_completedArrayFormulasCount",0);A(this,"_formulaCycleIndex",0);A(this,"_isCycleDependency",!1);this._currentConfigService=e,this._hyperlinkEngineFormulaService=t}get currentRow(){return this._currentRow}get currentColumn(){return this._currentColumn}get currentRowCount(){return this._currentRowCount}get currentColumnCount(){return this._currentColumnCount}get currentSubUnitId(){return this._currentSubUnitId}get currentUnitId(){return this._currentUnitId}dispose(){super.dispose(),this.reset(),this._runtimeFeatureCellData={},this._runtimeFeatureRange={},this.clearReferenceAndNumberformatCache()}enableCycleDependency(){this._isCycleDependency=!0}disableCycleDependency(){this._isCycleDependency=!1}isCycleDependency(){return this._isCycleDependency}setFormulaCycleIndex(e){this._formulaCycleIndex=e}getFormulaCycleIndex(){return this._formulaCycleIndex}setTotalArrayFormulasToCalculate(e){this._totalArrayFormulasToCalculate=e}getTotalArrayFormulasToCalculate(){return this._totalArrayFormulasToCalculate}setCompletedArrayFormulasCount(e){this._completedArrayFormulasCount=e}getCompletedArrayFormulasCount(){return this._completedArrayFormulasCount}setTotalFormulasToCalculate(e){this._totalFormulasToCalculate=e}getTotalFormulasToCalculate(){return this._totalFormulasToCalculate}setCompletedFormulasCount(e){this._completedFormulasCount=e}getCompletedFormulasCount(){return this._completedFormulasCount}markedAsSuccessfullyExecuted(){this._functionsExecutedState=3}markedAsNoFunctionsExecuted(){this._functionsExecutedState=2}markedAsStopFunctionsExecuted(){this._functionsExecutedState=1}markedAsInitialFunctionsExecuted(){this._functionsExecutedState=0}stopExecution(){this._stopState=!0,this.setFormulaExecuteStage(0)}isStopExecution(){return this._stopState}setFormulaExecuteStage(e){this._formulaExecuteStage=e}getFormulaExecuteStage(){return this._formulaExecuteStage}reset(){this._formulaExecuteStage=0,this._runtimeData={},this._runtimeOtherData={},this._unitArrayFormulaRange={},this._runtimeArrayFormulaCellData={},this._runtimeClearArrayFormulaCellData={},this._functionDefinitionPrivacyVar.clear(),this.markedAsInitialFunctionsExecuted(),this._stopState=!1,this._isCycleDependency=!1,this._totalFormulasToCalculate=0,this._completedFormulasCount=0,this.clearReferenceAndNumberformatCache()}clearReferenceAndNumberformatCache(){Hc(),Xc(),Dc()}setCurrent(e,t,r,n,s,a){this._currentRow=e,this._currentColumn=t,this._currentRowCount=r,this._currentColumnCount=n,this._currentSubUnitId=s,this._currentUnitId=a}clearFunctionDefinitionPrivacyVar(){this._functionDefinitionPrivacyVar.clear()}registerFunctionDefinitionPrivacyVar(e,t){this._functionDefinitionPrivacyVar.set(e,t)}getFunctionDefinitionPrivacyVar(e){return this._functionDefinitionPrivacyVar.get(e)}setRuntimeOtherData(e,t,r,n){const s=this._currentSubUnitId,a=this._currentUnitId;this._runtimeOtherData[a]===void 0&&(this._runtimeOtherData[a]={});const o=this._runtimeOtherData[a];(o[s]===void 0||o[s]===null)&&(o[s]={});const c=o[s];let l=[];if(n.isReferenceObject()||n.isValueObject()&&n.isArray()){const f=n,{startRow:m,startColumn:d}=f.getRangePosition();f.iterator((_,C,E)=>{const b=this._getValueObjectOfRuntimeData(_),y=C-m,p=E-d;l[y]==null&&(l[y]=[]),l[y][p]=b})}else l=[[this._getValueObjectOfRuntimeData(n)]];(c[e]===void 0||c[e]===null)&&(c[e]={}),(c[e][r]===void 0||c[e][r]===null)&&(c[e][r]={}),c[e][r][t]=l}setRuntimeData(e){const t=this._currentRow,r=this._currentColumn,n=this._currentRowCount,s=this.currentColumnCount,a=this._currentSubUnitId,o=this._currentUnitId;this._runtimeData[o]==null&&(this._runtimeData[o]={});const c=this._runtimeData[o];c[a]==null&&(c[a]=new M.ObjectMatrix),this._unitArrayFormulaRange[o]==null&&(this._unitArrayFormulaRange[o]={});const l=this._unitArrayFormulaRange[o];(l[a]===null||l[a]===void 0)&&(l[a]={});const f=new M.ObjectMatrix(l[a]);this._runtimeArrayFormulaCellData[o]===void 0&&(this._runtimeArrayFormulaCellData[o]={});const m=this._runtimeArrayFormulaCellData[o];m[a]==null&&(m[a]=new M.ObjectMatrix),this._runtimeClearArrayFormulaCellData[o]===void 0&&(this._runtimeClearArrayFormulaCellData[o]={});const d=this._runtimeClearArrayFormulaCellData[o];d[a]==null&&(d[a]=new M.ObjectMatrix);const _=c[a],C=m[a],E=d[a];if(e.isReferenceObject()||e.isValueObject()&&e.isArray()){const b=e,{startRow:y,startColumn:p,endRow:V,endColumn:S}=b.getRangePosition();if(y===V&&p===S){const w=b.getFirstCell(),L=this._getValueObjectOfRuntimeData(w);_.setValue(t,r,L),E.setValue(t,r,L),Ye.set(o,a,r,w.getValue(),t,!0);return}const D={startRow:t,startColumn:r,endRow:V-y+t,endColumn:S-p+r};if(f.setValue(t,r,D),this._checkIfArrayFormulaRangeHasData(o,a,t,r,D)||this._checkIfArrayFormulaExceeded(n,s,D)){const w=this._getValueObjectOfRuntimeData(g.create(h.SPILL));_.setValue(t,r,w),E.setValue(t,r,w),Ye.set(o,a,r,h.SPILL,t,!0);const L=this._currentConfigService.getUnitData();b.iterator((x,v,U)=>{var z,W;const $=v-y+t,Q=U-p+r,te=(W=(z=L[o])==null?void 0:z[a])==null?void 0:W.cellData.getValue($,Q);if(v===y&&U===p)C.setValue(t,r,w);else if(te!=null)te.v==null&&(te.v=""),C.setValue($,Q,te);else{if(this._isInOtherArrayFormulaRange(o,a,t,r,$,Q))return!0;C.setValue($,Q,{v:""})}})}else{const w=g.create(h.SPILL);b.iterator((L,x,v)=>{Ye.set(o,a,r-p+v,L?L.getValue():0,t-y+x,!0);const U=this._getValueObjectOfRuntimeData(L);if(x===y&&v===p){if(L!=null&&L.isError()&&L.isEqualType(w))return E.setValue(t,r,{}),_.setValue(t,r,{...this._getValueObjectOfRuntimeData(w)}),!1;_.setValue(t,r,{...U})}const $=x-y+t,Q=v-p+r;C.setValue($,Q,U)})}}else{const b=this._getValueObjectOfRuntimeData(e);_.setValue(t,r,b),Ye.set(o,a,r,e.getValue(),t,!0),E.setValue(t,r,b)}}_getValueObjectOfRuntimeData(e){return e!=null&&e.isString()&&e.isHyperlink()?this._hyperlinkEngineFormulaService.generateCellValue(e.getHyperlinkUrl(),e.getValue()):Cf(e)}getUnitData(){return this._runtimeData}getUnitArrayFormula(){return this._unitArrayFormulaRange}getRuntimeOtherData(){return this._runtimeOtherData}getRuntimeArrayFormulaCellData(){return this._runtimeArrayFormulaCellData}getRuntimeClearArrayFormulaCellData(){return this._runtimeClearArrayFormulaCellData}getRuntimeFeatureRange(){return this._runtimeFeatureRange}setRuntimeFeatureRange(e,t){this._runtimeFeatureRange[e]=t}getRuntimeFeatureCellData(){return this._runtimeFeatureCellData}setRuntimeFeatureCellData(e,t){this._runtimeFeatureCellData[e]=t}getAllRuntimeData(){return{unitData:this.getUnitData(),arrayFormulaRange:this.getUnitArrayFormula(),unitOtherData:this.getRuntimeOtherData(),functionsExecutedState:this._functionsExecutedState,arrayFormulaCellData:this.getRuntimeArrayFormulaCellData(),clearArrayFormulaCellData:this.getRuntimeClearArrayFormulaCellData(),runtimeFeatureRange:this.getRuntimeFeatureRange(),runtimeFeatureCellData:this.getRuntimeFeatureCellData()}}getRuntimeState(){return{totalFormulasToCalculate:this.getTotalFormulasToCalculate(),completedFormulasCount:this.getCompletedFormulasCount(),totalArrayFormulasToCalculate:this.getTotalArrayFormulasToCalculate(),completedArrayFormulasCount:this.getCompletedArrayFormulasCount(),stage:this.getFormulaExecuteStage(),formulaCycleIndex:this.getFormulaCycleIndex()}}_checkIfArrayFormulaRangeHasData(e,t,r,n,s){var d,_,C,E,b,y,p,V,S,D,w;const{startRow:a,startColumn:o,endRow:c,endColumn:l}=s,f=this._currentConfigService.getUnitData(),m=this._currentConfigService.getArrayFormulaCellData();(C=(_=(d=this._unitArrayFormulaRange[e])==null?void 0:d[t])==null?void 0:_[r])==null||C[n];for(let L=a;L<=c;L++)for(let x=o;x<=l;x++){if(L===r&&n===x)continue;const v=(y=(b=(E=this._runtimeData)==null?void 0:E[e])==null?void 0:b[t])==null?void 0:y.getValue(L,x);(V=(p=m==null?void 0:m[e])==null?void 0:p[t])==null||V.getValue(L,x);const U=(w=(D=(S=f==null?void 0:f[e])==null?void 0:S[t])==null?void 0:D.cellData)==null?void 0:w.getValue(L,x),$=this._getRuntimeFeatureCellValue(L,x,t,e);if(!Qr(v)||this._isInOtherArrayFormulaRange(e,t,r,n,L,x)||!Qr(U)||!Qr($))return!0}return!1}_getRuntimeFeatureCellValue(e,t,r,n){return Hi(e,t,r,n,this._runtimeFeatureCellData)}_arrayCellHasData(e){return e==null?!1:e.v!==void 0}_isInOtherArrayFormulaRange(e,t,r,n,s,a){var f;const o=(f=this._currentConfigService.getArrayFormulaRange()[e])==null?void 0:f[t];if(o==null)return!1;let c=!1;return new M.ObjectMatrix(o).forValue((m,d,_)=>{var b,y;if(m===r&&d===n)return;const C=this._isInArrayFormulaRange(_,s,a),E=(y=(b=this._runtimeData[e])==null?void 0:b[t])==null?void 0:y.getValue(m,d);C&&(E==null?void 0:E.v)!==h.SPILL&&(c=!0)}),c}_isInArrayFormulaRange(e,t,r){if(e==null)return!1;const{startRow:n,startColumn:s,endRow:a,endColumn:o}=e;return t>=n&&t<=a&&r>=s&&r<=o}_checkIfArrayFormulaExceeded(e,t,r){return r.endRow>=e||r.endColumn>=t}_isInDirtyRange(e,t,r,n){const s=this._currentConfigService.getDirtyRanges();return s.length===0?!0:Ri(s,e,t,r,n)}};exports.FormulaRuntimeService=Vf([ti(0,At),ti(1,ra)],exports.FormulaRuntimeService);const ft=M.createIdentifier("univer.formula.runtime.service");var ie=(i=>(i[i.REFERENCE=1]="REFERENCE",i[i.VALUE=2]="VALUE",i[i.OPERATOR=3]="OPERATOR",i[i.FUNCTION=4]="FUNCTION",i[i.LAMBDA=5]="LAMBDA",i[i.LAMBDA_PARAMETER=6]="LAMBDA_PARAMETER",i[i.ERROR=7]="ERROR",i[i.BASE=8]="BASE",i[i.ROOT=9]="ROOT",i[i.UNION=10]="UNION",i[i.PREFIX=11]="PREFIX",i[i.SUFFIX=12]="SUFFIX",i[i.NULL=13]="NULL",i))(ie||{});const mt=new Map([[1,7],[2,9],[3,8],[4,6],[5,1],[6,2],[9,10],[10,3],[11,4],[12,5]]);class ke{constructor(u){A(this,"_children",[]);A(this,"_definedNames");A(this,"_parent");A(this,"_valueObject");A(this,"_calculateState",!1);A(this,"_async",!1);A(this,"_address",!1);A(this,"_isForcedCalculateFunction",!1);this._token=u}dispose(){var u;this._children.forEach(e=>{e.dispose()}),(u=this._valueObject)==null||u.dispose(),this._valueObject=null,this._children=[],this._definedNames=null,this._parent=null}get nodeType(){return ie.BASE}isAsync(){return this._async}isAddress(){return this._address}isForcedCalculateFunction(){return this._isForcedCalculateFunction}setAsync(){this._async=!0}setAddress(){this._address=!0}getParent(){return this._parent}setParent(u){this._parent=u,u.addChildren(this)}setForcedCalculateFunction(){this._isForcedCalculateFunction=!0}getChildren(){return this._children}addChildren(...u){this._children.push(...u)}getToken(){return this._token}setValue(u){this._valueObject=u}getValue(){return this._valueObject}isCalculated(){return this._calculateState}setCalculated(){this._calculateState=!0}execute(){}setNotEmpty(u=!0){}async executeAsync(){return Promise.resolve(Ot.SUCCESS)}serialize(){const u=this.getToken(),e=this.getChildren(),t=[],r=e.length;for(let s=0;s<r;s++){const a=e[s];t.push(a.serialize())}const n={token:u,nodeType:this.nodeType};return r>0&&(n.children=t),n}hasDefinedName(u){var e;return((e=this._definedNames)==null?void 0:e.includes(u))||!1}setDefinedNames(u){this._definedNames=u}getDefinedNames(){return this._definedNames}}class De extends ke{constructor(e){super(e);A(this,"_errorValueObject");this._errorValueObject=g.create(e)}get nodeType(){return ie.ERROR}static create(e){return new De(e)}getValue(){return this._errorValueObject}}const ht=100;class gt{get zIndex(){return 0}dispose(){}create(u,e,t){let r;return u instanceof ae?r=u.getToken():r=u,new ke(r)}}class Ls extends ke{get nodeType(){return ie.ROOT}execute(){const u=this.getChildren();if(u.length>1){this.setValue(g.create(h.VALUE));return}const e=u[0];e==null?this.setValue(g.create(h.VALUE)):this.setValue(e.getValue())}}class na extends gt{get zIndex(){return mt.get(ie.ROOT)||ht}checkAndCreateNodeType(u){if(!(u instanceof ae))return;if(u.getToken()===St)return new Ls(St)}}const Of=5e3,yr=new _t(Of);function xs(i,u,e,t,r){let n=yr.get(`${i}${u}`);if(n&&!ao(n,r))return n;const s=e.treeBuilder(u);if(jt.has(s))return De.create(s);if(n=t.parse(s),n==null)throw new Error("astNode is null");return yr.set(`${i}${u}`,n),n}function ao(i,u){const e=u.getDirtyDefinedNameMap(),t=u.getExecuteUnitId();if(t!=null&&e[t]!=null){const r=Object.keys(e[t]);for(let n=0,s=r.length;n<s;n++){const a=r[n];if(i.hasDefinedName(a))return!0}}return!1}function Mf(i,u,e){return!!(u!=null&&ao(u,e))}const bt=M.createIdentifier("univer.formula-function.service");class io extends M.Disposable{constructor(){super(...arguments);A(this,"_functionExecutors",new Map);A(this,"_functionDescriptions",new Map)}dispose(){super.dispose(),this._functionExecutors.clear(),this._functionDescriptions.clear()}registerExecutors(...e){for(let t=0;t<e.length;t++){const r=e[t];this._functionExecutors.set(r.name,r)}}getExecutors(){return this._functionExecutors}getExecutor(e){return this._functionExecutors.get(e)}hasExecutor(e){return this._functionExecutors.has(e)}unregisterExecutors(...e){for(let t=0;t<e.length;t++){const r=e[t];this._functionExecutors.delete(r)}}registerDescriptions(...e){for(let t=0;t<e.length;t++){const r=e[t];this._functionDescriptions.set(r.functionName,r)}return M.toDisposable(()=>{for(let t=0;t<e.length;t++){const r=e[t];this._functionDescriptions.delete(r.functionName)}})}getDescriptions(){return this._functionDescriptions}getDescription(e){return this._functionDescriptions.get(e)}hasDescription(e){return this._functionDescriptions.has(e)}unregisterDescriptions(...e){for(let t=0;t<e.length;t++){const r=e[t];this._functionDescriptions.delete(r)}}deleteFormulaAstCacheKey(...e){yr.forEach((t,r)=>{e.forEach(n=>{r.includes(n)&&yr.delete(r)})})}}var Pe=(i=>(i.COMPARE="COMPARE",i.DIVIDED="DIVIDED",i.MINUS="MINUS",i.MULTIPLY="MULTIPLY",i.PLUS="PLUS",i.UNION="UNION",i.CUBE="CUBE",i))(Pe||{}),Sf=Object.getOwnPropertyDescriptor,Df=(i,u,e,t)=>{for(var r=t>1?void 0:t?Sf(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},ri=(i,u)=>(e,t)=>u(e,t,i);class ln extends ke{constructor(u,e,t){super(e),this._runtimeService=u,this._operatorString=e,this._functionExecutor=t}get nodeType(){return ie.PREFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null)throw new Error("object is null");this._operatorString===Ne.MINUS?(e.isReferenceObject()&&(e=e.toArrayValueObject()),t=this._functionExecutor.calculate(R.create(0),e)):this._operatorString===Ne.AT?t=this._handlerAT(e):t=g.create(h.VALUE),this.setValue(t)}_handlerAT(u){if(!u.isReferenceObject())return g.create(h.VALUE);const e=u;if(e.isCell())return g.create(h.VALUE);const t=this._runtimeService,r=t.currentRow||0,n=t.currentColumn||0,s=e.getRangePosition(),{startRow:a,startColumn:o,endRow:c,endColumn:l}=s;return l!==o&&c!==a||a===c&&o===l?g.create(h.VALUE):c===a&&n>=o&&n<=l?e.getCellByColumn(n):o===l&&r>=a&&r<=c?e.getCellByRow(r):e.isTable()?e.getCellByPosition(r):g.create(h.VALUE)}}exports.PrefixNodeFactory=class extends gt{constructor(u,e){super(),this._functionService=u,this._runtimeService=e}get zIndex(){return mt.get(ie.PREFIX)||ht}checkAndCreateNodeType(u){if(!(u instanceof ae))return;const e=u.getToken(),t=e.trim();if(t.charAt(0)==='"'&&t.charAt(t.length-1)==='"')return;let r="";if(t===Ne.MINUS)r=Pe.MINUS;else return t===Ne.AT?new ln(this._runtimeService,t):void 0;const n=this._functionService.getExecutor(r);return n?new ln(this._runtimeService,t,n):(console.error(`No function ${e}`),De.create(h.NAME))}};exports.PrefixNodeFactory=Df([ri(0,bt),ri(1,ft)],exports.PrefixNodeFactory);new RegExp(Ne.MINUS,"g");new RegExp(Ne.AT,"g");function oo(i,u,e){let t,r,n=i;const s=n.slice(0,2);let a=0;if(s[0]===Ne.MINUS){const o=u.getExecutor(Pe.MINUS);t=new ln(e,Ne.MINUS,o),a++}return s[0]===Ne.AT&&(r=new ln(e,Ne.AT),t&&r.setParent(t),a++),a>0&&(n=n.slice(a)),{tokenTrim:n,minusPrefixNode:t,atPrefixNode:r}}var wf=Object.getOwnPropertyDescriptor,Lf=(i,u,e,t)=>{for(var r=t>1?void 0:t?wf(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Zt=(i,u)=>(e,t)=>u(e,t,i);class xf extends ke{constructor(u,e,t,r,n,s){super(u),this._functionExecutor=e,this._currentConfigService=t,this._runtimeService=r,this._definedNamesService=n,this._formulaDataModel=s,this._functionExecutor.isAsync()&&this.setAsync(),this._functionExecutor.isAddress()&&this.setAddress(),this._functionExecutor.needsLocale&&this._setLocale(),this._functionExecutor.needsSheetsInfo&&this._setSheetsInfo(),this._functionExecutor.needsFormulaDataModel&&this._functionExecutor.setFormulaDataModel(this._formulaDataModel)}get nodeType(){return ie.FUNCTION}async executeAsync(){const u=[],e=this.getChildren(),t=e.length;this._compatibility();for(let s=0;s<t;s++){const o=e[s].getValue();o!=null&&(o.isReferenceObject()&&!this._functionExecutor.needsReferenceObject?u.push(o.toArrayValueObject()):u.push(o))}const r=await this._calculateAsync(u);let n;return r.isAsyncObject()||r.isAsyncArrayObject()?n=await r.getValue():n=r,this._setRefData(n),this.setValue(n),Promise.resolve(Ot.SUCCESS)}execute(){const u=[],e=this.getChildren(),t=e.length;this._compatibility();for(let n=0;n<t;n++){const a=e[n].getValue();a!=null&&(a.isReferenceObject()&&this._functionExecutor.needsFilteredOutRows&&this._setFilteredOutRows(a),a.isReferenceObject()&&!this._functionExecutor.needsReferenceObject?u.push(a.toArrayValueObject()):u.push(a))}const r=this._calculate(u);this._setRefData(r),this.setValue(r)}isFunctionExecutorArgumentsIgnoreNumberPattern(){return this._functionExecutor.isArgumentsIgnoreNumberPattern()}_compatibility(){this._lookupCompatibility()}_lookupCompatibility(){const u=this.getChildren(),e=u.length;if(!this._functionExecutor.needsExpandParams||e!==3)return;const t=u[1].getValue(),r=u[2].getValue();if(!(t!=null&&t.isReferenceObject())&&!(r!=null&&r.isReferenceObject()))return;let n,s;if(t!=null&&t.isReferenceObject()){const _=t.getRangeData(),{startRow:C,startColumn:E,endRow:b,endColumn:y}=_;n=b-C+1,s=y-E+1}else n=t!=null&&t.isArray()?t.getRowCount():1,s=t!=null&&t.isArray()?t.getColumnCount():1;const a=r.getRangeData(),{startRow:o,startColumn:c,endRow:l,endColumn:f}=a,m=l-o+1,d=f-c+1;n!==m&&(a.endRow+=n-m),s!==d&&(a.endColumn+=s-d)}_handleCustomResult(u){var t;if(typeof u!="object"||u==null)return lt.create(u);const e=ro(u);return q.create({calculateValueList:e,rowCount:e.length,columnCount:((t=e[0])==null?void 0:t.length)||0,unitId:"",sheetId:"",row:-1,column:-1})}_handleAddressFunction(){this._functionExecutor.isAddress()&&this._setDefinedNamesForFunction()}_mapVariantsToValues(u){return u.map(e=>e.isArray()?e.toValue():e.isLambda()?e:e.getValue())}_calculate(u){const{minParams:e,maxParams:t}=this._functionExecutor;if(e!==-1&&t!==-1&&(u.length<e||u.length>t))return g.create(h.NA);let r;if(this._setRefInfo(),this._functionExecutor.isCustom()){const n=this._functionExecutor.calculateCustom(...this._mapVariantsToValues(u));r=this._handleCustomResult(n)}else this._handleAddressFunction(),r=this._functionExecutor.calculate(...u);return r}async _calculateAsync(u){const{minParams:e,maxParams:t}=this._functionExecutor;if(e!==-1&&t!==-1&&(u.length<e||u.length>t))return g.create(h.NA);let r;if(this._setRefInfo(),this._functionExecutor.isCustom()){const n=await this._functionExecutor.calculateCustom(...this._mapVariantsToValues(u));r=this._handleCustomResult(n)}else this._handleAddressFunction(),r=this._functionExecutor.calculate(...u);return r}_setDefinedNamesForFunction(){const u=this._currentConfigService.getExecuteUnitId();if(u==null)return;const e=this._definedNamesService.getDefinedNameMap(u);e!=null&&this._functionExecutor.setDefinedNames(e)}_setRefInfo(){const{currentUnitId:u,currentSubUnitId:e,currentRow:t,currentColumn:r}=this._runtimeService;if(this._functionExecutor.setRefInfo(u,e,t,r),this._functionExecutor.needsSheetRowColumnCount){const{rowCount:n,columnCount:s}=this._currentConfigService.getSheetRowColumnCount(u,e);this._functionExecutor.setSheetRowColumnCount(n,s)}}_setRefData(u){if(!u.isReferenceObject())return;const e=u;e.setForcedSheetId(this._currentConfigService.getSheetNameMap()),e.setUnitData(this._currentConfigService.getUnitData()),e.setArrayFormulaCellData(this._currentConfigService.getArrayFormulaCellData()),e.setRuntimeData(this._runtimeService.getUnitData()),e.setRuntimeArrayFormulaCellData(this._runtimeService.getRuntimeArrayFormulaCellData()),e.setRuntimeFeatureCellData(this._runtimeService.getRuntimeFeatureCellData())}_setLocale(){this._functionExecutor.setLocale(this._currentConfigService.getLocale())}_setSheetsInfo(){this._functionExecutor.setSheetsInfo(this._currentConfigService.getSheetsInfo())}_setFilteredOutRows(u){const{startRow:e,endRow:t}=u.getRangePosition(),r=this._currentConfigService.getFilteredOutRows(u.getUnitId(),u.getSheetId(),e,t);u.setFilteredOutRows(r)}}class Pf extends ke{constructor(u="Error"){super(u)}get nodeType(){return ie.FUNCTION}async executeAsync(){return this.setValue(g.create(h.NAME)),Promise.resolve(Ot.SUCCESS)}execute(){this.setValue(g.create(h.NAME))}}exports.FunctionNodeFactory=class extends gt{constructor(u,e,t,r,n,s){super(),this._functionService=u,this._currentConfigService=e,this._runtimeService=t,this._definedNamesService=r,this._injector=n,this._formulaDataModel=s}get zIndex(){return mt.get(ie.FUNCTION)||ht}create(u){const e=this._functionService.getExecutor(u);return e?new xf(u,e,this._currentConfigService,this._runtimeService,this._definedNamesService,this._formulaDataModel):(console.error(`No function ${u}`),De.create(h.NAME))}checkAndCreateNodeType(u){if(typeof u=="string")return;const e=u.getToken(),{tokenTrim:t,minusPrefixNode:r,atPrefixNode:n}=oo(e.trim(),this._functionService,this._runtimeService);if(!Number.isNaN(Number(t))&&!this._isParentUnionNode(u))return De.create(h.VALUE);const s=t.toUpperCase();if(this._functionService.hasExecutor(s)){const a=this.create(s);return n?a.setParent(n):r&&a.setParent(r),a}}_isParentUnionNode(u){var e,t;return((t=(e=u.getParent())==null?void 0:e.getParent())==null?void 0:t.getToken())===K.COLON}};exports.FunctionNodeFactory=Lf([Zt(0,bt),Zt(1,At),Zt(2,ft),Zt(3,Xt),Zt(4,M.Inject(M.Injector)),Zt(5,M.Inject(exports.FormulaDataModel))],exports.FunctionNodeFactory);var jf=Object.getOwnPropertyDescriptor,Uf=(i,u,e,t)=>{for(var r=t>1?void 0:t?jf(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},vf=(i,u)=>(e,t)=>u(e,t,i);exports.Interpreter=class extends M.Disposable{constructor(u){super(),this._runtimeService=u}async executeAsync(u){if(!u||!u.node)return Promise.resolve(g.create(h.VALUE));const e=u.node,t=u.refOffsetX,r=u.refOffsetY;await this._executeAsync(e,t,r);const n=e.getValue();return n==null?Promise.resolve(g.create(h.VALUE)):Promise.resolve(n)}execute(u){if(!u||!u.node)return g.create(h.VALUE);const e=u.node,t=u.refOffsetX,r=u.refOffsetY;this._execute(e,t,r);const n=e.getValue();return n==null?g.create(h.VALUE):n}executePreCalculateNode(u){return u.execute(),u.getValue()}checkAsyncNode(u){if(u==null)return!1;const e=[];this._checkAsyncNode(u,e);for(let t=0,r=e.length;t<r;t++)if(e[t]===!0)return!0;return!1}_checkAsyncNode(u,e){const t=u.getChildren(),r=t.length;for(let n=0;n<r;n++){const s=t[n];e.push(s.isAsync()),this._checkAsyncNode(s,e)}}async _executeAsync(u,e=0,t=0){if(this._runtimeService.isStopExecution())return Promise.resolve(Ot.ERROR);const r=u.getChildren(),n=r.length;for(let s=0;s<n;s++){const a=r[s];if(a.getToken().toUpperCase()===_r&&a.isEmptyParamFunction()){a.execute();continue}await this._executeAsync(a,e,t)}return u.nodeType===ie.REFERENCE&&u.setRefOffset(e,t),u.nodeType===ie.FUNCTION&&u.isAsync()?await u.executeAsync():u.execute(),Promise.resolve(Ot.SUCCESS)}_execute(u,e=0,t=0){if(this._runtimeService.isStopExecution())return Ot.ERROR;const r=u.getChildren(),n=r.length;for(let s=0;s<n;s++){const a=r[s];if(a.getToken().toUpperCase()===_r&&a.isEmptyParamFunction()){a.execute();continue}this._execute(a,e,t)}return u.nodeType===ie.REFERENCE&&u.setRefOffset(e,t),u.execute(),Ot.SUCCESS}};exports.Interpreter=Uf([vf(0,ft)],exports.Interpreter);function uo(i){return i instanceof ae?i.getToken()===nr:!1}function Tf(i){return i instanceof ae?i.getToken()===Bi:!1}function sa(i,u,e){const t=i.getChildren(),r=t.length,n=t[0];for(let s=0;s<r;s++){const a=t[s];if(!(uo(n)&&s!==0))if(a instanceof ae)sa(a,u,e);else{const o=a.trim();if(e.has(o)){const c=new ae;c.setToken(Nr),c.setLambdaId(u),c.setLambdaPrivacyVar(e),c.setLambdaParameter(o),t[s]=c}}}}function If(i){let u=i;for(;u!=null&&u.getParent();)u=u.getParent();return u}function Ps(i,u=0,e=0){return{node:i,refOffsetX:u,refOffsetY:e}}function co(i){if(!i)return;if(i.getToken()!==Nr)return i;const u=i,e=u.getCurrentLambdaPrivacyVar(),t=u.getLambdaParameter();if(!e)return;const r=e.get(t);return r==null&&i.getValue()?i:co(r)}class $n extends Et{constructor(e,t,r){super(0);A(this,"_lambdaPrivacyValueMap",new Map);this._lambdaNode=e,this._interpreter=t,this._lambdaPrivacyVarKeys=r,this._lambdaPrivacyValueMap.clear()}static create(e,t,r){return new $n(e,t,r)}dispose(){this._lambdaPrivacyValueMap.clear(),this._lambdaPrivacyValueMap=new Map,this._lambdaNode=null,this._interpreter=null,this._lambdaPrivacyVarKeys=[]}isLambda(){return!0}execute(...e){const t=this._lambdaPrivacyVarKeys.length;if(e.length!==t||!this._interpreter||!this._lambdaNode)return g.create(h.VALUE);this._setLambdaPrivacyValueMap(e),this._setLambdaNodeValue(this._lambdaNode),this._lambdaNode.setNotEmpty(!1);let r;if(this._interpreter.checkAsyncNode(this._lambdaNode))r=new no(this._interpreter.executeAsync(Ps(this._lambdaNode)));else{const n=this._interpreter.execute(Ps(this._lambdaNode));n.isReferenceObject()?r=n.toArrayValueObject():r=n}return this._lambdaNode.setNotEmpty(!0),r}executeCustom(...e){const t=e.map(r=>lt.create(r));return this.execute(...t)}_setLambdaNodeValue(e){if(!e)return;const t=e.getChildren(),r=t.length;for(let n=0;n<r;n++){const s=t[n];if(s.getToken()===Nr){const o=s.getLambdaParameter(),c=this._lambdaPrivacyValueMap.get(o);if(c)s.setValue(c);else{const l=s.getCurrentLambdaPrivacyVar(),f=co(l.get(o));f!=null&&s.setValue(f.getValue())}continue}this._setLambdaNodeValue(s)}}_setLambdaPrivacyValueMap(e){for(let t=0;t<e.length;t++){const r=e[t],n=this._lambdaPrivacyVarKeys[t];this._lambdaPrivacyValueMap.set(n,r)}}getLambdaPrivacyVarKeys(){return this._lambdaPrivacyVarKeys}}var Ff=Object.getOwnPropertyDescriptor,Bf=(i,u,e,t)=>{for(var r=t>1?void 0:t?Ff(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},ni=(i,u)=>(e,t)=>u(e,t,i);class kf extends ke{constructor(e,t,r,n){super(e);A(this,"_isNotEmpty",!0);this._lambdaId=t,this._interpreter=r,this._lambdaPrivacyVarKeys=n}get nodeType(){return ie.LAMBDA}setNotEmpty(e=!1){this._isNotEmpty=e}isEmptyParamFunction(){return this.getChildren().length<2&&this._isNotEmpty}isFunctionParameter(){return this._lambdaId===null}getLambdaId(){return this._lambdaId}execute(){if(this.isEmptyParamFunction())this.setValue($n.create(this,this._interpreter,this._lambdaPrivacyVarKeys));else{const e=this.getChildren(),t=e.length;this.setValue(e[t-1].getValue())}}}exports.LambdaNodeFactory=class extends gt{constructor(u,e){super(),this._runtimeService=u,this._interpreter=e}get zIndex(){return mt.get(ie.LAMBDA)||ht}create(u){const e=u.getChildren(),t=e[0];let r=e.slice(1,-1);const n=e[e.length-1];if(!(t instanceof ae&&n instanceof ae))return De.create(h.NAME);if(t.getToken()===nr){const o=t.getChildren();if(r.length!==o.length)return De.create(h.VALUE)}else r=e.slice(0,-1);const s=M.generateRandomId(8),a=new Map;for(let o=0;o<r.length;o++){const c=r[o];if(c instanceof ae){const l=c.getChildren()[0];c.setToken(Bi),a.set(l.trim(),void 0)}else return De.create(h.VALUE)}return this._runtimeService.registerFunctionDefinitionPrivacyVar(s,a),this._updateLambdaStatement(n,s,a),new kf(u.getToken(),s,this._interpreter,[...a.keys()])}checkAndCreateNodeType(u){if(!(!(u instanceof ae)||u.getToken().trim().toUpperCase()!==_r))return this.create(u)}_updateLambdaStatement(u,e,t){sa(u,e,t)}};exports.LambdaNodeFactory=Bf([ni(0,ft),ni(1,M.Inject(exports.Interpreter))],exports.LambdaNodeFactory);function lo(i){if(!i)return;if(i.getToken()!==Nr)return i;const u=i,e=u.getCurrentLambdaPrivacyVar(),t=u.getLambdaParameter();if(e)return lo(e.get(t))}class $f extends ke{constructor(u,e,t){super(u),this._lambdaParameter=e,this._currentLambdaPrivacyVar=t}getLambdaParameter(){return this._lambdaParameter}getCurrentLambdaPrivacyVar(){return this._currentLambdaPrivacyVar}get nodeType(){return ie.LAMBDA_PARAMETER}execute(){const u=lo(this._currentLambdaPrivacyVar.get(this._lambdaParameter));if(u)this.setValue(u.getValue());else{const e=this.getValue();(e==null||e.isError())&&this.setValue(g.create(h.NAME))}}}class aa extends gt{get zIndex(){return mt.get(ie.LAMBDA_PARAMETER)||ht}create(u){const e=u.getFunctionDefinitionPrivacyVar(),t=u.getLambdaParameter();return e?new $f(u.getToken(),t,e):new De(h.NAME)}checkAndCreateNodeType(u){if(!(!(u instanceof ae)||u.getToken().trim()!==Nr))return this.create(u)}}class Yf extends ke{constructor(u){super(u),this._operatorString=u}get nodeType(){return ie.NULL}execute(){this.setValue(le.create())}}var H=(i=>(i.ABS="ABS",i.ACOS="ACOS",i.ACOSH="ACOSH",i.ACOT="ACOT",i.ACOTH="ACOTH",i.AGGREGATE="AGGREGATE",i.ARABIC="ARABIC",i.ASIN="ASIN",i.ASINH="ASINH",i.ATAN="ATAN",i.ATAN2="ATAN2",i.ATANH="ATANH",i.BASE="BASE",i.CEILING="CEILING",i.CEILING_MATH="CEILING.MATH",i.CEILING_PRECISE="CEILING.PRECISE",i.COMBIN="COMBIN",i.COMBINA="COMBINA",i.COS="COS",i.COSH="COSH",i.COT="COT",i.COTH="COTH",i.CSC="CSC",i.CSCH="CSCH",i.DECIMAL="DECIMAL",i.DEGREES="DEGREES",i.EVEN="EVEN",i.EXP="EXP",i.FACT="FACT",i.FACTDOUBLE="FACTDOUBLE",i.FLOOR="FLOOR",i.FLOOR_MATH="FLOOR.MATH",i.FLOOR_PRECISE="FLOOR.PRECISE",i.GCD="GCD",i.INT="INT",i.ISO_CEILING="ISO.CEILING",i.LCM="LCM",i.LET="LET",i.LN="LN",i.LOG="LOG",i.LOG10="LOG10",i.MDETERM="MDETERM",i.MINVERSE="MINVERSE",i.MMULT="MMULT",i.MOD="MOD",i.MROUND="MROUND",i.MULTINOMIAL="MULTINOMIAL",i.MUNIT="MUNIT",i.ODD="ODD",i.PI="PI",i.POWER="POWER",i.PRODUCT="PRODUCT",i.QUOTIENT="QUOTIENT",i.RADIANS="RADIANS",i.RAND="RAND",i.RANDARRAY="RANDARRAY",i.RANDBETWEEN="RANDBETWEEN",i.ROMAN="ROMAN",i.ROUND="ROUND",i.ROUNDBANK="ROUNDBANK",i.ROUNDDOWN="ROUNDDOWN",i.ROUNDUP="ROUNDUP",i.SEC="SEC",i.SECH="SECH",i.SERIESSUM="SERIESSUM",i.SEQUENCE="SEQUENCE",i.SIGN="SIGN",i.SIN="SIN",i.SINH="SINH",i.SQRT="SQRT",i.SQRTPI="SQRTPI",i.SUBTOTAL="SUBTOTAL",i.SUM="SUM",i.SUMIF="SUMIF",i.SUMIFS="SUMIFS",i.SUMPRODUCT="SUMPRODUCT",i.SUMSQ="SUMSQ",i.SUMX2MY2="SUMX2MY2",i.SUMX2PY2="SUMX2PY2",i.SUMXMY2="SUMXMY2",i.TAN="TAN",i.TANH="TANH",i.TRUNC="TRUNC",i))(H||{}),se=(i=>(i.ASC="ASC",i.ARRAYTOTEXT="ARRAYTOTEXT",i.BAHTTEXT="BAHTTEXT",i.CHAR="CHAR",i.CLEAN="CLEAN",i.CODE="CODE",i.CONCAT="CONCAT",i.CONCATENATE="CONCATENATE",i.DBCS="DBCS",i.DOLLAR="DOLLAR",i.EXACT="EXACT",i.FIND="FIND",i.FINDB="FINDB",i.FIXED="FIXED",i.LEFT="LEFT",i.LEFTB="LEFTB",i.LEN="LEN",i.LENB="LENB",i.LOWER="LOWER",i.MID="MID",i.MIDB="MIDB",i.NUMBERSTRING="NUMBERSTRING",i.NUMBERVALUE="NUMBERVALUE",i.PHONETIC="PHONETIC",i.PROPER="PROPER",i.REGEXEXTRACT="REGEXEXTRACT",i.REGEXMATCH="REGEXMATCH",i.REGEXREPLACE="REGEXREPLACE",i.REPLACE="REPLACE",i.REPLACEB="REPLACEB",i.REPT="REPT",i.RIGHT="RIGHT",i.RIGHTB="RIGHTB",i.SEARCH="SEARCH",i.SEARCHB="SEARCHB",i.SUBSTITUTE="SUBSTITUTE",i.T="T",i.TEXT="TEXT",i.TEXTAFTER="TEXTAFTER",i.TEXTBEFORE="TEXTBEFORE",i.TEXTJOIN="TEXTJOIN",i.TEXTSPLIT="TEXTSPLIT",i.TRIM="TRIM",i.UNICHAR="UNICHAR",i.UNICODE="UNICODE",i.UPPER="UPPER",i.VALUE="VALUE",i.VALUETOTEXT="VALUETOTEXT",i.CALL="CALL",i.EUROCONVERT="EUROCONVERT",i.REGISTER_ID="REGISTER.ID",i))(se||{}),Hf=Object.getOwnPropertyDescriptor,Gf=(i,u,e,t)=>{for(var r=t>1?void 0:t?Hf(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Wf=(i,u)=>(e,t)=>u(e,t,i);class Qf extends ke{constructor(u,e){super(u),this._functionExecutor=e}get nodeType(){return ie.OPERATOR}execute(){const u=this.getChildren();this._functionExecutor.name===Pe.COMPARE&&this._functionExecutor.setCompareType(this.getToken());const e=u[0],t=u[1];let r=e==null?void 0:e.getValue(),n=t==null?void 0:t.getValue();const s=this.getToken();if((r==null||n==null)&&s!==X.MINUS&&s!==X.PLUS){this.setValue(g.create(h.VALUE));return}r==null&&(r=le.create()),n==null&&(n=le.create()),r.isReferenceObject()&&(r=r.toArrayValueObject()),n.isReferenceObject()&&(n=n.toArrayValueObject()),this.setValue(this._functionExecutor.calculate(r,n))}}exports.OperatorNodeFactory=class extends gt{constructor(u){super(),this._functionService=u}get zIndex(){return mt.get(ie.OPERATOR)||ht}create(u){let e="";const t=u;t===X.PLUS?e=Pe.PLUS:t===X.MINUS?e=Pe.MINUS:t===X.MULTIPLY?e=Pe.MULTIPLY:t===X.DIVIDED?e=Pe.DIVIDED:t===X.CONCATENATE?e=se.CONCATENATE:t===X.POWER?e=H.POWER:Ku.has(t)&&(e=Pe.COMPARE);const r=this._functionService.getExecutor(e);return r?new Qf(t,r):(console.error(`No function ${u}`),De.create(h.NAME))}checkAndCreateNodeType(u){if(u instanceof ae)return;const e=u.trim();if(!(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')&&Nt.has(e))return this.create(e)}};exports.OperatorNodeFactory=Gf([Wf(0,bt)],exports.OperatorNodeFactory);var qf=Object.getOwnPropertyDescriptor,Kf=(i,u,e,t)=>{for(var r=t>1?void 0:t?qf(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},as=(i,u)=>(e,t)=>u(e,t,i);class is extends ke{constructor(e,t,r,n,s=!1){super(r);A(this,"_refOffsetX",0);A(this,"_refOffsetY",0);this._currentConfigService=e,this._runtimeService=t,this._referenceObjectType=n,this._isPrepareMerge=s}get nodeType(){return ie.REFERENCE}execute(){const e=this._currentConfigService,t=this._runtimeService,r=Ef(this.getToken(),this._referenceObjectType);r.setDefaultUnitId(t.currentUnitId),r.setDefaultSheetId(t.currentSubUnitId),r.setForcedSheetId(e.getSheetNameMap()),r.setUnitData(e.getUnitData()),r.setArrayFormulaCellData(e.getArrayFormulaCellData()),r.setRuntimeData(t.getUnitData()),r.setUnitStylesData(e.getUnitStylesData()),r.setRuntimeArrayFormulaCellData(t.getRuntimeArrayFormulaCellData()),r.setRuntimeFeatureCellData(t.getRuntimeFeatureCellData());const{x:n,y:s}=this.getRefOffset();r.setRefOffset(n,s),!this._isPrepareMerge&&r.isExceedRange()?this.setValue(g.create(h.NAME)):this.setValue(r)}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}}exports.ReferenceNodeFactory=class extends gt{constructor(u,e,t){super(),this._currentConfigService=u,this._formulaRuntimeService=e,this._functionService=t}get zIndex(){return mt.get(ie.REFERENCE)||ht}checkAndCreateNodeType(u){var f,m;let e=!1,t,r=!1;u instanceof ae?(e=!0,t=u.getToken().trim(),((m=(f=u.getParent())==null?void 0:f.getParent())==null?void 0:m.getToken().trim())===K.COLON&&(r=!0)):t=u.trim();const n=this._currentConfigService,s=this._formulaRuntimeService,{tokenTrim:a,minusPrefixNode:o,atPrefixNode:c}=oo(t,this._functionService,s);if(!e&&a.charAt(0)==='"'&&a.charAt(a.length-1)==='"')return;let l;if(pr(a)?l=new is(n,s,a,Xr.CELL,r):e&&this._checkParentIsUnionOperator(u)&&(Di(a)?l=new is(n,s,a,Xr.ROW,r):wi(a)&&(l=new is(n,s,a,Xr.COLUMN,r))),l)return c?l.setParent(c):o&&l.setParent(o),l}_checkParentIsUnionOperator(u){var e,t;return((t=(e=u.getParent())==null?void 0:e.getParent())==null?void 0:t.getToken().trim())===K.COLON}};exports.ReferenceNodeFactory=Kf([as(0,At),as(1,ft),as(2,bt)],exports.ReferenceNodeFactory);var Xf=Object.getOwnPropertyDescriptor,Zf=(i,u,e,t)=>{for(var r=t>1?void 0:t?Xf(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},os=(i,u)=>(e,t)=>u(e,t,i);class si extends ke{constructor(u,e,t,r){super(t),this._currentConfigService=u,this._lexer=e,this._operatorString=t,this._functionExecutor=r}get nodeType(){return ie.SUFFIX}execute(){var r;let e=(r=this.getChildren()[0])==null?void 0:r.getValue(),t;if(e==null){this.setValue(g.create(h.ERROR));return}if(this._operatorString===Qe.PERCENTAGE){if(e.isReferenceObject()&&(e=e.toArrayValueObject()),t=this._functionExecutor.calculate(e,R.create(100)),t.isNumber()){const n=Number(t.getValue());t=R.create(n,"0.00%")}}else this._operatorString===Qe.POUND?t=this._handlerPound(e):t=g.create(h.VALUE);this.setValue(t)}_handlerPound(u){var o,c,l,f;if(!u.isReferenceObject()||!u.isCell())return g.create(h.VALUE);const e=u,t=e.getRangePosition(),r=e.getUnitId(),n=e.getSheetId(),s=this._currentConfigService.getFormulaData(),a=(f=(l=(c=(o=s==null?void 0:s[r])==null?void 0:o[n])==null?void 0:c[t.startRow])==null?void 0:l[t.startColumn])==null?void 0:f.f;return a&&this._lexer.treeBuilder(a),g.create(h.VALUE)}}exports.SuffixNodeFactory=class extends gt{constructor(u,e,t){super(),this._functionService=u,this._lexer=e,this._currentConfigService=t}get zIndex(){return mt.get(ie.SUFFIX)||ht}checkAndCreateNodeType(u){if(!(u instanceof ae))return;const e=u.getToken().trim();if(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')return;let t="";if(e===Qe.PERCENTAGE)t=Pe.DIVIDED;else return e===Qe.POUND?new si(this._currentConfigService,this._lexer,e):void 0;const r=this._functionService.getExecutor(t);return r?new si(this._currentConfigService,this._lexer,e,r):(console.error(`No function ${u}`),De.create(h.NAME))}};exports.SuffixNodeFactory=Zf([os(0,bt),os(1,M.Inject(exports.Lexer)),os(2,At)],exports.SuffixNodeFactory);var zf=Object.getOwnPropertyDescriptor,Jf=(i,u,e,t)=>{for(var r=t>1?void 0:t?zf(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},em=(i,u)=>(e,t)=>u(e,t,i);class tm extends ke{constructor(u){super(u)}get nodeType(){return ie.UNION}execute(){const u=this.getChildren(),e=u[0],t=u[1],r=e.getValue(),n=t.getValue();if(r==null||n==null)throw new Error("leftNode and rightNode");let s;this.getToken()===K.COLON?s=this._unionFunction(r,n):s=g.create(h.NAME),this.setValue(s)}_unionFunction(u,e){return u.isError()||e.isError()||!u.isReferenceObject()||!e.isReferenceObject()?g.create(h.REF):(u=u,e=e,bf(u,e))}}exports.UnionNodeFactory=class extends gt{constructor(u){super(),this._functionService=u}get zIndex(){return mt.get(ie.UNION)||ht}create(u){return new tm(u)}checkAndCreateNodeType(u){if(!(u instanceof ae))return;const t=u.getToken().trim();if(!(t.charAt(0)==='"'&&t.charAt(t.length-1)==='"')&&t===K.COLON)return this.create(t)}};exports.UnionNodeFactory=Jf([em(0,bt)],exports.UnionNodeFactory);class rm extends ke{constructor(u){super(u)}get nodeType(){return ie.VALUE}execute(){var e,t,r;const u=((e=this.getParent())==null?void 0:e.nodeType)===ie.FUNCTION&&((r=(t=this.getParent())==null?void 0:t.isFunctionExecutorArgumentsIgnoreNumberPattern)==null?void 0:r.call(t));this.setValue(lt.create(this.getToken(),u))}}class ia extends gt{get zIndex(){return mt.get(ie.VALUE)||ht}_checkValueNode(u){if(Number.isNaN(Number(u))){const e=u.trim(),t=e.charAt(0),r=e.charAt(e.length-1);if(jt.has(e))return this.create(e);if(t==='"'&&r==='"')return this.create(e);if(t==="{"&&r==="}")return this.create(e);const n=e.toUpperCase();if(n===wt.TRUE||n===wt.FALSE)return this.create(n)}else return this.create(u)}create(u){return new rm(u)}checkAndCreateNodeType(u){if(!(u instanceof ae))return this._checkValueNode(u)}}var nm=Object.getOwnPropertyDescriptor,sm=(i,u,e,t)=>{for(var r=t>1?void 0:t?nm(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},et=(i,u)=>(e,t)=>u(e,t,i);exports.AstTreeBuilder=class extends M.Disposable{constructor(e,t,r,n,s,a,o,c,l,f,m){super();A(this,"_astNodeFactoryList",[]);this._runtimeService=e,this._astRootNodeFactory=t,this._functionNodeFactory=r,this._lambdaNodeFactory=n,this._lambdaParameterNodeFactory=s,this._operatorNodeFactory=a,this._prefixNodeFactory=o,this._referenceNodeFactory=c,this._suffixNodeFactory=l,this._unionNodeFactory=f,this._valueNodeFactory=m,this._initializeAstNode()}dispose(){this._astNodeFactoryList.forEach(e=>{e.dispose()}),this._astNodeFactoryList=[]}parse(e){const t=new Ls(St),r=this._parse(e,t);return e.hasDefinedNames()&&(r==null||r.setDefinedNames(e.getDefinedNames())),r}_lambdaParameterHandler(e,t){if(t.getLambdaId==null)return De.create(h.VALUE);const r=t.getLambdaId(),n=new Ls(St),s=this._runtimeService.getFunctionDefinitionPrivacyVar(r);if(!s)return!1;const a=[...s.keys()],o=e.getChildren(),c=o.length;for(let l=0;l<c;l++){const f=o[l];if(f instanceof ae){sa(f,r,s),this._parse(f,n);const d=n.getChildren()[l];d!=null&&s.set(a[l],d)}else return!1}return n.setParent(t),t}_changeLetToLambda(e){const t=e.getChildren(),r=t.length;if(r%2!==1||r===0)return;const n=new ae;n.setToken(_r);const s=new ae;s.setToken(nr);const a=[...t];for(let c=0;c<r;c++){const l=a[c];if(!(l instanceof ae))return;c%2===0?l.changeToParent(n):l.changeToParent(s)}n.addChildrenFirst(s),s.setParent(n);const o=e.getParent();return o==null||o.replaceChild(e,n),n}_parse(e,t){var f;const r=e.getChildren(),n=r.length,s=[];let a=null;const o=e.getToken().trim().toUpperCase();if(o===Oc){const m=this._changeLetToLambda(e);return m!=null?this._parse(m,t):De.create(h.ERROR)}if(o===at){if(a=t,n===0)return new Yf(St).setParent(t),a}else{if(o===nr){let m=this._lambdaParameterHandler(e,t);return m===!1&&(m=De.create(h.ERROR)),m}if(a=this._checkAstNode(e),a==null)return De.create(h.NAME)}const c=r[0];for(let m=0;m<n;m++){const d=r[m];if(uo(c)){if(m!==0&&m!==n-1)continue}else if(Tf(d)&&m!==n-1)continue;let _=null;if(d instanceof ae){if(d.getToken()===at&&d.getChildren().length===0){const C=(f=d.getParent())==null?void 0:f.getChildren();if(C&&C.length===1)return De.create(h.NAME)}if(_=this._parse(d,a),_===a)continue}else _=this._checkAstNode(d);if(_==null)return De.create(h.NAME);if(_=If(_),_==null||(_==null?void 0:_.nodeType)===ie.ERROR)return _;switch(_.nodeType){case ie.FUNCTION:{const C=_.getToken().trim().toUpperCase();Sc.has(C)&&_.setForcedCalculateFunction(),s.push(_);break}case ie.LAMBDA:s.push(_);break;case ie.LAMBDA_PARAMETER:s.push(_);break;case ie.OPERATOR:{const C=s.pop(),E=s.pop();E&&E.setParent(_),C&&C.setParent(_),s.push(_);break}case ie.REFERENCE:s.push(_);break;case ie.ROOT:s.push(_);break;case ie.UNION:s.push(_);break;case ie.VALUE:s.push(_);break;case ie.PREFIX:s.push(_);break;case ie.SUFFIX:s.push(_);break}}const l=s.length;for(let m=0;m<l;m++)s[m].setParent(a);return a}_checkAstNode(e){let t=null;const r=this._astNodeFactoryList.length;for(let n=0;n<r&&(t=this._astNodeFactoryList[n].checkAndCreateNodeType(e),t==null);n++);return t==null?new Pf:t}_initializeAstNode(){this._astNodeFactoryList=[this._astRootNodeFactory,this._functionNodeFactory,this._lambdaNodeFactory,this._lambdaParameterNodeFactory,this._operatorNodeFactory,this._prefixNodeFactory,this._referenceNodeFactory,this._suffixNodeFactory,this._unionNodeFactory,this._valueNodeFactory].sort(M.sortRules)}};exports.AstTreeBuilder=sm([et(0,ft),et(1,M.Inject(na)),et(2,M.Inject(exports.FunctionNodeFactory)),et(3,M.Inject(exports.LambdaNodeFactory)),et(4,M.Inject(aa)),et(5,M.Inject(exports.OperatorNodeFactory)),et(6,M.Inject(exports.PrefixNodeFactory)),et(7,M.Inject(exports.ReferenceNodeFactory)),et(8,M.Inject(exports.SuffixNodeFactory)),et(9,M.Inject(exports.UnionNodeFactory)),et(10,M.Inject(ia))],exports.AstTreeBuilder);class fo extends M.Disposable{constructor(){super(...arguments);A(this,"_otherFormulaData",new Map);A(this,"_featureFormulaData",new Map);A(this,"_formulaData",new Map);A(this,"_definedNameMap",new Map);A(this,"_otherFormulaDataMainData",new Set);A(this,"_dependencyRTreeCache",new M.RTree);A(this,"_dependencyTreeIdLast",0)}buildDependencyTree(e,t){throw new Error("Method not implemented.")}getTreeById(e){throw new Error("Method not implemented.")}getAllTree(){throw new Error("Method not implemented.")}reset(){throw new Error("Method not implemented.")}addOtherFormulaDependency(e,t,r,n){throw new Error("Method not implemented.")}removeOtherFormulaDependency(e,t,r){throw new Error("Method not implemented.")}clearOtherFormulaDependency(e,t){throw new Error("Method not implemented.")}addFeatureFormulaDependency(e,t,r,n){throw new Error("Method not implemented.")}removeFeatureFormulaDependency(e,t,r){throw new Error("Method not implemented.")}clearFeatureFormulaDependency(e,t){throw new Error("Method not implemented.")}addFormulaDependency(e,t,r,n,s){throw new Error("Method not implemented.")}removeFormulaDependency(e,t,r,n){throw new Error("Method not implemented.")}clearFormulaDependency(e,t){throw new Error("Method not implemented.")}removeFormulaDependencyByDefinedName(e,t){throw new Error("Method not implemented.")}searchDependency(e,t){return this._dependencyRTreeCache.bulkSearch(e,t)}_restDependencyTreeId(){this._dependencyTreeIdLast=0}getOtherFormulaDependency(e,t,r){var n,s;return(s=(n=this._otherFormulaData.get(e))==null?void 0:n.get(t))==null?void 0:s.get(r)}addOtherFormulaDependencyMainData(e){this._otherFormulaDataMainData.add(e)}hasOtherFormulaDataMainData(e){return this._otherFormulaDataMainData.has(e)}_removeDependencyRTreeCacheById(e,t){this._dependencyRTreeCache.removeById(e,t)}getFeatureFormulaDependency(e,t,r){var n,s;return(s=(n=this._featureFormulaData.get(e))==null?void 0:n.get(t))==null?void 0:s.get(r)}getFormulaDependency(e,t,r,n){var s,a;return(a=(s=this._formulaData.get(e))==null?void 0:s.get(t))==null?void 0:a.getValue(r,n)}addDependencyRTreeCache(e){const t=[];for(let r=0;r<e.rangeList.length;r++){const n=e.rangeList[r],{unitId:s,sheetId:a,range:o}=n;t.push({unitId:s,sheetId:a,range:o,id:e.treeId})}this._dependencyRTreeCache.bulkInsert(t),this._addAllTreeMap(e)}getLastTreeId(){const e=this._dependencyTreeIdLast;return this._dependencyTreeIdLast++,e}_addAllTreeMap(e){throw new Error("Method not implemented.")}_addDefinedName(e,t,r){this._definedNameMap.has(e)||this._definedNameMap.set(e,new Map);const n=this._definedNameMap.get(e);n.has(t)||n.set(t,new Set),n.get(t).add(r)}addFormulaDependencyByDefinedName(e,t){const r=e.treeId,n=(t==null?void 0:t.getDefinedNames())||[];for(const s of n)this._addDefinedName(e.unitId,s,r)}}class mo extends fo{constructor(){super(...arguments);A(this,"_allTreeMap",new Map)}dispose(){super.dispose(),this.reset()}buildDependencyTree(e,t=[]){const r=this.getAllTree();return e.length===0?(this._buildReverseDependency(r,t),r):(this._buildDependencyTree(r,e),this._buildReverseDependency(r,e),r)}_buildDependencyTree(e,t){const r=new Map;for(let n=0;n<t.length;n++){const s=t[n];r.set(s.treeId,s)}for(let n=0;n<e.length;n++){const s=e[n],a=s.toRTreeItem(),o=this._dependencyRTreeCache.bulkSearch(a);for(const c of o){const l=r.get(c);l&&s!==l&&!l.hasChildren(s.treeId)&&l.pushChildren(s)}}r.clear()}_buildReverseDependency(e,t){const r=new Map;for(let n=0;n<e.length;n++){const s=e[n];r.set(s.treeId,s)}for(let n=0;n<t.length;n++){const s=t[n],a=s.toRTreeItem(),o=this._dependencyRTreeCache.bulkSearch(a);for(const c of o){const l=r.get(c);l&&s!==l&&!l.hasChildren(s.treeId)&&l.pushChildren(s)}}r.clear()}getAllTree(){const e=[];return this._allTreeMap.forEach(t=>{t.resetState(),e.push(t)}),e}getTreeById(e){return this._allTreeMap.get(e)}reset(){this._otherFormulaData.clear(),this._featureFormulaData.clear(),this._formulaData.clear(),this._definedNameMap.clear(),this._otherFormulaDataMainData.clear(),this._dependencyRTreeCache.clear(),this._allTreeMap.clear(),this._restDependencyTreeId()}addOtherFormulaDependency(e,t,r,n){this._otherFormulaData.has(e)||this._otherFormulaData.set(e,new Map);const s=this._otherFormulaData.get(e);s.has(t)||s.set(t,new Map);const a=s.get(t);a.has(r)||a.set(r,new M.ObjectMatrix),a.get(r).setValue(n.refOffsetX,n.refOffsetY,n.treeId),this._addAllTreeMap(n)}removeOtherFormulaDependency(e,t,r){const n=this._otherFormulaData.get(e);if(n&&n.has(t)){const s=n.get(t);r.forEach(a=>{const o=s.get(a);o!=null&&(o.forValue((c,l,f)=>{this._removeDependencyRTreeCache(f),this.clearDependencyForTree(this._allTreeMap.get(f)),this._removeAllTreeMap(f)}),s.delete(a),this._otherFormulaDataMainData.delete(a))}),s.size===0&&n.delete(t),n.size===0&&this._otherFormulaData.delete(e)}}clearOtherFormulaDependency(e,t){const r=this._otherFormulaData.get(e);if(t&&r&&r.has(t)){const n=r.get(t);this._removeDependencyRTreeCacheById(e,t);for(const s of n.keys()){const a=n.get(s);a!=null&&(a.forValue((o,c,l)=>{const f=this._allTreeMap.get(l);f&&(this.clearDependencyForTree(f),this._removeAllTreeMap(l))}),this._otherFormulaDataMainData.delete(s))}n.clear()}else if(r){for(const n of r.keys()){const s=r.get(n);this._removeDependencyRTreeCacheById(e,n);for(const a of s.keys()){const o=s.get(a);o!=null&&(o.forValue((c,l,f)=>{const m=this._allTreeMap.get(f);m&&(this.clearDependencyForTree(m),this._removeAllTreeMap(f))}),this._otherFormulaDataMainData.delete(a))}}this._otherFormulaData.delete(e)}}addFeatureFormulaDependency(e,t,r,n){this._featureFormulaData.has(e)||this._featureFormulaData.set(e,new Map);const s=this._featureFormulaData.get(e);s.has(t)||s.set(t,new Map),s.get(t).set(r,n.treeId),this._addAllTreeMap(n)}removeFeatureFormulaDependency(e,t,r){const n=this._featureFormulaData.get(e);if(n&&n.has(t)){const s=n.get(t);r.forEach(a=>{const o=s.get(a);o!=null&&(this._removeDependencyRTreeCache(o),s.delete(a),this.clearDependencyForTree(this._allTreeMap.get(o)),this._removeAllTreeMap(o))})}}clearFeatureFormulaDependency(e,t){const r=this._featureFormulaData.get(e);if(t&&r&&r.has(t)){const n=r.get(t);this._removeDependencyRTreeCacheById(e,t),n.forEach(s=>{s!=null&&(this.clearDependencyForTree(this._allTreeMap.get(s)),this._removeAllTreeMap(s))}),n.clear()}else r&&(r.forEach((n,s)=>{this._removeDependencyRTreeCacheById(e,s),n.forEach(a=>{a!=null&&(this.clearDependencyForTree(this._allTreeMap.get(a)),this._removeAllTreeMap(a))})}),this._featureFormulaData.delete(e))}addFormulaDependency(e,t,r,n,s){this._formulaData.has(e)||this._formulaData.set(e,new Map);const a=this._formulaData.get(e);a.has(t)||a.set(t,new M.ObjectMatrix),a.get(t).setValue(r,n,s.treeId),this._addAllTreeMap(s)}removeFormulaDependency(e,t,r,n){const s=this._formulaData.get(e);if(s&&s.has(t)){const a=s.get(t),o=a.getValue(r,n);if(o==null)return;this._removeDependencyRTreeCache(o),a.realDeleteValue(r,n),this.clearDependencyForTree(this._allTreeMap.get(o)),this._removeAllTreeMap(o)}}clearFormulaDependency(e,t){const r=this._formulaData.get(e);if(t&&r&&r.has(t)){const n=r.get(t);this._removeDependencyRTreeCacheById(e,t),n.forValue((s,a,o)=>{if(o==null)return!0;this.clearDependencyForTree(this._allTreeMap.get(o)),this._removeAllTreeMap(o)}),n.reset()}else r&&(r.forEach((n,s)=>{this._removeDependencyRTreeCacheById(e,s),n.forValue((a,o,c)=>{if(c==null)return!0;this.clearDependencyForTree(this._allTreeMap.get(c)),this._removeAllTreeMap(c)})}),this._formulaData.delete(e))}clearDependencyForTree(e){if(e==null)return;const t=e.parents,r=e.children,n=this._allTreeMap;for(const s of t){const a=n.get(s);a==null||a.children.delete(e.treeId)}for(const s of r){const a=n.get(s);a==null||a.parents.delete(e.treeId)}e.dispose()}_removeDependencyRTreeCache(e){if(e==null)return;const t=this._allTreeMap.get(e);if(t){const r=[];for(let n=0;n<t.rangeList.length;n++){const s=t.rangeList[n],{unitId:a,sheetId:o,range:c}=s;r.push({unitId:a,sheetId:o,range:c,id:e})}this._dependencyRTreeCache.bulkRemove(r)}}removeFormulaDependencyByDefinedName(e,t){const r=this._definedNameMap.get(e);if(r){const n=r.get(t);if(n){for(const s of n)this._removeDependencyRTreeCache(s),this.clearDependencyForTree(this._allTreeMap.get(s)),this._removeAllTreeMap(s);n.clear()}}}_removeAllTreeMap(e){e!=null&&this._allTreeMap.delete(e)}_addAllTreeMap(e){this._allTreeMap.set(e.treeId,e)}}const Dr=M.createIdentifier("univer.formula.dependency-manager.service");class ho extends M.Disposable{constructor(){super(...arguments);A(this,"_referenceExecutorMap",new Map);A(this,"_onChanged$",new Ie.Subject);A(this,"onChanged$",this._onChanged$.asObservable())}dispose(){super.dispose(),this._referenceExecutorMap.clear(),this._onChanged$.complete()}remove(e,t,r){r.forEach(n=>{var s,a;(a=(s=this._referenceExecutorMap.get(e))==null?void 0:s.get(t))==null||a.delete(n)}),this._onChanged$.next({unitId:e,subUnitId:t,featureIds:r})}get(e,t,r){var n,s;return(s=(n=this._referenceExecutorMap.get(e))==null?void 0:n.get(t))==null?void 0:s.get(r)}has(e,t,r){var n,s;return!!((s=(n=this._referenceExecutorMap.get(e))==null?void 0:n.get(t))!=null&&s.has(r))}register(e,t,r,n){let s=this._referenceExecutorMap.get(e);s||(s=new Map,this._referenceExecutorMap.set(e,s));let a=s.get(t);a||(a=new Map,s.set(t,a)),this._onChanged$.next({unitId:e,subUnitId:t,featureIds:[r]}),a.set(r,n)}getReferenceExecutorMap(){return this._referenceExecutorMap}}const ar=M.createIdentifier("univer.formula.feature-calculation-manager.service");class go extends M.Disposable{constructor(){super(...arguments);A(this,"_otherFormulaData",{})}dispose(){super.dispose(),this._otherFormulaData={}}remove(e){var s,a,o;const{unitId:t,subUnitId:r,formulaId:n}=e;(o=(a=(s=this._otherFormulaData)==null?void 0:s[t])==null?void 0:a[r])==null||delete o[n]}get(e){var s,a;const{unitId:t,subUnitId:r,formulaId:n}=e;return(a=(s=this._otherFormulaData[t])==null?void 0:s[r])==null?void 0:a[n]}has(e){var s,a;const{unitId:t,subUnitId:r,formulaId:n}=e;return((a=(s=this._otherFormulaData[t])==null?void 0:s[r])==null?void 0:a[n])!=null}register(e){const{unitId:t,subUnitId:r,formulaId:n,item:s}=e;this._otherFormulaData[t]||(this._otherFormulaData[t]={}),this._otherFormulaData[t][r]||(this._otherFormulaData[t][r]={}),this._otherFormulaData[t][r][n]=s}batchRegister(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;Object.keys(r).forEach(n=>{const s=r[n];if(s==null)return!0;Object.keys(s).forEach(a=>{const o=s[a];if(o==null)return!0;this.register({unitId:t,subUnitId:n,formulaId:a,item:o})})})})}batchRemove(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;Object.keys(r).forEach(n=>{const s=r[n];if(s==null)return!0;Object.keys(s).forEach(a=>{this.remove({unitId:t,subUnitId:n,formulaId:a})})})})}getOtherFormulaData(){return this._otherFormulaData}}const Yn=M.createIdentifier("univer.formula.other-formula-manager.service");var fn=(i=>(i[i.NORMAL_FORMULA=0]="NORMAL_FORMULA",i[i.OTHER_FORMULA=1]="OTHER_FORMULA",i[i.FEATURE_FORMULA=2]="FEATURE_FORMULA",i))(fn||{});class Co{constructor(){A(this,"_state",0);A(this,"treeId");A(this,"children",new Set);A(this,"parents",new Set)}resetState(){this._state=0}setAdded(){this._state=1}isAdded(){return this._state===1}setSkip(){this._state=2}isSkip(){return this._state===2}pushChildren(u){this.children.add(u.treeId),u._pushParent(this)}hasChildren(u){return this.children.has(u)}_pushParent(u){this.parents.add(u.treeId)}}class js extends Co{constructor(){super(...arguments);A(this,"refTree");A(this,"refOffsetX",-1);A(this,"refOffsetY",-1);A(this,"isCache",!1);A(this,"isDirty",!1);A(this,"addressFunctionNodes",[]);A(this,"getDirtyData");A(this,"featureId")}get isVirtual(){return!0}get row(){return this.refTree==null?-1:this.refTree.row+this.refOffsetY}get column(){return this.refTree==null?-1:this.refTree.column+this.refOffsetX}get rowCount(){return this.refTree==null?0:this.refTree.rowCount}get columnCount(){return this.refTree==null?0:this.refTree.columnCount}get unitId(){return this.refTree==null?"":this.refTree.unitId}get subUnitId(){return this.refTree==null?"":this.refTree.subUnitId}get formula(){var e,t;return(t=(e=this.refTree)==null?void 0:e.formula)!=null?t:""}get nodeData(){return{node:this.node,refOffsetX:this.refOffsetX,refOffsetY:this.refOffsetY}}get node(){var e;return(e=this.refTree)==null?void 0:e.node}dispose(){this.refTree=null}get rangeList(){const e=[];if(this.refTree==null)return[];for(let t=0;t<this.refTree.rangeList.length;t++){const r=this.refTree.rangeList[t];e.push({unitId:r.unitId,sheetId:r.sheetId,range:M.moveRangeByOffset(r.range,this.refOffsetX,this.refOffsetY)})}return e}toRTreeItem(){const e=this.row,t=this.column;return[{unitId:this.unitId,sheetId:this.subUnitId,range:{startRow:e,startColumn:t,endRow:e,endColumn:t}}]}inRangeData(e){const t=e.startRow,r=e.startColumn,n=e.endRow,s=e.endColumn,a=this.row,o=this.column;return!(a<t||a>n||o<r||o>s)}dependencySheetName(e){return this.refTree==null?!1:this.refTree.dependencySheetName(e)}isExcludeRange(e){var r;const t=this.rangeList;if(t.length===0)return!1;for(let n=0,s=t.length;n<s;n++){const a=t[n],{unitId:o,sheetId:c,range:l}=a,f=(r=e==null?void 0:e[o])==null?void 0:r[c];let{startRow:m,endRow:d,startColumn:_,endColumn:C}=l;Number.isNaN(m)&&(m=0),Number.isNaN(_)&&(_=0),Number.isNaN(d)&&(d=Number.POSITIVE_INFINITY),Number.isNaN(C)&&(C=Number.POSITIVE_INFINITY);let E=!1;if(f==null||f.forValue((b,y)=>{if(b>=m&&b<=d&&y>=_&&y<=C)return E=!0,!1}),E)return!0}return!1}get formulaId(){return this.refTree==null?"":this.refTree.formulaId}}class Zr extends Co{constructor(e){super();A(this,"isCache",!1);A(this,"featureId");A(this,"featureDirtyRanges",[]);A(this,"refOffsetX",0);A(this,"refOffsetY",0);A(this,"type",0);A(this,"formulaId");A(this,"subUnitId","");A(this,"unitId","");A(this,"rangeList",[]);A(this,"formula","");A(this,"row",-1);A(this,"column",-1);A(this,"rowCount",Number.NEGATIVE_INFINITY);A(this,"columnCount",Number.NEGATIVE_INFINITY);A(this,"isDirty",!1);A(this,"node");A(this,"addressFunctionNodes",[]);A(this,"getDirtyData");this.treeId=e}get isVirtual(){return!1}get nodeData(){return{node:this.node,refOffsetX:0,refOffsetY:0}}toJson(){return{formula:this.formula,refOffsetX:this.refOffsetX,refOffsetY:this.refOffsetY}}dispose(){this.featureDirtyRanges=[],this.rangeList=[],this.addressFunctionNodes=[],this.getDirtyData=null}inRangeData(e){const t=e.startRow,r=e.startColumn,n=e.endRow,s=e.endColumn,a=this.row,o=this.column;return!(a<t||a>n||o<r||o>s)}dependencySheetName(e){var r;const t=this.rangeList;if(t.length===0||e==null)return!1;for(let n=0,s=t.length;n<s;n++){const a=t[n],{unitId:o,sheetId:c}=a;if(((r=e[o])==null?void 0:r[c])!=null)return!0}return!1}isExcludeRange(e){var r;const t=this.rangeList;if(t.length===0)return!1;for(let n=0,s=t.length;n<s;n++){const a=t[n],{unitId:o,sheetId:c,range:l}=a,f=(r=e==null?void 0:e[o])==null?void 0:r[c];let{startRow:m,endRow:d,startColumn:_,endColumn:C}=l;Number.isNaN(m)&&(m=0),Number.isNaN(_)&&(_=0),Number.isNaN(d)&&(d=Number.POSITIVE_INFINITY),Number.isNaN(C)&&(C=Number.POSITIVE_INFINITY);let E=!1;if(f==null||f.forValue((b,y)=>{if(b>=m&&b<=d&&y>=_&&y<=C)return E=!0,!1}),E)return!0}return!1}pushRangeList(e){this.rangeList.push(...e)}shouldBePushRangeList(){return this.rangeList.length===0&&this.type!==2}toRTreeItem(){if(this.featureId!=null)return this.featureDirtyRanges;const e=this.row,t=this.column;return[{unitId:this.unitId,sheetId:this.subUnitId,range:{startRow:e,startColumn:t,endRow:e,endColumn:t}}]}}var am=Object.getOwnPropertyDescriptor,im=(i,u,e,t)=>{for(var r=t>1?void 0:t?am(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},pt=(i,u)=>(e,t)=>u(e,t,i);function Ft(i){return i.getLastTreeId()||0}const mn=M.createIdentifier("engine-formula.dependency-generator");exports.FormulaDependencyGenerator=class extends M.Disposable{constructor(e,t,r,n,s,a,o,c){super();A(this,"_updateRangeFlattenCache",new Map);A(this,"_dependencyRTreeCacheForAddressFunction",new M.RTree);A(this,"_executedAddressFunctionNodeIds",new Set);this._currentConfigService=e,this._runtimeService=t,this._otherFormulaManagerService=r,this._featureCalculationManagerService=n,this._interpreter=s,this._astTreeBuilder=a,this._lexer=o,this._dependencyManagerService=c}dispose(){this._updateRangeFlattenCache.clear(),this._dependencyRTreeCacheForAddressFunction.clear(),yr.clear()}async generate(){this._updateRangeFlatten();const e=this._currentConfigService.getFormulaData(),t=this._otherFormulaManagerService.getOtherFormulaData(),r=this._currentConfigService.getClearDependencyTreeCache();r!=null&&Object.keys(r).forEach(f=>{f!=null&&Object.keys(r[f]).forEach(m=>{m!=null&&(this._dependencyManagerService.clearOtherFormulaDependency(f,m),this._dependencyManagerService.clearFeatureFormulaDependency(f,m),this._dependencyManagerService.clearFormulaDependency(f,m))})});const n=this._currentConfigService.getUnitData(),s=await this._generateTreeList(e,t,n),a=this._getUpdateTreeListAndMakeDependency(s);let o=this._calculateRunList(a);return this._dependencyFeatureCalculation(o)&&(o.forEach(f=>{f.resetState()}),o=this._calculateRunList(o)),this._checkIsCycleDependency(o)&&this._runtimeService.enableCycleDependency(),this._dependencyRTreeCacheForAddressFunction.clear(),Promise.resolve(o)}_dependencyFeatureCalculation(e){const t=this._featureCalculationManagerService.getReferenceExecutorMap();if(t.size===0)return;this._clearFeatureCalculationNode(e);let r=!1;return t.forEach((n,s)=>{n.forEach((a,o)=>{a.forEach((c,l)=>{const{unitId:f,subUnitId:m,getDirtyData:d}=c,_=d(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData()),C=this._convertDirtyRangesToUnitRange(_.dirtyRanges),E=this._intersectFeatureCalculation(C,e,{unitId:f,subUnitId:m,featureId:l});if(E.length>0){let b=this._getExistTreeList({unitId:f,subUnitId:m,featureId:l},e);b==null&&(b=this._getFeatureFormulaTree(l,Ft(this._dependencyManagerService),c),e.push(b)),b.parents=new Set,E.forEach(y=>{y.hasChildren(b.treeId)||y.pushChildren(b)}),r=!0}})})}),r}_clearFeatureCalculationNode(e){const t=this._featureCalculationManagerService.getReferenceExecutorMap();e.forEach(r=>{var a,o,c,l;const n=new Set;for(const f of r.children){const m=this._dependencyManagerService.getTreeById(f);m&&(m.featureId&&(o=(a=t.get(r.unitId))==null?void 0:a.get(r.subUnitId))!=null&&o.has(m.featureId)||n.add(f))}r.children=n;const s=new Set;for(const f of r.parents){const m=this._dependencyManagerService.getTreeById(f);m&&(m.featureId&&(l=(c=t.get(r.unitId))==null?void 0:c.get(r.subUnitId))!=null&&l.has(m.featureId)||s.add(f))}r.parents=s})}_convertDirtyRangesToUnitRange(e){const t=[];for(const r in e){const n=e[r];for(const s in n){const a=n[s];for(const o of a)t.push({unitId:r,sheetId:s,range:o})}}return t}_intersectFeatureCalculation(e,t,r){const n=[],s=this._dependencyManagerService.searchDependency(e);for(let a=0,o=t.length;a<o;a++){const c=t[a];if(c.unitId===r.unitId&&c.subUnitId===r.subUnitId&&c.featureId===r.featureId)continue;s.has(c.treeId)&&n.push(c)}return n}_getExistTreeList(e,t){const{unitId:r,subUnitId:n,featureId:s}=e;for(let a=0,o=t.length;a<o;a++){const c=t[a];if(c.unitId===r&&c.subUnitId===n&&c.featureId===s)return c}}_isCyclicUtil(e,t,r){const n=this._dependencyManagerService.getTreeById(e);if(n==null)return!1;if(!t.has(n.treeId)){t.add(n.treeId),r.add(n.treeId);for(const s of n.children)if(!t.has(s)&&this._isCyclicUtil(s,t,r)||r.has(s))return!0}return r.delete(n.treeId),!1}_checkIsCycleDependency(e){const t=new Set,r=new Set;for(let n=0,s=e.length;n<s;n++){const a=e[n];if(this._isCyclicUtil(a.treeId,t,r)===!0)return!0}return!1}async _generateTreeList(e,t,r){const n=Object.keys(e),s=Object.keys(t),a=[];this._currentConfigService.isForceCalculate()&&this._dependencyManagerService.reset(),this._registerFormulas(n,e,r,a),this._registerOtherFormulas(t,s,a),this._registerFeatureFormulas(a);for(let c=0,l=a.length;c<l;c++){const f=a[c];if(!f.formula)continue;const m=this._getTreeNode(f);f.isDirty=this._includeTree(f,m);const d=this._getAddressFunctionNodeList(m);if(d.length>0&&(f.addressFunctionNodes=d),f.isVirtual)continue;this._runtimeService.setCurrent(f.row,f.column,f.rowCount,f.columnCount,f.subUnitId,f.unitId);const _=await this._getRangeListByNode({node:m,refOffsetX:f.refOffsetX,refOffsetY:f.refOffsetY});f.pushRangeList(_)}for(let c=0,l=a.length;c<l;c++){const f=a[c];f.isCache||this._dependencyManagerService.addDependencyRTreeCache(f)}return await this._calculateListByFunctionRefNode(a),a}_registerFeatureFormulas(e){this._featureCalculationManagerService.getReferenceExecutorMap().forEach((r,n)=>{r.forEach((s,a)=>{s.forEach((o,c)=>{const l=this._dependencyManagerService.getFeatureFormulaDependency(o.unitId,o.subUnitId,c);e.push(this._getFeatureFormulaTree(c,l,o))})})})}_getFeatureFormulaTree(e,t,r){const{unitId:n,subUnitId:s,dependencyRanges:a,getDirtyData:o}=r,c=t||Ft(this._dependencyManagerService),l=new Zr(c);l.unitId=n,l.subUnitId=s,l.rangeList=a,l.getDirtyData=o;const f=o(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData()),m=this._convertDirtyRangesToUnitRange(f.dirtyRanges);return l.featureDirtyRanges=m,l.featureId=e,l.type=fn.FEATURE_FORMULA,this._dependencyManagerService.addFeatureFormulaDependency(n,s,e,l),this._dependencyManagerService.getFeatureFormulaDependency(r.unitId,r.subUnitId,e)&&(l.isCache=!0),l}_registerOtherFormulas(e,t,r){for(const n of t){const s=e[n];if(s==null)continue;const a=Object.keys(s);for(const o of a){const c=s[o];if(c==null)continue;const l=Object.keys(c);for(const f of l){const m=this._dependencyManagerService.hasOtherFormulaDataMainData(f),d=c[f],{f:_,ranges:C}=d;let E=!1;m&&(E=!0);const b=xs(n,_,this._lexer,this._astTreeBuilder,this._currentConfigService),{firstRow:y,firstColumn:p}=this._getFirstCellOfRange(C),V=this._dependencyManagerService.getOtherFormulaDependency(n,o,f),S=(V==null?void 0:V.getValue(0,0))||Ft(this._dependencyManagerService),D=new Zr(S);for(let w=0;w<C.length;w++){const L=C[w],{startRow:x,startColumn:v,endRow:U,endColumn:$}=L;for(let Q=x;Q<=U;Q++)for(let te=v;te<=$;te++){const z=te-p,W=Q-y;if(z===0&&W===0){D.node=b,D.formula=_,D.unitId=n,D.subUnitId=o,D.formulaId=f,D.type=fn.OTHER_FORMULA,D.isCache=E,r.push(D),this._dependencyManagerService.addOtherFormulaDependency(n,o,f,D),this._dependencyManagerService.addFormulaDependencyByDefinedName(D);continue}const ue=new js;ue.treeId=(V==null?void 0:V.getValue(z,W))||Ft(this._dependencyManagerService),ue.refTree=D,ue.refOffsetX=z,ue.refOffsetY=W,ue.isCache=E,this._dependencyManagerService.addOtherFormulaDependency(n,o,f,ue),this._dependencyManagerService.addFormulaDependencyByDefinedName(ue),r.push(ue)}}this._dependencyManagerService.addOtherFormulaDependencyMainData(f)}}}}_getFirstCellOfRange(e){const t=e[0];return{firstRow:t.startRow,firstColumn:t.startColumn}}_registerFormulas(e,t,r,n){for(const s of e){const a=t[s];if(a==null)continue;const o=Object.keys(a);for(const c of o){const l=new M.ObjectMatrix(a[c]||{}),f=new Map;l.forValue((m,d,_)=>{if(_==null)return!0;const{x:C=0,y:E=0,si:b}=_;if(!(C===0&&E===0&&b!=null))return!0;const y=this._createFDtree(s,c,m,d,r,_),p=this._dependencyManagerService.getFormulaDependency(s,c,m,d);p!=null?y.treeId=p:(this._dependencyManagerService.addFormulaDependency(s,c,m,d,y),this._dependencyManagerService.addFormulaDependencyByDefinedName(y)),f.set(b,y),n.push(y)}),l.forValue((m,d,_)=>{if(_==null)return!0;const{x:C=0,y:E=0,si:b}=_;if(C===0&&E===0&&b!=null)return!0;let y;if(b&&f.has(b)){const V=f.get(b);y=this._createVirtualFDtree(V,_)}else y=this._createFDtree(s,c,m,d,r,_);const p=this._dependencyManagerService.getFormulaDependency(s,c,m,d);p!=null?y.treeId=p:(this._dependencyManagerService.addFormulaDependency(s,c,m,d,y),this._dependencyManagerService.addFormulaDependencyByDefinedName(y)),n.push(y)}),f.clear()}}}_createFDtree(e,t,r,n,s,a){const{f:o,x:c=0,y:l=0}=a,f=new Zr(Ft(this._dependencyManagerService)),m=s[e][t],d=xs(e,o,this._lexer,this._astTreeBuilder,this._currentConfigService);return f.node=d,f.formula=o,f.unitId=e,f.subUnitId=t,f.row=r,f.column=n,f.rowCount=m.rowCount,f.columnCount=m.columnCount,f}_createVirtualFDtree(e,t){const{x:r=0,y:n=0}=t,s=new js;return s.treeId=Ft(this._dependencyManagerService),s.refTree=e,s.refOffsetX=r,s.refOffsetY=n,s}_updateRangeFlatten(){const e=this._currentConfigService.isForceCalculate(),t=this._currentConfigService.getDirtyRanges();if(!e){this._updateRangeFlattenCache.clear();for(let r=0;r<t.length;r++){const n=t[r],s=n.range,a=n.sheetId,o=n.unitId;this._addFlattenCache(o,a,s)}}}_addFlattenCache(e,t,r){let n=this._updateRangeFlattenCache.get(e);n==null&&(n=new Map,this._updateRangeFlattenCache.set(e,n));let s=n.get(t);s==null&&(s=[],n.set(t,s)),s.push(r)}_isPreCalculateNode(e){return e.nodeType===ie.UNION||e.nodeType===ie.PREFIX&&e.getToken()===Ne.AT||e.nodeType===ie.SUFFIX&&e.getToken()===Qe.POUND}_nodeTraversalRef(e,t){const r=e.getChildren(),n=r.length;for(let s=0;s<n;s++){const a=r[s];if(this._isPreCalculateNode(a)){if(t.push(a),a.nodeType===ie.UNION)for(const o of a.getChildren())o.nodeType===ie.FUNCTION&&o.isAddress()&&this._nodeTraversalRef(o,t);continue}else a.nodeType===ie.REFERENCE&&t.push(a);this._nodeTraversalRef(a,t)}}_nodeTraversalReferenceFunction(e,t){const r=e.getChildren(),n=r.length;for(let s=0;s<n;s++){const a=r[s];if(a.nodeType===ie.FUNCTION&&a.isAddress()){t.push(a);continue}this._nodeTraversalReferenceFunction(a,t)}}async _executeNode(e,t=0,r=0){let n;const s={node:e,refOffsetX:t,refOffsetY:r};return this._interpreter.checkAsyncNode(e)?n=await this._interpreter.executeAsync(s):n=this._interpreter.execute(s),n}async _getRangeListByNode(e){const t=[],r=e.refOffsetX,n=e.refOffsetY,s=e.node;if(s==null)return[];this._nodeTraversalRef(s,t);const a=[];for(let o=0,c=t.length;o<c;o++){const l=t[o],m=(await this._executeNode(l,r,n)).toUnitRange();a.push(m),l.setValue(null)}return a}_getAddressFunctionNodeList(e){const t=[];return e==null?[]:(this._nodeTraversalReferenceFunction(e,t),t)}_getTreeNode(e){return e.node}async _buildDirtyRangesByAddressFunction(e,t){const r=t.addressFunctionNodes;if(r.length===0)return;const n=t.refOffsetX,s=t.refOffsetY,a=await this._getRangeListByFunctionRefNode(r,n,s);t.addressFunctionNodes=[],this._addDependencyTreeByAddressFunction(t,a);const o=e.bulkSearch(a),c=this._buildTreeNodeById(o);c.length!==0&&await this._calculateAddressFunctionRuntimeData(e,c)}async _calculateListByFunctionRefNode(e){const t=new M.RTree;for(let r=0,n=e.length;r<n;r++){const s=e[r];t.insert({unitId:s.unitId,sheetId:s.subUnitId,range:{startRow:s.row,startColumn:s.column,endRow:s.row,endColumn:s.column},id:s.treeId})}this._executedAddressFunctionNodeIds.clear();for(let r=0,n=e.length;r<n;r++){const s=e[r];await this._calculateAddressFunction(t,s)}}async _calculateAddressFunction(e,t){const r=t.addressFunctionNodes;if(r.length===0)return;const n=t.refOffsetX,s=t.refOffsetY;this._runtimeService.setCurrent(t.row,t.column,t.rowCount,t.columnCount,t.subUnitId,t.unitId);const a=[];for(let l=0,f=r.length;l<f;l++){const m=await this._getRangeListByNode({node:r[l],refOffsetX:n,refOffsetY:s});a.push(...m)}const o=new Set;this._searchDependencyByAddressFunction(e,a,o);const c=this._buildTreeNodeById(o);if(c.length===0){await this._buildDirtyRangesByAddressFunction(e,t);return}await this._calculateAddressFunctionRuntimeData(e,c),await this._buildDirtyRangesByAddressFunction(e,t)}async _calculateAddressFunctionRuntimeData(e,t){for(;t.length>0;){const r=t.pop(),s={node:this._getTreeNode(r),refOffsetX:r.refOffsetX,refOffsetY:r.refOffsetY};await this._calculateAddressFunction(e,r),this._runtimeService.setCurrent(r.row,r.column,r.rowCount,r.columnCount,r.subUnitId,r.unitId);let a;this._interpreter.checkAsyncNode(s.node)?a=await this._interpreter.executeAsync(s):a=this._interpreter.execute(s),r.formulaId!=null?this._runtimeService.setRuntimeOtherData(r.formulaId,r.refOffsetX,r.refOffsetY,a):this._runtimeService.setRuntimeData(a)}}_buildTreeNodeById(e){const t=[];for(const r of e){const n=this._getTreeById(r);!n||this._executedAddressFunctionNodeIds.has(r)||(this._executedAddressFunctionNodeIds.add(r),t.push(n))}return t}_searchDependencyByAddressFunction(e,t,r){const n=e.bulkSearch(t),s=this._dependencyRTreeCacheForAddressFunction.bulkSearch(t);for(const o of s)r.has(o)||r.add(o);const a=[];for(const o of n){const c=this._getTreeById(o);c&&!r.has(o)&&(a.push(...c.rangeList),r.add(o))}return a.length>0&&this._searchDependencyByAddressFunction(e,a,r),r}_getTreeById(e){return this._dependencyManagerService.getTreeById(e)}_addDependencyTreeByAddressFunction(e,t){const r=[];for(let n=0;n<t.length;n++){const s=t[n],{unitId:a,sheetId:o,range:c}=s;r.push({unitId:a,sheetId:o,range:c,id:e.treeId})}this._dependencyRTreeCacheForAddressFunction.bulkInsert(r)}async _getRangeListByFunctionRefNode(e,t,r){const n=[];for(let s=0,a=e.length;s<a;s++){const o=e[s],l=(await this._executeNode(o,t,r)).toUnitRange();n.push(l),o.setValue(null)}return n}_getUpdateTreeListAndMakeDependency(e){const t=[],r=new Set,n=this._currentConfigService.isForceCalculate(),s=this._currentConfigService.getDirtyRanges(),a=this._dependencyManagerService.searchDependency(s),o=this._dependencyRTreeCacheForAddressFunction.bulkSearch(s);for(const l of o)a.add(l);const c=this._dependencyManagerService.buildDependencyTree(e);for(const l of c){const f=l.treeId;(n||l.isDirty||l.dependencySheetName(this._currentConfigService.getDirtyNameMap())||a.has(f)&&!l.isExcludeRange(this._currentConfigService.getExcludedRange()))&&!r.has(f)&&(t.push(l),r.add(f))}return t}_includeTreeFeature(e){var s,a;const t=e.unitId,r=e.subUnitId,n=e.featureId;if(n!=null){const o=this._currentConfigService.getDirtyUnitFeatureMap();if(((a=(s=o==null?void 0:o[t])==null?void 0:s[r])==null?void 0:a[n])!=null)return!0}return!1}_includeOtherFormula(e){var s,a;const t=e.unitId,r=e.subUnitId,n=e.formulaId;if(n!=null){const o=this._currentConfigService.getDirtyUnitOtherFormulaMap();if(((a=(s=o==null?void 0:o[t])==null?void 0:s[r])==null?void 0:a[n])!=null)return!0}return!1}_detectForcedRecalculationNode(e,t){return t==null?!1:this._detectForcedRecalculationNodeRecursion(t)}_detectForcedRecalculationNodeRecursion(e){if(e.isForcedCalculateFunction())return!0;const t=e.getChildren();for(let r=0,n=t.length;r<n;r++){const s=t[r];if(this._detectForcedRecalculationNodeRecursion(s))return!0}return!1}_includeTree(e,t){var l,f,m;const r=e.unitId,n=e.subUnitId;if(this._detectForcedRecalculationNode(e,t)===!0||this._includeTreeFeature(e)===!0||this._includeOtherFormula(e)===!0||Mf(e,t,this._currentConfigService)===!0)return!0;const s=(f=(l=this._currentConfigService.getExcludedRange())==null?void 0:l[r])==null?void 0:f[n];if((s==null?void 0:s.getValue(e.row,e.column))!=null)return!1;if(((m=this._currentConfigService.getDirtyNameMap()[r])==null?void 0:m[n])!=null)return!0;if(!this._updateRangeFlattenCache.has(r))return!1;const o=this._updateRangeFlattenCache.get(r);if(!o.has(n))return!1;const c=o.get(n);for(const d of c)if(e.inRangeData(d))return!0;return!1}_calculateRunList(e){e.length;const t=e,r=[],n=[];for(;t.length>0;){const s=t.pop();if(s===void 0||s.isSkip())continue;if(s.isAdded()){r.push(s),s.setSkip();continue}n.length=0;for(const o of s.parents){const c=this._dependencyManagerService.getTreeById(o);if(!c)throw new Error("ParentDependencyTree object is null");c.isAdded()||s.isSkip()||n.push(c)}const a=this._dependencyRTreeCacheForAddressFunction.bulkSearch(s.toRTreeItem());for(const o of a){const c=this._dependencyManagerService.getTreeById(o);if(!c)throw new Error("ParentDependencyTree object is null");c.isAdded()||s.isSkip()||n.push(c)}n.length===0?(r.push(s),s.setSkip()):(s.setAdded(),t.push(s,...n))}return r}};exports.FormulaDependencyGenerator=im([pt(0,At),pt(1,ft),pt(2,Yn),pt(3,ar),pt(4,M.Inject(exports.Interpreter)),pt(5,M.Inject(exports.AstTreeBuilder)),pt(6,M.Inject(exports.Lexer)),pt(7,Dr)],exports.FormulaDependencyGenerator);var om=Object.getOwnPropertyDescriptor,um=(i,u,e,t)=>{for(var r=t>1?void 0:t?om(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Tt=(i,u)=>(e,t)=>u(e,t,i);const _o=500,hn=M.createIdentifier("engine-formula.calculate-formula.service");exports.CalculateFormulaService=class extends M.Disposable{constructor(e,t,r,n,s,a,o){super();A(this,"_executionInProgressListener$",new Ie.Subject);A(this,"executionInProgressListener$",this._executionInProgressListener$.asObservable());A(this,"_executionCompleteListener$",new Ie.Subject);A(this,"executionCompleteListener$",this._executionCompleteListener$.asObservable());A(this,"_executeLock",new M.AsyncLock);this._configService=e,this._lexer=t,this._currentConfigService=r,this._runtimeService=n,this._formulaDependencyGenerator=s,this._interpreter=a,this._astTreeBuilder=o}dispose(){super.dispose(),this._executionInProgressListener$.complete(),this._executionCompleteListener$.complete(),cn.clear(),Ye.clear(),ys.clear(),Ds.clear()}stopFormulaExecution(){this._runtimeService.stopExecution()}setRuntimeFeatureCellData(e,t){this._runtimeService.setRuntimeFeatureCellData(e,t)}setRuntimeFeatureRange(e,t){this._runtimeService.setRuntimeFeatureRange(e,t)}async execute(e){this._runtimeService.setFormulaExecuteStage($e.START),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._currentConfigService.load(e),this._runtimeService.reset();const t=e.maxIteration||$i;this._executeLock.acquire("FORMULA_EXECUTION_LOCK",async()=>{for(let r=0;r<t&&(this._runtimeService.setFormulaCycleIndex(r),await this._executeStep(),cn.clear(),!!this._runtimeService.isCycleDependency());r++);this._runtimeService.setFormulaExecuteStage($e.CALCULATION_COMPLETED),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData()),Ye.clear(),this._runtimeService.reset()})}async _executeStep(){const e=await this._apply();if(e==null)return;const{arrayFormulaRange:t,runtimeFeatureRange:r}=e,{dirtyRanges:n,excludedCell:s}=this._getArrayFormulaDirtyRangeAndExcludedRange(t,r);return n==null||n.length===0||(this._currentConfigService.loadDirtyRangesAndExcludedCell(n,s),await this._apply(!0)),!0}_getArrayFormulaDirtyRangeAndExcludedRange(e,t){const r=[],n={};return Object.keys(e).forEach(s=>{const a=e[s];if(a==null)return!0;Object.keys(a).forEach(o=>{const c=new M.ObjectMatrix(a[o]);if(c==null)return!0;const l=new M.ObjectMatrix;c.forValue((f,m,d)=>{l.setValue(f,m,!0),r.push({unitId:s,sheetId:o,range:d})}),n[s]==null&&(n[s]={}),n[s][o]=l})}),Object.keys(t).forEach(s=>{const a=t[s];Object.keys(a).forEach(o=>{const c=a[o];if(c==null)return!0;Object.keys(c).forEach(l=>{const f=c[l];if(f==null)return!0;for(const m of f)r.push({unitId:o,sheetId:l,range:m})})})}),{dirtyRanges:r,excludedCell:n}}async _apply(e=!1){e?this._runtimeService.setFormulaExecuteStage($e.START_DEPENDENCY_ARRAY_FORMULA):this._runtimeService.setFormulaExecuteStage($e.START_DEPENDENCY),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());const t=(await this._formulaDependencyGenerator.generate()).reverse(),r=this._interpreter;e?(this._runtimeService.setFormulaExecuteStage($e.START_CALCULATION_ARRAY_FORMULA),this._runtimeService.setTotalArrayFormulasToCalculate(t.length)):(this._runtimeService.setFormulaExecuteStage($e.START_CALCULATION),this._runtimeService.setTotalFormulasToCalculate(t.length)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState());let n=[];const s=this._configService.getConfig(xn),a=(s==null?void 0:s.intervalCount)||_o,o=t.length;for(let c=0;c<o;c++){const l=t[c],f=l.nodeData,m=l.getDirtyData;if(c%a===0&&(await new Promise(_=>{const C=M.requestImmediateMacroTask(_);n.push(C)}),e?(this._runtimeService.setFormulaExecuteStage($e.CURRENTLY_CALCULATING_ARRAY_FORMULA),this._runtimeService.setCompletedArrayFormulasCount(c+1)):(this._runtimeService.setFormulaExecuteStage($e.CURRENTLY_CALCULATING),this._runtimeService.setCompletedFormulasCount(c+1)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._runtimeService.isStopExecution()||f==null&&m==null)){this._runtimeService.setFormulaExecuteStage($e.IDLE),this._runtimeService.markedAsStopFunctionsExecuted(),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData());return}this._runtimeService.setCurrent(l.row,l.column,l.rowCount,l.columnCount,l.subUnitId,l.unitId);let d;if(m!=null&&l.featureId!=null){const{runtimeCellData:_,dirtyRanges:C}=m(this._currentConfigService.getDirtyData(),this._runtimeService.getAllRuntimeData());this._runtimeService.setRuntimeFeatureCellData(l.featureId,_),this._runtimeService.setRuntimeFeatureRange(l.featureId,C)}else f!=null&&(r.checkAsyncNode(f.node)?d=await r.executeAsync(f):d=r.execute(f),l.formulaId!=null?this._runtimeService.setRuntimeOtherData(l.formulaId,l.refOffsetX,l.refOffsetY,d):this._runtimeService.setRuntimeData(d))}return n.forEach(c=>c()),n=[],o>0?this._runtimeService.markedAsSuccessfullyExecuted():e||this._runtimeService.markedAsNoFunctionsExecuted(),this._runtimeService.getAllRuntimeData()}calculate(e,t=!0){const r=this._lexer.treeBuilder(e,t);if(Object.values(h).includes(r))return De.create(r);const n=this._astTreeBuilder.parse(r);n==null||n.serialize()}};exports.CalculateFormulaService=um([Tt(0,M.IConfigService),Tt(1,M.Inject(exports.Lexer)),Tt(2,At),Tt(3,ft),Tt(4,mn),Tt(5,M.Inject(exports.Interpreter)),Tt(6,M.Inject(exports.AstTreeBuilder))],exports.CalculateFormulaService);var cm=Object.getOwnPropertyDescriptor,lm=(i,u,e,t)=>{for(var r=t>1?void 0:t?cm(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},us=(i,u)=>(e,t)=>u(e,t,i);exports.CalculateController=class extends M.Disposable{constructor(u,e,t){super(),this._commandService=u,this._calculateFormulaService=e,this._formulaDataModel=t,this._initialize()}_initialize(){this._commandExecutedListener(),this._initialExecuteFormulaListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(u=>{if(u.id===Ys.id)this._calculateFormulaService.stopFormulaExecution();else if(u.id===$s.id)this._calculate(u.params);else if(u.id===rn.id){const e=u.params;if(e==null)return;const{arrayFormulaRange:t,arrayFormulaCellData:r}=e;this._formulaDataModel.setArrayFormulaRange(t),this._formulaDataModel.setArrayFormulaCellData(r)}}))}async _calculate(u){const{forceCalculation:e=!1,dirtyRanges:t=[],dirtyNameMap:r={},dirtyDefinedNameMap:n={},dirtyUnitFeatureMap:s={},dirtyUnitOtherFormulaMap:a={},clearDependencyTreeCache:o={},maxIteration:c=$i,rowData:l}=u,f=this._formulaDataModel.getFormulaData(),m=this._formulaDataModel.getArrayFormulaCellData(),d=this._formulaDataModel.getArrayFormulaRange();this._calculateFormulaService.execute({formulaData:f,arrayFormulaCellData:m,arrayFormulaRange:d,forceCalculate:e,dirtyRanges:t,dirtyNameMap:r,dirtyDefinedNameMap:n,dirtyUnitFeatureMap:s,dirtyUnitOtherFormulaMap:a,clearDependencyTreeCache:o,maxIteration:c,rowData:l})}_initialExecuteFormulaListener(){this._calculateFormulaService.executionCompleteListener$.subscribe(u=>{const e=u.functionsExecutedState;switch(e){case Jt.NOT_EXECUTED:break;case Jt.STOP_EXECUTION:break;case Jt.SUCCESS:this._applyResult(u);break;case Jt.INITIAL:break}this._commandService.executeCommand(Cr.id,{functionsExecutedState:e},{onlyLocal:!0})}),this._calculateFormulaService.executionInProgressListener$.subscribe(u=>{this._commandService.executeCommand(Cr.id,{stageInfo:u},{onlyLocal:!0})})}async _applyResult(u){const{unitData:e,unitOtherData:t,arrayFormulaRange:r,arrayFormulaCellData:n,clearArrayFormulaCellData:s}=u;if(!e){console.error("No sheetData from Formula Engine!");return}r&&(this._formulaDataModel.clearPreviousArrayFormulaCellData(s),this._formulaDataModel.mergeArrayFormulaCellData(n),this._formulaDataModel.mergeArrayFormulaRange(r),this._commandService.executeCommand(rn.id,{arrayFormulaRange:this._formulaDataModel.getArrayFormulaRange(),arrayFormulaCellData:this._formulaDataModel.getArrayFormulaCellData()},{onlyLocal:!0})),this._commandService.executeCommand(Hs.id,{unitData:hc(e),unitOtherData:t},{onlyLocal:!0})}};exports.CalculateController=lm([us(0,M.ICommandService),us(1,hn),us(2,M.Inject(exports.FormulaDataModel))],exports.CalculateController);const ai=/[\[\]]/g;function ii(i,u){if(ai.test(i)){const e=Number(i.replace(ai,""));return u+e}return Number(i)-1}function cs(i,u=0,e=0){i=i.toLocaleUpperCase();const t=i.split(/[RC]/),r=t[1],n=t[2],s=ii(r,u),a=ii(n,e);return{row:s,column:a,absoluteRefType:M.AbsoluteRefType.NONE}}function Ao(i,u=0,e=0){const{refBody:t,sheetName:r,unitId:n}=Vn(i),s=t.indexOf(":");if(s===-1){const C=cs(t,u,e),E=C.row,b=C.column,y=C.absoluteRefType;return{unitId:n,sheetName:r,range:{startRow:E,startColumn:b,endRow:E,endColumn:b,startAbsoluteRefType:y,endAbsoluteRefType:y}}}const a=t.substring(0,s),o=t.substring(s+1),c=cs(a,u,e),l=cs(o,u,e),f=c.row,m=c.column,d=l.row,_=l.column;return{unitId:n,sheetName:r,range:{startRow:f,startColumn:m,endRow:d,endColumn:_,startAbsoluteRefType:c.absoluteRefType,endAbsoluteRefType:l.absoluteRefType}}}function fm(i){const u=Fr(i.startRow,i.startAbsoluteRefType,!0),e=Fr(i.startColumn,i.startAbsoluteRefType,!1),t=Fr(i.endRow,i.endAbsoluteRefType,!0),r=Fr(i.endColumn,i.endAbsoluteRefType,!1);return u===t&&e===r?`R${u}C${e}`:`R${u}C${e}:R${t}C${r}`}function Fr(i,u=M.AbsoluteRefType.ALL,e){switch(i+=1,u){case M.AbsoluteRefType.ALL:return`${i}`;case M.AbsoluteRefType.ROW:return e?`${i}`:`[${i}]`;case M.AbsoluteRefType.COLUMN:return e?`[${i}]`:`${i}`;case M.AbsoluteRefType.NONE:return`[${i}]`}}function $t(i){let u=i;if(i.isArray()){const e=i.getRowCount(),t=i.getColumnCount();if(e>1||t>1)return g.create(h.VALUE);u=i.get(0,0)}return u.isError(),u}function wr(...i){for(let u=0;u<i.length;u++){const e=$t(i[u]);if(e.isError())return{isError:!0,errorObject:e};i[u]=e}return{isError:!1,variants:i}}function G(...i){for(let u=0;u<i.length;u++){const e=$t(i[u]);if(e.isError())return{isError:!0,errorObject:e};if(e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE)};i[u]=e}return{isError:!1,variants:i}}function Ue(...i){for(let u=0;u<i.length;u++){let e=i[u];if(e.isError())return{isError:!0,errorObject:e};if(e.isNull())return{isError:!0,errorObject:g.create(h.NA)};if(e=$t(i[u]),e.isError())return{isError:!0,errorObject:e};if(e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE)};i[u]=e}return{isError:!1,variants:i}}function F(...i){for(let u=0;u<i.length;u++){let e=i[u];if(e.isString()&&(e=e.convertToNumberObjectValue()),e.isError())return{isError:!0,errorObject:e};i[u]=e}return{isError:!1,variants:i}}class N{constructor(u){A(this,"_unitId");A(this,"_subUnitId");A(this,"_row",-1);A(this,"_column",-1);A(this,"_definedNames");A(this,"_locale");A(this,"_sheetOrder");A(this,"_sheetNameMap");A(this,"_formulaDataModel");A(this,"_rowCount",-1);A(this,"_columnCount",-1);A(this,"needsExpandParams",!1);A(this,"needsReferenceObject",!1);A(this,"needsLocale",!1);A(this,"needsSheetsInfo",!1);A(this,"needsFormulaDataModel",!1);A(this,"needsSheetRowColumnCount",!1);A(this,"needsFilteredOutRows",!1);A(this,"minParams",-1);A(this,"maxParams",-1);this._name=u}get name(){return this._name}get unitId(){return this._unitId}get subUnitId(){return this._subUnitId}get row(){return this._row}get column(){return this._column}dispose(){}getDefinedName(u){var t;const e=this._definedNames;return e==null?null:(t=Array.from(Object.values(e)).filter(r=>r.name===u))==null?void 0:t[0]}setDefinedNames(u){this._definedNames=u}getLocale(){return this._locale}setLocale(u){this._locale=u}getSheetsInfo(){return{sheetOrder:this._sheetOrder,sheetNameMap:this._sheetNameMap}}setSheetsInfo({sheetOrder:u,sheetNameMap:e}){this._sheetOrder=u,this._sheetNameMap=e}setFormulaDataModel(u){this._formulaDataModel=u}setSheetRowColumnCount(u,e){this._rowCount=u,this._columnCount=e}isAsync(){return!1}isAddress(){return!1}isCustom(){return!1}isArgumentsIgnoreNumberPattern(){return!1}setRefInfo(u,e,t,r){this._unitId=u,this._subUnitId=e,this._row=t,this._column=r}calculateCustom(...u){return null}calculate(...u){return g.create(h.VALUE)}checkArrayType(u){return u.isReferenceObject()||u.isValueObject()&&u.isArray()}getIndexNumValue(u,e=1){let t=u;if(t.isArray()&&(t=t.getFirstCell()),t.isBoolean())return t.getValue()===!1?g.create(h.VALUE):e;if(t.isString()){const r=Number(t.getValue());return Number.isNaN(r)?g.create(h.REF):r}else if(t.isNumber())return t.getValue();return g.create(h.VALUE)}getZeroOrOneByOneDefault(u){if(u==null)return 1;let e=1;if(u.isArray()&&(u=u.getFirstCell()),u.isBoolean())u.getValue()===!1&&(e=0);else{if(u.isString())return;u.isNumber()&&u.getValue()===0&&(e=0)}return e}getMatchTypeValue(u){if(u==null)return 1;let e=1;if(u.isArray()&&(u=u.getFirstCell()),u.isBoolean())u.getValue()===!1&&(e=0);else{if(u.isString())return;if(u.isNumber()){const t=u.getValue();t<=0&&(e=t)}}return e}binarySearch(u,e,t,r,n){const s=e.binarySearch(u,r,n);if(s==null)return g.create(h.NA);let a;return t.getRowCount()===1?a=t.get(0,s)||le.create():a=t.get(s,0)||le.create(),a.isNull()?R.create(0):a}_getOneFirstByRaw(u){return u.length===0?g.create(h.NA):u[0][0]||g.create(h.NA)}_getOneLastByRaw(u){return u.length===0?g.create(h.NA):u[u.length-1][u[0].length-1]||g.create(h.NA)}equalSearch(u,e,t,r=!0){const n=t.pickRaw(e.isEqual(u));return r?this._getOneFirstByRaw(n):this._getOneLastByRaw(n)}fuzzySearch(u,e,t,r=!0){const n=t.pickRaw(e.compare(u,k.EQUALS));return r?this._getOneFirstByRaw(n):this._getOneLastByRaw(n)}orderSearch(u,e,t,r=Me.MIN,n=!1){const s=e.orderSearch(u,r,n);if(s==null)return g.create(h.NA);const a=t.get(s.row,s.column)||le.create();return a.isNull()?g.create(h.NA):a}binarySearchExpand(u,e,t,r=0,n,s){const a=e.binarySearch(u,n,s);return a==null?g.create(h.NA):r===0?t.slice([a,a+1]):t.slice(void 0,[a,a+1])}equalSearchExpand(u,e,t,r=!0,n=0){const s=e.isEqual(u);let a;return r?a=s.getFirstTruePosition():a=s.getLastTruePosition(),a==null?g.create(h.NA):n===0?t.slice([a.row,a.row+1]):t.slice(void 0,[a.column,a.column+1])}fuzzySearchExpand(u,e,t,r=!0,n=0){const s=e.compare(u,k.EQUALS);let a;return r?a=s.getFirstTruePosition():a=s.getLastTruePosition(),a==null?g.create(h.NA):n===0?t.slice([a.row,a.row+1]):t.slice(void 0,[a.column,a.column+1])}orderSearchExpand(u,e,t,r=Me.MIN,n=!1,s=0){const a=e.orderSearch(u,r,n);return a==null?g.create(h.NA):s===0?t.slice([a.row,a.row+1]):t.slice(void 0,[a.column,a.column+1])}flattenArray(u,e=!0){const t=[];t[0]=[];for(let r=0;r<u.length;r++){let n=u[r];if((n.isString()||n.isBoolean()||n.isNull())&&(n=n.convertToNumberObjectValue()),n.isError())return n;if(n.isArray()){let s;if(n.iterator(a=>{if(a==null||a.isNull()||e&&(a.isString()||a.isBoolean()))return!0;if(a=this._includingLogicalValuesAndText(a),a.isError())return s=a,!1;t[0].push(a)}),s!=null&&s.isError())return s}else t[0].push(n)}return Or(t,1,t[0].length)}_includingLogicalValuesAndText(u){if(u.isBoolean()&&(u=df(u)),u.isString()){const e=Number(u.getValue());u=R.create(Number.isNaN(e)?0:e)}return u}createReferenceObject(u,e){const t=u.getForcedUnitId(),r=u.getForcedSheetId()||"",n=u.getForcedSheetName(),a=nn({unitId:t,sheetName:n,range:e});let o;return pr(a)?o=new zs(a):Di(a)?o=new ea(a):wi(a)?o=new Js(a):o=new br(e,r,t),this._setReferenceDefault(u,o)}_setReferenceDefault(u,e){return this.unitId==null||this.subUnitId==null?g.create(h.REF):(e.setDefaultUnitId(this.unitId),e.setDefaultSheetId(this.subUnitId),e.setUnitData(u.getUnitData()),e.setRuntimeData(u.getRuntimeData()),e.setArrayFormulaCellData(u.getArrayFormulaCellData()),e.setRuntimeArrayFormulaCellData(u.getRuntimeArrayFormulaCellData()),e)}}class mm extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;const{isError:n,errorObject:s,variants:a}=wr(t,r);if(n)return s;const{isError:o,errorObject:c,variants:l}=F(...a);if(o)return c;const[f,m]=l,d=Math.floor(+f.getValue()),_=Math.floor(+m.getValue());if(d<0||_<0)return g.create(h.NUM);if(d===0||_===0)return g.create(h.REF);const C=e.isArray()?e.getRowCount():1,E=e.isArray()?e.getColumnCount():1;if(C===1&&E===1)return e.isArray()?e.get(0,0):e;const b=d>C?C:d,y=_>E?E:_;return e.slice([0,b],[0,y])}}class hm extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];for(let r=0;r<e.length;r++){const n=e[r],s=n.isArray()?n.getRowCount():1,a=n.isArray()?n.getColumnCount():1;for(let o=0;o<s;o++)for(let c=0;c<a;c++){const l=n.isArray()?n.get(o,c):n;t.push([l])}}return q.create({calculateValueList:t,rowCount:t.length,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}var gn=(i=>(i.ARRAY_CONSTRAIN="ARRAY_CONSTRAIN",i.FLATTEN="FLATTEN",i))(gn||{});const Eo=[[mm,gn.ARRAY_CONSTRAIN],[hm,gn.FLATTEN]];var ir;(i=>{const u=.636619772;function e(n,s){let a=0;for(let o=0;o<n.length;++o)a=s*a+n[o];return a}function t(n,s,a,o,c){if(s===0)return a;if(s===1)return o;const l=2/n;let f=a,m=o,d=o;for(let _=1;_<s;++_)d=m*_*l+c*f,f=m,m=d;return d}function r(n,s,a,o){return function(l,f){if(a){if(l===0)return a===1?-1/0:1/0;if(l<0)return Number.NaN}if(f===0)return n(l);if(f===1)return s(l);if(f<0)return Number.NaN;const m=f|0,d=n(l),_=s(l);return t(l,m,d,_,o)}}i.besselj=(()=>{const n=[-184.9052456,77392.33017,-1121442418e-2,6516196407e-1,-13362590354,57568490574],s=[1,267.8532712,59272.64853,9494680718e-3,1029532985,57568490411],a=[2093887211e-16,-2073370639e-15,2734510407e-14,-.001098628627,1],o=[-934935152e-16,7621095161e-16,-6911147651e-15,.0001430488765,-.01562499995];function c(C){let E=0,b=0,y=0,p=C*C;if(C<8)b=e(n,p),y=e(s,p),E=b/y;else{const V=C-.785398164;p=64/p,b=e(a,p),y=e(o,p),E=Math.sqrt(u/C)*(Math.cos(V)*b-Math.sin(V)*y*8/C)}return E}const l=[-30.16036606,15704.4826,-2972611439e-3,2423968531e-1,-7895059235,72362614232],f=[1,376.9991397,99447.43394,1858330474e-2,2300535178,144725228442],m=[-240337019e-15,2457520174e-15,-3516396496e-14,.00183105,1],d=[105787412e-15,-88228987e-14,8449199096e-15,-.0002002690873,.04687499995];function _(C){let E=0,b=0,y=0,p=C*C;const V=Math.abs(C)-2.356194491;return Math.abs(C)<8?(b=C*e(l,p),y=e(f,p),E=b/y):(p=64/p,b=e(m,p),y=e(d,p),E=Math.sqrt(u/Math.abs(C))*(Math.cos(V)*b-Math.sin(V)*y*8/Math.abs(C)),C<0&&(E=-E)),E}return function C(E,b){const y=Math.round(b);if(!Number.isFinite(E))return Number.isNaN(E)?E:0;if(y<0)return(y%2?-1:1)*C(E,-y);if(E<0)return(y%2?-1:1)*C(-E,y);if(y===0)return c(E);if(y===1)return _(E);if(E===0)return 0;let p=0;if(E>y)p=t(E,y,c(E),_(E),-1);else{const V=2*Math.floor((y+Math.floor(Math.sqrt(40*y)))/2);let S=!1,D=0,w=0,L=1,x=0;const v=2/E;for(let U=V;U>0;U--)if(x=U*v*L-D,D=L,L=x,Math.abs(L)>1e10&&(L*=1e-10,D*=1e-10,p*=1e-10,w*=1e-10),S&&(w+=L),S=!S,U===y&&(p=D),V-U>100&&p===0)return Number.NaN;w=2*w-L,p/=w}return p}})(),i.bessely=(()=>{const n=[228.4622733,-86327.92757,1087988129e-2,-5123598036e-1,7062834065,-2957821389],s=[1,226.1030244,47447.2647,7189466438e-3,7452499648e-1,40076544269],a=[2093887211e-16,-2073370639e-15,2734510407e-14,-.001098628627,1],o=[-934945152e-16,7621095161e-16,-6911147651e-15,.0001430488765,-.01562499995];function c(C){let E=0,b=0,y=0,p=C*C;const V=C-.785398164;return C<8?(b=e(n,p),y=e(s,p),E=b/y+u*(0,i.besselj)(C,0)*Math.log(C)):(p=64/p,b=e(a,p),y=e(o,p),E=Math.sqrt(u/C)*(Math.sin(V)*b+Math.cos(V)*y*8/C)),E}const l=[8511.937935,-4237922726e-3,7349264551e-1,-51534381390,127527439e4,-4900604943e3],f=[1,354.9632885,102042.605,2245904002e-2,3733650367,424441966400,249958057e5],m=[-240337019e-15,2457520174e-15,-3516396496e-14,.00183105,1],d=[105787412e-15,-88228987e-14,8449199096e-15,-.0002002690873,.04687499995];function _(C){let E=0,b=0,y=0,p=C*C;const V=C-2.356194491;return C<8?(b=C*e(l,p),y=e(f,p),E=b/y+u*((0,i.besselj)(C,1)*Math.log(C)-1/C)):(p=64/p,b=e(m,p),y=e(d,p),E=Math.sqrt(u/C)*(Math.sin(V)*b+Math.cos(V)*y*8/C)),E}return r(c,_,1,-1)})(),i.besseli=(()=>{const n=[.0045813,.0360768,.2659732,1.2067492,3.0899424,3.5156229,1],s=[.00392377,-.01647633,.02635537,-.02057706,.00916281,-.00157565,.00225319,.01328592,.39894228];function a(f){return f<=3.75?e(n,f*f/(3.75*3.75)):Math.exp(Math.abs(f))/Math.sqrt(Math.abs(f))*e(s,3.75/Math.abs(f))}const o=[32411e-8,.00301532,.02658733,.15084934,.51498869,.87890594,.5],c=[-.00420059,.01787654,-.02895312,.02282967,-.01031555,.00163801,-.00362018,-.03988024,.39894228];function l(f){return f<3.75?f*e(o,f*f/(3.75*3.75)):(f<0?-1:1)*Math.exp(Math.abs(f))/Math.sqrt(Math.abs(f))*e(c,3.75/Math.abs(f))}return function f(m,d){const _=Math.round(d);if(_===0)return a(m);if(_===1)return l(m);if(_<0)return Number.NaN;if(Math.abs(m)===0)return 0;if(m===1/0)return 1/0;let C=0,E;const b=2/Math.abs(m);let y=0,p=1,V=0;const S=2*Math.round((_+Math.round(Math.sqrt(40*_)))/2);for(E=S;E>0;E--)if(V=E*b*p+y,y=p,p=V,Math.abs(p)>1e10&&(p*=1e-10,y*=1e-10,C*=1e-10),E===_&&(C=y),S-E>100&&C===0)return Number.NaN;return C*=f(m,0)/p,m<0&&_%2?-C:C}})(),i.besselk=(()=>{const n=[74e-7,1075e-7,.00262698,.0348859,.23069756,.4227842,-.57721566],s=[53208e-8,-.0025154,.00587872,-.01062446,.02189568,-.07832358,1.25331414];function a(f){return f<=2?-Math.log(f/2)*(0,i.besseli)(f,0)+e(n,f*f/4):Math.exp(-f)/Math.sqrt(f)*e(s,2/f)}const o=[-4686e-8,-.00110404,-.01919402,-.18156897,-.67278579,.15443144,1],c=[-68245e-8,.00325614,-.00780353,.01504268,-.0365562,.23498619,1.25331414];function l(f){return f<=2?Math.log(f/2)*(0,i.besseli)(f,1)+1/f*e(o,f*f/4):Math.exp(-f)/Math.sqrt(f)*e(c,2/f)}return r(a,l,2,1)})()})(ir||(ir={}));function oa(i){return/^[01]{1,10}$/.test(i)}function ua(i){return/^[0-7]{1,10}$/.test(i)}function ca(i){return/^[0-9A-Fa-f]{1,10}$/.test(i)}function Yt(i){if(i===0)return 0;const u=[-1.3026537197817094,.6419697923564902,.019476473204185836,-.00956151478680863,-.000946595344482036,.000366839497852761,42523324806907e-18,-20278578112534e-18,-1624290004647e-18,130365583558e-17,15626441722e-18,-85238095915e-18,6529054439e-18,5059343495e-18,-991364156e-18,-227365122e-18,96467911e-18,2394038e-18,-6886027e-18,894487e-18,313092e-18,-112708e-18,381e-18,7106e-18,-1523e-18,-94e-18,121e-18,-28e-18];let e=i,t=!1;e<0&&(e=-e,t=!0);const r=2/(2+e),n=4*r-2;let s=0,a=0,o;for(let l=u.length-1;l>0;l--)o=s,s=n*s-a+u[l],a=o;const c=r*Math.exp(-e*e+.5*(u[0]+n*s)-a);return t?c-1:1-c}function la(i){return 1-Yt(i)}function gm(i){if(i>=2)return-100;if(i<=0)return 100;const u=i<1?i:2-i,e=Math.sqrt(-2*Math.log(u/2));let t=-.70711*((2.30753+e*.27061)/(1+e*(.99229+e*.04481))-e);for(let r=0;r<2;r++){const n=la(t)-u;t+=n/(1.1283791670955126*Math.exp(-t*t)-t*n)}return i<1?t:-t}function er(i,u=1){let e=Math.floor(i);if(i<0)return Number.NaN;let t=1;for(;e>1&&Number.isFinite(t);)t*=e,e-=u;return t}function Ht(i,u){const e=Math.min(i-u,u);let t=1;for(let r=1;r<=e&&Number.isFinite(t);r++)t*=i-r+1,t/=r;return t}function Us(i,u){let e=Math.floor(i),t=Math.floor(u);for(;t!==0;){const r=t;t=e%t,e=r}return e}function oi(i,u){const e=Us(i,u);return e===0?0:Math.abs(i*u)/e}function fa(i){const u=i.length;if(u===1)return i[0][0];if(u===2)return i[0][0]*i[1][1]-i[0][1]*i[1][0];const{rowSwap:e,smallPivotDetected:t,luMatrix:r,permutation:n}=bo(i);if(t)return 0;let s=e?1:-1;for(let a=0;a<n.length;a++)s*=r[a][a];return s===0?0:s}function dm(i){const u=fa(i);return u===0?null:i.length===1?[[1/u]]:_m(i).map(r=>r.map(n=>n/u))}function Cm(i,u,e){return i.filter((t,r)=>r!==u).map(t=>t.filter((r,n)=>n!==e))}function _m(i){const u=i.length,e=Array.from({length:u},()=>new Array(u).fill(0));for(let t=0;t<u;t++)for(let r=0;r<u;r++){const s=((t+r)%2===0?1:-1)*fa(Cm(i,t,r));e[r][t]=s===0?0:s}return e}function tr(i,u){return i.map(e=>u[0].map((t,r)=>e.reduce((n,s,a)=>n+s*u[a][r],0)))}function it(i){return i[0].map((u,e)=>i.map(t=>t[e]))}function Am(i){const{smallPivotDetected:u,luMatrix:e,permutation:t}=bo(i);return u?null:Em(e,t)}function bo(i){const u=it(i),e=u.length,t=u[0].length;let r=!0,n=!1;const s=vs(e,t,0),a=new Array(t).fill(0).map((o,c)=>c);for(let o=0;o<t;o++){for(let m=0;m<o;m++){let d=u[m][o];for(let _=0;_<m;_++)d-=s[m][_]*s[_][o];s[m][o]=d}let c=-1/0,l=o;for(let m=o;m<e;m++){let d=u[m][o];for(let C=0;C<o;C++)d-=s[m][C]*s[C][o];s[m][o]=d;const _=Math.abs(d);_>c&&(c=_,l=m)}if(Math.abs(s[l][o])<1e-11){n=!0;break}l!==o&&([s[o],s[l]]=[s[l],s[o]],[u[o],u[l]]=[u[l],u[o]],[a[o],a[l]]=[a[l],a[o]],r=!r);const f=s[o][o];for(let m=o+1;m<e;m++)s[m][o]/=f}return{rowSwap:r,smallPivotDetected:n,luMatrix:s,permutation:a}}function Em(i,u){const e=u.length,t=vs(e,e,0);for(let n=0;n<e;n++)t[n][n]=1;const r=vs(e,e,0);for(let n=0;n<e;n++){const s=u[n];for(let a=0;a<e;a++)r[n][a]=t[s][a]}for(let n=0;n<e;n++){const s=r[n];for(let a=n+1;a<e;a++){const o=i[a][n];for(let c=0;c<e;c++)r[a][c]-=s[c]*o}}for(let n=e-1;n>=0;n--){const s=r[n],a=i[n][n];for(let o=0;o<e;o++)s[o]/=a;for(let o=0;o<n;o++){const c=i[o][n];for(let l=0;l<e;l++)r[o][l]-=s[l]*c}}return r}function vs(i,u,e){const t=[];for(let r=0;r<i;r++){t[r]=[];for(let n=0;n<u;n++)t[r].push(e)}return t}function bm(i){const u=ym(i);if(!u)return null;const{matrixU:e,matrixS:t,matrixV:r}=u,n=it(e),s=Array.from({length:t.length},()=>new Array(i[0].length).fill(0)),a=Math.max(i.length,i[0].length)*Number.EPSILON*t[0];for(let o=0;o<t.length;o++)Math.abs(t[o])>a&&(s[o][o]=1/t[o]);return tr(r,tr(s,n))}function ym(i){const u=it(i),e=u.length,t=u[0].length;if(e<t)return null;const r=new Array(t).fill(0),n=new Array(t).fill(0),s=Array.from({length:t},()=>new Array(t).fill(0));let a=Number.EPSILON,o=0,c=0,l=0;for(let C=0;C<t;C++){if(r[C]=o,c=ls(u,C,e,C,C),c<=1e-64/a)o=0;else{o=Math.sqrt(c),u[C][C]>=0&&(o=-o);const b=u[C][C]*o-c;u[C][C]-=o;for(let y=C+1;y<t;y++){c=ls(u,C,e,C,y);for(let p=C;p<e;p++)u[p][y]+=c/b*u[p][C]}}if(n[C]=o,c=ui(u,C+1,t,C,C),c<=1e-64/a)o=0;else{o=Math.sqrt(c),u[C][C+1]>=0&&(o=-o);const b=u[C][C+1]*o-c;u[C][C+1]-=o;for(let y=C+1;y<t;y++)r[y]=u[C][y]/b;for(let y=C+1;y<e;y++){c=ui(u,C+1,t,y,C);for(let p=C+1;p<t;p++)u[y][p]+=c*r[p]}}const E=Math.abs(n[C])+Math.abs(r[C]);E>l&&(l=E)}let f=0;for(let C=t-1;C>=0;C--){if(o!==0){for(let E=f;E<t;E++)s[E][C]=u[C][E]/(o*u[C][C+1]);for(let E=f;E<t;E++){c=0;for(let b=f;b<t;b++)c+=u[C][b]*s[b][E];for(let b=f;b<t;b++)s[b][E]+=c*s[b][C]}}for(let E=f;E<t;E++)s[C][E]=0,s[E][C]=0;s[C][C]=1,o=r[C],f=C}for(let C=t-1;C>=0;C--){o=n[C];for(let E=C+1;E<t;E++)u[C][E]=0;if(o!==0){for(let E=C+1;E<t;E++){c=ls(u,C+1,e,C,E);for(let b=C;b<e;b++)u[b][E]+=c/(u[C][C]*o)*u[b][C]}for(let E=C;E<e;E++)u[E][C]/=o}else for(let E=C;E<e;E++)u[E][C]=0;u[C][C]+=1}a*=l;let m=0,d=0,_=0;for(let C=t-1;C>=0;C--)for(let E=0;E<50;E++){let b=!1,y=C;for(;y>=0;y--){if(Math.abs(r[y])<=a){b=!0;break}if(Math.abs(n[y-1])<=a)break}if(!b){let D=0,w=1;for(let L=y;L<C+1&&(m=w*r[L],d=n[L],r[L]*=D,!(Math.abs(m)<=a));L++){_=Br(m,d),n[L]=_,D=d/_,w=-m/_;for(let x=0;x<e;x++){const v=u[x][y-1],U=u[x][L];u[x][y-1]=v*D+U*w,u[x][L]=-v*w+U*D}}}if(y===C){if(n[C]<0){n[C]=-n[C];for(let D=0;D<t;D++)s[D][C]=-s[D][C]}break}if(E>=49)return null;let p=n[y];m=((n[C-1]-n[C])*(n[C-1]+n[C])+(r[C-1]-r[C])*(r[C-1]+r[C]))/(2*r[C]*n[C-1]),_=Br(m,1),m<0?m=((p-n[C])*(p+n[C])+r[C]*(n[C-1]/(m-_)-r[C]))/p:m=((p-n[C])*(p+n[C])+r[C]*(n[C-1]/(m+_)-r[C]))/p;let V=1,S=1;for(let D=y+1;D<C+1;D++){let w=r[D],L=n[D];d=S*w,w*=V,_=Br(m,d),r[D-1]=_,V=m/_,S=d/_,m=p*V+w*S,d=L*S,w=-p*S+w*V,L*=V;for(let x=0;x<t;x++){const v=s[x][D-1],U=s[x][D];s[x][D-1]=v*V+U*S,s[x][D]=-v*S+U*V}_=Br(m,d),n[D-1]=_,V=m/_,S=d/_,m=V*w+S*L,p=-S*w+V*L;for(let x=0;x<e;x++){const v=u[x][D-1],U=u[x][D];u[x][D-1]=v*V+U*S,u[x][D]=-v*S+U*V}}r[y]=0,r[C]=m,n[C]=p}for(let C=0;C<n.length;C++)n[C]<a&&(n[C]=0);for(let C=0;C<t;C++)for(let E=C-1;E>=0;E--)if(n[E]<n[C]){const b=n[E];n[E]=n[C],n[C]=b;for(let y=0;y<u.length;y++){const p=u[y][C];u[y][C]=u[y][E],u[y][E]=p}for(let y=0;y<s.length;y++){const p=s[y][C];s[y][C]=s[y][E],s[y][E]=p}C=E}return{matrixU:u,matrixS:n,matrixV:s}}function Br(i,u){let e=0;return Math.abs(i)>Math.abs(u)?(e=u/i,Math.abs(i)*Math.sqrt(1+e*e)):u!==0?(e=i/u,Math.abs(u)*Math.sqrt(1+e*e)):0}function ls(i,u,e,t,r){let n=0;for(let s=u;s<e;s++)n+=i[s][t]*i[s][r];return n}function ui(i,u,e,t,r){let n=0;for(let s=u;s<e;s++)n+=i[t][s]*i[r][s];return n}const kr=new Map([["I",1],["V",5],["X",10],["L",50],["C",100],["D",500],["M",1e3]]),Rm=new Map([[1,"I"],[4,"IV"],[5,"V"],[9,"IX"],[10,"X"],[40,"XL"],[45,"VL"],[49,"IL"],[50,"L"],[90,"XC"],[95,"VC"],[99,"IC"],[100,"C"],[400,"CD"],[450,"LD"],[490,"XD"],[495,"VD"],[499,"ID"],[500,"D"],[900,"CM"],[950,"LM"],[990,"XM"],[995,"VM"],[999,"IM"],[1e3,"M"]]),pm=[[1,4,5,9,10,40,50,90,100,400,500,900,1e3,4e3],[1,4,5,9,10,40,45,50,90,95,100,400,450,500,900,950,1e3,4e3],[1,4,5,9,10,40,45,49,50,90,95,99,100,400,450,490,500,900,950,990,1e3,4e3],[1,4,5,9,10,40,45,49,50,90,95,99,100,400,450,490,495,500,900,950,990,995,1e3,4e3],[1,4,5,9,10,40,45,49,50,90,95,99,100,400,450,490,495,499,500,900,950,990,995,999,1e3,4e3]];function yo(i,u,e){return i<=0?0:i>=1?1:Hn(i,u,e)}function Nm(i,u,e){return i<=0||i>=1?0:u===1&&e===1?1:u<512&&e<512?i**(u-1)*(1-i)**(e-1)/ha(u,e):Math.exp((u-1)*Math.log(i)+(e-1)*Math.log(1-i)-ga(u,e))}function ma(i,u,e){if(i<=0)return 0;if(i>=1)return 1;const t=1e-8;let r;if(u>=1&&e>=1){const c=i<.5?i:1-i,l=Math.sqrt(-2*Math.log(c));r=(2.30753+l*.27061)/(1+l*(.99229+l*.04481))-l,i<.5&&(r=-r);const f=(r*r-3)/6,m=2/(1/(2*u-1)+1/(2*e-1)),d=r*Math.sqrt(f+m)/m-(1/(2*e-1)-1/(2*u-1))*(f+5/6-2/(3*m));r=u/(u+e*Math.exp(2*d))}else{const c=Math.exp(u*Math.log(u/(u+e)))/u,l=Math.exp(e*Math.log(e/(u+e)))/e,f=c+l;i<c/f?r=(u*f*i)**(1/u):r=1-(e*f*(1-i))**(1/e)}const n=-ga(u,e);let s,a,o;for(let c=0;c<10;c++){if(r===0||r===1)return r;if(s=Hn(r,u,e)-i,a=Math.exp((u-1)*Math.log(r)+(e-1)*Math.log(1-r)+n),o=s/a,r-=a=o/(1-.5*Math.min(1,o*((u-1)/r-(e-1)/(1-r)))),r<=0&&(r=.5*(r+a)),r>=1&&(r=.5*(r+a+1)),Math.abs(a)<t*r&&c>0)break}return r}function Hn(i,u,e){const t=i===0||i===1?0:Math.exp(nt(u+e)-nt(u)-nt(e)+u*Math.log(i)+e*Math.log(1-i));return i<(u+1)/(u+e+2)?t*ci(i,u,e)/u:1-t*ci(1-i,e,u)/e}function ci(i,u,e){let n=1-(u+e)*i/(u+1);Math.abs(n)<1e-8&&(n=1e-8),n=1/n;let s=1,a=n;for(let o=1;o<=100;o++){let c=o*(e-o)*i/((u-1+o*2)*(u+o*2));if(n=1+c*n,Math.abs(n)<1e-8&&(n=1e-8),s=1+c/s,Math.abs(s)<1e-8&&(s=1e-8),n=1/n,a*=n*s,c=-(u+o)*(u+e+o)*i/((u+o*2)*(u+1+o*2)),n=1+c*n,Math.abs(n)<1e-8&&(n=1e-8),s=1+c/s,Math.abs(s)<1e-8&&(s=1e-8),n=1/n,a*=n*s,Math.abs(n*s-1)<1e-8)break}return a}function ha(i,u){return i+u>170?Math.exp(ga(i,u)):zr(i)*zr(u)/zr(i+u)}function ga(i,u){return nt(i)+nt(u)-nt(i+u)}function Ro(i,u,e){if(i<0)return 0;if(i>=u)return 1;if(e<0||e>1||u<=0)return Number.NaN;let t=0;for(let r=0;r<=i;r++)t+=da(r,u,e);return t}function da(i,u,e){return e===0||e===1?u*e===i?1:0:Ht(u,i)*e**i*(1-e)**(u-i)}function Ca(i,u){return i<=0?0:Aa(u/2,i/2)}function Vm(i,u){return i<0?0:i===0&&u===2?.5:Math.exp((u/2-1)*Math.log(i)-i/2-u/2*Math.log(2)-nt(u/2))}function po(i,u){return i<=0?0:i>=1?1/0:2*Oo(i,u/2)}function _a(i,u,e){return i<0?0:Hn(u*i/(u*i+e),u/2,e/2)}function Om(i,u,e){if(i<0)return 0;if(i===0&&u<2)return 1/0;if(i===0&&u===2)return 1;let t=1/ha(u/2,e/2);return t*=(u/e)**(u/2),t*=i**(u/2-1),t*=(1+u/e*i)**(-(u+e)/2),t}function No(i,u,e){return i<=0?0:i>=1?1/0:e/(u*(1/ma(i,u/2,e/2)-1))}function Mm(i,u){return i<0?0:1-Math.exp(-u*i)}function Sm(i,u){return i<0?0:u*Math.exp(-u*i)}function Vo(i,u,e){const t=u.length;let r=0,n=0;for(let m=0;m<t;m++)r+=u[m],n+=e[m];const s=r/t,a=n/t;let o=0,c=0;for(let m=0;m<t;m++)o+=(u[m]-s)*(e[m]-a),c+=(e[m]-a)**2;if(c===0)return 1/0;const l=o/c;return s-l*a+l*i}function zr(i){const u=[-1.716185138865495,24.76565080557592,-379.80425647094563,629.3311553128184,866.9662027904133,-31451.272968848367,-36144.413418691176,66456.14382024054],e=[-30.8402300119739,315.35062697960416,-1015.1563674902192,-3107.771671572311,22538.11842098015,4755.846277527881,-134659.9598649693,-115132.2596755535];let t=0,r=i;if(i>171.6243769536076)return 1/0;if(r<=0){const f=r%1+36e-17;if(f)t=(r&1?-1:1)*Math.PI/Math.sin(Math.PI*f),r=1-r;else return 1/0}const n=r;let s=0,a;r<1?a=r++:a=(r-=s=(r|0)-1)-1;let o=0,c=0;for(let f=0;f<8;++f)o=(o+u[f])*a,c=c*a+e[f];let l=o/c+1;if(n<r)l/=n;else if(n>r)for(let f=0;f<s;++f)l*=r,r++;return t&&(l=t/l),l}function Dm(i,u,e){return i<=0?0:Aa(u,i/e)}function wm(i,u,e){return i<0?0:i===0&&u===1?1/e:Math.exp((u-1)*Math.log(i)-i/e-nt(u)-u*Math.log(e))}function Lm(i,u,e){return i<=0?0:i>=1?1/0:e*Oo(i,u)}function nt(i){const u=[76.18009172947146,-86.50532032941678,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18];let e=i,t=i+5.5;t-=(i+.5)*Math.log(t);let r=1.000000000190015;for(let n=0;n<6;n++)r+=u[n]/++e;return-t+Math.log(2.5066282746310007*r/i)}function Aa(i,u){if(u<0||i<=0)return Number.NaN;const e=1e-30,t=-~(Math.log(i>=1?i:1/i)*8.5+i*.4+17),r=nt(i),n=Math.exp(-u+i*Math.log(u)-r);let s=i,a=1/i,o=a;if(u<i+1){if(n===0)return 0;for(let d=1;d<=t&&(a+=o*=u/++s,!(Math.abs(o)<Math.abs(a)*e));d++);return a*n}if(n===0)return 1;let c=u+1-i,l=1/e,f=1/c,m=f;for(let d=1;d<=t;d++){const _=-d*(d-i);if(c+=2,f=_*f+c,Math.abs(f)<e&&(f=e),l=c+_/l,Math.abs(l)<e&&(l=e),f=1/f,m*=f*l,Math.abs(f*l-1)<e)break}return 1-m*n}function Oo(i,u){if(i<=0)return 0;if(i>=1)return Math.max(100,u+100*Math.sqrt(u));let e;if(u>1){const a=i<.5?i:1-i,o=Math.sqrt(-2*Math.log(a));e=(2.30753+o*.27061)/(1+o*(.99229+o*.04481))-o,i<.5&&(e=-e),e=Math.max(.001,u*(1-1/(9*u)-e/(3*Math.sqrt(u)))**3)}else{const a=1-u*(.253+u*.12);i<a?e=(i/a)**(1/u):e=1-Math.log(1-(i-a)/(1-a))}const t=1e-8,r=nt(u);let n,s;for(let a=0;a<12;a++){if(e<=0)return 0;if(n=Aa(u,e)-i,u>1?s=Math.exp((u-1)*(Math.log(u-1)-1)-r)*Math.exp(-(e-(u-1))+(u-1)*(Math.log(e)-Math.log(u-1))):s=Math.exp(-e+(u-1)*Math.log(e)-r),s!==0&&(s=n/s/(1-.5*Math.min(1,n/s*((u-1)/e-1)))),e-=s,e<=0&&(e=.5*(e+s)),Math.abs(s)<t*e)break}return e}function xm(i,u,e,t){let r=0;for(let n=0;n<=i;n++)r+=Ea(n,u,e,t);return r}function Ea(i,u,e,t){return u-i>t-e?0:Ht(e,i)*Ht(t-e,u-i)/Ht(t,u)}function Mo(i,u,e){return i<0?0:.5+.5*Yt((Math.log(i)-u)/Math.sqrt(2*e*e))}function Pm(i,u,e){return i<=0?0:Math.exp(-Math.log(i)-.5*Math.log(2*Math.PI)-Math.log(e)-(Math.log(i)-u)**2/(2*e*e))}function jm(i,u,e){return Math.exp(Gn(i,u,e))}function Um(i,u,e){if(i<0)return 0;let t=0;for(let r=0;r<=i;r++)t+=ba(r,u,e);return t}function ba(i,u,e){return i<0?0:Ht(i+u-1,u-1)*e**u*(1-e)**i}function Lr(i,u,e){return .5*(1+Yt((i-u)/Math.sqrt(2*e*e)))}function So(i,u,e){return Math.exp(-.5*Math.log(2*Math.PI)-Math.log(e)-(i-u)**2/(2*e*e))}function Gn(i,u,e){return-1.4142135623730951*e*gm(2*i)+u}function vm(i,u){let e=0;for(let t=0;t<=i;t++)e+=Do(t,u);return e}function Do(i,u){return Math.exp(-u)*u**i/er(i)}function xr(i,u){const e=.5*Hn(u/(i**2+u),u/2,.5);return i<0?e:1-e}function Tm(i,u){const e=(1+i**2/u)**(-(u+1)/2);return 1/(Math.sqrt(u)*ha(.5,u/2))*e}function Wn(i,u){let e=ma(2*Math.min(i,1-i),.5*u,.5);return e=Math.sqrt(u*(1-e)/e),i>.5?e:-e}function qe(i,u,e,t,r){const n=[],s=[];let a=!0;for(let o=0;o<e;o++){const c=Math.floor(o/t),l=o%t,f=Math.floor(o/r),m=o%r,d=i.isArray()?i.get(c,l):i,_=u.isArray()?u.get(f,m):u;if(d.isError())return{isError:!0,errorObject:d,array1Values:n,array2Values:s,noCalculate:a};if(_.isError())return{isError:!0,errorObject:_,array1Values:n,array2Values:s,noCalculate:a};if(d.isNull()||_.isNull()||d.isBoolean()||_.isBoolean())continue;const C=d.getValue(),E=_.getValue();!M.isRealNum(C)||!M.isRealNum(E)||(n.push(+C),s.push(+E),a=!1)}return{isError:!1,errorObject:null,array1Values:n,array2Values:s,noCalculate:a}}function Qn(i,u,e){const t=i.isArray()?i.getRowCount():1,r=i.isArray()?i.getColumnCount():1;let n=t,s=r;if(u&&!u.isNull()&&(n=u.isArray()?u.getRowCount():1,s=u.isArray()?u.getColumnCount():1,t===1&&s!==r||r===1&&n!==t||t!==1&&r!==1&&(n!==t||s!==r)))return{isError:!0,errorObject:g.create(h.REF)};if(e&&!e.isNull()){const a=e.isArray()?e.getRowCount():1,o=e.isArray()?e.getColumnCount():1;if(t===1&&n>1&&a!==n||r===1&&s>1&&o!==s)return{isError:!0,errorObject:g.create(h.REF)}}return{isError:!1,errorObject:null}}function ut(i){const u=i.isArray()?i.getRowCount():1,e=i.isArray()?i.getColumnCount():1,t=[];for(let r=0;r<u;r++){t[r]=[];for(let n=0;n<e;n++){const s=i.isArray()?i.get(r,n):i;if(s.isError()||s.isNull()||s.isBoolean()||s.isString())return g.create(h.VALUE);t[r].push(+s.getValue())}}return t}function qn(i,u){const e=[];let t=1;for(let r=0;r<i;r++){e[r]=[];for(let n=0;n<u;n++)e[r].push(t++)}return e}function Kn(i,u,e,t){let r=u;t&&(r=u.map(a=>Math.log(a)));let n,s;return e?{slope:n,intercept:s}=Im(i,r):{slope:n,intercept:s}=Fm(i,r),t&&(n=Math.exp(n),s=Math.exp(s)),Number.isNaN(n)&&!e&&(n=0),{slope:n,intercept:s,Y:r}}function Im(i,u){const e=u.length;let t=0,r=0,n=0,s=0;for(let l=0;l<e;l++)t+=i[l],r+=u[l],n+=i[l]*i[l],s+=i[l]*u[l];const o=(e*s-t*r)/(e*n-t*t),c=1/e*r-o*(1/e)*t;return{slope:o,intercept:c}}function Fm(i,u){const e=[[...i]],t=[...u];let r=e.length,n=e[0].length,s=Math.min(r,n);const a=new Array(s).fill(0);for(let c=0;c<s;c++){const l=e[c];let f=0;for(let d=0;d<n;d++)f+=l[d]**2;const m=l[c]<0?Math.sqrt(f):-Math.sqrt(f);if(a[c]=m,m!==0){l[c]-=m;for(let d=c+1;d<r;d++){let _=0;for(let C=c;C<n;C++)_-=e[d][C]*l[C];_/=m*l[c];for(let C=c;C<n;C++)e[d][C]-=_*l[C]}}}r=e.length,n=e[0].length,s=Math.min(r,n);const o=new Array(r).fill(0);for(let c=0;c<s;c++){const l=e[c];let f=0;for(let m=0;m<n;m++)f+=t[m]*l[m];f/=a[c]*l[c];for(let m=0;m<n;m++)t[m]+=f*l[m]}for(let c=a.length-1;c>=0;c--){t[c]/=a[c];const l=t[c],f=e[c];o[c]=l;for(let m=0;m<c;m++)t[m]-=l*f[m]}return{slope:o[0],intercept:0}}function Xn(i,u,e,t,r){const n=i.length===1&&i[0].length>1;let s=i;r&&(s=i.map(C=>C.map(E=>Math.log(E))));let a=u,o=e;n&&(s=it(s),a=it(a),o=it(o)),t&&(a=a.map(C=>[...C,1]));const c=it(a),l=tr(c,a),f=tr(c,s);let m=Am(l);if(!m&&(m=bm(l),!m))return g.create(h.NA);let d=tr(m,f);t||d.push([0]),d=it(d);const _=d[0].pop();if(d[0].reverse(),d[0].push(_),r)for(let C=0;C<d[0].length;C++)d[0][C]=Math.exp(d[0][C]);return{coefficients:d,Y:s,X:a,newX:o,XTXInverse:m}}class wo extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5)}calculate(e,t,r,n,s){let a=n!=null?n:R.create(0),o=s!=null?s:R.create(1);a.isNull()&&(a=R.create(0)),o.isNull()&&(o=R.create(1));const c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),f=O(c,l,e,g.create(h.NA)),m=O(c,l,t,g.create(h.NA)),d=O(c,l,r,g.create(h.NA)),_=O(c,l,a,g.create(h.NA)),C=O(c,l,o,g.create(h.NA)),E=f.mapValue((b,y,p)=>{const V=m.get(y,p),S=d.get(y,p),D=_.get(y,p),w=C.get(y,p);return this._handleSingleObject(b,V,S,D,w)});return c===1&&l===1?E.get(0,0):E}_handleSingleObject(e,t,r,n,s){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(n.isError())return n;if(s.isError())return s;const{isError:a,errorObject:o,variants:c}=F(e,t,r,n,s);if(a)return o;const[l,f,m,d,_]=c,C=+l.getValue(),E=+f.getValue(),b=+m.getValue(),y=+d.getValue(),p=+_.getValue();if(E<=0||b<=0||C<=0||C>=1||y>=p)return g.create(h.NUM);const V=ma(C,E,b)*(p-y)+y;return R.create(V)}}class Lo extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:b.isError()?b:y.isError()?y:this._handleSingleObject(d,E,b,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=F(e,t,r,n);if(s)return a;const[c,l,f,m]=o,d=Math.floor(+c.getValue()),_=Math.floor(+l.getValue()),C=+f.getValue(),E=+m.getValue();if(d<0||d>_||C<0||C>1)return g.create(h.NUM);let b;return E?b=Ro(d,_,C):b=da(d,_,C),R.create(b)}}class xo extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=Math.floor(+o.getValue()),m=+c.getValue(),d=+l.getValue();if(f<0||m<=0||m>=1||d<=0||d>=1)return g.create(h.NUM);let _=0;for(;_<=f&&!(Ro(_,f,m)>=d);)_++;return R.create(_)}}class Po extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);return c.isError()?c:m.isError()?m:this._handleSingleObject(c,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=F(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=Math.floor(+o.getValue());if(c<0||l<1||l>10**10)return g.create(h.NUM);const f=1-Ca(c,l);return R.create(f)}}class jo extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);return c.isError()?c:m.isError()?m:this._handleSingleObject(c,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=F(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=Math.floor(+o.getValue());if(c<0||c>1||l<1||l>10**10)return g.create(h.NUM);const f=po(1-c,l);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):R.create(f)}}class Uo extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let c=t;if(t.isArray()&&s===1&&a===1&&(c=t.get(0,0)),c.isError())return c;if(r*n===1||s*a===1)return o.isNull()||c.isNull()?g.create(h.VALUE):g.create(h.NA);if(r*n!==s*a)return g.create(h.NA);const{isError:l,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=qe(e,t,r*n,n,a);return l?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d,r,n)}_getResult(e,t,r,n){let s=0;for(let c=0;c<e.length;c++){if(t[c]===0)return g.create(h.DIV_BY_ZERO);s+=(e[c]-t[c])**2/t[c]}let a=(r-1)*(n-1);r===1?a=n-1:n===1&&(a=r-1);const o=1-Ca(s,a);return R.create(o)}}class vo extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);if(f.isError())return f;if(_.isError())return _;if(C.isError())return C;const{isError:E,errorObject:b,variants:y}=F(f,_,C);if(E)return b;const[p,V,S]=y,D=+p.getValue(),w=+V.getValue(),L=Math.floor(+S.getValue());if(D<=0||D>=1||w<=0||L<1)return g.create(h.NUM);const x=Math.abs(Gn(D/2,0,1)*w/Math.sqrt(L));return R.create(x)});return n===1&&s===1?l.get(0,0):l}}class To extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let c=t;if(t.isArray()&&s===1&&a===1&&(c=t.get(0,0)),c.isError())return c;if((r*n===1||s*a===1)&&(o.isNull()||c.isNull()))return g.create(h.VALUE);if(r*n!==s*a)return g.create(h.NA);const{isError:l,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=qe(e,t,r*n,n,a);return l?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){if(e.length===0)return g.create(h.DIV_BY_ZERO);const r=e.length;let n=0,s=0;for(let l=0;l<r;l++)n+=e[l],s+=t[l];const a=n/r,o=s/r;let c=0;for(let l=0;l<r;l++){const f=e[l]-a,m=t[l]-o;c+=f*m}return R.create(c/r)}}class Io extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=+c.getValue(),d=+l.getValue();if(f<0||m<=0)return g.create(h.NUM);let _;return d?_=Mm(f,m):_=Sm(f,m),R.create(_)}}class Fo extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=Math.floor(+c.getValue()),d=Math.floor(+l.getValue());if(f<0||m<1||m>10**10||d<1||d>10**10)return g.create(h.NUM);const _=1-_a(f,m,d);return R.create(_)}}class Bo extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=Math.floor(+c.getValue()),d=Math.floor(+l.getValue());if(f<0||f>1||m<1||m>10**10||d<1||d>10**10)return g.create(h.NUM);const _=No(1-f,m,d);return Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):R.create(_)}}class ko extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variance:s,ns1:a}=this._getValues(e);if(r)return n;const{isError:o,errorObject:c,variance:l,ns1:f}=this._getValues(t);if(o)return c;let m=2*(1-_a(s/l,a,f));return m>1&&(m=2-m),R.create(m)}_getValues(e){let t=0,r=0;const n=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1;if(n===1&&s===1){const f=e.isArray()?e.get(0,0):e;return f.isError()?{isError:!0,errorObject:f,variance:t,ns1:r}:f.isNull()?{isError:!0,errorObject:g.create(h.VALUE),variance:t,ns1:r}:{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),variance:t,ns1:r}}const a=[];let o=0;for(let f=0;f<n;f++)for(let m=0;m<s;m++){const d=e.isArray()?e.get(f,m):e;if(d.isError())return{isError:!0,errorObject:d,variance:t,ns1:r};if(d.isNull()||d.isBoolean())continue;const _=d.getValue();M.isRealNum(_)&&(a.push(+_),o+=+_)}if(a.length<=1)return{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),variance:t,ns1:r};const c=o/a.length;let l=0;for(let f=0;f<a.length;f++)l+=(a[f]-c)**2;return r=a.length-1,t=l/r,t===0?{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),variance:t,ns1:r}:{isError:!1,errorObject:null,variance:t,ns1:r}}}class $o extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:b.isError()?b:y.isError()?y:this._handleSingleObject(d,E,b,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=F(e,t,r,n);if(s)return a;const[c,l,f,m]=o,d=+c.getValue(),_=+l.getValue(),C=+f.getValue(),E=+m.getValue();if(d<0||_<=0||C<=0)return g.create(h.NUM);let b;return E?b=Dm(d,_,C):b=wm(d,_,C),R.create(b)}}class Yo extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=+c.getValue(),d=+l.getValue();if(f<0||f>1||m<=0||d<=0)return g.create(h.NUM);const _=Lm(f,m,d);return Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):R.create(_)}}class Ho extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=+c.getValue(),d=+l.getValue();if(f<=0||f>=1||d<=0)return g.create(h.NUM);const _=jm(f,m,d);return Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):R.create(_)}}class Go extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t={};let r=0,n=1;for(let s=0;s<e.length;s++){const a=e[s];if(a.isError())return a;if(a.isString()){const l=a.convertToNumberObjectValue();if(l.isError())return l}const o=a.isArray()?a.getRowCount():1,c=a.isArray()?a.getColumnCount():1;for(let l=0;l<o;l++)for(let f=0;f<c;f++){const m=a.isArray()?a.get(l,f):a;if(m.isError())return m;if(m.isNull()||m.isBoolean()||m.isString())continue;const d=m.getValue();M.isRealNum(d)&&(t[+d]?(t[+d].count++,t[+d].count>n&&(n=t[+d].count)):t[+d]={count:1,order:r++})}}return r===0||n===1?new g(h.NA):this._getResult(t,n)}_getResult(e,t){const r=Object.entries(e).filter(([n,{count:s}])=>s===t).sort((n,s)=>n[1].order-s[1].order).map(([n])=>+n);return R.create(r[0])}}class Wo extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:b.isError()?b:y.isError()?y:this._handleSingleObject(d,E,b,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=F(e,t,r,n);if(s)return a;const[c,l,f,m]=o,d=+c.getValue(),_=+l.getValue(),C=+f.getValue(),E=+m.getValue();if(C<=0)return g.create(h.NUM);let b;return E?b=Lr(d,_,C):b=So(d,_,C),R.create(b)}}class Qo extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=+c.getValue(),d=+l.getValue();if(f<=0||f>=1||d<=0)return g.create(h.NUM);const _=Gn(f,m,d);return R.create(_)}}class qo extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return e.getRowCount()===1&&e.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=F(e);if(t)return r;const[s]=n,a=+s.getValue();if(a<=0||a>=1)return g.create(h.NUM);const o=Gn(a,0,1);return R.create(o)}}class Ko extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=this._getValues(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(e instanceof g)return e;const{isError:r,errorObject:n,variants:s}=F(t);if(r)return n;const[a]=s,o=+a.getValue(),c=e.length;if(o<0||o>1)return g.create(h.NUM);const l=o*(c-1),f=Math.floor(l),m=l-f;if(m===0)return R.create(e[f]);const d=e[f]+m*(e[f+1]-e[f]);return R.create(d)}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()||o.isBoolean()||o.isString())continue;const c=o.getValue();M.isRealNum(c)&&n.push(+c)}return n.length===0?g.create(h.NUM):n.sort((s,a)=>s-a)}}class Xo extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=this._getValues(e);let s=r!=null?r:R.create(3);s.isNull()&&(s=R.create(3));const a=Math.max(t.isArray()?t.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(t.isArray()?t.getColumnCount():1,s.isArray()?s.getColumnCount():1),c=O(a,o,t,g.create(h.NA)),l=O(a,o,s,g.create(h.NA)),f=c.mapValue((m,d,_)=>{const C=l.get(d,_);return m.isError()?m:C.isError()?C:this._handleSingleObject(n,m,C)});return a===1&&o===1?f.get(0,0):f}_handleSingleObject(e,t,r){if(e instanceof g)return e;const{isError:n,errorObject:s,variants:a}=F(t,r);if(n)return s;const[o,c]=a,l=+o.getValue(),f=Math.floor(+c.getValue()),m=e.length;if(m===0||l<e[0]||l>e[m-1])return g.create(h.NA);if(m===1)return l===e[0]?R.create(1):g.create(h.NA);let d=0,_=!1,C=0;for(;!_&&C<m;)l===e[C]?(d=C/(m-1),_=!0):l>e[C]&&C+1<m&&l<e[C+1]&&(d=(C+(l-e[C])/(e[C+1]-e[C]))/(m-1),_=!0),C++;return _?f<1?g.create(h.NUM):(d=He(d,f),R.create(d)):g.create(h.NA)}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()||o.isBoolean())continue;const c=o.getValue();M.isRealNum(c)&&n.push(+c)}return n.sort((s,a)=>s-a)}}class Zo extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=Math.floor(+o.getValue()),m=+c.getValue(),d=+l.getValue();if(f<0||m<0)return g.create(h.NUM);let _;return d?_=vm(f,m):_=Do(f,m),R.create(_)}}class zo extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=this._getValues(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(e instanceof g)return e;const{isError:r,errorObject:n,variants:s}=F(t);if(r)return n;const[a]=s,o=Math.floor(+a.getValue());if(o<0||o>4)return g.create(h.NUM);const c=o/4,l=e.length,f=c*(l-1),m=Math.floor(f),d=f-m;if(d===0)return R.create(e[m]);const _=e[m]+d*(e[m+1]-e[m]);return R.create(_)}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()||o.isBoolean())continue;const c=o.getValue();M.isRealNum(c)&&n.push(+c)}return n.length===0?g.create(h.NUM):n.sort((s,a)=>s-a)}}class Jo extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.std()}}class eu extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.std(1)}}class tu extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);return c.isError()?c:m.isError()?m:this._handleSingleObject(c,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=F(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=Math.floor(+o.getValue());if(c<=0||c>1||l<1||l>10**10)return g.create(h.NUM);const f=Math.abs(Wn(c/2,l));return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):R.create(f)}}class ru extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a,array1Values:o,array2Values:c}=this._handleArray1AndArray2(e,t),l=this._getArrayValues(e),f=this._getArrayValues(t),m=Math.max(r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),d=Math.max(r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),_=O(m,d,r,g.create(h.NA)),C=O(m,d,n,g.create(h.NA)),E=_.mapValue((b,y,p)=>{const V=C.get(y,p);if(e.isError())return e;if(t.isError())return t;if(b.isError())return b;if(V.isError())return V;const{isError:S,errorObject:D,variants:w}=F(b,V);if(S)return D;const[L,x]=w,v=Math.floor(+L.getValue()),U=Math.floor(+x.getValue());return![1,2].includes(v)||![1,2,3].includes(U)?g.create(h.NUM):U===1&&s?a:U!==1&&l instanceof g?l:U!==1&&f instanceof g?f:this._handleSingleObject(U===1?o:l,U===1?c:f,v,U)});return m===1&&d===1?E.get(0,0):E}_handleSingleObject(e,t,r,n){if(e.length<2||t.length<2)return g.create(h.DIV_BY_ZERO);const{isError:s,errorObject:a,x:o,degFreedom:c}=this._getTDistParamByArrayValues(e,t,n);if(s)return a;let l=xr(-o,c);return r===2&&(l*=2),Number.isNaN(l)||!Number.isFinite(l)?g.create(h.NUM):R.create(l)}_getArrayValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()){if(t*r===1)return g.create(h.VALUE);continue}o.isBoolean()||o.isString()||n.push(+o.getValue())}return n}_handleArray1AndArray2(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return{isError:!0,errorObject:o,array1Values:[],array2Values:[]};let c=t;if(t.isArray()&&s===1&&a===1&&(c=t.get(0,0)),c.isError())return{isError:!0,errorObject:c,array1Values:[],array2Values:[]};if((r*n===1||s*a===1)&&(o.isNull()||c.isNull()))return{isError:!0,errorObject:g.create(h.VALUE),array1Values:[],array2Values:[]};if(r*n!==s*a)return{isError:!0,errorObject:g.create(h.NA),array1Values:[],array2Values:[]};const{isError:l,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=qe(e,t,r*n,n,a);return l?{isError:!0,errorObject:f,array1Values:[],array2Values:[]}:_||m.length<2?{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),array1Values:[],array2Values:[]}:{isError:!1,errorObject:null,array1Values:m,array2Values:d}}_getTDistParamByArrayValues(e,t,r){return r===1?this._getTDistParamByType1(e,t):r===2?this._getTDistParamByType2(e,t):this._getTDistParamByType3(e,t)}_getTDistParamByType1(e,t){const r=e.length;let n=0,s=0,a=0;for(let m=0;m<r;m++)n+=e[m],s+=t[m],a+=(e[m]-t[m])**2;const o=n-s,c=r*a-o**2,l=r-1;return c===0?{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),x:0,degFreedom:l}:{isError:!1,errorObject:null,x:Math.abs(o)*Math.sqrt(l/c),degFreedom:l}}_getTDistParamByType2(e,t){const r=e.length,n=t.length;let s=0,a=0;for(let E=0;E<r;E++)s+=e[E],a+=e[E]**2;let o=0,c=0;for(let E=0;E<n;E++)o+=t[E],c+=t[E]**2;const l=a-s**2/r,f=c-o**2/n,m=Math.sqrt(l+f);if(m===0)return{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),x:0,degFreedom:0};const d=r-1+n-1,_=Math.sqrt(r*n*d/(r+n));return{isError:!1,errorObject:null,x:Math.abs(s/r-o/n)/m*_,degFreedom:d}}_getTDistParamByType3(e,t){const r=e.length,n=t.length;let s=0,a=0;for(let C=0;C<r;C++)s+=e[C],a+=e[C]**2;let o=0,c=0;for(let C=0;C<n;C++)o+=t[C],c+=t[C]**2;const l=(a-s**2/r)/(r*(r-1)),f=(c-o**2/n)/(n*(n-1));if(l+f===0)return{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),x:0,degFreedom:0};const m=l/(l+f),d=Math.abs(s/r-o/n)/Math.sqrt(l+f),_=1/(m**2/(r-1)+(1-m)**2/(n-1));return{isError:!1,errorObject:null,x:d,degFreedom:_}}}class nu extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.var()}}class su extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.var(1)}}class au extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:b.isError()?b:y.isError()?y:this._handleSingleObject(d,E,b,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=F(e,t,r,n);if(s)return a;const[c,l,f,m]=o,d=+c.getValue(),_=+l.getValue(),C=+f.getValue(),E=+m.getValue();if(d<0||_<=0||C<=0)return g.create(h.NUM);const b=Math.exp(-((d/C)**_));let y;return E?y=1-b:y=_/C**_*d**(_-1)*b,Number.isNaN(y)||!Number.isFinite(y)?g.create(h.NUM):R.create(y)}}class iu extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=this._getArrayValues(e),s=Math.max(t.isArray()?t.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1),a=Math.max(t.isArray()?t.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1),o=O(s,a,t,g.create(h.NA)),c=r?O(s,a,r,g.create(h.NA)):void 0,l=o.mapValue((f,m,d)=>{if(n instanceof g)return n;if(f.isError())return f;const _=r?c.get(m,d):void 0;return _!=null&&_.isError()?_:n.length===0?g.create(h.NA):n.length===1?g.create(h.DIV_BY_ZERO):this._handleSingleObject(n,f,_)});return s===1&&a===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(t);if(n)return s;const[o]=a,c=+o.getValue(),l=e.length;let f=0,m=0;for(let E=0;E<l;E++)f+=e[E],m+=e[E]**2;let d=0;if(r!==void 0){const{isError:E,errorObject:b,variants:y}=F(r);if(E)return b;const[p]=y;d=+p.getValue()}else{const E=f/l;d=Math.sqrt((m-2*E*f+l*E**2)/(l-1))}if(d<=0)return g.create(h.NUM);const _=(f/l-c)/(d/Math.sqrt(l)),C=1-Lr(_,0,1);return Number.isNaN(C)||!Number.isFinite(C)?g.create(h.NUM):R.create(C)}_getArrayValues(e){const t=[],r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1;for(let s=0;s<r;s++)for(let a=0;a<n;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()||o.isBoolean()||o.isString())continue;const c=o.getValue();M.isRealNum(c)&&t.push(+c)}return t}}class Bm extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5)}calculate(e,t,r,n,s){let a=n!=null?n:R.create(0),o=s!=null?s:R.create(1);a.isNull()&&(a=R.create(0)),o.isNull()&&(o=R.create(1));const c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),f=O(c,l,e,g.create(h.NA)),m=O(c,l,t,g.create(h.NA)),d=O(c,l,r,g.create(h.NA)),_=O(c,l,a,g.create(h.NA)),C=O(c,l,o,g.create(h.NA)),E=f.mapValue((b,y,p)=>{const V=m.get(y,p),S=d.get(y,p),D=_.get(y,p),w=C.get(y,p);return this._handleSingleObject(b,V,S,D,w)});return c===1&&l===1?E.get(0,0):E}_handleSingleObject(e,t,r,n,s){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(n.isError())return n;if(s.isError())return s;const{isError:a,errorObject:o,variants:c}=F(e,t,r,n,s);if(a)return o;const[l,f,m,d,_]=c,C=+l.getValue(),E=+f.getValue(),b=+m.getValue(),y=+d.getValue(),p=+_.getValue();if(E<=0||b<=0||C<y||C>p||y===p)return g.create(h.NUM);const V=yo((C-y)/(p-y),E,b);return R.create(V)}}var fe=(i=>(i.BETADIST="BETADIST",i.BETAINV="BETAINV",i.BINOMDIST="BINOMDIST",i.CHIDIST="CHIDIST",i.CHIINV="CHIINV",i.CHITEST="CHITEST",i.CONFIDENCE="CONFIDENCE",i.COVAR="COVAR",i.CRITBINOM="CRITBINOM",i.EXPONDIST="EXPONDIST",i.FDIST="FDIST",i.FINV="FINV",i.FTEST="FTEST",i.GAMMADIST="GAMMADIST",i.GAMMAINV="GAMMAINV",i.HYPGEOMDIST="HYPGEOMDIST",i.LOGINV="LOGINV",i.LOGNORMDIST="LOGNORMDIST",i.MODE="MODE",i.NEGBINOMDIST="NEGBINOMDIST",i.NORMDIST="NORMDIST",i.NORMINV="NORMINV",i.NORMSDIST="NORMSDIST",i.NORMSINV="NORMSINV",i.PERCENTILE="PERCENTILE",i.PERCENTRANK="PERCENTRANK",i.POISSON="POISSON",i.QUARTILE="QUARTILE",i.RANK="RANK",i.STDEV="STDEV",i.STDEVP="STDEVP",i.TDIST="TDIST",i.TINV="TINV",i.TTEST="TTEST",i.VAR="VAR",i.VARP="VARP",i.WEIBULL="WEIBULL",i.ZTEST="ZTEST",i))(fe||{});class km extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:b.isError()?b:y.isError()?y:this._handleSingleObject(d,E,b,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=F(e,t,r,n);if(s)return a;const[c,l,f,m]=o,d=Math.floor(+c.getValue()),_=Math.floor(+l.getValue()),C=Math.floor(+f.getValue()),E=Math.floor(+m.getValue());if(d<0||d>_||d>C||d<_-E+C||_<=0||_>E||C<=0||C>E||E<=0)return g.create(h.NUM);let b=Ea(d,_,C,E);return Number.isNaN(b)&&(b=0),R.create(b)}}class $m extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=+c.getValue(),d=+l.getValue();if(f<=0||d<=0)return g.create(h.NUM);const _=Mo(f,m,d);return R.create(_)}}class Ym extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=Math.floor(+o.getValue()),m=Math.floor(+c.getValue()),d=+l.getValue();if(f<0||m<1||d<=0||d>=1)return g.create(h.NUM);const _=ba(f,m,d);return R.create(_)}}class Hm extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return e.getRowCount()===1&&e.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=F(e);if(t)return r;const[s]=n,a=+s.getValue(),o=Lr(a,0,1);return R.create(o)}}class Gm extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){let n=e;n.isReferenceObject()&&(n=n.toArrayValueObject());const{refHasError:s,refErrorObject:a,refNumbers:o}=this._checkRefReferenceObject(t);let c=r!=null?r:R.create(0);c.isReferenceObject()&&(c=c.toArrayValueObject());const l=Math.max(n.isArray()?n.getRowCount():1,c.isArray()?c.getRowCount():1),f=Math.max(n.isArray()?n.getColumnCount():1,c.isArray()?c.getColumnCount():1),m=O(l,f,n,g.create(h.NA)),d=O(l,f,c,g.create(h.NA)),_=m.map((C,E,b)=>{const y=d.get(E,b);if(!e.isReferenceObject()&&e.isNull())return g.create(h.NA);if(s)return a;if(y.isError())return y;const p=+C.getValue(),V=+y.getValue();if(Number.isNaN(p)||Number.isNaN(V))return g.create(h.VALUE);const D=o.sort((w,L)=>V?w-L:L-w).indexOf(p);return D===-1?g.create(h.NA):R.create(D+1)});return l===1&&f===1?_.get(0,0):_}_checkRefReferenceObject(e){let t=!1,r=g.create(h.NA);const n=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(a=>{const o=a;if(o.isError())return t=!0,r=o,!1;if(o.isNull()||o.isBoolean())return!0;const c=+o.getValue();if(Number.isNaN(c))return!0;n.push(c)}),{refHasError:t,refErrorObject:r,refNumbers:n}):{refHasError:!0,refErrorObject:r,refNumbers:n}}}class Wm extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=Math.floor(+c.getValue()),d=Math.floor(+l.getValue());if(f<0||m<1||m>10**10||d<1||d>2)return g.create(h.NUM);let _=xr(-f,m);return d===2&&(_*=2),Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):R.create(_)}}const ou=[[Bm,fe.BETADIST],[wo,fe.BETAINV],[Lo,fe.BINOMDIST],[Po,fe.CHIDIST],[jo,fe.CHIINV],[Uo,fe.CHITEST],[vo,fe.CONFIDENCE],[To,fe.COVAR],[xo,fe.CRITBINOM],[Io,fe.EXPONDIST],[Fo,fe.FDIST],[Bo,fe.FINV],[ko,fe.FTEST],[$o,fe.GAMMADIST],[Yo,fe.GAMMAINV],[km,fe.HYPGEOMDIST],[$m,fe.LOGNORMDIST],[Ho,fe.LOGINV],[Go,fe.MODE],[Ym,fe.NEGBINOMDIST],[Wo,fe.NORMDIST],[Qo,fe.NORMINV],[Hm,fe.NORMSDIST],[qo,fe.NORMSINV],[Ko,fe.PERCENTILE],[Xo,fe.PERCENTRANK],[Zo,fe.POISSON],[zo,fe.QUARTILE],[Gm,fe.RANK],[eu,fe.STDEV],[Jo,fe.STDEVP],[Wm,fe.TDIST],[tu,fe.TINV],[ru,fe.TTEST],[su,fe.VAR],[nu,fe.VARP],[au,fe.WEIBULL],[iu,fe.ZTEST]],uu=[];var cu=(i=>(i.CUBEKPIMEMBER="CUBEKPIMEMBER",i.CUBEMEMBER="CUBEMEMBER",i.CUBEMEMBERPROPERTY="CUBEMEMBERPROPERTY",i.CUBERANKEDMEMBER="CUBERANKEDMEMBER",i.CUBESET="CUBESET",i.CUBESETCOUNT="CUBESETCOUNT",i.CUBEVALUE="CUBEVALUE",i))(cu||{});class lu extends N{isCustom(){return!0}}class Qm extends lu{isAsync(){return!0}}function Ke(i){const u=[];if(i.isError())return{isError:!0,errorObject:i,databaseValues:u};const e=i.isArray()?i.getRowCount():1,t=i.isArray()?i.getColumnCount():1;if(e<2)return{isError:!0,errorObject:g.create(h.VALUE),databaseValues:u};for(let r=0;r<e;r++){const n=[];for(let s=0;s<t;s++){const a=i.get(r,s);if(a.isNull()){n.push(null);continue}let o=`${a.getValue()}`;if(a.isBoolean()&&(o=o.toLocaleUpperCase()),a.isNumber()||M.isRealNum(o)){n.push(+o);continue}n.push(o)}u.push(n)}return{isError:!1,errorObject:null,databaseValues:u}}function Xe(i,u){let e=-1;if(i.isError())return{isError:!0,errorObject:i,fieldIndex:e};const t=i.isArray()?i.getRowCount():1,r=i.isArray()?i.getColumnCount():1;if(t>1||r>1)return{isError:!0,errorObject:g.create(h.VALUE),fieldIndex:e};const n=i.isArray()?i.get(0,0):i;let s=`${n.getValue()}`;if(n.isNull()?s=0:n.isBoolean()?s=n.getValue()?1:0:(n.isNumber()||M.isRealNum(s))&&(s=Math.floor(+s)),typeof s=="number"){if(s<1||s>u[0].length)return{isError:!0,errorObject:g.create(h.VALUE),fieldIndex:e};e=s-1}else if(e=u[0].findIndex(a=>a===null?!1:`${a}`.toLocaleLowerCase()===s.toLocaleLowerCase()),e===-1)return{isError:!0,errorObject:g.create(h.VALUE),fieldIndex:e};return{isError:!1,errorObject:null,fieldIndex:e}}function Ze(i){const u=[];if(i.isError())return{isError:!0,errorObject:i,criteriaValues:u};const e=i.isArray()?i.getRowCount():1,t=i.isArray()?i.getColumnCount():1;if(e<2)return{isError:!0,errorObject:g.create(h.VALUE),criteriaValues:u};for(let r=0;r<e;r++){const n=[];for(let s=0;s<t;s++){const a=i.get(r,s);if(a.isNull()){n.push(null);continue}const o=`${a.getValue()}`;if(a.isBoolean()){n.push(a.getValue()?1:0);continue}if(a.isNumber()||M.isRealNum(o)){n.push(+o);continue}n.push(o)}u.push(n)}return{isError:!1,errorObject:null,criteriaValues:u}}function ze(i,u,e){const t=i.length,r=i[0].length,n={};let s=!1;for(let a=1;a<t;a++){let o=!0;for(let c=0;c<r;c++){const l=i[a][c];if(l===null)continue;let f=n[c];if(f===void 0){const m=i[0][c];f=u[0].findIndex(d=>d===null||m===null?!1:`${d}`.toLocaleLowerCase()===`${m}`.toLocaleLowerCase()),n[c]=f}if(f===-1&&(typeof l=="string"||l===0)){o=!1;break}else if(f>-1){const m=u[e][f];if(m===null){o=!1;break}const[d,_]=ta(`${l}`);if(!lt.create(`${m}`).compare(_,d).getValue()){o=!1;break}}}if(o){s=!0;break}}return s}class qm extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=Ke(e);if(n)return s;const{isError:o,errorObject:c,fieldIndex:l}=Xe(t,a);if(o)return c;const{isError:f,errorObject:m,criteriaValues:d}=Ze(r);if(f)return m;let _=0,C=0;for(let E=1;E<a.length;E++){const b=a[E][l];typeof b=="number"&&ze(d,a,E)&&(_+=b,C++)}return C===0?g.create(h.DIV_BY_ZERO):R.create(_/C)}}class Km extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=Ke(e);if(n)return s;const{isError:o,errorObject:c,fieldIndex:l}=Xe(t,a);if(o)return c;const{isError:f,errorObject:m,criteriaValues:d}=Ze(r);if(f)return m;let _=0;for(let C=1;C<a.length;C++)typeof a[C][l]=="number"&&ze(d,a,C)&&_++;return R.create(_)}}class Xm extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=Ke(e);if(n)return s;const{isError:o,errorObject:c,fieldIndex:l}=Xe(t,a);if(o)return c;const{isError:f,errorObject:m,criteriaValues:d}=Ze(r);if(f)return m;let _=0;for(let C=1;C<a.length;C++){const E=a[C][l];E!=null&&ze(d,a,C)&&_++}return R.create(_)}}class Zm extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=Ke(e);if(n)return s;const{isError:o,errorObject:c,fieldIndex:l}=Xe(t,a);if(o)return c;const{isError:f,errorObject:m,criteriaValues:d}=Ze(r);if(f)return m;let _=0,C=0;for(let E=1;E<a.length;E++){const b=a[E][l];b!=null&&ze(d,a,E)&&(_++,C=E)}return _===0?g.create(h.VALUE):_>1?g.create(h.NUM):e.get(C,l)}}class zm extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=Ke(e);if(n)return s;const{isError:o,errorObject:c,fieldIndex:l}=Xe(t,a);if(o)return c;const{isError:f,errorObject:m,criteriaValues:d}=Ze(r);if(f)return m;let _=-1/0,C=0;for(let E=1;E<a.length;E++){const b=a[E][l];typeof b=="number"&&ze(d,a,E)&&(_=Math.max(_,b),C++)}return C===0?R.create(0):R.create(_)}}class Jm extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=Ke(e);if(n)return s;const{isError:o,errorObject:c,fieldIndex:l}=Xe(t,a);if(o)return c;const{isError:f,errorObject:m,criteriaValues:d}=Ze(r);if(f)return m;let _=1/0,C=0;for(let E=1;E<a.length;E++){const b=a[E][l];typeof b=="number"&&ze(d,a,E)&&(_=Math.min(_,b),C++)}return C===0?R.create(0):R.create(_)}}class eh extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=Ke(e);if(n)return s;const{isError:o,errorObject:c,fieldIndex:l}=Xe(t,a);if(o)return c;const{isError:f,errorObject:m,criteriaValues:d}=Ze(r);if(f)return m;let _=1,C=0;for(let E=1;E<a.length;E++){const b=a[E][l];typeof b=="number"&&ze(d,a,E)&&(_*=b,C++)}return C===0?R.create(0):R.create(_)}}class th extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=Ke(e);if(n)return s;const{isError:o,errorObject:c,fieldIndex:l}=Xe(t,a);if(o)return c;const{isError:f,errorObject:m,criteriaValues:d}=Ze(r);if(f)return m;const _=[];let C=0,E=0;for(let V=1;V<a.length;V++){const S=a[V][l];typeof S=="number"&&ze(d,a,V)&&(_.push(S),C+=S,E++)}if(E<=1)return g.create(h.DIV_BY_ZERO);const b=C/E;let y=0;for(let V=0;V<E;V++)y+=(_[V]-b)**2;const p=Math.sqrt(y/(E-1));return R.create(p)}}class rh extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=Ke(e);if(n)return s;const{isError:o,errorObject:c,fieldIndex:l}=Xe(t,a);if(o)return c;const{isError:f,errorObject:m,criteriaValues:d}=Ze(r);if(f)return m;const _=[];let C=0,E=0;for(let V=1;V<a.length;V++){const S=a[V][l];typeof S=="number"&&ze(d,a,V)&&(_.push(S),C+=S,E++)}if(E===0)return g.create(h.DIV_BY_ZERO);const b=C/E;let y=0;for(let V=0;V<E;V++)y+=(_[V]-b)**2;const p=Math.sqrt(y/E);return R.create(p)}}class nh extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=Ke(e);if(n)return s;const{isError:o,errorObject:c,fieldIndex:l}=Xe(t,a);if(o)return c;const{isError:f,errorObject:m,criteriaValues:d}=Ze(r);if(f)return m;let _=0;for(let C=1;C<a.length;C++){const E=a[C][l];typeof E=="number"&&ze(d,a,C)&&(_+=E)}return R.create(_)}}class sh extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=Ke(e);if(n)return s;const{isError:o,errorObject:c,fieldIndex:l}=Xe(t,a);if(o)return c;const{isError:f,errorObject:m,criteriaValues:d}=Ze(r);if(f)return m;const _=[];let C=0,E=0;for(let V=1;V<a.length;V++){const S=a[V][l];typeof S=="number"&&ze(d,a,V)&&(_.push(S),C+=S,E++)}if(E<=1)return g.create(h.DIV_BY_ZERO);const b=C/E;let y=0;for(let V=0;V<E;V++)y+=(_[V]-b)**2;const p=y/(E-1);return R.create(p)}}class ah extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,databaseValues:a}=Ke(e);if(n)return s;const{isError:o,errorObject:c,fieldIndex:l}=Xe(t,a);if(o)return c;const{isError:f,errorObject:m,criteriaValues:d}=Ze(r);if(f)return m;const _=[];let C=0,E=0;for(let V=1;V<a.length;V++){const S=a[V][l];typeof S=="number"&&ze(d,a,V)&&(_.push(S),C+=S,E++)}if(E===0)return g.create(h.DIV_BY_ZERO);const b=C/E;let y=0;for(let V=0;V<E;V++)y+=(_[V]-b)**2;const p=y/E;return R.create(p)}}var Te=(i=>(i.DAVERAGE="DAVERAGE",i.DCOUNT="DCOUNT",i.DCOUNTA="DCOUNTA",i.DGET="DGET",i.DMAX="DMAX",i.DMIN="DMIN",i.DPRODUCT="DPRODUCT",i.DSTDEV="DSTDEV",i.DSTDEVP="DSTDEVP",i.DSUM="DSUM",i.DVAR="DVAR",i.DVARP="DVARP",i))(Te||{});const fu=[[qm,Te.DAVERAGE],[Km,Te.DCOUNT],[Xm,Te.DCOUNTA],[Zm,Te.DGET],[zm,Te.DMAX],[Jm,Te.DMIN],[eh,Te.DPRODUCT],[th,Te.DSTDEV],[rh,Te.DSTDEVP],[nh,Te.DSUM],[sh,Te.DVAR],[ah,Te.DVARP]],ya="yyyy/mm/dd;@",ih="yyyy/mm/dd hh:mm",oh="h:mm A/P";function be(i){const u=new Date(Date.UTC(1900,0,1)),e=new Date(Date.UTC(1900,1,28)),t=Date.UTC(i.getFullYear(),i.getMonth(),i.getDate());let r=(t-u.getTime())/(1e3*3600*24);return t>e.getTime()&&(r+=1),Math.floor(r)+1}function Pr(i){const u=new Date(Date.UTC(1900,0,1,0,0,0)),e=new Date(Date.UTC(1900,1,28,0,0,0));let r=(i.getTime()-u.getTime())/(1e3*3600*24);return i>e&&(r+=1),r+1}function ne(i){const u=new Date(Date.UTC(1900,0,1)),e=new Date(Date.UTC(1900,1,28));let t=Math.floor(i)-1;return t>(e.getTime()-u.getTime())/(1e3*3600*24)&&(t-=1),new Date(u.getTime()+t*(1e3*3600*24))}function Ra(i){const u=new Date(Date.UTC(1900,0,1,0,0,0)),e=new Date(Date.UTC(1900,1,28,0,0,0));let t=i-1;return t>(e.getTime()-u.getTime())/(1e3*3600*24)&&(t-=1),t<0&&(t=i),new Date(u.getTime()+t*(1e3*3600*24))}function pa(i){if(!/^\d{4}[-/](0?[1-9]|1[012])[-/](0?[1-9]|[12][0-9]|3[01])$/.test(i))return!1;const e=i.replace(/-/g,"/").replace(/T.+/,""),t=new Date(`${e}`);if(Number.isNaN(t.getTime()))return!1;const r=t.getFullYear(),n=(t.getMonth()+1).toString().padStart(2,"0"),s=t.getDate().toString().padStart(2,"0"),a=`${r}-${n}-${s}`;return i.replace(/\//g,"-").split("-").map(c=>c.padStart(2,"0")).join("-")===a}function dn(i){return M.numfmt.parseDate(i)}function uh(i){return M.numfmt.parseValue(i)}function Cn(i){return M.numfmt.parseTime(i)}function Na(i){return M.numfmt.getFormatInfo(i).isDate}const mu={1:[6,0],2:[0,1],3:[1,2],4:[2,3],5:[3,4],6:[4,5],7:[5,6],11:[0],12:[1],13:[2],14:[3],15:[4],16:[5],17:[6]};function Rr(i){return!!(typeof i=="string"&&/^[0|1]{7}/.test(i)||mu[Number(i)])}function hu(i){if(!Rr(i))return[];if(typeof i=="string"&&/^[0|1]{7}/.test(i)){const u=[];for(let e=1;e<=i.length;e++)`${i[e-1]}`=="1"&&(e===i.length?u.push(0):u.push(e));return u}return mu[Number(i)]||[]}function _n(i,u,e=1,t){const r=hu(e),n=Math.floor(i),s=Math.floor(u),a=s>n?n:s;let o=0;const c=Math.abs(Math.floor(u)-Math.floor(i))+1;for(let l=0;l<c;l++){const f=a+l;if(t&&t.length>0&&t.some(d=>Math.floor(d)===f))continue;const m=Qt(f);r.includes(m)||o++}return s>=n?o:-o}function An(i,u,e=1,t){const r=hu(e),n=Math.floor(i);let s=n,a=Math.abs(u);for(let o=1;o<=a;o++){const c=u<0?n-o:n+o;if(c<0)return g.create(h.NUM);if(t&&t.length>0&&t.some(f=>Math.floor(f)===c)){a++;continue}const l=Qt(c);if(r.includes(l)){a++;continue}s=c}return s}function Y(i){if(i.isError())return i;const u=i.getValue();if(i.isString()){let e;if(dn(`${u}`))e=dn(`${u}`).v;else if(Cn(`${u}`))e=Cn(`${u}`).v;else if(M.isRealNum(u))e=+u;else return g.create(h.VALUE);return e instanceof Date&&(e=Pr(e)),+e<0||+e>2958465?g.create(h.NUM):+e}else{const e=+i.getValue();return e<0||e>2958465?g.create(h.NUM):e}}function Qt(i){const u=Math.floor(i)===60;let e=ne(i);const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())).getTime(),r=new Date(Date.UTC(1900,1,28)).getTime();return!u&&t<=r&&(e=new Date(t-24*3600*1e3)),new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())).getUTCDay()}function Ce(i,u,e){switch(e){case 0:return ch(i,u);case 1:return lh(i,u);case 2:return{days:Math.abs(u-i),yearDays:360};case 3:return{days:Math.abs(u-i),yearDays:365};case 4:return fh(i,u);default:return{days:Math.abs(u-i),yearDays:365}}}function ch(i,u){const e=ne(i),t=i>0?e.getUTCFullYear():1900,r=i>0?e.getUTCMonth()+1:1;let n=i>0?e.getUTCDate():0,s=ne(u),a=u>0?s.getUTCFullYear():1900,o=u>0?s.getUTCMonth()+1:1,c=u>0?s.getUTCDate():0;r===2?ne(i+1).getUTCMonth()+1===3&&(n=30):n===31&&(n=30),c===31&&(n<30?(s=ne(u+1),a=s.getUTCFullYear(),o=s.getUTCMonth()+1,c=s.getUTCDate()):c=30);const l=(a-t)*360,f=u>=i?30-n:-n,m=u>=i?c:c-30,d=(u>=i?o-r-1:o-r+1)*30;return{days:Math.abs(l+f+m+d),yearDays:360}}function lh(i,u){const e=ne(i),t=i>0?e.getUTCFullYear():1900,r=ne(u),n=u>0?r.getUTCFullYear():1900,s=Math.abs(u-i),a=Math.abs(n-t)+1;let o,c;if(n<t){const l=new Date(Date.UTC(n,0,1)),f=new Date(Date.UTC(t,11,31));o=be(l),c=be(f),n===1900&&(o+=1)}else{const l=new Date(Date.UTC(t,0,1)),f=new Date(Date.UTC(n,11,31));o=be(l),c=be(f),t===1900&&(o+=1)}return{days:s,yearDays:(c-o+1)/a}}function fh(i,u){const e=ne(i),t=i>0?e.getUTCFullYear():1900,r=i>0?e.getUTCMonth()+1:1;let n=i>0?e.getUTCDate():0;const s=ne(u),a=u>0?s.getUTCFullYear():1900,o=u>0?s.getUTCMonth()+1:1;let c=u>0?s.getUTCDate():0;n===31&&(n=30),c===31&&(c=30);const l=(a-t)*360,f=u>=i?30-n:-n,m=u>=i?c:c-30,d=(u>=i?o-r-1:o-r+1)*30;return{days:Math.abs(l+f+m+d),yearDays:360}}function mh(i){return i%4===0&&i%100!==0||i%400===0}function hh(i){return i%4===0&&i%100!==0||i%400===0||i===1900}const gh=[31,29,31,30,31,30,31,31,30,31,30,31],dh=[31,28,31,30,31,30,31,31,30,31,30,31];function jr(i,u){return mh(i)?gh[u]:dh[u]}function Zn(i){return hh(i)?366:365}function gu(i,u){switch(u){case 0:case 2:case 4:return 360;case 1:return Zn(ne(i).getUTCFullYear());case 3:return 365;default:return-1}}function or(i,u,e){return jr(i,u)===e}function ur(i,u){let e=i.getUTCFullYear(),t=i.getUTCMonth();const r=i.getUTCDate();return or(e,t,r)?(i.setUTCDate(1),i.setUTCMonth(i.getUTCMonth()+u),e=i.getUTCFullYear(),t=i.getUTCMonth(),i.setUTCDate(jr(e,t))):i.setUTCMonth(i.getUTCMonth()+u),i}class Ch extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.map((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);if(f.isError())return f;if(_.isError())return _;if(C.isError())return C;const{isError:E,errorObject:b,variants:y}=F(f,_,C);if(E)return b;const[p,V,S]=y;let D=Math.floor(+p.getValue());const w=Math.floor(+V.getValue()),L=Math.floor(+S.getValue());if(D<0||D>9999)return g.create(h.NUM);D>=0&&D<1899&&(D+=1900);const x=new Date(D,w-1,L),v=be(x);return v<0?g.create(h.NUM):R.create(v,ya)});return n===1&&s===1?l.get(0,0):l}}class _h extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){let n=e,s=t,a=r;if(n.isArray()&&(n=n.get(0,0)),s.isArray()&&(s=s.get(0,0)),a.isArray()&&(a=a.get(0,0)),n.isError())return n;if(s.isError())return s;if(a.isError())return a;const o=Y(n);if(typeof o!="number")return o;const c=Y(s);return typeof c!="number"?c:c<o||!a.isString()?g.create(h.NUM):this._getResultByUnit(o,c,a)}_getResultByUnit(e,t,r){const n=ne(e),s=n.getUTCFullYear(),a=n.getUTCMonth()+1,o=n.getUTCDate(),c=ne(t),l=c.getUTCFullYear(),f=c.getUTCMonth()+1,m=c.getUTCDate(),d=`${r.getValue()}`.toLocaleUpperCase();let _=0,C;switch(d){case"Y":_=l-s,(f<a||f===a&&m<o)&&(_-=1);break;case"M":_=(l-s)*12+f-a,m<o&&(_-=1);break;case"D":_=Math.floor(t)-Math.floor(e);break;case"MD":_=m-o,m<o&&(C=new Date(Date.UTC(l,f-1,0)),_+=jr(C.getUTCFullYear(),C.getUTCMonth()));break;case"YM":_=f-a,(f<a||f===a&&m<o)&&(_+=12),m<o&&(_-=1);break;case"YD":C=new Date(Date.UTC(s,f-1,m)),(f<a||f===a&&m<o)&&(C=new Date(Date.UTC(s+1,f-1,m))),_=Math.floor(be(C))-Math.floor(e);break;default:return g.create(h.NUM)}return R.create(_)}}class Ah extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isString()){const t=`${e.getValue()}`;let r=dn(t);if(r===null&&(r=Cn(t)),r){let{v:n,z:s}=r;if(s&&Na(s))return n instanceof Date&&(n=Pr(n)),R.create(Math.trunc(+n))}}return g.create(h.VALUE)}}class Eh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t;const r=e.getValue();if(e.isString()){if(!pa(`${r}`))return g.create(h.VALUE);t=new Date(`${r}`)}else{const a=+e.getValue();if(a<0)return g.create(h.NUM);if(a===0)return R.create(0);t=ne(a)}const n=t.getDate();return R.create(n)}}class bh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e),a=O(r,n,t),o=s.map((c,l,f)=>{const m=a.get(l,f);if(c.isError())return c;if(m.isError())return m;const d=Y(c);if(typeof d!="number")return d;const _=Y(m);if(typeof _!="number")return _;const C=Math.floor(d)-Math.floor(_);return R.create(C)});return r===1&&n===1?o.get(0,0):o}}class yh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:I.create(!1);if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,n,g.create(h.NA)),f=o.map((m,d,_)=>{const C=c.get(d,_);let E=l.get(d,_);if(m.isError())return m;const b=Y(m);if(typeof b!="number")return b;if(C.isError())return C;const y=Y(C);if(typeof y!="number")return y;if(E.isString()&&(E=E.convertToNumberObjectValue()),E.isError())return E;const p=+E.getValue(),{days:V}=Ce(b,y,p?4:0),S=y>=b?V:-V;return R.create(S)});return s===1&&a===1?f.get(0,0):f}}class Rh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e),a=O(r,n,t);return s.map((o,c,l)=>{const f=a.get(c,l)||le.create();if(o.isError())return o;if(f.isError())return f;if(o.isString()||o.isBoolean()||f.isString()||f.isBoolean())return g.create(h.VALUE);const m=+o.getValue();if(m<0)return g.create(h.NUM);const d=Math.floor(+f.getValue()),_=ne(m),C=_.getUTCFullYear(),E=_.getUTCMonth()+d,b=_.getUTCDate(),y=new Date(Date.UTC(C,E,b)),p=be(y);return R.create(p,ya)})}}class ph extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e,n=t;if(r.isArray()){const d=r.getRowCount(),_=r.getColumnCount();if(d>1||_>1)return g.create(h.VALUE);r=r.get(0,0)}if(n.isArray()){const d=n.getRowCount(),_=n.getColumnCount();if(d>1||_>1)return g.create(h.VALUE);n=n.get(0,0)}if(r.isError())return r;if(n.isError())return n;const s=Y(r);if(typeof s!="number")return s;if(n.isBoolean())return g.create(h.VALUE);const a=ne(s),o=s>0?a.getUTCFullYear():1900,c=s>0?a.getUTCMonth():0,l=Math.floor(+n.getValue());if(Number.isNaN(l))return g.create(h.VALUE);const f=new Date(Date.UTC(o,c+l+1,0)),m=be(f);return R.create(m)}}class Nh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2);A(this,"needsReferenceObject",!0)}calculate(e,t){const r=t!=null?t:R.create(1),{isError:n,errorObject:s,timestampIsReferenceObject:a,timestampObject:o,unitObject:c}=this._checkVariants(e,r);if(n)return s;if(o.isNull()||o.isBoolean()||o.isString()||!a&&o.isNumber()&&o.getPattern()!=="")return g.create(h.VALUE);let l=+o.getValue();const{isError:f,errorObject:m,variants:d}=F(c);if(f)return m;const[_]=d,C=Math.floor(+_.getValue());if(l<0||C<1||C>3)return g.create(h.NUM);C===1&&(l=l*1e3),C===3&&(l=l/1e3);const E=new Date(Date.UTC(1970,0,1,0,0,0,0)+l);if(Number.isNaN(E.getTime())){const b=25569+l/864e5;return R.create(b)}else{const b=Pr(E);return R.create(b,"yyyy-MM-dd AM/PM hh:mm:ss")}}_checkVariants(e,t){const r=e.isReferenceObject(),n=t.isReferenceObject();let s=e;if(r&&(s=e.toArrayValueObject()),s.isArray()){const o=s.getRowCount(),c=s.getColumnCount();if(o>1||c>1)return{isError:!0,errorObject:g.create(h.VALUE)};s=s.get(0,0)}if(s.isError())return{isError:!0,errorObject:s};let a=t;if(n&&(a=t.toArrayValueObject()),a.isArray()){const o=a.getRowCount(),c=a.getColumnCount();if(o>1||c>1)return{isError:!0,errorObject:g.create(h.VALUE)};a=a.get(0,0)}return a.isError()?{isError:!0,errorObject:a}:{isError:!1,errorObject:null,timestampIsReferenceObject:r,timestampObject:s,unitIsReferenceObject:n,unitObject:a}}}var Ae=(i=>(i.DATE="DATE",i.DATEDIF="DATEDIF",i.DATEVALUE="DATEVALUE",i.DAY="DAY",i.DAYS="DAYS",i.DAYS360="DAYS360",i.EDATE="EDATE",i.EOMONTH="EOMONTH",i.EPOCHTODATE="EPOCHTODATE",i.HOUR="HOUR",i.ISOWEEKNUM="ISOWEEKNUM",i.MINUTE="MINUTE",i.MONTH="MONTH",i.NETWORKDAYS="NETWORKDAYS",i.NETWORKDAYS_INTL="NETWORKDAYS.INTL",i.NOW="NOW",i.SECOND="SECOND",i.TIME="TIME",i.TIMEVALUE="TIMEVALUE",i.TO_DATE="TO_DATE",i.TODAY="TODAY",i.WEEKDAY="WEEKDAY",i.WEEKNUM="WEEKNUM",i.WORKDAY="WORKDAY",i.WORKDAY_INTL="WORKDAY.INTL",i.YEAR="YEAR",i.YEARFRAC="YEARFRAC",i))(Ae||{});class Vh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=Y(e);if(typeof t!="number")return t;if(t===0)return R.create(0);const n=Ra(t).getUTCHours();return R.create(n)}}class Oh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=Y(e);if(typeof t!="number")return t;const r=ne(t),n=t>0?r.getUTCFullYear():1900;let s=new Date(Date.UTC(n,0,1)),a=be(s),o=Qt(a),c;o<1?c=a+1:o<=4?c=a-(o-1):c=a+(11-o),t<c&&(s=new Date(Date.UTC(n-1,0,1)),a=be(s),o=Qt(a),o<1?c=a+1:o<=4?c=a-(o-1):c=a+(11-o));const l=Math.ceil((t-c+1)/7);return R.create(l)}}class Mh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=Y(e);if(typeof t!="number")return t;if(t===0)return R.create(0);const n=Ra(t).getUTCMinutes();return R.create(n)}}class Sh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t;const r=e.getValue();if(e.isString()){if(!pa(`${r}`))return g.create(h.VALUE);t=new Date(`${r}`)}else{const a=+e.getValue();if(a<0)return g.create(h.NUM);if(a===0)return R.create(1);t=ne(a)}const n=t.getUTCMonth()+1;return R.create(n)}}class Dh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){let n=e,s=t;if(n.isArray()){const l=n.getRowCount(),f=n.getColumnCount();if(l>1||f>1)return g.create(h.VALUE);n=n.get(0,0)}if(n.isError())return n;if(s.isArray()){const l=s.getRowCount(),f=s.getColumnCount();if(l>1||f>1)return g.create(h.VALUE);s=s.get(0,0)}if(s.isError())return s;if(r!=null&&r.isError())return r;if(n.isBoolean()||s.isBoolean())return g.create(h.VALUE);const a=Y(n);if(typeof a!="number")return a;const o=Y(s);if(typeof o!="number")return o;if(r)return this._getResultByHolidays(a,o,r);const c=_n(a,o);return R.create(c)}_getResultByHolidays(e,t,r){const n=[];if(r!=null&&r.isArray()){const a=r.getRowCount(),o=r.getColumnCount();for(let c=0;c<a;c++)for(let l=0;l<o;l++){const f=r.get(c,l);if(f.isBoolean())return g.create(h.VALUE);const m=Y(f);if(typeof m!="number")return m;n.push(m)}}else{if(r.isBoolean())return g.create(h.VALUE);const a=Y(r);if(typeof a!="number")return a;n.push(a)}const s=_n(e,t,1,n);return R.create(s)}}class wh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",4)}calculate(e,t,r,n){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:n!=null&&n.isError()?n:r!=null&&r.isArray()?r.map(s=>this._handleSingleObject(e,t,s,n)):this._handleSingleObject(e,t,r,n)}_handleSingleObject(e,t,r,n){let s=e,a=t;if(s.isArray()){const m=s.getRowCount(),d=s.getColumnCount();if(m>1||d>1)return g.create(h.VALUE);s=s.get(0,0)}if(s.isError())return s;if(a.isArray()){const m=a.getRowCount(),d=a.getColumnCount();if(m>1||d>1)return g.create(h.VALUE);a=a.get(0,0)}if(a.isError())return a;let o=1;if(r){if(o=r.getValue(),r.isBoolean()&&(o=+o),r.isString()&&!Rr(o))return g.create(h.VALUE);if(!Rr(o))return g.create(h.NUM)}if(s.isBoolean()||a.isBoolean())return g.create(h.VALUE);const c=Y(s);if(typeof c!="number")return c;const l=Y(a);if(typeof l!="number")return l;if(n)return this._getResultByHolidays(c,l,o,n);const f=_n(c,l,o);return R.create(f)}_getResultByHolidays(e,t,r,n){const s=[];if(n!=null&&n.isArray()){const o=n.getRowCount(),c=n.getColumnCount();for(let l=0;l<o;l++)for(let f=0;f<c;f++){const m=n.get(l,f);if(m.isBoolean())return g.create(h.VALUE);const d=Y(m);if(typeof d!="number")return d;s.push(d)}}else{if(n.isBoolean())return g.create(h.VALUE);const o=Y(n);if(typeof o!="number")return o;s.push(o)}const a=_n(e,t,r,s);return R.create(a)}}class Lh extends N{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){const e=new Date,t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds())),r=Pr(t);return R.create(r,ih)}}class xh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=Y(e);if(typeof t!="number")return t;if(t===0)return R.create(0);const n=Ra(t).getUTCSeconds();return R.create(n)}}class Ph extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e),o=O(n,s,t),c=O(n,s,r);return a.map((l,f,m)=>this._calculateTime(l,o,c,f,m))}_calculateTime(e,t,r,n,s){let a=e,o=t.get(n,s)||le.create(),c=r.get(n,s)||le.create();if((a.isString()||a.isBoolean())&&(a=a.convertToNumberObjectValue()),(o.isString()||o.isBoolean())&&(o=o.convertToNumberObjectValue()),(c.isString()||c.isBoolean())&&(c=c.convertToNumberObjectValue()),a.isError())return a;if(o.isError())return o;if(c.isError())return c;let l=Math.floor(+a.getValue()),f=Math.floor(+o.getValue()),m=Math.floor(+c.getValue());if(l<0||f<0||m<0||l>32767||f>32767||m>32767)return g.create(h.NUM);f+=Math.floor(m/60),m%=60,l+=Math.floor(f/60),f%=60,l%=24;const _=(l*3600+f*60+m)/86400;return R.create(_,oh)}}class jh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isString()){const t=`${e.getValue()}`,r=uh(t);if(r){let{v:n,z:s}=r;if(s&&Na(s))return n instanceof Date&&(n=Pr(n)),R.create(of(+n))}}return g.create(h.VALUE)}}class Uh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0)}calculate(e){const t=e.isReferenceObject();let r=e;if(t&&(r=e.toArrayValueObject()),r.isArray()){const s=r.getRowCount(),a=r.getColumnCount();if(s>1||a>1)return g.create(h.VALUE);r=r.get(0,0)}if(r.isError()||r.isNull()||r.isBoolean()||r.isString()||!t&&r.isNumber()&&r.getPattern()!=="")return r;const n=+r.getValue();return R.create(n,"yyyy-MM-dd hh:mm:ss AM/PM")}}class vh extends N{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){const e=be(new Date);return R.create(e,ya)}}class Th extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2);A(this,"_returnTypeMap",{1:[1,2,3,4,5,6,7],2:[7,1,2,3,4,5,6],3:[6,0,1,2,3,4,5],11:[7,1,2,3,4,5,6],12:[6,7,1,2,3,4,5],13:[5,6,7,1,2,3,4],14:[4,5,6,7,1,2,3],15:[3,4,5,6,7,1,2],16:[2,3,4,5,6,7,1],17:[1,2,3,4,5,6,7]})}calculate(e,t){const r=t!=null?t:R.create(1);if(e.isError())return e;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),c=a.map((l,f,m)=>{const d=o.get(f,m);return this._handleSingleObject(l,d)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t){let r=t;if(e.isError())return e;if(r.isError())return r;const n=Y(e);if(typeof n!="number")return n;if(r.isString()&&(r=r.convertToNumberObjectValue(),r.isError()))return r;const s=Math.floor(+r.getValue());if(!this._returnTypeMap[s])return g.create(h.NUM);const a=Qt(n),o=this._returnTypeMap[s][a];return R.create(o)}}class Ih extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2);A(this,"_returnTypeMap",{1:0,2:1,11:1,12:2,13:3,14:4,15:5,16:6,17:0,21:4})}calculate(e,t){let r=e,n=t!=null?t:R.create(1);if(r.isArray()){const o=r.getRowCount(),c=r.getColumnCount();if(o>1||c>1)return g.create(h.VALUE);r=r.get(0,0)}if(r.isError())return r;if(n.isArray()){const o=n.getRowCount(),c=n.getColumnCount();if(o>1||c>1)return g.create(h.VALUE);n=n.get(0,0)}if(n.isError())return n;if(r.isBoolean())return g.create(h.VALUE);const s=Y(r);if(typeof s!="number")return s;if(n.isBoolean())return g.create(h.VALUE);const a=Math.floor(+n.getValue());return Number.isNaN(a)?g.create(h.VALUE):a in this._returnTypeMap?this._getResult(s,a):g.create(h.NUM)}_getResult(e,t){const r=ne(e),n=e>0?r.getUTCFullYear():1900;let s=new Date(Date.UTC(n,0,1)),a=be(s),o=Qt(a),c;if(t===21)o<1?c=a+1:o<=4?c=a-(o-1):c=a+(11-o),e<c&&(s=new Date(Date.UTC(n-1,0,1)),a=be(s),o=Qt(a),o<1?c=a+1:o<=4?c=a-(o-1):c=a+(11-o));else{const f=this._returnTypeMap[t];o<f?c=a-(o+7-f):c=a-(o-f)}const l=Math.ceil((e-c+1)/7);return R.create(l)}}class Fh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){let n=e,s=t;if(n.isArray()){const l=n.getRowCount(),f=n.getColumnCount();if(l>1||f>1)return g.create(h.VALUE);n=n.get(0,0)}if(n.isError())return n;if(s.isArray()){const l=s.getRowCount(),f=s.getColumnCount();if(l>1||f>1)return g.create(h.VALUE);s=s.get(0,0)}if(s.isError())return s;if(r!=null&&r.isError())return r;if(n.isBoolean()||s.isBoolean())return g.create(h.VALUE);const a=Y(n);if(typeof a!="number")return a;const o=+s.getValue();if(Number.isNaN(o))return g.create(h.VALUE);if(r)return this._getResultByHolidays(a,o,r);const c=An(a,o);return typeof c!="number"?c:R.create(c)}_getResultByHolidays(e,t,r){const n=[];if(r!=null&&r.isArray()){const a=r.getRowCount(),o=r.getColumnCount();for(let c=0;c<a;c++)for(let l=0;l<o;l++){const f=r.get(c,l);if(f.isBoolean())return g.create(h.VALUE);const m=Y(f);if(typeof m!="number")return m;n.push(m)}}else{if(r.isBoolean())return g.create(h.VALUE);const a=Y(r);if(typeof a!="number")return a;n.push(a)}const s=An(e,t,1,n);return typeof s!="number"?s:R.create(s)}}class Bh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",4)}calculate(e,t,r,n){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:n!=null&&n.isError()?n:r!=null&&r.isArray()?r.map(s=>this._handleSingleObject(e,t,s,n)):this._handleSingleObject(e,t,r,n)}_handleSingleObject(e,t,r,n){const s=r!=null?r:R.create(1),a=this._checkArrayError(e);if(a.isError())return a;const o=this._checkArrayError(t);if(o.isError())return o;if(a.isBoolean()||o.isBoolean())return g.create(h.VALUE);const c=Y(e);if(typeof c!="number")return c;const l=+t.getValue();if(Number.isNaN(l))return g.create(h.VALUE);let f=s.getValue();if(s.isBoolean()&&(f=+f),s.isString()&&(!Rr(f)||f==="1111111"))return g.create(h.VALUE);if(!Rr(f))return g.create(h.NUM);if(n)return this._getResultByHolidays(c,l,f,n);const m=An(c,l,f);return typeof m!="number"?m:R.create(m)}_checkArrayError(e){let t=e;if(t.isArray()){const r=t.getRowCount(),n=t.getColumnCount();if(r>1||n>1)return g.create(h.VALUE);t=t.get(0,0)}return t.isError(),t}_getResultByHolidays(e,t,r,n){const s=[];if(n!=null&&n.isArray()){const o=n.getRowCount(),c=n.getColumnCount();for(let l=0;l<o;l++)for(let f=0;f<c;f++){const m=n.get(l,f);if(m.isBoolean())return g.create(h.VALUE);const d=Y(m);if(typeof d!="number")return d;s.push(d)}}else{if(n.isBoolean())return g.create(h.VALUE);const o=Y(n);if(typeof o!="number")return o;s.push(o)}const a=An(e,t,r,s);return typeof a!="number"?a:R.create(a)}}class kh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;let t;const r=e.getValue();if(e.isString()){if(!pa(`${r}`))return g.create(h.VALUE);t=new Date(`${r}`)}else{const a=+r;if(a<0)return g.create(h.NUM);if(a===0)return R.create(1900);t=ne(a)}const n=t.getUTCFullYear();return R.create(n)}}class $h extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){let n=r!=null?r:R.create(0);const s=$t(e);if(s.isError())return s;const a=$t(t);if(a.isError())return a;if(n=$t(n),n.isError())return n;if(s.isBoolean()||a.isBoolean()||n.isBoolean())return g.create(h.VALUE);const o=Y(s);if(typeof o!="number")return o;const c=Y(a);if(typeof c!="number")return c;const l=Math.floor(+n.getValue());if(Number.isNaN(l))return g.create(h.VALUE);if(l<0||l>4)return g.create(h.NUM);const{days:f,yearDays:m}=Ce(o,c,l),d=f/m;return R.create(d)}}const du=[[Ch,Ae.DATE],[_h,Ae.DATEDIF],[Ah,Ae.DATEVALUE],[Eh,Ae.DAY],[bh,Ae.DAYS],[yh,Ae.DAYS360],[Rh,Ae.EDATE],[ph,Ae.EOMONTH],[Nh,Ae.EPOCHTODATE],[Vh,Ae.HOUR],[Oh,Ae.ISOWEEKNUM],[Mh,Ae.MINUTE],[Sh,Ae.MONTH],[Dh,Ae.NETWORKDAYS],[wh,Ae.NETWORKDAYS_INTL],[Lh,Ae.NOW],[xh,Ae.SECOND],[Ph,Ae.TIME],[jh,Ae.TIMEVALUE],[Uh,Ae.TO_DATE],[vh,Ae.TODAY],[Th,Ae.WEEKDAY],[Ih,Ae.WEEKNUM],[Fh,Ae.WORKDAY],[Bh,Ae.WORKDAY_INTL],[kh,Ae.YEAR],[$h,Ae.YEARFRAC]];class Yh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=G(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=Math.floor(+o.getValue());if(Number.isNaN(c)||Number.isNaN(l))return g.create(h.VALUE);if(l<0)return g.create(h.NUM);const f=ir.besseli(c,l);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):R.create(f)}}class Hh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=G(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=Math.floor(+o.getValue());if(Number.isNaN(c)||Number.isNaN(l))return g.create(h.VALUE);if(l<0)return g.create(h.NUM);const f=ir.besselj(c,l);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):R.create(f)}}class Gh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=G(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=Math.floor(+o.getValue());if(Number.isNaN(c)||Number.isNaN(l))return g.create(h.VALUE);if(l<0)return g.create(h.NUM);const f=ir.besselk(c,l);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):R.create(f)}}class Wh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=G(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=Math.floor(+o.getValue());if(Number.isNaN(c)||Number.isNaN(l))return g.create(h.VALUE);if(l<0)return g.create(h.NUM);const f=ir.bessely(c,l);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):R.create(f)}}class Qh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`;if(!oa(a))return g.create(h.NUM);let o;return a.length===10&&a.substring(0,1)==="1"?o=Number.parseInt(a.substring(1),2)-512:o=Number.parseInt(a,2),R.create(o)}}class qh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:f,errorObject:m,variants:d}=G(t);if(f)return m;const[_]=d;if(r=Math.floor(+_.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=G(e);if(n)return s;const[o]=a,c=`${o.getValue()}`;if(!oa(c))return g.create(h.NUM);let l;if(c.length===10&&c.substring(0,1)==="1")l=(0xfffffffe00+Number.parseInt(c.substring(1),2)).toString(16);else if(l=Number.parseInt(c,2).toString(16),t){if(r<l.length)return g.create(h.NUM);l="0".repeat(r-l.length)+l}return j.create(l.toLocaleUpperCase())}}class Kh extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:f,errorObject:m,variants:d}=G(t);if(f)return m;const[_]=d;if(r=Math.floor(+_.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=G(e);if(n)return s;const[o]=a,c=`${o.getValue()}`;if(!oa(c))return g.create(h.NUM);let l;if(c.length===10&&c.substring(0,1)==="1")l=(1073741312+Number.parseInt(c.substring(1),2)).toString(8);else if(l=Number.parseInt(c,2).toString(8),t){if(r<l.length)return g.create(h.NUM);l="0".repeat(r-l.length)+l}return j.create(l)}}class Xh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((c,l,f)=>{let m=c;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;let d=a.get(l,f);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+m.getValue(),C=+d.getValue();if(_<0||C<0||Math.floor(_)!==_||Math.floor(C)!==C||_>0xffffffffffff||C>0xffffffffffff)return g.create(h.NUM);const E=_&C;return R.create(E)});return r===1&&n===1?o.get(0,0):o}}class Zh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((c,l,f)=>{let m=c;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;let d=a.get(l,f);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+m.getValue();let C=+d.getValue();if(_<0||Math.floor(_)!==_||_>0xffffffffffff||Math.abs(C)>53)return g.create(h.NUM);C=Math.trunc(C);const E=Number(C>=0?BigInt(_)<<BigInt(C):BigInt(_)>>BigInt(-C));return E>0xffffffffffff?g.create(h.NUM):R.create(E)});return r===1&&n===1?o.get(0,0):o}}class zh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((c,l,f)=>{let m=c;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;let d=a.get(l,f);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+m.getValue(),C=+d.getValue();if(_<0||C<0||Math.floor(_)!==_||Math.floor(C)!==C||_>0xffffffffffff||C>0xffffffffffff)return g.create(h.NUM);const E=Number(BigInt(_)|BigInt(C));return R.create(E)});return r===1&&n===1?o.get(0,0):o}}class Jh extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((c,l,f)=>{let m=c;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;let d=a.get(l,f);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+m.getValue();let C=+d.getValue();if(_<0||Math.floor(_)!==_||_>0xffffffffffff||Math.abs(C)>53)return g.create(h.NUM);C=Math.trunc(C);const E=Number(C>=0?BigInt(_)>>BigInt(C):BigInt(_)<<BigInt(-C));return E>0xffffffffffff?g.create(h.NUM):R.create(E)});return r===1&&n===1?o.get(0,0):o}}class eg extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((c,l,f)=>{let m=c;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;let d=a.get(l,f);if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+m.getValue(),C=+d.getValue();if(_<0||C<0||Math.floor(_)!==_||Math.floor(C)!==C||_>0xffffffffffff||C>0xffffffffffff)return g.create(h.NUM);const E=_^C;return R.create(E)});return r===1&&n===1?o.get(0,0):o}}P.prototype.cos=function(){const i=this.toNumber();return new P(Math.cos(i))};let he=class ce{constructor(u){A(this,"_inumber","");A(this,"_realNum",0);A(this,"_iNum",0);A(this,"_suffix","");A(this,"_isError",!1);if(`${u}`.trim()===""){this._isError=!0;return}this._inumber=u,this._getImReal(),this._getImAginary(),this._getImSuffix()}static getComplex(u,e,t){const r=new P(u).toSignificantDigits(15).toNumber(),n=new P(e).toSignificantDigits(15).toNumber(),s=t===""?"i":t;let a;if(r===0&&n===0)a=0;else if(r===0)a=n===1?s:`${n}${s}`;else if(n===0)a=r;else{const o=n>0?"+":"",c=n===1?s:`${n}${s}`;a=`${r}${o}${c}`}return a}static createByComplexStr(u,e,t){const r=ce.getComplex(u,e,t);return new ce(r)}_getImReal(){if(this._inumber===0||this._inumber==="0"){this._realNum=0;return}const u=`${this._inumber}`;if(["i","+i","1i","+1i","-i","-1i","j","+j","1j","+1j","-j","-1j"].indexOf(u)>=0){this._realNum=0;return}let e=u.indexOf("+"),t=u.indexOf("-");e===0&&(e=u.indexOf("+",1)),t===0&&(t=u.indexOf("-",1));const r=u.substring(u.length-1,u.length),n=r==="i"||r==="j";if(e>=0||t>=0){if(!n){this._isError=!0;return}e>=0?Number.isNaN(+u.substring(0,e))||Number.isNaN(+u.substring(e+1,u.length-1))?this._isError=!0:this._realNum=+u.substring(0,e):Number.isNaN(+u.substring(0,t))||Number.isNaN(+u.substring(t+1,u.length-1))?this._isError=!0:this._realNum=+u.substring(0,t)}else n?Number.isNaN(+u.substring(0,u.length-1))?this._isError=!0:this._realNum=0:Number.isNaN(+u)?this._isError=!0:this._realNum=+u}_getImAginary(){if(this._isError)return;if(this._inumber===0||this._inumber==="0"){this._iNum=0;return}let u=`${this._inumber}`;if(["i","j"].indexOf(u)>=0){this._iNum=1;return}u=u.replace("+i","+1i").replace("-i","-1i").replace("+j","+1j").replace("-j","-1j");let e=u.indexOf("+"),t=u.indexOf("-");e===0&&(e=u.indexOf("+",1)),t===0&&(t=u.indexOf("-",1));const r=u.substring(u.length-1,u.length),n=r==="i"||r==="j";if(e>=0||t>=0){if(!n){this._isError=!0;return}e>=0?Number.isNaN(+u.substring(0,e))||Number.isNaN(+u.substring(e+1,u.length-1))?this._isError=!0:this._iNum=+u.substring(e+1,u.length-1):Number.isNaN(+u.substring(0,t))||Number.isNaN(+u.substring(t+1,u.length-1))?this._isError=!0:this._iNum=-+u.substring(t+1,u.length-1)}else n?Number.isNaN(+u.substring(0,u.length-1))?this._isError=!0:this._iNum=+u.substring(0,u.length-1):Number.isNaN(+u)?this._isError=!0:this._iNum=0}_getImSuffix(){const u=`${this._inumber}`,e=u.substring(u.length-1);this._suffix=e==="i"||e==="j"?e:""}getRealNum(){return this._realNum}getINum(){return this._iNum}getSuffix(){return this._suffix}isError(){return this._isError}toString(){return ce.getComplex(this._realNum,this._iNum,this._suffix)}isDifferentSuffixes(u){const e=u.getSuffix();return this._suffix===""||e===""?!1:this._suffix!==e}Abs(){return P.sqrt(P.pow(this._realNum,2).add(P.pow(this._iNum,2))).toSignificantDigits(16).toNumber()}Argument(){const u=P.sqrt(P.pow(this._realNum,2).add(P.pow(this._iNum,2)));let e=P.acos(new P(this._realNum).div(u)).toSignificantDigits(16).toNumber();return this._iNum<0&&(e=-e),e}Conjugate(){return ce.getComplex(this._realNum,-this._iNum,this._suffix)}Cos(){if(this._iNum){const u=P.cos(this._realNum).mul(P.cosh(this._iNum)).toNumber(),e=P.sin(this._realNum).mul(P.sinh(this._iNum)).negated().toNumber();return ce.getComplex(u,e,this._suffix)}else{const u=P.cos(this._realNum).toNumber();return ce.getComplex(u,this._iNum,this._suffix)}}Cosh(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,"";if(this._iNum){const u=P.cosh(this._realNum).mul(P.cos(this._iNum)).toNumber(),e=P.sinh(this._realNum).mul(P.sin(this._iNum)).toNumber();return ce.getComplex(u,e,this._suffix)}else{const u=P.cosh(this._realNum).toNumber();return ce.getComplex(u,this._iNum,this._suffix)}}Cot(){if(this._iNum){const u=P.cosh(this._iNum*2).sub(P.cos(this._realNum*2)),e=P.sin(this._realNum*2).div(u).toNumber(),t=P.sinh(this._iNum*2).div(u).negated().toNumber();return ce.getComplex(e,t,this._suffix)}else{const u=new P(1).div(P.tan(this._realNum)).toNumber();return ce.getComplex(u,this._iNum,this._suffix)}}Coth(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,"";if(this._iNum){const u=P.cosh(this._realNum*2).sub(P.cos(this._iNum*2)),e=P.sinh(this._realNum*2).div(u).toNumber(),t=P.sin(this._iNum*2).div(u).negated().toNumber();return ce.getComplex(e,t,this._suffix)}else{const u=new P(1).div(P.tanh(this._realNum)).toNumber();return ce.getComplex(u,this._iNum,this._suffix)}}Csc(){if(this._iNum){const u=P.cosh(this._iNum*2).sub(P.cos(this._realNum*2)),e=P.sin(this._realNum).mul(P.cosh(this._iNum)).mul(2).div(u).toNumber(),t=P.cos(this._realNum).mul(P.sinh(this._iNum)).mul(-2).div(u).toNumber();return ce.getComplex(e,t,this._suffix)}else{const u=new P(1).div(P.sin(this._realNum)).toNumber();return ce.getComplex(u,this._iNum,this._suffix)}}Csch(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return ce.getComplex(0,0,this._suffix);if(this._iNum){const u=P.cosh(this._realNum*2).sub(P.cos(this._iNum*2)),e=P.sinh(this._realNum).mul(P.cos(this._iNum)).mul(2).div(u).toNumber(),t=P.cosh(this._realNum).mul(P.sin(this._iNum)).mul(-2).div(u).toNumber();return ce.getComplex(e,t,this._suffix)}else{const u=new P(1).div(P.sinh(this._realNum)).toNumber();return ce.getComplex(u,this._iNum,this._suffix)}}Div(u){const e=new P(this._realNum),t=new P(this._iNum),r=new P(u.getRealNum()),n=new P(u.getINum()),s=r.mul(r).add(n.mul(n)),a=e.mul(r).add(t.mul(n)).div(s).toNumber(),o=t.mul(r).sub(e.mul(n)).div(s).toNumber(),c=this._suffix===""?u.getSuffix():this._suffix;return ce.getComplex(a,o,c)}Exp(){if(!Number.isFinite(Math.exp(this._realNum)))return this._isError=!0,"";const u=P.exp(this._realNum).mul(P.cos(this._iNum)).toNumber(),e=P.exp(this._realNum).mul(P.sin(this._iNum)).toNumber();return ce.getComplex(u,e,this._suffix)}Ln(){const u=P.sqrt(P.pow(this._realNum,2).add(P.pow(this._iNum,2))),e=P.ln(u).toNumber(),t=P.acos(new P(this._realNum).div(u)).toNumber();return ce.getComplex(e,t,this._suffix)}Log(u){const e=P.sqrt(P.pow(this._realNum,2).add(P.pow(this._iNum,2))),t=P.ln(e);let r=P.acos(new P(this._realNum).div(e));this._iNum<0&&(r=r.negated());const n=P.ln(u),s=new P(0),a=n.mul(n).add(s.mul(s));if(a.eq(0))return this._isError=!0,"";const o=t.mul(n).add(r.mul(s)).div(a).toNumber(),c=r.mul(n).sub(t.mul(s)).div(a).toNumber();return ce.getComplex(o,c,this._suffix)}Power(u){if(this._realNum===0&&this._iNum===0)return u>0?ce.getComplex(this._realNum,this._iNum,this._suffix):(this._isError=!0,"");let e=P.sqrt(P.pow(this._realNum,2).add(P.pow(this._iNum,2))),t=P.acos(new P(this._realNum).div(e));this._iNum<0&&(t=t.negated()),e=P.pow(e,u),t=t.mul(u);const r=P.cos(t).mul(e).toNumber(),n=P.sin(t).mul(e).toNumber();return!Number.isFinite(r)||!Number.isFinite(n)?(this._isError=!0,""):ce.getComplex(r,n,this._suffix)}Product(u){const e=new P(this._realNum),t=new P(this._iNum),r=new P(u.getRealNum()),n=new P(u.getINum()),s=e.mul(r).sub(t.mul(n)).toNumber(),a=e.mul(n).add(t.mul(r)).toNumber(),o=this._suffix===""?u.getSuffix():this._suffix;return ce.getComplex(s,a,o)}Sec(){if(this._iNum){const u=P.cosh(this._iNum*2).add(P.cos(this._realNum*2)),e=P.cos(this._realNum).mul(P.cosh(this._iNum)).mul(2).div(u).toNumber(),t=P.sin(this._realNum).mul(P.sinh(this._iNum)).mul(2).div(u).toNumber();return ce.getComplex(e,t,this._suffix)}else{const u=new P(1).div(P.cos(this._realNum)).toNumber();return ce.getComplex(u,this._iNum,this._suffix)}}Sech(){if(!Number.isFinite(Math.sinh(this._realNum*2))||!Number.isFinite(Math.cosh(this._realNum*2)))return ce.getComplex(0,0,this._suffix);if(this._iNum){const u=P.cosh(this._realNum*2).add(P.cos(this._iNum*2)),e=P.cosh(this._realNum).mul(P.cos(this._iNum)).mul(2).div(u).toNumber(),t=P.sinh(this._realNum).mul(P.sin(this._iNum)).mul(-2).div(u).toNumber();return ce.getComplex(e,t,this._suffix)}else{const u=new P(1).div(P.cosh(this._realNum)).toNumber();return ce.getComplex(u,this._iNum,this._suffix)}}Sin(){if(this._iNum){const u=P.sin(this._realNum).mul(P.cosh(this._iNum)).toNumber(),e=P.cos(this._realNum).mul(P.sinh(this._iNum)).toNumber();return ce.getComplex(u,e,this._suffix)}else{const u=P.sin(this._realNum).toNumber();return ce.getComplex(u,this._iNum,this._suffix)}}Sinh(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,"";if(this._iNum){const u=P.sinh(this._realNum).mul(P.cos(this._iNum)).toNumber(),e=P.cosh(this._realNum).mul(P.sin(this._iNum)).toNumber();return ce.getComplex(u,e,this._suffix)}else{const u=P.sinh(this._realNum).toNumber();return ce.getComplex(u,this._iNum,this._suffix)}}Sqrt(){const u=P.sqrt(P.pow(this._realNum,2).add(P.pow(this._iNum,2))),e=P.sqrt(u);let t=P.acos(new P(this._realNum).div(u));this._iNum<0&&(t=t.negated());const r=e.mul(P.cos(t.div(2).toNumber())).toNumber(),n=e.mul(P.sin(t.div(2))).toNumber();return ce.getComplex(r,n,this._suffix)}Sub(u){const e=new P(this._realNum),t=new P(this._iNum),r=new P(u.getRealNum()),n=new P(u.getINum()),s=e.sub(r).toNumber(),a=t.sub(n).toNumber(),o=this._suffix===""?u.getSuffix():this._suffix;return ce.getComplex(s,a,o)}Sum(u){const e=new P(this._realNum),t=new P(this._iNum),r=new P(u.getRealNum()),n=new P(u.getINum()),s=e.add(r).toNumber(),a=t.add(n).toNumber(),o=this._suffix===""?u.getSuffix():this._suffix;return ce.getComplex(s,a,o)}Tan(){if(this._iNum){const u=P.cos(this._realNum*2).add(P.cosh(this._iNum*2)),e=P.sin(this._realNum*2).div(u).toNumber(),t=P.sinh(this._iNum*2).div(u).toNumber();return ce.getComplex(e,t,this._suffix)}else{const u=P.tan(this._realNum).toNumber();return ce.getComplex(u,this._iNum,this._suffix)}}Tanh(){if(!Number.isFinite(Math.sinh(this._realNum))||!Number.isFinite(Math.cosh(this._realNum)))return this._isError=!0,"";if(this._iNum){const u=P.cosh(this._realNum*2).add(P.cos(this._iNum*2)),e=P.sinh(this._realNum*2).div(u).toNumber(),t=P.sin(this._iNum*2).div(u).toNumber();return ce.getComplex(e,t,this._suffix)}else{const u=P.tanh(this._realNum).toNumber();return ce.getComplex(u,this._iNum,this._suffix)}}};class tg extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:j.create("i"),{isError:s,errorObject:a,variants:o}=G(e,t,n);if(s)return a;const[c,l,f]=o,m=+c.getValue(),d=+l.getValue(),_=`${f.getValue()}`;if(Number.isNaN(m)||Number.isNaN(d)||_!=="i"&&_!=="j")return g.create(h.VALUE);const C=he.getComplex(m,d,_);return typeof C=="number"?R.create(C):j.create(C)}}class rg extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3);A(this,"_units",[["a.u. of action","?",null,"action",!1,!1,105457168181818e-48],["a.u. of charge","e",null,"electric_charge",!1,!1,160217653141414e-33],["a.u. of energy","Eh",null,"energy",!1,!1,435974417757576e-32],["a.u. of length","a?",null,"length",!1,!1,529177210818182e-25],["a.u. of mass","m?",null,"mass",!1,!1,910938261616162e-45],["a.u. of time","?/Eh",null,"time",!1,!1,241888432650516e-31],["admiralty knot","admkn",null,"speed",!1,!0,.514773333],["ampere","A",null,"electric_current",!0,!1,1],["ampere per meter","A/m",null,"magnetic_field_intensity",!0,!1,1],["ångström","Å",["ang"],"length",!1,!0,1e-10],["are","ar",null,"area",!1,!0,100],["astronomical unit","ua",null,"length",!1,!1,149597870691667e-25],["bar","bar",null,"pressure",!1,!1,1e5],["barn","b",null,"area",!1,!1,1e-28],["becquerel","Bq",null,"radioactivity",!0,!1,1],["bit","bit",["b"],"information",!1,!0,1],["btu","BTU",["btu"],"energy",!1,!0,1055.05585262],["byte","byte",null,"information",!1,!0,8],["candela","cd",null,"luminous_intensity",!0,!1,1],["candela per square metre","cd/m?",null,"luminance",!0,!1,1],["centigrade","C",["cel"],"temperature",!0,!1,1],["cubic ångström","ang3",["ang^3"],"volume",!1,!0,1e-30],["cubic foot","ft3",["ft^3"],"volume",!1,!0,.028316846592],["cubic inch","in3",["in^3"],"volume",!1,!0,16387064e-12],["cubic light-year","ly3",["ly^3"],"volume",!1,!0,846786664623715e-61],["cubic metre","m3",["m^3"],"volume",!0,!0,1],["cubic mile","mi3",["mi^3"],"volume",!1,!0,416818182544058e-5],["cubic nautical mile","Nmi3",["Nmi^3"],"volume",!1,!0,6352182208],["cubic Pica","Pica3",["Picapt3","Pica^3","Picapt^3"],"volume",!1,!0,758660370370369e-22],["cubic yard","yd3",["yd^3"],"volume",!1,!0,.764554857984],["cup","cup",null,"volume",!1,!0,.0002365882365],["dalton","Da",["u"],"mass",!1,!1,166053886282828e-41],["day","d",["day"],"time",!1,!0,86400],["degree","°",null,"angle",!1,!1,.0174532925199433],["dyne","dyn",["dy"],"force",!1,!0,1e-5],["electronvolt","eV",["ev"],"energy",!1,!0,1.60217656514141],["ell","ell",null,"length",!1,!0,1.143],["erg","erg",["e"],"energy",!1,!0,1e-7],["fahrenheit","F",["fah"],"temperature",!0,!1,1],["fluid ounce","oz",null,"volume",!1,!0,295735295625e-16],["foot","ft",null,"length",!1,!0,.3048],["foot-pound","flb",null,"energy",!1,!0,1.3558179483314],["gal","Gal",null,"acceleration",!1,!1,.01],["gallon","gal",null,"volume",!1,!0,.003785411784],["gauss","G",["ga"],"magnetic_flux_density",!1,!0,1],["grain","grain",null,"mass",!1,!0,647989e-10],["gram","g",null,"mass",!1,!0,.001],["gray","Gy",null,"absorbed_dose",!0,!1,1],["gross registered ton","GRT",["regton"],"volume",!1,!0,2.8316846592],["hectare","ha",null,"area",!1,!0,1e4],["henry","H",null,"inductance",!0,!1,1],["hertz","Hz",null,"frequency",!0,!1,1],["horsepower","HP",["h"],"power",!1,!0,745.69987158227],["horsepower-hour","HPh",["hh","hph"],"energy",!1,!0,2684519538e-3],["hour","h",["hr"],"time",!1,!0,3600],["imperial gallon (U.K.)","uk_gal",null,"volume",!1,!0,.00454609],["imperial hundredweight","lcwt",["uk_cwt","hweight"],"mass",!1,!0,50.802345],["imperial quart (U.K)","uk_qt",null,"volume",!1,!0,.0011365225],["imperial ton","brton",["uk_ton","LTON"],"mass",!1,!0,1016.046909],["inch","in",null,"length",!1,!0,.0254],["international acre","uk_acre",null,"area",!1,!0,4046.8564224],["IT calorie","cal",null,"energy",!1,!0,4.1868],["joule","J",null,"energy",!0,!0,1],["katal","kat",null,"catalytic_activity",!0,!1,1],["kelvin","K",["kel"],"temperature",!0,!0,1],["kilogram","kg",null,"mass",!0,!0,1],["knot","kn",null,"speed",!1,!0,.514444444444444],["light-year","ly",null,"length",!1,!0,9460730472580800],["litre","L",["l","lt"],"volume",!1,!0,.001],["lumen","lm",null,"luminous_flux",!0,!1,1],["lux","lx",null,"illuminance",!0,!1,1],["maxwell","Mx",null,"magnetic_flux",!1,!1,1e-18],["measurement ton","MTON",null,"volume",!1,!0,1.13267386368],["meter per hour","m/h",["m/hr"],"speed",!1,!0,.00027777777777778],["meter per second","m/s",["m/sec"],"speed",!0,!0,1],["meter per second squared","m?s??",null,"acceleration",!0,!1,1],["parsec","pc",["parsec"],"length",!1,!0,0x6da012f958ee1c],["meter squared per second","m?/s",null,"kinematic_viscosity",!0,!1,1],["metre","m",null,"length",!0,!0,1],["miles per hour","mph",null,"speed",!1,!0,.44704],["millimetre of mercury","mmHg",null,"pressure",!1,!1,133.322],["minute","?",null,"angle",!1,!1,.000290888208665722],["minute","min",["mn"],"time",!1,!0,60],["modern teaspoon","tspm",null,"volume",!1,!0,5e-6],["mole","mol",null,"amount_of_substance",!0,!1,1],["morgen","Morgen",null,"area",!1,!0,2500],["n.u. of action","?",null,"action",!1,!1,105457168181818e-48],["n.u. of mass","m?",null,"mass",!1,!1,910938261616162e-45],["n.u. of speed","c?",null,"speed",!1,!1,299792458],["n.u. of time","?/(me?c??)",null,"time",!1,!1,128808866778687e-35],["nautical mile","M",["Nmi"],"length",!1,!0,1852],["newton","N",null,"force",!0,!0,1],["œrsted","Oe ",null,"magnetic_field_intensity",!1,!1,79.5774715459477],["ohm","Ω",null,"electric_resistance",!0,!1,1],["ounce mass","ozm",null,"mass",!1,!0,.028349523125],["pascal","Pa",null,"pressure",!0,!1,1],["pascal second","Pa?s",null,"dynamic_viscosity",!0,!1,1],["pferdestärke","PS",null,"power",!1,!0,735.49875],["phot","ph",null,"illuminance",!1,!1,1e-4],["pica (1/6 inch)","pica",null,"length",!1,!0,.00035277777777778],["pica (1/72 inch)","Pica",["Picapt"],"length",!1,!0,.00423333333333333],["poise","P",null,"dynamic_viscosity",!1,!1,.1],["pond","pond",null,"force",!1,!0,.00980665],["pound force","lbf",null,"force",!1,!0,4.4482216152605],["pound mass","lbm",null,"mass",!1,!0,.45359237],["quart","qt",null,"volume",!1,!0,.000946352946],["radian","rad",null,"angle",!0,!1,1],["rankine","Rank",null,"temperature",!1,!0,1],["reaumur","Reau",null,"temperature",!1,!0,1],["second","?",null,"angle",!1,!1,484813681109536e-20],["second","s",["sec"],"time",!0,!0,1],["short hundredweight","cwt",["shweight"],"mass",!1,!0,45.359237],["siemens","S",null,"electrical_conductance",!0,!1,1],["sievert","Sv",null,"equivalent_dose",!0,!1,1],["slug","sg",null,"mass",!1,!0,14.59390294],["square ångström","ang2",["ang^2"],"area",!1,!0,1e-20],["square foot","ft2",["ft^2"],"area",!1,!0,.09290304],["square inch","in2",["in^2"],"area",!1,!0,64516e-8],["square light-year","ly2",["ly^2"],"area",!1,!0,895054210748189e17],["square meter","m?",null,"area",!0,!0,1],["square mile","mi2",["mi^2"],"area",!1,!0,2589988110336e-6],["square nautical mile","Nmi2",["Nmi^2"],"area",!1,!0,3429904],["square Pica","Pica2",["Picapt2","Pica^2","Picapt^2"],"area",!1,!0,1792111111111e-17],["square yard","yd2",["yd^2"],"area",!1,!0,.83612736],["statute mile","mi",null,"length",!1,!0,1609.344],["steradian","sr",null,"solid_angle",!0,!1,1],["stilb","sb",null,"luminance",!1,!1,1e-4],["stokes","St",null,"kinematic_viscosity",!1,!1,1e-4],["stone","stone",null,"mass",!1,!0,6.35029318],["tablespoon","tbs",null,"volume",!1,!0,147868e-10],["teaspoon","tsp",null,"volume",!1,!0,492892e-11],["tesla","T",null,"magnetic_flux_density",!0,!0,1],["thermodynamic calorie","c",null,"energy",!1,!0,4.184],["ton","ton",null,"mass",!1,!0,907.18474],["tonne","t",null,"mass",!1,!1,1e3],["U.K. pint","uk_pt",null,"volume",!1,!0,.00056826125],["U.S. bushel","bushel",null,"volume",!1,!0,.03523907],["U.S. oil barrel","barrel",null,"volume",!1,!0,.158987295],["U.S. pint","pt",["us_pt"],"volume",!1,!0,.000473176473],["U.S. survey mile","survey_mi",null,"length",!1,!0,1609.347219],["U.S. survey/statute acre","us_acre",null,"area",!1,!0,4046.87261],["volt","V",null,"voltage",!0,!1,1],["watt","W",null,"power",!0,!0,1],["watt-hour","Wh",["wh"],"energy",!1,!0,3600],["weber","Wb",null,"magnetic_flux",!0,!1,1],["yard","yd",null,"length",!1,!0,.9144],["year","yr",null,"time",!1,!0,31557600]]);A(this,"_binaryPrefixes",{Yi:["yobi",80,12089258196146292e8,"Yi","yotta"],Zi:["zebi",70,11805916207174113e5,"Zi","zetta"],Ei:["exbi",60,1152921504606847e3,"Ei","exa"],Pi:["pebi",50,0x4000000000000,"Pi","peta"],Ti:["tebi",40,1099511627776,"Ti","tera"],Gi:["gibi",30,1073741824,"Gi","giga"],Mi:["mebi",20,1048576,"Mi","mega"],ki:["kibi",10,1024,"ki","kilo"]});A(this,"_unitPrefixes",{Y:["yotta",1e24,"Y"],Z:["zetta",1e21,"Z"],E:["exa",1e18,"E"],P:["peta",1e15,"P"],T:["tera",1e12,"T"],G:["giga",1e9,"G"],M:["mega",1e6,"M"],k:["kilo",1e3,"k"],h:["hecto",100,"h"],e:["dekao",10,"e"],d:["deci",.1,"d"],c:["centi",.01,"c"],m:["milli",.001,"m"],u:["micro",1e-6,"u"],n:["nano",1e-9,"n"],p:["pico",1e-12,"p"],f:["femto",1e-15,"f"],a:["atto",1e-18,"a"],z:["zepto",1e-21,"z"],y:["yocto",1e-24,"y"]})}calculate(e,t,r){const{isError:n,errorObject:s,variants:a}=G(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=`${c.getValue()}`,d=`${l.getValue()}`;if(Number.isNaN(f))return g.create(h.VALUE);let _,C=1,E,b=1;const{_from:y,_to:p}=this._lookupFromAndToUnits(m,d);if(_=y,E=p,_===null){const{_from:S,_fromMultiplier:D}=this._lookupFromPrefix(m);_=S,C=D}if(E===null){const{_to:S,_toMultiplier:D}=this._lookupToPrefix(d);E=S,b=D}if(_===null||E===null||_[3]!==E[3])return g.create(h.NA);let V;return _[3]==="temperature"?(V=this._getTemperatureConversion(f,_[1],E[1]),V=+V.toFixed(2)):V=f*_[6]*C/(E[6]*b),R.create(V)}_lookupFromAndToUnits(e,t){let r=null,n=null,s;for(let a=0;a<this._units.length;a++)s=this._units[a][2]===null?[]:this._units[a][2],(this._units[a][1]===e||s.indexOf(e)>=0)&&(r=this._units[a]),(this._units[a][1]===t||s.indexOf(t)>=0)&&(n=this._units[a]);return{_from:r,_to:n}}_lookupFromPrefix(e){let t=null,r=1,n=e,s;const a=this._binaryPrefixes[e.substring(0,2)];let o=this._unitPrefixes[e.substring(0,1)];e.substring(0,2)==="da"&&(o=["dekao",10,"da"]),a?(r=a[2],n=e.substring(2)):o&&(r=o[1],n=e.substring(o[2].length));for(let c=0;c<this._units.length;c++)s=this._units[c][2]===null?[]:this._units[c][2],(this._units[c][1]===n||s.indexOf(n)>=0)&&(t=this._units[c]);return{_from:t,_fromMultiplier:r}}_lookupToPrefix(e){let t=null,r=1,n=e,s;const a=this._binaryPrefixes[e.substring(0,2)];let o=this._unitPrefixes[e.substring(0,1)];e.substring(0,2)==="da"&&(o=["dekao",10,"da"]),a?(r=a[2],n=e.substring(2)):o&&(r=o[1],n=e.substring(o[2].length));for(let c=0;c<this._units.length;c++)s=this._units[c][2]===null?[]:this._units[c][2],(this._units[c][1]===n||s.indexOf(n)>=0)&&(t=this._units[c]);return{_to:t,_toMultiplier:r}}_getTemperatureConversion(e,t,r){switch(t){case"C":return this._centigradeConversion(e,r);case"F":return this._fahrenheitConversion(e,r);case"K":return this._kelvinConversion(e,r);case"Rank":return this._rankineConversion(e,r);case"Reau":return this._reaumurConversion(e,r);default:return e}}_centigradeConversion(e,t){switch(t){case"F":return e*9/5+32;case"K":return e+273.15;case"Rank":return(e+273.15)*9/5;case"Reau":return e*4/5;default:return e}}_fahrenheitConversion(e,t){switch(t){case"C":return(e-32)*5/9;case"K":return(e-32)*5/9+273.15;case"Rank":return e+459.67;case"Reau":return(e-32)*4/9;default:return e}}_kelvinConversion(e,t){switch(t){case"C":return e-273.15;case"F":return(e-273.15)*9/5+32;case"Rank":return e*9/5;case"Reau":return(e-273.15)*4/5;default:return e}}_rankineConversion(e,t){switch(t){case"C":return(e-491.67)*5/9;case"F":return e-459.67;case"K":return e*5/9;case"Reau":return(e-491.67)*4/9;default:return e}}_reaumurConversion(e,t){switch(t){case"C":return e*5/4;case"F":return e*9/4+32;case"K":return e*5/4+273.15;case"Rank":return e*9/4+491.67;default:return e}}}class ng extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:f,errorObject:m,variants:d}=G(t);if(f)return m;const[_]=d;if(r=Math.floor(+_.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=G(e);if(n)return s;const[o]=a,c=Math.trunc(+o.getValue());if(Number.isNaN(c))return g.create(h.VALUE);if(!/^-?[0-9]{1,3}$/.test(`${c}`)||c<-512||c>511)return g.create(h.NUM);let l;if(c<0){const f=(512+c).toString(2);l=`1${"0".repeat(9-f.length)}${f}`}else if(l=Number.parseInt(`${c}`,10).toString(2),t){if(r<l.length)return g.create(h.NUM);l="0".repeat(r-l.length)+l}return j.create(l)}}class sg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:f,errorObject:m,variants:d}=G(t);if(f)return m;const[_]=d;if(r=Math.floor(+_.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=G(e);if(n)return s;const[o]=a,c=Math.trunc(+o.getValue());if(Number.isNaN(c))return g.create(h.VALUE);if(!/^-?[0-9]{1,12}$/.test(`${c}`)||c<-549755813888||c>549755813887)return g.create(h.NUM);let l;if(c<0)l=(1099511627776+c).toString(16);else if(l=Number.parseInt(`${c}`,10).toString(16),t){if(r<l.length)return g.create(h.NUM);l="0".repeat(r-l.length)+l}return j.create(l.toLocaleUpperCase())}}class ag extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:f,errorObject:m,variants:d}=G(t);if(f)return m;const[_]=d;if(r=Math.floor(+_.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=G(e);if(n)return s;const[o]=a,c=Math.trunc(+o.getValue());if(Number.isNaN(c))return g.create(h.VALUE);if(!/^-?[0-9]{1,9}$/.test(`${c}`)||c<-536870912||c>536870911)return g.create(h.NUM);let l;if(c<0)l=(1073741824+c).toString(8);else if(l=Number.parseInt(`${c}`,10).toString(8),t){if(r<l.length)return g.create(h.NUM);l="0".repeat(r-l.length)+l}return j.create(l)}}class ig extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:R.create(0),{isError:n,errorObject:s,variants:a}=G(e,r);if(n)return s;const[o,c]=a,l=+o.getValue(),f=+c.getValue();if(Number.isNaN(l)||Number.isNaN(f))return g.create(h.VALUE);const m=l===f?1:0;return R.create(m)}}class og extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){let r;if(t){const{isError:n,errorObject:s,variants:a}=G(e,t);if(n)return s;const[o,c]=a,l=+o.getValue(),f=+c.getValue();if(Number.isNaN(l)||Number.isNaN(f))return g.create(h.VALUE);r=Yt(f)-Yt(l)}else{const{isError:n,errorObject:s,variants:a}=G(e);if(n)return s;const[o]=a,c=+o.getValue();if(Number.isNaN(c))return g.create(h.VALUE);r=Yt(c)}return R.create(r)}}class ug extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=+s.getValue();if(Number.isNaN(a))return g.create(h.VALUE);const o=Yt(a);return R.create(o)}}class cg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=+s.getValue();if(Number.isNaN(a))return g.create(h.VALUE);const o=la(a);return R.create(o)}}class lg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=+s.getValue();if(Number.isNaN(a))return g.create(h.VALUE);const o=la(a);return R.create(o)}}var Z=(i=>(i.BESSELI="BESSELI",i.BESSELJ="BESSELJ",i.BESSELK="BESSELK",i.BESSELY="BESSELY",i.BIN2DEC="BIN2DEC",i.BIN2HEX="BIN2HEX",i.BIN2OCT="BIN2OCT",i.BITAND="BITAND",i.BITLSHIFT="BITLSHIFT",i.BITOR="BITOR",i.BITRSHIFT="BITRSHIFT",i.BITXOR="BITXOR",i.COMPLEX="COMPLEX",i.CONVERT="CONVERT",i.DEC2BIN="DEC2BIN",i.DEC2HEX="DEC2HEX",i.DEC2OCT="DEC2OCT",i.DELTA="DELTA",i.ERF="ERF",i.ERF_PRECISE="ERF.PRECISE",i.ERFC="ERFC",i.ERFC_PRECISE="ERFC.PRECISE",i.GESTEP="GESTEP",i.HEX2BIN="HEX2BIN",i.HEX2DEC="HEX2DEC",i.HEX2OCT="HEX2OCT",i.IMABS="IMABS",i.IMAGINARY="IMAGINARY",i.IMARGUMENT="IMARGUMENT",i.IMCONJUGATE="IMCONJUGATE",i.IMCOS="IMCOS",i.IMCOSH="IMCOSH",i.IMCOT="IMCOT",i.IMCOTH="IMCOTH",i.IMCSC="IMCSC",i.IMCSCH="IMCSCH",i.IMDIV="IMDIV",i.IMEXP="IMEXP",i.IMLN="IMLN",i.IMLOG="IMLOG",i.IMLOG10="IMLOG10",i.IMLOG2="IMLOG2",i.IMPOWER="IMPOWER",i.IMPRODUCT="IMPRODUCT",i.IMREAL="IMREAL",i.IMSEC="IMSEC",i.IMSECH="IMSECH",i.IMSIN="IMSIN",i.IMSINH="IMSINH",i.IMSQRT="IMSQRT",i.IMSUB="IMSUB",i.IMSUM="IMSUM",i.IMTAN="IMTAN",i.IMTANH="IMTANH",i.OCT2BIN="OCT2BIN",i.OCT2DEC="OCT2DEC",i.OCT2HEX="OCT2HEX",i))(Z||{});class fg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);const r=t!=null?t:R.create(0),{isError:n,errorObject:s,variants:a}=G(e,r);if(n)return s;const[o,c]=a,l=+o.getValue(),f=+c.getValue();if(Number.isNaN(l)||Number.isNaN(f))return g.create(h.VALUE);const m=l>=f?1:0;return R.create(m)}}class mg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:d,errorObject:_,variants:C}=G(t);if(d)return _;const[E]=C;if(r=Math.floor(+E.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=G(e);if(n)return s;const[o]=a,c=`${o.getValue()}`;if(!ca(c))return g.create(h.NUM);const l=c.length===10&&c.substring(0,1).toLocaleUpperCase()==="F",f=l?Number.parseInt(c,16)-1099511627776:Number.parseInt(c,16);if(f<-512||f>511)return g.create(h.NUM);let m;if(l){const d=(512+f).toString(2);m=`1${"0".repeat(9-d.length)}${d}`}else if(m=f.toString(2),t){if(r<m.length)return g.create(h.NUM);m="0".repeat(r-m.length)+m}return j.create(m)}}class hg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`;if(!ca(a))return g.create(h.NUM);let o=Number.parseInt(a,16);return o>=549755813888&&(o-=1099511627776),R.create(o)}}class gg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:m,errorObject:d,variants:_}=G(t);if(m)return d;const[C]=_;if(r=Math.floor(+C.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=G(e);if(n)return s;const[o]=a,c=`${o.getValue()}`;if(!ca(c))return g.create(h.NUM);const l=Number.parseInt(c,16);if(l>536870911&&l<0xffe0000000)return g.create(h.NUM);let f;if(l>=0xffe0000000)f=(l-0xffc0000000).toString(8);else if(f=l.toString(8),t){if(r<f.length)return g.create(h.NUM);f="0".repeat(r-f.length)+f}return j.create(f)}}class dg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.Abs();return R.create(c)}}class Cg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.getINum();return R.create(c)}}class _g extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);if(o.getRealNum()===0&&o.getINum()===0)return g.create(h.DIV_BY_ZERO);const c=o.Argument();return R.create(c)}}class Ag extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.Conjugate();return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class Eg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.Cos();return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class bg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.Cosh();return o.isError()?g.create(h.NUM):typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class yg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return g.create(h.NUM);const c=o.Cot();return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class Rg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return g.create(h.NUM);const c=o.Coth();return o.isError()?g.create(h.NUM):typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class pg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return g.create(h.NUM);const c=o.Csc();return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class Ng extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return g.create(h.NUM);const c=o.Csch();return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class Vg extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=G(e,t);if(r)return n;const[a,o]=s,c=`${a.getValue()}`,l=`${o.getValue()}`,f=new he(c),m=new he(l);if(f.isError()||m.isError()||f.isDifferentSuffixes(m)||m.getRealNum()===0&&m.getINum()===0)return g.create(h.NUM);const d=f.Div(m);return typeof d=="number"||M.isRealNum(d)?R.create(+d):j.create(d)}}class Og extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.Exp();return o.isError()?g.create(h.NUM):typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class Mg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return g.create(h.NUM);const c=o.Ln();return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class Sg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=G(e);if(r)return n;const[a]=s;let o=t!=null?t:R.create(10);if(o.isArray()){const b=o.getRowCount(),y=o.getColumnCount();if(b>1||y>1)return g.create(h.VALUE);o=o.get(0,0)}const{isError:c,errorObject:l,variants:f}=F(o);if(c)return l;const[m]=f,d=`${a.getValue()}`,_=+m.getValue(),C=new he(d);if(C.isError()||C.getRealNum()===0&&C.getINum()===0||_<=0)return g.create(h.NUM);const E=C.Log(_);return C.isError()?g.create(h.NUM):typeof E=="number"||M.isRealNum(E)?R.create(+E):j.create(E)}}class Dg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return g.create(h.NUM);const c=o.Log(2);return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class wg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError()||o.getRealNum()===0&&o.getINum()===0)return g.create(h.NUM);const c=o.Log(10);return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class Lg extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=G(e,t);if(r)return n;const[a,o]=s,c=`${a.getValue()}`,l=new he(c);if(l.isError())return g.create(h.NUM);const f=+o.getValue();if(Number.isNaN(f))return g.create(h.VALUE);const m=l.Power(f);return l.isError()?g.create(h.NUM):typeof m=="number"||M.isRealNum(m)?R.create(+m):j.create(m)}}class xg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t="";for(let r=0;r<e.length;r++){if(t instanceof g)return t;const n=e[r];if(n.isArray()){let s=!1,a;if(n.iterator(o=>{if(t=this._handleSingleObject(o,t),t instanceof g)return s=!0,a=t,!1}),s)return a}else t=this._handleSingleObject(n,t)}return t instanceof g?t:typeof t=="number"||M.isRealNum(t)?R.create(+t):j.create(t)}_handleSingleObject(e,t){let r=t;if(e.isError())return e;if(e.isBoolean())return g.create(h.VALUE);const n=`${e.getValue()}`;if(typeof t!="number"&&!t){const s=new he(n);if(s.isError())return g.create(h.NUM);r=s.toString()}else{const s=new he(t),a=new he(n);if(s.isError()||a.isError())return g.create(h.NUM);if(s.isDifferentSuffixes(a))return g.create(h.VALUE);r=s.Product(a)}return r}}class Pg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.getRealNum();return R.create(c)}}class jg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.Sec();return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class Ug extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.Sech();return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class vg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.Sin();return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class Tg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.Sinh();return o.isError()?g.create(h.NUM):typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class Ig extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);if(o.getRealNum()===0&&o.getINum()===0)return R.create(0);const c=o.Sqrt();return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class Fg extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:r,errorObject:n,variants:s}=G(e,t);if(r)return n;const[a,o]=s,c=`${a.getValue()}`,l=`${o.getValue()}`,f=new he(c),m=new he(l);if(f.isError()||m.isError()||f.isDifferentSuffixes(m))return g.create(h.NUM);const d=f.Sub(m);return typeof d=="number"||M.isRealNum(d)?R.create(+d):j.create(d)}}class Bg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t="";for(let r=0;r<e.length;r++){if(t instanceof g)return t;const n=e[r];if(n.isArray()){let s=!1,a;if(n.iterator(o=>{if(t=this._handleSingleObject(o,t),t instanceof g)return s=!0,a=t,!1}),s)return a}else t=this._handleSingleObject(n,t)}return t instanceof g?t:typeof t=="number"||M.isRealNum(t)?R.create(+t):j.create(t)}_handleSingleObject(e,t){let r=t;if(e.isError())return e;if(e.isBoolean())return g.create(h.VALUE);const n=`${e.getValue()}`;if(typeof t!="number"&&!t){const s=new he(n);if(s.isError())return g.create(h.NUM);r=s.toString()}else{const s=new he(t),a=new he(n);if(s.isError()||a.isError())return g.create(h.NUM);if(s.isDifferentSuffixes(a))return g.create(h.VALUE);r=s.Sum(a)}return r}}class kg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.Tan();return typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class $g extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`,o=new he(a);if(o.isError())return g.create(h.NUM);const c=o.Tanh();return o.isError()?g.create(h.NUM):typeof c=="number"||M.isRealNum(c)?R.create(+c):j.create(c)}}class Yg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:d,errorObject:_,variants:C}=G(t);if(d)return _;const[E]=C;if(r=Math.floor(+E.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=G(e);if(n)return s;const[o]=a,c=`${o.getValue()}`;if(!ua(c))return g.create(h.NUM);const l=c.length===10&&c.substring(0,1)==="7",f=l?Number.parseInt(c,8)-1073741824:Number.parseInt(c,8);if(f<-512||f>511)return g.create(h.NUM);let m;if(l){const d=(512+f).toString(2);m=`1${"0".repeat(9-d.length)}${d}`}else if(m=f.toString(2),t){if(r<m.length)return g.create(h.NUM);m="0".repeat(r-m.length)+m}return j.create(m)}}class Hg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const{isError:t,errorObject:r,variants:n}=G(e);if(t)return r;const[s]=n,a=`${s.getValue()}`;if(!ua(a))return g.create(h.NUM);let o=Number.parseInt(a,8);return o>=536870912&&(o-=1073741824),R.create(o)}}class Gg extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){if(e.isNull())return g.create(h.NA);let r=0;if(t){const{isError:m,errorObject:d,variants:_}=G(t);if(m)return d;const[C]=_;if(r=Math.floor(+C.getValue()),Number.isNaN(r))return g.create(h.VALUE);if(r<0||r>10)return g.create(h.NUM)}const{isError:n,errorObject:s,variants:a}=G(e);if(n)return s;const[o]=a,c=`${o.getValue()}`;if(!ua(c))return g.create(h.NUM);const l=Number.parseInt(c,8);let f;if(l>=536870912)f=`ff${(l+3221225472).toString(16)}`;else if(f=l.toString(16),t){if(r<f.length)return g.create(h.NUM);f="0".repeat(r-f.length)+f}return j.create(f.toLocaleUpperCase())}}const Cu=[[Yh,Z.BESSELI],[Hh,Z.BESSELJ],[Gh,Z.BESSELK],[Wh,Z.BESSELY],[Qh,Z.BIN2DEC],[qh,Z.BIN2HEX],[Kh,Z.BIN2OCT],[Xh,Z.BITAND],[Zh,Z.BITLSHIFT],[zh,Z.BITOR],[Jh,Z.BITRSHIFT],[eg,Z.BITXOR],[tg,Z.COMPLEX],[rg,Z.CONVERT],[ng,Z.DEC2BIN],[sg,Z.DEC2HEX],[ag,Z.DEC2OCT],[ig,Z.DELTA],[og,Z.ERF],[ug,Z.ERF_PRECISE],[cg,Z.ERFC],[lg,Z.ERFC_PRECISE],[fg,Z.GESTEP],[mg,Z.HEX2BIN],[hg,Z.HEX2DEC],[gg,Z.HEX2OCT],[dg,Z.IMABS],[Cg,Z.IMAGINARY],[_g,Z.IMARGUMENT],[Ag,Z.IMCONJUGATE],[Eg,Z.IMCOS],[bg,Z.IMCOSH],[yg,Z.IMCOT],[Rg,Z.IMCOTH],[pg,Z.IMCSC],[Ng,Z.IMCSCH],[Vg,Z.IMDIV],[Og,Z.IMEXP],[Mg,Z.IMLN],[Sg,Z.IMLOG],[wg,Z.IMLOG10],[Dg,Z.IMLOG2],[Lg,Z.IMPOWER],[xg,Z.IMPRODUCT],[Pg,Z.IMREAL],[jg,Z.IMSEC],[Ug,Z.IMSECH],[vg,Z.IMSIN],[Tg,Z.IMSINH],[Ig,Z.IMSQRT],[Fg,Z.IMSUB],[Bg,Z.IMSUM],[kg,Z.IMTAN],[$g,Z.IMTANH],[Yg,Z.OCT2BIN],[Hg,Z.OCT2DEC],[Gg,Z.OCT2HEX]];var J=(i=>(i.ACCRINT="ACCRINT",i.ACCRINTM="ACCRINTM",i.AMORDEGRC="AMORDEGRC",i.AMORLINC="AMORLINC",i.COUPDAYBS="COUPDAYBS",i.COUPDAYS="COUPDAYS",i.COUPDAYSNC="COUPDAYSNC",i.COUPNCD="COUPNCD",i.COUPNUM="COUPNUM",i.COUPPCD="COUPPCD",i.CUMIPMT="CUMIPMT",i.CUMPRINC="CUMPRINC",i.DB="DB",i.DDB="DDB",i.DISC="DISC",i.DOLLARDE="DOLLARDE",i.DOLLARFR="DOLLARFR",i.DURATION="DURATION",i.EFFECT="EFFECT",i.FV="FV",i.FVSCHEDULE="FVSCHEDULE",i.INTRATE="INTRATE",i.IPMT="IPMT",i.IRR="IRR",i.ISPMT="ISPMT",i.MDURATION="MDURATION",i.MIRR="MIRR",i.NOMINAL="NOMINAL",i.NPER="NPER",i.NPV="NPV",i.ODDFPRICE="ODDFPRICE",i.ODDFYIELD="ODDFYIELD",i.ODDLPRICE="ODDLPRICE",i.ODDLYIELD="ODDLYIELD",i.PDURATION="PDURATION",i.PMT="PMT",i.PPMT="PPMT",i.PRICE="PRICE",i.PRICEDISC="PRICEDISC",i.PRICEMAT="PRICEMAT",i.PV="PV",i.RATE="RATE",i.RECEIVED="RECEIVED",i.RRI="RRI",i.SLN="SLN",i.SYD="SYD",i.TBILLEQ="TBILLEQ",i.TBILLPRICE="TBILLPRICE",i.TBILLYIELD="TBILLYIELD",i.VDB="VDB",i.XIRR="XIRR",i.XNPV="XNPV",i.YIELD="YIELD",i.YIELDDISC="YIELDDISC",i.YIELDMAT="YIELDMAT",i))(J||{});function zn(i,u,e,t){const r=Pt(i,u,e),{days:n}=Ce(r,i,t);return n}function Ge(i,u,e,t){let r;if(t===1){const n=Pt(i,u,e);let s=ne(n);s=ur(s,12/e);const a=be(s);n<0&&e===1?r=365:r=a-n}else t===3?r=365/e:r=360/e;return r}function _u(i,u,e){const t=ne(i);let r=ne(u);for(r.setUTCFullYear(t.getUTCFullYear()),r<t&&r.setUTCFullYear(r.getUTCFullYear()+1);r>t;)r=ur(r,-12/e);return r=ur(r,12/e),be(r)}function qt(i,u,e){let t=0;const r=ne(i);let n=ne(u);for(;n>r;)n=ur(n,-12/e),t++;return t}function Pt(i,u,e){const t=ne(i);let r=ne(u);for(r.setUTCFullYear(t.getUTCFullYear()),r<t&&r.setUTCFullYear(r.getUTCFullYear()+1);r>t;)r=ur(r,-12/e);return be(r)}function Au(i,u,e,t,r,n){const s=zn(i,u,r,n),a=Ge(i,u,r,n),o=qt(i,u,r),c=(a-s)/a-1,l=t/r+1,f=e*100/r;let m=0,d=0;for(let E=1;E<=o;E++){const b=E+c,y=f/l**b;m+=b*y,d+=y}const _=o+c,C=100/l**_;return m+=_*C,d+=C,m/d/r}function Ur(i,u,e,t,r){let n;if(i===0)n=(e+t)/u;else{const s=(1+i)**u;n=r===1?(t*i/(s-1)+e*i/(1-1/s))/(1+i):t*i/(s-1)+e*i/(1-1/s)}return-n}function Kt(i,u,e,t,r){let n;if(i===0)n=t+e*u;else{if(i===-1&&u===0)return Number.NaN;const s=(1+i)**u;n=r===1?t*s+e*(1+i)*(s-1)/i:t*s+e*(s-1)/i}return-n}function Eu(i,u,e,t,r,n){const s=Ur(i,e,t,r,n);return(u===1?n===1?0:-t:n===1?Kt(i,u-2,s,t,1)-s:Kt(i,u-1,s,t,0))*i}function bu(i,u){let e=0;for(let t=1;t<=u.length;t++)e+=u[t-1]/(1+i)**t;return e}function yu(i,u,e,t,r,n,s,a,o){const c=kt(e,t,o),l=Ge(i,t,a,o);return c<l?Wg(i,u,e,t,r,n,s,a,o,c,l):Qg(i,u,e,t,r,n,s,a,o,l)}function Wg(i,u,e,t,r,n,s,a,o,c,l){let f=0;const m=qt(i,u,a),d=kt(i,t,o);f+=s/(1+n/a)**(m-1+d/l),f+=100*r/a*c/l/(1+n/a)**(d/l);for(let C=2;C<=m;C++)f+=100*r/a/(1+n/a)**(C-1+d/l);const _=kt(e,i,o);return f-=100*r/a*_/l,f}function Qg(i,u,e,t,r,n,s,a,o,c){let l=0;const f=qt(t,u,a),m=qg(t,i,12/a);let d;if(o===2||o===3){const y=_u(i,t,a);d=kt(i,y,o)}else{const y=Pt(i,t,a),{days:p}=Ce(y,i,o);d=c-p}l+=s/(1+n/a)**(f+m+d/c);const _=qt(e,t,a);let C=t,E=0,b=0;for(let y=_;y>=1;y--){const p=Gt(C,-12/a,!1),V=o===1?kt(p,C,o):c,S=y>1?V:kt(e,C,o);E+=S/V;const D=e>p?e:p,w=i<C?i:C,L=kt(D,w,o);b+=L/V,C=p}l+=100*r/a*E/(1+n/a)**(m+d/c);for(let y=1;y<=f;y++)l+=100*r/a/(1+n/a)**(y+m+d/c);return l-=100*r/a*b,l}function kt(i,u,e){const{days:t}=Ce(i,u,e);return i<u?t:0}function Ru(i,u,e){const t=ne(i),r=t.getUTCFullYear(),n=t.getUTCMonth(),s=t.getUTCDate(),a=or(r,n,s),o=ne(u),c=o.getUTCFullYear(),l=o.getUTCMonth(),f=o.getUTCDate(),m=or(c,l,f);return!(s!==f&&!(a&&m)||Math.abs((c-r)*12+(l-n))%(12/e)!==0)}function fr(i,u,e){return Pt(i,u,e)>=0}function Gt(i,u,e){let t=ne(i);if(t=ur(t,u),e){const r=t.getUTCFullYear(),n=t.getUTCMonth(),s=jr(r,n);t.setUTCDate(s)}return be(t)}function qg(i,u,e,t){const r=ne(i),n=ne(u),s=r.getUTCFullYear(),a=r.getUTCMonth(),o=r.getUTCDate(),c=n.getUTCFullYear(),l=n.getUTCMonth(),f=n.getUTCDate(),m=or(s,a,o),d=!m&&a!==1&&o>28&&o<jr(s,a)?or(c,l,f):m,_=Gt(u,0,d);let C=1+ +(u<_),E=Gt(_,e,d);for(;!(e>0?E>=u:E<=u);)E=Gt(E,e,d),C++;return C}function Va(i,u){let n=1,s=0,a=i,o;for(;n>1e-7&&s<500;){const c=(u(a+1e-7)-u(a-1e-7))/2e-7;o=a-u(a)/c,s++,n=Math.abs(o-a),a=o}return Number.isNaN(a)||Math.abs(a)===1/0||s===500?Kg(i,u):a}function Kg(i,u){const r=Number.MAX_VALUE,n=-1,s=1.6;let a=i-.01<=n?n+1e-7:i-.01,o=i+.01>=r?r-1e-7:i+.01,c,l,f=0;if(i<=n||i>=r)return g.create(h.NUM);for(let E=0;E<60;E++){c=a<=n?n+1e-7:a,l=o>=r?r-1e-7:o;const b=u(c),y=u(l);if(b*y<=0)break;if(b*y>0)a=c+s*(c-l),o=l+s*(l-c);else return g.create(h.NUM);if(E===59)return g.create(h.NUM)}c=c,l=l;let m=u(c);const d=u(l);let _,C;if(Math.abs(m)<1e-7||Math.abs(d)<1e-7)return g.create(h.NUM);do C=c+(l-c)/2,_=u(C),m*_<0?l=C:c=C,m=u(c),f++;while(Math.abs(_)>1e-7&&f<60);return C}function Jr(i,u,e,t,r,n,s){const a=qt(i,u,n),o=Ge(i,u,n,s),c=zn(i,u,n,s);if(a===1){const m=o-c,d=100*e/n+r,_=t/n*m/o+1,C=100*e/n*c/o;return d/_-C}const l=o-c;let f=r/(1+t/n)**(a-1+l/o);for(let m=1;m<=a;m++)f+=100*e/n/(1+t/n)**(m-1+l/o);return f-=100*e/n*c/o,f}function Ts(i,u,e,t,r){let n=0,s=r/e;s>=1?(s=1,n=t===1?i:0):n=i*(1-s)**(t-1);const a=i*(1-s)**t;let o=0;return a<u?o=n-u:o=n-a,o<0&&(o=0),o}class Xg extends N{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",8)}calculate(e,t,r,n,s,a,o,c){const l=o!=null?o:R.create(0),f=c!=null?c:I.create(!0),{isError:m,errorObject:d,variants:_}=G(e,t,r,n,s,a,l);if(m)return d;const[C,E,b,y,p,V,S]=_,D=Y(C);if(typeof D!="number")return D;const w=Y(E);if(typeof w!="number")return w;const L=Y(b);if(typeof L!="number")return L;const x=+y.getValue(),v=+p.getValue(),U=Math.floor(+V.getValue()),$=Math.floor(+S.getValue()),Q=+f.getValue();return Number.isNaN(x)||Number.isNaN(v)||Number.isNaN(U)||Number.isNaN($)||Number.isNaN(Q)?g.create(h.VALUE):x<=0||v<=0||![1,2,4].includes(U)||$<0||$>4||Math.floor(D)>=Math.floor(L)?g.create(h.NUM):this._getResult(D,w,L,x,v,U,$,Q)}_getResult(e,t,r,n,s,a,o,c){let l=Pt(e,t,a);if(l<=0)return R.create(0);l=Pt(r,t,a);const f=12/a,m=ne(t),d=m.getUTCFullYear(),_=m.getUTCMonth(),C=m.getUTCDate(),E=or(d,_,C);let b=Gt(t,-f,E);if(r>t&&c)for(b=t;b<r;)b=Gt(b,f,E);let y=e>b?e:b,{days:p}=Ce(y,r,o);if(l>=e){const{days:x}=Ce(y,r,o?4:0);p=x}r<y&&(p=-p);let V=Ge(b,t,a,o),S=p/V,D=b,w=e;for(;D>e;){w=D,D=Gt(D,-f,E),y=e>D?e:D;const{days:x}=Ce(y,w,o);if(o===0)w>=y||e<=D?p=x:p=-x,V=Ge(D,w,a,o);else if(p=w<y?-x:x,o===3)V=365/a;else{const{days:v}=Ce(D,w,o);V=w<D?-v:v}S+=e<=D?c?1:0:p/V}const L=s*n/a*S;return R.create(L)}}class Zg extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=s!=null?s:R.create(0),{isError:o,errorObject:c,variants:l}=G(e,t,r,n,a);if(o)return c;const[f,m,d,_,C]=l,E=Y(f);if(typeof E!="number")return E;const b=Y(m);if(typeof b!="number")return b;const y=+d.getValue(),p=+_.getValue(),V=Math.floor(+C.getValue());if(Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(V))return g.create(h.VALUE);if(y<=0||p<=0||V<0||V>4||Math.floor(E)>Math.floor(b))return g.create(h.NUM);if(Math.floor(E)===Math.floor(b))return R.create(0);const{days:S,yearDays:D}=Ce(E,b,V),w=p*y*S/D;return R.create(w)}}class zg extends N{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",7)}calculate(e,t,r,n,s,a,o){const c=o!=null?o:R.create(0),{isError:l,errorObject:f,variants:m}=G(e,t,r,n,s,a,c);if(l)return f;const[d,_,C,E,b,y,p]=m,V=Y(_);if(typeof V!="number")return V;const S=Y(C);if(typeof S!="number")return S;const D=+d.getValue(),w=+E.getValue();let L=+b.getValue();const x=+y.getValue(),v=Math.floor(+p.getValue());return Number.isNaN(D)||Number.isNaN(w)||Number.isNaN(L)||Number.isNaN(x)||Number.isNaN(v)?g.create(h.VALUE):D<=0||w<0||D<w||Math.floor(V)>Math.floor(S)||L<0||x<=0||![0,1,3,4].includes(v)?g.create(h.NUM):(L>1?L=Math.floor(L):L=Math.ceil(L),this._getResult(D,V,S,w,L,x,v))}_getResult(e,t,r,n,s,a,o){const c=e-n,l=e*a,{days:f,yearDays:m}=Ce(t,r,o),d=f/m,_=Math.ceil(c/l-d);if(_<0)return R.create(0);let C=l;return s===0?C=l*d:s===_?C=c-l*(d+s-1):s>_&&(C=0),R.create(C)}}class Jg extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:R.create(0),{isError:a,errorObject:o,variants:c}=G(e,t,r,s);if(a)return o;const[l,f,m,d]=c,_=Y(l);if(typeof _!="number")return _;const C=Y(f);if(typeof C!="number")return C;const E=Math.floor(+m.getValue()),b=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(b))return g.create(h.VALUE);if(![1,2,4].includes(E)||b<0||b>4||Math.floor(_)>=Math.floor(C))return g.create(h.NUM);const y=zn(_,C,E,b);return R.create(y)}}class e1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:R.create(0),{isError:a,errorObject:o,variants:c}=G(e,t,r,s);if(a)return o;const[l,f,m,d]=c,_=Y(l);if(typeof _!="number")return _;const C=Y(f);if(typeof C!="number")return C;const E=Math.floor(+m.getValue()),b=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(b))return g.create(h.VALUE);if(![1,2,4].includes(E)||b<0||b>4||Math.floor(_)>=Math.floor(C))return g.create(h.NUM);const y=Ge(_,C,E,b);return R.create(y)}}class t1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:R.create(0),{isError:a,errorObject:o,variants:c}=G(e,t,r,s);if(a)return o;const[l,f,m,d]=c,_=Y(l);if(typeof _!="number")return _;const C=Y(f);if(typeof C!="number")return C;const E=Math.floor(+m.getValue()),b=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(b))return g.create(h.VALUE);if(![1,2,4].includes(E)||b<0||b>4||Math.floor(_)>=Math.floor(C))return g.create(h.NUM);const y=ne(_),p=ne(C);for(p.setUTCFullYear(y.getUTCFullYear()),p<y&&p.setUTCFullYear(p.getUTCFullYear()+1);p>y;)p.setUTCMonth(p.getUTCMonth()-12/E);p.setUTCMonth(p.getUTCMonth()+12/E);const V=be(p),{days:S}=Ce(_,V,b);return R.create(S)}}class r1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:R.create(0),{isError:a,errorObject:o,variants:c}=G(e,t,r,s);if(a)return o;const[l,f,m,d]=c,_=Y(l);if(typeof _!="number")return _;const C=Y(f);if(typeof C!="number")return C;const E=Math.floor(+m.getValue()),b=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(b))return g.create(h.VALUE);if(![1,2,4].includes(E)||b<0||b>4||Math.floor(_)>=Math.floor(C))return g.create(h.NUM);const y=_u(_,C,E);return R.create(y)}}class n1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:R.create(0),{isError:a,errorObject:o,variants:c}=G(e,t,r,s);if(a)return o;const[l,f,m,d]=c,_=Y(l);if(typeof _!="number")return _;const C=Y(f);if(typeof C!="number")return C;const E=Math.floor(+m.getValue()),b=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(b))return g.create(h.VALUE);if(![1,2,4].includes(E)||b<0||b>4||Math.floor(_)>=Math.floor(C)||Pt(_,C,E)<0)return g.create(h.NUM);const p=qt(_,C,E);return R.create(p)}}class s1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=n!=null?n:R.create(0),{isError:a,errorObject:o,variants:c}=G(e,t,r,s);if(a)return o;const[l,f,m,d]=c,_=Y(l);if(typeof _!="number")return _;const C=Y(f);if(typeof C!="number")return C;const E=Math.floor(+m.getValue()),b=Math.floor(+d.getValue());if(Number.isNaN(E)||Number.isNaN(b))return g.create(h.VALUE);if(![1,2,4].includes(E)||b<0||b>4||Math.floor(_)>=Math.floor(C))return g.create(h.NUM);let y=Pt(_,C,E);return y<0&&(y=0),R.create(y)}}class a1 extends N{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){const{isError:o,errorObject:c,variants:l}=G(e,t,r,n,s,a);if(o)return c;const[f,m,d,_,C,E]=l,b=+f.getValue(),y=+m.getValue(),p=+d.getValue(),V=+_.getValue(),S=+C.getValue(),D=+E.getValue();return Number.isNaN(b)||Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(V)||Number.isNaN(S)||Number.isNaN(D)?g.create(h.VALUE):b<=0||y<=0||p<=0||V<1||S<1||V>S||V>y||S>y||![0,1].includes(D)?g.create(h.NUM):Math.trunc(V)!==V&&Math.trunc(S)!==S&&Math.trunc(V)===Math.trunc(S)?R.create(0):this._getResult(b,y,p,V,S,D)}_getResult(e,t,r,n,s,a){const o=Ur(e,t,r,0,a);let c=0,l=Math.ceil(n);l===1&&(a===0&&(c=-r),l++);let f=!1;for(let m=l;m<=s;m++){const d=a===1?Kt(e,m-2,o,r,1):Kt(e,m-1,o,r,0);if(d===0){f=!0;break}c+=a===1?d-o:d}return c*=e,(c<o*(s-n+1)||f)&&(c=o*(s-n+1)),R.create(c)}}class i1 extends N{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){const{isError:o,errorObject:c,variants:l}=G(e,t,r,n,s,a);if(o)return c;const[f,m,d,_,C,E]=l,b=+f.getValue(),y=+m.getValue(),p=+d.getValue(),V=+_.getValue(),S=+C.getValue(),D=+E.getValue();return Number.isNaN(b)||Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(V)||Number.isNaN(S)||Number.isNaN(D)?g.create(h.VALUE):b<=0||y<=0||p<=0||V<1||S<1||V>S||![0,1].includes(D)?g.create(h.NUM):Math.trunc(V)!==V&&Math.trunc(S)!==S&&Math.trunc(V)===Math.trunc(S)?R.create(0):this._getResult(b,y,p,V,S,D)}_getResult(e,t,r,n,s,a){const o=Ur(e,t,r,0,a);let c=0,l=Math.ceil(n);l===1&&(c=a===0?o+r*e:o,l++);for(let f=l;f<=s;f++)c+=a===1?o-(Kt(e,f-2,o,r,1)-o)*e:o-Kt(e,f-1,o,r,0)*e;return R.create(c)}}class o1 extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5);A(this,"needsLocale",!0)}calculate(e,t,r,n,s){let a=s!=null?s:R.create(12);a.isNull()&&(a=R.create(12));const o=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1),l=O(o,c,e,g.create(h.NA)),f=O(o,c,t,g.create(h.NA)),m=O(o,c,r,g.create(h.NA)),d=O(o,c,n,g.create(h.NA)),_=O(o,c,a,g.create(h.NA)),C=l.map((E,b,y)=>{const p=f.get(b,y),V=m.get(b,y),S=d.get(b,y),D=_.get(b,y),{isError:w,errorObject:L,variants:x}=F(E,p,V,S,D);if(w)return L;const[v,U,$,Q,te]=x,z=+v.getValue(),W=+U.getValue(),ue=+$.getValue();let de=+Q.getValue();const Ee=Math.floor(+te.getValue());return z<0||W<0||ue<=0||de<=0||Math.floor(de)>Math.floor(ue)||Ee<1||Ee>12?g.create(h.NUM):(de<1&&(de=1),de=Math.floor(de),this._getResult(z,W,ue,de,Ee,b,y))});return o===1&&c===1?C.get(0,0):C}_getResult(e,t,r,n,s,a,o){const c=+(1-(t/e)**(1/r)).toFixed(3),l=e*c*s/12;let f=l,m=0;const d=n===r?r-1:n;for(let C=2;C<=d;C++)m=(e-f)*c,f+=m;let _;return n===1?_=l:n===r?_=(e-f)*c:_=m,Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):a===0&&o===0?R.create(_,We(this.getLocale())):R.create(_)}}class u1 extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5);A(this,"needsLocale",!0)}calculate(e,t,r,n,s){let a=s!=null?s:R.create(2);a.isNull()&&(a=R.create(2));const o=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,a.isArray()?a.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,a.isArray()?a.getColumnCount():1),l=O(o,c,e,g.create(h.NA)),f=O(o,c,t,g.create(h.NA)),m=O(o,c,r,g.create(h.NA)),d=O(o,c,n,g.create(h.NA)),_=O(o,c,a,g.create(h.NA)),C=l.map((E,b,y)=>{const p=f.get(b,y),V=m.get(b,y),S=d.get(b,y),D=_.get(b,y),{isError:w,errorObject:L,variants:x}=F(E,p,V,S,D);if(w)return L;const[v,U,$,Q,te]=x,z=+v.getValue(),W=+U.getValue(),ue=+$.getValue(),de=+Q.getValue(),Ee=+te.getValue();if(z<0||W<0||ue<=0||de<=0||de>ue||Ee<=0)return g.create(h.NUM);const ye=Ts(z,W,ue,de,Ee);return Number.isNaN(ye)||!Number.isFinite(ye)?g.create(h.NUM):b===0&&y===0?R.create(ye,We(this.getLocale())):R.create(ye)});return o===1&&c===1?C.get(0,0):C}}class c1 extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=s!=null?s:R.create(0),{isError:o,errorObject:c,variants:l}=G(e,t,r,n,a);if(o)return c;const[f,m,d,_,C]=l,E=Y(f);if(typeof E!="number")return E;const b=Y(m);if(typeof b!="number")return b;const y=+d.getValue(),p=+_.getValue(),V=Math.floor(+C.getValue());if(Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(V))return g.create(h.VALUE);if(y<=0||p<=0||V<0||V>4||Math.floor(E)>=Math.floor(b))return g.create(h.NUM);const{days:S,yearDays:D}=Ce(E,b,V),w=(p-y)/p*(D/S);return R.create(w)}}class l1 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=G(e,t);if(r)return n;const[a,o]=s,c=+a.getValue();let l=Math.floor(+o.getValue());if(Number.isNaN(c)||Number.isNaN(l))return g.create(h.VALUE);if(l<0)return g.create(h.NUM);if(l>=0&&l<1)return g.create(h.DIV_BY_ZERO);l=Number.parseInt(`${l}`,10);let f=Number.parseInt(`${c}`,10);f+=c%1*10**Math.ceil(Math.log(l)/Math.LN10)/l;const m=10**(Math.ceil(Math.log(l)/Math.LN2)+1);return f=Math.round(f*m)/m,R.create(f)}}class f1 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=G(e,t);if(r)return n;const[a,o]=s,c=+a.getValue();let l=Math.floor(+o.getValue());if(Number.isNaN(c)||Number.isNaN(l))return g.create(h.VALUE);if(l<0)return g.create(h.NUM);if(l>=0&&l<1)return g.create(h.DIV_BY_ZERO);l=Number.parseInt(`${l}`,10);let f=Number.parseInt(`${c}`,10);return f+=c%1*10**-Math.ceil(Math.log(l)/Math.LN10)*l,R.create(f)}}class m1 extends N{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=a!=null?a:R.create(0);o.isNull()&&(o=R.create(0));const{isError:c,errorObject:l,variants:f}=Ue(e,t,r,n,s,o);if(c)return l;const[m,d,_,C,E,b]=f,y=Y(m);if(typeof y!="number")return y;const p=Y(d);if(typeof p!="number")return p;const V=+_.getValue(),S=+C.getValue(),D=Math.floor(+E.getValue()),w=Math.floor(+b.getValue());if(Number.isNaN(V)||Number.isNaN(S)||Number.isNaN(D)||Number.isNaN(w))return g.create(h.VALUE);if(V<0||S<0||![1,2,4].includes(D)||w<0||w>4||Math.floor(y)>=Math.floor(p)||y<=0||p<=366)return g.create(h.NUM);const L=Au(y,p,V,S,D,w);return R.create(L)}}class h1 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=G(e,t);if(r)return n;const[a,o]=s,c=+a.getValue();let l=Math.floor(+o.getValue());if(Number.isNaN(c)||Number.isNaN(l))return g.create(h.VALUE);if(c<=0||l<1)return g.create(h.NUM);l=Number.parseInt(`${l}`,10);const f=(1+c/l)**l-1;return R.create(f)}}class g1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5);A(this,"needsLocale",!0)}calculate(e,t,r,n,s){const a=n!=null?n:R.create(0),o=s!=null?s:R.create(0),c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),f=O(c,l,e,g.create(h.NA)),m=O(c,l,t,g.create(h.NA)),d=O(c,l,r,g.create(h.NA)),_=O(c,l,a,g.create(h.NA)),C=O(c,l,o,g.create(h.NA)),E=f.map((b,y,p)=>{const V=m.get(y,p),S=d.get(y,p),D=_.get(y,p),w=C.get(y,p),{isError:L,errorObject:x,variants:v}=F(b,V,S,D,w);if(L)return x;const[U,$,Q,te,z]=v,W=+U.getValue(),ue=+$.getValue(),de=+Q.getValue(),Ee=+te.getValue(),ye=+z.getValue(),ge=Kt(W,ue,de,Ee,ye?1:0);return Number.isNaN(ge)||!Number.isFinite(ge)?g.create(h.NUM):y===0&&p===0?R.create(ge,We(this.getLocale())):R.create(ge)});return c===1&&l===1?E.get(0,0):E}}class d1 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=G(e);if(r)return n;const[a]=s,o=+a.getValue();if(Number.isNaN(o))return g.create(h.VALUE);let c=o;if(t.isArray()){const l=t.getArrayValue().flat();for(let f=0;f<l.length;f++){const m=l[f];if(m.isBoolean())return g.create(h.VALUE);const d=+m.getValue();if(Number.isNaN(d))return g.create(h.VALUE);c*=1+d}}else{if(t.isBoolean())return g.create(h.VALUE);const l=+t.getValue();if(Number.isNaN(l))return g.create(h.VALUE);c*=1+l}return R.create(c)}}class C1 extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=s!=null?s:R.create(0),{isError:o,errorObject:c,variants:l}=G(e,t,r,n,a);if(o)return c;const[f,m,d,_,C]=l,E=Y(f);if(typeof E!="number")return E;const b=Y(m);if(typeof b!="number")return b;const y=+d.getValue(),p=+_.getValue(),V=Math.floor(+C.getValue());if(Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(V))return g.create(h.VALUE);if(y<=0||p<=0||V<0||V>4||Math.floor(E)>=Math.floor(b))return g.create(h.NUM);const{days:S,yearDays:D}=Ce(E,b,V),w=(p-y)/y*(D/S);return R.create(w)}}class _1 extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",6);A(this,"needsLocale",!0)}calculate(e,t,r,n,s,a){const o=s!=null?s:R.create(0),c=a!=null?a:R.create(0),l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,o.isArray()?o.getRowCount():1,c.isArray()?c.getRowCount():1),f=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,o.isArray()?o.getColumnCount():1,c.isArray()?c.getColumnCount():1),m=O(l,f,e,g.create(h.NA)),d=O(l,f,t,g.create(h.NA)),_=O(l,f,r,g.create(h.NA)),C=O(l,f,n,g.create(h.NA)),E=O(l,f,o,g.create(h.NA)),b=O(l,f,c,g.create(h.NA)),y=m.map((p,V,S)=>{const D=d.get(V,S),w=_.get(V,S),L=C.get(V,S),x=E.get(V,S),v=b.get(V,S),{isError:U,errorObject:$,variants:Q}=F(p,D,w,L,x,v);if(U)return $;const[te,z,W,ue,de,Ee]=Q,ye=+te.getValue(),ge=+z.getValue(),xe=+W.getValue(),st=+ue.getValue(),yt=+de.getValue(),Rt=+Ee.getValue();if(ge<1||Math.floor(ge)>Math.ceil(xe))return g.create(h.NUM);const Je=Eu(ye,ge,xe,st,yt,Rt?1:0);return Number.isNaN(Je)||!Number.isFinite(Je)?g.create(h.NUM):V===0&&S===0?R.create(Je,We(this.getLocale())):R.create(Je)});return l===1&&f===1?y.get(0,0):y}}class A1 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){let r=t!=null?t:R.create(.1);return r.isNull()&&(r=R.create(.1)),r.isArray()?r.map((n,s,a)=>this._handleSingleObject(e,n,s,a)):this._handleSingleObject(e,r)}_handleSingleObject(e,t,r=0,n=0){if(e.isError())return e;if(t.isError())return t;if(e.isNull())return g.create(h.VALUE);if(!e.isArray())return g.create(h.NUM);const{_values:s,valuesHasError:a}=this._getValues(e);if(a)return g.create(h.VALUE);let o=t;if(o.isString()&&(o=o.convertToNumberObjectValue(),o.isError()))return o;const c=+o.getValue(),{positive:l,negative:f}=this._checkValues(s);if(!l||!f)return g.create(h.NUM);const m=Va(c,d=>bu(d,s));return typeof m!="number"?m:r===0&&n===0?R.create(m,"0%"):R.create(m)}_getValues(e){const t=[];let r=!1;return e.iterator(n=>{const s=n;if(s.isError())return r=!0,!1;if(s.isNull()||s.isBoolean())return!0;const a=+s.getValue();if(Number.isNaN(a))return!0;t.push(a)}),{_values:t,valuesHasError:r}}_checkValues(e){let t=!1,r=!1;for(let n=0;n<e.length;n++)e[n]>0&&(t=!0),e[n]<0&&(r=!0);return{positive:t,negative:r}}}class E1 extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.map((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C),y=f.get(_,C),{isError:p,errorObject:V,variants:S}=F(d,E,b,y);if(p)return V;const[D,w,L,x]=S,v=+D.getValue(),U=+w.getValue(),$=+L.getValue(),Q=+x.getValue();if($===0)return g.create(h.DIV_BY_ZERO);const te=Q*v*(U/$-1);return R.create(te)});return s===1&&a===1?m.get(0,0):m}}class b1 extends N{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=a!=null?a:R.create(0);o.isNull()&&(o=R.create(0));const{isError:c,errorObject:l,variants:f}=Ue(e,t,r,n,s,o);if(c)return l;const[m,d,_,C,E,b]=f,y=Y(m);if(typeof y!="number")return y;const p=Y(d);if(typeof p!="number")return p;const V=+_.getValue(),S=+C.getValue(),D=Math.floor(+E.getValue()),w=Math.floor(+b.getValue());if(Number.isNaN(V)||Number.isNaN(S)||Number.isNaN(D)||Number.isNaN(w))return g.create(h.VALUE);if(V<0||S<0||![1,2,4].includes(D)||w<0||w>4||Math.floor(y)>=Math.floor(p))return g.create(h.NUM);let L=Au(y,p,V,S,D,w);return L/=1+S/D,R.create(L)}}class y1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{_values:n,numberValues:s,positive:a,negative:o}=this._getValues(e),c=Math.max(t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),l=Math.max(t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),f=O(c,l,t,g.create(h.NA)),m=O(c,l,r,g.create(h.NA)),d=f.map((_,C,E)=>{const b=m.get(C,E);if(e.isError())return e;if(b.isError())return b;if(n.isError())return n;if(!a||!o)return g.create(h.DIV_BY_ZERO);const y=+_.getValue(),p=+b.getValue();if(Number.isNaN(y)||Number.isNaN(p))return g.create(h.VALUE);if(p===-1)return g.create(h.DIV_BY_ZERO);const V=this._getResult(s,y,p);return C===0&&E===0?R.create(V,"0%"):R.create(V)});return c===1&&l===1?d.get(0,0):d}_getValues(e){let t=e,r=[],n=!1,s=!1;if(!e.isError())if(e.isNull())t=g.create(h.VALUE);else if(!e.isArray())t=g.create(h.DIV_BY_ZERO);else{const{numberValues:a,valuesHasError:o,errorObject:c,positive:l,negative:f}=this._checkValues(e);o&&(t=c),r=a,n=l,s=f}return{_values:t,numberValues:r,positive:n,negative:s}}_checkValues(e){const t=[];let r=!1,n=g.create(h.VALUE),s=!1,a=!1;return e.iterator(o=>{const c=o;if(c.isError())return r=!0,n=c,!1;if(c.isNull()||c.isBoolean())return!0;const l=+c.getValue();if(Number.isNaN(l))return!0;l>0&&(s=!0),l<0&&(a=!0),t.push(l)}),{numberValues:t,valuesHasError:r,errorObject:n,positive:s,negative:a}}_getResult(e,t,r){const n=e.length,s=[],a=[];for(let d=0;d<n;d++)e[d]>0?a.push(e[d]):e[d]<0&&s.push(e[d]);const o=this._npv(r,e,"positive"),c=this._npv(t,e,"negative"),l=-o*(1+r)**n,f=c*(1+t);return(l/f)**(1/(n-1))-1}_npv(e,t,r){let n=0;for(let s=1;s<=t.length;s++){const a=t[s-1];(r==="positive"&&a>0||r==="negative"&&a<0)&&(n+=a/(1+e)**s)}return n}}class R1 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=G(e,t);if(r)return n;const[a,o]=s,c=+a.getValue();let l=Math.floor(+o.getValue());if(Number.isNaN(c)||Number.isNaN(l))return g.create(h.VALUE);if(c<=0||l<1)return g.create(h.NUM);l=Number.parseInt(`${l}`,10);const f=((c+1)**(1/l)-1)*l;return R.create(f)}}class p1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=n!=null?n:R.create(0),o=s!=null?s:R.create(0),c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),f=O(c,l,e,g.create(h.NA)),m=O(c,l,t,g.create(h.NA)),d=O(c,l,r,g.create(h.NA)),_=O(c,l,a,g.create(h.NA)),C=O(c,l,o,g.create(h.NA)),E=f.map((b,y,p)=>{const V=m.get(y,p),S=d.get(y,p),D=_.get(y,p),w=C.get(y,p),{isError:L,errorObject:x,variants:v}=F(b,V,S,D,w);if(L)return x;const[U,$,Q,te,z]=v,W=+U.getValue(),ue=+$.getValue(),de=+Q.getValue(),Ee=+te.getValue();let ye=+z.getValue();if(ye=ye?1:0,W===0&&ue===0)return g.create(h.DIV_BY_ZERO);let ge;if(W===0)ge=-(de+Ee)/ue;else{const xe=ue*(1+W*ye)-Ee*W,st=de*W+ue*(1+W*ye);ge=Math.log(xe/st)/Math.log(1+W)}return Number.isNaN(ge)||!Number.isFinite(ge)?g.create(h.NUM):R.create(ge)});return c===1&&l===1?E.get(0,0):E}}class N1 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255);A(this,"needsLocale",!0)}calculate(e,...t){if(e.isError())return e;const{isError:r,errorObject:n,values:s}=this._getValues(t);return e.isArray()?e.map((a,o,c)=>this._handleSingleObject(a,r,n,s,o,c)):this._handleSingleObject(e,r,n,s)}_handleSingleObject(e,t,r,n,s=0,a=0){let o=e;if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return o;if(t)return r;const c=+e.getValue(),l=bu(c,n);return Number.isNaN(l)||Math.abs(l)===1/0?g.create(h.DIV_BY_ZERO):s===0&&a===0?R.create(l,We(this.getLocale())):R.create(l)}_getValues(e){const t=[];for(let r=0;r<e.length;r++){const n=e[r];if(n.isError())return{isError:!0,errorObject:n};if(n.isArray()){let s=!1,a=g.create(h.VALUE);if(n.iterator(o=>{const c=o;if(c.isError())return s=!0,a=c,!1;if(c.isNull()||c.isBoolean())return!0;const l=+c.getValue();if(Number.isNaN(l))return!0;t.push(l)}),s)return{isError:s,errorObject:a}}else{const s=+n.getValue();if(Number.isNaN(s))return{isError:!0,errorObject:g.create(h.VALUE)};t.push(s)}}return{isError:!1,values:t}}}class V1 extends N{constructor(){super(...arguments);A(this,"minParams",8);A(this,"maxParams",9)}calculate(e,t,r,n,s,a,o,c,l){let f=l!=null?l:R.create(0);f.isNull()&&(f=R.create(0));const{isError:m,errorObject:d,variants:_}=Ue(e,t,r,n,s,a,o,c,f);if(m)return d;const[C,E,b,y,p,V,S,D,w]=_,L=Y(C);if(typeof L!="number")return L;const x=Y(E);if(typeof x!="number")return x;const v=Y(b);if(typeof v!="number")return v;const U=Y(y);if(typeof U!="number")return U;const $=+p.getValue(),Q=+V.getValue(),te=+S.getValue(),z=Math.floor(+D.getValue()),W=Math.floor(+w.getValue());if(Number.isNaN($)||Number.isNaN(Q)||Number.isNaN(te)||Number.isNaN(z)||Number.isNaN(W))return g.create(h.VALUE);if($<0||Q<0||te<=0||![1,2,4].includes(z)||W<0||W>4||!this._validDate(x,U,L,v,z))return g.create(h.NUM);const ue=yu(L,x,v,U,$,Q,te,z,W);return R.create(ue)}_validDate(e,t,r,n,s){return this._getDateCorrectOrder(e,t,r,n)&&Ru(e,t,s)&&fr(n,e,s)}_getDateCorrectOrder(e,t,r,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)&&Math.floor(r)>Math.floor(n)}}class O1 extends N{constructor(){super(...arguments);A(this,"minParams",8);A(this,"maxParams",9)}calculate(e,t,r,n,s,a,o,c,l){let f=l!=null?l:R.create(0);f.isNull()&&(f=R.create(0));const{isError:m,errorObject:d,variants:_}=Ue(e,t,r,n,s,a,o,c,f);if(m)return d;const[C,E,b,y,p,V,S,D,w]=_,L=Y(C);if(typeof L!="number")return L;const x=Y(E);if(typeof x!="number")return x;const v=Y(b);if(typeof v!="number")return v;const U=Y(y);if(typeof U!="number")return U;const $=+p.getValue(),Q=+V.getValue(),te=+S.getValue(),z=Math.floor(+D.getValue()),W=Math.floor(+w.getValue());return Number.isNaN($)||Number.isNaN(Q)||Number.isNaN(te)||Number.isNaN(z)||Number.isNaN(W)?g.create(h.VALUE):$<0||Q<=0||te<=0||![1,2,4].includes(z)||W<0||W>4||!this._validDate(x,U,L,v,z)?g.create(h.NUM):this._getResult(L,x,v,U,$,Q,te,z,W)}_validDate(e,t,r,n,s){return this._getDateCorrectOrder(e,t,r,n)&&Ru(e,t,s)&&fr(n,e,s)}_getDateCorrectOrder(e,t,r,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)&&Math.floor(r)>Math.floor(n)}_getResult(e,t,r,n,s,a,o,c,l){const{days:f}=Ce(e,t,l),m=(s*f*100-(a-100))/((a-100)*.25*(1+2*f)+f*100);function d(C){return a-yu(e,t,r,n,s,C,o,c,l)}const _=Va(m,C=>d(C));return typeof _!="number"?_:R.create(_)}}class M1 extends N{constructor(){super(...arguments);A(this,"minParams",7);A(this,"maxParams",8)}calculate(e,t,r,n,s,a,o,c){let l=c!=null?c:R.create(0);l.isNull()&&(l=R.create(0));const{isError:f,errorObject:m,variants:d}=Ue(e,t,r,n,s,a,o,l);if(f)return m;const[_,C,E,b,y,p,V,S]=d,D=Y(_);if(typeof D!="number")return D;const w=Y(C);if(typeof w!="number")return w;const L=Y(E);if(typeof L!="number")return L;const x=+b.getValue(),v=+y.getValue(),U=+p.getValue(),$=Math.floor(+V.getValue()),Q=Math.floor(+S.getValue());if(Number.isNaN(x)||Number.isNaN(v)||Number.isNaN(U)||Number.isNaN($)||Number.isNaN(Q))return g.create(h.VALUE);if(x<0||v<0||U<=0||![1,2,4].includes($)||Q<0||Q>4||!this._validDate(w,D,L,$))return g.create(h.NUM);const te=this._getResult(D,w,L,x,v,U,$,Q);return R.create(te)}_validDate(e,t,r,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)&&fr(r,e,n)}_getResult(e,t,r,n,s,a,o,c){const l=this._getCoupDate(t,r,o),f=this._getFrac(r,e,l,o,c),m=this._getFrac(r,t,l,o,c),d=this._getFrac(e,t,l,o,c);return(a*o+100*n*(m-f*(1+s*d/o)))/(s*d+o)}_getCoupDate(e,t,r){const n=ne(e),s=ne(t);for(s.setUTCFullYear(n.getUTCFullYear()),s>n&&s.setUTCFullYear(s.getUTCFullYear()-1);s<n;)s.setUTCMonth(s.getUTCMonth()+12/r);return be(s)}_getFrac(e,t,r,n,s){const a=ne(e),o=ne(t),c=ne(r);for(c.setUTCFullYear(a.getUTCFullYear()),c<a&&c.setUTCFullYear(c.getUTCFullYear()+1);c>a;)c.setUTCMonth(c.getUTCMonth()-12/n);let l=be(c);c.setUTCMonth(c.getUTCMonth()+12/n);let f=be(c);if(f>=t){const{days:p}=Ce(e,t,s),V=Ge(l,f,n,s);return p/V}const{days:m}=Ce(e,f,s),d=Ge(l,f,n,s);let _=m/d;const C=ne(f),E=ne(f);for(E.setUTCMonth(E.getUTCMonth()+12/n);E<o;)C.setUTCMonth(C.getUTCMonth()+12/n),E.setUTCMonth(E.getUTCMonth()+12/n),_+=1;l=be(C),f=be(E);const{days:b}=Ce(l,t,s),y=Ge(l,f,n,s);return _+=b/y,_}}class S1 extends N{constructor(){super(...arguments);A(this,"minParams",8);A(this,"maxParams",9)}calculate(e,t,r,n,s,a,o,c){let l=c!=null?c:R.create(0);l.isNull()&&(l=R.create(0));const{isError:f,errorObject:m,variants:d}=Ue(e,t,r,n,s,a,o,l);if(f)return m;const[_,C,E,b,y,p,V,S]=d,D=Y(_);if(typeof D!="number")return D;const w=Y(C);if(typeof w!="number")return w;const L=Y(E);if(typeof L!="number")return L;const x=+b.getValue(),v=+y.getValue(),U=+p.getValue(),$=Math.floor(+V.getValue()),Q=Math.floor(+S.getValue());if(Number.isNaN(x)||Number.isNaN(v)||Number.isNaN(U)||Number.isNaN($)||Number.isNaN(Q))return g.create(h.VALUE);if(x<0||v<=0||U<=0||![1,2,4].includes($)||Q<0||Q>4||!this._validDate(w,D,L,$))return g.create(h.NUM);const te=this._getResult(D,w,L,x,v,U,$,Q);return R.create(te)}_validDate(e,t,r,n){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)&&fr(r,e,n)}_getResult(e,t,r,n,s,a,o,c){const l=this._getCoupDate(t,r,o),f=this._getFrac(r,e,l,o,c),m=this._getFrac(r,t,l,o,c),d=this._getFrac(e,t,l,o,c);return(o*(a-s)+100*n*(m-f))/(d*s+100*n*f*d/o)}_getCoupDate(e,t,r){const n=ne(e),s=ne(t);for(s.setUTCFullYear(n.getUTCFullYear()),s>n&&s.setUTCFullYear(s.getUTCFullYear()-1);s<n;)s.setUTCMonth(s.getUTCMonth()+12/r);return be(s)}_getFrac(e,t,r,n,s){const a=ne(e),o=ne(t),c=ne(r);for(c.setUTCFullYear(a.getUTCFullYear()),c<a&&c.setUTCFullYear(c.getUTCFullYear()+1);c>a;)c.setUTCMonth(c.getUTCMonth()-12/n);let l=be(c);c.setUTCMonth(c.getUTCMonth()+12/n);let f=be(c);if(f>=t){const{days:p}=Ce(e,t,s),V=Ge(l,f,n,s);return p/V}const{days:m}=Ce(e,f,s),d=Ge(l,f,n,s);let _=m/d;const C=ne(f),E=ne(f);for(E.setUTCMonth(E.getUTCMonth()+12/n);E<o;)C.setUTCMonth(C.getUTCMonth()+12/n),E.setUTCMonth(E.getUTCMonth()+12/n),_+=1;l=be(C),f=be(E);const{days:b}=Ce(l,t,s),y=Ge(l,f,n,s);return _+=b/y,_}}class D1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.map((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d),{isError:E,errorObject:b,variants:y}=F(f,_,C);if(E)return b;const[p,V,S]=y,D=+p.getValue(),w=+V.getValue(),L=+S.getValue();if(D<=-1)return g.create(h.NUM);const x=(Math.log(L)-Math.log(w))/Math.log(1+D);return Number.isNaN(x)||!Number.isFinite(x)?g.create(h.NUM):R.create(x)});return n===1&&s===1?l.get(0,0):l}}class w1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5);A(this,"needsLocale",!0)}calculate(e,t,r,n,s){const a=n!=null?n:R.create(0),o=s!=null?s:R.create(0),c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),f=O(c,l,e,g.create(h.NA)),m=O(c,l,t,g.create(h.NA)),d=O(c,l,r,g.create(h.NA)),_=O(c,l,a,g.create(h.NA)),C=O(c,l,o,g.create(h.NA)),E=f.map((b,y,p)=>{const V=m.get(y,p),S=d.get(y,p),D=_.get(y,p),w=C.get(y,p),{isError:L,errorObject:x,variants:v}=F(b,V,S,D,w);if(L)return x;const[U,$,Q,te,z]=v,W=+U.getValue(),ue=+$.getValue(),de=+Q.getValue(),Ee=+te.getValue(),ye=+z.getValue();if(W<=-1)return g.create(h.NUM);const ge=Ur(W,ue,de,Ee,ye?1:0);return Number.isNaN(ge)||!Number.isFinite(ge)?g.create(h.NUM):y===0&&p===0?R.create(ge,We(this.getLocale())):R.create(ge)});return c===1&&l===1?E.get(0,0):E}}class L1 extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",6);A(this,"needsLocale",!0)}calculate(e,t,r,n,s,a){const o=s!=null?s:R.create(0),c=a!=null?a:R.create(0),l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,o.isArray()?o.getRowCount():1,c.isArray()?c.getRowCount():1),f=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,o.isArray()?o.getColumnCount():1,c.isArray()?c.getColumnCount():1),m=O(l,f,e,g.create(h.NA)),d=O(l,f,t,g.create(h.NA)),_=O(l,f,r,g.create(h.NA)),C=O(l,f,n,g.create(h.NA)),E=O(l,f,o,g.create(h.NA)),b=O(l,f,c,g.create(h.NA)),y=m.map((p,V,S)=>{const D=d.get(V,S),w=_.get(V,S),L=C.get(V,S),x=E.get(V,S),v=b.get(V,S),{isError:U,errorObject:$,variants:Q}=F(p,D,w,L,x,v);if(U)return $;const[te,z,W,ue,de,Ee]=Q,ye=+te.getValue(),ge=+z.getValue(),xe=+W.getValue(),st=+ue.getValue(),yt=+de.getValue(),Rt=+Ee.getValue();if(ge<1||Math.floor(ge)>Math.ceil(xe)||ge-xe>=1)return g.create(h.NUM);const Je=Ur(ye,xe,st,yt,Rt?1:0)-Eu(ye,ge,xe,st,yt,Rt?1:0);return Number.isNaN(Je)||!Number.isFinite(Je)?g.create(h.NUM):V===0&&S===0?R.create(Je,We(this.getLocale())):R.create(Je)});return l===1&&f===1?y.get(0,0):y}}class x1 extends N{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",7)}calculate(e,t,r,n,s,a,o){let c=o!=null?o:R.create(0);c.isNull()&&(c=R.create(0));const{isError:l,errorObject:f,variants:m}=Ue(e,t,r,n,s,a,c);if(l)return f;const[d,_,C,E,b,y,p]=m,V=Y(d);if(typeof V!="number")return V;const S=Y(_);if(typeof S!="number")return S;const D=+C.getValue(),w=+E.getValue(),L=+b.getValue(),x=Math.floor(+y.getValue()),v=Math.floor(+p.getValue());if(Number.isNaN(D)||Number.isNaN(w)||Number.isNaN(L)||Number.isNaN(x)||Number.isNaN(v))return g.create(h.VALUE);if(D<0||w<0||L<=0||![1,2,4].includes(x)||v<0||v>4||V>=S||!fr(V,S,x))return g.create(h.NUM);const U=Jr(V,S,D,w,L,x,v);return R.create(U)}}class P1 extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){let a=s!=null?s:R.create(0);a.isNull()&&(a=R.create(0));const{isError:o,errorObject:c,variants:l}=Ue(e,t,r,n,a);if(o)return c;const[f,m,d,_,C]=l,E=Y(f);if(typeof E!="number")return E;const b=Y(m);if(typeof b!="number")return b;const y=+d.getValue(),p=+_.getValue(),V=Math.floor(+C.getValue());if(Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(V))return g.create(h.VALUE);if(y<=0||p<=0||V<0||V>4||E>=b)return g.create(h.NUM);const{days:S,yearDays:D}=Ce(E,b,V),w=p-y*p*S/D;return R.create(w)}}class j1 extends N{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=a!=null?a:R.create(0);o.isNull()&&(o=R.create(0));const{isError:c,errorObject:l,variants:f}=Ue(e,t,r,n,s,o);if(c)return l;const[m,d,_,C,E,b]=f,y=Y(m);if(typeof y!="number")return y;const p=Y(d);if(typeof p!="number")return p;const V=Y(_);if(typeof V!="number")return V;const S=+C.getValue(),D=+E.getValue(),w=Math.floor(+b.getValue());if(Number.isNaN(S)||Number.isNaN(D)||Number.isNaN(w))return g.create(h.VALUE);const L=this._getDateCorrectOrder(p,y,V);if(S<0||D<0||w<0||w>4||!L)return g.create(h.NUM);const x=gu(y,w),{days:v}=Ce(y,p,w),{days:U}=Ce(V,p,w),{days:$}=Ce(V,y,w),Q=(100+U/x*S*100)/(1+v/x*D)-$/x*S*100;return R.create(Q)}_getDateCorrectOrder(e,t,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)}}class U1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5);A(this,"needsLocale",!0)}calculate(e,t,r,n,s){const a=n!=null?n:R.create(0),o=s!=null?s:R.create(0),c=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),l=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),f=O(c,l,e,g.create(h.NA)),m=O(c,l,t,g.create(h.NA)),d=O(c,l,r,g.create(h.NA)),_=O(c,l,a,g.create(h.NA)),C=O(c,l,o,g.create(h.NA)),E=f.map((b,y,p)=>{const V=m.get(y,p),S=d.get(y,p),D=_.get(y,p),w=C.get(y,p),{isError:L,errorObject:x,variants:v}=F(b,V,S,D,w);if(L)return x;const[U,$,Q,te,z]=v,W=+U.getValue(),ue=+$.getValue(),de=+Q.getValue(),Ee=+te.getValue();let ye=+z.getValue();ye=ye?1:0;const ge=W===0?-de*ue-Ee:((1-(1+W)**ue)/W*de*(1+W*ye)-Ee)/(1+W)**ue;return Number.isNaN(ge)||!Number.isFinite(ge)?g.create(h.NUM):y===0&&p===0?R.create(ge,We(this.getLocale())):R.create(ge)});return c===1&&l===1?E.get(0,0):E}}class v1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){const o=n!=null?n:R.create(0),c=s!=null?s:R.create(0),l=a!=null?a:R.create(.1),f=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,o.isArray()?o.getRowCount():1,c.isArray()?c.getRowCount():1,l.isArray()?l.getRowCount():1),m=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,o.isArray()?o.getColumnCount():1,c.isArray()?c.getColumnCount():1,l.isArray()?l.getColumnCount():1),d=O(f,m,e,g.create(h.NA)),_=O(f,m,t,g.create(h.NA)),C=O(f,m,r,g.create(h.NA)),E=O(f,m,o,g.create(h.NA)),b=O(f,m,c,g.create(h.NA)),y=O(f,m,l,g.create(h.NA)),p=d.map((V,S,D)=>{const w=_.get(S,D),L=C.get(S,D),x=E.get(S,D),v=b.get(S,D),U=y.get(S,D),{isError:$,errorObject:Q,variants:te}=F(V,w,L,x,v,U);if($)return Q;const[z,W,ue,de,Ee,ye]=te,ge=+z.getValue(),xe=+W.getValue(),st=+ue.getValue(),yt=+de.getValue();let Rt=+Ee.getValue();const Je=+ye.getValue();return Rt=Rt?1:0,ge<=0||xe>=0&&st>=0&&yt>=0||xe<=0&&st<=0&&yt<=0?g.create(h.NUM):this._getResult(ge,xe,st,yt,Rt,Je,S,D)});return f===1&&m===1?p.get(0,0):p}_getResult(e,t,r,n,s,a,o,c){let m=a;for(let d=0;d<20;d++){if(m<=-1)return g.create(h.NUM);let _,C;if(Math.abs(m)<1e-10?_=r*(1+e*m)+t*(1+m*s)*e+n:(C=(1+m)**e,_=r*C+t*(1/m+s)*(C-1)+n),Math.abs(_)<1e-10)break;let E;if(Math.abs(m)<1e-10)E=r*e+t*s*e;else{C=(1+m)**e;const b=e*(1+m)**(e-1);E=r*b+t*(1/m+s)*b+t*(-1/(m*m))*(C-1)}m-=_/E}return o===0&&c===0?R.create(m,"0%"):R.create(m)}}class T1 extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){let a=s!=null?s:R.create(0);a.isNull()&&(a=R.create(0));const{isError:o,errorObject:c,variants:l}=Ue(e,t,r,n,a);if(o)return c;const[f,m,d,_,C]=l,E=Y(f);if(typeof E!="number")return E;const b=Y(m);if(typeof b!="number")return b;const y=+d.getValue(),p=+_.getValue(),V=Math.floor(+C.getValue());if(Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(V))return g.create(h.VALUE);if(y<=0||p<=0||V<0||V>4||E>=b)return g.create(h.NUM);const{days:S,yearDays:D}=Ce(E,b,V),w=y/(1-p*S/D);return w<0?g.create(h.NUM):R.create(w)}}class I1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",6)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.map((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d),{isError:E,errorObject:b,variants:y}=F(f,_,C);if(E)return b;const[p,V,S]=y,D=+p.getValue(),w=+V.getValue(),L=+S.getValue();if(D<=0)return g.create(h.NUM);if(w===0&&L===0)return R.create(0);const x=(L/w)**(1/D)-1;return Number.isNaN(x)||!Number.isFinite(x)||L/w<0?g.create(h.NUM):R.create(x)});return n===1&&s===1?l.get(0,0):l}}class F1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3);A(this,"needsLocale",!0)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.map((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);if(_.isError())return _;if(C.isError())return C;const E=+f.getValue(),b=+_.getValue(),y=+C.getValue();if(Number.isNaN(E)||Number.isNaN(b)||Number.isNaN(y))return g.create(h.VALUE);if(y===0)return g.create(h.DIV_BY_ZERO);const p=(E-b)/y;return m===0&&d===0?R.create(p,We(this.getLocale())):R.create(p)});return n===1&&s===1?l.get(0,0):l}}class B1 extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4);A(this,"needsLocale",!0)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.map((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C),y=f.get(_,C);if(E.isError())return E;if(b.isError())return b;if(y.isError())return y;const p=+d.getValue(),V=+E.getValue(),S=+b.getValue(),D=+y.getValue();if(Number.isNaN(p)||Number.isNaN(V)||Number.isNaN(S)||Number.isNaN(D))return g.create(h.VALUE);if(V<0||S<=0||D>S)return g.create(h.NUM);const w=(p-V)*(S-D+1)*2/(S*(S+1));return _===0&&C===0?R.create(w,We(this.getLocale())):R.create(w)});return s===1&&a===1?m.get(0,0):m}}class k1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,variants:a}=Ue(e,t,r);if(n)return s;const[o,c,l]=a,f=Y(o);if(typeof f!="number")return f;const m=Y(c);if(typeof m!="number")return m;const d=+l.getValue();if(Number.isNaN(d))return g.create(h.VALUE);if(d<=0||f>=m)return g.create(h.NUM);const _=Math.floor(m)-Math.floor(f),E=ne(f).getUTCFullYear(),b=Zn(E);if(_>b)return g.create(h.NUM);let y=365*d/(360-d*_);if(_>182){const p=100*(1-d*_/360),V=_/365;if(y=(-V+Math.sqrt(V*V-(V*2-1)*(1-100/p)))/(V-.5),Number.isNaN(y))return g.create(h.NUM)}return y<0?g.create(h.NUM):R.create(y)}}class $1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3);A(this,"needsLocale",!0)}calculate(e,t,r){const{isError:n,errorObject:s,variants:a}=Ue(e,t,r);if(n)return s;const[o,c,l]=a,f=Y(o);if(typeof f!="number")return f;const m=Y(c);if(typeof m!="number")return m;const d=+l.getValue();if(Number.isNaN(d))return g.create(h.VALUE);if(d<=0||f>=m)return g.create(h.NUM);const _=Math.floor(m)-Math.floor(f),E=ne(f).getUTCFullYear(),b=Zn(E);if(_>b)return g.create(h.NUM);const y=100*(1-d*_/360);return y<0?g.create(h.NUM):R.create(y,We(this.getLocale()))}}class Y1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,variants:a}=Ue(e,t,r);if(n)return s;const[o,c,l]=a,f=Y(o);if(typeof f!="number")return f;const m=Y(c);if(typeof m!="number")return m;const d=+l.getValue();if(Number.isNaN(d))return g.create(h.VALUE);if(d<=0||f>=m)return g.create(h.NUM);const _=Math.floor(m)-Math.floor(f),E=ne(f).getUTCFullYear(),b=Zn(E);if(_>b)return g.create(h.NUM);const y=(100-d)/d*360/_;return R.create(y)}}class H1 extends N{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",7);A(this,"needsLocale",!0)}calculate(e,t,r,n,s,a,o){let c=a!=null?a:R.create(2);c.isNull()&&(c=R.create(2));let l=o!=null?o:I.create(!1);l.isNull()&&(l=I.create(!1));const f=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1,c.isArray()?c.getRowCount():1,l.isArray()?l.getRowCount():1),m=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1,c.isArray()?c.getColumnCount():1,l.isArray()?l.getColumnCount():1),d=O(f,m,e,g.create(h.NA)),_=O(f,m,t,g.create(h.NA)),C=O(f,m,r,g.create(h.NA)),E=O(f,m,n,g.create(h.NA)),b=O(f,m,s,g.create(h.NA)),y=O(f,m,c,g.create(h.NA)),p=O(f,m,l,g.create(h.NA));return this._getResultArray(d,_,C,E,b,y,p,f,m)}_getResultArray(e,t,r,n,s,a,o,c,l){const f=e.map((m,d,_)=>{const C=t.get(d,_),E=r.get(d,_),b=n.get(d,_),y=s.get(d,_),p=a.get(d,_),V=o.get(d,_),{isError:S,errorObject:D,variants:w}=F(m,C,E,b,y,p,V);if(S)return D;const[L,x,v,U,$,Q,te]=w,z=+L.getValue(),W=+x.getValue(),ue=+v.getValue(),de=+U.getValue(),Ee=+$.getValue(),ye=+Q.getValue(),ge=+te.getValue();if(z<0||W<0||ue<0||de<0||Ee<0||Ee>ue||de>Ee||ye<0)return g.create(h.NUM);if(ue===0&&de===0&&Ee===0)return g.create(h.DIV_BY_ZERO);const xe=this._getResult(z,W,ue,de,Ee,ye,ge);return d===0&&_===0?R.create(xe,We(this.getLocale())):R.create(xe)});return c===1&&l===1?f.get(0,0):f}_getResult(e,t,r,n,s,a,o){const c=Math.floor(n),l=Math.ceil(s);let f=0;if(e<t){if(n>=1||o)return f;const m=Math.abs(e-t);return f=m*(s-n)>m?m:m*(s-n),-f}if(o)for(let m=c+1;m<=l;m++){let d=Ts(e,t,r,m,a);m===c+1?d*=Math.min(s,c+1)-n:m===l&&(d*=s+1-l),f+=d}else{const m=e-this._getVdb(e,t,r,r,n,a);f=this._getVdb(m,t,r,r-n,s-n,a)}return f}_getVdb(e,t,r,n,s,a){const o=Math.ceil(s);let c=0,l=e-t,f=0,m=0,d=!1;for(let _=1;_<=o;_++){if(d)m=f;else{const C=Ts(e,t,r,_,a);f=l/(n-(_-1)),f>C?(m=f,d=!0):(m=C,l-=C)}_===o&&(m*=s+1-o),c+=m}return c}}class G1 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){if(e.isNull()||t.isNull())return g.create(h.NA);const{isError:n,errorObejct:s,_values:a,_dates:o}=this._checkErrors(e,t);if(n)return s;let c=r!=null?r:R.create(.1);c.isNull()&&(c=R.create(.1));const{isError:l,errorObject:f,variants:m}=G(c);if(l)return f;const[d]=m,_=+d.getValue();if(Number.isNaN(_))return g.create(h.VALUE);const{positive:C,negative:E}=this._checkValues(a);if(!C||!E||(a==null?void 0:a.length)!==(o==null?void 0:o.length)||_<0)return g.create(h.NUM);const b=Va(_,y=>this._iterF(a,o,y));return typeof b!="number"?b:R.create(b)}_checkErrors(e,t){if(e.isError())return{isError:!0,errorObejct:e};if(t.isError())return{isError:!0,errorObejct:t};const{isError:r,errorObejct:n,_values:s}=this._checkErrorValues(e);if(r)return{isError:r,errorObejct:n};const{isError:a,errorObejct:o,_dates:c}=this._checkErrorDates(t);return a?{isError:a,errorObejct:o}:{isError:!1,_values:s,_dates:c}}_checkErrorValues(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);return e.iterator(s=>{const a=s;if(a.isError())return r=!0,n=a,!1;if(a.isBoolean())return r=!0,n=g.create(h.VALUE),!1;const o=+a.getValue();if(Number.isNaN(o))return r=!0,n=g.create(h.VALUE),!1;t.push(o)}),r?{isError:r,errorObejct:n}:t.length<=1?{isError:!0,errorObejct:g.create(h.NA)}:{isError:r,_values:t}}else{const r=e.getValue();return e.isBoolean()||e.isString()&&!M.isRealNum(r)?{isError:!0,errorObejct:g.create(h.VALUE)}:{isError:!0,errorObejct:g.create(h.NA)}}}_checkErrorDates(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);return e.iterator(s=>{if(s!=null&&s.isError())return r=!0,n=s,!1;if(s!=null&&s.isBoolean())return r=!0,n=g.create(h.VALUE),!1;const a=+s.getValue();if(Number.isNaN(a))return r=!0,n=g.create(h.VALUE),!1;if(a<0)return r=!0,n=g.create(h.NUM),!1;t.push(Math.floor(a))}),r?{isError:r,errorObejct:n}:t.length<=1?{isError:!0,errorObejct:g.create(h.NA)}:{isError:r,_dates:t}}else{const r=e.getValue();return e.isBoolean()||e.isString()&&!M.isRealNum(r)?{isError:!0,errorObejct:g.create(h.VALUE)}:+r<0?{isError:!0,errorObejct:g.create(h.NUM)}:{isError:!0,errorObejct:g.create(h.NA)}}}_checkValues(e){let t=!1,r=!1;for(let n=0;n<e.length;n++)e[n]>0&&(t=!0),e[n]<0&&(r=!0);return{positive:t,negative:r}}_iterF(e,t,r){return e.reduce((n,s,a)=>n+s/(1+r)**((t[a]-t[0])/365),0)}}class W1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){if(e.isNull()||t.isNull()||r.isNull())return g.create(h.NA);const{isError:n,errorObject:s,variants:a}=G(e);if(n)return s;const[o]=a,c=+o.getValue();if(Number.isNaN(c))return g.create(h.VALUE);let{isError:l,errorObejct:f,_values:m,_dates:d}=this._checkErrors(t,r);if(l)return f;if(m=m,d=d,c<0||m.length!==d.length)return g.create(h.NUM);let _=0;const C=d[0];for(let E=0;E<d.length;E++){const b=d[E],y=m[E];_+=y/(1+c)**((b-C)/365)}return R.create(_)}_checkErrors(e,t){if(e.isError())return{isError:!0,errorObejct:e};if(t.isError())return{isError:!0,errorObejct:t};const{isError:r,errorObejct:n,_values:s}=this._checkErrorValues(e);if(r)return{isError:r,errorObejct:n};const{isError:a,errorObejct:o,_dates:c}=this._checkErrorDates(t);return a?{isError:a,errorObejct:o}:{isError:!1,_values:s,_dates:c}}_checkErrorValues(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);return e.iterator(s=>{const a=s;if(a.isError())return r=!0,n=a,!1;if(a.isNull()||a.isBoolean())return r=!0,n=g.create(h.VALUE),!1;const o=+a.getValue();if(Number.isNaN(o))return r=!0,n=g.create(h.VALUE),!1;t.push(o)}),r?{isError:r,errorObejct:n}:{isError:r,_values:t}}else{if(e.isError())return{isError:!0,errorObejct:e};if(e.isNull()||e.isBoolean())return{isError:!0,errorObejct:g.create(h.VALUE)};const r=+e.getValue();return Number.isNaN(r)?{isError:!0,errorObejct:g.create(h.VALUE)}:{isError:!1,_values:[r]}}}_checkErrorDates(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);return e.iterator(s=>{const a=s;if(a.isError())return r=!0,n=a,!1;if(a.isNull()||a.isBoolean())return r=!0,n=g.create(h.VALUE),!1;const o=+a.getValue();if(Number.isNaN(o))return r=!0,n=g.create(h.VALUE),!1;if(o<0)return r=!0,n=g.create(h.NUM),!1;t.push(Math.floor(o))}),r?{isError:r,errorObejct:n}:{isError:r,_dates:t}}else{if(e.isError())return{isError:!0,errorObejct:e};if(e.isNull()||e.isBoolean())return{isError:!0,errorObejct:g.create(h.VALUE)};const r=+e.getValue();return Number.isNaN(r)?{isError:!0,errorObejct:g.create(h.VALUE)}:+r<0?{isError:!0,errorObejct:g.create(h.NUM)}:{isError:!1,_dates:[Math.floor(r)]}}}}class Q1 extends N{constructor(){super(...arguments);A(this,"minParams",6);A(this,"maxParams",7)}calculate(e,t,r,n,s,a,o){let c=o!=null?o:R.create(0);c.isNull()&&(c=R.create(0));const{isError:l,errorObject:f,variants:m}=Ue(e,t,r,n,s,a,c);if(l)return f;const[d,_,C,E,b,y,p]=m,V=Y(d);if(typeof V!="number")return V;const S=Y(_);if(typeof S!="number")return S;const D=+C.getValue(),w=+E.getValue(),L=+b.getValue(),x=Math.floor(+y.getValue()),v=Math.floor(+p.getValue());if(Number.isNaN(D)||Number.isNaN(w)||Number.isNaN(L)||Number.isNaN(x)||Number.isNaN(v))return g.create(h.VALUE);if(D<0||w<=0||L<=0||![1,2,4].includes(x)||v<0||v>4||V>=S||!fr(V,S,x))return g.create(h.NUM);const U=this._getResult(V,S,D,w,L,x,v);return R.create(U)}_getResult(e,t,r,n,s,a,o){if(qt(e,t,a)>1){let E=r||.01,b=Jr(e,t,r,E,s,a,o),y=b-n;for(let p=0;p<100&&Math.abs(y)>1e-7;p++)b=Jr(e,t,r,1.01*E,s,a,o),E+=-y/(b-n-y)*E*.01,y=Jr(e,t,r,E,s,a,o)-n;return E}const l=zn(e,t,a,o),f=Ge(e,t,a,o),{days:m}=Ce(e,t,o),d=n/100+l/f*r/a;return(s/100+r/a-d)/d*a*f/m}}class q1 extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",5)}calculate(e,t,r,n,s){let a=s!=null?s:R.create(0);a.isNull()&&(a=R.create(0));const{isError:o,errorObject:c,variants:l}=Ue(e,t,r,n,a);if(o)return c;const[f,m,d,_,C]=l,E=Y(f);if(typeof E!="number")return E;const b=Y(m);if(typeof b!="number")return b;const y=+d.getValue(),p=+_.getValue(),V=Math.floor(+C.getValue());if(Number.isNaN(y)||Number.isNaN(p)||Number.isNaN(V))return g.create(h.VALUE);if(y<=0||p<=0||V<0||V>4||E>=b)return g.create(h.NUM);const{days:S,yearDays:D}=Ce(E,b,V),w=(p/y-1)/(S/D);return R.create(w)}}class K1 extends N{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=a!=null?a:R.create(0);o.isNull()&&(o=R.create(0));const{isError:c,errorObject:l,variants:f}=Ue(e,t,r,n,s,o);if(c)return l;const[m,d,_,C,E,b]=f,y=Y(m);if(typeof y!="number")return y;const p=Y(d);if(typeof p!="number")return p;const V=Y(_);if(typeof V!="number")return V;const S=+C.getValue(),D=+E.getValue(),w=Math.floor(+b.getValue());if(Number.isNaN(S)||Number.isNaN(D)||Number.isNaN(w))return g.create(h.VALUE);const L=this._getDateCorrectOrder(p,y,V);if(S<0||D<=0||w<0||w>4||!L)return g.create(h.NUM);const x=gu(y,w),{days:v}=Ce(y,p,w),{days:U}=Ce(V,p,w),{days:$}=Ce(V,y,w),Q=((1+U/x*S)/(D/100+$/x*S)-1)/(v/x);return R.create(Q)}_getDateCorrectOrder(e,t,r){return Math.floor(e)>Math.floor(t)&&Math.floor(t)>Math.floor(r)}}const pu=[[Xg,J.ACCRINT],[Zg,J.ACCRINTM],[zg,J.AMORLINC],[Jg,J.COUPDAYBS],[e1,J.COUPDAYS],[t1,J.COUPDAYSNC],[r1,J.COUPNCD],[n1,J.COUPNUM],[s1,J.COUPPCD],[a1,J.CUMIPMT],[i1,J.CUMPRINC],[o1,J.DB],[u1,J.DDB],[c1,J.DISC],[l1,J.DOLLARDE],[f1,J.DOLLARFR],[m1,J.DURATION],[h1,J.EFFECT],[g1,J.FV],[d1,J.FVSCHEDULE],[C1,J.INTRATE],[_1,J.IPMT],[A1,J.IRR],[E1,J.ISPMT],[b1,J.MDURATION],[y1,J.MIRR],[R1,J.NOMINAL],[p1,J.NPER],[N1,J.NPV],[V1,J.ODDFPRICE],[O1,J.ODDFYIELD],[M1,J.ODDLPRICE],[S1,J.ODDLYIELD],[D1,J.PDURATION],[w1,J.PMT],[L1,J.PPMT],[x1,J.PRICE],[P1,J.PRICEDISC],[j1,J.PRICEMAT],[U1,J.PV],[v1,J.RATE],[T1,J.RECEIVED],[I1,J.RRI],[F1,J.SLN],[B1,J.SYD],[k1,J.TBILLEQ],[$1,J.TBILLPRICE],[Y1,J.TBILLYIELD],[H1,J.VDB],[G1,J.XIRR],[W1,J.XNPV],[Q1,J.YIELD],[q1,J.YIELDDISC],[K1,J.YIELDMAT]];class X1 extends N{constructor(){super(...arguments);A(this,"needsReferenceObject",!0);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isError())return r;if(r.isReferenceObject()&&(r=r.toArrayValueObject()),r.isArray()){const n=r.getRowCount(),s=r.getColumnCount();if(n===1&&s===1){const a=r.get(0,0);return this._handleSingleObject(a,t)}return r.map(a=>a.isError()?a:this._handleSingleObject(a,t,!0))}return this._handleSingleObject(r,t)}_handleSingleObject(e,t,r=!1){let n=t;if(n.isError())return n;if(!n.isReferenceObject())return g.create(h.NA);const s=n.getCurrentActiveSheetData(),{columnData:a,defaultColumnWidth:o}=s;n=n.toArrayValueObject();const c=n.getCurrentRow(),l=n.getCurrentColumn();n=n.getFirstCell();const f=`${e.getValue()}`;let m;switch(f.toLocaleLowerCase()){case"address":return j.create(`$${M.Tools.chatAtABC(l)}$${c+1}`);case"col":return R.create(l+1);case"color":return R.create(0);case"contents":return n;case"filename":return g.create(h.VALUE);case"format":return j.create("G");case"parentheses":return R.create(0);case"prefix":return j.create("");case"protect":return R.create(1);case"row":return R.create(c+1);case"type":return m="v",n.isNull()&&(m="b"),n.isString()&&(m="l"),j.create(m);case"width":return this._getWidthResult(a,o,l,r);default:return g.create(h.VALUE)}}_getWidthResult(e,t,r,n){var o;let s=(o=e[r])==null?void 0:o.w;if(!s&&s!==0&&(s=t),n)return R.create(s);const a=[[s,s===t]];return q.createByArray(a)}}class Z1 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"_errorTypeValueMap",new Map([[h.NULL,1],[h.DIV_BY_ZERO,2],[h.VALUE,3],[h.REF,4],[h.NAME,5],[h.NUM,6],[h.NA,7],[h.CONNECT,8],[h.CALC,14]]))}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const t=e.getValue(),r=this._errorTypeValueMap.get(t);return r?R.create(r):g.create(h.NA)}}var pe=(i=>(i.CELL="CELL",i.ERROR_TYPE="ERROR.TYPE",i.INFO="INFO",i.ISBETWEEN="ISBETWEEN",i.ISBLANK="ISBLANK",i.ISDATE="ISDATE",i.ISEMAIL="ISEMAIL",i.ISERR="ISERR",i.ISERROR="ISERROR",i.ISEVEN="ISEVEN",i.ISFORMULA="ISFORMULA",i.ISLOGICAL="ISLOGICAL",i.ISNA="ISNA",i.ISNONTEXT="ISNONTEXT",i.ISNUMBER="ISNUMBER",i.ISODD="ISODD",i.ISOMITTED="ISOMITTED",i.ISREF="ISREF",i.ISTEXT="ISTEXT",i.ISURL="ISURL",i.N="N",i.NA="NA",i.SHEET="SHEET",i.SHEETS="SHEETS",i.TYPE="TYPE",i))(pe||{});class z1 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=n!=null?n:I.create(!0),o=s!=null?s:I.create(!0),{isError:c,errorObject:l,variants:f}=wr(e,t,r,a,o);if(c)return l;const[m,d,_,C,E]=f;if(C.isString()||E.isString())return g.create(h.VALUE);if(d.compare(_,">").getValue()===!0)return g.create(h.NUM);const y=+C.getValue(),p=+E.getValue(),V=y?">=":">",S=p?"<=":"<";return m.compare(d,V).getValue()===!1||m.compare(_,S).getValue()===!1?I.create(!1):I.create(!0)}}class J1 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isNull()?I.create(!0):e.isArray()?e.mapValue(t=>t.isNull()?I.create(!0):I.create(!1)):I.create(!1)}}class ed extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const r=t.getRowCount(),n=t.getColumnCount();if(r>1||n>1)return g.create(h.VALUE);t=t.get(0,0)}return t.isError()?t:t.isNumber()&&t.getPattern()!==""?I.create(Na(t.getPattern())):t.isString()&&(dn(`${t.getValue()}`)||Cn(`${t.getValue()}`))?I.create(!0):I.create(!1)}}class td extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const a=t.getRowCount(),o=t.getColumnCount();if(a>1||o>1)return g.create(h.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isNull()||t.isBoolean()||t.isNumber())return I.create(!1);const r=`${t.getValue()}`;if(r.length>254)return I.create(!1);const n=M.Tools.topLevelDomainCombiningString(),s=new RegExp(`^(?:[\\w+-]+\\.)*[\\w+-]+@[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${n})$`,"i");return I.create(s.test(r))}}class rd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.getValue()===h.NA?I.create(!1):e.isError()?I.create(!0):e.isArray()?e.mapValue(t=>t.getValue()===h.NA?I.create(!1):t.isError()?I.create(!0):I.create(!1)):I.create(!1)}}class nd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?I.create(!0):e.isArray()?e.mapValue(t=>t.isError()?I.create(!0):I.create(!1)):I.create(!1)}}class sd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const s=t.getRowCount(),a=t.getColumnCount();if(s>1||a>1)return g.create(h.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isBoolean())return g.create(h.VALUE);const r=Math.trunc(+t.getValue());if(Number.isNaN(r))return g.create(h.VALUE);const n=r%2===0;return I.create(n)}}class ad extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0)}calculate(e){var o;if(e.isError())return e;if(!e.isReferenceObject())return g.create(h.NA);const t=(o=e.getCurrentActiveSheetData())==null?void 0:o.cellData.getMatrix(),{startRow:r,startColumn:n}=e.getRangePosition(),s=e.toArrayValueObject(),a=s.mapValue((c,l,f)=>{var d;const m=(d=t==null?void 0:t[r+l])==null?void 0:d[n+f];return m!=null&&m.f||m!=null&&m.si?I.create(!0):I.create(!1)});return s.getRowCount()===1&&s.getColumnCount()===1?a.get(0,0):a}}class id extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isBoolean()?I.create(!0):e.isArray()?e.mapValue(t=>t.isBoolean()?I.create(!0):I.create(!1)):I.create(!1)}}class od extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.getValue()===h.NA?I.create(!0):e.isArray()?e.mapValue(t=>t.getValue()===h.NA?I.create(!0):I.create(!1)):I.create(!1)}}class ud extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return!e.isArray()&&!e.isString()?I.create(!0):e.isArray()?e.mapValue(t=>t.isString()?I.create(!1):I.create(!0)):I.create(!1)}}class cd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isNumber()?I.create(!0):e.isArray()?e.mapValue(t=>t.isNumber()?I.create(!0):I.create(!1)):I.create(!1)}}class ld extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const s=t.getRowCount(),a=t.getColumnCount();if(s>1||a>1)return g.create(h.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isBoolean())return g.create(h.VALUE);const r=Math.trunc(+t.getValue());if(Number.isNaN(r))return g.create(h.VALUE);const n=r%2!==0;return I.create(n)}}class fd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0)}calculate(e){return e.isReferenceObject()?I.create(!0):I.create(!1)}}class md extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isString()?I.create(!0):e.isArray()?e.mapValue(t=>t.isString()?I.create(!0):I.create(!1)):I.create(!1)}}class hd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const a=t.getRowCount(),o=t.getColumnCount();if(a>1||o>1)return g.create(h.VALUE);t=t.get(0,0)}if(t.isError())return t;if(t.isNull()||t.isBoolean()||t.isNumber())return I.create(!1);const r=`${t.getValue()}`.replace(/^\s+|\s+$/g,"");if(r.length>1e3)return I.create(!1);const n=M.Tools.topLevelDomainCombiningString(),s=new RegExp(`^(?:(?:https?|s?ftp|ftps|nfs|ssh)://+[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*(?::[0-9]+)?(?:/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[A-Fa-f0-9]{2})*)*/?(?:[?#]\\S*)?|[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${n})(?::[0-9]+)?(?:/(?:[A-Za-z0-9\\-._~!$&'()*+,;=:@]|%[A-Fa-f0-9]{2})*)*/?(?:[?#]\\S*)?|mailto:(?:[\\w+-]+\\.)*[\\w+-]+@[a-z0-9_-]+(?:\\.[a-z0-9_-]+)*\\.(?:${n})|(?:news|aim):[%a-z0-9$_\\.+!*(),;/?#:@&~=-]+)$`,"i");return I.create(s.test(r))}}class gd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(e.isArray()&&(t=e.get(0,0)),t.isError())return t;if(t.isString())return R.create(0);const r=+t.getValue();return R.create(r)}}class dd extends N{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){return g.create(h.NA)}}class Cd extends N{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",1);A(this,"needsReferenceObject",!0);A(this,"needsSheetsInfo",!0)}calculate(e){var o;if(e!=null&&e.isError())return e;const{sheetOrder:t,sheetNameMap:r}=this.getSheetsInfo();if(!e){const c=t.findIndex(l=>l===this.subUnitId);return R.create(c+1)}if(e.isReferenceObject()){const c=e.getForcedSheetId(),l=e.getDefaultSheetId(),f=t.findIndex(m=>c?m===c:m===l);return R.create(f+1)}if(e.isArray())return g.create(h.NA);const n=`${e.getValue()}`.toLocaleLowerCase(),s=(o=Object.entries(r).find(([c,l])=>l.toLocaleLowerCase()===n))==null?void 0:o[0];if(!s)return g.create(h.NA);const a=t.findIndex(c=>c===s);return R.create(a+1)}}class _d extends N{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0);A(this,"needsSheetsInfo",!0)}calculate(){const{sheetOrder:e}=this.getSheetsInfo();return R.create(e.length)}}class Ad extends N{constructor(){super(...arguments);A(this,"needsReferenceObject",!0);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isReferenceObject()){const t=e.getRowCount(),r=e.getColumnCount();if(t===1&&r===1){const n=e.getFirstCell();if(n.isError())return R.create(16);if(n.isBoolean())return R.create(4);if(n.isString())return R.create(2);if(n.isNumber()||n.isNull())return R.create(1)}else return R.create(64)}else{if(e.isArray())return R.create(64);if(e.isError())return R.create(16);if(e.isBoolean())return R.create(4);if(e.isString())return R.create(2);if(e.isNumber()||e.isNull())return R.create(1)}return R.create(128)}}const Nu=[[X1,pe.CELL],[Z1,pe.ERROR_TYPE],[z1,pe.ISBETWEEN],[J1,pe.ISBLANK],[ed,pe.ISDATE],[td,pe.ISEMAIL],[rd,pe.ISERR],[nd,pe.ISERROR],[sd,pe.ISEVEN],[ad,pe.ISFORMULA],[id,pe.ISLOGICAL],[od,pe.ISNA],[ud,pe.ISNONTEXT],[cd,pe.ISNUMBER],[ld,pe.ISODD],[fd,pe.ISREF],[md,pe.ISTEXT],[hd,pe.ISURL],[gd,pe.N],[dd,pe.NA],[Cd,pe.SHEET],[_d,pe.SHEETS],[Ad,pe.TYPE]];class Ed extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=!0,r=!0,n=null;for(const s of e){if(s.isError())return s;if(s.isArray()){if(s.iterator(a=>{if(a!=null&&a.isError())return n=a,!1;(a!=null&&a.isBoolean()||a!=null&&a.isNumber())&&(t=t&&!!a.getValue(),r=!1)}),n)return n}else(s.isBoolean()||s.isNumber())&&(t=t&&!!s.getValue(),r=!1)}return r?g.create(h.VALUE):I.create(t)}}class bd extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2);A(this,"needsReferenceObject",!0)}calculate(e,t){let r=e,n=null;if(e.isReferenceObject()&&(r=e.toArrayValueObject(),n=e),r.isError())return r;if(t.isError())return t;if(!(t.isValueObject()&&t.isLambda()&&t.getLambdaPrivacyVarKeys().length===1))return g.create(h.VALUE);const s=t,a=r.isArray()?r.getRowCount():1,o=r.isArray()?r.getColumnCount():1;r=O(a,o,r);const c=[[]];for(let l=0;l<o;l++){const f=[];for(let _=0;_<a;_++){const C=r.get(_,l);f.push([C])}let m=q.create({calculateValueList:f,rowCount:a,columnCount:1,unitId:"",sheetId:"",row:0,column:0});if(n){const{startRow:_,startColumn:C}=n.getRangePosition(),E={startRow:_,startColumn:C+l,endRow:_+a-1,endColumn:C+l};m=this.createReferenceObject(n,E)}let d=s.execute(m);if(d.isArray()){const _=d.getRowCount(),C=d.getColumnCount();if(_>1||C>1)return g.create(h.CALC);d=d.get(0,0)}d.isNull()&&(d=R.create(0)),c[0].push(d)}return o===1?c[0][0]:q.create({calculateValueList:c,rowCount:1,columnCount:o,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class yd extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2);A(this,"needsReferenceObject",!0)}calculate(e,t){let r=e,n=null;if(e.isReferenceObject()&&(r=e.toArrayValueObject(),n=e),r.isError())return r;if(t.isError())return t;if(!(t.isValueObject()&&t.isLambda()&&t.getLambdaPrivacyVarKeys().length===1))return g.create(h.VALUE);const s=t,a=r.isArray()?r.getRowCount():1,o=r.isArray()?r.getColumnCount():1;r=O(a,o,r);const c=[];for(let l=0;l<a;l++){const f=[[]];for(let _=0;_<o;_++){const C=r.get(l,_);f[0].push(C)}let m=q.create({calculateValueList:f,rowCount:1,columnCount:o,unitId:"",sheetId:"",row:0,column:0});if(n){const{startRow:_,startColumn:C}=n.getRangePosition(),E={startRow:_+l,startColumn:C,endRow:_+l,endColumn:C+o-1};m=this.createReferenceObject(n,E)}let d=s.execute(m);if(d.isArray()){const _=d.getRowCount(),C=d.getColumnCount();if(_>1||C>1)return g.create(h.CALC);d=d.get(0,0)}d.isNull()&&(d=R.create(0)),c.push([d])}return a===1?c[0][0]:q.create({calculateValueList:c,rowCount:a,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class Rd extends N{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){return I.create(!1)}}var Ve=(i=>(i.AND="AND",i.BYCOL="BYCOL",i.BYROW="BYROW",i.FALSE="FALSE",i.IF="IF",i.IFERROR="IFERROR",i.IFNA="IFNA",i.IFS="IFS",i.LAMBDA="LAMBDA",i.LET="LET",i.MAKEARRAY="MAKEARRAY",i.MAP="MAP",i.NOT="NOT",i.OR="OR",i.REDUCE="REDUCE",i.SCAN="SCAN",i.SWITCH="SWITCH",i.TRUE="TRUE",i.XOR="XOR",i))(Ve||{});class pd extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r=I.create(!1)){let n=e;if(e.isArray()){const f=e.getRowCount(),m=e.getColumnCount();f===1&&m===1&&(n=e.get(0,0))}if(!n.isArray())return this._handleSingleObject(n,t,r);const s=Math.max(n.isArray()?n.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(n.isArray()?n.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=O(s,a,n,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA));return o.mapValue((f,m,d)=>{const _=c.get(m,d),C=l.get(m,d);return this._handleSingleObject(f,_,C)})}_handleSingleObject(e,t,r){return e.isError()?e:e.getValue()?t.isNull()?R.create(0):t:r.isNull()?R.create(0):r}}class Nd extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(!e.isArray())return e.isError()?t:e;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e),a=O(r,n,t);return s.iterator((o,c,l)=>{o!=null&&o.isError()&&s.set(c,l,a.get(c,l))}),s}}class Vd extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError()&&e.getErrorType()!==h.NA)return e;if(t.isError())return t;if(!e.isArray())return e.isError()&&e.getErrorType()===h.NA?t:e;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e),a=O(r,n,t);return s.iterator((o,c,l)=>{o!=null&&o.isError()&&o.getErrorType()===h.NA&&s.set(c,l,a.get(c,l))}),s}}class Od extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255)}calculate(...e){if(e.length%2!==0)return g.create(h.NA);for(let a=0;a<e.length;a++)if(e[a].isError())return e[a];const t=Math.max(...e.map(a=>a.isArray()?a.getRowCount():1)),r=Math.max(...e.map(a=>a.isArray()?a.getColumnCount():1)),n=e.map(a=>O(t,r,a,g.create(h.NA))),s=n[0].map((a,o,c)=>{for(let l=0;l<n.length;l+=2){const f=n[l].get(o,c)||le.create(),m=n[l+1].get(o,c)||le.create();if(f.isNull())continue;if(f.isError())return f;const d=f.getValue();if(f.isString()){if(`${d}`.toLocaleUpperCase()==="TRUE")return m;if(`${d}`.toLocaleUpperCase()==="FALSE")continue;return g.create(h.VALUE)}if(+d)return m.isNull()?g.create(h.NA):m}return g.create(h.NA)});return t===1&&r===1?s.get(0,0):s}}class Md extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){return g.create(h.VALUE)}}class Sd extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255)}calculate(...e){return g.create(h.VALUE)}}class Dd extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(...e){const t=this.getIndexNumValue(e[0]);if(typeof t!="number")return t;const r=this.getIndexNumValue(e[1]);if(typeof r!="number")return r;if(!(e[2].isValueObject()&&e[2].isLambda()))return g.create(h.VALUE);const n=e[2],s=[];for(let a=0;a<t;a++){s[a]==null&&(s[a]=[]);for(let o=0;o<r;o++){let c=n.execute(R.create(a+1),R.create(o+1));c.isArray()&&(c=c.get(0,0)),s[a][o]=c}}return new so(s)}isAsync(){return!0}}let wd=class extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(...e){const t=[];let r=null,n=0,s=0;for(let o=0;o<e.length;o++){const c=e[o];let l=c;if(l.isReferenceObject()&&(l=c.toArrayValueObject()),l.isError())return l;if(o===e.length-1){if(!(c.isValueObject()&&c.isLambda()))return g.create(h.VALUE);r=c}else t.push(c),n=Math.max(n,l.isArray()?l.getRowCount():1),s=Math.max(s,l.isArray()?l.getColumnCount():1)}const a=this._getResultArray(t,r,n,s);return a instanceof g?a:n===1&&s===1?a[0][0]:q.create({calculateValueList:a,rowCount:n,columnCount:s,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}_getResultArray(e,t,r,n){const s=[];for(let a=0;a<r;a++){const o=[];for(let c=0;c<n;c++){const l=[];let f=!1;for(let d=0;d<e.length;d++){let _=e[d],C=null;if(_.isReferenceObject()&&(C=_,_=_.toArrayValueObject()),!_.isArray())if(a===0&&c===0){l.push(C||_);continue}else{o.push(g.create(h.NA)),f=!0;break}let E=_.get(a,c);if(!E){o.push(g.create(h.NA)),f=!0;break}if(C){const{startRow:b,startColumn:y}=C.getRangePosition(),p={startRow:b+a,startColumn:y+c,endRow:b+a,endColumn:y+c};E=this.createReferenceObject(C,p)}l.push(E)}if(f||l.length===0)continue;let m=t.execute(...l);if(m.isArray()){const d=m.getRowCount(),_=m.getColumnCount();if(d>1||_>1)return g.create(h.CALC);m=m.get(0,0)}m.isNull()&&(m=R.create(0)),o.push(m)}s.push(o)}return s}};class Ld extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;const t=+e.getValue();return Number.isNaN(t)?g.create(h.VALUE):I.create(!t)}}class xd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=!1,r=!0,n=null;for(const s of e){if(s.isError())return s;if(s.isArray()){if(s.iterator(a=>{if(a!=null&&a.isError())return n=a,!1;(a!=null&&a.isBoolean()||a!=null&&a.isNumber())&&(t=t||!!a.getValue(),r=!1)}),n)return n}else(s.isBoolean()||s.isNumber())&&(t=t||!!s.getValue(),r=!1)}return r?new g(h.VALUE):new I(t)}}class Pd extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){let n,s;e.isReferenceObject()?(n=e.toArrayValueObject(),s=e):(n=e,s=null);let a,o;return t.isReferenceObject()?(a=t.toArrayValueObject(),o=t):(a=t,o=null),n.isArray()?n.mapValue(c=>this._handleSingleValueObject(c,a,r,s,o)):this._handleSingleValueObject(n,a,r,s,o)}_handleSingleValueObject(e,t,r,n,s){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(!(r.isValueObject()&&r.isLambda()&&r.getLambdaPrivacyVarKeys().length===2))return g.create(h.VALUE);const a=r,o=t.isArray()?t.getRowCount():1,c=t.isArray()?t.getColumnCount():1;let l=e;n&&(l=n);for(let f=0;f<o;f++)for(let m=0;m<c;m++){let d=t.isArray()?t.get(f,m):t;if(d.isError())return d;if(s){const{startRow:C,startColumn:E}=s.getRangePosition(),b={startRow:C+f,startColumn:E+m,endRow:C+f,endColumn:E+m};d=this.createReferenceObject(s,b)}let _=a.execute(l,d);if(_.isError())return _;_.isNull()&&(_=R.create(0)),l=_}return l.isReferenceObject()?l.toArrayValueObject():l}}class jd extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){let n=e,s=null;e.isReferenceObject()&&(n=e.toArrayValueObject(),s=e),n=n;let a=t,o=null;if(t.isReferenceObject()&&(a=t.toArrayValueObject(),o=t),a=a,n.isError())return n;if(a.isError())return a;if(r.isError())return r;if(!(r.isValueObject()&&r.isLambda()&&r.getLambdaPrivacyVarKeys().length===2))return g.create(h.VALUE);if(n.isArray()){const c=n.getRowCount(),l=n.getColumnCount();if(c>1||l>1)return g.create(h.CALC);n=n.get(0,0)}return this._getResult(n,a,r,s,o)}_getResult(e,t,r,n,s){const a=[],o=t.isArray()?t.getRowCount():1,c=t.isArray()?t.getColumnCount():1;let l=e;n&&(l=n);for(let f=0;f<o;f++){const m=[];for(let d=0;d<c;d++){if(l.isError()){m.push(l);continue}let _=t.isArray()?t.get(f,d):t;if(_.isError()){l=_,m.push(_);continue}if(s){const{startRow:E,startColumn:b}=s.getRangePosition(),y={startRow:E+f,startColumn:b+d,endRow:E+f,endColumn:b+d};_=this.createReferenceObject(s,y)}let C=r.execute(l,_);if(C.isArray()){const E=C.getRowCount(),b=C.getColumnCount();if(E>1||b>1)return g.create(h.CALC);C=C.get(0,0)}C.isNull()&&(C=R.create(0)),l=C,m.push(C)}a.push(m)}return o===1&&c===1?a[0][0]:q.create({calculateValueList:a,rowCount:o,columnCount:c,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class Ud extends N{constructor(){super(...arguments);A(this,"minParams",3)}calculate(e,...t){if(e.isError())return e;const r=t.length%2!==0,n=r?t[t.length-1]:le.create();return!e.isArray()&&!t.some(s=>s.isArray())?this._handleNonArrayInputs(e,t,n,r):this._handleArrayInputs(e,t,n,r)}_handleNonArrayInputs(e,t,r,n){for(let s=0;s<t.length-(n?1:0);s+=2){const a=t[s],o=t[s+1];if(!a.isNull()){if(a.isError())return a;if(`${e.getValue()}`.toLocaleLowerCase()===`${a.getValue()}`.toLocaleLowerCase())return o.isNull()?g.create(h.NA):o}}return r.isNull()?g.create(h.NA):r}_handleArrayInputs(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,...t.map(f=>f.isArray()?f.getRowCount():1),r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,...t.map(f=>f.isArray()?f.getColumnCount():1),r.isArray()?r.getColumnCount():1),o=O(s,a,e),c=t.map(f=>O(s,a,f,g.create(h.NA))),l=O(s,a,r,g.create(h.NA));return o.map((f,m,d)=>{for(let C=0;C<c.length-(n?1:0);C+=2){const E=c[C].get(m,d)||le.create(),b=c[C+1].get(m,d)||le.create();if(!E.isNull()){if(E.isError()||f.isError())return E.isError()?E:f;if(`${f.getValue()}`.toLocaleLowerCase()===`${E.getValue()}`.toLocaleLowerCase())return b.isNull()?g.create(h.NA):b}}const _=l.get(m,d)||le.create();return _.isNull()?g.create(h.NA):_})}}class vd extends N{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){return I.create(!0)}}class Td extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=0,r=!0,n=null;for(const s of e){if(s.isError())return s;if(s.isArray()){if(s.iterator(a=>{if(a!=null&&a.isError())return n=a,!1;(a!=null&&a.isBoolean()||a!=null&&a.isNumber())&&(a.getValue()&&t++,r=!1)}),n)return n}else(s.isBoolean()||s.isNumber())&&(s.getValue()&&t++,r=!1)}return r?g.create(h.VALUE):I.create(t%2===1)}}const Vu=[[Ed,Ve.AND],[bd,Ve.BYCOL],[yd,Ve.BYROW],[Rd,Ve.FALSE],[pd,Ve.IF],[Nd,Ve.IFERROR],[Vd,Ve.IFNA],[Od,Ve.IFS],[Md,Ve.LAMBDA],[Sd,Ve.LET],[Dd,Ve.MAKEARRAY],[wd,Ve.MAP],[Ld,Ve.NOT],[xd,Ve.OR],[Pd,Ve.REDUCE],[jd,Ve.SCAN],[Ud,Ve.SWITCH],[vd,Ve.TRUE],[Td,Ve.XOR]];class Id extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",5)}calculate(e,t,r,n,s){if(e.isError())return e;if(t.isError())return t;if(r!=null&&r.isError())return r;if(n!=null&&n.isError())return n;if(s!=null&&s.isError())return s;const a=r!=null?r:R.create(1),o=n!=null?n:I.create(!0),c=s!=null?s:j.create(""),l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1,c.isArray()?c.getRowCount():1),f=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1,c.isArray()?c.getColumnCount():1),m=O(l,f,e,g.create(h.NA)),d=O(l,f,t,g.create(h.NA)),_=O(l,f,a,g.create(h.NA)),C=O(l,f,o,g.create(h.NA)),E=O(l,f,c,g.create(h.NA));return m.map((b,y,p)=>{const V=d.get(y,p)||g.create(h.NA),S=_.get(y,p)||g.create(h.NA),D=C.get(y,p)||g.create(h.NA),w=E.get(y,p)||g.create(h.NA);return b.isError()?b:V.isError()?V:S.isError()?S:D.isError()?D:w.isError()?w:this._calculateSingleCell(b,V,S,D,w)})}_calculateSingleCell(e,t,r,n,s){const a=Number.parseInt(`${Number(e.getValue())-1}`),o=Number.parseInt(`${Number(t.getValue())-1}`),c=Number.parseInt(`${Number(r.getValue())}`);if(Number.isNaN(a)||Number.isNaN(o)||Number.isNaN(c)||c<1||c>4)return g.create(h.VALUE);const l=Fd(c),f=this.getZeroOrOneByOneDefault(n),m=`${s.getValue()}`,d=Ti(m),_={startRow:a,startColumn:o,endRow:a,endColumn:o,startAbsoluteRefType:l,endAbsoluteRefType:l},C=n&&!f?fm(_):Ct(_);return j.create(d!==""?`${d}!${C}`:C)}}function Fd(i){switch(i){case 1:return M.AbsoluteRefType.ALL;case 2:return M.AbsoluteRefType.ROW;case 3:return M.AbsoluteRefType.COLUMN;case 4:return M.AbsoluteRefType.NONE;default:return M.AbsoluteRefType.ALL}}class Bd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0)}calculate(e){return e.isReferenceObject()?R.create(1):g.create(h.VALUE)}}class kd extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(e,...t){let r=e;if(r.isError())return r;if(r.isReferenceObject()&&(r=r.toArrayValueObject()),!r.isArray()){const c=r.convertToNumberObjectValue();return c.isError()?c:t[Math.trunc(+c.getValue())-1]||g.create(h.VALUE)}let n=r.isArray()?r.getRowCount():1,s=r.isArray()?r.getColumnCount():1;t.forEach((c,l)=>{if(c.isArray()){const f=c;n=Math.max(n,f.getRowCount()),s=Math.max(s,f.getColumnCount())}else n=Math.max(n,1),s=Math.max(s,1)});const a=O(n,s,r,g.create(h.NA)),o=t.map(c=>{let l=c;return l.isReferenceObject()&&(l=l.toArrayValueObject()),O(n,s,l,g.create(h.NA))});return a.map((c,l,f)=>{if(c.isError())return c;const m=c.convertToNumberObjectValue();if(m.isError())return m;const d=o[Math.trunc(+m.getValue())-1];let _=(d==null?void 0:d.get(l,f))||g.create(h.VALUE);return _!=null&&_.isNull()&&(_=R.create(0)),_})}}class $d extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255)}calculate(e,...t){if(e.isError())return e;const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=[];for(let a=0;a<t.length;a++){let o=t[a];if(o.isArray()){const f=o.getRowCount(),m=o.getColumnCount();if(f>1||m>1)return g.create(h.VALUE);o=o.get(0,0)}if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return o;const c=Math.trunc(+o.getValue());if(c===0||Math.abs(c)>n)return g.create(h.VALUE);let l=e;n>1&&(c<0?l=e.slice(void 0,[c+n,c+1+n]):l=e.slice(void 0,[c-1,c]));for(let f=0;f<r;f++)s[f]||(s[f]=[]),e.isArray()?s[f].push(l.get(f,0)):s[f].push(e)}return q.create({calculateValueList:s,rowCount:s.length,columnCount:s[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class Yd extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255)}calculate(e,...t){if(e.isError())return e;const r=e.isArray()?e.getRowCount():1,n=[];for(let s=0;s<t.length;s++){let a=t[s];if(a.isArray()){const l=a.getRowCount(),f=a.getColumnCount();if(l>1||f>1)return g.create(h.VALUE);a=a.get(0,0)}if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;const o=Math.trunc(+a.getValue());if(o===0||Math.abs(o)>r)return g.create(h.VALUE);let c=e;r>1&&(o<0?c=e.slice([o+r,o+1+r]):c=e.slice([o-1,o])),e.isArray()?n.push(c.getArrayValue()[0]):n.push([e])}return q.create({calculateValueList:n,rowCount:n.length,columnCount:n[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class Hd extends N{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",1)}calculate(e){if(e==null)return R.create(this.column+1);if(e.isError())return e;if(!e.isArray())return g.create(h.NA);const t=e.getCurrentColumn(),r=e.getColumnCount(),n=[];for(let a=0;a<r;a++)n.push(R.create(t+a+1));const s={calculateValueList:[n],rowCount:1,columnCount:r,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return q.create(s)}}class Gd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return R.create(1);if(!e.isArray())return g.create(h.NA);const t=e.getColumnCount();return R.create(t)}}class Wd extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:R.create(0),s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=Math.max(t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),c=Math.max(t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),l=O(o,c,t,g.create(h.NA)),f=O(o,c,n,g.create(h.NA));if(o>1||c>1)return l.mapValue((y,p,V)=>{const S=f.get(p,V);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const{isError:D,errorObject:w}=this._checkRowsColumns(y,S,s,a);return D?w:e.isArray()?g.create(h.VALUE):e});if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const m=t.isArray()?t.get(0,0):t,d=n.isArray()?n.get(0,0):n,{isError:_,errorObject:C,rowsValue:E,columnsValue:b}=this._checkRowsColumns(m,d,s,a);return _?C:this._getResultArray(e,E,b,s,a)}_checkRowsColumns(e,t,r,n){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};const s=Math.trunc(+e.getValue()),a=Math.trunc(+t.getValue());return Number.isNaN(s)||Number.isNaN(a)?{isError:!0,errorObject:g.create(h.VALUE)}:Math.abs(s)>=r||Math.abs(a)>=n?{isError:!0,errorObject:g.create(h.CALC)}:{isError:!1,rowsValue:s,columnsValue:a}}_getResultArray(e,t,r,n,s){const a=t>=0?[t,n]:[0,n+t],o=r>=0?[r,s]:[0,s+r];let c;return t===0&&r===0?c=e:t===0?c=e.slice(void 0,o):r===0?c=e.slice(a,void 0):c=e.slice(a,o),c=c.map(l=>l.isNull()?R.create(0):l),n-t===1&&s-r===1?c.get(0,0):c}}class Qd extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",4)}calculate(e,t,r,n){const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1;let o=t,c=r!=null?r:R.create(a);const l=n!=null?n:g.create(h.NA);t.isNull()&&(o=R.create(s)),c.isNull()&&(c=R.create(a));const f=Math.max(o.isArray()?o.getRowCount():1,c.isArray()?c.getRowCount():1),m=Math.max(o.isArray()?o.getColumnCount():1,c.isArray()?c.getColumnCount():1),d=O(f,m,o,g.create(h.NA)),_=O(f,m,c,g.create(h.NA));if(f>1||m>1)return d.mapValue((D,w,L)=>{const x=_.get(w,L);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const{isError:v,errorObject:U}=this._checkRowsColumnsPadWith(D,x,l,s,a);return v?U:e.isArray()?e.get(0,0):e});if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const C=o.isArray()?o.get(0,0):o,E=c.isArray()?c.get(0,0):c,{isError:b,errorObject:y,rowsValue:p,columnsValue:V,padWithObject:S}=this._checkRowsColumnsPadWith(C,E,l,s,a);return b?y:this._getResultArray(e,p,V,S,s,a)}_checkRowsColumnsPadWith(e,t,r,n,s){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};const a=Math.trunc(+e.getValue()),o=Math.trunc(+t.getValue());if(Number.isNaN(a)||Number.isNaN(o))return{isError:!0,errorObject:g.create(h.VALUE)};if(Math.abs(a)<n||Math.abs(o)<s)return{isError:!0,errorObject:g.create(h.VALUE)};let c=r;if(r.isArray()){const l=r.getRowCount(),f=r.getColumnCount();if(l>1||f>1)return{isError:!0,errorObject:g.create(h.VALUE)};c=r.get(0,0)}return{isError:!1,rowsValue:a,columnsValue:o,padWithObject:c}}_getResultArray(e,t,r,n,s,a){let o=[];e.isArray()?o=e.map(f=>f.isNull()?R.create(0):f).getArrayValue():o=[[e]];const c=Math.max(0,t-s),l=Math.max(0,r-a);for(let f=0;f<c;f++)o.push(new Array(a).fill(n));for(let f=0;f<l;f++)o.forEach(m=>{m.push(n)});return t===1&&r===1?o[0][0]:q.create({calculateValueList:o,rowCount:o.length,columnCount:o[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class qd extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:g.create(h.CALC);if(e.isError())return e;if(t.isError())return t;const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=t.isArray()?t.getRowCount():1,c=t.isArray()?t.getColumnCount():1;return o>1&&c>1||o===1&&c!==a||c===1&&o!==s?g.create(h.VALUE):s===1&&a===1?this._getResultArrayByR1C1(e,t,n):o===1?c!==a?g.create(h.VALUE):this._getResultArrayByR1(s,a,e,t,n):c===1?o!==s?g.create(h.VALUE):this._getResultArrayByC1(s,a,e,t,n):n}_getResultArrayByR1C1(e,t,r){let n=e,s=t;return n.isArray()&&(n=n.get(0,0)),s.isArray()&&(s=s.get(0,0)),s.isString()&&(s=s.convertToNumberObjectValue()),s.isError()?s:+s.getValue()?n:r}_getResultArrayByR1(e,t,r,n,s){const a=[];for(let o=0;o<t;o++){let c=n.get(0,o);if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return c;if(+c.getValue())for(let f=0;f<e;f++){a[f]||(a[f]=[]);const m=r.get(f,o);a[f].push(m)}}return a.length===0?s:q.create({calculateValueList:a,rowCount:a.length,columnCount:a[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}_getResultArrayByC1(e,t,r,n,s){const a=[];for(let o=0;o<e;o++){let c=n.get(o,0);if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return c;if(!+c.getValue())continue;const f=[];for(let m=0;m<t;m++){const d=r.get(o,m);f.push(d)}a.push(f)}return a.length===0?s:q.create({calculateValueList:a,rowCount:a.length,columnCount:a[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class Kd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0);A(this,"needsFormulaDataModel",!0)}calculate(e){var f,m;if(!e.isReferenceObject())return g.create(h.NA);const t=e.getUnitId(),r=e.getSheetId(),s=(m=(f=e.getUnitData()[t])==null?void 0:f[r])==null?void 0:m.cellData,{startRow:a,startColumn:o}=e.getRangePosition(),l=e.toArrayValueObject().mapValue((d,_,C)=>{const E=s.getValue(a+_,o+C);if(E!=null&&E.f||E!=null&&E.si){const b=this._formulaDataModel.getFormulaStringByCell(a+_,o+C,r,t);return j.create(b)}return g.create(h.NA)});return l.getRowCount()===1&&l.getColumnCount()===1?l.get(0,0):l}}var me=(i=>(i.ADDRESS="ADDRESS",i.AREAS="AREAS",i.CHOOSE="CHOOSE",i.CHOOSECOLS="CHOOSECOLS",i.CHOOSEROWS="CHOOSEROWS",i.COLUMN="COLUMN",i.COLUMNS="COLUMNS",i.DROP="DROP",i.EXPAND="EXPAND",i.FILTER="FILTER",i.FORMULATEXT="FORMULATEXT",i.GETPIVOTDATA="GETPIVOTDATA",i.HLOOKUP="HLOOKUP",i.HSTACK="HSTACK",i.HYPERLINK="HYPERLINK",i.IMAGE="IMAGE",i.INDEX="INDEX",i.INDIRECT="INDIRECT",i.LOOKUP="LOOKUP",i.MATCH="MATCH",i.OFFSET="OFFSET",i.ROW="ROW",i.ROWS="ROWS",i.RTD="RTD",i.SORT="SORT",i.SORTBY="SORTBY",i.TAKE="TAKE",i.TOCOL="TOCOL",i.TOROW="TOROW",i.TRANSPOSE="TRANSPOSE",i.UNIQUE="UNIQUE",i.VLOOKUP="VLOOKUP",i.VSTACK="VSTACK",i.WRAPCOLS="WRAPCOLS",i.WRAPROWS="WRAPROWS",i.XLOOKUP="XLOOKUP",i.XMATCH="XMATCH",i))(me||{});class Xd extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){if(e.isError())return e;if(t.isError())return g.create(h.REF);if(!t.isArray()||r.isError()||n!=null&&n.isError())return g.create(h.NA);const s=this.getZeroOrOneByOneDefault(n);if(s==null)return g.create(h.VALUE);const a=this.getIndexNumValue(r);if(a instanceof g)return a;const o=t.slice([0,1]),c=t.slice([a-1,a]);return o==null||c==null?g.create(h.REF):e.isArray()?e.map(l=>this._handleSingleObject(l,o,c,s)):this._handleSingleObject(e,o,c,s)}_handleSingleObject(e,t,r,n){return n===0?this.equalSearch(e,t,r):this.binarySearch(e,t,r)}}class Zd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=Math.max(...e.map(n=>n.isArray()?n.getRowCount():1)),r=[];for(let n=0;n<e.length;n++){const s=e[n];if(s.isError())return s;const a=s.isArray()?s.getRowCount():1,o=s.isArray()?s.getColumnCount():1;for(let c=0;c<t;c++){r[c]||(r[c]=[]);for(let l=0;l<o;l++){let f=s;s.isArray()&&(f=s.get(c,l)),c>a-1||!f?r[c].push(g.create(h.NA)):r[c].push(f)}}}return q.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class zd extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){let r=e;if(e.isArray()&&(r=e.get(0,0)),r.isError())return r;let n=t;if(t!=null&&t.isArray()&&(n=t.get(0,0)),n!=null&&n.isError())return n;let s=`${r.getValue()}`;r.isNull()&&(s="");let a=s;return n&&(a=`${n.getValue()}`,n.isNull()?a="0":n.isBoolean()&&(a=a.toLocaleUpperCase())),j.create(a,{isHyperlink:!0,hyperlinkUrl:s})}}class Jd extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",4);A(this,"needsReferenceObject",!0)}calculate(e,t,r,n){if(e.isError())return e;const s=this._getReferenceCounts(e);let a=t;t.isReferenceObject()&&(a=t.toArrayValueObject());let o=r;o!=null&&o.isReferenceObject()&&(o=r.toArrayValueObject());let c=n!=null?n:R.create(1);c.isReferenceObject()&&(c=n.toArrayValueObject());const l=Math.max(a.isArray()?a.getRowCount():1,o!=null&&o.isArray()?o.getRowCount():1,c.isArray()?c.getRowCount():1),f=Math.max(a.isArray()?a.getColumnCount():1,o!=null&&o.isArray()?o.getColumnCount():1,c.isArray()?c.getColumnCount():1);if(l===1&&f===1)return this._handleSingleObject(e,a.isArray()?a.get(0,0):a,o?o.isArray()?o.get(0,0):o:void 0,c.isArray()?c.get(0,0):c,s);{const m=O(l,f,a,g.create(h.NA)),d=o?O(l,f,o,g.create(h.NA)):[],_=O(l,f,c,g.create(h.NA));return m.mapValue((C,E,b)=>{const y=o?d.get(E,b):void 0,p=_.get(E,b),V=this._handleSingleObject(e,C,y,p,s);return V.isReferenceObject()?V.getCellByPosition():V})}}_handleSingleObject(e,t,r,n,s){let a,o,c;if(r){const{isError:C,errorObject:E,variants:b}=F(t,r,n);if(C)return E;a=b[0],o=b[1],c=b[2]}else{const{isError:C,errorObject:E,variants:b}=F(t,n);if(C)return E;a=b[0],c=b[1]}const l=Math.floor(+c.getValue());if(l<0)return g.create(h.VALUE);if(l>s.length)return g.create(h.REF);const f=s[l-1];let m=0,d=0;if(f.rowCount===1&&!r?d=Math.floor(+a.getValue()):(m=Math.floor(+a.getValue()),r&&(d=Math.floor(+o.getValue()))),m<0||d<0)return g.create(h.VALUE);if(m>f.rowCount||d>f.columnCount)return g.create(h.REF);let _=e;return l>1&&(_=e.getCubeValues()[l-1]),_.isReferenceObject()?this._calculateReferenceObject(_,m,d):this._calculateArrayObject(_,m,d)}_getReferenceCounts(e){let t=[{rowCount:1,columnCount:1}];return e.isReferenceObject()?t=[{rowCount:e.getRowCount(),columnCount:e.getColumnCount()}]:e.isCube()?t=e.getCubeValues().map(r=>({rowCount:r.getRowCount(),columnCount:r.getColumnCount()})):e.isArray()&&(t=[{rowCount:e.getRowCount(),columnCount:e.getColumnCount()}]),t}_calculateReferenceObject(e,t,r){const{startRow:n,endRow:s,startColumn:a,endColumn:o}=e.getRangePosition();let c=0,l=0,f=0,m=0;if(t===0?(c=n,l=s):c=l=n+t-1,r===0?(f=a,m=o):f=m=a+r-1,c>s||f>o)return g.create(h.REF);const d={startRow:c,startColumn:f,endRow:l,endColumn:m};return this.createReferenceObject(e,d)}_calculateArrayObject(e,t,r){return!e.isArray()||t===0&&r===0?e:t===0?e.slice(void 0,[r-1,r]):r===0?e.slice([t-1,t],void 0):e.get(t-1,r-1)}}class e0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}isAddress(){return!0}calculate(e,t){if(e.isError())return e;if(t!=null&&t.isError())return t;let r=this.getZeroOrOneByOneDefault(t);r==null&&(r=1);let n=e;if(e.isArray()){const s=e.getRowCount(),a=e.getColumnCount();if(s>1||a>1)return e.map(()=>g.create(h.VALUE));n=e.getFirstCell()}return this._handleSingleObject(n,r)}_handleSingleObject(e,t){const r=`${e.getValue()}`;if(r.trim()==="")return g.create(h.REF);const n=this._convertToDefinedName(r);if(t===0){const f=Ao(n),{range:m,sheetName:d,unitId:_}=f,C=new br(m);return C.setForcedUnitIdDirect(_),C.setForcedSheetName(d),this._setDefault(C)}if(pr(n))return this._setDefault(new zs(n));if(Mi(n))return this._setDefault(new ea(n));if(Si(n))return this._setDefault(new Js(n));const s=Wt(n),{range:a,sheetName:o,unitId:c}=s;if(Number.isNaN(a.startRow)||a.endRow+1>1048576||Number.isNaN(a.startColumn)||a.endColumn+1>16384)return g.create(h.REF);const l=new br(a);return l.setForcedUnitIdDirect(c),l.setForcedSheetName(o),this._setDefault(l)}_setDefault(e){return this.unitId==null||this.subUnitId==null?g.create(h.REF):(e.setDefaultUnitId(this.unitId),e.setDefaultSheetId(this.subUnitId),e)}_convertToDefinedName(e){const t=this.getDefinedName(e);if(t==null)return e;const r=t.formulaOrRefString;return r==null?e:r.startsWith(X.EQUALS)?r.slice(1):r}}class t0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsExpandParams",!0)}calculate(e,t,r){return e.isError()?e:t.isError()?g.create(h.REF):t.isArray()?r!=null&&r.isError()?r:t.getColumnCount()===1||t.getRowCount()===1?r!=null&&!r.isArray()?g.create(h.REF):this._handleVector(e,t,r):this._handleArray(e,t):g.create(h.VALUE)}_handleVector(e,t,r){let n=r;if(n==null)n=t;else if(n.getRowCount()!==t.getRowCount()||n.getColumnCount()!==t.getColumnCount())return g.create(h.REF);return e.isArray()?e.map(s=>this.binarySearch(s,t,n)):this.binarySearch(e,t,n)}_handleArray(e,t){const r=t.getRowCount(),n=t.getColumnCount();let s,a;return n>r?(s=t.slice([0,1]),a=t.slice([r-1,r])):(s=t.slice(void 0,[0,1]),a=t.slice(void 0,[n-1,n])),s==null||a==null?g.create(h.VALUE):e.isArray()?e.map(o=>this.binarySearch(o,s,a)):this.binarySearch(e,s,a)}}class r0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return g.create(h.REF);if(!t.isArray())return g.create(h.VALUE);const n=t.getRowCount(),s=t.getColumnCount();if(n!==1&&s!==1||r!=null&&r.isError())return g.create(h.NA);const a=this.getMatchTypeValue(r);return a==null?g.create(h.VALUE):e.isArray()?e.map(o=>this._handleSingleObject(o,t,a)):this._handleSingleObject(e,t,a)}_handleSingleObject(e,t,r){const n=this._getSearchModeValue(r),s=t.orderSearch(e,n);if(s==null)return g.create(h.NA);if(s instanceof g)return s;const a=t.getRowCount()===1?s.column+1:s.row+1;return R.create(a)}_getSearchModeValue(e){switch(e){case 1:return Me.MIN;case 0:return Me.NORMAL;case-1:return Me.MAX}}}class n0 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",5);A(this,"needsReferenceObject",!0)}isAddress(){return!0}calculate(e,t,r,n,s){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(n!=null&&n.isError())return n;if(s!=null&&s.isError())return s;if(!e.isReferenceObject())return g.create(h.VALUE);const a=e.getRowCount(),o=e.getColumnCount();let c=t;c.isReferenceObject()&&(c=c.toArrayValueObject());let l=r;l.isReferenceObject()&&(l=l.toArrayValueObject());let f=n!=null?n:R.create(a);f.isReferenceObject()&&(f=f.toArrayValueObject()),f.isNull()&&(f=R.create(a));let m=s!=null?s:R.create(o);m.isReferenceObject()&&(m=m.toArrayValueObject()),m.isNull()&&(m=R.create(o));const d=Math.max(c.isArray()?c.getRowCount():1,l.isArray()?l.getRowCount():1,f.isArray()?f.getRowCount():1,m.isArray()?m.getRowCount():1),_=Math.max(c.isArray()?c.getColumnCount():1,l.isArray()?l.getColumnCount():1,f.isArray()?f.getColumnCount():1,m.isArray()?m.getColumnCount():1);if(c=c,l=l,f=f,m=m,d===1&&_===1)return c=c.isArray()?c.get(0,0):c,l=l.isArray()?l.get(0,0):l,f=f.isArray()?f.get(0,0):f,m=m.isArray()?m.get(0,0):m,this._handleSingleObject(e,c,l,f,m);const C=O(d,_,c,g.create(h.NA)),E=O(d,_,l,g.create(h.NA)),b=O(d,_,f,g.create(h.NA)),y=O(d,_,m,g.create(h.NA));return C.mapValue((p,V,S)=>{const D=E.get(V,S),w=b.get(V,S),L=y.get(V,S);return p.isError()?p:D.isError()?D:w.isError()?w:L.isError()?L:this._handleSingleObject(e,p,D,w,L,!0)})}_handleSingleObject(e,t,r,n,s,a=!1){const{startRow:o,startColumn:c}=e.getRangePosition();let l=t;if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;let f=r;if(f.isString()&&(f=f.convertToNumberObjectValue()),f.isError())return f;const m=+l.getValue(),d=+f.getValue();if(typeof m!="number"||typeof d!="number")return g.create(h.VALUE);const _=o+m,C=c+d;if(_<0||C<0)return g.create(h.REF);const E=this.getIndexNumValue(n),b=this.getIndexNumValue(s);if(typeof E!="number"||typeof b!="number")return g.create(h.VALUE);if(E===0||b===0)return g.create(h.REF);const y=E>0?_+E-1:_+E+1,p=b>0?C+b-1:C+b+1;if(y<0||p<0)return g.create(h.REF);if(a)return g.create(h.VALUE);const V=_<y?_:y,S=C<p?C:p,D=_>y?_:y,w=C>p?C:p,L={startRow:V,startColumn:S,endRow:D,endColumn:w};return this.createReferenceObject(e,L)}}class s0 extends N{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",1)}calculate(e){if(e==null)return R.create(this.row+1);if(e.isError())return e;if(!e.isArray())return g.create(h.NA);const t=e.getCurrentRow(),r=e.getRowCount(),n=[];for(let a=0;a<r;a++)n.push([R.create(t+a+1)]);const s={calculateValueList:n,rowCount:r,columnCount:1,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return q.create(s)}}class a0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return R.create(1);if(!e.isArray())return g.create(h.NA);const t=e.getRowCount();return R.create(t)}}class i0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4)}calculate(e,t,r,n){const s=t!=null?t:R.create(1),a=r!=null?r:R.create(1),o=n!=null?n:I.create(!1);if(o.isArray()){const c=o.getRowCount(),l=o.getColumnCount();if(c===1&&l===1){const f=o.get(0,0);return this._handleSingleObject(e,s,a,f)}return o.map(f=>{const m=this._handleSingleObject(e,s,a,f);return m.isArray()?m.get(0,0):m})}return this._handleSingleObject(e,s,a,o)}_handleSingleObject(e,t,r,n){if(e.isError())return e;const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=this._checkArrayError(t);if(o.isError())return o;const c=Math.floor(+o.getValue());if(c<1)return g.create(h.VALUE);const l=this._checkArrayError(r);if(l.isError())return l;const f=Math.floor(+l.getValue());if(f!==-1&&f!==1)return g.create(h.VALUE);let m=n;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;if(!e.isArray()||s===1&&a===1)return e;const d=+m.getValue();return this._getResult(e,c,f,d,s,a)}_checkArrayError(e){let t=e;if(t.isArray()){const r=t.getRowCount(),n=t.getColumnCount();if(r>1||n>1)return g.create(h.VALUE);t=t.get(0,0)}return t.isString()&&(t=t.convertToNumberObjectValue()),t}_getResult(e,t,r,n,s,a){if(n){if(t>s)return g.create(h.VALUE);const o=e.transpose().getArrayValue();return o.sort(this._sort(t-1,r)),q.create({calculateValueList:o,rowCount:o.length,columnCount:o[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}).transpose()}else{if(t>a)return g.create(h.VALUE);const o=e.getArrayValue();return o.sort(this._sort(t-1,r)),q.create({calculateValueList:o,rowCount:o.length,columnCount:o[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}_sort(e,t=1){const r=sn();return t===1?this._sortAsc(e,r):this._sortDesc(e,r)}_sortAsc(e,t){return(r,n)=>{const s=r[e],a=n[e];if(s==null||s.isNull())return 1;if(a==null||a.isNull())return-1;if(s.isError()&&a.isError())return 0;if(s.isError())return 1;if(a.isError())return-1;const o=s.getValue(),c=a.getValue();return s.isBoolean()&&o===!0?1:a.isBoolean()&&c===!0?-1:s.isBoolean()&&o===!1?1:a.isBoolean()&&c===!1?-1:s.isNumber()&&a.isNumber()?+o-+c:t(o,c)}}_sortDesc(e,t){return(r,n)=>{const s=r[e],a=n[e];if(s==null||s.isNull())return 1;if(a==null||a.isNull())return-1;if(s.isError()&&a.isError())return 0;if(s.isError())return-1;if(a.isError())return 1;const o=s.getValue(),c=a.getValue();return s.isBoolean()&&o===!0?-1:a.isBoolean()&&c===!0?1:s.isBoolean()&&o===!1?-1:a.isBoolean()&&c===!1?1:s.isNumber()&&a.isNumber()?+c-+o:t(c,o)}}}class o0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255)}calculate(e,...t){t.length===1&&t.push(R.create(1));const r=this._getVariantsError(e,...t),{maxRowLength:n,maxColumnLength:s}=_f(t);if(r.isError()){const c=O(n,s,r);return n===1&&s===1?c.get(0,0):c}const a=t.map((c,l)=>l%2===0?c:O(n,s,c,g.create(h.NA))),o=this._getResultArray(e,a,n,s);return n===1&&s===1?o[0][0]:q.create({calculateValueList:o,rowCount:o.length,columnCount:o[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}_getVariantsError(e,...t){if(e.isError())return e;for(let o=0;o<t.length;o++){const c=t[o];if(c.isError())return c}if(t.length<2||t.length%2!==0)return g.create(h.VALUE);const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t[0].isArray()?t[0].getRowCount():1,a=t[0].isArray()?t[0].getColumnCount():1;if((s>1||a>1)&&(s>1&&a>1||s===1&&a!==n||a===1&&s!==r))return g.create(h.VALUE);for(let o=2;o<t.length;o++){if(o%2===1)continue;const c=t[o].isArray()?t[o].getRowCount():1,l=t[o].isArray()?t[o].getColumnCount():1;if(c!==s||l!==a)return g.create(h.VALUE)}return I.create(!0)}_getResultArray(e,t,r,n){const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=t[0].isArray()?t[0].getRowCount():1,c=t[0].isArray()?t[0].getColumnCount():1,l=[];for(let f=0;f<r;f++){l[f]=[];for(let m=0;m<n;m++){const{isError:d,errorObject:_,byArrays:C,sortOrders:E}=this._getByArraysAndSortOrders(t,f,m,c);if(d){l[f].push(_);continue}if(!e.isArray()||s===1&&a===1){l[f].push(e);continue}let b=e.getArrayValue();o===1&&c===1||(o===1?(b=b.concat(C),b=this._transposeArray(b),b.sort(this._sort(s,E)),b=this._transposeArray(b).slice(0,s)):c===1&&(b=this._transposeArray(b),b=b.concat(C),b=this._transposeArray(b),b.sort(this._sort(a,E)),b=b.map(p=>p.slice(0,a))));const y=q.create({calculateValueList:b,rowCount:b.length,columnCount:b[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column});if(r>1||n>1){l[f].push(y.get(0,0));continue}l[f].push(y)}}return l}_getByArraysAndSortOrders(e,t,r,n){const s=[],a=[];let o=!1,c=null;for(let l=0;l<e.length;l++){if(l%2===1)continue;const f=e[l];let m=e[l+1].get(t,r);if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError()){o=!0,c=m;break}const d=Math.floor(+m.getValue());if(d!==-1&&d!==1){o=!0,c=g.create(h.VALUE);break}if(a.push(d),f.isArray()){let _=f.getArrayValue();n===1&&(_=this._transposeArray(_)),s.push(_[0])}else s.push([f])}return{isError:o,errorObject:c,byArrays:s,sortOrders:a}}_transposeArray(e){const t=e.length,r=e[0].length,n=[];for(let s=0;s<r;s++){n[s]=[];for(let a=0;a<t;a++)n[s][a]=e[a][s]}return n}_sort(e,t){const r=sn();return(n,s)=>{let a=n[e],o=s[e],c=this._compare(a,o,t[0],r);if(c===0&&t.length>1){for(let l=1;l<t.length;l++)if(a=n[e+l],o=s[e+l],c=this._compare(a,o,t[l],r),c!==0)return c}return c}}_compare(e,t,r,n){return r===1?this._asc(e,t,n):this._desc(e,t,n)}_asc(e,t,r){if(e==null||e.isNull())return 1;if(t==null||t.isNull())return-1;if(e.isError()&&t.isError())return 0;if(e.isError())return 1;if(t.isError())return-1;const n=e.getValue(),s=t.getValue();return e.isBoolean()&&n===!0?1:t.isBoolean()&&s===!0?-1:e.isBoolean()&&n===!1?1:t.isBoolean()&&s===!1?-1:e.isNumber()&&t.isNumber()?+n-+s:r(n,s)}_desc(e,t,r){if(e==null||e.isNull())return 1;if(t==null||t.isNull())return-1;if(e.isError()&&t.isError())return 0;if(e.isError())return-1;if(t.isError())return 1;const n=e.getValue(),s=t.getValue();return e.isBoolean()&&n===!0?-1:t.isBoolean()&&s===!0?1:e.isBoolean()&&n===!1?-1:t.isBoolean()&&s===!1?1:e.isNumber()&&t.isNumber()?+s-+n:r(s,n)}}class u0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1;let a=t,o=r!=null?r:R.create(s);t.isNull()&&(a=R.create(n)),o.isNull()&&(o=R.create(s));const c=Math.max(a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1),l=Math.max(a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1),f=O(c,l,a,g.create(h.NA)),m=O(c,l,o,g.create(h.NA));if(c>1||l>1)return f.mapValue((p,V,S)=>{const D=m.get(V,S);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const{isError:w,errorObject:L}=this._checkRowsColumns(p,D,n,s);return w?L:e.isArray()?g.create(h.VALUE):e});if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);const d=a.isArray()?a.get(0,0):a,_=o.isArray()?o.get(0,0):o,{isError:C,errorObject:E,rowsValue:b,columnsValue:y}=this._checkRowsColumns(d,_,n,s);return C?E:this._getResultArray(e,b,y,n,s)}_checkRowsColumns(e,t,r,n){if(e.isError())return{isError:!0,errorObject:e};if(t.isError())return{isError:!0,errorObject:t};let s=Math.trunc(+e.getValue()),a=Math.trunc(+t.getValue());return Number.isNaN(s)||Number.isNaN(a)?{isError:!0,errorObject:g.create(h.VALUE)}:Math.abs(s)===0||Math.abs(a)===0?{isError:!0,errorObject:g.create(h.CALC)}:(s>r&&(s=r),a>n&&(a=n),{isError:!1,rowsValue:s,columnsValue:a})}_getResultArray(e,t,r,n,s){if(!e.isArray())return e;const a=t>=0?[0,t]:[n+t,n],o=r>=0?[0,r]:[s+r,s];let c;return t===n&&r===s?c=e:t===n?c=e.slice(void 0,o):r===s?c=e.slice(a,void 0):c=e.slice(a,o),c=c.map(l=>l.isNull()?R.create(0):l),t===1&&r===1?c.get(0,0):c}}class c0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){const n=t!=null?t:R.create(0),s=r!=null?r:I.create(!1),a=Math.max(n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),c=O(a,o,n,g.create(h.NA)),l=O(a,o,s,g.create(h.NA)),f=c.mapValue((m,d,_)=>{const C=l.get(d,_);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);if(m.isError())return m;if(C.isError())return C;const E=Math.trunc(+m.getValue()),b=+C.getValue();if(Number.isNaN(E)||E<0||E>3||Number.isNaN(b))return g.create(h.VALUE);if(!e.isArray())return e;let y=[];return b?y=this._getArrayValueByColumn(e,E):y=this._getArrayValueByRow(e,E),y.length===0?g.create(h.CALC):a>1||o>1||y.length===1?y[0]:q.create({calculateValueList:y.map(p=>[p]),rowCount:y.length,columnCount:1,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return a===1&&o===1?f.get(0,0):f}_getArrayValueByColumn(e,t){const r=e,n=r.getRowCount(),s=r.getColumnCount(),a=[];for(let o=0;o<s;o++)for(let c=0;c<n;c++){const l=r.get(c,o);this._isIgnore(l,t)||a.push(l.isNull()?R.create(0):l)}return a}_getArrayValueByRow(e,t){const r=e,n=r.getRowCount(),s=r.getColumnCount(),a=[];for(let o=0;o<n;o++)for(let c=0;c<s;c++){const l=r.get(o,c);this._isIgnore(l,t)||a.push(l.isNull()?R.create(0):l)}return a}_isIgnore(e,t){switch(t){case 0:return!1;case 1:return e.isNull();case 2:return e.isError();case 3:return e.isNull()||e.isError();default:return!1}}}class l0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){const n=t!=null?t:R.create(0),s=r!=null?r:I.create(!1),a=Math.max(n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),c=O(a,o,n,g.create(h.NA)),l=O(a,o,s,g.create(h.NA)),f=c.mapValue((m,d,_)=>{const C=l.get(d,_);if(e.isError())return e;if(m.isError())return m;if(C.isError())return C;const E=Math.trunc(+m.getValue()),b=+C.getValue();if(Number.isNaN(E)||E<0||E>3||Number.isNaN(b)||e.isNull())return g.create(h.VALUE);if(!e.isArray())return e;let y=[];return b?y=this._getArrayValueByColumn(e,E):y=this._getArrayValueByRow(e,E),y.length===0?g.create(h.CALC):a>1||o>1||y.length===1?y[0]:q.create({calculateValueList:[y],rowCount:1,columnCount:y.length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return a===1&&o===1?f.get(0,0):f}_getArrayValueByColumn(e,t){const r=e,n=r.getRowCount(),s=r.getColumnCount(),a=[];for(let o=0;o<s;o++)for(let c=0;c<n;c++){const l=r.get(c,o);this._isIgnore(l,t)||a.push(l.isNull()?R.create(0):l)}return a}_getArrayValueByRow(e,t){const r=e,n=r.getRowCount(),s=r.getColumnCount(),a=[];for(let o=0;o<n;o++)for(let c=0;c<s;c++){const l=r.get(o,c);this._isIgnore(l,t)||a.push(l.isNull()?R.create(0):l)}return a}_isIgnore(e,t){switch(t){case 0:return!1;case 1:return e.isNull();case 2:return e.isError();case 3:return e.isNull()||e.isError();default:return!1}}}class f0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isError())return e;if(e.isArray()){const t=e.getRowCount(),r=e.getColumnCount();return t===1&&r===1?e.get(0,0):e.transpose()}return e}}class m0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){const n=t!=null?t:I.create(!1),s=r!=null?r:I.create(!1),a=e.isArray()?e.getRowCount():1,o=e.isArray()?e.getColumnCount():1,c=Math.max(n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),f=O(c,l,n,g.create(h.NA)),m=O(c,l,s,g.create(h.NA)),d=f.map((_,C,E)=>{let b=_,y=m.get(C,E);if(e.isError())return e;if(b.isString()&&(b=b.convertToNumberObjectValue()),b.isError())return b;if(y.isString()&&(y=y.convertToNumberObjectValue()),y.isError())return y;const p=+b.getValue(),V=+y.getValue();let S;return!p&&a===1||p&&o===1?S=e:S=this._getResult(e,p,V),(c>1||l>1)&&(S!=null&&S.isArray())?S.get(0,0):S});return c===1&&l===1?d.get(0,0):d}_getResult(e,t,r){const n=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1;let a=e.getArrayValue(),o=n,c=s;t&&(a=this._transposeArray(a),o=s,c=n);const l=this._getRepeatRows(a,o,c);if(l.length>0){const f=[];l.forEach(m=>{m.forEach((d,_)=>{(_!==0||r)&&f.push(d)})}),a=a.filter((m,d)=>!f.includes(d))}return a.length===0?g.create(h.CALC):(t&&(a=this._transposeArray(a)),q.create({calculateValueList:a,rowCount:a.length,columnCount:a[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}))}_getRepeatRows(e,t,r){let n=[];for(let s=0;s<r;s++)if(s===0){const a=new Array(t).fill(null).map((o,c)=>({r:c,valueObject:e[c][s]}));n=this._getRepeatRowsByObjects(a)}else{if(n.length===0)break;let a=[];n.forEach(o=>{const c=o.map(f=>({r:f,valueObject:e[f][s]})),l=this._getRepeatRowsByObjects(c);a=a.concat(l)}),n=a}return n}_getRepeatRowsByObjects(e){const t=new Map;return e.forEach(r=>{const n=r.r,s=r.valueObject;let a=s.getValue();if(s.isNull()?a=null:s.isString()&&M.isRealNum(a)&&(a=+a),!t.has(a))t.set(a,[n]);else{const o=t.get(a);o.push(n),t.set(a,o)}}),Array.from(t.values()).filter(r=>r.length>1)}_transposeArray(e){const t=e.length,r=e[0].length,n=[];for(let s=0;s<r;s++){n[s]=[];for(let a=0;a<t;a++)n[s][a]=e[a][s]}return n}}class h0 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){if(e.isError())return e;if(t.isError())return t;if(!t.isArray())return g.create(h.VALUE);if(r.isError())return r;if(n!=null&&n.isError())return n;const s=n!=null?n:I.create(!0);return ei(e)&&ei(s)&&r.isArray()?this._handleArrayColIndexNum(e,t,r,s):this._handleNonArrayColIndexNum(e,t,r,s)}_handleArrayColIndexNum(e,t,r,n){const s=e.isArray()?e.getFirstCell():e,a=this.getZeroOrOneByOneDefault(n);if(a==null)return g.create(h.VALUE);let o;const c=[];return r.iterator((l,f,m)=>{if(l==null)return o=g.create(h.VALUE),!1;const d=this._handleTableArray(s,t,l,a);if(d.isError())return o=d,!1;c[f]===void 0&&(c[f]=[]),c[f][m]=d}),o||Or(c,c.length,c[0].length,this.unitId||"",this.subUnitId||"")}_handleNonArrayColIndexNum(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e),c=O(s,a,n);return o.map((l,f,m)=>{if(l.isError())return l;const d=c.get(f,m);if(d==null)return g.create(h.VALUE);if(d.isError())return d;const _=this.getZeroOrOneByOneDefault(d);return _==null?g.create(h.VALUE):this._handleTableArray(l,t,r,_)})}_handleTableArray(e,t,r,n){let s=this.getIndexNumValue(r);if(s instanceof g)return s;if(s=Math.floor(s),s<1)return g.create(h.VALUE);const a=t.slice(void 0,[0,1]);if(a==null)return g.create(h.VALUE);const o=t.slice(void 0,[s-1,s]);return o==null?g.create(h.REF):this._handleSingleObject(e,a,o,n)}_handleSingleObject(e,t,r,n){return n===0?this.equalSearch(e,t,r):this.binarySearch(e,t,r)}}class g0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=Math.max(...e.map(n=>n.isArray()?n.getColumnCount():1)),r=[];for(let n=0;n<e.length;n++){const s=e[n];if(s.isError())return s;const a=s.isArray()?s.getRowCount():1,o=s.isArray()?s.getColumnCount():1;for(let c=0;c<a;c++){const l=[];for(let f=0;f<t;f++){let m=s;s.isArray()&&(m=s.get(c,f)),f>o-1||!m?l.push(g.create(h.NA)):l.push(m)}r.push(l)}}return q.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length||0,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})}}class d0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){let n=r!=null?r:g.create(h.NA);n.isNull()&&(n=g.create(h.NA));const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=Math.max(t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),c=Math.max(t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),l=O(o,c,t,g.create(h.NA)),f=O(o,c,n,g.create(h.NA)),m=l.mapValue((d,_,C)=>{const E=f.get(_,C);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);if(d.isError())return d;const b=Math.trunc(+d.getValue());if(s>1&&a>1||Number.isNaN(b))return g.create(h.VALUE);if(b<1)return g.create(h.NUM);const y=e.isArray()?e.getArrayValue().flat():[e],p=this._getWrapArray(y,b,E);return o>1||c>1||p.length===1&&p[0].length===1?p[0][0]:q.create({calculateValueList:p,rowCount:p.length,columnCount:p[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return o===1&&c===1?m.get(0,0):m}_getWrapArray(e,t,r){const n=Math.ceil(e.length/t),s=n>1?t:e.length,a=[];for(let o=0;o<n;o++)for(let c=0;c<s;c++){a[c]||(a[c]=[]);const l=o*s+c;l<e.length?a[c].push(e[l].isNull()?R.create(0):e[l]):a[c].push(r)}return a}}class C0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){let n=r!=null?r:g.create(h.NA);n.isNull()&&(n=g.create(h.NA));const s=e.isArray()?e.getRowCount():1,a=e.isArray()?e.getColumnCount():1,o=Math.max(t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),c=Math.max(t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),l=O(o,c,t,g.create(h.NA)),f=O(o,c,n,g.create(h.NA)),m=l.mapValue((d,_,C)=>{const E=f.get(_,C);if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);if(d.isError())return d;const b=Math.trunc(+d.getValue());if(s>1&&a>1||Number.isNaN(b))return g.create(h.VALUE);if(b<1)return g.create(h.NUM);const y=e.isArray()?e.getArrayValue().flat():[e],p=this._getWrapArray(y,b,E);return o>1||c>1||p.length===1&&p[0].length===1?p[0][0]:q.create({calculateValueList:p,rowCount:p.length,columnCount:p[0].length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column})});return o===1&&c===1?m.get(0,0):m}_getWrapArray(e,t,r){const n=Math.ceil(e.length/t),s=n>1?t:e.length,a=[];for(let o=0;o<n;o++){const c=[];for(let l=0;l<s;l++){const f=o*s+l;f<e.length?c.push(e[f].isNull()?R.create(0):e[f]):c.push(r)}a.push(c)}return a}}class _0 extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=n!=null?n:g.create(h.NA);n!=null&&n.isNull()&&(o=g.create(h.NA));let c=s!=null?s:R.create(0);s!=null&&s.isNull()&&(c=R.create(0));let l=a!=null?a:R.create(1);if(a!=null&&a.isNull()&&(l=R.create(1)),e.isError())return e;const f=t.isArray()?t.getRowCount():1,m=t.isArray()?t.getColumnCount():1,d=r.isArray()?r.getRowCount():1,_=r.isArray()?r.getColumnCount():1;if(f!==1&&m!==1||f===1&&m>1&&m!==_||m===1&&f>1&&f!==d)return g.create(h.VALUE);if(c.isError())return c;if(l.isError())return l;const C=this.getIndexNumValue(c);if(C instanceof g)return C;const E=this.getIndexNumValue(l);return E instanceof g?E:this._getResult(e,ws(t),ws(r),o,C,E,f,m,d,_)}_getResult(e,t,r,n,s,a,o,c,l,f){const m=e.isArray()?e.getRowCount():1,d=e.isArray()?e.getColumnCount():1;if(m>1||d>1){let b;return o===1?b=r.slice([0,1]):b=r.slice(void 0,[0,1]),b==null?g.create(h.NA):e.map(y=>{const p=this._checkErrorCombination(s,a);if(p)return p;const V=this._handleSingleObject(y,t,b,s,a);return V.isError()?n:V})}const _=e.isArray()?e.get(0,0):e;if(c===f&&o===l){const b=this._checkErrorCombination(s,a);if(b)return b;const y=this._handleSingleObject(_,t,r,s,a);return y.isError()?n:y}let C=0;c===f&&(C=1);const E=this._handleExpandObject(_,t,r,s,a,C);return E==null?g.create(h.NA):E}_handleExpandObject(e,t,r,n,s,a=0){if((s===2||s===-2)&&n!==2){const o=ps(s),c=Rs(n);return this.binarySearchExpand(e,t,r,a,o,c)}return n===2?this.fuzzySearchExpand(e,t,r,s!==-1,a):n===-1||n===1?this.orderSearchExpand(e,t,r,n===1?Me.MAX:Me.MIN,s===-1,a):this.equalSearchExpand(e,t,r,s!==-1,a)}_handleSingleObject(e,t,r,n,s){if((s===2||s===-2)&&n!==2){const a=ps(s),o=Rs(n);return this.binarySearch(e,t,r,a,o)}return n===2?this.fuzzySearch(e,t,r,s!==-1):n===-1||n===1?this.orderSearch(e,t,r,n===1?Me.MAX:Me.MIN,s===-1):this.equalSearch(e,t,r,s!==-1)}_checkErrorCombination(e,t){return e===2&&(t===-2||t===2)?g.create(h.VALUE):null}}class A0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",4)}calculate(e,t,r,n){let s=R.create(0);r&&!r.isNull()&&(s=r);let a=R.create(1);n&&!n.isNull()&&(a=n);const o=Math.max(e.isArray()?e.getRowCount():1,s.isArray()?s.getRowCount():1,a.isArray()?a.getRowCount():1),c=Math.max(e.isArray()?e.getColumnCount():1,s.isArray()?s.getColumnCount():1,a.isArray()?a.getColumnCount():1),l=O(o,c,e,g.create(h.NA)),f=O(o,c,s,g.create(h.NA)),m=O(o,c,a,g.create(h.NA)),d=l.mapValue((_,C,E)=>{if(_.isError())return _;const b=f.get(C,E),y=m.get(C,E);return b.isError()?b:y.isError()?y:this._handleSingleObject(_,t,b,y)});return o===1&&c===1?d.get(0,0):d}_handleSingleObject(e,t,r,n){const s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;if(s!==1&&a!==1)return g.create(h.VALUE);let o=r;if((r.isString()||r.isBoolean()||r.isNull())&&(o=r.convertToNumberObjectValue()),o.isError())return o;let c=n;if((n.isString()||n.isBoolean()||n.isNull())&&(c=n.convertToNumberObjectValue()),c.isError())return c;const l=o.getValue(),f=c.getValue();return![-1,0,1,2].includes(l)||![-1,1,2].includes(f)?g.create(h.VALUE):this._getResult(e,t,l,f)}_getResult(e,t,r,n){const s=ws(t);let a;if((n===2||n===-2)&&r!==2){const o=ps(n),c=Rs(r);a=s.binarySearch(e,o,c)}else if(r===2){const o=s.compare(e,k.EQUALS);let c;if(n!==-1?c=o.getFirstTruePosition():c=o.getLastTruePosition(),c==null)return g.create(h.NA);a=s.getRowCount()===1?c.column:c.row}else if(r===-1||r===1){const o=s.orderSearch(e,r===1?Me.MAX:Me.MIN,n===-1);if(o==null)return g.create(h.NA);if(o instanceof g)return o;a=s.getRowCount()===1?o.column:o.row}else{const o=s.isEqual(e);let c;if(n!==-1?c=o.getFirstTruePosition():c=o.getLastTruePosition(),c==null)return g.create(h.NA);a=s.getRowCount()===1?c.column:c.row}return a==null?g.create(h.NA):R.create(a+1)}}const Ou=[[Id,me.ADDRESS],[Bd,me.AREAS],[kd,me.CHOOSE],[$d,me.CHOOSECOLS],[Yd,me.CHOOSEROWS],[Hd,me.COLUMN],[Gd,me.COLUMNS],[Wd,me.DROP],[Qd,me.EXPAND],[qd,me.FILTER],[Kd,me.FORMULATEXT],[Xd,me.HLOOKUP],[Zd,me.HSTACK],[zd,me.HYPERLINK],[Jd,me.INDEX],[e0,me.INDIRECT],[t0,me.LOOKUP],[r0,me.MATCH],[n0,me.OFFSET],[s0,me.ROW],[a0,me.ROWS],[i0,me.SORT],[o0,me.SORTBY],[u0,me.TAKE],[c0,me.TOCOL],[l0,me.TOROW],[f0,me.TRANSPOSE],[m0,me.UNIQUE],[h0,me.VLOOKUP],[g0,me.VSTACK],[d0,me.WRAPCOLS],[C0,me.WRAPROWS],[_0,me.XLOOKUP],[A0,me.XMATCH]];class E0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.abs()}}class b0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.acos()}}class y0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.acosh()}}class R0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.isArray()?t.map(r=>r.isError()?r:li(r)):li(t)}}function li(i){let u=i.getValue();if(i.isBoolean()&&(u=u?1:0),!Number.isFinite(u))return g.create(h.VALUE);u=Number(u);let e=Math.atan(1/u);return u<0&&(e+=Math.PI),Number.isNaN(e)?g.create(h.VALUE):R.create(e)}class p0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.isArray()?t.map(r=>r.isError()?r:fi(r)):fi(t)}}function fi(i){let u=i.getValue();if(i.isBoolean()&&(u=u?1:0),!Number.isFinite(u))return g.create(h.VALUE);if(u=Number(u),Math.abs(u)<=1)return g.create(h.NUM);const e=1/2*Math.log((u+1)/(u-1));return Number.isNaN(e)?g.create(h.VALUE):R.create(e)}class N0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return R.create(0);if(e.isBoolean()||e.isNumber())return g.create(h.VALUE);let t=e.getValue().toLocaleString().toLocaleUpperCase();if(t.length>255)return g.create(h.VALUE);const r=t.startsWith("-");r&&(t=t.slice(1));let n=0;for(let s=0;s<t.length;s++){const a=kr.get(t[s])||0,o=kr.get(t[s+1])||0,c=kr.get(t[s+2])||0,l=kr.get(t[s+3])||0;if(!a||c>=o&&c>a||a===o&&a===c&&a===l||a===o/2)return g.create(h.VALUE);a<o?n-=a:n+=a}return R.create(r?-n:n)}}class V0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.asin()}}class O0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.asinh()}}class M0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.atan()}}class S0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e,n=t;return r.isString()&&(r=r.convertToNumberObjectValue()),r.isError()?r:(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:n.atan2(r))}}class D0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.atanh()}}class w0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:R.create(0);if(e.isError())return e;if(t.isError())return t;if(n.isError())return n;const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,n,g.create(h.NA)),f=o.map((m,d,_)=>{const C=c.get(d,_),E=l.get(d,_);return this._handleSingleObject(m,C,E)});return f.getRowCount()===1&&f.getColumnCount()===1?f.getArrayValue()[0][0]:f}_handleSingleObject(e,t,r){let n=e;if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;let s=t;if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;let a=r;if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return a;const o=Math.floor(+n.getValue()),c=Math.floor(+s.getValue()),l=Math.floor(+a.getValue());if(o<0||o>=2**53||c<2||c>36||l<0)return g.create(h.NUM);let f=o.toString(c);return f.length<l&&(f=new Array(l-f.length+1).join("0")+f),j.create(f.toLocaleUpperCase())}}class L0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((c,l,f)=>{let m=c,d=a.get(l,f);if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const _=+m.getValue(),C=+d.getValue();if(_>0&&C<0)return g.create(h.NUM);if(_===0||C===0)return R.create(0);const E=Fe(_/C,0)*C;return R.create(E)});return o.getRowCount()===1&&o.getColumnCount()===1?o.getArrayValue()[0][0]:o}}class x0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){const n=t!=null?t:R.create(1),s=r!=null?r:R.create(0);if(e.isError())return e;if(n.isError())return n;if(s.isError())return s;const a=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),c=O(a,o,e,g.create(h.NA)),l=O(a,o,n,g.create(h.NA)),f=O(a,o,s,g.create(h.NA)),m=c.map((d,_,C)=>{let E=d,b=l.get(_,C),y=f.get(_,C);if(E.isString()&&(E=E.convertToNumberObjectValue()),E.isError())return E;if(b.isString()&&(b=b.convertToNumberObjectValue()),b.isError())return b;if(y.isString()&&(y=y.convertToNumberObjectValue()),y.isError())return y;const p=+E.getValue(),V=+b.getValue(),S=+y.getValue();return p===0||V===0?R.create(0):this._getResult(p,V,S)});return a===1&&o===1?m.get(0,0):m}_getResult(e,t,r){let n;return e<0&&r!==0?n=(t<0?Fe(Math.abs(e)/Math.abs(t),0):-Fe(Math.abs(e)/t,0))*t:n=(t<0?-Fe(e/Math.abs(t),0):Fe(e/t,0))*t,R.create(n)}}class P0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:R.create(1);if(e.isError())return e;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),c=a.map((l,f,m)=>{let d=o.get(f,m),_=l;if(_.isString()&&(_=_.convertToNumberObjectValue()),_.isError())return _;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const C=+_.getValue(),E=+d.getValue();if(C===0||E===0)return R.create(0);const b=(E<0?-Fe(C/Math.abs(E),0):Fe(C/E,0))*E;return R.create(b)});return n===1&&s===1?c.get(0,0):c}}class j0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{let m=c,d=a.get(l,f);if(m.isString()&&(m=m.convertToNumberObjectValue()),d.isString()&&(d=d.convertToNumberObjectValue()),m.isError())return m;if(d.isError())return d;const _=Math.floor(+m.getValue()),C=Math.floor(+d.getValue());if(_<0||C<0||_<C)return g.create(h.NUM);const E=Ht(_,C);return Number.isNaN(E)||!Number.isFinite(E)?g.create(h.NUM):R.create(E)});return r===1&&n===1?o.get(0,0):o}}class U0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{let m=c,d=a.get(l,f);if(m.isString()&&(m=m.convertToNumberObjectValue()),d.isString()&&(d=d.convertToNumberObjectValue()),m.isError())return m;if(d.isError())return d;const _=Math.floor(+m.getValue()),C=Math.floor(+d.getValue());if(_<0||C<0||_===0&&_<C)return g.create(h.NUM);const E=Ht(_+C-1,_-1);return Number.isNaN(E)||!Number.isFinite(E)?g.create(h.NUM):R.create(E)});return r===1&&n===1?o.get(0,0):o}}class v0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.cos()}}class T0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.cosh()}}class I0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();return Math.abs(r)>=2**27?g.create(h.NUM):r===0?g.create(h.DIV_BY_ZERO):t.tan().getReciprocal()}}class F0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:+t.getValue()===0?g.create(h.DIV_BY_ZERO):t.tanh().getReciprocal()}}class B0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();return Math.abs(r)>=2**27?g.create(h.NUM):r===0?g.create(h.DIV_BY_ZERO):t.sin().getReciprocal()}}class k0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();return r===0?g.create(h.DIV_BY_ZERO):!Number.isNaN(r)&&!Number.isFinite(Math.sinh(r))?R.create(0):t.sinh().getReciprocal()}}class $0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((c,l,f)=>{if(c.isError())return c;let m=a.get(l,f);if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;const d=`${c.getValue()}`,_=Math.floor(+m.getValue());if(M.isRealNum(d)&&(+d<0||+d>=2**53||!Number.isInteger(+d))||d.toLocaleLowerCase()==="true"||d.toLocaleLowerCase()==="false"||_<2||_>36)return g.create(h.NUM);if(d.replace(/\s/g,"")==="")return R.create(0);if(!this._isValidCharForRadix(d,_))return g.create(h.NUM);const C=Number.parseInt(d,_);return Number.isNaN(C)?g.create(h.NUM):R.create(C)});return r===1&&n===1?o.get(0,0):o}_isValidCharForRadix(e,t){for(const r of e){const n=r.toUpperCase().charCodeAt(0);if(t<=10&&!(n>=48&&n<48+t)||t>10&&!(n>=48&&n<58||n>=65&&n<65+t-10))return!1}return!0}}class Y0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();if(!Number.isFinite(r))return g.create(h.VALUE);const n=r*(180/Math.PI);return Number.isNaN(n)?g.create(h.VALUE):R.create(n)}}class H0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();if(!Number.isFinite(r))return g.create(h.VALUE);const n=(r<0?-Fe(Math.abs(r)/2,0):Fe(r/2,0))*2;return Number.isNaN(n)?g.create(h.VALUE):n===0?R.create(0):R.create(n)}}class G0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.exp()}}class W0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=Math.floor(+t.getValue()),n=er(r);return Number.isNaN(n)||!Number.isFinite(n)?g.create(h.NUM):R.create(n)}}class Q0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(e.isArray()){const r=e.getRowCount(),n=e.getColumnCount();if(r>1||n>1)return g.create(h.VALUE);t=e.get(0,0)}return this._handleSingleObject(t)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=Math.floor(+t.getValue()),n=er(r,2);return Number.isNaN(n)||!Number.isFinite(n)?g.create(h.NUM):R.create(n)}}class q0 extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((c,l,f)=>{let m=a.get(l,f),d=c;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;if(m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;const _=+d.getValue(),C=+m.getValue();if(_>0&&C<0)return g.create(h.NUM);if(_===0)return R.create(0);if(C===0)return g.create(h.DIV_BY_ZERO);const E=He(_/C,0)*C;return R.create(E)});return r===1&&n===1?o.get(0,0):o}}class K0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){const n=t!=null?t:R.create(1),s=r!=null?r:R.create(0),a=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),c=O(a,o,e,g.create(h.NA)),l=O(a,o,n,g.create(h.NA)),f=O(a,o,s,g.create(h.NA)),m=c.map((d,_,C)=>{let E=d,b=l.get(_,C),y=f.get(_,C);if(E.isString()&&(E=E.convertToNumberObjectValue()),E.isError())return E;if(b.isString()&&(b=b.convertToNumberObjectValue()),b.isError())return b;if(y.isString()&&(y=y.convertToNumberObjectValue()),y.isError())return y;const p=+E.getValue(),V=+b.getValue(),S=+y.getValue();if(p===0||V===0)return R.create(0);let D;return p<0&&S!==0?D=(V<0?He(Math.abs(p)/Math.abs(V),0):-He(Math.abs(p)/V,0))*V:D=(V<0?-He(p/Math.abs(V),0):He(p/V,0))*V,R.create(D)});return a===1&&o===1?m.get(0,0):m}}class X0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:R.create(1);if(e.isError())return e;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),c=a.map((l,f,m)=>{let d=o.get(f,m),_=l;if(_.isString()&&(_=_.convertToNumberObjectValue()),_.isError())return _;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const C=+_.getValue(),E=+d.getValue();if(C===0||E===0)return R.create(0);const b=(E<0?-He(C/Math.abs(E),0):He(C/E,0))*E;return R.create(b)});return n===1&&s===1?c.get(0,0):c}}class Z0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=0;for(let r=0;r<e.length;r++){const n=e[r];if(!n.isNull())if(n.isArray()){let s=!1,a=g.create(h.VALUE);if(n.iterator(o=>{if(o!=null&&o.isNull())return!0;const{isError:c,errorObject:l,number:f}=this._handleSingleObject(o);if(c)return s=!0,a=l,!1;t=Us(t,f)}),s)return a}else{const{isError:s,errorObject:a,number:o}=this._handleSingleObject(n);if(s)return a;t=Us(t,o)}}return R.create(t)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};const r=Math.floor(+t.getValue());return r<0||r>=2**53?{isError:!0,errorObject:g.create(h.NUM),number:null}:{isError:!1,errorObject:null,number:r}}}class z0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=Math.floor(+t.getValue());return R.create(r)}}class J0 extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=1,r=!0;for(let n=0;n<e.length;n++){const s=e[n];if(!s.isNull())if(s.isArray()){let a=!1,o=g.create(h.VALUE);if(s.iterator(c=>{if(c!=null&&c.isNull())return!0;const{isError:l,errorObject:f,number:m}=this._handleSingleObject(c);if(l)return a=!0,o=f,!1;t=oi(t,m),r=!1}),a)return o}else{const{isError:a,errorObject:o,number:c}=this._handleSingleObject(s);if(a)return o;t=oi(t,c),r=!1}}return r?R.create(0):Number.isNaN(t)||!Number.isFinite(t)||t>=2**53?g.create(h.VALUE):R.create(t)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};const r=Math.floor(+t.getValue());return r<0?{isError:!0,errorObject:g.create(h.NUM),number:null}:{isError:!1,errorObject:null,number:r}}}class eC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.log()}}class tC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:R.create(10);if(e.isError())return e;if(r.isError())return r;const n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),c=a.map((l,f,m)=>{let d=o.get(f,m),_=l;if(_.isString()&&(_=_.convertToNumberObjectValue()),_.isError())return _;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const C=+_.getValue(),E=+d.getValue();if(C<=0||E<=0)return g.create(h.NUM);const b=Math.log(E);if(b===0)return g.create(h.DIV_BY_ZERO);const y=Math.log(C)/b;return R.create(y)});return n===1&&s===1?c.get(0,0):c}}class rC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.log10()}}class nC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let a=0;a<t;a++){const o=[];for(let c=0;c<r;c++){let l=e.isArray()?e.get(a,c):e;if(l.isError())return l;if(l.isNull()||l.isBoolean())return g.create(h.VALUE);if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;const f=+l.getValue();o.push(f)}n.push(o)}if(t!==r)return g.create(h.VALUE);const s=fa(n);return R.create(s)}}class sC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let a=0;a<t;a++){const o=[];for(let c=0;c<r;c++){let l=e.isArray()?e.get(a,c):e;if(l.isError())return l;if(l.isNull()||l.isBoolean())return g.create(h.VALUE);if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return l;const f=+l.getValue();o.push(f)}n.push(o)}if(t!==r)return g.create(h.VALUE);const s=dm(n);return s===null?g.create(h.NUM):q.createByArray(s)}}class aC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;if(n!==s)return g.create(h.VALUE);const o=this._getMatrix(e,r,n),c=this._getMatrix(t,s,a);if(o instanceof g)return o;if(c instanceof g)return c;const l=tr(o,c);return q.createByArray(l)}_getMatrix(e,t,r){const n=[];for(let s=0;s<t;s++){const a=[];for(let o=0;o<r;o++){let c=e.isArray()?e.get(s,o):e;if(c.isError())return c;if(c.isNull()||c.isBoolean())return g.create(h.VALUE);if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return c;const l=+c.getValue();a.push(l)}n.push(a)}return n}}class iC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.mod(n)}}class oC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isArray()){const c=r.getRowCount(),l=r.getColumnCount();if(c>1||l>1)return g.create(h.VALUE);r=r.get(0,0)}if(r.isError())return r;let n=t;if(n.isArray()){const c=n.getRowCount(),l=n.getColumnCount();if(c>1||l>1)return g.create(h.VALUE);n=n.get(0,0)}if(n.isError())return n;if(r.isBoolean()||n.isBoolean())return g.create(h.VALUE);const s=+r.getValue(),a=+n.getValue();if(Number.isNaN(s)||Number.isNaN(a))return g.create(h.VALUE);if(a===0)return R.create(0);if(s>0&&a<0||s<0&&a>0)return g.create(h.NUM);const o=Dt(s/a,0)*a;return R.create(o)}}class uC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=0,r=1;for(let s=0;s<e.length;s++){const a=e[s];if(!a.isNull())if(a.isArray()){let o=!1,c=g.create(h.VALUE);if(a.iterator(l=>{if(l!=null&&l.isNull())return!0;const{isError:f,errorObject:m,number:d}=this._handleSingleObject(l);if(f)return o=!0,c=m,!1;if(t+=d,t>170)return o=!0,c=g.create(h.NUM),!1;r*=er(d)}),o)return c}else{const{isError:o,errorObject:c,number:l}=this._handleSingleObject(a);if(o)return c;if(t+=l,t>170)return g.create(h.NUM);r*=er(l)}}const n=er(t)/r;return R.create(n)}_handleSingleObject(e){if(e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE),number:null};let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return{isError:!0,errorObject:t,number:null};const r=Math.floor(+t.getValue());return r<0?{isError:!0,errorObject:g.create(h.NUM),number:null}:{isError:!1,errorObject:null,number:r}}}class cC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.getRowCount(),r=e.getColumnCount(),n=e.mapValue(s=>{const a=this._handleSingleObject(s);return a.isError()?a:t>1||r>1?a.get(0,0):a});return t===1&&r===1?n.get(0,0):n}return this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=Math.floor(+t.getValue());if(r<=0)return g.create(h.VALUE);const n=[];for(let s=0;s<r;s++){n[s]=[];for(let a=0;a<r;a++)n[s][a]=s===a?1:0}return q.createByArray(n)}}class lC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();if(!Number.isFinite(r))return g.create(h.VALUE);let n=r<0?-Fe(Math.abs(r),0):Fe(r,0);return Number.isNaN(n)?g.create(h.VALUE):(Math.abs(n)%2===0&&(r<0?n--:n++),R.create(n))}}class fC extends N{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){return R.create(Math.PI)}}class mC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.pow(n)}}class hC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=R.create(1),r=!0;for(let n=0;n<e.length;n++){let s=e[n];if(s.isError())return s;if(s.isArray()){let a=!1,o=null;if(s.iterator(c=>{if(c!=null&&c.isError())return a=!0,o=c,!1;if(!c||c.isNull()||c.isString()||c.isBoolean())return!0;t=t.multiply(c),r=!1}),a)return o}else{if(s.isNull())continue;if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;t=t.multiply(s),r=!1}if(t.isError())return t}return r?R.create(0):t}}class gC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=G(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=+o.getValue();if(Number.isNaN(c)||Number.isNaN(l))return g.create(h.VALUE);if(l===0)return g.create(h.DIV_BY_ZERO);const f=Math.trunc(c/l);return R.create(f)}}class dC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();if(!Number.isFinite(r))return g.create(h.VALUE);const n=r*(Math.PI/180);return Number.isNaN(n)?g.create(h.VALUE):R.create(n)}}class CC extends N{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",0)}calculate(){return R.create(Math.random())}}class _C extends N{constructor(){super(...arguments);A(this,"minParams",0);A(this,"maxParams",5);A(this,"needsSheetRowColumnCount",!0)}calculate(e,t,r,n,s){if(e!=null&&e.isError())return e;if(t!=null&&t.isError())return t;if(r!=null&&r.isError())return r;if(n!=null&&n.isError())return n;if(s!=null&&s.isError())return s;const a=e!=null?e:R.create(1),o=t!=null?t:R.create(1),c=r!=null?r:R.create(0),l=n!=null?n:R.create(1),f=s!=null?s:R.create(0);return this._calculateResult(a,o,c,l,f)}_calculateResult(e,t,r,n,s){const a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1);if(a===1&&o===1)return this._calculateSingleCell(e,t,r,n,s);const c=O(a,o,e,g.create(h.NA)),l=O(a,o,t,g.create(h.NA)),f=O(a,o,r,g.create(h.NA)),m=O(a,o,n,g.create(h.NA)),d=O(a,o,s,g.create(h.NA));return c.map((_,C,E)=>{const b=l.get(C,E),y=f.get(C,E),p=m.get(C,E),V=d.get(C,E),S=this._handleError(_,b,y,p,V);if(S.errorObject)return S.errorObject;let{minValue:D,maxValue:w,wholeNumberValue:L}=S,x;return L?(D=Math.ceil(D),w=Math.floor(w),x=Math.floor(Math.random()*(w-D+1))+D):x=Math.random()*(w-D)+D,x<D||x>w?g.create(h.VALUE):R.create(x)})}_calculateSingleCell(e,t,r,n,s){let a=e;a.isArray()&&(a=a.get(0,0));let o=t;o.isArray()&&(o=o.get(0,0));let c=r;c.isArray()&&(c=c.get(0,0));let l=n;l.isArray()&&(l=l.get(0,0));let f=s;f.isArray()&&(f=f.get(0,0));const m=this._handleError(a,o,c,l,f);if(m.errorObject)return m.errorObject;let{rowsValue:d,columnsValue:_,minValue:C,maxValue:E,wholeNumberValue:b}=m;if(b&&(C=Math.ceil(C),E=Math.floor(E),C>E))return g.create(h.VALUE);const y=[];for(let p=0;p<d;p++){const V=[];for(let S=0;S<_;S++)b?V.push(Math.floor(Math.random()*(E-C+1))+C):V.push(Math.random()*(E-C)+C);y.push(V)}return d===1&&_===1?R.create(y[0][0]):q.createByArray(y)}_handleError(e,t,r,n,s){let a=e;if(a.isString()&&(a=a.convertToNumberObjectValue()),a.isError())return{errorObject:a};let o=t;if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return{errorObject:o};let c=r;if(c.isString()&&(c=c.convertToNumberObjectValue()),c.isError())return{errorObject:c};let l=n;if(l.isString()&&(l=l.convertToNumberObjectValue()),l.isError())return{errorObject:l};let f=s;return f.isString()&&(f=f.convertToNumberObjectValue()),f.isError()?{errorObject:f}:this._getValue(a,o,c,l,f)}_getValue(e,t,r,n,s){const a=Math.floor(+e.getValue()),o=Math.floor(+t.getValue());if(a===0||o===0)return{errorObject:g.create(h.CALC)};const c=this._rowCount-this.row,l=this._columnCount-this.column;if(a<0||o<0||a*o>10**7)return{errorObject:g.create(h.VALUE)};if(a>c||o>l)return{errorObject:g.create(h.REF)};const f=+r.getValue(),m=+n.getValue(),d=+s.getValue();return f>m?{errorObject:g.create(h.VALUE)}:d&&(!Number.isInteger(f)||!Number.isInteger(m))?{errorObject:g.create(h.VALUE)}:{rowsValue:a,columnsValue:o,minValue:f,maxValue:m,wholeNumberValue:d}}}class AC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isArray()){const c=r.getRowCount(),l=r.getColumnCount();if(c>1||l>1)return g.create(h.VALUE);r=r.get(0,0)}if(r.isError())return r;let n=t;if(n.isArray()){const c=n.getRowCount(),l=n.getColumnCount();if(c>1||l>1)return g.create(h.VALUE);n=n.get(0,0)}if(n.isError())return n;if(r.isBoolean()||n.isBoolean())return g.create(h.VALUE);let s=+r.getValue(),a=+n.getValue();if(Number.isNaN(s)||Number.isNaN(a))return g.create(h.VALUE);if(s>a)return g.create(h.NUM);s=Math.ceil(s),a=Math.floor(a);const o=Math.floor(Math.random()*(a-s+1))+s;return R.create(o)}}class EC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:R.create(0),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),c=a.mapValue((l,f,m)=>{const d=o.get(f,m);return l.isError()?l:d.isError()?d:this._handleSingleObject(l,d)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=F(e);if(r)return n;const[a]=s;let o=Math.floor(+a.getValue()),c=t;if(c.isString()&&(c=c.convertToNumberObjectValue(),c.isError()))return c;let l=Math.floor(+c.getValue());if(c.isBoolean()&&(l=c.getValue()?0:4),o<0||o>3999||l<0||l>4)return g.create(h.VALUE);const f=pm[l];let m=f.length-1,d="";for(;o>0;){m=this._binarySearch(o,0,m,f);const _=f[m];o-=_,d+=Rm.get(_)}return j.create(d)}_binarySearch(e,t,r,n){let s=t,a=r;for(;a-s>1;){const o=Math.floor((s+a)/2),c=n[o];if(c===e)return o;c>e?a=o:s=o}return s!==a&&n[a]<=e?a:s}}class bC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.round(n)}}class yC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);if(c.isError())return c;if(m.isError())return m;const{isError:d,errorObject:_,variants:C}=F(c,m);if(d)return _;const[E,b]=C,y=+E.getValue(),p=Math.trunc(+b.getValue()),V=this._roundBank(y,p);return R.create(V)});return r===1&&n===1?o.get(0,0):o}_roundBank(e,t){if(t>16)return e;if(t<-16)return 0;const r=1e-8,n=10**t,s=+(e*n).toFixed(8),a=Math.floor(s),o=s-a;let c=Math.round(s);return o>.5-r&&o<.5+r&&(c=a%2===0?a:a+1),t?c/n:c}}class RC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.floor(n)}}class pC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){let r=e;if(r.isString()&&(r=r.convertToNumberObjectValue()),r.isError())return r;let n=t;return n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()?n:r.ceil(n)}}class NC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();return Math.abs(r)>=2**27?g.create(h.NUM):t.cos().getReciprocal()}}class VC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){let t=e;if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();return Number.isFinite(Math.cosh(r))?Math.abs(r)>=2**27?g.create(h.NUM):t.cosh().getReciprocal():R.create(0)}}class OC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4);A(this,"needsSheetRowColumnCount",!0)}calculate(e,t,r,n){let s=e,a=t!=null?t:R.create(1),o=r!=null?r:R.create(1),c=n!=null?n:R.create(1);s.isNull()&&(s=R.create(1)),a.isNull()&&(a=R.create(1)),o.isNull()&&(o=R.create(1)),c.isNull()&&(c=R.create(1));const l=Math.max(s.isArray()?s.getRowCount():1,a.isArray()?a.getRowCount():1,o.isArray()?o.getRowCount():1,c.isArray()?c.getRowCount():1),f=Math.max(s.isArray()?s.getColumnCount():1,a.isArray()?a.getColumnCount():1,o.isArray()?o.getColumnCount():1,c.isArray()?c.getColumnCount():1),m=O(l,f,s,g.create(h.NA)),d=O(l,f,a,g.create(h.NA)),_=O(l,f,o,g.create(h.NA)),C=O(l,f,c,g.create(h.NA)),E=m.mapValue((b,y,p)=>{const V=d.get(y,p),S=_.get(y,p),D=C.get(y,p);return b.isError()?b:V.isError()?V:S.isError()?S:D.isError()?D:this._getResult(b,V,S,D,l,f)});return l===1&&f===1?E.get(0,0):E}_getResult(e,t,r,n,s,a){const{isError:o,errorObject:c,variants:l}=F(e,t,r,n);if(o)return c;const[f,m,d,_]=l,C=Math.floor(+f.getValue()),E=Math.floor(+m.getValue()),b=+d.getValue(),y=+_.getValue();if(C<0||E<0||C*E>10**7)return g.create(h.VALUE);if(C===0||E===0)return g.create(h.CALC);const p=this._rowCount-this.row,V=this._columnCount-this.column;if(C>p||E>V)return g.create(h.REF);const S=[];for(let D=0;D<C;D++){S[D]=[];for(let w=0;w<E;w++)S[D][w]=b+(D*E+w)*y}return s>1||a>1?R.create(S[0][0]):q.createByArray(S)}}class MC extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){if(e.isNull()||t.isNull()||r.isNull()||n.isNull())return g.create(h.NA);const{isError:s,errorObject:a,variants:o}=G(e,t,r);if(s)return a;const{isError:c,errorObject:l,variants:f}=F(...o);if(c)return l;const[m,d,_]=f,C=+m.getValue(),E=+d.getValue(),b=+_.getValue(),y=[];if(n.isArray()){let V=!1,S=g.create(h.VALUE);if(n.iterator(D=>{const{isError:w,errorObject:L,coefficientsObject:x}=this._handleSingleObject(D);if(w)return V=!0,S=L,!1;const v=+x.getValue();y.push(v)}),V)return S}else{const{isError:V,errorObject:S,coefficientsObject:D}=this._handleSingleObject(n);if(V)return S;const w=+D.getValue();y.push(w)}let p=0;for(let V=0;V<y.length;V++)p+=y[V]*C**(E+V*b);return Number.isNaN(p)||!Number.isFinite(p)?g.create(h.NUM):R.create(p)}_handleSingleObject(e){if(e.isError())return{isError:!0,errorObject:e,coefficientsObject:null};if(e!=null&&e.isBoolean())return{isError:!0,errorObject:g.create(h.VALUE),coefficientsObject:null};let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?{isError:!0,errorObject:t,coefficientsObject:null}:{isError:!1,errorObject:null,coefficientsObject:t}}}class SC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;const{isError:t,errorObject:r,variants:n}=F(e);if(t)return r;const[s]=n,a=+s.getValue();return a>0?R.create(1):a<0?R.create(-1):R.create(0)}}class DC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sin()}}class wC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sinh()}}class LC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.sqrt()}}class xC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;if(t.isArray()){const s=t.getRowCount(),a=t.getColumnCount();if(s>1||a>1)return g.create(h.VALUE);t=t.get(0,0)}if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;const r=+t.getValue();if(r<0)return g.create(h.NUM);const n=Math.sqrt(r*Math.PI);return R.create(n)}}class PC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255);A(this,"needsReferenceObject",!0);A(this,"needsFilteredOutRows",!0);A(this,"needsFormulaDataModel",!0)}calculate(e,...t){return e.isError()?e:e.isReferenceObject()?e.toArrayValueObject().mapValue(r=>this._handleSingleObject(r,...t)):this._handleSingleObject(e,...t)}_handleSingleObject(e,...t){const r=this._getIndexNumValue(e);let n;if(r instanceof g)return r;switch(r){case 1:n=this._average(!1,...t);break;case 2:n=this._count(!1,...t);break;case 3:n=this._counta(!1,...t);break;case 4:n=this._max(!1,...t);break;case 5:n=this._min(!1,...t);break;case 6:n=this._product(!1,...t);break;case 7:n=this._stdev(!1,...t);break;case 8:n=this._stdevp(!1,...t);break;case 9:n=this._sum(!1,...t);break;case 10:n=this._var(!1,...t);break;case 11:n=this._varp(!1,...t);break;case 101:n=this._average(!0,...t);break;case 102:n=this._count(!0,...t);break;case 103:n=this._counta(!0,...t);break;case 104:n=this._max(!0,...t);break;case 105:n=this._min(!0,...t);break;case 106:n=this._product(!0,...t);break;case 107:n=this._stdev(!0,...t);break;case 108:n=this._stdevp(!0,...t);break;case 109:n=this._sum(!0,...t);break;case 110:n=this._var(!0,...t);break;case 111:n=this._varp(!0,...t);break;default:n=g.create(h.VALUE)}return n}_getIndexNumValue(e){const t=e?Number(e.getValue()):0;if(Number.isNaN(t))return g.create(h.VALUE);const r=Math.floor(t);return r>=1&&r<=11||r>=101&&r<=111?r:g.create(h.VALUE)}_average(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:r.mean()}_count(e,...t){let r=R.create(0);for(let n=0;n<t.length;n++){const s=t[n];if(!s.isReferenceObject())return g.create(h.VALUE);const a=s.getFilteredOutRows(),o=s.getRowData();s.iterator((c,l)=>{if(a.includes(l)||e&&this._isRowHidden(o,l))return!0;c!=null&&c.isNumber()&&(r=r.plusBy(1))})}return r}_counta(e,...t){let r=R.create(0);for(let n=0;n<t.length;n++){const s=t[n];if(!s.isReferenceObject())return g.create(h.VALUE);const a=s.getFilteredOutRows(),o=s.getRowData();s.iterator((c,l)=>{if(a.includes(l)||e&&this._isRowHidden(o,l)||c==null||c.isNull())return!0;r=r.plusBy(1)})}return r}_max(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?R.create(0):r.max()}_min(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?R.create(0):r.min()}_product(e,...t){const r=this._flattenRefArray(e,...t);if(r.isError())return r;if(this._isBlankArrayObject(r))return R.create(0);let n=R.create(1);return r.iterator(s=>{n=n.multiply(s)}),n}_stdev(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?g.create(h.DIV_BY_ZERO):r.std(1)}_stdevp(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?g.create(h.DIV_BY_ZERO):r.std()}_sum(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:r.sum()}_var(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?g.create(h.DIV_BY_ZERO):r.var(1)}_varp(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?g.create(h.DIV_BY_ZERO):r.var()}_flattenRefArray(e,...t){var n,s;const r=[];r[0]=[];for(let a=0;a<t.length;a++){const o=t[a];if(o.isError())return o;if(!o.isReferenceObject())return g.create(h.VALUE);const c=o.getFilteredOutRows(),l=o.getRowData(),f=o.getUnitId(),m=o.getSheetId(),_=(s=(n=o.getUnitData()[f])==null?void 0:n[m])==null?void 0:s.cellData;let C;if(o.iterator((E,b,y)=>{if(c.includes(b)||e&&this._isRowHidden(l,b))return!0;const p=_.getValue(b,y);if(p!=null&&p.f||p!=null&&p.si){const V=this._formulaDataModel.getFormulaStringByCell(b,y,m,f);if(V&&V.indexOf(`${this.name}(`)>-1)return!0}if(E==null||E.isNull()||E.isString()||E.isBoolean())return!0;if(E.isError())return C=E,!1;r[0].push(E)}),C!=null&&C.isError())return C}return Or(r,1,r[0].length)}_isRowHidden(e,t){const r=e[t];return r?r.hd===M.BooleanNumber.TRUE:!1}_isBlankArrayObject(e){return e.getArrayValue()[0].length===0}}class jC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=R.create(0);for(let r=0;r<e.length;r++){let n=e[r];if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError()||(n.isArray()&&(n=n.sum()),n.isError()))return n;if(t=t.plus(n),t.isError())return t}return t}}class UC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){if(!e.isReferenceObject()||r&&!r.isReferenceObject())return g.create(h.VALUE);let n=t;if(t.isReferenceObject()&&(n=t.toArrayValueObject()),n.isArray()){const s=n.mapValue(a=>this._handleSingleObject(e,a,r));return s.getRowCount()===1&&s.getColumnCount()===1?s.get(0,0):s}return this._handleSingleObject(e,n,r)}_handleSingleObject(e,t,r){const n=e.toArrayValueObject();let s=Bn(n,t);s=kn(s,n,t);const a=n.getRowCount(),o=n.getColumnCount();let c=n;if(r){c=r.toArrayValueObject();const l=c.getRowCount(),f=c.getColumnCount();if(a!==l||o!==f){const m=r.getRangeData();m.endRow=m.startRow+a-1,m.endColumn=m.startColumn+o-1,r.setRangeData(m),c=r.toArrayValueObject()}}return c.pick(s).sum()}}class vC extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(e,...t){const{isError:r,errorObject:n,rangeIsDifferentSize:s,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:c,variants:l}=Mr(t,e);if(r)return n;if(s)return a===1&&o===1?g.create(h.VALUE):O(a,o,g.create(h.VALUE));const f=Sr(l,a,o,!0);return this._aggregateResults(c,f)}_aggregateResults(e,t){const r=t.map(n=>n.map(s=>e.pick(s).sum()));return r.length===1&&r[0].length===1?r[0][0]:q.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}}class TC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(e,...t){if(e.isError())return e;const r=this._initArray1(e);if(t.length>0){const n=r.getRowCount(),s=r.getColumnCount();let a=this._getResultArrayByArray1(n,s,r);if(a instanceof g)return a;a=a;for(let c=0;c<t.length;c++){if(t[c].isError())return t[c];let l=1,f=1;if(t[c].isArray()&&(l=t[c].getRowCount(),f=t[c].getColumnCount()),l!==n||f!==s)return g.create(h.VALUE);for(let m=0;m<n;m++){const d=[];for(let _=0;_<s;_++){let C=t[c];if(t[c].isArray()&&(C=t[c].get(m,_)),C.isError())return C;C.isNumber()?d.push(C.getValue()*a[m][_]):d.push(0)}a[m]=d}}const o=a.reduce((c,l)=>c.concat(l)).reduce((c,l)=>c+l,0);return R.create(o)}else return r.sum()}_initArray1(e){let t=e;return t.isArray()||(t=q.create({calculateValueList:[[t]],rowCount:1,columnCount:1,unitId:"",sheetId:"",row:0,column:0})),t}_getResultArrayByArray1(e,t,r){const n=[];for(let s=0;s<e;s++){const a=[];for(let o=0;o<t;o++){const c=r.get(s,o);if(c.isError())return c;c.isNumber()?a.push(c.getValue()):a.push(0)}n.push(a)}return n}}class IC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=R.create(0);const r=R.create(2);for(let n=0;n<e.length;n++){let s=e[n];if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()?s.iterator(a=>{if(a==null||a.isString()||a.isBoolean()||a.isNull())return!0;if(a.isError())return t=a,!1;t=t.plus(a.pow(r))}):t=t.plus(s.pow(r)),t.isError())return t}return t}}class FC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=r*n,a=t.isArray()?t.getRowCount():1,o=t.isArray()?t.getColumnCount():1,c=a*o;if(s!==c)return g.create(h.NA);if(s===1)return this._calculateSingleCell(e,t);{const l=e.flatten(),f=t.flatten();let m=le.create();const d=[],_=[];let C=0;return l.iterator((E,b,y)=>{const p=f.get(b,y);if(E==null||E.isString()||E.isBoolean()||E.isNull())return!0;if(E!=null&&E.isError())return m=E,!1;if(p==null||p.isString()||p.isBoolean()||p.isNull())return!0;if(p!=null&&p.isError())return m=p,!1;const V=+E.getValue(),S=+p.getValue();d.push(V),_.push(S),C+=V**2-S**2}),m.isError()?m:d.length===0||_.length===0?g.create(h.DIV_BY_ZERO):R.create(C)}}_calculateSingleCell(e,t){let r=e;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;let n=t;if(n.isArray()&&(n=n.get(0,0)),n.isError())return n;if(r.isNull()||n.isNull())return g.create(h.VALUE);const s=+r.getValue(),a=+n.getValue();if(r.isString()&&!M.isRealNum(s)||r.isBoolean()||n.isString()&&!M.isRealNum(a)||n.isBoolean())return g.create(h.DIV_BY_ZERO);const o=s**2-a**2;return R.create(o)}}class BC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=r*n,a=t.isArray()?t.getRowCount():1,o=t.isArray()?t.getColumnCount():1,c=a*o;if(s!==c)return g.create(h.NA);if(s===1)return this._calculateSingleCell(e,t);{const l=e.flatten(),f=t.flatten();let m=le.create();const d=[],_=[];let C=0;return l.iterator((E,b,y)=>{const p=f.get(b,y);if(E==null||E.isString()||E.isBoolean()||E.isNull())return!0;if(E!=null&&E.isError())return m=E,!1;if(p==null||p.isString()||p.isBoolean()||p.isNull())return!0;if(p!=null&&p.isError())return m=p,!1;const V=+E.getValue(),S=+p.getValue();d.push(V),_.push(S),C+=V**2+S**2}),m.isError()?m:d.length===0||_.length===0?g.create(h.DIV_BY_ZERO):R.create(C)}}_calculateSingleCell(e,t){let r=e;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;let n=t;if(n.isArray()&&(n=n.get(0,0)),n.isError())return n;if(r.isNull()||n.isNull())return g.create(h.VALUE);const s=+r.getValue(),a=+n.getValue();if(r.isString()&&!M.isRealNum(s)||r.isBoolean()||n.isString()&&!M.isRealNum(a)||n.isBoolean())return g.create(h.DIV_BY_ZERO);const o=s**2+a**2;return R.create(o)}}class kC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=r*n,a=t.isArray()?t.getRowCount():1,o=t.isArray()?t.getColumnCount():1,c=a*o;if(s!==c)return g.create(h.NA);if(s===1)return this._calculateSingleCell(e,t);{const l=e.flatten(),f=t.flatten();let m=le.create();const d=[],_=[];let C=0;return l.iterator((E,b,y)=>{const p=f.get(b,y);if(E==null||E.isString()||E.isBoolean()||E.isNull())return!0;if(E!=null&&E.isError())return m=E,!1;if(p==null||p.isString()||p.isBoolean()||p.isNull())return!0;if(p!=null&&p.isError())return m=p,!1;const V=+E.getValue(),S=+p.getValue();d.push(V),_.push(S),C+=(V-S)**2}),m.isError()?m:d.length===0||_.length===0?g.create(h.DIV_BY_ZERO):R.create(C)}}_calculateSingleCell(e,t){let r=e;if(r.isArray()&&(r=r.get(0,0)),r.isError())return r;let n=t;if(n.isArray()&&(n=n.get(0,0)),n.isError())return n;if(r.isNull()||n.isNull())return g.create(h.VALUE);const s=+r.getValue(),a=+n.getValue();if(r.isString()&&!M.isRealNum(s)||r.isBoolean()||n.isString()&&!M.isRealNum(a)||n.isBoolean())return g.create(h.DIV_BY_ZERO);const o=(s-a)**2;return R.create(o)}}class $C extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.tan()}}class YC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){let t=e;return t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.tanh()}}class HC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:R.create(0),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),c=a.map((l,f,m)=>{let d=o.get(f,m),_=l;if(_.isString()&&(_=_.convertToNumberObjectValue()),_.isError())return _;if(d.isString()&&(d=d.convertToNumberObjectValue()),d.isError())return d;const C=+_.getValue(),E=+d.getValue(),b=10**Math.trunc(E),y=Tn(C,b),p=Math.trunc(lr(C,b)+y)/b;return R.create(p)});return n===1&&s===1?c.get(0,0):c}}const Mu=[[E0,H.ABS],[b0,H.ACOS],[y0,H.ACOSH],[R0,H.ACOT],[p0,H.ACOTH],[N0,H.ARABIC],[V0,H.ASIN],[O0,H.ASINH],[M0,H.ATAN],[S0,H.ATAN2],[D0,H.ATANH],[w0,H.BASE],[L0,H.CEILING],[x0,H.CEILING_MATH],[P0,H.CEILING_PRECISE],[j0,H.COMBIN],[U0,H.COMBINA],[v0,H.COS],[T0,H.COSH],[I0,H.COT],[F0,H.COTH],[B0,H.CSC],[k0,H.CSCH],[$0,H.DECIMAL],[Y0,H.DEGREES],[H0,H.EVEN],[G0,H.EXP],[W0,H.FACT],[Q0,H.FACTDOUBLE],[q0,H.FLOOR],[K0,H.FLOOR_MATH],[X0,H.FLOOR_PRECISE],[Z0,H.GCD],[z0,H.INT],[J0,H.LCM],[eC,H.LN],[tC,H.LOG],[rC,H.LOG10],[nC,H.MDETERM],[sC,H.MINVERSE],[aC,H.MMULT],[iC,H.MOD],[oC,H.MROUND],[uC,H.MULTINOMIAL],[cC,H.MUNIT],[lC,H.ODD],[fC,H.PI],[mC,H.POWER],[hC,H.PRODUCT],[gC,H.QUOTIENT],[dC,H.RADIANS],[CC,H.RAND],[_C,H.RANDARRAY],[AC,H.RANDBETWEEN],[EC,H.ROMAN],[bC,H.ROUND],[yC,H.ROUNDBANK],[RC,H.ROUNDDOWN],[pC,H.ROUNDUP],[NC,H.SEC],[VC,H.SECH],[MC,H.SERIESSUM],[OC,H.SEQUENCE],[SC,H.SIGN],[DC,H.SIN],[wC,H.SINH],[LC,H.SQRT],[xC,H.SQRTPI],[PC,H.SUBTOTAL],[jC,H.SUM],[UC,H.SUMIF],[vC,H.SUMIFS],[TC,H.SUMPRODUCT],[IC,H.SUMSQ],[FC,H.SUMX2MY2],[BC,H.SUMX2PY2],[kC,H.SUMXMY2],[$C,H.TAN],[YC,H.TANH],[HC,H.TRUNC]];class GC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2);A(this,"_compareType",k.EQUALS)}setCompareType(e){this._compareType=e}calculate(e,t){return e.isError()?e:t.isError()?t:e.compare(t,this._compareType)}}class Oa extends Et{constructor(e){super("");A(this,"_values",[]);this._values=e}static create(e){return new Oa(e)}isCube(){return!0}dispose(){this._values.forEach(e=>{e.dispose()}),this._values=[]}getCubeValues(){return this._values}getCubeCount(){return this._values.length}sum(){const e=R.create(0);return this._values.forEach(t=>{e.plus(t.sum())}),e}max(){let e=R.create(Number.NEGATIVE_INFINITY);return this._values.forEach(t=>{const r=t.max();e.isLessThan(r)&&(e=r)}),e}min(){let e=R.create(Number.POSITIVE_INFINITY);return this._values.forEach(t=>{const r=t.max();e.isGreaterThan(r)&&(e=r)}),e}count(){const e=R.create(0);return this._values.forEach(t=>{e.plus(t.count())}),e}countA(){const e=R.create(0);return this._values.forEach(t=>{e.plus(t.countA())}),e}countBlank(){const e=R.create(0);return this._values.forEach(t=>{e.plus(t.countBlank())}),e}}class WC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];for(let r=0;r<e.length;r++){const n=e[r];if(n.isError())return n;if(!n.isArray())return g.create(h.VALUE);t.push(n)}return Oa.create(t)}}class QC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:!t.isArray()&&t.getValue()===0?g.create(h.DIV_BY_ZERO):e.divided(t)}}class qC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.minus(t)}}class KC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.multiply(t)}}class XC extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.plus(t)}}const Su=[[GC,Pe.COMPARE],[QC,Pe.DIVIDED],[qC,Pe.MINUS],[KC,Pe.MULTIPLY],[XC,Pe.PLUS],[WC,Pe.CUBE]];class ZC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=R.create(0),r=R.create(0);for(let a=0;a<e.length;a++){let o=e[a];if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return o;if(o.isArray()){if(o=zC(o),o.isError())return o;if(e[a]=o,t=t.plus(o.sum()),t.isError())return t;r=r.plus(o.count())}else o.isNull()||(t=t.plus(o),r=r.plus(R.create(1)))}if(r.getValue()===0)return g.create(h.NUM);const n=t.divided(r);if(n.isError())return n;let s=R.create(0);for(let a=0;a<e.length;a++){let o=e[a];if(o.isString()&&(o=o.convertToNumberObjectValue()),o.isError())return o;if(o.isArray()){if(s=s.plus(o.minus(n).abs().sum()),s.isError())return s}else o.isNull()||(s=s.plus(o.minus(n).abs()))}return s.divided(r)}}function zC(i){const u=[];u[0]=[];let e=null;return i.iterator((t,r,n)=>{if(t!=null&&t.isError())return e=t,!1;t!=null&&t.isNumber()&&u[0].push(t)}),e||Or(u,1,u[0].length)}class JC extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=R.create(0),r=R.create(0);for(let n=0;n<e.length;n++){let s=e[n];if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()){if(t=t.plus(s.sum()),t.isError())return t;r=r.plus(s.count())}else s.isNull()||(t=t.plus(s),r=r.plus(R.create(1)))}return t.divided(r)}}class e_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",254)}calculate(...e){let t=!1,r;e.length%2!==0&&(t=!0,r=g.create(h.NA));const n=[],s=[];for(let a=0;a<e.length;a+=2){const o=e[a],c=o.isArray()?o.getRowCount():1,l=o.isArray()?o.getColumnCount():1;for(let _=0;_<c;_++)for(let C=0;C<l;C++){const E=o.isArray()?o.get(_,C):o;if(E.isError())return E;if(t)continue;const b=E.isNull()?"":E.getValue();n.push(b)}if(a+1>=e.length)continue;const f=e[a+1],m=f.isArray()?f.getRowCount():1,d=f.isArray()?f.getColumnCount():1;(m!==c||d!==l)&&(t=!0,r=g.create(h.VALUE));for(let _=0;_<m;_++)for(let C=0;C<d;C++){const E=f.isArray()?f.get(_,C):f;if(E.isError())return E;if(t)continue;const b=E.isNull()?"":E.getValue();s.push(b)}}return t?r:this._getResult(n,s)}_getResult(e,t){const r=e.length;let n=0,s=0;for(let o=0;o<r;o++){const c=e[o],l=t[o];if(!(typeof c!="number"&&typeof l!="number")){if(typeof c!="number"||typeof l!="number"||l<0)return g.create(h.VALUE);n+=c*l,s+=l}}if(s===0)return g.create(h.DIV_BY_ZERO);const a=n/s;return R.create(a)}}class t_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=R.create(0),r=R.create(0);for(let n=0;n<e.length;n++){let s=e[n];if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()){if(s.iterator(a=>{if(a==null||a.isNull())return!0;let o=a;if(o.isString()&&(o=o.convertToNumberObjectValue(),o.isError()&&(o=R.create(0))),o.isBoolean()&&(o=o.convertToNumberObjectValue()),o.isError())return t=o,!1;t=t.plus(o),r=r.plus(R.create(1))}),t.isError())return t}else s.isNull()||(t=t.plus(s),r=r.plus(R.create(1)))}return t.divided(r)}}class r_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){if(!e.isReferenceObject()||r&&!r.isReferenceObject())return g.create(h.VALUE);let n=t;if(t.isReferenceObject()&&(n=t.toArrayValueObject()),n.isArray()){const s=n.mapValue(a=>this._handleSingleObject(e,a,r));return s.getRowCount()===1&&s.getColumnCount()===1?s.get(0,0):s}return this._handleSingleObject(e,n,r)}_handleSingleObject(e,t,r){const n=e.toArrayValueObject();let s=Bn(n,t);s=kn(s,n,t);const a=n.getRowCount(),o=n.getColumnCount();let c=n;if(r){c=r.toArrayValueObject();const d=c.getRowCount(),_=c.getColumnCount();if(a!==d||o!==_){const C=r.getRangeData();C.endRow=C.startRow+a-1,C.endColumn=C.startColumn+o-1,r.setRangeData(C),c=r.toArrayValueObject()}}const l=c.pick(s),f=l.sum(),m=l.count();return f.divided(m)}}class n_ extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(e,...t){const{isError:r,errorObject:n,rangeIsDifferentSize:s,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:c,variants:l}=Mr(t,e);if(r)return n;if(s)return a===1&&o===1?g.create(h.VALUE):O(a,o,g.create(h.VALUE));const f=Sr(l,a,o,!0);return this._aggregateResults(c,f)}_aggregateResults(e,t){const r=t.map(n=>n.map(s=>{const a=e.pick(s),o=a.sum(),c=a.count();return o.divided(c)}));return r.length===1&&r[0].length===1?r[0][0]:q.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}}class s_ extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=s!=null?s:R.create(0),c=a!=null?a:R.create(1);o.isNull()&&(o=R.create(0)),c.isNull()&&(c=R.create(1));const l=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,o.isArray()?o.getRowCount():1,c.isArray()?c.getRowCount():1),f=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,o.isArray()?o.getColumnCount():1,c.isArray()?c.getColumnCount():1),m=O(l,f,e,g.create(h.NA)),d=O(l,f,t,g.create(h.NA)),_=O(l,f,r,g.create(h.NA)),C=O(l,f,n,g.create(h.NA)),E=O(l,f,o,g.create(h.NA)),b=O(l,f,c,g.create(h.NA)),y=m.mapValue((p,V,S)=>{const D=d.get(V,S),w=_.get(V,S),L=C.get(V,S),x=E.get(V,S),v=b.get(V,S);return this._handleSingleObject(p,D,w,L,x,v)});return l===1&&f===1?y.get(0,0):y}_handleSingleObject(e,t,r,n,s,a){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(n.isError())return n;if(s.isError())return s;if(a.isError())return a;const{isError:o,errorObject:c,variants:l}=F(e,t,r,n,s,a);if(o)return c;const[f,m,d,_,C,E]=l,b=+f.getValue(),y=+m.getValue(),p=+d.getValue(),V=+_.getValue(),S=+C.getValue(),D=+E.getValue();if(y<=0||p<=0||b<S||b>D||S===D)return g.create(h.NUM);let w;return V?w=yo((b-S)/(D-S),y,p):w=Nm((b-S)/(D-S),y,p)/(D-S),R.create(w)}}class a_ extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){let s=n!=null?n:r;s.isNull()&&(s=r);const a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1),c=O(a,o,e,g.create(h.NA)),l=O(a,o,t,g.create(h.NA)),f=O(a,o,r,g.create(h.NA)),m=O(a,o,s,g.create(h.NA)),d=c.mapValue((_,C,E)=>{const b=l.get(C,E),y=f.get(C,E),p=m.get(C,E);return _.isError()?_:b.isError()?b:y.isError()?y:p.isError()?p:this._handleSingleObject(_,b,y,p)});return a===1&&o===1?d.get(0,0):d}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=F(e,t,r,n);if(s)return a;const[c,l,f,m]=o,d=Math.floor(+c.getValue()),_=+l.getValue(),C=Math.floor(+f.getValue()),E=Math.floor(+m.getValue());if(d<0||_<0||_>1||C<0||C>d||E<0||E<C||E>d)return g.create(h.NUM);let b=0;for(let y=C;y<=E;y++)b+=da(y,d,_);return R.create(b)}}class i_ extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=Math.floor(+c.getValue()),d=+l.getValue();if(f<0||m<1||m>10**10)return g.create(h.NUM);let _;return d?_=Ca(f,m):_=Vm(f,m),R.create(_)}}class o_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);return c.isError()?c:m.isError()?m:this._handleSingleObject(c,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=F(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=Math.floor(+o.getValue());if(c<0||c>1||l<1||l>10**10)return g.create(h.NUM);const f=po(c,l);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):R.create(f)}}class u_ extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);if(f.isError())return f;if(_.isError())return _;if(C.isError())return C;const{isError:E,errorObject:b,variants:y}=F(f,_,C);if(E)return b;const[p,V,S]=y,D=+p.getValue(),w=+V.getValue(),L=Math.floor(+S.getValue());if(D<=0||D>=1||w<=0||L<1)return g.create(h.NUM);if(L===1)return g.create(h.DIV_BY_ZERO);const x=Math.abs(Wn(D/2,L-1)*w/Math.sqrt(L));return R.create(x)});return n===1&&s===1?l.get(0,0):l}}class c_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let c=t;if(t.isArray()&&s===1&&a===1&&(c=t.get(0,0)),c.isError())return c;if(r*n===1||s*a===1)return o.isNull()||c.isNull()?g.create(h.VALUE):g.create(h.DIV_BY_ZERO);if(r*n!==s*a)return g.create(h.NA);const{isError:l,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=qe(e,t,r*n,n,a);return l?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){const r=e.length;let n=0,s=0;for(let d=0;d<r;d++)n+=e[d],s+=t[d];const a=n/r,o=s/r;let c=0,l=0,f=0;for(let d=0;d<r;d++){const _=e[d]-a,C=t[d]-o;c+=_*C,l+=_**2,f+=C**2}const m=Math.sqrt(l*f);return m===0?g.create(h.DIV_BY_ZERO):R.create(c/m)}}class l_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=R.create(0);for(let r=0;r<e.length;r++){const n=e[r];n.isError()||(n.isArray()?t=t.plus(n.count()):n.isString()?n.convertToNumberObjectValue().isError()||(t=t.plus(R.create(1))):n.isNull()||(t=t.plus(R.create(1))))}return t}}class f_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=R.create(0);for(let r=0;r<e.length;r++){let n=e[r];if(n.isError()){t=t.plus(R.create(1));continue}n.isArray()?(n=n.countA(),t=t.plus(n)):n.isNull()||(t=t.plus(R.create(1)))}return t}}class m_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isError()?e:e.getValue()===""||e.isNull()?R.create(1):e.isArray()?e.countBlank():R.create(0)}}class h_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2);A(this,"needsReferenceObject",!0)}calculate(e,t){if(!e.isReferenceObject())return g.create(h.VALUE);let r=t;if(t.isReferenceObject()&&(r=t.toArrayValueObject()),r.isArray()){const n=r.mapValue(s=>this._handleSingleObject(e,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(e,r)}_handleSingleObject(e,t){const r=e.toArrayValueObject();let n=Bn(r,t);n=kn(n,r,t);const s=r.pick(n);return this._countA(s)}_countA(e){let t=R.create(0);return e.iterator(r=>{if(r==null)return!0;t=t.plusBy(1)}),t}}class g_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(...e){const{isError:t,errorObject:r,rangeIsDifferentSize:n,criteriaMaxRowLength:s,criteriaMaxColumnLength:a,variants:o}=Mr(e);if(t)return r;if(n)return s===1&&a===1?g.create(h.VALUE):O(s,a,g.create(h.VALUE));const c=Sr(o,s,a,!0);return this._aggregateResults(c)}_aggregateResults(e){const t=e.map(r=>r.map(n=>d_(n)));return t.length===1&&t[0].length===1?t[0][0]:q.create({calculateValueList:t,rowCount:t.length,columnCount:t[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}}function d_(i){let u=0;return i.iterator(e=>{e!=null&&e.isBoolean()&&e.getValue()===!0&&u++}),R.create(u)}class C_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let c=t;if(t.isArray()&&s===1&&a===1&&(c=t.get(0,0)),c.isError())return c;if((r*n===1||s*a===1)&&(o.isNull()||c.isNull()))return g.create(h.VALUE);if(r*n!==s*a)return g.create(h.NA);const{isError:l,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=qe(e,t,r*n,n,a);return l?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){if(e.length<=1)return g.create(h.DIV_BY_ZERO);const r=e.length;let n=0,s=0;for(let l=0;l<r;l++)n+=e[l],s+=t[l];const a=n/r,o=s/r;let c=0;for(let l=0;l<r;l++){const f=e[l]-a,m=t[l]-o;c+=f*m}return R.create(c/(r-1))}}class __ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];let r=0,n=!0;for(let o=0;o<e.length;o++){const c=e[o];if(c.isArray()){let l=!1,f=g.create(h.VALUE);if(c.iterator(m=>{const d=this._handleSingleObject(m);if(d.isError())return l=!0,f=d,!1;if(d.isNull())return!0;const _=d.getValue();t.push(_),r+=_,n=!1}),l)return f}else{const l=this._handleSingleObject(c);if(l.isError())return l;if(l.isNull())continue;const f=l.getValue();t.push(f),r+=f,n=!1}}if(n)return g.create(h.NUM);const s=r/t.length;let a=0;for(let o=0;o<t.length;o++)a+=(t[o]-s)**2;return R.create(a)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull()||e.isBoolean())return le.create();const t=e.getValue();return M.isRealNum(t)?R.create(+t):le.create()}}class A_ extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:b.isError()?b:y.isError()?y:this._handleSingleObject(d,E,b,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=F(e,t,r,n);if(s)return a;const[c,l,f,m]=o,d=+c.getValue(),_=Math.floor(+l.getValue()),C=Math.floor(+f.getValue()),E=+m.getValue();if(d<0||_<1||_>10**10||C<1||C>10**10)return g.create(h.NUM);let b;return E?b=_a(d,_,C):b=Om(d,_,C),Number.isNaN(b)||!Number.isFinite(b)?g.create(h.NUM):R.create(b)}}class E_ extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=Math.floor(+c.getValue()),d=Math.floor(+l.getValue());if(f<0||f>1||m<1||m>10**10||d<1||d>10**10)return g.create(h.NUM);const _=No(f,m,d);return Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):R.create(_)}}class b_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=F(e);if(t)return r;const[s]=n,a=s.getValue();if(a<=-1||a>=1)return g.create(h.NUM);const o=Math.log((1+a)/(1-a))/2;return R.create(o)}}class y_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){return e.isArray()?e.mapValue(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=F(e);if(t)return r;const[s]=n,a=+s.getValue(),o=Math.exp(2*a)-1,c=Math.exp(2*a)+1;return!Number.isFinite(o)&&o>0&&!Number.isFinite(c)&&c>0?R.create(1):R.create(o/c)}}class mi extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=t.isArray()?t.getRowCount():1,s=t.isArray()?t.getColumnCount():1,a=r.isArray()?r.getRowCount():1,o=r.isArray()?r.getColumnCount():1;let c=t;t.isArray()&&n===1&&s===1&&(c=t.get(0,0));let l=r;return r.isArray()&&a===1&&o===1&&(l=r.get(0,0)),e.isArray()?e.mapValue(f=>this._handleSingleObject(f,c,l,n,s,a,o)):this._handleSingleObject(e,c,l,n,s,a,o)}_handleSingleObject(e,t,r,n,s,a,o){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;let c=e;if(e.isString()&&(c=e.convertToNumberObjectValue()),c.isError())return c;const l=+c.getValue();if((n*s===1||a*o===1)&&(t.isNull()||r.isNull()))return g.create(h.VALUE);if(n*s!==a*o)return g.create(h.NA);const{isError:f,errorObject:m,array1Values:d,array2Values:_,noCalculate:C}=qe(t,r,n*s,s,o);if(f)return m;if(C)return g.create(h.DIV_BY_ZERO);const E=Vo(l,d,_);return Number.isFinite(E)?R.create(E):g.create(h.DIV_BY_ZERO)}}class R_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,values:s}=this._getValues(e);if(r)return n;if(e.isNull()||t.isNull())return g.create(h.VALUE);let{values:a}=this._getValues(t,!0);a.length===0&&(a=[0]);const o=this._getNewBinsArrayValues(a),c=new Array(o.length).fill(0);for(let l=0;l<s.length;l++){const f=s[l],m=o.findIndex(d=>f>d.start&&f<=d.end);c[m]++}return q.createByArray(c.map(l=>[l]))}_getValues(e,t=!1){const r=[],n=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1;for(let a=0;a<n;a++)for(let o=0;o<s;o++){const c=e.isArray()?e.get(a,o):e;if(c.isError()){if(!t)return{isError:!0,errorObject:c,values:r};continue}if(c.isNull()||c.isBoolean())continue;const l=c.getValue();M.isRealNum(l)&&r.push(+l)}return{isError:!1,errorObject:null,values:r}}_getNewBinsArrayValues(e){const t=e.map((n,s)=>({value:n,index:s})).sort((n,s)=>n.value-s.value),r=[];for(let n=0;n<t.length;n++){const s=t[n].index;if(n===0){r[s]={start:-1/0,end:t[n].value};continue}r[s]={start:t[n-1].value,end:t[n].value}}return r.push({start:t[t.length-1].value,end:1/0}),r}}var T=(i=>(i.AVEDEV="AVEDEV",i.AVERAGE="AVERAGE",i.AVERAGE_WEIGHTED="AVERAGE.WEIGHTED",i.AVERAGEA="AVERAGEA",i.AVERAGEIF="AVERAGEIF",i.AVERAGEIFS="AVERAGEIFS",i.BETA_DIST="BETA.DIST",i.BETA_INV="BETA.INV",i.BINOM_DIST="BINOM.DIST",i.BINOM_DIST_RANGE="BINOM.DIST.RANGE",i.BINOM_INV="BINOM.INV",i.CHISQ_DIST="CHISQ.DIST",i.CHISQ_DIST_RT="CHISQ.DIST.RT",i.CHISQ_INV="CHISQ.INV",i.CHISQ_INV_RT="CHISQ.INV.RT",i.CHISQ_TEST="CHISQ.TEST",i.CONFIDENCE_NORM="CONFIDENCE.NORM",i.CONFIDENCE_T="CONFIDENCE.T",i.CORREL="CORREL",i.COUNT="COUNT",i.COUNTA="COUNTA",i.COUNTBLANK="COUNTBLANK",i.COUNTIF="COUNTIF",i.COUNTIFS="COUNTIFS",i.COVARIANCE_P="COVARIANCE.P",i.COVARIANCE_S="COVARIANCE.S",i.DEVSQ="DEVSQ",i.EXPON_DIST="EXPON.DIST",i.F_DIST="F.DIST",i.F_DIST_RT="F.DIST.RT",i.F_INV="F.INV",i.F_INV_RT="F.INV.RT",i.F_TEST="F.TEST",i.FISHER="FISHER",i.FISHERINV="FISHERINV",i.FORECAST="FORECAST",i.FORECAST_ETS="FORECAST.ETS",i.FORECAST_ETS_CONFINT="FORECAST.ETS.CONFINT",i.FORECAST_ETS_SEASONALITY="FORECAST.ETS.SEASONALITY",i.FORECAST_ETS_STAT="FORECAST.ETS.STAT",i.FORECAST_LINEAR="FORECAST.LINEAR",i.FREQUENCY="FREQUENCY",i.GAMMA="GAMMA",i.GAMMA_DIST="GAMMA.DIST",i.GAMMA_INV="GAMMA.INV",i.GAMMALN="GAMMALN",i.GAMMALN_PRECISE="GAMMALN.PRECISE",i.GAUSS="GAUSS",i.GEOMEAN="GEOMEAN",i.GROWTH="GROWTH",i.HARMEAN="HARMEAN",i.HYPGEOM_DIST="HYPGEOM.DIST",i.INTERCEPT="INTERCEPT",i.KURT="KURT",i.LARGE="LARGE",i.LINEST="LINEST",i.LOGEST="LOGEST",i.LOGNORM_DIST="LOGNORM.DIST",i.LOGNORM_INV="LOGNORM.INV",i.MARGINOFERROR="MARGINOFERROR",i.MAX="MAX",i.MAXA="MAXA",i.MAXIFS="MAXIFS",i.MEDIAN="MEDIAN",i.MIN="MIN",i.MINA="MINA",i.MINIFS="MINIFS",i.MODE_MULT="MODE.MULT",i.MODE_SNGL="MODE.SNGL",i.NEGBINOM_DIST="NEGBINOM.DIST",i.NORM_DIST="NORM.DIST",i.NORM_INV="NORM.INV",i.NORM_S_DIST="NORM.S.DIST",i.NORM_S_INV="NORM.S.INV",i.PEARSON="PEARSON",i.PERCENTILE_EXC="PERCENTILE.EXC",i.PERCENTILE_INC="PERCENTILE.INC",i.PERCENTRANK_EXC="PERCENTRANK.EXC",i.PERCENTRANK_INC="PERCENTRANK.INC",i.PERMUT="PERMUT",i.PERMUTATIONA="PERMUTATIONA",i.PHI="PHI",i.POISSON_DIST="POISSON.DIST",i.PROB="PROB",i.QUARTILE_EXC="QUARTILE.EXC",i.QUARTILE_INC="QUARTILE.INC",i.RANK_AVG="RANK.AVG",i.RANK_EQ="RANK.EQ",i.RSQ="RSQ",i.SKEW="SKEW",i.SKEW_P="SKEW.P",i.SLOPE="SLOPE",i.SMALL="SMALL",i.STANDARDIZE="STANDARDIZE",i.STDEV_P="STDEV.P",i.STDEV_S="STDEV.S",i.STDEVA="STDEVA",i.STDEVPA="STDEVPA",i.STEYX="STEYX",i.T_DIST="T.DIST",i.T_DIST_2T="T.DIST.2T",i.T_DIST_RT="T.DIST.RT",i.T_INV="T.INV",i.T_INV_2T="T.INV.2T",i.T_TEST="T.TEST",i.TREND="TREND",i.TRIMMEAN="TRIMMEAN",i.VAR_P="VAR.P",i.VAR_S="VAR.S",i.VARA="VARA",i.VARPA="VARPA",i.WEIBULL_DIST="WEIBULL.DIST",i.Z_TEST="Z.TEST",i))(T||{});class p_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=F(e);if(t)return r;const[s]=n,a=+s.getValue();if(a===0||a<0&&a%1===0)return g.create(h.NUM);const o=zr(a);return Number.isNaN(o)||!Number.isFinite(o)?g.create(h.NUM):R.create(o)}}class hi extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=F(e);if(t)return r;const[s]=n,a=+s.getValue();if(a<=0)return g.create(h.NUM);const o=nt(a);return Math.abs(o)<1e-15?R.create(0):R.create(o)}}class N_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=F(e);if(t)return r;const[s]=n,a=+s.getValue(),o=Lr(a,0,1)-.5;return R.create(o)}}class V_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=1,r=0,n=!1;for(let a=0;a<e.length;a++){const o=e[a];if(o.isArray()){let c=!1,l=g.create(h.VALUE);if(o.iterator(f=>{if(f!=null&&f.isError())return c=!0,l=f,!1;if(f!=null&&f.isNull()||f!=null&&f.isBoolean())return!0;const m=f.getValue();if(!M.isRealNum(m))return!0;+m<=0&&(n=!0),t*=+m,r++}),c)return l}else{if(o.isError())return o;if(o.isString()){const l=o.convertToNumberObjectValue();if(l.isError())return l}if(o.isNull()||o.isBoolean())continue;const c=o.getValue();if(!M.isRealNum(c))continue;+c<=0&&(n=!0),t*=+c,r++}}if(r===0||n)return g.create(h.NUM);const s=t**(1/r);return R.create(s)}}class O_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a}=Qn(e,t,r);if(s)return a;const o=ut(e);if(o instanceof g)return o;const c=this._getKnownXsValues(o,t);if(c instanceof g)return c;const l=this._getNewXsValues(c,r);if(l instanceof g)return l;let f=n!=null?n:I.create(!0);if(f.isArray()&&(f=f.get(0,0)),f.isString()&&(f=f.convertToNumberObjectValue()),f.isError())return f;const m=+f.getValue();return this._getResult(o,c,l,m)}_getResult(e,t,r,n){return e.length===1&&t.length>1||e[0].length===1&&t[0].length>1?e.length===1&&t.length>1&&(n?t.length+1:t.length)>e[0].length||e[0].length===1&&t[0].length>1&&(n?t[0].length+1:t[0].length)>e.length?g.create(h.NA):this._getResultByMultipleVariables(e,t,r,n):this._getResultBySimpleVariables(e,t,r,n)}_getResultByMultipleVariables(e,t,r,n){const s=e.length===1&&e[0].length>1,a=Xn(e,t,r,n,!0);if(a instanceof g)return a;const{coefficients:o,newX:c}=a,l=o[0].length,f=o[0][l-1];let m=[];for(let d=0;d<c.length;d++){m[d]=[];let _=f;for(let C=l-2;C>=0;C--)_*=o[0][l-2-C]**c[d][C];m[d].push(_)}return s&&(m=it(m)),q.createByArray(m)}_getResultBySimpleVariables(e,t,r,n){const s=e.flat(),a=t.flat(),{slope:o,intercept:c}=Kn(a,s,n,!0),l=r.map(f=>f.map(m=>c*o**m));return q.createByArray(l)}_getKnownXsValues(e,t){return!t||t.isNull()?qn(e.length,e[0].length):ut(t)}_getNewXsValues(e,t){return!t||t.isNull()?e:ut(t)}}class M_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=0,r=0,n=!1;for(let a=0;a<e.length;a++){const o=e[a];if(o.isArray()){let c=!1,l=g.create(h.VALUE);if(o.iterator(f=>{if(f!=null&&f.isError())return c=!0,l=f,!1;if(f!=null&&f.isNull()||f!=null&&f.isBoolean())return!0;const m=f.getValue();if(!M.isRealNum(m))return!0;+m<=0&&(n=!0),t+=1/+m,r++}),c)return l}else{if(o.isError())return o;if(o.isString()){const l=o.convertToNumberObjectValue();if(l.isError())return l}if(o.isNull()||o.isBoolean())continue;const c=o.getValue();if(!M.isRealNum(c))continue;+c<=0&&(n=!0),t+=1/+c,r++}}if(r===0)return g.create(h.NA);if(n)return g.create(h.NUM);const s=r/t;return R.create(s)}}class S_ extends N{constructor(){super(...arguments);A(this,"minParams",5);A(this,"maxParams",5)}calculate(e,t,r,n,s){const a=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),c=O(a,o,e,g.create(h.NA)),l=O(a,o,t,g.create(h.NA)),f=O(a,o,r,g.create(h.NA)),m=O(a,o,n,g.create(h.NA)),d=O(a,o,s,g.create(h.NA)),_=c.mapValue((C,E,b)=>{const y=l.get(E,b),p=f.get(E,b),V=m.get(E,b),S=d.get(E,b);return C.isError()?C:y.isError()?y:p.isError()?p:V.isError()?V:S.isError()?S:this._handleSingleObject(C,y,p,V,S)});return a===1&&o===1?_.get(0,0):_}_handleSingleObject(e,t,r,n,s){const{isError:a,errorObject:o,variants:c}=F(e,t,r,n,s);if(a)return o;const[l,f,m,d,_]=c,C=Math.floor(+l.getValue()),E=Math.floor(+f.getValue()),b=Math.floor(+m.getValue()),y=Math.floor(+d.getValue()),p=+_.getValue();if(C<0||C>E||C>b||C<E-y+b||E<=0||E>y||b<=0||b>y||y<=0)return g.create(h.NUM);let V;return p?V=xm(C,E,b,y):V=Ea(C,E,b,y),Number.isNaN(V)&&(V=0),R.create(V)}}class D_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let c=t;if(t.isArray()&&s===1&&a===1&&(c=t.get(0,0)),c.isError())return c;if(r*n===1||s*a===1)return o.isNull()||c.isNull()?g.create(h.VALUE):g.create(h.DIV_BY_ZERO);if(r*n!==s*a)return g.create(h.NA);const{isError:l,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=qe(e,t,r*n,n,a);return l?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){const r=Vo(0,e,t);return Number.isFinite(r)?R.create(r):g.create(h.DIV_BY_ZERO)}}class w_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];let r=0;for(let n=0;n<e.length;n++){const s=e[n];if(s.isError())return s;if(s.isString()){const c=s.convertToNumberObjectValue();if(c.isError())return c}const a=s.isArray()?s.getRowCount():1,o=s.isArray()?s.getColumnCount():1;for(let c=0;c<a;c++)for(let l=0;l<o;l++){const f=s.isArray()?s.get(c,l):s;if(f.isError())return f;if(f.isNull()||f.isBoolean())continue;const m=f.getValue();M.isRealNum(m)&&(t.push(+m),r+=+m)}}return t.length<=3?g.create(h.DIV_BY_ZERO):this._getResult(t,r)}_getResult(e,t){const r=e.length,n=t/r;let s=0;for(let l=0;l<r;l++)s+=(e[l]-n)**2;const a=Math.sqrt(s/(r-1));if(a===0)return g.create(h.DIV_BY_ZERO);let o=0;for(let l=0;l<r;l++)o+=((e[l]-n)/a)**4;const c=r*(r+1)/((r-1)*(r-2)*(r-3))*o-3*(r-1)**2/((r-2)*(r-3));return R.create(c)}}class L_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=this._getValues(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(e instanceof g)return e;const{isError:r,errorObject:n,variants:s}=F(t);if(r)return n;const[a]=s;let o=+a.getValue();return o<1||o>e.length?g.create(h.NUM):(o=Math.ceil(o),R.create(e[o-1]))}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()||o.isBoolean()||o.isString())continue;const c=o.getValue();M.isRealNum(c)&&n.push(+c)}return n.length===0?g.create(h.NUM):n.sort((s,a)=>a-s)}}class x_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a}=Qn(e,t);if(s)return a;const o=ut(e);if(o instanceof g)return o;const c=this._getKnownXsValues(o,t);if(c instanceof g)return c;let l=r!=null?r:I.create(!0);l.isArray()&&(l=l.get(0,0));let f=n!=null?n:I.create(!1);f.isArray()&&(f=f.get(0,0));const{isError:m,errorObject:d,variants:_}=F(l,f);if(m)return d;const[C,E]=_;return this._getResult(o,c,+C.getValue(),+E.getValue())}_getResult(e,t,r,n){return e.length===1&&t.length>1||e[0].length===1&&t[0].length>1?e.length===1&&t.length>1&&(r?t.length+1:t.length)>e[0].length||e[0].length===1&&t[0].length>1&&(r?t[0].length+1:t[0].length)>e.length?g.create(h.NA):this._getResultByMultipleVariables(e,t,r,n):this._getResultBySimpleVariables(e,t,r,n)}_getResultByMultipleVariables(e,t,r,n){const s=Xn(e,t,t,r,!1);if(s instanceof g)return s;const{coefficients:a,X:o,XTXInverse:c}=s;let l=[];if(n){const f=e.flat(),m=f.length,d=r?f.reduce((U,$)=>U+$,0)/m:0,_=c.length,C=m-_,E=a[0].length,b=new Array(E-2).fill(h.NA),y=a[0][E-1],p=[];for(let U=0;U<o.length;U++){let $=y;for(let Q=E-2;Q>=0;Q--)$+=a[0][E-2-Q]*o[U][Q];p.push($)}let V=0,S=0;for(let U=0;U<m;U++)V+=(f[U]-d)**2,S+=(f[U]-p[U])**2;const D=V-S,w=V===0?0:D/V,L=[];for(let U=_-1;U>=0;U--){const $=C>0?Math.sqrt(S/C*c[U][U]):0;L.push($)}if(r){const U=L.shift();L.push(U)}else L.push(h.NA);const x=C>0?Math.sqrt(S/C):0,v=C>0?D/(E-1)/(S/C):h.NUM;l=[a[0],[...L],[w,x,...b],[v,C,...b],[D,S,...b]]}else l=[a[0]];return q.createByArray(l)}_getResultBySimpleVariables(e,t,r,n){const s=e.flat(),a=t.flat(),{slope:o,intercept:c}=Kn(a,s,r,!1);if(Number.isNaN(o))return g.create(h.NA);let l=[];if(n){const f=s.length;let m=0,d=0,_=f-1;if(r){let L=0,x=0;for(let v=0;v<f;v++)L+=s[v],x+=a[v];m=L/f,d=x/f,_=f-2}let C=0,E=0,b=0;for(let L=0;L<f;L++)C+=(s[L]-m)**2,E+=(s[L]-(o*a[L]+c))**2,b+=(a[L]-d)**2;const y=C-E,p=y===C?1:y/C;let V=0,S=0,D=0;_>0&&(b>0&&(V=Math.sqrt(E/_/b),S=Math.sqrt(E/_*(1/f+d**2/b))),D=Math.sqrt(E/_));const w=_>0?y/1/(E/_):h.NUM;r||(S=h.NA),l=[[o,c],[V,S],[p,D],[w,_],[y,E]]}else l=[[o,c]];return q.createByArray(l)}_getKnownXsValues(e,t){return!t||t.isNull()?qn(e.length,e[0].length):ut(t)}}class P_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a}=Qn(e,t);if(s)return a;const o=ut(e);if(o instanceof g)return o;const c=this._getKnownXsValues(o,t);if(c instanceof g)return c;let l=r!=null?r:I.create(!0);l.isArray()&&(l=l.get(0,0));let f=n!=null?n:I.create(!1);f.isArray()&&(f=f.get(0,0));const{isError:m,errorObject:d,variants:_}=F(l,f);if(m)return d;const[C,E]=_;return this._getResult(o,c,+C.getValue(),+E.getValue())}_getResult(e,t,r,n){return e.length===1&&t.length>1||e[0].length===1&&t[0].length>1?e.length===1&&t.length>1&&(r?t.length+1:t.length)>e[0].length||e[0].length===1&&t[0].length>1&&(r?t[0].length+1:t[0].length)>e.length?g.create(h.NA):this._getResultByMultipleVariables(e,t,r,n):this._getResultBySimpleVariables(e,t,r,n)}_getResultByMultipleVariables(e,t,r,n){const s=Xn(e,t,t,r,!0);if(s instanceof g)return s;const{coefficients:a,Y:o,X:c,XTXInverse:l}=s;let f=[];if(n){const m=o.flat(),d=m.length,_=r?m.reduce(($,Q)=>$+Q,0)/d:0,C=l.length,E=d-C,b=a[0].length,y=new Array(b-2).fill(h.NA),p=a[0][b-1],V=[];for(let $=0;$<c.length;$++){let Q=p;for(let te=b-2;te>=0;te--)Q*=a[0][b-2-te]**c[$][te];V.push(Math.log(Q))}let S=0,D=0;for(let $=0;$<d;$++)S+=(m[$]-_)**2,!(!r&&!Number.isFinite(V[$]))&&(D+=(m[$]-V[$])**2);Number.isFinite(D)||(D=0);const w=S-D,L=S===0?0:w/S,x=[];for(let $=C-1;$>=0;$--){const Q=E>0?Math.sqrt(D/E*l[$][$]):0;x.push(Q)}if(r){const $=x.shift();x.push($)}else x.push(h.NA);const v=E>0?Math.sqrt(D/E):0,U=E>0?w/(b-1)/(D/E):h.NUM;f=[a[0],[...x],[L,v,...y],[U,E,...y],[w,D,...y]]}else f=[a[0]];return q.createByArray(f)}_getResultBySimpleVariables(e,t,r,n){const s=e.flat(),a=t.flat(),{slope:o,intercept:c,Y:l}=Kn(a,s,r,!0);if(Number.isNaN(o))return g.create(h.NA);let f=[];if(n){const m=l.length;let d=0,_=0,C=m-1;if(r){let x=0,v=0;for(let U=0;U<m;U++)x+=l[U],v+=a[U];d=x/m,_=v/m,C=m-2}let E=0,b=0,y=0;for(let x=0;x<m;x++)E+=(l[x]-d)**2,b+=(l[x]-Math.log(c*o**a[x]))**2,y+=(a[x]-_)**2;const p=E-b,V=E===0?0:p/E;let S=0,D=0,w=0,L=0;C>0&&(y>0&&(S=Math.sqrt(b/C/y),D=Math.sqrt(b/C*(1/m+_**2/y))),w=Math.sqrt(b/C),L=p/1/(b/C)),r||(D=h.NA),f=[[o,c],[S,D],[V,w],[L,C],[p,b]]}else f=[[o,c]];return q.createByArray(f)}_getKnownXsValues(e,t){return!t||t.isNull()?qn(e.length,e[0].length):ut(t)}}class j_ extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:b.isError()?b:y.isError()?y:this._handleSingleObject(d,E,b,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=F(e,t,r,n);if(s)return a;const[c,l,f,m]=o,d=+c.getValue(),_=+l.getValue(),C=+f.getValue(),E=+m.getValue();if(d<=0||C<=0)return g.create(h.NUM);let b;return E?b=Mo(d,_,C):b=Pm(d,_,C),R.create(b)}}class U_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=this._getRangeValues(e);if(r instanceof g)return r;const n=$t(t);if(n.isError())return n;const{isError:s,errorObject:a,variants:o}=F(n);if(s)return a;const[c]=o,l=+c.getValue();if(l<=0||l>=1)return g.create(h.NUM);if(r.length<2)return g.create(h.DIV_BY_ZERO);const f=1-l,m=r.length,d=r.reduce((b,y)=>b+y,0)/m,_=r.reduce((b,y)=>b+(y-d)**2,0)/(m-1),C=Math.sqrt(_);if(C<=0)return g.create(h.NUM);const E=Math.abs(Wn(f/2,m-1)*C/Math.sqrt(m));return R.create(E)}_getRangeValues(e){const t=[],r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1;for(let s=0;s<r;s++)for(let a=0;a<n;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;o.isNull()||o.isBoolean()||o.isString()||t.push(+o.getValue())}return t}}class v_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=R.create(Number.NEGATIVE_INFINITY);for(let r=0;r<e.length;r++){let n=e[r];if(!n.isNull()){if((n.isString()||n.isBoolean())&&(n=n.convertToNumberObjectValue()),n.isArray()&&(n=n.max()),n.isError())return n;t=this._validator(t,n)}}return t.getValue()===Number.NEGATIVE_INFINITY?R.create(0):t}_validator(e,t){const r=e.isLessThan(t);let n=e;return r.getValue()&&(n=t),n}}class T_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=R.create(Number.NEGATIVE_INFINITY);for(let r=0;r<e.length;r++){let n=e[r];if(!n.isNull()){if((n.isString()||n.isBoolean())&&(n=n.convertToNumberObjectValue()),n.isError())return n;if(n.isArray()&&n.iterator(s=>{let a=s;if((a==null||a.isNull()||a.isString())&&(a=R.create(0)),a.isBoolean()&&(a=a.convertToNumberObjectValue()),a.isError())return t=a,!1;t=this._validator(t,a)}),t.isError())return t;t=this._validator(t,n)}}return t.getValue()===Number.NEGATIVE_INFINITY?R.create(0):t}_validator(e,t){const r=e.isLessThan(t);let n=e;return r.getValue()&&(n=t),n}}class I_ extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(e,...t){const{isError:r,errorObject:n,rangeIsDifferentSize:s,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:c,variants:l}=Mr(t,e);if(r)return n;if(s)return a===1&&o===1?g.create(h.VALUE):O(a,o,g.create(h.VALUE));const f=Sr(l,a,o,!0);return this._aggregateResults(c,f)}_aggregateResults(e,t){const r=t.map(n=>n.map(s=>{const a=e.pick(s);return a.getColumnCount()===0?q.create("0"):a.max()}));return r.length===1&&r[0].length===1?r[0][0]:q.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}}class F_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];for(let r=0;r<e.length;r++){const n=e[r];if(n.isArray()){let s=!1,a=g.create(h.VALUE);if(n.iterator(o=>{if(o!=null&&o.isError())return s=!0,a=o,!1;if(o!=null&&o.isNull()||o!=null&&o.isBoolean())return!0;const c=o.getValue();if(!M.isRealNum(c))return!0;t.push(+c)}),s)return a}else{if(n.isError())return n;if(n.isNull()||n.isBoolean())continue;if(n.isString()){const a=n.convertToNumberObjectValue();if(a.isError())return a}const s=n.getValue();if(!M.isRealNum(s))continue;t.push(+s)}}return t.length===0?g.create(h.NUM):this._getResult(t.sort((r,n)=>r-n))}_getResult(e){const t=e.length;let r;if(t%2===0){const n=t/2;r=(e[n-1]+e[n])/2}else r=e[Math.floor(t/2)];return R.create(r)}}class B_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=R.create(Number.POSITIVE_INFINITY);for(let r=0;r<e.length;r++){let n=e[r];if(!n.isNull()){if((n.isString()||n.isBoolean())&&(n=n.convertToNumberObjectValue()),n.isArray()&&(n=n.min()),n.isError())return n;t=this._validator(t,n)}}return t.getValue()===Number.POSITIVE_INFINITY?R.create(0):t}_validator(e,t){const r=e.isGreaterThan(t);let n=e;return r.getValue()&&(n=t),n}}class k_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=R.create(Number.POSITIVE_INFINITY);for(let r=0;r<e.length;r++){let n=e[r];if(!n.isNull()){if((n.isString()||n.isBoolean())&&(n=n.convertToNumberObjectValue()),n.isError())return n;if(n.isArray()&&n.iterator(s=>{let a=s;if((a==null||a.isNull()||a.isString())&&(a=R.create(0)),a.isBoolean()&&(a=a.convertToNumberObjectValue()),a.isError())return t=a,!1;t=this._validator(t,a)}),t.isError())return t;t=this._validator(t,n)}}return t.getValue()===Number.POSITIVE_INFINITY?R.create(0):t}_validator(e,t){const r=e.isGreaterThan(t);let n=e;return r.getValue()&&(n=t),n}}class $_ extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255);A(this,"needsReferenceObject",!0)}calculate(e,...t){const{isError:r,errorObject:n,rangeIsDifferentSize:s,criteriaMaxRowLength:a,criteriaMaxColumnLength:o,targetRange:c,variants:l}=Mr(t,e);if(r)return n;if(s)return a===1&&o===1?g.create(h.VALUE):O(a,o,g.create(h.VALUE));const f=Sr(l,a,o,!0);return this._aggregateResults(c,f)}_aggregateResults(e,t){const r=t.map(n=>n.map(s=>{const a=e.pick(s);return a.getColumnCount()===0?q.create("0"):a.min()}));return r.length===1&&r[0].length===1?r[0][0]:q.create({calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column})}}class Y_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t={};let r=0,n=1;for(let s=0;s<e.length;s++){const a=e[s];if(a.isError())return a;if(a.isString()){const l=a.convertToNumberObjectValue();if(l.isError())return l}const o=a.isArray()?a.getRowCount():1,c=a.isArray()?a.getColumnCount():1;for(let l=0;l<o;l++)for(let f=0;f<c;f++){const m=a.isArray()?a.get(l,f):a;if(m.isError())return m;if(m.isNull()||m.isBoolean()||m.isString())continue;const d=m.getValue();M.isRealNum(d)&&(t[+d]?(t[+d].count++,t[+d].count>n&&(n=t[+d].count)):t[+d]={count:1,order:r++})}}return r===0||n===1?new g(h.NA):this._getResult(t,n)}_getResult(e,t){const r=Object.entries(e).filter(([n,{count:s}])=>s===t).sort((n,s)=>n[1].order-s[1].order).map(([n])=>+n);return r.length===1?R.create(r[0]):q.createByArray(r.map(n=>[n]))}}class H_ extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:b.isError()?b:y.isError()?y:this._handleSingleObject(d,E,b,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=F(e,t,r,n);if(s)return a;const[c,l,f,m]=o,d=Math.floor(+c.getValue()),_=Math.floor(+l.getValue()),C=+f.getValue(),E=+m.getValue();if(d<0||_<1||C<=0||C>=1)return g.create(h.NUM);let b;return E?b=Um(d,_,C):b=ba(d,_,C),R.create(b)}}class G_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);return c.isError()?c:m.isError()?m:this._handleSingleObject(c,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=F(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=+o.getValue();let f;return l?f=Lr(c,0,1):f=So(c,0,1),R.create(f)}}class W_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let c=t;if(t.isArray()&&s===1&&a===1&&(c=t.get(0,0)),c.isError())return c;if(r*n===1||s*a===1)return o.isNull()||c.isNull()?g.create(h.VALUE):g.create(h.DIV_BY_ZERO);if(r*n!==s*a)return g.create(h.NA);const{isError:l,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=qe(e,t,r*n,n,a);return l?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){const r=e.length;let n=0,s=0;for(let d=0;d<r;d++)n+=e[d],s+=t[d];const a=n/r,o=s/r;let c=0,l=0,f=0;for(let d=0;d<r;d++)c+=(e[d]-a)*(t[d]-o),l+=(e[d]-a)**2,f+=(t[d]-o)**2;if(l===0||f===0)return g.create(h.DIV_BY_ZERO);const m=c/Math.sqrt(l*f);return R.create(m)}}class Q_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=this._getValues(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(e instanceof g)return e;const{isError:r,errorObject:n,variants:s}=F(t);if(r)return n;const[a]=s,o=+a.getValue(),c=e.length;if(o<1/(c+1)||o>1-1/(c+1))return g.create(h.NUM);const l=o*(c+1)-1,f=Math.floor(l),m=l-f;if(m===0)return R.create(e[f]);const d=e[f]+m*(e[f+1]-e[f]);return R.create(d)}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()||o.isBoolean()||o.isString())continue;const c=o.getValue();M.isRealNum(c)&&n.push(+c)}return n.length===0?g.create(h.NUM):n.sort((s,a)=>s-a)}}class q_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=this._getValues(e);let s=r!=null?r:R.create(3);s.isNull()&&(s=R.create(3));const a=Math.max(t.isArray()?t.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(t.isArray()?t.getColumnCount():1,s.isArray()?s.getColumnCount():1),c=O(a,o,t,g.create(h.NA)),l=O(a,o,s,g.create(h.NA)),f=c.mapValue((m,d,_)=>{const C=l.get(d,_);return m.isError()?m:C.isError()?C:this._handleSingleObject(n,m,C)});return a===1&&o===1?f.get(0,0):f}_handleSingleObject(e,t,r){if(e instanceof g)return e;const{isError:n,errorObject:s,variants:a}=F(t,r);if(n)return s;const[o,c]=a,l=+o.getValue(),f=Math.floor(+c.getValue()),m=e.length;if(m===0||l<e[0]||l>e[m-1])return g.create(h.NA);if(m===1)return l===e[0]?R.create(1):g.create(h.NA);let d=0,_=!1,C=0;for(;!_&&C<m;)l===e[C]?(d=(C+1)/(m+1),_=!0):l>e[C]&&C+1<m&&l<e[C+1]&&(d=(C+1+(l-e[C])/(e[C+1]-e[C]))/(m+1),_=!0),C++;return _?f<1?g.create(h.NUM):(d=He(d,f),R.create(d)):g.create(h.NA)}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()||o.isBoolean())continue;const c=o.getValue();M.isRealNum(c)&&n.push(+c)}return n.sort((s,a)=>s-a)}}class K_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);if(c.isError())return c;if(m.isError())return m;const{isError:d,errorObject:_,variants:C}=F(c,m);if(d)return _;const[E,b]=C,y=Math.floor(+E.getValue()),p=Math.floor(+b.getValue());if(y<0||y>=2147483647||p<0||y<p)return g.create(h.NUM);let V=1;for(let S=y-p+1;S<=y;S++)V*=S;return Number.isFinite(V)?R.create(V):g.create(h.NUM)});return r===1&&n===1?o.get(0,0):o}}class X_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);if(c.isError())return c;if(m.isError())return m;const{isError:d,errorObject:_,variants:C}=F(c,m);if(d)return _;const[E,b]=C,y=Math.floor(+E.getValue()),p=Math.floor(+b.getValue());if(y<0||y>=2147483647||p<0)return g.create(h.NUM);if(y===0)return p===0?R.create(1):R.create(0);const V=y**p;return Number.isFinite(V)?R.create(V):g.create(h.NUM)});return r===1&&n===1?o.get(0,0):o}}class Z_ extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=F(e);if(t)return r;const[s]=n,a=+s.getValue(),o=Math.exp(-.5*a*a)/Math.sqrt(2*Math.PI);return R.create(o)}}class z_ extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a,xRangeValues:o,probRangeValues:c}=this._handleXRangeAndProbRange(e,t);let l=n!=null?n:r;n!=null&&n.isNull()&&(l=r);const f=Math.max(r.isArray()?r.getRowCount():1,l.isArray()?l.getRowCount():1),m=Math.max(r.isArray()?r.getColumnCount():1,l.isArray()?l.getColumnCount():1),d=O(f,m,r,g.create(h.NA)),_=O(f,m,l,g.create(h.NA)),C=d.mapValue((E,b,y)=>{const p=_.get(b,y);return e.isError()?e:t.isError()?t:E.isError()?E:p.isError()?p:s?a:this._handleSingleObject(o,c,E,p)});return f===1&&m===1?C.get(0,0):C}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=F(r,n);if(s)return a;const[c,l]=o,f=+c.getValue(),m=+l.getValue();if(t.reduce((_,C)=>_+C,0)!==1)return g.create(h.NUM);let d=0;for(let _=0;_<e.length;_++)e[_]>=f&&e[_]<=m&&(d+=t[_]);return R.create(d)}_handleXRangeAndProbRange(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return{isError:!0,errorObject:o,xRangeValues:[],probRangeValues:[]};let c=t;if(t.isArray()&&s===1&&a===1&&(c=t.get(0,0)),c.isError())return{isError:!0,errorObject:c,xRangeValues:[],probRangeValues:[]};if((r*n===1||s*a===1)&&(o.isNull()||c.isNull()))return{isError:!0,errorObject:g.create(h.VALUE),xRangeValues:[],probRangeValues:[]};if(r*n!==s*a)return{isError:!0,errorObject:g.create(h.NA),xRangeValues:[],probRangeValues:[]};const{isError:l,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=qe(e,t,r*n,n,a);return l?{isError:!0,errorObject:f,xRangeValues:[],probRangeValues:[]}:_?{isError:!0,errorObject:g.create(h.DIV_BY_ZERO),xRangeValues:[],probRangeValues:[]}:{isError:!1,errorObject:null,xRangeValues:m,probRangeValues:d}}}class J_ extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=this._getValues(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(e instanceof g)return e;const{isError:r,errorObject:n,variants:s}=F(t);if(r)return n;const[a]=s,o=Math.floor(+a.getValue());if(o<=0||o>=4)return g.create(h.NUM);const c=o/4,l=e.length;if(c<1/(l+1)||c>1-1/(l+1))return g.create(h.NUM);const f=c*(l+1)-1,m=Math.floor(f),d=f-m;if(d===0)return R.create(e[m]);const _=e[m]+d*(e[m+1]-e[m]);return R.create(_)}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()||o.isBoolean())continue;const c=o.getValue();M.isRealNum(c)&&n.push(+c)}return n.length===0?g.create(h.NUM):n.sort((s,a)=>s-a)}}class eA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){let n=e;n.isReferenceObject()&&(n=n.toArrayValueObject());const{refHasError:s,refErrorObject:a,refNumbers:o}=this._checkRefReferenceObject(t);let c=r!=null?r:R.create(0);c.isReferenceObject()&&(c=c.toArrayValueObject());const l=Math.max(n.isArray()?n.getRowCount():1,c.isArray()?c.getRowCount():1),f=Math.max(n.isArray()?n.getColumnCount():1,c.isArray()?c.getColumnCount():1),m=O(l,f,n,g.create(h.NA)),d=O(l,f,c,g.create(h.NA)),_=m.map((C,E,b)=>{const y=d.get(E,b);if(!e.isReferenceObject()&&e.isNull())return g.create(h.NA);if(s)return a;if(y.isError())return y;const p=+C.getValue(),V=+y.getValue();return Number.isNaN(p)||Number.isNaN(V)?g.create(h.VALUE):this._getResult(p,V,o)});return l===1&&f===1?_.get(0,0):_}_getResult(e,t,r){const n=r.sort((c,l)=>t?c-l:l-c);let s=n.indexOf(e);const a=[];for(;s>=0;){const c=s+1;a.push(c),s=n.indexOf(e,c)}if(a.length===0)return g.create(h.NA);const o=a.reduce((c,l)=>c+l,0)/a.length;return R.create(o)}_checkRefReferenceObject(e){let t=!1,r=g.create(h.NA);const n=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(a=>{const o=a;if(o.isError())return t=!0,r=o,!1;if(o.isNull()||o.isBoolean())return!0;const c=+o.getValue();if(Number.isNaN(c))return!0;n.push(c)}),{refHasError:t,refErrorObject:r,refNumbers:n}):{refHasError:!0,refErrorObject:r,refNumbers:n}}}class tA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3);A(this,"needsReferenceObject",!0)}calculate(e,t,r){let n=e;n.isReferenceObject()&&(n=n.toArrayValueObject());const{refHasError:s,refErrorObject:a,refNumbers:o}=this._checkRefReferenceObject(t);let c=r!=null?r:R.create(0);c.isReferenceObject()&&(c=c.toArrayValueObject());const l=Math.max(n.isArray()?n.getRowCount():1,c.isArray()?c.getRowCount():1),f=Math.max(n.isArray()?n.getColumnCount():1,c.isArray()?c.getColumnCount():1),m=O(l,f,n,g.create(h.NA)),d=O(l,f,c,g.create(h.NA)),_=m.map((C,E,b)=>{const y=d.get(E,b);if(!e.isReferenceObject()&&e.isNull())return g.create(h.NA);if(s)return a;if(y.isError())return y;const p=+C.getValue(),V=+y.getValue();if(Number.isNaN(p)||Number.isNaN(V))return g.create(h.VALUE);const D=o.sort((w,L)=>V?w-L:L-w).indexOf(p);return D===-1?g.create(h.NA):R.create(D+1)});return l===1&&f===1?_.get(0,0):_}_checkRefReferenceObject(e){let t=!1,r=g.create(h.NA);const n=[];return e.isReferenceObject()?(e.toArrayValueObject().iterator(a=>{const o=a;if(o.isError())return t=!0,r=o,!1;if(o.isNull()||o.isBoolean())return!0;const c=+o.getValue();if(Number.isNaN(c))return!0;n.push(c)}),{refHasError:t,refErrorObject:r,refNumbers:n}):{refHasError:!0,refErrorObject:r,refNumbers:n}}}class rA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let c=t;if(t.isArray()&&s===1&&a===1&&(c=t.get(0,0)),c.isError())return c;if((r*n===1||s*a===1)&&(o.isNull()||c.isNull()))return g.create(h.VALUE);if(r*n!==s*a)return g.create(h.NA);const{isError:l,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=qe(e,t,r*n,n,a);return l?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){if(e.length===0)return g.create(h.DIV_BY_ZERO);const r=e.length;let n=0,s=0;for(let d=0;d<r;d++)n+=e[d],s+=t[d];const a=n/r,o=s/r;let c=0,l=0,f=0;for(let d=0;d<r;d++)c+=(e[d]-a)*(t[d]-o),l+=(e[d]-a)**2,f+=(t[d]-o)**2;if(l===0||f===0)return g.create(h.DIV_BY_ZERO);const m=(c/Math.sqrt(l*f))**2;return R.create(m)}}class nA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];let r=0;for(let n=0;n<e.length;n++){const s=e[n];if(s.isError())return s;if(s.isString()){const c=s.convertToNumberObjectValue();if(c.isError())return c}const a=s.isArray()?s.getRowCount():1,o=s.isArray()?s.getColumnCount():1;for(let c=0;c<a;c++)for(let l=0;l<o;l++){const f=s.isArray()?s.get(c,l):s;if(f.isError())return f;if(f.isNull()||f.isBoolean())continue;const m=f.getValue();M.isRealNum(m)&&(t.push(+m),r+=+m)}}return t.length<=2?g.create(h.DIV_BY_ZERO):this._getResult(t,r)}_getResult(e,t){const r=e.length,n=t/r;let s=0;for(let l=0;l<r;l++)s+=(e[l]-n)**2;const a=Math.sqrt(s/(r-1));if(a===0)return g.create(h.DIV_BY_ZERO);let o=0;for(let l=0;l<r;l++)o+=((e[l]-n)/a)**3;const c=r/((r-1)*(r-2))*o;return R.create(c)}}class sA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=[];let r=0;for(let n=0;n<e.length;n++){const s=e[n];if(s.isError())return s;if(s.isString()){const c=s.convertToNumberObjectValue();if(c.isError())return c}const a=s.isArray()?s.getRowCount():1,o=s.isArray()?s.getColumnCount():1;for(let c=0;c<a;c++)for(let l=0;l<o;l++){const f=s.isArray()?s.get(c,l):s;if(f.isError())return f;if(f.isNull()||f.isBoolean())continue;const m=f.getValue();M.isRealNum(m)&&(t.push(+m),r+=+m)}}return t.length<=2?g.create(h.DIV_BY_ZERO):this._getResult(t,r)}_getResult(e,t){const r=e.length,n=t/r;let s=0;for(let l=0;l<r;l++)s+=(e[l]-n)**2;const a=Math.sqrt(s/r);if(a===0)return g.create(h.DIV_BY_ZERO);let o=0;for(let l=0;l<r;l++)o+=((e[l]-n)/a)**3;const c=o/r;return R.create(c)}}class aA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let c=t;if(t.isArray()&&s===1&&a===1&&(c=t.get(0,0)),c.isError())return c;if(r*n===1||s*a===1)return o.isNull()||c.isNull()?g.create(h.VALUE):g.create(h.DIV_BY_ZERO);if(r*n!==s*a)return g.create(h.NA);const{isError:l,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=qe(e,t,r*n,n,a);return l?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){const r=e.length;let n=0,s=0;for(let m=0;m<r;m++)n+=e[m],s+=t[m];const a=n/r,o=s/r;let c=0,l=0;for(let m=0;m<r;m++)c+=(e[m]-a)*(t[m]-o),l+=(t[m]-o)**2;if(l===0)return g.create(h.DIV_BY_ZERO);const f=c/l;return R.create(f)}}class iA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=this._getValues(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(e instanceof g)return e;const{isError:r,errorObject:n,variants:s}=F(t);if(r)return n;const[a]=s;let o=+a.getValue();return o<1||o>e.length?g.create(h.NUM):(o=Math.floor(o),R.create(e[o-1]))}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()||o.isBoolean()||o.isString())continue;const c=o.getValue();M.isRealNum(c)&&n.push(+c)}return n.length===0?g.create(h.NUM):n.sort((s,a)=>s-a)}}class oA extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=+c.getValue(),d=+l.getValue();if(d<=0)return g.create(h.NUM);const _=(f-m)/d;return R.create(_)}}class uA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.std(1)}}class cA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.std()}}class lA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1,s=t.isArray()?t.getRowCount():1,a=t.isArray()?t.getColumnCount():1;let o=e;if(e.isArray()&&r===1&&n===1&&(o=e.get(0,0)),o.isError())return o;let c=t;if(t.isArray()&&s===1&&a===1&&(c=t.get(0,0)),c.isError())return c;if((r*n===1||s*a===1)&&(o.isNull()||c.isNull()))return g.create(h.VALUE);if(r*n!==s*a)return g.create(h.NA);const{isError:l,errorObject:f,array1Values:m,array2Values:d,noCalculate:_}=qe(e,t,r*n,n,a);return l?f:_?g.create(h.DIV_BY_ZERO):this._getResult(m,d)}_getResult(e,t){const r=e.length;if(r<=2)return g.create(h.DIV_BY_ZERO);let n=0,s=0;for(let d=0;d<r;d++)n+=e[d],s+=t[d];const a=n/r,o=s/r;let c=0,l=0,f=0;for(let d=0;d<r;d++)c+=(e[d]-a)*(t[d]-o),l+=(e[d]-a)**2,f+=(t[d]-o)**2;if(f===0)return g.create(h.DIV_BY_ZERO);const m=Math.sqrt((l-c**2/f)/(r-2));return Number.isNaN(m)||!Number.isFinite(m)?g.create(h.NUM):R.create(m)}}class fA extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a,f=+o.getValue(),m=Math.floor(+c.getValue()),d=+l.getValue();if(m<1)return g.create(h.NUM);let _;return d?_=xr(f,m):_=Tm(f,m),Number.isNaN(_)||!Number.isFinite(_)?g.create(h.NUM):R.create(_)}}class mA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);return c.isError()?c:m.isError()?m:this._handleSingleObject(c,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=F(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=Math.floor(+o.getValue());if(c<0||l<1||l>10**10)return g.create(h.NUM);const f=xr(-c,l)*2;return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):R.create(f)}}class hA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);return c.isError()?c:m.isError()?m:this._handleSingleObject(c,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=F(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=Math.floor(+o.getValue());if(l<1||l>10**10)return g.create(h.NUM);const f=xr(-c,l);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):R.create(f)}}class gA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);return c.isError()?c:m.isError()?m:this._handleSingleObject(c,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=F(e,t);if(r)return n;const[a,o]=s,c=+a.getValue(),l=Math.floor(+o.getValue());if(c<=0||c>1||l<1||l>10**10)return g.create(h.NUM);const f=Wn(c,l);return Number.isNaN(f)||!Number.isFinite(f)?g.create(h.NUM):R.create(f)}}class dA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",4)}calculate(e,t,r,n){const{isError:s,errorObject:a}=Qn(e,t,r);if(s)return a;const o=ut(e);if(o instanceof g)return o;const c=this._getKnownXsValues(o,t);if(c instanceof g)return c;const l=this._getNewXsValues(c,r);if(l instanceof g)return l;let f=n!=null?n:I.create(!0);if(f.isArray()&&(f=f.get(0,0)),f.isString()&&(f=f.convertToNumberObjectValue()),f.isError())return f;const m=+f.getValue();return this._getResult(o,c,l,m)}_getResult(e,t,r,n){return e.length===1&&t.length>1||e[0].length===1&&t[0].length>1?e.length===1&&t.length>1&&(n?t.length+1:t.length)>e[0].length||e[0].length===1&&t[0].length>1&&(n?t[0].length+1:t[0].length)>e.length?g.create(h.NA):this._getResultByMultipleVariables(e,t,r,n):this._getResultBySimpleVariables(e,t,r,n)}_getResultByMultipleVariables(e,t,r,n){const s=e.length===1&&e[0].length>1,a=Xn(e,t,r,n,!1);if(a instanceof g)return a;const{coefficients:o,newX:c}=a,l=o[0].length,f=o[0][l-1];let m=[];for(let d=0;d<c.length;d++){m[d]=[];let _=f;for(let C=l-2;C>=0;C--)_+=o[0][l-2-C]*c[d][C];m[d].push(_)}return s&&(m=it(m)),q.createByArray(m)}_getResultBySimpleVariables(e,t,r,n){const s=e.flat(),a=t.flat(),{slope:o,intercept:c}=Kn(a,s,n,!1);if(Number.isNaN(o))return g.create(h.NA);const l=r.map(f=>f.map(m=>o*m+c));return q.createByArray(l)}_getKnownXsValues(e,t){return!t||t.isNull()?qn(e.length,e[0].length):ut(t)}_getNewXsValues(e,t){return!t||t.isNull()?e:ut(t)}}class CA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=this._getValues(e);if(t.isArray()){const n=t.mapValue(s=>this._handleSingleObject(r,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(r,t)}_handleSingleObject(e,t){if(e instanceof g)return e;const{isError:r,errorObject:n,variants:s}=F(t);if(r)return n;const[a]=s,o=+a.getValue();if(o<0||o>=1)return g.create(h.NUM);const c=He(e.length*o/2,0)*2,l=e.slice(c/2,e.length-c/2),f=l.reduce((m,d)=>m+d,0)/l.length;return R.create(f)}_getValues(e){const t=e.isArray()?e.getRowCount():1,r=e.isArray()?e.getColumnCount():1,n=[];for(let s=0;s<t;s++)for(let a=0;a<r;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;if(o.isNull()||o.isBoolean())continue;const c=o.getValue();M.isRealNum(c)&&n.push(+c)}return n.length===0?g.create(h.NUM):n.sort((s,a)=>s-a)}}class _A extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.var(1)}}class AA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.var()}}const Du=[[ZC,T.AVEDEV],[JC,T.AVERAGE],[e_,T.AVERAGE_WEIGHTED],[t_,T.AVERAGEA],[r_,T.AVERAGEIF],[n_,T.AVERAGEIFS],[s_,T.BETA_DIST],[wo,T.BETA_INV],[Lo,T.BINOM_DIST],[a_,T.BINOM_DIST_RANGE],[xo,T.BINOM_INV],[i_,T.CHISQ_DIST],[Po,T.CHISQ_DIST_RT],[o_,T.CHISQ_INV],[jo,T.CHISQ_INV_RT],[Uo,T.CHISQ_TEST],[vo,T.CONFIDENCE_NORM],[u_,T.CONFIDENCE_T],[c_,T.CORREL],[l_,T.COUNT],[f_,T.COUNTA],[m_,T.COUNTBLANK],[h_,T.COUNTIF],[g_,T.COUNTIFS],[To,T.COVARIANCE_P],[C_,T.COVARIANCE_S],[__,T.DEVSQ],[Io,T.EXPON_DIST],[A_,T.F_DIST],[Fo,T.F_DIST_RT],[E_,T.F_INV],[Bo,T.F_INV_RT],[ko,T.F_TEST],[b_,T.FISHER],[y_,T.FISHERINV],[mi,T.FORECAST],[mi,T.FORECAST_LINEAR],[R_,T.FREQUENCY],[p_,T.GAMMA],[$o,T.GAMMA_DIST],[Yo,T.GAMMA_INV],[hi,T.GAMMALN],[hi,T.GAMMALN_PRECISE],[N_,T.GAUSS],[V_,T.GEOMEAN],[O_,T.GROWTH],[M_,T.HARMEAN],[S_,T.HYPGEOM_DIST],[D_,T.INTERCEPT],[w_,T.KURT],[L_,T.LARGE],[x_,T.LINEST],[P_,T.LOGEST],[j_,T.LOGNORM_DIST],[Ho,T.LOGNORM_INV],[U_,T.MARGINOFERROR],[v_,T.MAX],[T_,T.MAXA],[I_,T.MAXIFS],[F_,T.MEDIAN],[B_,T.MIN],[k_,T.MINA],[$_,T.MINIFS],[Y_,T.MODE_MULT],[Go,T.MODE_SNGL],[H_,T.NEGBINOM_DIST],[Wo,T.NORM_DIST],[Qo,T.NORM_INV],[G_,T.NORM_S_DIST],[qo,T.NORM_S_INV],[W_,T.PEARSON],[Q_,T.PERCENTILE_EXC],[Ko,T.PERCENTILE_INC],[q_,T.PERCENTRANK_EXC],[Xo,T.PERCENTRANK_INC],[K_,T.PERMUT],[X_,T.PERMUTATIONA],[Z_,T.PHI],[Zo,T.POISSON_DIST],[z_,T.PROB],[J_,T.QUARTILE_EXC],[zo,T.QUARTILE_INC],[eA,T.RANK_AVG],[tA,T.RANK_EQ],[rA,T.RSQ],[nA,T.SKEW],[sA,T.SKEW_P],[aA,T.SLOPE],[iA,T.SMALL],[oA,T.STANDARDIZE],[Jo,T.STDEV_P],[eu,T.STDEV_S],[uA,T.STDEVA],[cA,T.STDEVPA],[lA,T.STEYX],[fA,T.T_DIST],[mA,T.T_DIST_2T],[hA,T.T_DIST_RT],[gA,T.T_INV],[tu,T.T_INV_2T],[ru,T.T_TEST],[dA,T.TREND],[CA,T.TRIMMEAN],[nu,T.VAR_P],[su,T.VAR_S],[_A,T.VARA],[AA,T.VARPA],[au,T.WEIBULL_DIST],[iu,T.Z_TEST]];class EA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){let r=t!=null?t:R.create(0);if(t!=null&&t.isNull()&&(r=R.create(0)),r.isArray()){const n=r.mapValue(s=>this._handleSingleObject(e,s));return n.getRowCount()===1&&n.getColumnCount()===1?n.get(0,0):n}return this._handleSingleObject(e,r)}_handleSingleObject(e,t){const r=this._checkArray(e);if(r.isError())return r;const{isError:n,errorObject:s,variants:a}=F(t);if(n)return s;const[o]=a,c=+o.getValue(),l=e.isArray()?e.getRowCount():1,f=e.isArray()?e.getColumnCount():1;let m="";for(let d=0;d<l;d++)for(let _=0;_<f;_++){const C=e.isArray()?e.get(d,_):e;let E=`${C.getValue()}`;C.isNull()&&(E=""),C.isBoolean()&&(E=E.toLocaleUpperCase()),C.isString()&&c?m+=`"${E}"`:m+=E,d===l-1&&_===f-1||(c?_===f-1?m+=";":m+=",":m+=", ")}return c&&(m=`{${m}}`),m.length>32767?g.create(h.CALC):j.create(m)}_checkArray(e){if(e.isArray()){const t=e.getRowCount(),r=e.getColumnCount();return t>1||r>1?e:e.get(0,0)}return e}}class bA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError()||e.isNull()||e.isBoolean()||e.isNumber())return e;const t=e.getValue().toLocaleString();let r="";for(let n=0;n<t.length;n++){let s=t.charCodeAt(n);s===12288?s=32:s>=65281&&s<=65374&&(s-=65248),r+=String.fromCharCode(s)}return j.create(r)}}class yA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=F(e);if(t)return r;const[s]=n,a=+s.getValue(),o=Math.abs(Number.parseInt(a.toString(),10)),c=Number.parseFloat((Math.abs(a)-o).toFixed(2));let l="";return o===0?c!==0?l=`${a<0?"ลบ":""}${this._convertNumberToThaiText(c*100)}สตางค์`:l="ศูนย์บาทถ้วน":c===0?l=`${a<0?"ลบ":""}${this._convertNumberToThaiText(o)}บาทถ้วน`:l=`${a<0?"ลบ":""}${this._convertNumberToThaiText(o)}บาท${this._convertNumberToThaiText(c*100)}สตางค์`,j.create(l)}_convertNumberToThaiText(e){const t=["ล้าน","สิบ","ร้อย","พัน","หมื่น","แสน",""],r=["ศูนย์","หนึ่ง","สอง","สาม","สี่","ห้า","หก","เจ็ด","แปด","เก้า"],n=["ลบ","บาท","ถ้วน","สตางค์","ยี่","เอ็ด",","," ","฿"],s=e.toString(),a=s.length;let o="";for(let c=a;c>0;c--){const l=Number.parseInt(s.charAt(a-c),10);let f=r[l];const m=c>1?(c-1)%6:6;if(m===1&&l===2&&(f=n[4]),l===1)switch(m){case 0:case 6:o+=c<a?n[5]:f;break;case 1:break;default:o+=f;break}else if(l===0){m===0&&(o+=t[m]);continue}else o+=f;o+=t[m]}return o}}const RA=Object.values(M.DataStreamTreeTokenType).filter(i=>[M.DataStreamTreeTokenType.TABLE_START,M.DataStreamTreeTokenType.TABLE_ROW_START,M.DataStreamTreeTokenType.TABLE_CELL_START,M.DataStreamTreeTokenType.TABLE_CELL_END,M.DataStreamTreeTokenType.TABLE_ROW_END,M.DataStreamTreeTokenType.TABLE_END,M.DataStreamTreeTokenType.CUSTOM_BLOCK].includes(i));class pA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=F(e);if(t)return r;const[s]=n,a=Math.floor(+s.getValue());if(a<=0)return g.create(h.VALUE);let o=String.fromCharCode(a);return RA.some(c=>c===o)&&(o=""),j.create(o)}}class NA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError()||e.isBoolean()||e.isNumber())return e;if(e.isNull())return j.create("");const r=`${e.getValue()}`.replace(/[\0-\x1F]/g,"");return j.create(r)}}class VA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);let t=e.getValue().toLocaleString();if(e.isBoolean()&&(t=t.toLocaleUpperCase()),t==="")return g.create(h.VALUE);const r=t.charCodeAt(0);return R.create(r)}}class OA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t="",r=null;for(const n of e)if(n.isArray()){if(n.iterator(s=>{if(s==null||s.isNull())return!0;if(s.isError())return r=s,!1;s.isBoolean()?t+=`${s.getValue()}`.toLocaleUpperCase():(s.isString()||s.isNumber())&&(t+=s.getValue())}),r)return r}else!n.isError()&&!n.isNull()&&(t+=n.getValue());return j.create(t)}}class MA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",255)}calculate(...e){let t=0,r=0;e.forEach(s=>{if(s.isArray()){const a=s;t=Math.max(t,a.getRowCount()),r=Math.max(r,a.getColumnCount())}else t=Math.max(t,1),r=Math.max(r,1)});let n=null;for(const s of e)n=O(t,r,s,g.create(h.NA)).mapValue((o,c,l)=>{const f=n&&n.get(c,l);if(f!=null&&f.isError())return f;if(o.isError())return o;let m=f==null?void 0:f.getValue(),d=o==null?void 0:o.getValue();f!=null&&f.isBoolean()&&(m=`${m}`.toLocaleUpperCase()),o!=null&&o.isBoolean()&&(d=`${d}`.toLocaleUpperCase());const _=f!=null&&f.isNull()?"":m!=null?m:"",C=o!=null&&o.isNull()?"":d!=null?d:"";return j.create(`${_}${C}`)});return n||g.create(h.VALUE)}}class SA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return j.create("");let t=`${e.getValue()}`;e.isBoolean()&&(t=t.toLocaleUpperCase());let r="";for(let n=0;n<t.length;n++){const s=t.charCodeAt(n);s>=33&&s<=126?r+=String.fromCharCode(s+65248):s===32?r+=" ":r+=t.charAt(n)}return j.create(r)}}class DA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2);A(this,"needsLocale",!0)}calculate(e,t){let r=t!=null?t:R.create(2);r.isNull()&&(r=R.create(2));const n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),c=a.mapValue((l,f,m)=>{const d=o.get(f,m);return l.isError()?l:d.isError()?d:this._handleSingleObject(l,d)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=F(e,t);if(r)return n;const[a,o]=s;let c=+a.getValue(),l=Math.trunc(+o.getValue());if(l>127)return g.create(h.VALUE);l<0&&(`${c}`.length<Math.abs(l)?c=0:c=c<0?-Dt(Math.abs(c),l):Dt(c,l),l=0);const f=qc(this.getLocale(),c,l);return j.create(f)}}class wA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,le.create()),a=O(r,n,t,le.create()),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);return c.isError()?c:m.isError()?m:this._handleSingleObject(c,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){if(e.isNull()||t.isNull()){const a=e.isNull()&&t.isNull();return I.create(a)}let r=`${e.getValue()}`;e.isBoolean()&&(r=r.toLocaleUpperCase());let n=`${t.getValue()}`;t.isBoolean()&&(n=n.toLocaleUpperCase());const s=r===n;return I.create(s)}}const Ma=(i,u)=>M.numfmt.format(i,u,{throws:!1}),Oe=i=>{let u=`${i.getValue()}`;return i.isNull()&&(u=""),i.isBoolean()&&(u=u.toLocaleUpperCase()),i.isNumber()&&(i.getPattern()!==""?u=Ma(i.getPattern(),+i.getValue()):u=`${In(+i.getValue())}`),u};class LA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:R.create(1),s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,n,g.create(h.NA)),f=o.mapValue((m,d,_)=>{const C=c.get(d,_),E=l.get(d,_);return m.isError()?m:C.isError()?C:E.isError()?E:this._handleSingleObject(m,C,E)});return s===1&&a===1?f.get(0,0):f}_handleSingleObject(e,t,r){const n=Oe(e),s=Oe(t),{isError:a,errorObject:o,variants:c}=F(r);if(a)return o;const[l]=c,f=Math.floor(+l.getValue());if(t.isNull()||f<=0||f>s.length)return g.create(h.VALUE);if(e.isNull()||n.length===0)return R.create(f);const m=s.indexOf(n,f-1);return m===-1?g.create(h.VALUE):R.create(m+1)}}function Sa(i){let u=0;for(let e=0;e<i.length;e++)u+=vr(i,e);return u}function vr(i,u,e="ltr"){return xA(i,u,e)>255?2:1}function gi(i){return i>=55296&&i<=56319}function di(i){return i>=56320&&i<=57343}function Ci(i,u){const e=(i&1023)<<10,t=u&1023;return e+t+65536}function xA(i,u,e="ltr"){const t=i.charCodeAt(u);if(e==="ltr"&&gi(t)&&u+1<i.length){const r=i.charCodeAt(u+1);if(di(r))return Ci(t,r)}if(e==="rtl"&&di(t)&&u-1>=0){const r=i.charCodeAt(u-1);if(gi(r))return Ci(r,t)}return t}class PA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:R.create(1),s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,n,g.create(h.NA)),f=o.mapValue((m,d,_)=>{const C=c.get(d,_),E=l.get(d,_);return m.isError()?m:C.isError()?C:E.isError()?E:this._handleSingleObject(m,C,E)});return s===1&&a===1?f.get(0,0):f}_handleSingleObject(e,t,r){const n=Oe(e),s=Oe(t),{isError:a,errorObject:o,variants:c}=F(r);if(a)return o;const[l]=c,f=Math.floor(+l.getValue());if(t.isNull()||f<=0||f>s.length)return g.create(h.VALUE);if(e.isNull()||n.length===0)return R.create(f);const m=s.indexOf(n,f-1);if(m===-1)return g.create(h.VALUE);const d=Sa(s.substring(0,m))+1;return R.create(d)}}class jA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}calculate(e,t,r){let n=t!=null?t:R.create(2);n.isNull()&&(n=R.create(2));let s=r!=null?r:I.create(!1);s.isNull()&&(s=I.create(!1));const a=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1,s.isArray()?s.getColumnCount():1),c=O(a,o,e,g.create(h.NA)),l=O(a,o,n,g.create(h.NA)),f=O(a,o,s,g.create(h.NA)),m=c.mapValue((d,_,C)=>{const E=l.get(_,C),b=f.get(_,C);return d.isError()?d:E.isError()?E:b.isError()?b:this._handleSingleObject(d,E,b)});return a===1&&o===1?m.get(0,0):m}_handleSingleObject(e,t,r){const{isError:n,errorObject:s,variants:a}=F(e,t,r);if(n)return s;const[o,c,l]=a;let f=+o.getValue(),m=Math.trunc(+c.getValue());const d=+l.getValue();if(m>127)return g.create(h.VALUE);m<0&&(`${f}`.length<Math.abs(m)?f=0:f=f<0?-Dt(Math.abs(f),m):Dt(f,m),m=0);let _=d?"###0":"#,##0";m>0&&(_+=`.${"0".repeat(m)}`);const C=Ma(_,f);return j.create(C)}}class UA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:R.create(1),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),c=a.mapValue((l,f,m)=>{const d=o.get(f,m);return l.isError()?l:d.isError()?d:this._handleSingleObject(l,d)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t){const r=Oe(e),{isError:n,errorObject:s,variants:a}=F(t);if(n)return s;const[o]=a,c=Math.floor(+o.getValue());if(c<0)return g.create(h.VALUE);if(e.isNull()||c===0)return j.create("");if(c>=r.length)return j.create(r);const l=r.substring(0,c);return j.create(l)}}class vA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:R.create(1),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,le.create()),o=O(n,s,r,le.create()),c=a.mapValue((l,f,m)=>{const d=o.get(f,m);return l.isError()?l:d.isError()?d:this._handleSingleObject(l,d)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t){const r=Oe(e),{isError:n,errorObject:s,variants:a}=F(t);if(n)return s;const[o]=a,c=Math.floor(+o.getValue());if(c<0)return g.create(h.VALUE);if(e.isNull()||c===0)return j.create("");let l=0,f=0,m="";for(;f<c&&l<r.length;)f+=vr(r,l),m+=r.charAt(l),l++;return j.create(m)}}class TA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleText(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;const t=Oe(e);return R.create(t.length)}}class IA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleText(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;const t=Oe(e),r=Sa(t);return R.create(r)}}class FA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return j.create("");const t=`${e.getValue()}`.toLocaleLowerCase();return j.create(t)}}class BA extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){const n=Oe(e),{isError:s,errorObject:a,variants:o}=F(t,r);if(s)return a;const[c,l]=o,f=Math.floor(+c.getValue()),m=Math.floor(+l.getValue());if(f<=0||m<0)return g.create(h.VALUE);if(e.isNull()||f>n.length||m===0)return j.create("");const d=n.substring(f-1,f-1+m);return j.create(d)}}class kA extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const n=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,t,g.create(h.NA)),c=O(n,s,r,g.create(h.NA)),l=a.mapValue((f,m,d)=>{const _=o.get(m,d),C=c.get(m,d);return f.isError()?f:_.isError()?_:C.isError()?C:this._handleSingleObject(f,_,C)});return n===1&&s===1?l.get(0,0):l}_handleSingleObject(e,t,r){let n=Oe(e);const{isError:s,errorObject:a,variants:o}=F(t,r);if(s)return a;const[c,l]=o,f=Math.floor(+c.getValue()),m=Math.floor(+l.getValue());if(f<=0||m<0)return g.create(h.VALUE);if(e.isNull()||f>n.length||m===0)return j.create("");n=n.substring(f-1);let d=0,_=0,C="";for(;_<m&&d<n.length;)_+=vr(n,d),C+=n.charAt(d),d++;return j.create(C)}}const mr=["〇","一","二","三","四","五","六","七","八","九"],$r=["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"],$A=["","十","百","千"],YA=["","拾","佰","仟"],HA=["","万","亿","兆"];class GA extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.mapValue((c,l,f)=>{const m=a.get(l,f);return c.isError()?c:m.isError()?m:this._handleSingleObject(c,m)});return r===1&&n===1?o.get(0,0):o}_handleSingleObject(e,t){const r=e.convertToNumberObjectValue();if(r.isError())return r;const n=t.convertToNumberObjectValue();if(n.isError())return n;let s=r.getValue();const a=Math.trunc(n.getValue());if(s<0||![1,2,3].includes(a))return g.create(h.NUM);s=Math.round(s);const o=s.toString(),c=o.length;let l="",f=!1;for(let m=0;m<c;m++){const d=Number(o[m]);if(c===1&&d===0){l+=a===2?$r[0]:mr[0];break}if(a===3){l+=mr[d];continue}const _=c-m-1,C=_%4,E=Math.trunc(_/4);if(c>=17&&E>2){if(l+=a===1?mr[d]:$r[d],E>3)continue}else d===0?f=C!==0:(f&&(l+=a===1?mr[0]:$r[0],f=!1),l+=a===1?mr[d]+$A[C]:$r[d]+YA[C]);C===0&&E>0&&o.slice(Math.max(0,m-3),m+1)!=="0000"&&(l+=HA[E])}return j.create(l)}}class WA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",3)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e,t,r){const n=t!=null?t:j.create("."),s=Math.max(e.isArray()?e.getRowCount():1,n.isArray()?n.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,n.isArray()?n.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,n,g.create(h.NA)),l=r?O(s,a,r,g.create(h.NA)):void 0,f=o.mapValue((m,d,_)=>{const C=c.get(d,_),E=r?l.get(d,_):void 0;return m.isError()?m:C.isError()?C:E!=null&&E.isError()?E:C.isNull()||E!=null&&E.isNull()?g.create(h.VALUE):m.isNull()?R.create(0):this._handleSingleObject(m,C,E)});return s===1&&a===1?f.get(0,0):f}_handleSingleObject(e,t,r){let n=`${e.getValue()}`;n=n.replace(/\s+/g,"");let s=`${t.getValue()}`;t.isBoolean()&&(s=s.toLocaleUpperCase()),s=s.charAt(0);let a;if(r&&(a=`${r.getValue()}`,r.isBoolean()&&(a=a.toLocaleUpperCase()),a=a.charAt(0),s===a))return g.create(h.VALUE);if(n.trim()==="")return R.create(0);if(!n.match(/^\s*[+-]?\s*(?:(?:\d+(?:\.\d*)?)|(?:\.\d+))(?:[eE][+-]?\d+)?[ \t]*/))return g.create(h.VALUE);const o=n.split(s);if(o.length>2)return g.create(h.VALUE);let c=o[0].replace(/,/g,"");r&&(c=c.split(a).join(""));let l=0;if(o.length===1){s===","&&(c=c.replace(/\./g,""));let f=0;for(;c.endsWith("%");)c=c.slice(0,-1),f++;f>0?l=+c/100**f:l=+c}else{if(!M.isRealNum(c))return g.create(h.VALUE);let f=o[1],m=0;for(;f.endsWith("%");)f=f.slice(0,-1),m++;const d=`${c}.${f}`;if(!M.isRealNum(d))return g.create(h.VALUE);m>0?l=+d/100**m:l=+d}return Number.isNaN(l)?g.create(h.VALUE):R.create(l)}}class QA extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError()||e.isNull()||e.isBoolean()||e.isNumber())return e;const r=e.getValue().toLocaleString().toLocaleLowerCase().replace(/(^|\b|\W|\d|_)[a-z]/g,n=>n.toLocaleUpperCase());return j.create(r)}}const wu=()=>[{type:4,from:48,to:57}],Lu=()=>[{type:7,value:95},{type:4,from:97,to:122},{type:4,from:65,to:90},{type:4,from:48,to:57}],xu=()=>[{type:7,value:9},{type:7,value:10},{type:7,value:11},{type:7,value:12},{type:7,value:13},{type:7,value:32},{type:7,value:160},{type:7,value:5760},{type:4,from:8192,to:8202},{type:7,value:8232},{type:7,value:8233},{type:7,value:8239},{type:7,value:8287},{type:7,value:12288},{type:7,value:65279}],Pu=()=>({type:3,set:Lu(),not:!1}),ju=()=>({type:3,set:Lu(),not:!0}),Uu=()=>({type:3,set:wu(),not:!1}),vu=()=>({type:3,set:wu(),not:!0}),Tu=()=>({type:3,set:xu(),not:!1}),Iu=()=>({type:3,set:xu(),not:!0}),qA=()=>({type:3,set:[{type:7,value:10},{type:7,value:13},{type:7,value:8232},{type:7,value:8233}],not:!0});function KA(i){const u={type:0,stack:[]};let e=u,t=u.stack;const r=[],n=[];let s=0;const a=f=>{throw new SyntaxError(`Invalid regular expression: /${i}/: Nothing to repeat at column ${f-1}`)},o=ZA(i);let c=0,l;for(;c<o.length;)switch(l=o[c++],l){case"\\":if(c===o.length)throw new SyntaxError(`Invalid regular expression: /${i}/: \\ at end of pattern`);switch(l=o[c++],l){case"b":t.push({type:2,value:"b"});break;case"B":t.push({type:2,value:"B"});break;case"w":t.push(Pu());break;case"W":t.push(ju());break;case"d":t.push(Uu());break;case"D":t.push(vu());break;case"s":t.push(Tu());break;case"S":t.push(Iu());break;default:if(/\d/.test(l)){for(;/\d/.test(o[c])&&c<o.length;)l+=o[c++];const f=Number.parseInt(l,10);t.push({type:6,value:f}),n.push({reference:{type:6,value:f},stack:t,index:t.length-1})}else t.push({type:7,value:l.charCodeAt(0)})}break;case"^":t.push({type:2,value:"^"});break;case"$":t.push({type:2,value:"$"});break;case"[":{const f=o[c]==="^";f&&c++;const m=XA(o.slice(c),i);c+=m[1],t.push({type:3,set:m[0],not:f});break}case".":t.push(qA());break;case"(":{const f={type:1,stack:[],remember:!0};if(o[c]==="?"){const m=o[c+1];if(c+=2,m==="=")f.followedBy=!0;else if(m==="!")f.notFollowedBy=!0;else if(m!==":")throw new SyntaxError(`Invalid regular expression: /${i}/: Invalid group, character '${m}' after '?' at column ${c-1}`);f.remember=!1}else s+=1;t.push(f),r.push(e),e=f,t=f.stack;break}case")":if(r.length===0)throw new SyntaxError(`Invalid regular expression: /${i}/: Unmatched ) at column ${c-1}`);e=r.pop(),t=e.options?e.options[e.options.length-1]:e.stack;break;case"|":{e.options||(e.options=[e.stack],delete e.stack);const f=[];e.options.push(f),t=f;break}case"{":{const f=/^(\d+)(,(\d+)?)?\}/.exec(o.slice(c));if(f){t.length===0&&a(c);const m=Number.parseInt(f[1],10),d=f[2]?f[3]?Number.parseInt(f[3],10):1/0:m;c+=f[0].length,t.push({type:5,min:m,max:d,value:t.pop()})}else t.push({type:7,value:123});break}case"?":t.length===0&&a(c),t.push({type:5,min:0,max:1,value:t.pop()});break;case"+":t.length===0&&a(c),t.push({type:5,min:1,max:1/0,value:t.pop()});break;case"*":t.length===0&&a(c),t.push({type:5,min:0,max:1/0,value:t.pop()});break;default:t.push({type:7,value:l.charCodeAt(0)})}if(r.length>0)throw new SyntaxError(`Invalid regular expression: /${i}/: Unterminated group`);return zA(n,s),u}function XA(i,u){let e;const t=[],r=/\\(?:(w)|(d)|(s)|(W)|(D)|(S))|((?:(?:\\)(.)|([^\]\\]))-(((?:\\)])|(((?:\\)?([^\]])))))|(\])|(?:\\)?([^])/g;for(;(e=r.exec(i))!==null;){let n=null;const[,s,a,o,c,l,f,m,d,_,C]=e;if(s||a||o||c||l||f?n=(()=>{let E={type:3,set:[],not:!1};return s?E=Pu():a?E=Uu():o?E=Tu():c?E=ju():l?E=vu():f&&(E=Iu()),E})():m&&C?n={type:4,from:(d||_).charCodeAt(0),to:C.charCodeAt(C.length-1)}:e[16]&&(n={type:7,value:e[16].charCodeAt(0)}),!n)return[t,r.lastIndex];t.push(n)}throw new SyntaxError(`Invalid regular expression: /${u}/: Unterminated character class`)}function ZA(i){return i.replace(/(\[\\b\])|(\\)?\\(?:u([A-F0-9]{4})|x([A-F0-9]{2})|c([@A-Z[\\\]^?])|([0tnvfr]))/g,(u,e,t,r,n,s,a)=>{if(t)return u;let o;e?o=8:r?o=Number.parseInt(r,16):n?o=Number.parseInt(n,16):s?o="@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^ ?".indexOf(s):o={0:0,t:9,n:10,v:11,f:12,r:13}[a];const c=String.fromCharCode(o);return/[[\]{}^$.|?*+()]/.test(c)?`\\${c}`:c})}function zA(i,u){for(const e of i.reverse()){const t=e.reference.value;if(u<t){e.reference.type=7;const r=t.toString();if(e.reference.value=Number.parseInt(r,8),!/^[0-7]+$/.test(r)){let n=0;for(;r[n]!=="8"&&r[n]!=="9"&&n<r.length;)n+=1;if(n===0?(e.reference.value=r.charCodeAt(0),n+=1):e.reference.value=Number.parseInt(r.slice(0,n),8),r.length>n){const s=e.stack.splice(e.index+1);for(const a of r.slice(n))e.stack.push({type:7,value:a.charCodeAt(0)});e.stack.push(...s)}}}}}function Da(i,u){if(!JA(i))return{isError:!0,regExp:null};try{const e=new RegExp(i,u?"ug":"u");return eE(e)?{isError:!1,regExp:e}:{isError:!0,regExp:null}}catch{return{isError:!0,regExp:null}}}function JA(i){return!(/\(\?<=.*?\)/g.test(i)&&!/\[.*?(\?<=.*?)\]/g.test(i)||/\(\?<!.*?\)/g.test(i)&&!/\[.*?(\?<!.*?)\]/g.test(i))}function eE(i,u){let t;Object.prototype.toString.call(i)==="[object RegExp]"?t=i.source:i&&typeof i!="string"&&(t=`${i}`);let r;try{r=KA(t)}catch{return!1}let n=0;const s=(a,o)=>{let c=o;if(a.type===5&&(c++,n++,c>1||n>25))return!1;if(a.options){for(const f of a.options)if(!s({stack:f},c))return!1}const l=a.stack||a.value&&a.value.stack;if(!l)return!0;for(const f of l)if(!s(f,c))return!1;return!0};return s(r,0)}class tE extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=wr(e,t);if(r)return n;const[a,o]=s;let c=a.getValue();a.isNull()&&(c=""),a.isBoolean()&&(c=c?"TRUE":"FALSE"),c=`${c}`;let l=o.getValue();o.isNull()&&(l=""),o.isBoolean()&&(l=l?"TRUE":"FALSE"),l=`${l}`;const{isError:f,regExp:m}=Da(l,!1);if(f)return g.create(h.REF);const d=c.match(m);if(d===null)return g.create(h.NA);if(d.length>1){const _=d.slice(1).map(C=>j.create(C));return _.length>1?q.create({calculateValueList:[_],rowCount:1,columnCount:_.length,unitId:this.unitId,sheetId:this.subUnitId,row:this.row,column:this.column}):_[0]}return j.create(d[0])}}class rE extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){const{isError:r,errorObject:n,variants:s}=wr(e,t);if(r)return n;const[a,o]=s;let c=a.getValue();a.isNull()&&(c=""),a.isBoolean()&&(c=c?"TRUE":"FALSE"),c=`${c}`;let l=o.getValue();o.isNull()&&(l=""),o.isBoolean()&&(l=l?"TRUE":"FALSE"),l=`${l}`;const{isError:f,regExp:m}=Da(l,!1);return f?g.create(h.REF):c.match(m)===null?I.create(!1):I.create(!0)}}class nE extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",3)}calculate(e,t,r){const{isError:n,errorObject:s,variants:a}=wr(e,t,r);if(n)return s;const[o,c,l]=a;let f=o.getValue();o.isNull()&&(f=""),o.isBoolean()&&(f=f?"TRUE":"FALSE"),f=`${f}`;let m=c.getValue();c.isNull()&&(m=""),c.isBoolean()&&(m=m?"TRUE":"FALSE"),m=`${m}`;let d=l.getValue();l.isNull()&&(d=""),l.isBoolean()&&(d=d?"TRUE":"FALSE"),d=`${d}`;const{isError:_,regExp:C}=Da(m,!0);if(_)return g.create(h.REF);const E=f.replace(C,d);return j.create(E)}}class sE extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:b.isError()?b:y.isError()?y:this._handleSingleObject(d,E,b,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=F(t,r);if(s)return a;const[c,l]=o,f=Math.floor(+c.getValue()),m=Math.floor(+l.getValue());if(f<=0||m<0)return g.create(h.VALUE);const d=Oe(e),_=Oe(n),C=d.substring(0,f-1)+_+d.substring(f-1+m);return j.create(C)}}class aE extends N{constructor(){super(...arguments);A(this,"minParams",4);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=O(s,a,n,g.create(h.NA)),m=o.mapValue((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C),y=f.get(_,C);return d.isError()?d:E.isError()?E:b.isError()?b:y.isError()?y:this._handleSingleObject(d,E,b,y)});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const{isError:s,errorObject:a,variants:o}=F(t,r);if(s)return a;const[c,l]=o,f=Math.floor(+c.getValue()),m=Math.floor(+l.getValue());if(f<=0||m<0)return g.create(h.VALUE);let d=Oe(e);const _=Oe(n);let C=d.substring(0,f-1);d=d.substring(f-1);let E=0,b=0;for(;b<m&&E<d.length;)b+=vr(d,E),E++;return C+=_+d.substring(E),j.create(C)}}class iE extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e,g.create(h.NA)),a=O(r,n,t,g.create(h.NA)),o=s.map((c,l,f)=>{let m=a.get(l,f);if(c.isError())return c;let d=c.getValue();if(c.isNull()&&(d=""),c.isBoolean()&&(d=d?"TRUE":"FALSE"),d+="",m.isString()&&(m=m.convertToNumberObjectValue()),m.isError())return m;const _=32767,C=Math.floor(+m.getValue());if(C<0||C>_/d.length)return g.create(h.VALUE);const E=d.repeat(C);return j.create(E)});return r===1&&n===1?o.get(0,0):o}}class oE extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:R.create(1),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),c=a.mapValue((l,f,m)=>{const d=o.get(f,m);return l.isError()?l:d.isError()?d:this._handleSingleObject(l,d)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t){const r=Oe(e),{isError:n,errorObject:s,variants:a}=F(t);if(n)return s;const[o]=a,c=Math.floor(+o.getValue());if(c<0)return g.create(h.VALUE);if(e.isNull()||c===0)return j.create("");if(c>=r.length)return j.create(r);const l=r.substring(r.length-c);return j.create(l)}}class uE extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:R.create(1),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),c=a.mapValue((l,f,m)=>{const d=o.get(f,m);return l.isError()?l:d.isError()?d:this._handleSingleObject(l,d)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t){const r=Oe(e),{isError:n,errorObject:s,variants:a}=F(t);if(n)return s;const[o]=a,c=Math.floor(+o.getValue());if(c<0)return g.create(h.VALUE);if(e.isNull()||c===0)return j.create("");let l=r.length-1,f=0,m="";for(;f<c&&l>=0;)f+=vr(r,l,"rtl"),m=r.charAt(l)+m,l--;return j.create(m)}}class cE extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:R.create(1),s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,n,g.create(h.NA)),f=o.mapValue((m,d,_)=>{const C=c.get(d,_),E=l.get(d,_);return m.isError()?m:C.isError()?C:E.isError()?E:this._handleSingleObject(m,C,E)});return s===1&&a===1?f.get(0,0):f}_handleSingleObject(e,t,r){const n=Oe(e).toLocaleUpperCase(),s=Oe(t).toLocaleUpperCase(),{isError:a,errorObject:o,variants:c}=F(r);if(a)return o;const[l]=c,f=Math.floor(+l.getValue());if(t.isNull()||f<=0||f>s.length)return g.create(h.VALUE);if(e.isNull()||n.length===0)return R.create(f);const m=s.indexOf(n,f-1);return m===-1?g.create(h.VALUE):R.create(m+1)}}class lE extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",3)}calculate(e,t,r){const n=r!=null?r:R.create(1),s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,n,g.create(h.NA)),f=o.mapValue((m,d,_)=>{const C=c.get(d,_),E=l.get(d,_);return m.isError()?m:C.isError()?C:E.isError()?E:this._handleSingleObject(m,C,E)});return s===1&&a===1?f.get(0,0):f}_handleSingleObject(e,t,r){const n=Oe(e).toLocaleUpperCase(),s=Oe(t).toLocaleUpperCase(),{isError:a,errorObject:o,variants:c}=F(r);if(a)return o;const[l]=c,f=Math.floor(+l.getValue());if(t.isNull()||f<=0||f>s.length)return g.create(h.VALUE);if(e.isNull()||n.length===0)return R.create(f);const m=s.indexOf(n,f-1);if(m===-1)return g.create(h.VALUE);const d=Sa(s.substring(0,m))+1;return R.create(d)}}class fE extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",4)}calculate(e,t,r,n){const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,n!=null&&n.isArray()?n.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,n!=null&&n.isArray()?n.getColumnCount():1),o=O(s,a,e,g.create(h.NA)),c=O(s,a,t,g.create(h.NA)),l=O(s,a,r,g.create(h.NA)),f=n?O(s,a,n,g.create(h.NA)):void 0,m=o.mapValue((d,_,C)=>{const E=c.get(_,C),b=l.get(_,C);let y=n?f.get(_,C):void 0;return d.isError()?d:E.isError()?E:b.isError()?b:y!=null&&y.isError()?y:y!=null&&y.isNull()||y!=null&&y.isBoolean()?g.create(h.VALUE):(y!=null&&y.isString()&&(y=y.convertToNumberObjectValue()),y!=null&&y.isError()?y:this._handleSingleObject(d,E,b,y))});return s===1&&a===1?m.get(0,0):m}_handleSingleObject(e,t,r,n){const s=this._getObjectString(e),a=this._getObjectString(t),o=this._getObjectString(r),c=n?Math.floor(+n.getValue()):void 0;if(n&&c<=0)return g.create(h.VALUE);if(a==="")return j.create(s);let l="",f=0;for(let m=0;m<s.length;m++){const d=s.substr(m,a.length);if(d===a||d.length===a.length&&d.trim()===a.trim()){if(f++,f===c){l=s.substr(0,m)+o+s.substr(m+a.length);break}c===void 0&&(l+=o),m+=a.length-1}else c===void 0&&(l+=s[m])}return c&&f<c&&(l=s),j.create(l)}_getObjectString(e){let t=`${e.getValue()}`;return e.isNull()&&(t=""),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}}class mE extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1);A(this,"needsReferenceObject",!0)}calculate(e){let t=e;return e.isReferenceObject()&&(t=e.toArrayValueObject().get(0,0)),t.isArray()?t.mapValue(r=>this._handleSingleObject(r)):this._handleSingleObject(t)}_handleSingleObject(e){return e.isError()?e:e.isNull()||e.isBoolean()||e.isNumber()?j.create(""):e}}class hE extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",2)}isArgumentsIgnoreNumberPattern(){return!0}calculate(e,t){if(e.isError())return e;if(t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),n=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),s=O(r,n,e),a=O(r,n,t),o=s.map((c,l,f)=>{if(c.isError())return c;let m=a.get(l,f)||j.create(" ");if(m.isError())return m;if(m.isBoolean())return g.create(h.VALUE);if(c.isBoolean())return c;let d=c.getValue();if(c.isNull()&&(d=0),c.isString()){if(!M.isRealNum(d))return c;d=Number(d)}m.isNull()&&(m=j.create(" "));const _=`${m.getValue()}`,C=Ma(_,d);return j.create(_===" "?C.trimEnd():C)});return o.getRowCount()===1&&o.getColumnCount()===1?o.get(0,0):o}}class gE extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=!1,c=r!=null?r:R.create(1);c.isNull()&&(o=!0,c=R.create(1));const l=!n,f=n!=null?n:R.create(0),m=s!=null?s:R.create(0),d=a!=null?a:g.create(h.NA),_=Math.max(e.isArray()?e.getRowCount():1,c.isArray()?c.getRowCount():1,f.isArray()?f.getRowCount():1,m.isArray()?m.getRowCount():1,d.isArray()?d.getRowCount():1),C=Math.max(e.isArray()?e.getColumnCount():1,c.isArray()?c.getColumnCount():1,f.isArray()?f.getColumnCount():1,m.isArray()?m.getColumnCount():1,d.isArray()?d.getColumnCount():1),E=O(_,C,e,g.create(h.NA)),b=O(_,C,c,g.create(h.NA)),y=O(_,C,f,g.create(h.NA)),p=O(_,C,m,g.create(h.NA)),V=O(_,C,d,g.create(h.NA)),S=this._getResultArray(E,t,b,y,p,V,o,l);return _===1&&C===1?S.get(0,0):S}_getResultArray(e,t,r,n,s,a,o,c){return e.map((f,m,d)=>{const _=r.get(m,d),C=n.get(m,d),E=s.get(m,d),b=a.get(m,d),y=this._checkVariantsError(f,_,C,E);if(y.isError())return y;const p=this._getStringValue(f),V=this._getDelimiterValue(t);if(V instanceof g)return V;const S=this._getVariantsNumberFloorValue(_,C,E);if(S instanceof g)return S;const[D,w,L]=S;return D===0||w<0||w>1||L<0||L>1?g.create(h.VALUE):V.includes("")?D>0?j.create(p):j.create(""):!o&&Math.abs(D)>p.length?g.create(h.VALUE):V.every(x=>x.length>p.length)?g.create(h.NA):this._getResult(p,V,D,w,L,b,c)})}_checkVariantsError(...e){for(let t=0;t<e.length;t++){const r=e[t];if(r.isError())return r}return I.create(!0)}_getStringValue(e){let t=`${e.getValue()}`;return e.isNull()&&(t=""),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}_getDelimiterValue(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);if(e.iterator(s=>{const a=s;if(a.isError())return r=!0,n=a,!1;t.push(this._getStringValue(a))}),r)return n}else{if(e.isError())return e;t.push(this._getStringValue(e))}return t}_getVariantsNumberFloorValue(...e){const t=[];for(let r=0;r<e.length;r++){let n=e[r];if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;const s=Math.floor(+n.getValue());t.push(s)}return t}_getResult(e,t,r,n,s,a,o){let c=n?e.toLocaleLowerCase():e;const l=n?t.map(C=>C.toLocaleLowerCase()):t;let f=0,m=0,d=0;for(let C=0;C<Math.abs(r);C++)if(r<0){const E=l.map(b=>({index:c.lastIndexOf(b),length:b.length})).filter(b=>b.index!==-1).sort((b,y)=>y.index-b.index)[0];if(!E)break;f=E.index,c=c.substr(0,E.index),d=E.length,m++}else{const E=l.map(b=>({index:c.indexOf(b),length:b.length})).filter(b=>b.index!==-1).sort((b,y)=>b.index-y.index)[0];if(!E)break;f+=E.index+d,c=c.substr(E.index+E.length),d=E.length,m++}if(m&&m<Math.abs(r)&&o)return g.create(h.NA);if(!m||m<Math.abs(r))return s?r>0?j.create(""):j.create(e):a;const _=e.substr(f+d);return j.create(_)}}class dE extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=!1,c=r!=null?r:R.create(1);c.isNull()&&(o=!0,c=R.create(1));const l=!n,f=n!=null?n:R.create(0),m=s!=null?s:R.create(0),d=a!=null?a:g.create(h.NA),_=Math.max(e.isArray()?e.getRowCount():1,c.isArray()?c.getRowCount():1,f.isArray()?f.getRowCount():1,m.isArray()?m.getRowCount():1,d.isArray()?d.getRowCount():1),C=Math.max(e.isArray()?e.getColumnCount():1,c.isArray()?c.getColumnCount():1,f.isArray()?f.getColumnCount():1,m.isArray()?m.getColumnCount():1,d.isArray()?d.getColumnCount():1),E=O(_,C,e,g.create(h.NA)),b=O(_,C,c,g.create(h.NA)),y=O(_,C,f,g.create(h.NA)),p=O(_,C,m,g.create(h.NA)),V=O(_,C,d,g.create(h.NA)),S=this._getResultArray(E,t,b,y,p,V,o,l);return _===1&&C===1?S.get(0,0):S}_getResultArray(e,t,r,n,s,a,o,c){return e.map((f,m,d)=>{const _=r.get(m,d),C=n.get(m,d),E=s.get(m,d),b=a.get(m,d),y=this._checkVariantsError(f,_,C,E);if(y.isError())return y;const p=this._getStringValue(f),V=this._getDelimiterValue(t);if(V instanceof g)return V;const S=this._getVariantsNumberFloorValue(_,C,E);if(S instanceof g)return S;const[D,w,L]=S;return D===0||w<0||w>1||L<0||L>1?g.create(h.VALUE):V.includes("")?D>0?j.create(""):j.create(p):!o&&Math.abs(D)>p.length?g.create(h.VALUE):V.every(x=>x.length>p.length)?g.create(h.NA):this._getResult(p,V,D,w,L,b,c)})}_checkVariantsError(...e){for(let t=0;t<e.length;t++){const r=e[t];if(r.isError())return r}return I.create(!0)}_getStringValue(e){let t=`${e.getValue()}`;return e.isNull()&&(t=""),e.isBoolean()&&(t=t.toLocaleUpperCase()),t}_getDelimiterValue(e){const t=[];if(e.isArray()){let r=!1,n=g.create(h.VALUE);if(e.iterator(s=>{const a=s;if(a.isError())return r=!0,n=a,!1;t.push(this._getStringValue(a))}),r)return n}else{if(e.isError())return e;t.push(this._getStringValue(e))}return t}_getVariantsNumberFloorValue(...e){const t=[];for(let r=0;r<e.length;r++){let n=e[r];if(n.isString()&&(n=n.convertToNumberObjectValue()),n.isError())return n;const s=Math.floor(+n.getValue());t.push(s)}return t}_getResult(e,t,r,n,s,a,o){let c=n?e.toLocaleLowerCase():e;const l=n?t.map(C=>C.toLocaleLowerCase()):t;let f=0,m=0,d=0;for(let C=0;C<Math.abs(r);C++)if(r<0){const E=l.map(b=>({index:c.lastIndexOf(b),length:b.length})).filter(b=>b.index!==-1).sort((b,y)=>y.index-b.index)[0];if(!E)break;f=E.index,c=c.substr(0,E.index),m++}else{const E=l.map(b=>({index:c.indexOf(b),length:b.length})).filter(b=>b.index!==-1).sort((b,y)=>b.index-y.index)[0];if(!E)break;f+=E.index+d,c=c.substr(E.index+E.length),d=E.length,m++}if(m&&m<Math.abs(r)&&o)return g.create(h.NA);if(!m||m<Math.abs(r))return s?r>0?j.create(e):j.create(""):a;const _=e.substr(0,f);return j.create(_)}}class CE extends N{constructor(){super(...arguments);A(this,"minParams",3);A(this,"maxParams",255)}calculate(e,t,...r){const n=this._getDelimiterValues(e),s=this._getTextValues(r);if(t.isArray()){const o=t.mapValue(c=>this._handleSingleObject(n,c,s));return o.getRowCount()===1&&o.getColumnCount()===1?o.get(0,0):o}const a=t;if(a.isString()){const o=`${a.getValue()}`.toLocaleUpperCase();if(o==="TRUE")return this._handleSingleObject(n,I.create(!0),s);if(o==="FALSE")return this._handleSingleObject(n,I.create(!1),s)}return this._handleSingleObject(n,t,s)}_handleSingleObject(e,t,r){if(e instanceof g)return e;const{isError:n,errorObject:s,variants:a}=F(t);if(n)return s;if(r instanceof g)return r;const[o]=a,c=+o.getValue();let l=r;c&&(l=r.filter(m=>m!==null));let f="";for(let m=0;m<l.length;m++)l[m]!==null&&(f+=l[m]),m<l.length-1&&(f+=e[m%e.length]);return j.create(f)}_getDelimiterValues(e){const t=[],r=e.isArray()?e.getRowCount():1,n=e.isArray()?e.getColumnCount():1;for(let s=0;s<r;s++)for(let a=0;a<n;a++){const o=e.isArray()?e.get(s,a):e;if(o.isError())return o;let c=`${o.getValue()}`;o.isNull()&&(c=""),o.isBoolean()&&(c=c.toLocaleUpperCase()),t.push(c)}return t}_getTextValues(e){const t=[];for(const r of e){const n=r.isArray()?r.getRowCount():1,s=r.isArray()?r.getColumnCount():1;for(let a=0;a<n;a++)for(let o=0;o<s;o++){const c=r.isArray()?r.get(a,o):r;if(c.isError())return c;if(c.isNull()){t.push(null);continue}let l=`${c.getValue()}`;c.isBoolean()&&(l=l.toLocaleUpperCase()),t.push(l)}}return t}}class _E extends N{constructor(){super(...arguments);A(this,"minParams",2);A(this,"maxParams",6)}calculate(e,t,r,n,s,a){let o=r!=null?r:j.create("\\s");const c=n!=null?n:R.create(0),l=s!=null?s:R.create(0),f=a!=null?a:j.create(h.NA),{_variant:m,values:d}=this._getStringValues(t),{_variant:_,values:C}=this._getStringValues(o,!1);o=_;const E=Math.max(e.isArray()?e.getRowCount():1,c.isArray()?c.getRowCount():1,l.isArray()?l.getRowCount():1),b=Math.max(e.isArray()?e.getColumnCount():1,c.isArray()?c.getColumnCount():1,l.isArray()?l.getColumnCount():1),y=O(E,b,e,g.create(h.NA)),p=O(E,b,c,g.create(h.NA)),V=O(E,b,l,g.create(h.NA)),S=this._getResultArray(y,m,o,p,V,f,d,C);return E===1&&b===1?S.get(0,0):S.map(D=>D.get(0,0))}_getStringValues(e,t=!0){let r=e;const n=[];if(r.isArray())r.iterator(s=>{if(s!=null&&s.isError())return r=s,!1;if(s!=null&&s.isNull()&&t)return r=g.create(h.VALUE),!1;const a=this._getRegExpStringValue(s);if(a==="")return r=g.create(h.VALUE),!1;n.push(a)});else{r.isNull()&&t&&(r=g.create(h.VALUE));const s=this._getRegExpStringValue(r);s===""&&(r=g.create(h.VALUE)),n.push(s)}return{_variant:r,values:n}}_getResultArray(e,t,r,n,s,a,o,c){return e.map((f,m,d)=>{let _=n.get(m,d),C=s.get(m,d);const E=this._checkVariantsError(f,t,r,_,C);if(E.isError())return E;if(f.isNull())return g.create(h.VALUE);let b=a;if(b.isArray()){const D=b.getRowCount(),w=b.getColumnCount();if(D>1||w>1)return g.create(h.VALUE);b=b.get(0,0)}let y=`${f.getValue()}`;if(f.isBoolean()&&(y=y.toLocaleUpperCase()),_.isString()&&(_=_.convertToNumberObjectValue(),_.isError()))return _;const p=Math.floor(+_.getValue());if(C.isString()&&(C=C.convertToNumberObjectValue(),C.isError()))return C;const V=Math.floor(+C.getValue());if(V<0||V>1)return g.create(h.VALUE);let S=`${b.getValue()}`;return b.isBoolean()&&(S=S.toLocaleUpperCase()),this._getResult(y,o,c,p,V,S)})}_getResult(e,t,r,n,s,a){const o=new RegExp(r.join("|"),`g${s?"i":""}`),c=new RegExp(t.join("|"),`g${s?"i":""}`),l=e.split(o);let f=1,m=l.map(d=>{let _=d.split(c);return n&&(_=_.filter(C=>C!=="")),f=Math.max(f,_.length),_});return m=m.map(d=>{let _=d;return _.length<f&&(_=_.concat(new Array(f-_.length).fill(a))),_}),q.createByArray(m)}_checkVariantsError(...e){for(let t=0;t<e.length;t++){const r=e[t];if(r.isError())return r}return I.create(!0)}_getRegExpStringValue(e){let t=e.getValue();return e.isNull()&&(t="\\s"),e.isBoolean()&&(t=t?"TRUE":"FALSE"),t+="",this._escapeRegExp(t)}_escapeRegExp(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}}class AE extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return j.create("");let t=`${e.getValue()}`;return e.isBoolean()&&(t=t.toLocaleUpperCase()),t=t.trim().replace(/\s+/g," "),j.create(t)}}const EE=Object.values(M.DataStreamTreeTokenType).filter(i=>[M.DataStreamTreeTokenType.TABLE_START,M.DataStreamTreeTokenType.TABLE_ROW_START,M.DataStreamTreeTokenType.TABLE_CELL_START,M.DataStreamTreeTokenType.TABLE_CELL_END,M.DataStreamTreeTokenType.TABLE_ROW_END,M.DataStreamTreeTokenType.TABLE_END,M.DataStreamTreeTokenType.CUSTOM_BLOCK].includes(i));class bE extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){const{isError:t,errorObject:r,variants:n}=F(e);if(t)return r;const[s]=n,a=Math.floor(+s.getValue());if(a<1||a>1114111)return g.create(h.VALUE);if(a===1114111||a===1114110)return g.create(h.NA);let o=String.fromCharCode(a);return EE.some(c=>c===o)&&(o=""),j.create(o)}}class yE extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return g.create(h.VALUE);let t=e.getValue().toLocaleString();e.isBoolean()&&(t=t.toLocaleUpperCase());const r=t.charCodeAt(0);return R.create(r)}}class RE extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isNull())return j.create("");const t=`${e.getValue()}`.toLocaleUpperCase();return j.create(t)}}class pE extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;if(e.isBoolean())return g.create(h.VALUE);let t=e;if(e.isString()&&(t=t.convertToNumberObjectValue(),t.isError()))return t;const r=+t.getValue();return R.create(r)}}class NE extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",2)}calculate(e,t){const r=t!=null?t:R.create(0),n=Math.max(e.isArray()?e.getRowCount():1,r.isArray()?r.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,r.isArray()?r.getColumnCount():1),a=O(n,s,e,g.create(h.NA)),o=O(n,s,r,g.create(h.NA)),c=a.mapValue((l,f,m)=>{const d=o.get(f,m);return l.isError()?l:d.isError()?d:this._handleSingleObject(l,d)});return n===1&&s===1?c.get(0,0):c}_handleSingleObject(e,t){const{isError:r,errorObject:n,variants:s}=F(t);if(r)return n;const[a]=s,o=Math.floor(+a.getValue());if(o<0||o>1)return g.create(h.VALUE);if(e.isNull())return j.create("");if(e.isBoolean())return e;if(e.isNumber())return R.create(e.getValue());const c=o?`"${e.getValue()}"`:`${e.getValue()}`;return j.create(c)}}const Fu=[[bA,se.ASC],[EA,se.ARRAYTOTEXT],[yA,se.BAHTTEXT],[pA,se.CHAR],[NA,se.CLEAN],[VA,se.CODE],[OA,se.CONCAT],[MA,se.CONCATENATE],[SA,se.DBCS],[DA,se.DOLLAR],[wA,se.EXACT],[LA,se.FIND],[PA,se.FINDB],[jA,se.FIXED],[UA,se.LEFT],[vA,se.LEFTB],[TA,se.LEN],[IA,se.LENB],[FA,se.LOWER],[BA,se.MID],[kA,se.MIDB],[GA,se.NUMBERSTRING],[WA,se.NUMBERVALUE],[tE,se.REGEXEXTRACT],[rE,se.REGEXMATCH],[nE,se.REGEXREPLACE],[QA,se.PROPER],[sE,se.REPLACE],[aE,se.REPLACEB],[iE,se.REPT],[oE,se.RIGHT],[uE,se.RIGHTB],[cE,se.SEARCH],[lE,se.SEARCHB],[fE,se.SUBSTITUTE],[mE,se.T],[hE,se.TEXT],[gE,se.TEXTAFTER],[dE,se.TEXTBEFORE],[CE,se.TEXTJOIN],[_E,se.TEXTSPLIT],[AE,se.TRIM],[bE,se.UNICHAR],[yE,se.UNICODE],[RE,se.UPPER],[pE,se.VALUE],[NE,se.VALUETOTEXT]],Bu=[];var ku=(i=>i)(ku||{});class $u extends M.Disposable{constructor(){super(...arguments);A(this,"_tableMap",new Map);A(this,"_tableOptionMap",new Map)}dispose(){super.dispose(),this._tableMap.clear(),this._tableOptionMap.clear()}remove(e,t){var r;(r=this._tableMap.get(e))==null||r.delete(t)}getTableMap(e){return this._tableMap.get(e)}getTableOptionMap(){return this._tableOptionMap}registerTable(e,t,r){var n;this._tableMap.get(e)==null&&this._tableMap.set(e,new Map),(n=this._tableMap.get(e))==null||n.set(t,r)}registerTableOptionMap(e,t){this._tableOptionMap.set(e,t)}}const wa=M.createIdentifier("univer.formula.super-table.service");function _i(i){return i.map(u=>u.map(e=>typeof e=="number"?In(e):e))}function VE(i,u=!1){if(i.isReferenceObject()){const e=i.toArrayValueObject().toValue();return u?_i(e):e}else if(i.isArray()){const e=i.toValue();return u?_i(e):e}else if(i.isNumber()){const e=i.getValue();return u?In(e):e}return i.getValue()}class OE extends N{constructor(){super(...arguments);A(this,"minParams",1);A(this,"maxParams",1)}calculate(e){if(e.isArray()){const t=e.mapValue(r=>this._handleSingleObject(r));return t.getRowCount()===1&&t.getColumnCount()===1?t.get(0,0):t}return this._handleSingleObject(e)}_handleSingleObject(e){if(e.isError())return e;const t=Oe(e),r=encodeURIComponent(t).replace(/[!~'()*]/g,n=>`%${n.charCodeAt(0).toString(16).toLocaleUpperCase()}`);return j.create(r)}}var La=(i=>(i.ENCODEURL="ENCODEURL",i.FILTERXML="FILTERXML",i.WEBSERVICE="WEBSERVICE",i))(La||{});const Yu=[[OE,La.ENCODEURL]];class xa extends M.Disposable{constructor(){super(...arguments);A(this,"_allSubjects",[]);A(this,"_computingStatus$",new Ie.BehaviorSubject(!0));A(this,"computingStatus$",this._computingStatus$.pipe(Ie.distinctUntilChanged()));A(this,"_computingSubscription")}get computingStatus(){return this._computingStatus$.getValue()}dispose(){var e;super.dispose(),(e=this._computingSubscription)==null||e.unsubscribe(),this._computingStatus$.next(!0),this._computingStatus$.complete(),this._allSubjects.forEach(t=>{t.complete()})}pushComputingStatusSubject(e){return this._allSubjects.push(e),this._updateComputingObservable(),{dispose:()=>{const t=this._allSubjects.indexOf(e);t!==-1&&this._allSubjects.splice(t,1),this._updateComputingObservable()}}}_updateComputingObservable(){var e;if((e=this._computingSubscription)==null||e.unsubscribe(),this._allSubjects.length===0){this._computingStatus$.next(!0);return}this._computingSubscription=Ie.combineLatest(this._allSubjects).pipe(Ie.map(t=>t.every(r=>r))).subscribe(t=>this._computingStatus$.next(t))}}var ME=Object.getOwnPropertyDescriptor,SE=(i,u,e,t)=>{for(var r=t>1?void 0:t?ME(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Ai=(i,u)=>(e,t)=>u(e,t,i);let Is=class extends M.Disposable{constructor(u,e){super();A(this,"_computingCompleted$",new Ie.Observable(u=>{this._commandService.onCommandExecuted(e=>{if(e.id!==Cr.id)return;const t=e.params;if(t.stageInfo)return u.next(t.stageInfo.stage===$e.IDLE||t.stageInfo.stage===$e.CALCULATION_COMPLETED)})}).pipe(Ie.distinctUntilChanged(),Ie.shareReplay()));this._commandService=u,this._globalComputingSrv=e;const t=new M.DisposableCollection,r=new Ie.BehaviorSubject(!0);t.add(this._globalComputingSrv.pushComputingStatusSubject(r)),t.add(this._computingCompleted$.subscribe(n=>r.next(n))),t.add(()=>r.complete()),this.disposeWithMe(t)}};Is=SE([Ai(0,M.ICommandService),Ai(1,M.Inject(xa))],Is);var DE=Object.getOwnPropertyDescriptor,wE=(i,u,e,t)=>{for(var r=t>1?void 0:t?DE(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Yr=(i,u)=>(e,t)=>u(e,t,i);let En=class extends M.Disposable{constructor(i,u,e,t){super(),this._commandService=i,this._functionService=u,this._configService=e,this._dataSyncPrimaryController=t,this._initialize()}_initialize(){this._registerCommands(),this._registerFunctions()}_registerCommands(){[Gs,rn,$s,Ys,Cr,Hs,On,ks,Mn,Sn,Dn,wn,Ii,Fi,Ws,xi].forEach(i=>{var u;this._commandService.registerCommand(i),(u=this._dataSyncPrimaryController)==null||u.registerSyncingMutations(i)})}_registerFunctions(){var e;const i=this._configService.getConfig(xn),u=[...Eo,...ou,...uu,...fu,...du,...Cu,...pu,...Nu,...Vu,...Ou,...Mu,...Su,...Du,...Fu,...Bu,...Yu].concat((e=i==null?void 0:i.function)!=null?e:[]).map(t=>{const r=t[0],n=t[1];return new r(n)});this._functionService.registerExecutors(...u)}};En=wE([Yr(0,M.ICommandService),Yr(1,bt),Yr(2,M.IConfigService),Yr(3,M.Optional(qu.DataSyncPrimaryController))],En);var LE=Object.getOwnPropertyDescriptor,xE=(i,u,e,t)=>{for(var r=t>1?void 0:t?LE(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Hr=(i,u)=>(e,t)=>u(e,t,i);let bn=class extends M.Disposable{constructor(i,u,e){super(),this._commandService=i,this._dependencyManagerService=u,this._featureCalculationManagerService=e,this._initialize()}_initialize(){this._commandExecutedListener(),this._featureCalculationManagerServiceListener()}_featureCalculationManagerServiceListener(){this.disposeWithMe(this._featureCalculationManagerService.onChanged$.subscribe(i=>{const{unitId:u,subUnitId:e,featureIds:t}=i;this._dependencyManagerService.removeFeatureFormulaDependency(u,e,t)}))}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(i=>{if(i.id===Sn.id){const u=i.params;if(u==null)return;const{featureIds:e,unitId:t,subUnitId:r}=u;this._dependencyManagerService.removeFeatureFormulaDependency(t,r,e)}else if(i.id===Mn.id){const u=i.params;if(u==null)return;const{featureId:e,calculationParam:t}=u,{unitId:r,subUnitId:n}=t;this._dependencyManagerService.removeFeatureFormulaDependency(r,n,[e])}else if(i.id===wn.id){const u=i.params;if(u==null)return;this._dependencyManagerService.removeOtherFormulaDependency(u.unitId,u.subUnitId,u.formulaIdList)}else if(i.id===Dn.id){const u=i.params;if(u==null)return;const e=u.formulaMap,t=[];Object.keys(e).forEach(r=>{t.push(r)}),this._dependencyManagerService.removeOtherFormulaDependency(u.unitId,u.subUnitId,t)}else if(i.id===Gs.id){const u=i.params.formulaData;Object.keys(u).forEach(e=>{const t=u[e];if(t!==void 0){if(t===null){this._dependencyManagerService.clearFormulaDependency(e);return}Object.keys(t).forEach(r=>{const n=t[r];if(n!==void 0){if(n===null)return this._dependencyManagerService.clearFormulaDependency(e,r),!0;new M.ObjectMatrix(n).forValue((s,a)=>{this._dependencyManagerService.removeFormulaDependency(e,r,s,a)})}})}})}else i.id===On.id&&this._handleSetDefinedName(i)}))}_handleSetDefinedName(i){const u=i.params;if(u==null)return;const{unitId:e,name:t}=u;this._dependencyManagerService.removeFormulaDependencyByDefinedName(e,t)}};bn=xE([Hr(0,M.ICommandService),Hr(1,ar),Hr(1,Dr),Hr(2,ar)],bn);var PE=Object.getOwnPropertyDescriptor,jE=(i,u,e,t)=>{for(var r=t>1?void 0:t?PE(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},Ei=(i,u)=>(e,t)=>u(e,t,i);let yn=class extends M.Disposable{constructor(i,u){super(),this._commandService=i,this._featureCalculationManagerService=u,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(i=>{if(i.id===Mn.id){const u=i.params;if(u==null)return;const{featureId:e,calculationParam:t}=u,{unitId:r,subUnitId:n}=t;this._featureCalculationManagerService.register(r,n,e,t)}else if(i.id===Sn.id){const u=i.params;if(u==null)return;const{featureIds:e,unitId:t,subUnitId:r}=u;this._featureCalculationManagerService.remove(t,r,e)}}))}};yn=jE([Ei(0,M.ICommandService),Ei(1,ar)],yn);var UE=Object.getOwnPropertyDescriptor,vE=(i,u,e,t)=>{for(var r=t>1?void 0:t?UE(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},fs=(i,u)=>(e,t)=>u(e,t,i);let Rn=class extends M.Disposable{constructor(i,u,e){super(),this._commandService=i,this._otherFormulaManagerService=u,this._dependencyManagerService=e,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(i=>{if(i.id===Dn.id){const u=i.params;if(u==null)return;const e={[u.unitId]:{[u.subUnitId]:u.formulaMap}};this._otherFormulaManagerService.batchRegister(e)}else if(i.id===wn.id){const u=i.params;if(u==null)return;const e={};u.formulaIdList.forEach(r=>e[r]=!0);const t={[u.unitId]:{[u.subUnitId]:e}};this._otherFormulaManagerService.batchRemove(t)}}))}};Rn=vE([fs(0,M.ICommandService),fs(1,Yn),fs(2,Dr)],Rn);var TE=Object.getOwnPropertyDescriptor,IE=(i,u,e,t)=>{for(var r=t>1?void 0:t?TE(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},bi=(i,u)=>(e,t)=>u(e,t,i);let pn=class extends M.Disposable{constructor(i,u){super(),this._commandService=i,this._superTableService=u,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(i=>{if(i.id===On.id){const u=i.params;if(u==null)return;const{unitId:e,tableName:t,reference:r}=u;this._superTableService.registerTable(e,t,r)}else if(i.id===ks.id){const u=i.params;if(u==null)return;const{unitId:e,tableName:t}=u;this._superTableService.remove(e,t)}else if(i.id===Ws.id){const u=i.params;if(u==null)return;const{tableOption:e,tableOptionType:t}=u;this._superTableService.registerTableOptionMap(e,t)}}))}};pn=IE([bi(0,M.ICommandService),bi(1,wa)],pn);class Hu extends M.Disposable{constructor(){super(...arguments);A(this,"_dirtyConversionMap",new Map)}dispose(){this._dirtyConversionMap.clear()}remove(e){this._dirtyConversionMap.delete(e)}get(e){return this._dirtyConversionMap.get(e)}has(e){return this._dirtyConversionMap.has(e)}register(e,t){this._dirtyConversionMap.set(e,t)}getDirtyConversionMap(){return this._dirtyConversionMap}}const Gu=M.createIdentifier("univer.formula.active-dirty-manager.service");var FE=Object.getOwnPropertyDescriptor,BE=(i,u,e,t)=>{for(var r=t>1?void 0:t?FE(u,e):u,n=i.length-1,s;n>=0;n--)(s=i[n])&&(r=s(r)||r);return r},yi=(i,u)=>(e,t)=>u(e,t,i);const kE="UNIVER_ENGINE_FORMULA_PLUGIN";var ms;exports.UniverFormulaEnginePlugin=(ms=class extends M.Plugin{constructor(u=Ga,e,t){super(),this._config=u,this._injector=e,this._configService=t;const{...r}=M.merge({},Ga,this._config);this._configService.setConfig(xn,r)}onStarting(){this._initialize(),this._initializeWithOverride()}onReady(){var u;M.touchDependencies(this._injector,[[En],[pn]]),(u=this._config)!=null&&u.notExecuteFormula||M.touchDependencies(this._injector,[[Rn],[yn],[bn],[exports.CalculateController]])}onRendered(){var u;(u=this._config)!=null&&u.notExecuteFormula||M.touchDependencies(this._injector,[[hn],[mn]])}_initialize(){const u=!this._config.notExecuteFormula,e=[[bt,{useClass:io}],[Xt,{useClass:exports.DefinedNamesService}],[Gu,{useClass:Hu}],[ra,{useClass:exports.HyperlinkEngineFormulaService}],[qs,{useClass:Yi}],[wa,{useClass:$u}],[xa],[exports.FormulaDataModel],[Ln],[En],[pn],[Is]];u&&e.push([Yn,{useClass:go}],[ft,{useClass:exports.FormulaRuntimeService}],[At,{useClass:exports.FormulaCurrentConfigService}],[ar,{useClass:ho}],[exports.CalculateController],[Rn],[bn],[yn],[exports.Interpreter],[exports.AstTreeBuilder],[exports.Lexer],[na],[exports.FunctionNodeFactory],[exports.LambdaNodeFactory],[aa],[exports.OperatorNodeFactory],[exports.PrefixNodeFactory],[exports.ReferenceNodeFactory],[exports.SuffixNodeFactory],[exports.UnionNodeFactory],[ia]),e.forEach(t=>this._injector.add(t))}_initializeWithOverride(){var u;(u=this._config)!=null&&u.notExecuteFormula||[[hn,{useClass:exports.CalculateFormulaService}],[Dr,{useClass:mo}],[mn,{useClass:exports.FormulaDependencyGenerator}]].forEach(t=>this._injector.add(t))}},A(ms,"pluginName",kE),ms);exports.UniverFormulaEnginePlugin=BE([yi(1,M.Inject(M.Injector)),yi(2,M.IConfigService)],exports.UniverFormulaEnginePlugin);exports.ActiveDirtyManagerService=Hu;exports.ArrayValueObject=q;exports.AstRootNodeFactory=na;exports.AsyncArrayObject=so;exports.AsyncCustomFunction=Qm;exports.AsyncObject=no;exports.BaseFunction=N;exports.BaseReferenceObject=Vr;exports.BaseValueObject=Et;exports.BooleanValue=wt;exports.BooleanValueObject=I;exports.CustomFunction=lu;exports.DEFAULT_INTERVAL_COUNT=_o;exports.DependencyManagerBaseService=fo;exports.DependencyManagerService=mo;exports.ENGINE_FORMULA_CYCLE_REFERENCE_COUNT=vc;exports.ENGINE_FORMULA_PLUGIN_CONFIG_KEY=xn;exports.ERROR_TYPE_SET=jt;exports.ErrorType=h;exports.ErrorValueObject=g;exports.FUNCTION_NAMES_ARRAY=gn;exports.FUNCTION_NAMES_COMPATIBILITY=fe;exports.FUNCTION_NAMES_CUBE=cu;exports.FUNCTION_NAMES_DATABASE=Te;exports.FUNCTION_NAMES_DATE=Ae;exports.FUNCTION_NAMES_ENGINEERING=Z;exports.FUNCTION_NAMES_FINANCIAL=J;exports.FUNCTION_NAMES_INFORMATION=pe;exports.FUNCTION_NAMES_LOGICAL=Ve;exports.FUNCTION_NAMES_LOOKUP=me;exports.FUNCTION_NAMES_MATH=H;exports.FUNCTION_NAMES_STATISTICAL=T;exports.FUNCTION_NAMES_TEXT=se;exports.FUNCTION_NAMES_UNIVER=ku;exports.FUNCTION_NAMES_WEB=La;exports.FeatureCalculationManagerService=ho;exports.FormulaDependencyTree=Zr;exports.FormulaDependencyTreeType=fn;exports.FormulaDependencyTreeVirtual=js;exports.FormulaExecuteStageType=$e;exports.FormulaExecutedStateType=Jt;exports.FunctionService=io;exports.FunctionType=pi;exports.GlobalComputingStatusService=xa;exports.IActiveDirtyManagerService=Gu;exports.ICalculateFormulaService=hn;exports.IDefinedNamesService=Xt;exports.IDependencyManagerService=Dr;exports.IFeatureCalculationManagerService=ar;exports.IFormulaCurrentConfigService=At;exports.IFormulaDependencyGenerator=mn;exports.IFormulaRuntimeService=ft;exports.IFunctionService=bt;exports.IHyperlinkEngineFormulaService=ra;exports.IOtherFormulaManagerService=Yn;exports.ISheetRowFilteredService=qs;exports.ISuperTableService=wa;exports.LambdaParameterNodeFactory=aa;exports.LambdaValueObjectObject=$n;exports.LexerNode=ae;exports.LexerTreeBuilder=Ln;exports.NullValueObject=le;exports.NumberValueObject=R;exports.OtherFormulaManagerService=go;exports.RangeReferenceObject=br;exports.RegisterFunctionMutation=xi;exports.RemoveDefinedNameMutation=ks;exports.RemoveFeatureCalculationMutation=Sn;exports.RemoveOtherFormulaMutation=wn;exports.RemoveSuperTableMutation=Fi;exports.SetArrayFormulaDataMutation=rn;exports.SetDefinedNameMutation=On;exports.SetDefinedNameMutationFactory=Vc;exports.SetFeatureCalculationMutation=Mn;exports.SetFormulaCalculationNotificationMutation=Cr;exports.SetFormulaCalculationResultMutation=Hs;exports.SetFormulaCalculationStartMutation=$s;exports.SetFormulaCalculationStopMutation=Ys;exports.SetFormulaDataMutation=Gs;exports.SetOtherFormulaMutation=Dn;exports.SetSuperTableMutation=Ii;exports.SetSuperTableOptionMutation=Ws;exports.SheetRowFilteredService=Yi;exports.StringValueObject=j;exports.SuperTableService=$u;exports.ValueNodeFactory=ia;exports.ValueObjectFactory=lt;exports.compareToken=k;exports.convertUnitDataToRuntime=Li;exports.deserializeRangeForR1C1=Ao;exports.deserializeRangeWithSheet=rr;exports.deserializeRangeWithSheetWithCache=Wt;exports.extractFormulaError=Jc;exports.functionArray=Eo;exports.functionCompatibility=ou;exports.functionCube=uu;exports.functionDatabase=fu;exports.functionDate=du;exports.functionEngineering=Cu;exports.functionFinancial=pu;exports.functionInformation=Nu;exports.functionLogical=Vu;exports.functionLookup=Ou;exports.functionMath=Mu;exports.functionMeta=Su;exports.functionStatistical=Du;exports.functionText=Fu;exports.functionUniver=Bu;exports.functionWeb=Yu;exports.generateAstNode=xs;exports.generateExecuteAstNodeData=Ps;exports.generateRandomDependencyTreeId=Ft;exports.generateStringWithSequence=_s;exports.getAbsoluteRefTypeWitString=Cc;exports.getAbsoluteRefTypeWithSingleString=gr;exports.getObjectValue=VE;exports.getRangeWithRefsString=Ac;exports.handleNumfmtInCell=Yc;exports.handleRefStringInfo=Vn;exports.includeFormulaLexerToken=Vi;exports.initSheetFormulaData=As;exports.isFormulaLexerToken=hr;exports.isInDirtyRange=Ri;exports.isReferenceString=Bs;exports.isReferenceStringWithEffectiveColumn=dr;exports.isReferenceStrings=vi;exports.matchRefDrawToken=zu;exports.matchToken=K;exports.normalizeSheetName=Zu;exports.operatorToken=X;exports.sequenceNodeType=ve;exports.serializeRange=Ct;exports.serializeRangeToRefString=nn;exports.serializeRangeWithSheet=Pi;exports.serializeRangeWithSpreadsheet=ji;exports.singleReferenceToGrid=Wr;exports.strip=Ss;exports.stripErrorMargin=In;