@univerjs/engine-formula 0.2.4-alpha.0 → 0.2.4

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/umd/index.js CHANGED
@@ -1 +1 @@
1
- (function(A,E){typeof exports=="object"&&typeof module<"u"?E(exports,require("@univerjs/core"),require("rxjs"),require("@univerjs/rpc")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","rxjs","@univerjs/rpc"],E):(A=typeof globalThis<"u"?globalThis:A||self,E(A.UniverEngineFormula={},A.UniverCore,A.rxjs,A.UniverRpc))})(this,function(A,E,Me,Hi){"use strict";var Zc=Object.defineProperty;var Jc=(A,E,Me)=>E in A?Zc(A,E,{enumerable:!0,configurable:!0,writable:!0,value:Me}):A[E]=Me;var d=(A,E,Me)=>Jc(A,typeof E!="symbol"?E+"":E,Me);var Ln;function wn(n,i,e,t,r){for(let s=0,a=n.length;s<a;s++){const o=n[s];if(i!==o.unitId||e!==o.sheetId)continue;const{startRow:u,startColumn:l,endRow:c,endColumn:m}=o.range;if(t>=u&&t<=c&&r>=l&&r<=m)return!0}return!1}var f=(n=>(n.DIV_BY_ZERO="#DIV/0!",n.NAME="#NAME?",n.VALUE="#VALUE!",n.NUM="#NUM!",n.NA="#N/A",n.CYCLE="#CYCLE!",n.REF="#REF!",n.SPILL="#SPILL!",n.CALC="#CALC!",n.ERROR="#ERROR!",n.CONNECT="#GETTING_DATA",n.NULL="#NULL!",n))(f||{});const Ct=new Set(Object.values(f));var Un=(n=>(n[n.Financial=0]="Financial",n[n.Date=1]="Date",n[n.Math=2]="Math",n[n.Statistical=3]="Statistical",n[n.Lookup=4]="Lookup",n[n.Database=5]="Database",n[n.Text=6]="Text",n[n.Logical=7]="Logical",n[n.Information=8]="Information",n[n.Engineering=9]="Engineering",n[n.Cube=10]="Cube",n[n.Compatibility=11]="Compatibility",n[n.Web=12]="Web",n[n.Array=13]="Array",n[n.Univer=14]="Univer",n[n.User=15]="User",n[n.DefinedName=16]="DefinedName",n))(Un||{}),ne=(n=>(n.PLUS="+",n.MINUS="-",n.MULTIPLY="*",n.DIVIDED="/",n.CONCATENATE="&",n.POWER="^",n.EQUALS="=",n.NOT_EQUAL="<>",n.GREATER_THAN=">",n.GREATER_THAN_OR_EQUAL=">=",n.LESS_THAN="<",n.LESS_THAN_OR_EQUAL="<=",n))(ne||{}),M=(n=>(n.EQUALS="=",n.NOT_EQUAL="<>",n.GREATER_THAN=">",n.GREATER_THAN_OR_EQUAL=">=",n.LESS_THAN="<",n.LESS_THAN_OR_EQUAL="<=",n))(M||{});const Zt=new Map([["<>",3],["<",3],[">=",3],["=",3],[">",3],["<=",3],["&",2],["+",2],["-",2],["/",1],["*",1],["^",0]]),lt=new Set(Zt.keys()),Qi=new Set(["=","<>",">",">=","<","<="]);var N=(n=>(n.OPEN_BRACKET="(",n.CLOSE_BRACKET=")",n.COMMA=",",n.SINGLE_QUOTATION="'",n.DOUBLE_QUOTATION='"',n.OPEN_BRACES="{",n.CLOSE_BRACES="}",n.COLON=":",n.OPEN_SQUARE_BRACKET="[",n.CLOSE_SQUARE_BRACKET="]",n))(N||{}),Ne=(n=>(n.PERCENTAGE="%",n.POUND="#",n))(Ne||{});const zi=new Set(["%","#"]);var Re=(n=>(n.AT="@",n.MINUS="-",n))(Re||{});const Ni=" ",On=[...Object.values(M),...Object.values(ne),...Object.values(N),...Object.values(Ne),...Object.values(Re)];function Ut(n){return On.includes(n)}function Mn(n){for(const i of On)if(n.indexOf(i)>-1)return!0;return!1}function Wi(n){return n[0]==="'"&&n[n.length-1]==="'"?n.substring(1,n.length-1):n}function Gi(n){return Ut(n)&&n!==N.CLOSE_BRACES&&n!==N.CLOSE_BRACKET&&n!==N.SINGLE_QUOTATION&&n!==N.DOUBLE_QUOTATION||n===" "}function Fn(n){const i={};return Object.keys(n).forEach(e=>{const t=n[e];if(t==null)return!0;i[e]==null&&(i[e]={}),Object.keys(t).forEach(r=>{const s=t[r];i[e][r]=new E.ObjectMatrix(s)})}),i}function Xi(n){const i={};return Object.keys(n).forEach(e=>{const t=n[e];if(t==null)return!0;i[e]==null&&(i[e]={}),Object.keys(t).forEach(r=>{const s=t[r];i[e][r]=s.getData()})}),i}const We="P_1",tt="R_1",yt="L_1",Ot="LR_1",vn="LO_1",Ki="LET",Mt="LAMBDA",qi="CUBE";class X{constructor(){d(this,"_parent");d(this,"_token",tt);d(this,"_children",[]);d(this,"_lambdaId");d(this,"_functionDefinitionPrivacyVar");d(this,"_lambdaParameter","");d(this,"_startIndex",-1);d(this,"_endIndex",-1);d(this,"_definedNames",[])}dispose(){var i;this._children.forEach(e=>{typeof e!="string"&&e.dispose()}),(i=this._functionDefinitionPrivacyVar)==null||i.clear(),this._parent=null}getDefinedNames(){return this._definedNames}getStartIndex(){return this._startIndex}getLambdaId(){return this._lambdaId}setLambdaId(i){this._lambdaId=i}getFunctionDefinitionPrivacyVar(){return this._functionDefinitionPrivacyVar}setLambdaPrivacyVar(i){this._functionDefinitionPrivacyVar=i}getLambdaParameter(){return this._lambdaParameter}setLambdaParameter(i){this._lambdaParameter=i}getParent(){return this._parent}setParent(i){this._parent=i}getChildren(){return this._children}setChildren(i){this._children=i}addChildren(i){this._children.push(i)}addChildrenFirst(i){this._children.unshift(i)}getToken(){return this._token}setToken(i){this._token=i}setIndex(i,e){this._startIndex=i,this._endIndex=e}setDefinedNames(i){this._definedNames=i}hasDefinedNames(){return this._definedNames.length>0}replaceChild(i,e){const t=this._getIndexInParent(i);t!=null&&(this.getChildren().splice(t,1,e),e.setParent(this))}changeToParent(i){const e=this.getParent();e&&e.removeChild(this),this.setParent(i),i.getChildren().push(this)}removeChild(i){const e=this._getIndexInParent(i);e!=null&&this.getChildren().splice(e,1)}serialize(){const i=this.getToken(),e=this.getChildren(),t=[],r=e.length;for(let s=0;s<r;s++){const a=e[s];a instanceof X?t.push(a.serialize()):t.push(a)}return{token:i,st:this._startIndex,ed:this._endIndex,children:t}}_getIndexInParent(i){const e=this.getChildren(),t=e.length;for(let r=0;r<t;r++)if(e[r]===i)return r}}class ct{constructor(i){d(this,"_cache");this._cache=new E.LRUMap(i)}set(i,e){const t=this._hash(i);this._cache.set(t,e)}get(i){const e=this._hash(i);return this._cache.get(e)}clear(){this._cache.clear()}_hash(i){return E.hashAlgorithm(i)}}const Wr='\\[([^\\[\\]\\/?:"<>|*\\\\]+)\\]',Zi="((?![\\[\\]\\/?*\\\\]).)*!",rt="$",Gr="\\s*?:\\s*?",Jt="[A-Za-z]+",er="[1-9][0-9]*",Dt=`'?(${Wr})?(${Zi})?'?`,Xr=`\\${rt}?${Jt}\\${rt}?${er}`,Ji=`^(${Re.AT})?${Dt}${Xr}${Gr}${Xr}$`,Ft=`^${Dt}\\s*?${Xr}(${Ne.POUND})?$`,Bn=`^${Dt}\\${rt}?${er}${Gr}\\${rt}?${er}$`,Tn=`^${Dt}\\${rt}?${Jt}${Gr}\\${rt}?${Jt}$`,kn=`^${Dt}\\s*?\\${rt}?${er}$`,In=`^${Dt}\\s*?\\${rt}?${Jt}$`,jn="[.*?]",ea="{.*?}";function $n(n){return new RegExp(Ft).test(n)||new RegExp(Ji).test(n)||new RegExp(Bn).test(n)||new RegExp(Tn).test(n)}var Le=(n=>(n[n.NORMAL=0]="NORMAL",n[n.NUMBER=1]="NUMBER",n[n.STRING=2]="STRING",n[n.FUNCTION=3]="FUNCTION",n[n.REFERENCE=4]="REFERENCE",n[n.ARRAY=5]="ARRAY",n[n.DEFINED_NAME=6]="DEFINED_NAME",n))(Le||{});function tr(n){let i="";for(const e of n)typeof e=="string"?i+=e:i+=e.token;return i}const ta=/[^0-9]/g,ra=/[^A-Za-z]/g;function vt(n){let i=n[0]==="$";const e=n.substring(1);let t=e.indexOf("$")>-1;return E.Tools.isStringNumber(e)&&i&&!t&&(i=!1,t=!0),i&&t?E.AbsoluteRefType.ALL:i?E.AbsoluteRefType.COLUMN:t?E.AbsoluteRefType.ROW:E.AbsoluteRefType.NONE}function na(n){const i=n.split("!");i.length>1&&(n=i[i.length-1]);const e=n.split(":");return e.length>1?{startAbsoluteRefType:vt(e[0]),endAbsoluteRefType:vt(e[1])}:{startAbsoluteRefType:vt(e[0])}}function Yn(n=E.AbsoluteRefType.NONE){let i="",e="";return n===E.AbsoluteRefType.ROW?i="$":n===E.AbsoluteRefType.COLUMN?e="$":n===E.AbsoluteRefType.ALL&&(i="$",e="$"),{rowAbsoluteString:i,columnAbsoluteString:e}}function Ge(n){const{startColumn:i,startRow:e,endColumn:t,endRow:r,startAbsoluteRefType:s,endAbsoluteRefType:a,rangeType:o=E.RANGE_TYPE.NORMAL}=n,u=Yn(s),l=Yn(a);if(o===E.RANGE_TYPE.ROW||o===E.RANGE_TYPE.ALL){const g=`${u.rowAbsoluteString}${e+1}`,p=`${l.rowAbsoluteString}${r+1}`;return`${g}:${p}`}if(o===E.RANGE_TYPE.COLUMN){const g=`${u.columnAbsoluteString}${E.Tools.chatAtABC(i)}`,p=`${l.columnAbsoluteString}${E.Tools.chatAtABC(t)}`;return`${g}:${p}`}const c=`${u.columnAbsoluteString}${E.Tools.chatAtABC(i)}${u.rowAbsoluteString}${e+1}`,m=`${l.columnAbsoluteString}${E.Tools.chatAtABC(t)}${l.rowAbsoluteString}${r+1}`;return c===m?c:`${c}:${m}`}function Hn(n,i){return sr(n)?`'${n}'!${Ge(i)}`:`${n}!${Ge(i)}`}function Qn(n,i,e){return sr(n)||sr(i)?`'[${n}]${i}'!${Ge(e)}`:`[${n}]${i}!${Ge(e)}`}function ft(n){const{unitId:i,sheetName:e,range:t}=n;return i!=null&&i.length>0&&e!=null&&e.length>0?Qn(i,e,t):e!=null&&e.length>0?Hn(e,t):Ge(t)}function rr(n){const i=Number.parseInt(n.replace(ta,""))-1,e=E.Tools.ABCatNum(n.replace(ra,"")),t=vt(n);return{row:i,column:e,absoluteRefType:t}}function zn(n){const i=new RegExp(Wr).exec(n);let e="";i!=null&&(e=i[0].trim(),e=e.slice(1,e.length-1),n=n.replace(new RegExp(Wr),""));const t=n.indexOf("!");let r="",s="";return t>-1?(r=n.substring(0,t),r[0]==="'"&&r[r.length-1]==="'"&&(r=r.substring(1,r.length-1)),s=n.substring(t+1)):s=n,{refBody:s,sheetName:r,unitId:e}}function je(n){const{refBody:i,sheetName:e,unitId:t}=zn(n),r=i.indexOf(":");if(r===-1){const R=rr(i),b=R.row,L=R.column,U=R.absoluteRefType;return{unitId:t,sheetName:e,range:{startRow:b,startColumn:L,endRow:b,endColumn:L,startAbsoluteRefType:U,endAbsoluteRefType:U}}}const s=i.substring(0,r),a=i.substring(r+1),o=rr(s),u=rr(a),l=o.row,c=o.column,m=u.row,g=u.column;let p=E.RANGE_TYPE.NORMAL;return Number.isNaN(l)&&Number.isNaN(m)?p=E.RANGE_TYPE.COLUMN:Number.isNaN(c)&&Number.isNaN(g)&&(p=E.RANGE_TYPE.ROW),{unitId:t,sheetName:e,range:{startRow:l,startColumn:c,endRow:m,endColumn:g,startAbsoluteRefType:o.absoluteRefType,endAbsoluteRefType:u.absoluteRefType,rangeType:p}}}function nr(n){if(!$n(n))return!1;const{range:i}=je(n);return!(i.endColumn>=16384)}function sa(n,i){const e=(n==null?void 0:n.split(","))||[];return n===""||e.length===0?[]:Nn(n)?e.map(s=>{const a=je(s);return{unitId:a.unitId,sheetId:i(a.sheetName),range:a.range,sheetName:a.sheetName}}):[]}function Nn(n){return((n==null?void 0:n.split(","))||[]).every(e=>nr(e.trim()))}function sr(n){return n.length===0?!1:!!(Mn(n)||ia(n)||aa(n)||oa(n)||/[\s!$%^&*()+\-=\[\]{};':"\\|,.<>\/?]/.test(n))}function ia(n){const i=n.match(/[1-9][0-9]{0,6}/);return/^[A-Z]+[1-9][0-9]{0,6}$/.test(n)&&i!==null}function aa(n){return/^(R(-?[0-9]+)?C(-?[0-9]+)?|C(-?[0-9]+)?|R(-?[0-9]+)?)$/.test(n)}function oa(n){return!new RegExp("^\\p{Letter}","u").test(n.charAt(0))}const Wn=1e5,Kr=new ct(Wn),qr=new ct(Wn);class ir extends E.Disposable{constructor(){super(...arguments);d(this,"_currentLexerNode",new X);d(this,"_upLevel",0);d(this,"_segment","");d(this,"_bracketState",[]);d(this,"_squareBracketState",0);d(this,"_bracesState",0);d(this,"_singleQuotationState",0);d(this,"_doubleQuotationState",0);d(this,"_lambdaState",!1);d(this,"_colonState",!1);d(this,"_tableBracketState",!1)}dispose(){this._resetTemp(),this._currentLexerNode.dispose(),Kr.clear(),qr.clear()}getUpLevel(){return this._upLevel}isColonClose(){return this._colonState===!1}isColonOpen(){return this._colonState===!0}isDoubleQuotationClose(){return this._doubleQuotationState===0}isLambdaOpen(){return this._lambdaState===!0}isLambdaClose(){return this._lambdaState===!1}isSingleQuotationClose(){return this._singleQuotationState===0}isBracesClose(){return this._bracesState===0}isBracketClose(){return this._bracketState.length===0}isSquareBracketClose(){return this._squareBracketState===0}getCurrentLexerNode(){return this._currentLexerNode}getFunctionAndParameter(e,t){const r=this._getCurrentParamIndex(e,t);if(r==null||r===f.VALUE)return;const s=r[0];if(typeof s=="string")return;let a=s.getParent(),o=s;for(;a;){const u=a.getToken();if(u!==We&&!Ut(u)&&a.getStartIndex()!==-1){const l=a.getChildren().indexOf(o);return{functionName:u,paramIndex:l}}o=a,a=a.getParent()}}checkIfAddBracket(e){let t=0,r=e.length-1,s=e[r];for(;(s===N.CLOSE_BRACKET||s===" ")&&r>=0;)s===N.CLOSE_BRACKET&&t++,s=e[--r];const a=this._getCurrentParamIndex(e,e.length-2);if(a==null||a===f.VALUE)return 0;const o=a[0];if(typeof o=="string")return 0;let u=o.getParent(),l=0;for(a[1]===N.OPEN_BRACKET&&l++;u;){const c=u.getToken();c!==We&&c!==N.COLON&&u.getStartIndex()!==-1&&c.toUpperCase()!==Mt&&(t===0?l+=1:t--),u=u.getParent()}return l}sequenceNodesBuilder(e){const t=qr.get(e);if(t)return[...t];const r=this._getSequenceArray(e);if(r.length===0)return;const s=this.getSequenceNode(r);return qr.set(e,[...s]),s}convertRefersToAbsolute(e,t,r){const s=this.sequenceNodesBuilder(e);if(s==null)return e;let a="";e.substring(0,1)===ne.EQUALS&&(a=ne.EQUALS);for(let o=0,u=s.length;o<u;o++){const l=s[o];if(typeof l!="string"&&l.nodeType===Le.REFERENCE){const{token:c,endIndex:m}=l,g=je(c);if(g==null)continue;const{range:p,sheetName:R,unitId:b}=g,L={...p,startAbsoluteRefType:t,endAbsoluteRefType:r},U=ft({range:L,unitId:b,sheetName:R}),B=U.length-c.length;s[o]={...l,token:U,endIndex:m+B};for(let T=o+1;T<u;T++){const K=s[T];typeof K!="string"&&(K.startIndex+=B,K.endIndex+=B)}}}return`${a}${tr(s)}`}moveFormulaRefOffset(e,t,r,s=!1){const a=this.sequenceNodesBuilder(e);if(a==null)return e;const o=[];for(let u=0,l=a.length;u<l;u++){const c=a[u];if(typeof c=="string"||c.nodeType!==Le.REFERENCE){o.push(c);continue}const{token:m}=c,g=je(m),{sheetName:p,unitId:R}=g;let b=g.range;if(!s&&b.startAbsoluteRefType===E.AbsoluteRefType.ALL&&b.endAbsoluteRefType===E.AbsoluteRefType.ALL){o.push(c);continue}else b=E.moveRangeByOffset(b,t,r,s);let L="";E.isValidRange(b)?L=ft({range:b,unitId:R,sheetName:p}):L=f.REF,o.push({...c,token:L})}return`=${tr(o)}`}getSequenceNode(e){const t=[];let r=!1;for(let s=0,a=e.length;s<a;s++){const o=e[s],u=e[s-1],{segment:l,currentString:c}=o;if(c===N.DOUBLE_QUOTATION&&(r=!0),(l!==""||s===0)&&s!==a-1){t.push(c);continue}let m=(u==null?void 0:u.segment)||"",g=s-m.length,p=s-1,R=s-1;if(s===a-1&&this._isLastMergeString(c)&&(m+=c,p+=1),m===""||Zt.has(m)){t.push(c);continue}const b=m.trim(),L=this._replacePrefixString(b);if(r===!0&&b[b.length-1]===N.DOUBLE_QUOTATION)r=!1,this._processPushSequenceNode(t,Le.STRING,m,g,p,R);else if(new RegExp(Ft).test(L)&&nr(L)){if(L.length!==b.length){const U=b.length-L.length;R+=U,g+=U,m=this._replacePrefixString(m)}this._processPushSequenceNode(t,Le.REFERENCE,m,g,p,R)}else E.Tools.isStringNumber(b)?this._processPushSequenceNode(t,Le.NUMBER,m,g,p,R):b.length>0&&this._processPushSequenceNode(t,Le.FUNCTION,m,g,p,R);(s!==a-1||!this._isLastMergeString(c))&&t.push(c)}return this._mergeSequenceNodeReference(t)}_processPushSequenceNode(e,t,r,s,a,o){this._pushSequenceNode(e,{nodeType:t,token:r,startIndex:s,endIndex:a},o)}_getCurrentParamIndex(e,t){return this._nodeMaker(e,void 0,t)}_isLastMergeString(e){return e===N.DOUBLE_QUOTATION||E.Tools.isStringNumber(e)||!Ut(e)}_mergeSequenceNodeReference(e){const t=[],r=e.length;let s=0;for(;s<r;){const a=e[s];if(typeof a=="string"){const o=e[s-1];if(a.trim()===N.CLOSE_BRACES&&o!=null&&typeof o!="string"&&o.nodeType===Le.FUNCTION&&o.token.trim().substring(0,1)===N.OPEN_BRACES){o.nodeType=Le.ARRAY,o.token+=a,o.endIndex+=a.length,s++;continue}t.push(a)}else{const o=e[s+1],u=e[s+2];o===N.COLON&&typeof a!="string"&&u!=null&&typeof u!="string"&&nr((a.token+o+u.token).trim())&&(a.nodeType=Le.REFERENCE,a.token+=o+u.token,a.endIndex=u.endIndex,s+=2),t.push(a)}s++}return t}_pushSequenceNode(e,t,r){const s=r-t.startIndex+1;e.splice(e.length-s,s,t)}_replacePrefixString(e){const t=[];let r=!1;for(let s=0,a=e.length;s<a;s++){const o=e[s];if(o===Ni&&!r)t.push(o);else{if(!r&&(o===Re.AT||o===Re.MINUS))continue;t.push(o),r=!0}}return t.join("")}nodeMakerTest(e){return this._nodeMaker(e)}treeBuilder(e,t=!0,r,s){if(t===!0){const g=Kr.get(e),p=s==null?void 0:s(e);if(g&&!p)return g}this._resetCurrentLexerNode(),this._currentLexerNode.setToken(tt);const a=[];let o=this._nodeMaker(e,a);if(o===f.VALUE||a.length===0)return o;let u=!1,l="",c=[];if(r){const{hasDefinedName:g,sequenceString:p,definedNames:R}=r(a);u=g,l=p,c=R}if(u&&(this._resetCurrentLexerNode(),this._currentLexerNode.setToken(tt),o=this._nodeMaker(`=${l}`),o===f.VALUE))return o;const m=this._getTopNode(this._currentLexerNode);if(m&&(this._currentLexerNode=m),t){if(!this._suffixExpressionHandler(this._currentLexerNode))return f.VALUE;Kr.set(e,this._currentLexerNode)}return u&&this._currentLexerNode.setDefinedNames(c),this._currentLexerNode}_suffixExpressionHandler(e){var o;const t=e.getChildren();if(!t)return!1;const r=t.length,s=[],a=[];for(let u=0;u<r;u++){const l=t[u];if(l instanceof X)this._suffixExpressionHandler(l),s.push(l);else{const c=l.trim();if(c==="")continue;if(lt.has(c)){if(c===ne.PLUS&&this._deletePlusForPreNode(t[u-1]))continue;if(c!==ne.PLUS&&c!==ne.MINUS&&this._deletePlusForPreNode(t[u-1]))return!1;for(;a.length>0;){const m=(o=a[a.length-1])==null?void 0:o.trim();if(!m||m===N.OPEN_BRACKET)break;const g=Zt.get(m),p=Zt.get(c);if(!g||!p)break;if(p>=g)s.push(a.pop());else break}a.push(l)}else if(c===N.OPEN_BRACKET)a.push(l);else if(c===N.CLOSE_BRACKET)this._processSuffixExpressionCloseBracket(s,a,t,u);else{if(this._checkCloseBracket(t[u-1]))return!1;s.push(l)}}}return this._processSuffixExpressionRemain(s,a,e)}_processSuffixExpressionRemain(e,t,r){const s=e.length,a=e[s-1];for(;t.length>0;){const o=t.pop();if(!(a instanceof X)&&(o===N.OPEN_BRACKET||o===N.CLOSE_BRACKET))return!1;e.push(o)}return r.setChildren(e),!0}_processSuffixExpressionCloseBracket(e,t,r,s){var a;if(this._checkOpenBracket(r[s-1])||this._checkOperator(r[s-1]))return!1;for(;t.length>0;){const o=(a=t[t.length-1])==null?void 0:a.trim();if(!o)break;if(o===N.OPEN_BRACKET){t.pop();break}e.push(t.pop())}}_checkCloseBracket(e){return e===N.CLOSE_BRACKET}_checkOpenBracket(e){return e===N.OPEN_BRACKET}_checkOperator(e){return e==null||e instanceof X?!1:lt.has(e)}_deletePlusForPreNode(e){if(e==null)return!0;if(!(e instanceof X)){const t=e.trim();if(lt.has(t)||t===N.OPEN_BRACKET)return!0}return!1}_resetCurrentLexerNode(){this._currentLexerNode=new X}_resetSegment(){this._segment=""}_openBracket(e=0){this._bracketState.push(e)}_closeBracket(){this._bracketState.pop()}_openSquareBracket(){this._squareBracketState+=1}_closeSquareBracket(){this._squareBracketState-=1}_getCurrentBracket(){const e=this._bracketState;return e[e.length-1]}_changeCurrentBracket(e){const t=this._bracketState;t[t.length-1]=e}_openBraces(){this._bracesState+=1}_closeBraces(){this._bracesState-=1}_openSingleQuotation(){this._singleQuotationState+=1}_closeSingleQuotation(){this._singleQuotationState-=1}_openDoubleQuotation(){this._doubleQuotationState+=1}_closeDoubleQuotation(){this._doubleQuotationState-=1}_openLambda(){this._lambdaState=!0}_closeLambda(){this._lambdaState=!1}_openColon(e){this._upLevel=e,this._colonState=!0}_closeColon(){this._upLevel=0,this._colonState=!1}_isTableBracket(){return this._tableBracketState}_openTableBracket(){this._tableBracketState=!0}_closeTableBracket(){this._tableBracketState=!1}_getLastChildCurrentLexerNode(){const e=this._currentLexerNode.getChildren();if(e&&e.length>0){const t=e[e.length-1];if(t instanceof X)return t}return!1}_getLastChildCurrent(){const e=this._currentLexerNode.getChildren();return e&&e.length>0?e[e.length-1]:!1}_setParentCurrentLexerNode(){const e=this._currentLexerNode.getParent();return e?(this._currentLexerNode=e,!0):!1}_setAncestorCurrentLexerNode(){var r,s,a,o,u,l;const e=(r=this._currentLexerNode)==null?void 0:r.getParent();let t=!1;if(e&&e.getToken()===yt){if((s=e==null?void 0:e.getParent())!=null&&s.getParent()){const c=(o=(a=this._currentLexerNode.getParent())==null?void 0:a.getParent())==null?void 0:o.getParent();c&&(this._currentLexerNode=c),t=!0}}else if(e!=null&&e.getParent()){const c=(u=this._currentLexerNode.getParent())==null?void 0:u.getParent();c&&(this._currentLexerNode=c),t=!0}for(let c=0;c<this._upLevel;c++){const m=(l=this._currentLexerNode)==null?void 0:l.getParent();m&&(this._currentLexerNode=m),this._currentLexerNode?t=!0:t=!1}return t}_segmentCount(){return this._segment.trim().length}_pushSegment(e){this._segment+=e}_pushNodeToChildren(e,t=!1){if(e!==""){const r=this._currentLexerNode.getChildren();if(!(e instanceof X)&&this.isColonOpen()){const s=new X;s.setToken(e),s.setParent(this._currentLexerNode),e=s}t?r.unshift(e):r.push(e)}this.isColonOpen()&&(this._setAncestorCurrentLexerNode(),this._closeColon())}_setCurrentLexerNode(e,t=!1){this._pushNodeToChildren(e,t),e.setParent(this._currentLexerNode),this._currentLexerNode=e}_newAndPushCurrentLexerNode(e,t,r=!1){const s=new X;s.setToken(e),s.setIndex(t-e.length,t-1),this._setCurrentLexerNode(s,r)}_getTopNode(e){let t=e;for(;t!=null&&t.getParent();)t=t.getParent();return t}_removeLastChild(){this._currentLexerNode.getChildren().splice(-1)}_findPreviousToken(e,t){for(;t>=0;){const r=e[t];if(r!==" ")return r;t--}}_negativeCondition(e){return!!(lt.has(e)||e===N.OPEN_BRACKET||e===N.COMMA||e==="")}_getSequenceArray(e){const t=[];return this._nodeMaker(e,t),t}_resetTemp(){this._currentLexerNode=new X,this._upLevel=0,this._segment="",this._bracketState=[],this._bracesState=0,this._singleQuotationState=0,this._doubleQuotationState=0,this._lambdaState=!1,this._colonState=!1}_checkSimilarErrorToken(e,t,r){if(e!==Ne.POUND)return!0;let s=r[++t];for(;s===" ";)s=r[++t];return!!Ut(s)}_nodeMaker(e,t,r){e.substring(0,1)===ne.EQUALS&&(e=e.substring(1));let s=!1;e.substring(0,1)===ne.MINUS&&(e=`0${e}`,s=!0);const a=e.split(""),o=a.length;let u=0;for(this._resetTemp();u<o;){const l=a[u];if(r===u)return[this._currentLexerNode,l];if(l===N.OPEN_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())if(this._segmentCount()>0||this.isLambdaOpen()){this.isLambdaClose()&&(this._newAndPushCurrentLexerNode(this._segment,u),this._resetSegment()),this._openBracket(1),this._closeLambda();const c=a[u+1];if(c&&c===N.CLOSE_BRACKET){if(!this._setParentCurrentLexerNode()&&u!==o-1)return f.VALUE;this._addSequenceArray(t,l,u,s),u++,this._addSequenceArray(t,c,u,s),u++,this._closeBracket();continue}else c&&this._newAndPushCurrentLexerNode(We,u)}else this._pushNodeToChildren(l),this._openBracket(0);else if(l===N.CLOSE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){this._pushNodeToChildren(this._segment),this._resetSegment();const c=this._getCurrentBracket();if(c===0)this._pushNodeToChildren(l);else if(c===1){const m=a[u+1];if(m&&m===N.OPEN_BRACKET){if(!this._setParentCurrentLexerNode()&&u!==o-1)return f.VALUE;this._newAndPushCurrentLexerNode(yt,u,!0),this._openLambda()}else if(!this._setAncestorCurrentLexerNode()&&u!==o-1)return f.VALUE}else return f.VALUE;this._closeBracket()}else if(l===N.OPEN_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(l),this._openBraces();else if(l===N.CLOSE_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(l),this._pushNodeToChildren(this._segment),this._resetSegment(),this._closeBraces();else if(l===N.OPEN_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._segment.length>0&&this._openTableBracket(),this._pushSegment(l),this._openSquareBracket();else if(l===N.CLOSE_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._closeSquareBracket(),this.isSquareBracketClose()?(this._pushSegment(l),this._isTableBracket()&&(this._pushNodeToChildren(this._segment),this._resetSegment()),this._closeTableBracket()):this._pushSegment(l);else if(l===N.DOUBLE_QUOTATION&&this.isSingleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){if(this.isDoubleQuotationClose())this._openDoubleQuotation();else{const c=a[u+1];c&&c===N.DOUBLE_QUOTATION?u++:this._closeDoubleQuotation()}this._pushSegment(l)}else if(l===N.SINGLE_QUOTATION&&this.isDoubleQuotationClose()){if(this.isSingleQuotationClose())this._openSingleQuotation();else{const c=a[u+1];c&&c===N.SINGLE_QUOTATION?u++:this._closeSingleQuotation()}this._pushSegment(l)}else if(l===N.COMMA&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){const c=this._getCurrentBracket();if(c===1||c==null){if(this._pushNodeToChildren(this._segment),this._resetSegment(),!this._setParentCurrentLexerNode()&&u!==o-1&&c!=null)return f.VALUE;this._newAndPushCurrentLexerNode(We,u)}else{const m=new X;m.setToken(qi);const g=new X;g.setToken(We),g.changeToParent(m);const p=this._currentLexerNode.getParent();if(p&&p.getToken()===N.COLON){const R=p.getParent();if(!R)return f.VALUE;p.changeToParent(g),R.setChildren([]),m.changeToParent(R)}else return f.VALUE;this._changeCurrentBracket(1),this._pushNodeToChildren(this._segment),this._resetSegment(),this._currentLexerNode=m,this._newAndPushCurrentLexerNode(We,u)}}else if(l===N.COLON&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){const c=new X;c.setToken(l);const m=new X;m.setToken(We),m.setParent(c);const g=new X;g.setToken(We),g.setParent(c),c.getChildren().push(m,g);let p=c,R=0;if(this._segmentCount()>0){let b,L,U=0;const B=this._segment.trim(),T=B[0],K=B[1];if(T===Re.MINUS&&(b=new X,b.setToken(Re.MINUS),U++),(T===Re.AT||K===Re.AT)&&(L=new X,L.setToken(Re.AT),b&&(b.addChildren(L),L.setParent(b)),U++),U>0&&(this._segment=B.slice(U)),R=U,L)if(L.addChildren(c),c.setParent(L),L.getParent()){const ge=L.getParent();ge&&(p=ge)}else p=L;else b&&(p=b,b.addChildren(c),c.setParent(b));const ue=new X;ue.setToken(this._segment),ue.setParent(m),m.getChildren().push(ue),this._resetSegment()}else{const b=this._getLastChildCurrentLexerNode();b&&b.changeToParent(m)}this._setCurrentLexerNode(p),this._currentLexerNode=g,this._openColon(R)}else if(zi.has(l)&&this._checkSimilarErrorToken(l,u,a)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()){this._pushNodeToChildren(this._segment);const c=new X;c.setToken(l);const m=this._getLastChildCurrent();m instanceof X?m.changeToParent(c):m!==!1&&(c.getChildren().push(m),this._removeLastChild()),this._pushNodeToChildren(c),c.setParent(this._currentLexerNode),this._resetSegment()}else if(lt.has(l)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()){let c=this._segment.trim();if(l===ne.MINUS&&c===""){const m=this._findPreviousToken(a,u-1)||"";if(this._negativeCondition(m)){this._pushSegment(ne.MINUS),this._addSequenceArray(t,l,u,s),u++;continue}}else if(this._segment.length>0&&this._isScientificNotation(a,u,l)){this._pushSegment(l),this._addSequenceArray(t,l,u,s),u++;continue}else this._segment.length>0&&c===""?c=this._segment:(this._pushNodeToChildren(this._segment),c="");if(l===ne.LESS_THAN||l===ne.GREATER_THAN){const m=a[u+1];if(m&&lt.has(l+m)){this._pushNodeToChildren(c+l+m),this._resetSegment(),this._addSequenceArray(t,l,u,s),u++,this._addSequenceArray(t,m,u,s),u++;continue}else this._pushNodeToChildren(c+l)}else this._pushNodeToChildren(c+l);this._resetSegment()}else this._pushSegment(l);this._addSequenceArray(t,l,u,s),u++}this._pushNodeToChildren(this._segment)}_isScientificNotation(e,t,r){const s=e[t-2];if(s&&Number.isNaN(Number(s))||!(r===ne.MINUS||r===ne.PLUS))return!1;const a=e[t+1];if(a&&Number.isNaN(Number(a)))return!1;const o=e[t-1];return o&&o.toUpperCase()==="E"}_addSequenceArray(e,t,r,s){s&&r===0||e==null||e.push({segment:this._segment,currentString:t,cur:r,currentLexerNode:this._currentLexerNode})}}class ar extends E.Disposable{constructor(){super(...arguments);d(this,"pattern","")}getPattern(){return this.pattern}setPattern(e){this.pattern=e}isError(){return!1}isAsyncObject(){return!1}isAsyncArrayObject(){return!1}isReferenceObject(){return!1}isArray(){return!1}isValueObject(){return!1}isEqualType(e){return!1}}var nt=(n=>(n.FALSE="FALSE",n.TRUE="TRUE",n))(nt||{}),ht=(n=>(n[n.SUCCESS=0]="SUCCESS",n[n.ERROR=1]="ERROR",n))(ht||{}),mt=(n=>(n.ALL="#All",n.DATA="#Data",n.HEADERS="#Headers",n.TOTALS="#Totals",n))(mt||{}),Fe=(n=>(n[n.FRONT=0]="FRONT",n[n.BACK=1]="BACK",n))(Fe||{});class ua{constructor(){d(this,"_cache",new Map);d(this,"_continueBuildingCache",new Map)}set(i,e,t,r,s){if(!this.shouldContinueBuildingCache(i,e,t,s))return;let a=this._cache.get(i);a==null&&(a=new Map,this._cache.set(i,a));let o=a.get(e);o==null&&(o=new Map,a.set(e,o));let u=o.get(t);u==null&&(u=new Map,o.set(t,u));let l=u.get(r);l==null&&(l=new Set,u.set(r,l)),l.add(s)}getCellValuePositions(i,e,t){var r,s;return(s=(r=this._cache.get(i))==null?void 0:r.get(e))==null?void 0:s.get(t)}getCellPositions(i,e,t,r){var s,a,o;return(o=(a=(s=this._cache.get(i))==null?void 0:s.get(e))==null?void 0:a.get(t))==null?void 0:o.get(r)}getCellPosition(i,e,t,r,s,a){const o=this.getCellPositions(i,e,t,r);if(o!=null){for(const u of o)if(u>=s&&u<=a)return u}}setContinueBuildingCache(i,e,t,r,s){let a=this._continueBuildingCache.get(i);a==null&&(a=new Map,this._continueBuildingCache.set(i,a));let o=a.get(e);o==null&&(o=new Map,a.set(e,o));let u=o.get(t);if(u==null){u={startRow:r,endRow:s},o.set(t,u);return}u.startRow=Math.min(u.startRow,r),u.endRow=Math.max(u.endRow,s)}shouldContinueBuildingCache(i,e,t,r){var u,l;const s=(l=(u=this._continueBuildingCache.get(i))==null?void 0:u.get(e))==null?void 0:l.get(t);if(s==null)return!0;const{startRow:a,endRow:o}=s;return!(r>=a&&r<=o)}canUseCache(i,e,t,r,s){var l,c;if(t===-1||r===-1||s===-1)return!1;const a=(c=(l=this._continueBuildingCache.get(i))==null?void 0:l.get(e))==null?void 0:c.get(t);if(a==null)return!1;const{startRow:o,endRow:u}=a;return!(r>u||s<o)}clear(){this._cache.clear(),this._continueBuildingCache.clear()}}const st=new ua;var Xe=(n=>(n[n.MIN=0]="MIN",n[n.MAX=1]="MAX",n))(Xe||{}),Ve=(n=>(n[n.NORMAL=0]="NORMAL",n[n.MIN=1]="MIN",n[n.MAX=2]="MAX",n))(Ve||{});function Gn(){return Intl&&Intl.Collator?new Intl.Collator(void 0,{numeric:!1}).compare:(n,i)=>n.localeCompare(i)}function la(n){return n.indexOf("*")>-1||n.indexOf("?")>-1}function Zr(n,i){const e=fa(i).replace(/~?[*?]/g,r=>r.startsWith("~")?`\\${r.substring(1)}`:r==="*"?".*":r==="?"?".":r);return new RegExp(`^${e}$`).test(n)}function Xn(n){return n.replace(/~?[*?]/g,i=>i.startsWith("~")?i.substring(1):" ")}function ca(n,i,e){let t=!1;switch(e){case M.EQUALS:t=Zr(n,i);break;case M.NOT_EQUAL:t=!Zr(n,i);break;case M.GREATER_THAN:case M.GREATER_THAN_OR_EQUAL:t=Zr(n,i)||n>Xn(i);break;case M.LESS_THAN:case M.LESS_THAN_OR_EQUAL:t=n<Xn(i);break}return t}function fa(n){return n.replace(/[.+^${}()|[\]\\]/g,"\\$&")}class Ke extends ar{constructor(i){super(),this._rawValue=i}isValueObject(){return!0}toUnitRange(){return{range:{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1},sheetId:"",unitId:""}}getValue(){return 0}getArrayValue(){return[]}setValue(i){}setArrayValue(i){}isCube(){return!1}isString(){return!1}isNumber(){return!1}isBoolean(){return!1}isLambda(){return!1}isError(){return!1}isNull(){return!1}sum(){return h.create(f.VALUE)}max(){return h.create(f.VALUE)}min(){return h.create(f.VALUE)}count(){return h.create(f.VALUE)}countA(){return h.create(f.VALUE)}countBlank(){return h.create(f.VALUE)}getNegative(){return h.create(f.VALUE)}getReciprocal(){return h.create(f.VALUE)}plus(i){return h.create(f.VALUE)}minus(i){return h.create(f.VALUE)}multiply(i){return h.create(f.VALUE)}divided(i){return h.create(f.VALUE)}mod(i){return h.create(f.VALUE)}map(i){return h.create(f.NAME)}mapValue(i){return h.create(f.NAME)}compare(i,e,t=!1){return h.create(f.NAME)}isEqual(i){return this.compare(i,M.EQUALS)}isNotEqual(i){return this.compare(i,M.NOT_EQUAL)}isGreaterThanOrEqual(i){return this.compare(i,M.GREATER_THAN_OR_EQUAL)}isLessThanOrEqual(i){return this.compare(i,M.LESS_THAN_OR_EQUAL)}isLessThan(i){return this.compare(i,M.LESS_THAN)}isGreaterThan(i){return this.compare(i,M.GREATER_THAN)}concatenateFront(i){return h.create(f.NAME)}concatenateBack(i){return h.create(f.NAME)}plusBy(i){return h.create(f.VALUE)}minusBy(i){return h.create(f.VALUE)}multiplyBy(i){return h.create(f.VALUE)}dividedBy(i){return h.create(f.VALUE)}modInverse(i){return h.create(f.VALUE)}compareBy(i,e){return h.create(f.NAME)}concatenate(i,e=Fe.FRONT){let t=this.getValue().toString();if(typeof i=="string")e===Fe.FRONT?t=i+t:t+=i;else if(typeof i=="number")e===Fe.FRONT?t=i.toString()+t:t+=i.toString();else if(typeof i=="boolean"){const r=i?"TRUE":"FALSE";e===Fe.FRONT?t=r+t:t+=r}return t}pow(i){return h.create(f.VALUE)}powInverse(i){return h.create(f.VALUE)}sqrt(){return h.create(f.VALUE)}cbrt(){return h.create(f.VALUE)}cos(){return h.create(f.VALUE)}acos(){return h.create(f.VALUE)}acosh(){return h.create(f.VALUE)}sin(){return h.create(f.VALUE)}sinh(){return h.create(f.VALUE)}asin(){return h.create(f.VALUE)}asinh(){return h.create(f.VALUE)}tan(){return h.create(f.VALUE)}tanh(){return h.create(f.VALUE)}atan(){return h.create(f.VALUE)}atan2(i){return h.create(f.VALUE)}atan2Inverse(i){return h.create(f.VALUE)}atanh(){return h.create(f.VALUE)}mean(){return this}median(){return this}var(){return this}std(){return this}log(){return h.create(f.VALUE)}log10(){return h.create(f.VALUE)}exp(){return h.create(f.VALUE)}abs(){return h.create(f.VALUE)}round(i){return h.create(f.VALUE)}roundInverse(i){return h.create(f.VALUE)}floor(i){return h.create(f.VALUE)}floorInverse(i){return h.create(f.VALUE)}ceil(i){return h.create(f.VALUE)}ceilInverse(i){return h.create(f.VALUE)}convertToNumberObjectValue(){return h.create(f.VALUE)}convertToBooleanObjectValue(){return h.create(f.VALUE)}}const ha=1e3,Kn=new ct(ha);class h extends Ke{constructor(i,e=""){super(i),this._errorType=i,this._errorContent=e}static create(i,e=""){const t=`${i}-${e}`,r=Kn.get(t);if(r)return r;const s=new h(i,e);return Kn.set(t,s),s}getValue(){return this._errorType}getErrorType(){return this._errorType}getErrorContent(){return this._errorContent}isEqualType(i){return i.getErrorType()===this.getErrorType()}isError(){return!0}}function Jr(n){let i;switch(n){case M.EQUALS:i=M.EQUALS;break;case M.GREATER_THAN:i=M.LESS_THAN;break;case M.GREATER_THAN_OR_EQUAL:i=M.LESS_THAN_OR_EQUAL;break;case M.LESS_THAN:i=M.GREATER_THAN;break;case M.LESS_THAN_OR_EQUAL:i=M.GREATER_THAN_OR_EQUAL;break;case M.NOT_EQUAL:i=M.NOT_EQUAL;break}return i}function qn(n,i){return n+i}function Zn(n,i){return n-i}function bt(n,i){return n*i}function Jn(n,i){return n/i}function es(n,i){const e=10**Math.floor(i),t=en(n,e);return Math.round(bt(n,e)+t)/e}function ts(n,i){const e=10**Math.floor(i),t=en(n,e);return Math.floor(bt(n,e)+t)/e}function rs(n,i){const e=10**Math.floor(i),t=en(n,e);return Math.ceil(bt(n,e)-t)/e}function en(n,i){return Number.EPSILON*Math.max(1,Math.abs(bt(n,i)))}function ns(n,i){return n-i*Math.floor(n/i)}function ss(n,i){return n**i}function ma(n){return Math.sqrt(n)}function is(n,i){return n===i}function da(n,i){return n>i}function ga(n,i){return n>=i}function pa(n,i){return n<i}function Ra(n,i){return n<=i}function tn(n,i=15){return Number.parseFloat(n.toPrecision(i))}function _a(n,i){return Math.abs(n-i)<Number.EPSILON}function as(n,i=12){const e=tn(n,i);return _a(n,e)?e:tn(n)}function Ea(n){return n-Math.trunc(n)}var Ca=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ya(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var os={exports:{}};(function(n,i){(function(e,t){n.exports=t()})(typeof self<"u"?self:Ca,function(){return function(){var e={d:function(C,_){for(var y in _)e.o(_,y)&&!e.o(C,y)&&Object.defineProperty(C,y,{enumerable:!0,get:_[y]})},o:function(C,_){return Object.prototype.hasOwnProperty.call(C,_)}},t={};e.d(t,{default:function(){return qc}});var r={1078:"af",1052:"sq",1118:"am",5121:"ar_DZ",15361:"ar_BH",3073:"ar_EG",2049:"ar_IQ",11265:"ar_JO",13313:"ar_KW",12289:"ar_LB",4097:"ar_LY",6145:"ar_MA",8193:"ar_OM",16385:"ar_QA",1025:"ar_SA",10241:"ar_SY",7169:"ar_TN",14337:"ar_AE",9217:"ar_YE",1067:"hy",1101:"as",2092:"az_AZ",1068:"az_AZ",1069:"eu",1059:"be",2117:"bn",1093:"bn_IN",5146:"bs",1026:"bg",1109:"my",1027:"ca",2052:"zh_CN",3076:"zh_HK",5124:"zh_MO",4100:"zh_SG",1028:"zh_TW",1050:"hr",1029:"cs",1030:"da",1125:"dv",2067:"nl_BE",1043:"nl_NL",1126:"bin",3081:"en_AU",10249:"en_BZ",4105:"en_CA",9225:"en_CB",2057:"en_GB",16393:"en_IN",6153:"en_IE",8201:"en_JM",5129:"en_NZ",13321:"en_PH",7177:"en_ZA",11273:"en_TT",1033:"en_US",12297:"en_ZW",1061:"et",1071:"mk",1080:"fo",1065:"fa",1124:"fil",1035:"fi",2060:"fr_BE",11276:"fr_CM",3084:"fr_CA",9228:"fr_CG",12300:"fr_CI",1036:"fr_FR",5132:"fr_LU",13324:"fr_ML",6156:"fr_MC",14348:"fr_MA",10252:"fr_SN",4108:"fr_CH",7180:"fr",1122:"fy_NL",2108:"gd_IE",1084:"gd",1110:"gl",1079:"ka",3079:"de_AT",1031:"de_DE",5127:"de_LI",4103:"de_LU",2055:"de_CH",1032:"el",1140:"gn",1095:"gu",1279:"en",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig_NG",1057:"id",1040:"it_IT",2064:"it_CH",1041:"ja",1099:"kn",1120:"ks",1087:"kk",1107:"km",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1142:"la",1062:"lv",1063:"lt",2110:"ms_BN",1086:"ms_MY",1100:"ml",1082:"mt",1112:"mni",1153:"mi",1102:"mr",1104:"mn",2128:"mn",1121:"ne",1044:"no_NO",2068:"no_NO",1096:"or",1045:"pl",1046:"pt_BR",2070:"pt_PT",1094:"pa",1047:"rm",2072:"ro_MO",1048:"ro_RO",1049:"ru",2073:"ru_MO",1083:"se",1103:"sa",3098:"sr_SP",2074:"sr_SP",1072:"st",1074:"tn",1113:"sd",1115:"si",1051:"sk",1060:"sl",1143:"so",1070:"sb",11274:"es_AR",16394:"es_BO",13322:"es_CL",9226:"es_CO",5130:"es_CR",7178:"es_DO",12298:"es_EC",17418:"es_SV",4106:"es_GT",18442:"es_HN",2058:"es_MX",19466:"es_NI",6154:"es_PA",15370:"es_PY",10250:"es_PE",20490:"es_PR",1034:"es_ES",14346:"es_UY",8202:"es_VE",1089:"sw",2077:"sv_FI",1053:"sv_SE",1114:"syc",1064:"tg",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1073:"ts",1055:"tr",1090:"tk",1058:"uk",1056:"ur",2115:"uz_UZ",1091:"uz_UZ",1075:"ve",1066:"vi",1106:"cy",1076:"xh",1085:"yi",1077:"zu"};const s=/^([a-z\d]+)(?:[_-]([a-z\d]+))?(?:\.([a-z\d]+))?(?:@([a-z\d]+))?$/i,a={},o={group:" ",decimal:".",positive:"+",negative:"-",percent:"%",exponent:"E",nan:"NaN",infinity:"∞",ampm:["AM","PM"],mmmm6:["Muharram","Safar","Rabiʻ I","Rabiʻ II","Jumada I","Jumada II","Rajab","Shaʻban","Ramadan","Shawwal","Dhuʻl-Qiʻdah","Dhuʻl-Hijjah"],mmm6:["Muh.","Saf.","Rab. I","Rab. II","Jum. I","Jum. II","Raj.","Sha.","Ram.","Shaw.","Dhuʻl-Q.","Dhuʻl-H."],mmmm:["January","February","March","April","May","June","July","August","September","October","November","December"],mmm:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dddd:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ddd:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]};function u(C){const _=s.exec(C);if(!_)throw new SyntaxError("Malformed locale: ".concat(C));return{lang:_[1]+(_[2]?"_"+_[2]:""),language:_[1],territory:_[2]||"",codeset:_[3]||"",modifier:_[4]||""}}function l(C){if(typeof C=="number")return r[65535&C]||null;const _=parseInt(C,16);return isFinite(_)&&r[65535&_]?r[65535&_]||null:s.test(C)?C:null}function c(C){const _=l(C);let y=null;if(_){const P=u(_);y=a[P.lang]||a[P.language]||null}return y}function m(C){return Object.assign({},o,C)}function g(C,_){const y=typeof _=="object"?_:u(_);return a[y.lang]=m(C),y.language===y.lang||a[y.language]||(a[y.language]=m(C)),a[y.lang]}const p=m({group:","});function R(C,_){if(typeof C!="number")return C;if(C<0)return-R(-C,_);if(_){const y=10**(_||0)||1;return R(C*y,0)/y}return Math.round(C)}p.isDefault=!0,g({group:",",ampm:["上午","下午"],mmmm:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],ddd:["周日","周一","周二","周三","周四","周五","周六"]},"zh_CN"),g({group:",",nan:"非數值",ampm:["上午","下午"],mmmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],ddd:["週日","週一","週二","週三","週四","週五","週六"]},"zh_TW"),g({group:",",ampm:["午前","午後"],mmmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],ddd:["日","月","火","水","木","金","土"]},"ja"),g({group:",",ampm:["오전","오후"],mmmm:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],mmm:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dddd:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],ddd:["일","월","화","수","목","금","토"]},"ko"),g({group:",",ampm:["ก่อนเที่ยง","หลังเที่ยง"],mmmm:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],mmm:["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],dddd:["วันอาทิตย์","วันจันทร์","วันอังคาร","วันพุธ","วันพฤหัสบดี","วันศุกร์","วันเสาร์"],ddd:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."]},"th"),g({decimal:",",ampm:["dop.","odp."],mmmm:["ledna","února","března","dubna","května","června","července","srpna","září","října","listopadu","prosince"],mmm:["led","úno","bře","dub","kvě","čvn","čvc","srp","zář","říj","lis","pro"],dddd:["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"],ddd:["ne","po","út","st","čt","pá","so"]},"cs"),g({group:".",decimal:",",mmmm:["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december"],mmm:["jan.","feb.","mar.","apr.","maj","jun.","jul.","aug.","sep.","okt.","nov.","dec."],dddd:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],ddd:["søn.","man.","tir.","ons.","tor.","fre.","lør."]},"da"),g({group:".",decimal:",",ampm:["a.m.","p.m."],mmmm:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],mmm:["jan.","feb.","mrt.","apr.","mei","jun.","jul.","aug.","sep.","okt.","nov.","dec."],dddd:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],ddd:["zo","ma","di","wo","do","vr","za"]},"nl"),g({group:","},"en"),g({decimal:",",nan:"epäluku",ampm:["ap.","ip."],mmmm:["tammikuuta","helmikuuta","maaliskuuta","huhtikuuta","toukokuuta","kesäkuuta","heinäkuuta","elokuuta","syyskuuta","lokakuuta","marraskuuta","joulukuuta"],mmm:["tammik.","helmik.","maalisk.","huhtik.","toukok.","kesäk.","heinäk.","elok.","syysk.","lokak.","marrask.","jouluk."],dddd:["sunnuntaina","maanantaina","tiistaina","keskiviikkona","torstaina","perjantaina","lauantaina"],ddd:["su","ma","ti","ke","to","pe","la"]},"fi"),g({group:" ",decimal:",",mmmm:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],mmm:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dddd:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],ddd:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."]},"fr"),g({group:".",decimal:",",mmmm:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],mmm:["Jan.","Feb.","März","Apr.","Mai","Juni","Juli","Aug.","Sept.","Okt.","Nov.","Dez."],dddd:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],ddd:["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."]},"de"),g({group:".",decimal:",",ampm:["π.μ.","μ.μ."],mmmm:["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου"],mmm:["Ιαν","Φεβ","Μαρ","Απρ","Μαΐ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],dddd:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],ddd:["Κυρ","Δευ","Τρί","Τετ","Πέμ","Παρ","Σάβ"]},"el"),g({decimal:",",ampm:["de.","du."],mmmm:["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],mmm:["jan.","febr.","márc.","ápr.","máj.","jún.","júl.","aug.","szept.","okt.","nov.","dec."],dddd:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],ddd:["V","H","K","Sze","Cs","P","Szo"]},"hu"),g({group:".",decimal:",",ampm:["f.h.","e.h."],mmmm:["janúar","febrúar","mars","apríl","maí","júní","júlí","ágúst","september","október","nóvember","desember"],mmm:["jan.","feb.","mar.","apr.","maí","jún.","júl.","ágú.","sep.","okt.","nóv.","des."],dddd:["sunnudagur","mánudagur","þriðjudagur","miðvikudagur","fimmtudagur","föstudagur","laugardagur"],ddd:["sun.","mán.","þri.","mið.","fim.","fös.","lau."]},"is"),g({group:".",decimal:",",mmmm:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],mmm:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agu","Sep","Okt","Nov","Des"],dddd:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],ddd:["Min","Sen","Sel","Rab","Kam","Jum","Sab"]},"id"),g({group:".",decimal:",",mmmm:["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"],mmm:["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],dddd:["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"],ddd:["dom","lun","mar","mer","gio","ven","sab"]},"it"),g({decimal:",",ampm:["a.m.","p.m."],mmmm:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],mmm:["jan.","feb.","mar.","apr.","mai","jun.","jul.","aug.","sep.","okt.","nov.","des."],dddd:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],ddd:["søn.","man.","tir.","ons.","tor.","fre.","lør."]},"nb"),g({decimal:",",mmmm:["stycznia","lutego","marca","kwietnia","maja","czerwca","lipca","sierpnia","września","października","listopada","grudnia"],mmm:["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru"],dddd:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"],ddd:["niedz.","pon.","wt.","śr.","czw.","pt.","sob."]},"pl"),g({group:".",decimal:",",mmmm:["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"],mmm:["jan.","fev.","mar.","abr.","mai.","jun.","jul.","ago.","set.","out.","nov.","dez."],dddd:["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"],ddd:["dom.","seg.","ter.","qua.","qui.","sex.","sáb."]},"pt"),g({decimal:",",nan:"не число",mmmm:["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"],mmm:["янв.","февр.","мар.","апр.","мая","июн.","июл.","авг.","сент.","окт.","нояб.","дек."],dddd:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],ddd:["вс","пн","вт","ср","чт","пт","сб"]},"ru"),g({decimal:",",mmmm:["januára","februára","marca","apríla","mája","júna","júla","augusta","septembra","októbra","novembra","decembra"],mmm:["jan","feb","mar","apr","máj","jún","júl","aug","sep","okt","nov","dec"],dddd:["nedeľa","pondelok","utorok","streda","štvrtok","piatok","sobota"],ddd:["ne","po","ut","st","št","pi","so"]},"sk"),g({group:".",decimal:",",ampm:["a. m.","p. m."],mmmm:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],mmm:["ene.","feb.","mar.","abr.","may.","jun.","jul.","ago.","sept.","oct.","nov.","dic."],dddd:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],ddd:["dom.","lun.","mar.","mié.","jue.","vie.","sáb."]},"es"),g({decimal:",",ampm:["fm","em"],mmmm:["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december"],mmm:["jan.","feb.","mars","apr.","maj","juni","juli","aug.","sep.","okt.","nov.","dec."],dddd:["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"],ddd:["sön","mån","tis","ons","tors","fre","lör"]},"sv"),g({group:".",decimal:",",ampm:["ÖÖ","ÖS"],mmmm:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],mmm:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],dddd:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],ddd:["Paz","Pzt","Sal","Çar","Per","Cum","Cmt"]},"tr");function b(C,_,y){const P=C<0?-1:1,w=10**(_||2),k=10**(y||2);let O,x,S=Math.abs(C),j=0,Q=0,F=0,z=1;if((C=S)%1==0)x=[C*P,1];else if(C<1e-19)x=[P,1e19];else if(C>1e19)x=[1e19*P,1];else{do if(S=1/(S-Math.floor(S)),O=z,z=z*Math.floor(S)+j,j=O,Q=F,F=Math.floor(C*z+.5),F>=w||z>=k)return[P*Q,j];while(Math.abs(C-F/z)>=1e-10&&S!==Math.floor(S));x=[P*F,z]}return x}const L={overflow:"######",dateErrorThrows:!1,dateErrorNumber:!0,dateSpanLarge:!0,leap1900:!0,nbsp:!0,throws:!0,invalid:"######",locale:"",ignoreTimezone:!1},U=Object.assign({},L);function B(C){if(C===null&&(C=L),C){for(const _ in C)if(_ in L){const y=C[_];U[_]=y==null?L[_]:y}}return{...U}}const T={"#":"",0:"0","?":" "},K={"@":"text","-":"minus","+":"plus"},ue=["#000","#FFF","#F00","#0F0","#00F","#FF0","#F0F","#0FF","#000","#FFF","#F00","#0F0","#00F","#FF0","#F0F","#0FF","#800","#080","#008","#880","#808","#088","#CCC","#888","#99F","#936","#FFC","#CFF","#606","#F88","#06C","#CCF","#008","#F0F","#FF0","#0FF","#808","#800","#088","#00F","#0CF","#CFF","#CFC","#FF9","#9CF","#F9C","#C9F","#FC9","#36F","#3CC","#9C0","#FC0"],ge=["¤","$","£","¥","֏","؋","৳","฿","៛","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"],Pe=new RegExp("["+ge.join("")+"]");function Ce(C,_,y){return _[y+"_max"]=C.length,_[y+"_min"]=C.replace(/#/g,"").length,_}const Se={};function ye(C){if(!(C in Se)){const _=[],y=C.replace(/^[#,]+/,"").replace(/[1-9]\d*/g,P=>"?".repeat(P.length));for(let P=0;P<y.length;P++){const w=y.charAt(P);_[P]=w in T?T[w]:w}Se[C]=_.join("")}return Se[C]}function he(C,_){typeof C=="string"&&(C={type:"string",value:C=C.replace(/ /g,T["?"])}),_.push(C)}function Te(C){const _=[],y={scale:1,percent:!1,text:!1,date:0,date_eval:!1,date_system:1,sec_decimals:0,general:!1,clock:24,int_pattern:[],frac_pattern:[],man_pattern:[],den_pattern:[],num_pattern:[],tokens:_};let P=C+"",w="int",k=!1,O=null;const x=[];let S,j,Q=!1;for(;P&&!k;){if(S=/^General/i.exec(P))y.general=!0,he({type:"general"},_);else if(w==="int"&&(S=/^[#?0]+(?:,[#?0]+)*/.exec(P))||w==="den"&&(S=/^[#?\d]+/.exec(P))||(S=/^[#?0]+/.exec(P)))y[w+"_pattern"].push(S[0]),O={type:w,num:S[0]},he(O,_);else if((S=/^\//.exec(P))&&y[w+"_pattern"].length){if(!O)throw new SyntaxError("Missing a numerator in pattern ".concat(C));y.fractions=!0,y.num_pattern.push(y[w+"_pattern"].pop()),O.type="num",w="den",he({type:"div"},_)}else if(S=/^,+/.exec(P)){const v=P.charAt(1)in T;j.slice(-1)in T&&(S[0].length>1||!v)?y.scale=.001**S[0].length:y.dec_fractions||he(S[0],_)}else{if(S=/^;/.exec(P)){k=!0;break}if(S=/^[@+-]/.exec(P))S[0]==="@"&&(y.text=!0),he({type:K[S[0]]},_);else if(S=/^(?:\[(h+|m+|s+)\])/i.exec(P)){const v=S[1].toLowerCase(),H=v[0],G={type:"",size:0,date:1,raw:S[0],pad:v.length};H==="h"?(G.size=16,G.type="hour-elap"):H==="m"?(G.size=32,G.type="min-elap"):(G.size=64,G.type="sec-elap"),y.date=y.date|G.size,x.push(G),he(G,_)}else if(S=/^(?:B2)/i.exec(P))Q||(y.date_system=6);else if(S=/^(?:B1)/i.exec(P))Q||(y.date_system=1);else if(S=/^(?:([hHmMsSyYbBdDegG])\1*)/.exec(P)){const v={type:"",size:0,date:1,raw:S[0]},H=S[0].toLowerCase(),G=H[0];if(H==="y"||H==="yy")v.size=2,v.type="year-short";else if(G==="y"||G==="e")v.size=2,v.type="year";else if(H==="b"||H==="bb")v.size=2,v.type="b-year-short";else if(G==="b")v.size=2,v.type="b-year";else if(H==="d"||H==="dd")v.size=8,v.type="day",v.pad=/dd/.test(H);else if(H==="ddd")v.size=8,v.type="weekday-short";else if(G==="d")v.size=8,v.type="weekday";else if(G==="h")v.size=16,v.type="hour",v.pad=/hh/i.test(H);else if(G==="m"){H.length===3?(v.size=4,v.type="monthname-short"):H.length===5?(v.size=4,v.type="monthname-single"):H.length>=4&&(v.size=4,v.type="monthname");const ee=x[x.length-1];!v.type&&ee&&!ee.used&&80&ee.size&&(ee.used=!0,v.size=32,v.type="min",v.pad=/mm/.test(H)),v.type||(v.size=4,v.type="month",v.pad=/mm/.test(H),v.indeterminate=!0)}else if(G==="s"){v.size=64,v.type="sec",v.pad=/ss/.test(H);const ee=x[x.length-1];ee&&32&ee.size?v.used=!0:ee&&ee.indeterminate&&(delete ee.indeterminate,ee.size=32,ee.type="min",v.used=!0)}y.date=y.date|v.size,y.date_eval=!0,x.push(v),he(v,_)}else if(S=/^(?:AM\/PM|am\/pm|A\/P)/.exec(P))y.clock=12,y.date=16|y.date,y.date_eval=!0,he({type:"am",short:S[0]==="A/P"},_);else if(y.date&&(S=/^\.0{1,3}/i.exec(P))){const v=S[0].length-1,H=[64,128,256,512][v];y.date=y.date|H,y.date_eval=!0,y.sec_decimals=Math.max(y.sec_decimals,v),he({type:"subsec",size:H,decimals:v,date:1,raw:S[0]},_)}else if((S=/^\\(.)/.exec(P))||(S=/^"([^"]*?)"/.exec(P)))he(S[1],_);else if(S=/^\[(<[=>]?|>=?|=)\s*(-?[.\d]+)\]/.exec(P))y.condition=[S[1],parseFloat(S[2],10)];else if(S=/^\[\$([^\]]+)\]/.exec(P)){const v=S[1].split("-"),H=v.length<2?"":v[v.length-1],G=v[0];G&&he(G,_);const ee=l(H);ee&&(y.locale=ee);const ie=parseInt(H,16);isFinite(ie)&&16711680&ie&&(ie>>16&255)===6&&(y.date_system=6),Q=!0}else if(S=/^\[(black|blue|cyan|green|magenta|red|white|yellow|color\s*(\d+))\]/i.exec(P))y.color=S[2]?ue[parseInt(S[2],10)]||"#000":S[1].toLowerCase();else if(!(S=/^\[(DBNum1|ENG|HIJ|JPN|TWN)\]/i.exec(P))){if(S=/^%/.exec(P))y.scale=100,y.percent=!0,he("%",_);else if(S=/^_(\\.|.)/.exec(P))he(" ",_);else if(S=/^\./.exec(P))he({type:"point",value:S[0]},_),y.dec_fractions=!0,w="frac";else if(S=/^[Ee]([+-]?|(?=[0#?]))/.exec(P))y.exponential=!0,y.exp_plus=S[1]==="+",w="man",he({type:"exp",plus:S[1]==="+"},_);else if(!(S=/^\*(\\.|.)/.exec(P))){if(S=/^[BENn[]/.exec(P))throw new SyntaxError("Unexpected char ".concat(P.charAt(0)," in pattern ").concat(C));P[0]==="("&&(y.parens=!0),S=[P[0]],he(S[0],_)}}}j=S[0],P=P.slice(S?S[0].length:1)}if(y.pattern=C.slice(0,C.length-P.length),/^((?:\[[^\]]+\])+)(;|$)/.test(y.pattern)&&!/^\[(?:h+|m+|s+)\]/.test(y.pattern)&&he({type:"text"},_),y.fractions&&y.dec_fractions||y.fractions&&y.exponential)throw new SyntaxError("Invalid pattern: ".concat(y.pattern));const F=y.int_pattern.join("");if(y.grouping=F.indexOf(",")>=0,y.grouping){const v=F.split(","),H=v.length;H===2?(y.group_pri=v[1].length,y.group_sec=y.group_pri):H>2&&(y.group_pri=v[H-1].length,y.group_sec=v[H-2].length)}else y.group_pri=0,y.group_sec=0;Ce(F.replace(/[,]/g,""),y,"int"),Ce(y.frac_pattern.join(""),y,"frac"),Ce(y.man_pattern.join(""),y,"man");let z=y.num_pattern.join(""),q=y.den_pattern.join("");const W=/\?/.test(q)||/\?/.test(z);return q=q.replace(/\d/g,W?"?":"#"),W&&(q=q.replace(/#$/g,"?")),Ce(z,y,"num"),Ce(q,y,"den"),W&&(z=z.replace(/#$/g,"?")),y.int_padding=ye(y.int_pattern.join("")),y.man_padding=ye(y.man_pattern.join("")),y.num_padding=ye(z),y.den_padding=ye(q),y.den_pattern.length&&(y.denominator=parseInt(y.den_pattern.join("").replace(/\D/g,""),10)),y.integer=!!y.int_pattern.join("").length,y.fractions&&_.forEach((v,H)=>{const G=_[H+1];v.type==="string"&&G&&(G.type==="num"?v.rule="num+int":G.type==="div"?v.rule="num":G.type==="den"&&(v.rule="den"))}),y}const _t=C=>{const _=C.condition;_&&_[1]<0&&(_[0]==="<"||_[0]==="<="||_[0]==="=")||C.tokens.unshift({type:"minus",volatile:!0})};function xi(C){const _=[];let y,P=!1,w=null,k=C,O=0,x=!1,S=0,j=0;do{if(x=Te(k),(x.date||x.general)&&(x.int_pattern.length||x.frac_pattern.length||x.scale!==1||x.text))throw new Error("Illegal format");if(x.condition&&(j++,P=!0),x.text){if(w)throw new Error("Unexpected partition");w=x}x.locale&&(y=l(x.locale)),_.push(x),O=k.charAt(x.pattern.length)===";"?1:0,k=k.slice(x.pattern.length+O),S++}while(O&&S<4&&j<3);if(O)throw new Error("Unexpected partition");if(j>2)throw new Error("Unexpected condition");const Q=_[3];if(Q&&(Q.int_pattern.length||Q.frac_pattern.length||Q.date))throw new Error("Unexpected partition");if(P){const F=_.length;if(F===1&&(_[1]=Te("General"),_[1].generated=!0),F<3){const z=_[0],q=_[1];if(_t(z),q.condition)_t(q);else{const W=z.condition;(W[0]==="="||W[1]>=0&&(W[0]===">"||W[0]===">="))&&q.tokens.unshift({type:"minus",volatile:!0})}}else _.forEach(_t)}else{if(_.length<4&&w)for(let F=0,z=_.length;F<z;F++)_[F]===w&&_.splice(F,1);if(_.length<1&&w&&(_[0]=Te("General"),_[0].generated=!0),_.length<2){const F=Te(_[0].pattern);F.tokens.unshift({type:"minus",volatile:!0}),F.generated=!0,_.push(F)}if(_.length<3){const F=Te(_[0].pattern);F.generated=!0,_.push(F)}if(_.length<4)if(w)_.push(w);else{const F=Te("@");F.generated=!0,_.push(F)}_[0].condition=[">",0],_[1].condition=["<",0],_[2].condition=null}return{pattern:C,partitions:_,locale:y}}const Ue=Math.floor;function wi(C){if((!(arguments.length>1&&arguments[1]!==void 0)||arguments[1])&&C>=0){if(C===0)return[1900,1,0];if(C===60)return[1900,2,29];if(C<60)return[1900,C<32?1:2,(C-1)%31+1]}let y=C+68569+2415019;const P=Ue(4*y/146097);y-=Ue((146097*P+3)/4);const w=Ue(4e3*(y+1)/1461001);y=y-Ue(1461*w/4)+31;const k=Ue(80*y/2447),O=y-Ue(2447*k/80);y=Ue(k/11);const x=k+2-12*y;return[0|100*(P-49)+w+y,0|x,0|O]}function kc(C){return wi(C+1462)}function Ic(C){if(C===60)throw new Error("#VALUE!");if(C<=1)return[1317,8,29];if(C<60)return[1317,C<32?9:10,1+(C-2)%30];const _=10631/30,y=.1335;let P=C+466935;const w=Ue(P/10631);P-=10631*w;const k=Ue((P-y)/_);P-=Ue(k*_+y);const O=Ue((P+28.5001)/29.5);return O===13?[30*w+k,12,30]:[30*w+k,O,P-Ue(29.5001*O-29)]}function Ui(C){let _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,y=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2];const P=Ue(C);return _===6?Ic(P):_===-1?kc(P):wi(P,y)}const Qr=Math.floor,Vn=86400;function zr(C,_){let y=null;if(Array.isArray(C)){const[P,w,k,O,x,S]=C;y=Date.UTC(P,w==null?0:w-1,k!=null?k:1,O||0,x||0,S||0)}else if(C instanceof Date&&(y=1*C,!_||!_.ignoreTimezone)){const P=new Date;P.setUTCFullYear(C.getFullYear(),C.getMonth(),C.getDate()),P.setUTCHours(C.getHours(),C.getMinutes(),C.getSeconds(),C.getMilliseconds()),y=1*P}if(y!=null&&isFinite(y)){const P=y/864e5;return P-(P<=-25509?-25568:-25569)}return C}function Oi(C,_){let y=0|C;const P=Vn*(C-y);let w=Qr(P);P-w>.9999&&(w+=1,w===Vn&&(w=0,y+=1));const k=w<0?Vn+w:w,[O,x,S]=Ui(C,0,_&&_.leap1900),j=Qr(k/60/60)%60,Q=Qr(k/60)%60,F=Qr(k)%60;if(_&&_.nativeDate){const z=new Date(0);return z.setUTCFullYear(O,x-1,S),z.setUTCHours(j,Q,F),z}return[O,x,S,j,Q,F]}function jc(C){return!!(C[0]&&C[0].percent||C[1]&&C[1].percent||C[2]&&C[2].percent||C[3]&&C[3].percent)}function $c(C){return!!(C[0]&&C[0].date||C[1]&&C[1].date||C[2]&&C[2].date||C[3]&&C[3].date)}function Yc(C){const[_,y,P,w]=C;return!(_&&!_.generated||y&&!y.generated||P&&!P.generated||!w||!w.text||w.generated)}const Hc={text:15,datetime:10.8,date:10.8,time:10.8,percent:10.6,currency:10.4,grouped:10.2,scientific:6,number:4,fraction:2,general:0,error:0},Qc=[["DMY",1],["DM",2],["MY",3],["MDY",4],["MD",5],["hmsa",6],["hma",7],["hms",8],["hm",9]],zc={total:1,sign:0,period:0,int:1,frac:0},Xt=(C,_)=>C.replace(/\./,_.decimal);function Mi(C,_,y,P){const w=0|y;if(typeof y=="string")C.push(y);else if(y===w)C.push(Math.abs(w));else{const k=Math.abs(y);let O=k?Math.floor(Math.log10(k)):0,x=O<0?k*10**-O:k/10**O;x===10&&(x=1,O++);const S=function(Q){let F=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];const z=Math.abs(Q);if(!z)return zc;const q=F&&Q<0?1:0,W=Math.floor(z),v=Math.floor(Math.log10(z)+1);let H=0,G=0;if(W!==z){H=1;const ee=String(R(v<0?z*10**-v:z/10**v,15));let ie=ee.length,re=!0,De=0;for(;De<=ee.length;){if(ee[De]==="."){ie--;break}ee[De]==="0"&&re?ie--:re=!1,De++}G=ie-v,G<0&&(G=0,H=0)}return{total:q+Math.max(v,1)+H+G,digits:Math.max(v,0)+G,sign:q,period:H,int:Math.max(v,1),frac:G}}(k),j=()=>{const Q=Math.abs(O);let F;F=x===1?x:R(x,5),C.push(Xt(F+"",P),P.exponent,O<0?P.negative:P.positive,Q<10?"0":"",Q)};if(O>=-4&&O<=-1){const Q=k.toPrecision(10+O).replace(/\.?0+$/,"");C.push(Xt(Q,P))}else if(O===10){const Q=k.toFixed(10).slice(0,12).replace(/\.$/,"");C.push(Xt(Q,P))}else if(Math.abs(O)<=9)if(S.total<=11){const Q=R(k,9).toFixed(S.frac);C.push(Xt(Q,P))}else O===9?C.push(Math.floor(k)):O>=0&&O<9?C.push(R(k,9-O)):j();else S.total>=12?j():Math.floor(k)===k?C.push(Math.floor(k)):C.push(Xt(R(k,9).toFixed(S.frac),P))}return C}const Kt=86400,Fi={int:"integer",frac:"fraction",man:"mantissa",num:"numerator",den:"denominator"},vi=function(C){let _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;const y=Math.floor(Math.log10(C));return _>1?Math.floor(y/_)*_:y};function Bi(C,_,y,P){let w="",k="",O="",x="",S="",j=0,Q=0|C,F=0,z=0,q=1,W=0,v=0,H=0,G=0,ee=0,ie=0;const re=P||p;if(!_.text&&isFinite(_.scale)&&_.scale!==1&&(C=function(te){if(te===0)return te;const ae=Math.ceil(Math.log10(te<0?-te:te)),I=10**(16-Math.floor(ae));return Math.round(te*I)/I}(C*_.scale)),_.exponential){let te=Math.abs(C);if(te){const ae=10**-vi(te,_.int_max),I=R(te*ae,_.frac_max)/ae;j=vi(I,_.int_max)}te/=10**j,C=C<0?-te:te,w+=Math.abs(j)}if(_.integer){const te=Math.abs(R(C,_.fractions?1:_.frac_max));S+=te<1?"":Math.floor(te)}if(_.grouping){let te="",ae=S.length;for(ae>_.group_pri&&(ae-=_.group_pri,te=re.group+S.slice(ae,ae+_.group_pri)+te);ae>_.group_sec;)ae-=_.group_sec,te=re.group+S.slice(ae,ae+_.group_sec)+te;S=ae?S.slice(0,ae)+te:te}_.dec_fractions&&(x=String(R(C,_.frac_max)).split(".")[1]||"");let De=!1;if(_.fractions){const te=Math.abs(_.integer?C%1:C);if(te)if(De=!0,isFinite(_.denominator))O+=_.denominator,k+=R(te*_.denominator),k==="0"&&(k="",O="",De=!1,S||(S="0"));else{const ae=b(te,_.integer?_.num_max:1/0,_.den_max);k+=ae[0],O+=ae[1],_.integer&&k==="0"&&(S||(S="0"),k="",O="",De=!1)}}if(_.date){Q=Math.trunc(C);const te=Kt*(C-Q);if(F=Math.floor(te),ie=te-F,Math.abs(ie)<1e-6?ie=0:ie>.9999&&(ie=0,F+=1,F===Kt&&(F=0,Q+=1)),ie){const ae=512&_.date||256&_.date||128&_.date;(ae===512&&ie>.9995||ae===256&&ie>.995||ae===128&&ie>.95||!ae&&ie>=.5)&&(F++,ie=0)}if(Q||_.date_system){const ae=Ui(C,_.date_system,y.leap1900);z=ae[0],q=ae[1],W=ae[2]}if(F){const ae=F<0?Kt+F:F;ee=Math.floor(ae)%60,G=Math.floor(ae/60)%60,H=Math.floor(ae/60/60)%60}if(v=(6+Q)%7,_.date_eval&&(et=C,Et=Q+F/Kt,y.dateSpanLarge?et<-694324||Et>=35830291:et<0||Et>=2958466)){if(y.dateErrorThrows)throw new Error("Date out of bounds");return y.dateErrorNumber?Mi(C<0?[re.negative]:[],0,C,re).join(""):y.overflow}}var et,Et;if(_.int_padding&&(S=_.int_padding.length===1?S||_.int_padding:_.int_padding.substring(0,_.int_padding.length-S.length)+S),_.num_padding&&(k=_.num_padding.length===1?k||_.num_padding:_.num_padding.substring(0,_.num_padding.length-k.length)+k),_.den_padding&&(O=_.den_padding.length===1?O||_.den_padding:O+_.den_padding.slice(O.length)),_.man_padding){const te=_.exp_plus?"+":"";w=_.man_padding.length===1?(j<0?"-":te)+(w||_.man_padding):(j<0?"-":te)+_.man_padding.slice(0,_.man_padding.length-w.length)+w}const Y=[];let Oe=0;const ut={int:0,frac:0,man:0,num:0,den:0};for(let te=0,ae=_.tokens.length;te<ae;te++){const I=_.tokens[te],Nr=I.num?I.num.length:0;if(I.type==="string")I.rule?I.rule==="num"?De?Y.push(I.value):(_.num_min>0||_.den_min>0)&&Y.push(I.value.replace(/./g,T["?"])):I.rule==="num+int"?De&&S?Y.push(I.value):_.den_min>0&&(S||_.num_min)&&Y.push(I.value.replace(/./g,T["?"])):I.rule==="den"&&(De?Y.push(I.value):(_.den_min>0||_.den_min>0)&&Y.push(I.value.replace(/./g,T["?"]))):Y.push(I.value);else if(I.type==="error")Y.push(y.invalid);else if(I.type==="point")Y.push(_.date?I.value:re.decimal);else if(I.type==="general")Mi(Y,0,C,re);else if(I.type==="exp")Y.push(re.exponent);else if(I.type==="minus")I.volatile&&_.date||I.volatile&&(C>=0||typeof C!="number")||(I.volatile&&!_.fractions&&(_.integer||_.dec_fractions)?(C<0&&S&&S!=="0"||x)&&Y.push(re.negative):Y.push(re.negative));else if(I.type==="plus")Y.push(re.positive);else if(I.type==="text")Y.push(C);else if(I.type==="div")De?Y.push("/"):_.num_min>0||_.den_min>0?Y.push(T["?"]):Y.push(T["#"]);else if(I.type==="int")if(_.int_pattern.length===1)Y.push(S);else{const de=Oe?_.int_pattern.join("").length-ut.int:1/0,wt=Oe===_.int_pattern.length-1?0:_.int_pattern.join("").length-(ut.int+I.num.length);Y.push(S.substring(S.length-de,S.length-wt)),Oe++,ut.int+=I.num.length}else if(I.type==="frac"){const de=ut.frac;for(let wt=0;wt<Nr;wt++)Y.push(x[wt+de]||T[I.num[wt]]);ut.frac+=Nr}else if(I.type in Fi)_[I.type+"_pattern"].length===1?(I.type==="int"&&Y.push(S),I.type==="frac"&&Y.push(x),I.type==="man"&&Y.push(w),I.type==="num"&&Y.push(k),I.type==="den"&&Y.push(O)):(Y.push(Fi[I.type].slice(ut[I.type],ut[I.type]+Nr)),ut[I.type]+=Nr);else if(I.type==="year")z<0&&Y.push(re.negative),Y.push(String(Math.abs(z)).padStart(4,"0"));else if(I.type==="year-short"){const de=z%100;Y.push(de<10?"0":"",de)}else if(I.type==="month")Y.push(I.pad&&q<10?"0":"",q);else if(I.type==="monthname-single")_.date_system===6?Y.push(re.mmmm6[q-1].charAt(0)):Y.push(re.mmmm[q-1].charAt(0));else if(I.type==="monthname-short")_.date_system===6?Y.push(re.mmm6[q-1]):Y.push(re.mmm[q-1]);else if(I.type==="monthname")_.date_system===6?Y.push(re.mmmm6[q-1]):Y.push(re.mmmm[q-1]);else if(I.type==="weekday-short")Y.push(re.ddd[v]);else if(I.type==="weekday")Y.push(re.dddd[v]);else if(I.type==="day")Y.push(I.pad&&W<10?"0":"",W);else if(I.type==="hour"){const de=H%_.clock||(_.clock<24?_.clock:0);Y.push(I.pad&&de<10?"0":"",de)}else if(I.type==="min")Y.push(I.pad&&G<10?"0":"",G);else if(I.type==="sec")Y.push(I.pad&&ee<10?"0":"",ee);else if(I.type==="subsec"){Y.push(re.decimal);const de=ie.toFixed(_.sec_decimals);Y.push(de.slice(2,2+I.decimals))}else if(I.type==="am"){const de=H<12?0:1;I.short&&!P?Y.push("AP"[de]):Y.push(re.ampm[de])}else if(I.type==="hour-elap"){C<0&&Y.push(re.negative);const de=24*Q+Math.floor(Math.abs(F)/3600);Y.push(String(Math.abs(de)).padStart(I.pad,"0"))}else if(I.type==="min-elap"){C<0&&Y.push(re.negative);const de=1440*Q+Math.floor(Math.abs(F)/60);Y.push(String(Math.abs(de)).padStart(I.pad,"0"))}else if(I.type==="sec-elap"){C<0&&Y.push(re.negative);const de=Q*Kt+Math.abs(F);Y.push(String(Math.abs(de)).padStart(I.pad,"0"))}else if(I.type==="b-year")Y.push(z+543);else if(I.type==="b-year-short"){const de=(z+543)%100;Y.push(de<10?"0":"",de)}}return y.nbsp?Y.join(""):Y.join("").replace(/\u00a0/g," ")}function Ti(C,_){for(let y=0;y<3;y++){const P=_[y];if(P){let w;if(P.condition){const k=P.condition[0],O=P.condition[1];k==="="?w=C===O:k===">"?w=C>O:k==="<"?w=C<O:k===">="?w=C>=O:k==="<="?w=C<=O:k==="<>"&&(w=C!==O)}else w=!0;if(w)return P}}}const ki=Te("@"),Ii="black",ke={};function Ie(C,_){if(C){const y=C[0];_[y]=_[y]||{},Ie(C.slice(1),_[y])}else _.$=!0}["d-F-y","d-F-Y","d-M-y","d-M-Y","F-d-y","F-d-Y","F-j-y","F-j-Y","j-F-y","j-F-Y","j-M-y","j-M-Y","M-d-y","M-d-Y","M-j-y","M-j-Y","m-d-y","m-d-Y","m-j-y","m-j-Y","n-d-y","n-d-Y","n-j-y","n-j-Y","y-F-d","y-F-j","y-M-d","y-M-j","Y-F-d","Y-F-j","Y-M-d","Y-m-d","Y-M-j","Y-m-j","Y-n-d","Y-n-j","j-F","j-M","d-F","d-M","n-d","n-j","n-Y","m-d","m-j","m-Y","M-Y","M-y","F-y","F-Y","Y-M","Y-n","Y-m","Y-F","Y-M"].forEach(C=>{Ie(C,ke),Ie(C+" x",ke),Ie(C+" l",ke),Ie(C+" l x",ke),Ie("l "+C,ke),Ie("l "+C+" x",ke),Ie(C+" D",ke),Ie(C+" D x",ke),Ie("D "+C,ke),Ie("D "+C+" x",ke)});const Nc={jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12},Wc={january:1,february:2,march:3,april:4,june:6,july:7,august:8,september:9,october:10,november:11,december:12},Gc={sunday:"l",monday:"l",tuesday:"l",wednesday:"l",thursday:"l",friday:"l",saturday:"l",sun:"D",mon:"D",tue:"D",wed:"D",thu:"D",fri:"D",sat:"D"},Xc=new Date().getUTCFullYear();function ji(C){const _=new RegExp("^([\\s+%"+ge.join("")+"(-]*)(((?:(?:\\d[\\d,]*)(?:\\.\\d*)?|(?:\\.\\d+)))([eE][+-]?\\d+)?)([\\s%"+ge.join("")+")]*)$").exec(C);if(_){const[,y,P,w,k,O]=_;let x=1,S="",j=!1,Q=!1,F=!1,z=!1,q=!1,W=null,v=!1,H=parseFloat(P.replace(/,/g,""));if(!isFinite(H))return null;for(let ee=0;ee<y.length;ee++){const ie=y[ee];if(ie==="-"){if(j||Q)return null;j=!0,x=-1}else if(Pe.test(ie)){if(q)return null;q=!0,W=ie}else if(ie==="("){if(Q||j)return null;Q=!0,x=-1}else if(ie==="%"){if(z)return null;z=!0}}for(let ee=0;ee<O.length;ee++){const ie=O[ee];if(Pe.test(ie)){if(q)return null;q=!0,W=ie,v=!0}else if(ie===")"){if(F||!Q)return null;F=!0}else if(ie==="%"){if(z)return null;z=!0}}if(k){if(z||q)return null;S="0.00E+00"}else if(z){if(q)return null;S=w.includes(".")?"0.00%":"0%",H*=.01}else if(q){const ee=w.includes(".")?"#,##0.00":"#,##0";S=v?ee+W:W+ee}else w.includes(",")&&(S=w.includes(".")?"#,##0.00":"#,##0");const G={v:H*x};return S&&(G.z=S),G}}const ze=(C,_,y)=>{const P=y.path||"",w=Object.keys(_);for(let k=0;k<w.length;k++){let O;const x=w[k];if(_[x]){if(x==="$"||x==="€")C||(O=y);else if(x==="-"){const S=/^(\s*([./-]|,\s)\s*|\s+)/.exec(C);if(S){const j=S[1]==="-"||S[1]==="/"||S[1]==="."?S[1]:" ";if(!y.sep||y.sep===j){const Q=S[0].replace(/\s+/g," ");O=ze(C.slice(S[0].length),_[x],{...y,sep:j,path:P+Q})}}}else if(x===" "){const S=/^[,.]?\s+/.exec(C);if(S){const j=S[0].replace(/\s+/g," ");O=ze(C.slice(S[0].length),_[x],{...y,path:P+j})}}else if(x==="j"||x==="d"){const S=/^(0?[1-9]|1\d|2\d|3[01])\b/.exec(C);S&&(O=ze(C.slice(S[0].length),_[x],{...y,day:S[0],path:P+x}))}else if(x==="n"||x==="m"){const S=/^(0?[1-9]|1[012])\b/.exec(C);S&&(O=ze(C.slice(S[0].length),_[x],{...y,month:+S[0],_mon:S[0],path:P+x}))}else if(x==="F"||x==="M"){const S=/^([a-z]{3,9})\b/i.exec(C),j=S&&(x==="F"?Wc:Nc)[S[0].toLowerCase()];j&&(O=ze(C.slice(S[0].length),_[x],{...y,month:j,_mon:S[0],path:P+x}))}else if(x==="l"||x==="D"){const S=/^([a-z]{3,9})\b/i.exec(C);(S&&Gc[S[0].toLowerCase()])===x&&(O=ze(C.slice(S[0].length),_[x],{...y,path:P+x}))}else if(x==="y"){const S=/^\d\d\b/.exec(C);if(S){const j=+S[0]>=30?+S[0]+1900:+S[0]+2e3;O=ze(C.slice(S[0].length),_[x],{...y,year:j,path:P+x})}}else if(x==="Y"){const S=/^\d\d\d\d\b/.exec(C);S&&(O=ze(C.slice(S[0].length),_[x],{...y,year:+S[0],path:P+x}))}else{if(x!=="x")throw new Error('Unknown date token "'.concat(x,'"'));{const S=xn(C);S&&(O=ze("",_[x],{...y,time:S.v,tf:S.z,path:P+x}))}}if(O)return O}}};function $i(C,_){const y=ze(C.trim(),ke,{path:""});if(y){var P;if(y.sep==="."&&y.path.length===3)return null;const w=+((P=y.year)!==null&&P!==void 0?P:Xc);if(y.day||(y.day=1),!function(x,S,j){if(j<1||S<1||S>12)return!1;if(S===2){if(j>(x%4==0&&x%100!=0||x%400==0||x===1900?29:28))return!1}else if((S===4||S===6||S===9||S===11)&&j>30||(S===1||S===3||S===5||S===7||S===8||S===10||S===12)&&j>31)return!1;return!0}(w,y.month,y.day))return null;let k=-1/0;if(w<1900)return null;w<=1900&&y.month<=2?k=25568:w<1e4&&(k=25569);const O=Date.UTC(w,y.month-1,y.day)/864e5+k+(y.time||0);if(O>=0&&O<=2958465){const x=y._mon[0]==="0"||y.day[0]==="0"||y._mon.length===2&&y.day.length===2,S=y.path.replace(/[jdlDnmMFyYx-]/g,j=>j==="j"||j==="d"?x?"dd":"d":j==="D"?"ddd":j==="l"?"dddd":j==="n"||j==="m"?x?"mm":"m":j==="M"?"mmm":j==="F"?"mmmm":j==="y"?"yy":j==="x"?y.tf||"":j==="Y"?"yyyy":j);return _&&_.nativeDate?{v:Oi(O,_),z:S}:{v:O,z:S}}}return null}function xn(C){const _=/^\s*([10]?\d|2[0-4])(?::([0-5]\d|\d))?(?::([0-5]\d|\d))?(\.\d{1,10})?(?:\s*([AP])M?)?\s*$/i.exec(C);if(_){const[,y,P,w,k,O]=_;if(k&&!w||!O&&!P&&!w)return null;let x=1*(y||0);if(O){if(x>=13)return null;O[0]!=="p"&&O[0]!=="P"||(x+=12)}return{v:(60*x*60+60*(1*(P||0))+1*(w||0)+1*(k||0))/86400,z:(y.length===2?"hh":"h")+":mm"+(w?":ss":"")+(O?" AM/PM":"")}}return null}function Yi(C){return/^\s*true\s*$/i.test(C)?{v:!0}:/^\s*false\s*$/i.test(C)?{v:!1}:null}const qt={};function Kc(C,_){const{pattern:y,partitions:P,locale:w}=C,k=S=>{const j=Object.assign({},B(),_,S);return w&&(j.locale=w),j},O=(S,j)=>{const Q=k(j);return function(F,z,q){const W=c(q.locale),v=z[3]?z[3]:ki;if(typeof F=="boolean"&&(F=F?"TRUE":"FALSE"),F==null)return"";if(typeof F!="number")return Bi(F,v,q,W);if(!isFinite(F)){const G=W||p;return isNaN(F)?G.nan:(F<0?G.negative:"")+G.infinity}const H=Ti(F,z);return H?Bi(F,H,q,W):q.overflow}(zr(S,Q),P,Q)};O.color=(S,j)=>function(Q,F){if(typeof Q!="number"||!isFinite(Q))return(F[3]?F[3].color:ki.color)||Ii;const z=Ti(Q,F);return z&&z.color||Ii}(zr(S,k(j)),P);const x=function(S){var j;let Q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;const[F,z]=S,q=F.frac_max,W={type:"general",isDate:$c(S),isText:Yc(S),isPercent:jc(S),maxDecimals:F.general?9:q,scale:(j=F.scale)!==null&&j!==void 0?j:1,color:0,parentheses:0,grouped:F.grouping?1:0,_partitions:S},v=!W.isDate&&!W.isText&&!F.error&&F.tokens.some(re=>re.type==="string"&&(Q?re.value===Q:Pe.test(re.value)));let H="G",G=q>=0?Math.min(15,q):"",ee="",ie="";if(z&&z.color&&(ie="-",W.color=1),F.parens&&(ee="()",W.parentheses=1),v)H="C",W.type="currency";else if(F.error)W.type="error",W.maxDecimals=0;else if(W.isDate){let re=0,De=0,et="";F.tokens.forEach(Y=>{const Oe=Y.type;/^(b-)?year/.test(Oe)?(et+="Y",De++):Oe.startsWith("month")?(et+="M",De++):/^(week)?day/.test(Oe)?(et+="D",De++):Oe!=="hour"&&Oe!=="min"&&Oe!=="sec"&&Oe!=="am"||(et+=Oe[0],re++)}),W.type="date",De&&re?W.type="datetime":!De&&re&&(W.type="time");const Et=Qc.find(Y=>et.startsWith(Y[0]));H=Et?"D":"G",G=Et?Et[1]:""}else W.isText?(H="G",W.type="text",G="",W.maxDecimals=0):F.general?(H="G",W.type="general",G=""):F.fractions?(H="G",W.type="fraction",G=""):F.exponential?(H="S",W.type="scientific"):W.isPercent?(H="P",W.type="percent"):F.grouping?(H=",",W.type="grouped"):(F.int_max||q)&&(H="F",W.type="number");return W.code=H+G+ie+ee,W.level=Hc[W.type],Object.freeze(W)}(P,(_||{}).currency)||new SyntaxError;return O.info=x,O.dateInfo=function(S){const[j]=S;return{year:!!(2&j.date),month:!!(4&j.date),day:!!(8&j.date),hours:!!(16&j.date),minutes:!!(32&j.date),seconds:!!(64&j.date),clockType:j.clock===12?12:24}}(P),O.isPercent=()=>!!x.isPercent,O.isDate=()=>!!x.isDate,O.isText=()=>!!x.isText,O.pattern=y,C.error&&(O.error=C.error),O.options=k,O.locale=w||_&&_.locale||"",Object.freeze(O)}function le(C,_){C||(C="General");let y=null;return qt[C]?y=qt[C]:(y=Object.assign({},B(),_).throws?xi(C):function(P){try{return xi(P)}catch(w){const k={tokens:[{type:"error"}],error:w.message};return{pattern:P,partitions:[k,k,k,k],error:w.message,locale:null}}}(C),y.error||(qt[C]=y)),Kc(y,_)}le.isDate=C=>le(C,{throws:!1}).isDate(),le.isPercent=C=>le(C,{throws:!1}).isPercent(),le.isText=C=>le(C,{throws:!1}).isText(),le.getInfo=(C,_)=>le(C,{..._,throws:!1}).info,le.getDateInfo=(C,_)=>le(C,{..._,throws:!1}).dateInfo,le.dateToSerial=zr,le.dateFromSerial=Oi,le.options=B,le.dec2frac=b,le.round=R,le.codeToLocale=r,le.parseLocale=u,le.getLocale=c,le.addLocale=(C,_)=>{const y=u(_);return delete qt[y.lang],delete qt[y.language],g(C,y)},le.format=function(C,_,y){let P=arguments.length>3&&arguments[3]!==void 0&&arguments[3];const w=y&&typeof y=="object"?y:{locale:y,throws:!P};return le(C,w)(zr(_,w),w)},le.is_date=le.isDate,le.parseNumber=ji,le.parseDate=$i,le.parseTime=xn,le.parseBool=Yi,le.parseValue=function(C,_){var y,P,w;return(y=(P=(w=ji(C))!==null&&w!==void 0?w:$i(C,_))!==null&&P!==void 0?P:xn(C))!==null&&y!==void 0?y:Yi(C)};var qc=le;return t=t.default}()})})(os);var Da=os.exports,ba=Da;const St=ya(ba),Sa=["$","£","¥","¤","֏","؋","৳","฿","៛","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"],Aa={currency:2,date:4,datetime:5,error:11,fraction:7,general:0,grouped:11,number:1,percent:6,scientific:8,text:9,time:5,unknown:11};function Pa(n,i,e){var u,l;if(n==null||i==null)return i;const t=(e==null?void 0:e.getStyleByCell(n))||n.s,r=(e==null?void 0:e.getStyleByCell(i))||i.s;if(t==null||r==null||typeof t!="object"||typeof r!="object")return i;const s=(u=t==null?void 0:t.n)==null?void 0:u.pattern,a=(l=r==null?void 0:r.n)==null?void 0:l.pattern;if(s==null||a==null)return i;const o=s||a;return r.n.pattern=o,i}function us(n){if(La(n))return 3;const i=St.getInfo(n).type||"unknown";return Aa[i]}function La(n){return!!Sa.find(i=>n.includes(i))&&n.startsWith("_(")}function or(n,i,e){if(n==="")return i;if(i==="")return n;const t=us(n),r=us(i);return e===ne.PLUS||e===ne.MINUS?t===4&&r===4||t===11&&r===11?"":i:e===ne.MULTIPLY||e===ne.DIVIDED?t===6&&r===6||t===7&&r===7||t===8&&r===8||t===9&&r===9?i:"":n||i}const Hr=class Hr extends Ke{static create(){return this._instance=this._instance||new Hr(0),this._instance}isNull(){return!0}plus(i){return D.create(0).plus(i)}minus(i){return D.create(0).minus(i)}multiply(i){return D.create(0).multiply(i)}divided(i){return D.create(0).divided(i)}mod(i){return D.create(0).mod(i)}compare(i,e){return i.isString()?ce.create("").compare(i,e):i.isBoolean()?$.create(!1).compare(i,e):D.create(0).compare(i,e)}concatenateFront(i){return i.isArray()?i.concatenateBack(ce.create("")):ce.create(this.concatenate(i.getValue(),Fe.FRONT))}concatenateBack(i){return i.isArray()?i.concatenateFront(ce.create("")):ce.create(this.concatenate(i.getValue(),Fe.BACK))}plusBy(i){return D.create(0).plusBy(i)}minusBy(i){return D.create(0).minusBy(i)}multiplyBy(i){return D.create(0).multiplyBy(i)}dividedBy(i){return D.create(0).dividedBy(i)}compareBy(i,e){return typeof i=="string"?ce.create("").compareBy(i,e):typeof i=="boolean"?$.create(!1).compareBy(i,e):D.create(0).compareBy(i,e)}pow(i){return D.create(0).pow(i)}sqrt(){return D.create(0).sqrt()}cbrt(){return D.create(0).cbrt()}cos(){return D.create(0).cos()}acos(){return D.create(0).acos()}acosh(){return D.create(0).acosh()}sin(){return D.create(0).sin()}sinh(){return D.create(0).sinh()}asin(){return D.create(0).asin()}asinh(){return D.create(0).asinh()}tan(){return D.create(0).tan()}tanh(){return D.create(0).tanh()}atan(){return D.create(0).atan()}atan2(i){return D.create(0).atan2(i)}atanh(){return D.create(0).atanh()}log(){return h.create(f.NUM)}log10(){return h.create(f.NUM)}exp(){return D.create(0).exp()}abs(){return D.create(0).abs()}round(i){return D.create(0).round(i)}floor(i){return D.create(0).floor(i)}ceil(i){return D.create(0).ceil(i)}convertToNumberObjectValue(){return D.create(0)}convertToBooleanObjectValue(){return $.create(!1)}};d(Hr,"_instance");let se=Hr;const Rt=class Rt extends Ke{constructor(e){super(e);d(this,"_value",!1);this._value=e}static create(e){return e?(this._instanceTrue=this._instanceTrue||new Rt(!0),this._instanceTrue):(this._instanceFalse=this._instanceFalse||new Rt(!1),this._instanceFalse)}getValue(){return this._value}isBoolean(){return!0}getNegative(){const e=this.getValue();let t=0;return e&&(t=1),D.create(-t)}getReciprocal(){return this.getValue()?D.create(1):h.create(f.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,Jr(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 s=D.create(e?1:0);return this._convertToNumber().compare(s,t)}return Rt.create(r)}_compareString(e){switch(e){case M.GREATER_THAN:case M.GREATER_THAN_OR_EQUAL:return!0;case M.EQUALS:case M.LESS_THAN:case M.LESS_THAN_OR_EQUAL:case M.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),D.create(t)}pow(e){return this._convertToNumber().pow(e)}sqrt(){return this._convertToNumber().sqrt()}cbrt(){return this._convertToNumber().cbrt()}cos(){return this._convertToNumber().cos()}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 lr(this.getValue())}convertToBooleanObjectValue(){return this}};d(Rt,"_instanceTrue"),d(Rt,"_instanceFalse");let $=Rt;const Va=2e5,ls=new ct(Va);class D extends Ke{constructor(e){super(e);d(this,"_value",0);this._value=Number(e)}static create(e,t=""){const r=`${e}-${t}`,s=ls.get(r);if(s)return s;const a=new D(e);return t&&a.setPattern(t),ls.set(r,a),a}getValue(){return this._value}setValue(e){this._value=e}isNumber(){return!0}getNegative(){return D.create(0).minus(this)}getReciprocal(){return D.create(1).divided(this)}plus(e){if(e.isArray())return e.plus(this);let t=this.plusBy(e.getValue());if(t.isError())return t;const r=or(this.getPattern(),e.getPattern(),ne.PLUS);return t=D.create(Number(t.getValue()),r),t}equalZero(){return this._value===0}minus(e){if(e.isArray()){const s=e.getNegative();return s.isError()?s:s.plus(this)}let t=this.minusBy(e.getValue());if(t.isError())return t;const r=or(this.getPattern(),e.getPattern(),ne.MINUS);return t=D.create(Number(t.getValue()),r),t}multiply(e){if(e.isArray())return e.multiply(this);let t=this.multiplyBy(e.getValue());if(t.isError())return t;const r=or(this.getPattern(),e.getPattern(),ne.MULTIPLY);return t=D.create(Number(t.getValue()),r),t}divided(e){if(e.isArray()){const s=e.getReciprocal();return s.isError()?s:s.multiply(this)}let t=this.dividedBy(e.getValue());if(t.isError())return t;const r=or(this.getPattern(),e.getPattern(),ne.DIVIDED);return t=D.create(Number(t.getValue()),r),t}mod(e){if(e.isArray())return e.modInverse(this);const t=this.getValue(),r=e.getValue();if(e.isNull())return h.create(f.DIV_BY_ZERO);if(typeof r=="string")return h.create(f.VALUE);if(typeof r=="number"){if(r===0)return h.create(f.DIV_BY_ZERO);if(!Number.isFinite(t)||!Number.isFinite(r)||Math.abs(r)*11259e8<=Math.abs(t))return h.create(f.NUM);const s=ns(t,r);return Number.isFinite(s)?D.create(s):h.create(f.NUM)}if(typeof r=="boolean"){const s=r?1:0;return s===0?h.create(f.DIV_BY_ZERO):D.create(ns(t,s))}return this}concatenateFront(e){return e.isArray()?e.concatenateBack(this):ce.create(this.concatenate(e.getValue(),Fe.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):ce.create(this.concatenate(e.getValue(),Fe.BACK))}compare(e,t){return e.isArray()?e.compare(this,Jr(t)):this.compareBy(e.getValue(),t)}plusBy(e){const t=this.getValue();if(typeof e=="string")return Ct.has(e)?h.create(e):h.create(f.VALUE);if(typeof e=="number"){if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const r=qn(t,e);return Number.isFinite(r)?D.create(r):h.create(f.NUM)}return typeof e=="boolean"?D.create(qn(t,e?1:0)):this}minusBy(e){const t=this.getValue();if(typeof e=="string")return h.create(f.VALUE);if(typeof e=="number"){if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const r=Zn(t,e);return Number.isFinite(r)?D.create(r):h.create(f.NUM)}return typeof e=="boolean"?D.create(Zn(t,e?1:0)):this}multiplyBy(e){const t=this.getValue();if(typeof e=="string")return h.create(f.VALUE);if(typeof e=="number"){if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const r=bt(t,e);return Number.isFinite(r)?D.create(r):h.create(f.NUM)}return typeof e=="boolean"?D.create(bt(t,e?1:0)):this}dividedBy(e){const t=this.getValue();if(typeof e=="string")return h.create(f.VALUE);if(typeof e=="number"){if(e===0)return h.create(f.DIV_BY_ZERO);if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const r=Jn(t,e);return Number.isFinite(r)?D.create(r):h.create(f.NUM)}return typeof e=="boolean"?e===!1?h.create(f.DIV_BY_ZERO):D.create(Jn(t,1)):this}compareBy(e,t){const r=this.getValue();let s=!1;return typeof e=="string"?s=this._compareString(t):typeof e=="number"?s=this._compareNumber(r,e,t):typeof e=="boolean"&&(s=this._compareBoolean(t)),$.create(s)}_compareString(e){switch(e){case M.EQUALS:case M.GREATER_THAN:case M.GREATER_THAN_OR_EQUAL:return!1;case M.LESS_THAN:case M.LESS_THAN_OR_EQUAL:case M.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 M.EQUALS:return is(e,t);case M.GREATER_THAN:return da(e,t);case M.GREATER_THAN_OR_EQUAL:return ga(e,t);case M.LESS_THAN:return pa(e,t);case M.LESS_THAN_OR_EQUAL:return Ra(e,t);case M.NOT_EQUAL:return!is(e,t)}}_compareBoolean(e){switch(e){case M.EQUALS:case M.GREATER_THAN:case M.GREATER_THAN_OR_EQUAL:return!1;case M.LESS_THAN:case M.LESS_THAN_OR_EQUAL:case M.NOT_EQUAL:return!0}}pow(e){if(e.isArray())return e.powInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return h.create(f.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return h.create(f.NUM);const s=ss(t,r);return Number.isFinite(s)?D.create(s):h.create(f.NUM)}return typeof r=="boolean"?D.create(ss(t,r?1:0)):this}sqrt(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=ma(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}cbrt(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.cbrt(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}cos(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.cos(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}acos(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.acos(e);return Number.isNaN(t)?h.create(f.NUM):D.create(t)}acosh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.acosh(e);return Number.isNaN(t)?h.create(f.NUM):D.create(t)}sin(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.sin(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}sinh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.sinh(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}asin(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.asin(e);return Number.isNaN(t)?h.create(f.NUM):D.create(t)}asinh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.asinh(e);return Number.isNaN(t)?h.create(f.NUM):D.create(t)}tan(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.tan(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}tanh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.tanh(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}atan(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.atan(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}atan2(e){if(e.isArray())return e.atan2Inverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return h.create(f.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return h.create(f.NUM);if(t===0&&r===0)return h.create(f.DIV_BY_ZERO);const s=Math.atan2(t,r);return Number.isFinite(s)?D.create(s):h.create(f.NUM)}return typeof r=="boolean"?D.create(Math.atan2(t,r?1:0)):this}atanh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.atanh(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}log(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return h.create(f.NUM);const t=Math.log(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}log10(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return h.create(f.NUM);const t=Math.log10(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}exp(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.exp(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}abs(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.abs(e);return Number.isFinite(t)?D.create(t):h.create(f.NUM)}round(e){if(e.isArray())return e.roundInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return h.create(f.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return h.create(f.NUM);const s=es(t,r);return Number.isFinite(s)?D.create(s):h.create(f.NUM)}return typeof r=="boolean"?D.create(es(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 h.create(f.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return h.create(f.NUM);const s=ts(t,r);return Number.isFinite(s)?D.create(s):h.create(f.NUM)}return typeof r=="boolean"?D.create(ts(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 h.create(f.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return h.create(f.NUM);const s=rs(t,r);return Number.isFinite(s)?D.create(s):h.create(f.NUM)}return typeof r=="boolean"?D.create(rs(t,r?1:0)):this}convertToNumberObjectValue(){return this}convertToBooleanObjectValue(){return ur(!0)}_compareInfinity(e,t,r){let s=!1;switch(r){case M.EQUALS:s=e===t;break;case M.GREATER_THAN:s=e>t;break;case M.GREATER_THAN_OR_EQUAL:s=e>=t;break;case M.LESS_THAN:s=e<t;break;case M.LESS_THAN_OR_EQUAL:s=e<=t;break;case M.NOT_EQUAL:s=e!==t;break}return s}}const xa=2e5,cs=new ct(xa);class ce extends Ke{constructor(e){super(e);d(this,"_value");this._value=e}static create(e){const t=cs.get(e);if(t)return t;const r=new ce(e);return cs.set(e,r),r}getValue(){return this._value}isString(){return!0}concatenateFront(e){return e.isArray()?e.concatenateBack(this):ce.create(this.concatenate(e.getValue(),Fe.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):ce.create(this.concatenate(e.getValue(),Fe.BACK))}compare(e,t,r){return e.isArray()?e.compare(this,Jr(t),r):this.compareBy(e.getValue(),t,r)}compareBy(e,t,r=!1){let s=this.getValue(),a=!1;if(typeof e=="string"){if(r||(s=s.toLocaleLowerCase(),e=e.toLocaleLowerCase()),la(e))return this._checkWildcard(e,t);a=this._compareString(s,e,t)}else typeof e=="number"?a=this._compareNumber(t):typeof e=="boolean"&&(a=this._compareBoolean(t));return $.create(a)}_compareString(e,t,r){switch(r){case M.EQUALS:return e===t;case M.GREATER_THAN:return e>t;case M.GREATER_THAN_OR_EQUAL:return e>=t;case M.LESS_THAN:return e<t;case M.LESS_THAN_OR_EQUAL:return e<=t;case M.NOT_EQUAL:return e!==t}}_compareNumber(e){switch(e){case M.NOT_EQUAL:case M.GREATER_THAN:case M.GREATER_THAN_OR_EQUAL:return!0;case M.EQUALS:case M.LESS_THAN:case M.LESS_THAN_OR_EQUAL:return!1}}_compareBoolean(e){switch(e){case M.EQUALS:case M.GREATER_THAN:case M.GREATER_THAN_OR_EQUAL:return!1;case M.LESS_THAN:case M.LESS_THAN_OR_EQUAL:case M.NOT_EQUAL:return!0}}convertToNumberObjectValue(){return lr(this.getValue())}convertToBooleanObjectValue(){return $.create(!0)}_checkWildcard(e,t){const r=this.getValue().toLocaleLowerCase(),s=ca(r,e,t);return $.create(s)}}function ur(n){if(typeof n=="boolean")return $.create(n);let i=!1;if(typeof n=="string"){const e=n.toLocaleUpperCase();e===nt.TRUE?i=!0:e===nt.FALSE&&(i=!1)}else n===1?i=!0:i=!1;return $.create(i)}function wa(n){let i=n.toString();return i.charAt(0)==='"'&&i.charAt(i.length-1)==='"'&&(i=i.slice(1,-1),i=i.replace(/""/g,'"')),ce.create(i)}function lr(n,i=""){if(typeof n=="boolean"){let e=0;return n&&(e=1),D.create(e,i)}else{if(typeof n=="number")return Number.isFinite(n)?D.create(n,i):h.create(f.NUM);if(E.isRealNum(n))return D.create(Number(n),i)}return h.create(f.VALUE)}function Ua(n){return""}function fs(n=[]){const i=[];for(let e=0;e<n.length;e++){const t=n[e];i[e]==null&&(i[e]=[]);for(let r=0;r<t.length;r++){const s=t[r];i[e][r]=it.create(s)}}return i}function Oa(n=[]){const i=[];for(let e=0;e<n.length;e++){const t=n[e];i[e]==null&&(i[e]=[]);for(let r=0;r<t.length;r++){const s=t[r];s==null?i[e][r]=null:s.isError()?i[e][r]=s.getErrorType():i[e][r]=s.getValue()}}return i}class me extends Ke{constructor(e){super(typeof e=="string"?e:Ua());d(this,"_values",[]);d(this,"_rowCount",-1);d(this,"_columnCount",-1);d(this,"_unitId","");d(this,"_sheetId","");d(this,"_currentRow",-1);d(this,"_currentColumn",-1);d(this,"_sliceCache",new Map);d(this,"_flattenCache");d(this,"_defaultValue",null);d(this,"_flattenPosition");this._values=this._formatValue(e)}static create(e){return new me(e)}static createByArray(e){const r={calculateValueList:fs(e),rowCount:e.length,columnCount:e[0].length||0,unitId:"",sheetId:"",row:-1,column:-1};return new me(r)}dispose(){this._values.forEach(e=>{e.forEach(t=>{t==null||t.dispose()})}),this._values=[],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]}getRealValue(e,t){const r=this._values[e];if(r==null)return null;const s=r[t];return s==null?null:s}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,s=this.getColumnCount();return{startRow:0,endRow:t-1,startColumn:r,endColumn:s-1}}iterator(e){var u;const{startRow:t,endRow:r,startColumn:s,endColumn:a}=this.getRangePosition(),o=this.getArrayValue();for(let l=t;l<=r;l++)for(let c=s;c<=a;c++)if(e(((u=o[l])==null?void 0:u[c])||this._defaultValue,l,c)===!1)return}iteratorReverse(e){var u;const{startRow:t,endRow:r,startColumn:s,endColumn:a}=this.getRangePosition(),o=this.getArrayValue();for(let l=r;l>=t;l--)for(let c=a;c>=s;c--)if(e(((u=o[l])==null?void 0:u[c])||this._defaultValue,l,c)===!1)return}getLastTruePosition(){let e;return this.iteratorReverse((t,r,s)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:r,column:s},!1}),e}getFirstTruePosition(){let e;return this.iterator((t,r,s)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:r,column:s},!1}),e}getFirstCell(){const{startRow:e,startColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||se.create()}getLastCell(){const{endRow:e,endColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||se.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[[se.create()]];const s=[];s[0]=[];for(let a=0;a<t;a++)for(let o=0;o<r;o++){const u=e.get(a,o);if(!(u==null||u.isError())&&u.getValue()===!0){const l=this.get(a,o);s[0].push(l)}}return s}flatten(){if(this._flattenCache!=null)return this._flattenCache;const e=[];e[0]=[];for(let r=0;r<this._rowCount;r++)for(let s=0;s<this._columnCount;s++){const a=this.get(r,s);e[0].push(a)}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=[],s=[];let a=0;for(let u=0;u<this._rowCount;u++)for(let l=0;l<this._columnCount;l++){const c=this.get(u,l);if(c==null||c.isError()||c.isNull()){a++;continue}c.isString()?(e.push(c),r.push(a++)):(t.push(c),s.push(a++))}const o={stringArray:e,numberArray:t,stringPosition:r,numberPosition:s};return this._flattenPosition=o,o}slice(e,t){let r=0,s=this._rowCount,a=1,o=0,u=this._columnCount,l=1;if(e!=null&&(r=e[0]||0,s=e[1]||this._rowCount,a=e[2]||1),t!=null&&(o=t[0]||0,u=t[1]||this._columnCount,l=t[2]||1),r>=this._rowCount||o>=this._columnCount)return;const c=`${r}_${s}_${a}_${o}_${u}_${l}`,m=this._sliceCache.get(c);if(m!=null)return m;const g=[],p=this._values;let R=0,b=0;for(let T=r;T<s;T+=a){b=0,g[R]==null&&(g[R]=[]);for(let K=o;K<u;K+=l){if(!p[T])return;let ue=p[T][K]||this._defaultValue;ue==null&&(ue=se.create()),g[R][b]=ue,b++}R++}if(g.length===0||g[0].length===0)return;const L=a>1?-1:r+this._currentRow,U=l>1?-1:o+this._currentColumn,B=this._createNewArray(g,g.length,g[0].length,L,U);return B.setDefaultValue(this._defaultValue),this._sliceCache.set(c,B),B}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,s=this._createNewArray(e,r,t);return s.setDefaultValue(this._defaultValue),s}orderSearch(e,t=Ve.MIN,r=!1,s=!1){let a,o,u,l;const c=(m,g,p)=>{if(m==null)return!0;let R;if(s===!0?R=m.compare(e,M.EQUALS):R=m.isEqual(e),(R==null?void 0:R.getValue())===!0)return a=m,u={row:g,column:p},!1;t===Ve.MAX?m.isGreaterThan(e).getValue()===!0&&(o==null||m.minus(e).abs().isLessThanOrEqual(o.minus(e).abs()).getValue()===!0)&&(o=m,l={row:g,column:p}):t===Ve.MIN&&m.isLessThan(e).getValue()===!0&&(o==null||m.minus(e).abs().isLessThanOrEqual(o.minus(e).abs()).getValue()===!0)&&(o=m,l={row:g,column:p})};if(r){const m=this._values.length;if(this._values[0]==null)return;const g=this._values[0].length;for(let p=m-1;p>=0;p--)for(let R=g-1;R>=0;R--){const b=this._values[p][R];c(b,p,R)}}else this.iterator((m,g,p)=>{c(m,g,p)});if(a!=null)return u;if(o!=null)return l}binarySearch(e,t=Xe.MIN){if(e.isError())return;const{stringArray:r,stringPosition:s,numberArray:a,numberPosition:o}=this.flattenPosition();return e.isString()?this._binarySearch(e,r,s,t):this._binarySearch(e,a,o,t)}_binarySearch(e,t,r,s=Xe.MIN){const a=Gn(),o=e.getValue().toString().toLocaleLowerCase();let u=0,l=t.length-1,c=null;for(;u<=l;){const m=Math.floor((u+l)/2),g=t[m];let p=0;if(g.isNull())p=1;else{const R=g.getValue();p=a(R.toString().toLocaleLowerCase(),o)}if(p===0)return r[m];p===-1?(u=m+1,s===Xe.MIN&&(c=m)):(l=m-1,s===Xe.MAX&&(c=m))}if(c!=null)return r[c]}sum(){let e=D.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=D.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=D.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=D.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=D.create(0);return this.iterator(t=>{if(t==null||t.isNull())return!0;e=e.plusBy(1)}),e}countBlank(){let e=D.create(0);return this.iterator(t=>{(t==null||t.isNull()||t.getValue()==="")&&(e=e.plusBy(1))}),e}getNegative(){return me.create("{0}").minus(this)}getReciprocal(){return me.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,s,a)=>r==null?se.create():r.isError()?r:e(r,s,a);return this.mapValue(t)}mapValue(e){var a;const t=this._rowCount,r=this._columnCount,s=[];for(let o=0;o<t;o++){const u=[];for(let l=0;l<r;l++){const c=(a=this._values)==null?void 0:a[o];if(c==null)u[l]=h.create(f.VALUE);else{const m=c[l]||this._defaultValue;m?u[l]=e(m,o,l):u[l]=se.create()}}s.push(u)}return this._createNewArray(s,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())}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)||se.create();if(t.sortByRow(0),r%2===0){const s=t.get(0,r/2)||se.create(),a=t.get(0,r/2-1)||se.create();return s.plus(a).divided(D.create(2))}return t.get(0,(r-1)/2)||se.create()}var(e=0){const t=this.mean(),r=[[]];this.iterator(c=>{if(c==null||c.isError()||c.isString()||c.isBoolean()||c.isNull())return;const m=c.minus(t).pow(D.create(2));m.isError()||r[0].push(m)});const{_unitId:s,_sheetId:a,_currentRow:o,_currentColumn:u}=this;return me.create({calculateValueList:r,rowCount:1,columnCount:r[0].length,unitId:s,sheetId:a,row:o,column:u}).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 Oa(this._values)}_clearCache(){this._flattenCache=null,this._sliceCache.clear()}_sort(e){const t=Gn();return(r,s)=>{const a=r[e],o=s[e];return a==null?1:o==null?-1:a.isError()&&a.isError()?0:a.isError()?1:o.isError()?-1:t(a.getValue(),o.getValue())}}_transposeArray(e){const t=e.length,r=e[0].length,s=[];for(let a=0;a<r;a++){s[a]=[];for(let o=0;o<t;o++)s[a][o]=e[o][a]}return s}_batchOperator(e,t,r,s){const a=[];let o=this._rowCount,u=this._columnCount;if(e.isArray()){const m=e.getRowCount(),g=e.getColumnCount();if(o=Math.max(m,o),u=Math.max(g,u),m===1&&g===1){const p=e.getFirstCell();for(let R=0;R<u;R++)a.push(p)}else if(m===1&&this._columnCount>1){const p=e.getArrayValue();for(let R=0;R<u;R++)a.push(p[0][R])}else return this._batchOperatorArray(e,t,r,s)}else for(let m=0;m<u;m++)a.push(e);const l=[];for(let m=0;m<u;m++){const g=a[m];this._batchOperatorValue(g,m,l,t,r,s)}const c=this._createNewArray(l,o,u);return c.setDefaultValue($.create(!1)),c}_batchOperatorValue(e,t,r,s,a,o){const u=this._rowCount;let l=!1;const c=this.getUnitId(),m=this.getSheetId(),g=this.getCurrentRow(),p=this.getCurrentColumn();if(s===5&&(l=st.canUseCache(c,m,t+p,g,g+u-1),l===!0)){if(a===M.EQUALS){const R=st.getCellPositions(c,m,t+p,e.getValue());R!=null&&R.forEach(b=>{const L=b-g;r[L]==null&&(r[L]=[]),r[L][t]=$.create(!0)})}else{const R=st.getCellValuePositions(c,m,t+p);R!=null&&R.forEach((b,L)=>{let U=se.create();typeof L=="string"?U=ce.create(L):typeof L=="number"?U=D.create(L):typeof L=="boolean"&&(U=$.create(L)),U.compare(e,a,o).getValue()===!0&&b.forEach(T=>{T>=g&&T<=g+u-1&&(r[T-g]==null&&(r[T-g]=[]),r[T-g][t]=$.create(!0))})})}return}for(let R=0;R<u;R++){const b=this.getValueOrDefault(R,t);if(r[R]==null&&(r[R]=[]),b&&e)if(b.isError())r[R][t]=b;else if(e.isError())r[R][t]=e;else switch(s){case 1:r[R][t]=b.plus(e);break;case 0:r[R][t]=b.minus(e);break;case 2:r[R][t]=b.multiply(e);break;case 3:r[R][t]=b.divided(e);break;case 4:r[R][t]=b.mod(e);break;case 5:a?r[R][t]=b.compare(e,a,o):r[R][t]=h.create(f.VALUE);break;case 6:r[R][t]=b.concatenateFront(e);break;case 7:r[R][t]=b.concatenateBack(e);break;case 8:r[R][t]=b.pow(e);break;case 9:r[R][t]=b.round(e);break;case 10:r[R][t]=b.floor(e);break;case 12:r[R][t]=b.atan2(e);break;case 11:r[R][t]=b.ceil(e);break}else r[R][t]=h.create(f.NA);b!=null&&(b.isError()?st.set(c,m,t+p,b.getErrorType(),R+g):b.isNull()?st.set(c,m,t+p,"",R+g):st.set(c,m,t+p,b.getValue(),R+g))}st.setContinueBuildingCache(c,m,t+p,g,g+u-1)}_batchOperatorArray(e,t,r,s){let a=e.getRowCount(),o=e.getColumnCount();a<this._rowCount&&(a=this._rowCount),o<this._columnCount&&(o=this._columnCount);const u=[],l=this._checkArrayCalculateType(this),c=this._checkArrayCalculateType(e);for(let m=0;m<a;m++){const g=[];for(let p=0;p<o;p++){let R;l===3?R=this.getValueOrDefault(0,0):l===1?R=this.getValueOrDefault(0,p):l===2?R=this.getValueOrDefault(m,0):R=this.getValueOrDefault(m,p);let b;if(c===3?b=e.getValueOrDefault(0,0):c===1?b=e.getValueOrDefault(0,p):c===2?b=e.getValueOrDefault(m,0):b=e.getValueOrDefault(m,p),R&&b)if(R.isError())g[p]=R;else if(b.isError())g[p]=b;else switch(t){case 1:g[p]=R.plus(b);break;case 0:g[p]=R.minus(b);break;case 2:g[p]=R.multiply(b);break;case 3:g[p]=R.divided(b);break;case 4:g[p]=R.mod(b);break;case 5:r?g[p]=R.compare(b,r,s):g[p]=h.create(f.VALUE);break;case 6:g[p]=R.concatenateFront(b);break;case 7:g[p]=R.concatenateBack(b);break;case 8:g[p]=R.pow(b);break;case 9:g[p]=R.round(b);break;case 12:g[p]=R.atan2(b);break;case 10:g[p]=R.floor(b);break;case 11:g[p]=R.ceil(b);break}else g[p]=h.create(f.NA)}u.push(g)}return this._createNewArray(u,a,o)}_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,s=[];let a=0;for(let o=0;o<r;o++){const l=t[o].split(","),c=l.length;a<c&&(a=c);const m=[];for(let g=0;g<c;g++){const p=l[g].trim();m.push(it.create(p))}s.push(m)}return this._rowCount=r,this._columnCount=a,s}_createNewArray(e,t,r,s=-1,a=-1){(this._currentColumn===-1||this._currentRow===-1)&&(s=-1,a=-1);const o={calculateValueList:e,rowCount:t,columnCount:r,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:s,column:a};return me.create(o)}}class it{static create(i){if(i==null)return se.create();if(typeof i=="boolean")return $.create(i);if(typeof i=="string"){const e=i.toLocaleUpperCase().trim();return Ct.has(e)?h.create(e):e===nt.TRUE||e===nt.FALSE?ur(i):E.isRealNum(i)?D.create(Number(i)):new RegExp(ea,"g").test(i.replace(/\n/g,"").replace(/\r/g,""))?me.create(i.replace(/\n/g,"").replace(/\r/g,"")):wa(i)}return typeof i=="number"?lr(i):h.create(f.VALUE)}}function Ma(n){if(n===null)return 0;if(n!=null&&n.p){const i=n==null?void 0:n.p.body;if(i==null)return 0;const e=i.dataStream;return e.substring(e.length-2,e.length)===E.DEFAULT_EMPTY_DOCUMENT_VALUE?e.substring(0,e.length-2):e}return(n==null?void 0:n.v)||0}const Fa=1e5,rn=new ct(Fa);class At extends ar{constructor(e){super();d(this,"_forcedSheetId","");d(this,"_forcedSheetName","");d(this,"_defaultSheetId","");d(this,"_rangeData",{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1});d(this,"_unitData",{});d(this,"_unitStylesData",{});d(this,"_defaultUnitId","");d(this,"_forcedUnitId","");d(this,"_runtimeData",{});d(this,"_arrayFormulaCellData",{});d(this,"_runtimeArrayFormulaCellData",{});d(this,"_runtimeFeatureCellData",{});d(this,"_refOffsetX",0);d(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:s}=this.getRangePosition();return e<0||r<0||t>=this.getActiveSheetRowCount()||s>=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:s}=E.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(s)&&(s=this.getActiveSheetColumnCount()-1),{startRow:e,endRow:r,startColumn:t,endColumn:s}}isReferenceObject(){return!0}iterator(e){const{startRow:t,endRow:r,startColumn:s,endColumn:a}=this.getRangePosition();if(this._checkIfWorksheetMiss())return e(h.create(f.VALUE),t,s);const o=this._forcedUnitId||this._defaultUnitId,u=this._forcedSheetId||this._defaultSheetId;for(let l=t;l<=r;l++)for(let c=s;c<=a;c++){if(l<0||c<0)return e(h.create(f.REF),l,c);const m=this.getCellData(l,c);let g=!1;if(E.isNullCell(m)){g=e(null,l,c);continue}let p=this.getCellValueObject(m);if(l===t&&c===s){const R=this.getCellPattern(o,u,l,c);if(R&&p.isNumber()){const b=Number(p.getValue());p=D.create(b,R)}}if(g=e(p,l,c),g===!1)return}}getFirstCell(){const{startRow:e,startColumn:t}=this.getRangePosition(),r=this.getCellData(e,t);if(!r)return D.create(0);let s=this.getCellValueObject(r);const a=this._forcedUnitId||this._defaultUnitId,o=this._forcedSheetId||this._defaultSheetId,u=this.getCellPattern(a,o,e,t);if(u&&s.isNumber()){const l=Number(s.getValue());s=D.create(l,u)}return s}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}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 h.create(f.REF)}unionRange(e,t){return{startRow:-1,startColumn:-1,endRow:-1,endColumn:-1}}getCellValueObject(e){const t=Ma(e);if(Ct.has(t))return h.create(t);if(e.t===E.CellValueType.NUMBER){const r=this._getPatternByCell(e);return lr(t,r)}return e.t===E.CellValueType.STRING||e.t===E.CellValueType.FORCE_STRING?ce.create(t.toString()):e.t===E.CellValueType.BOOLEAN?ur(t):it.create(t)}_getPatternByCell(e){var s;const t=this._unitStylesData[this.getUnitId()];if(!t)return"";const r=t.getStyleByCell(e);return((s=r==null?void 0:r.n)==null?void 0:s.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(),s=this.getCurrentRuntimeSheetData(),a=this.getCurrentActiveArrayFormulaCellData(),o=this.getCurrentRuntimeActiveArrayFormulaCellData();return(s==null?void 0:s.getValue(e,t))||(o==null?void 0:o.getValue(e,t))||this.getRuntimeFeatureCellValue(e,t)||(a==null?void 0:a.getValue(e,t))||(r==null?void 0:r.cellData.getValue(e,t))}getRuntimeFeatureCellValue(e,t){var s;const r=Object.keys(this._runtimeFeatureCellData);for(const a of r){const o=this._runtimeFeatureCellData[a],u=(s=o==null?void 0:o[this.getUnitId()])==null?void 0:s[this.getSheetId()];if(u==null)continue;const l=u.getValue(e,t);if(l!=null)return l}}getCellByPosition(e,t){e||(e=this._rangeData.startRow),t||(t=this._rangeData.startColumn);const r=this.getCellData(e,t);return r?this.getCellValueObject(r):h.create(f.VALUE)}getCellPattern(e,t,r,s){var l,c,m,g;const a=this._unitStylesData[e];if(!a)return"";const o=(m=(c=(l=this._unitData[e])==null?void 0:l[t])==null?void 0:c.cellData)==null?void 0:m.getValue(r,s);if(!o)return"";const u=a.getStyleByCell(o);return((g=u==null?void 0:u.n)==null?void 0:g.pattern)||""}toArrayValueObject(e=!0){var R;const{startRow:t,endRow:r,startColumn:s,endColumn:a}=this.getRangePosition(),o=`${this.getUnitId()}_${this.getSheetId()}_${t}_${r}_${s}_${a}`,u=rn.get(o);if(u&&e)return u;const l=r-t+1,c=a-s+1;if(l<0||c<0)return this._getBlankArrayValueObject();const m=new Array(l);this.iterator((b,L,U)=>{const B=L-t,T=U-s;m[B]||(m[B]=new Array(c)),b==null&&(b=se.create()),m[B][T]=b});const g={calculateValueList:m,rowCount:m.length,columnCount:((R=m[0])==null?void 0:R.length)||0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:t,column:s},p=me.create(g);return e&&rn.set(o,p),p}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 me.create(e)}}class hs extends ar{constructor(i){super(),this._promise=i}isAsyncObject(){return!0}async getValue(){return this._promise}}class ms extends ar{constructor(i){super(),this._promiseList=i}isAsyncArrayObject(){return!0}async getValue(){var t;const i=[];for(let r=0;r<this._promiseList.length;r++){const s=this._promiseList[r];i[r]==null&&(i[r]=[]);for(let a=0;a<s.length;a++){const o=s[a];o.isAsyncObject()?i[r][a]=await o.getValue():i[r][a]=o}}const e={calculateValueList:i,rowCount:i.length,columnCount:((t=i[0])==null?void 0:t.length)||0,unitId:"",sheetId:"",row:0,column:0};return me.create(e)}}class Bt extends At{constructor(i,e,t){super(""),this.setRangeData(i),e&&this.setForcedSheetIdDirect(e),t&&this.setForcedUnitIdDirect(t)}isRange(){return!0}}const ds=/[\[\]]/g;function gs(n,i){if(ds.test(n)){const e=Number(n.replace(ds,""));return i+e}return Number(n)-1}function nn(n,i=0,e=0){n=n.toLocaleUpperCase();const t=n.split(/[RC]/),r=t[1],s=t[2],a=gs(r,i),o=gs(s,e);return{row:a,column:o,absoluteRefType:E.AbsoluteRefType.NONE}}function ps(n,i=0,e=0){const{refBody:t,sheetName:r,unitId:s}=zn(n),a=t.indexOf(":");if(a===-1){const b=nn(t,i,e),L=b.row,U=b.column,B=b.absoluteRefType;return{unitId:s,sheetName:r,range:{startRow:L,startColumn:U,endRow:L,endColumn:U,startAbsoluteRefType:B,endAbsoluteRefType:B}}}const o=t.substring(0,a),u=t.substring(a+1),l=nn(o,i,e),c=nn(u,i,e),m=l.row,g=l.column,p=c.row,R=c.column;return{unitId:s,sheetName:r,range:{startRow:m,startColumn:g,endRow:p,endColumn:R,startAbsoluteRefType:l.absoluteRefType,endAbsoluteRefType:c.absoluteRefType}}}function va(n){const i=cr(n.startRow,n.startAbsoluteRefType,!0),e=cr(n.startColumn,n.startAbsoluteRefType,!1),t=cr(n.endRow,n.endAbsoluteRefType,!0),r=cr(n.endColumn,n.endAbsoluteRefType,!1);return i===t&&e===r?`R${i}C${e}`:`R${i}C${e}:R${t}C${r}`}function cr(n,i=E.AbsoluteRefType.ALL,e){switch(n+=1,i){case E.AbsoluteRefType.ALL:return`${n}`;case E.AbsoluteRefType.ROW:return e?`${n}`:`[${n}]`;case E.AbsoluteRefType.COLUMN:return e?`[${n}]`:`${n}`;case E.AbsoluteRefType.NONE:return`[${n}]`}}const Rs=[];var _s=(n=>n)(_s||{});function Z(n,i,e,t){const r=[];if(e.isArray()){const s=e.getRowCount(),a=e.getColumnCount();if(s===1&&a===1){const o=e.getFirstCell();for(let u=0;u<n;u++){const l=[];for(let c=0;c<i;c++)l.push(o);r.push(l)}}else if(s===1&&a>1)for(let o=0;o<n;o++){const u=[];for(let l=0;l<i;l++){const c=e.getRealValue(0,l)||(t!=null?t:se.create());u.push(c)}r.push(u)}else if(a===1&&s>1)for(let o=0;o<n;o++){const u=[];for(let l=0;l<i;l++){const c=e.getRealValue(o,0)||(t!=null?t:se.create());u.push(c)}r.push(u)}else for(let o=0;o<n;o++){const u=[];for(let l=0;l<i;l++){const c=e.getRealValue(o,l)||(t!=null?t:se.create());u.push(c)}r.push(u)}}else for(let s=0;s<n;s++){const a=[];for(let o=0;o<i;o++)a.push(e);r.push(a)}return dt(r,n,i)}function dt(n,i,e,t="",r=""){const s={calculateValueList:n,rowCount:i,columnCount:e,unitId:t,sheetId:r,row:-1,column:-1};return me.create(s)}function Tt(n){const i=[M.EQUALS,M.NOT_EQUAL,M.GREATER_THAN_OR_EQUAL,M.GREATER_THAN,M.LESS_THAN_OR_EQUAL,M.LESS_THAN];for(const e of i)if(n.startsWith(e)){const t=n.substring(e.length);return[e,it.create(t)]}return[M.EQUALS,it.create(n)]}function fr(n,i,e,t){if(!e)if(i.isString()){const r=`${i.getValue()}`,[s,a]=Tt(r);e=s,i=a}else e=M.EQUALS;return n.compare(i,e,t)}function Ba(n,i){const e=Math.max(n.isArray()?n.getRowCount():1,i.isArray()?i.getRowCount():1),t=Math.max(n.isArray()?n.getColumnCount():1,i.isArray()?i.getColumnCount():1),r=Z(e,t,n),s=Z(e,t,i);return r.mapValue((a,o,u)=>{const l=s.get(o,u);return a!=null&&a.isError()?a:l!=null&&l.isError()?l:a!=null&&a.isBoolean()&&(l!=null&&l.isBoolean())?ur(a.getValue()&&l.getValue()):$.create(!1)})}function Ta(n){const i=n.getValue();let e=0;return i&&(e=1),D.create(e)}function Es(n){return n.isArray()&&n.getRowCount()===1&&n.getColumnCount()===1?!0:n.isReferenceObject()?!!(n.isCell()||n.getRowCount()===1&&n.getColumnCount()===1):(n=n,!!(n.isString()||n.isNumber()||n.isBoolean()||n.isError()||n.isNull()))}function gt(n){const i=n==null?void 0:n.getPattern();let e={};if(i&&(e={s:{n:{pattern:i}}}),n==null)return{v:null,...e};if(n.isError())return{v:n.getErrorType(),t:E.CellValueType.STRING,...e};if(n.isValueObject()){const t=n,r=t.getValue();return t.isNumber()?{v:r,t:E.CellValueType.NUMBER,...e}:t.isBoolean()?{v:r?1:0,t:E.CellValueType.BOOLEAN,...e}:t.isString()?{v:r,t:E.CellValueType.STRING,...e}:t.isNull()?{v:null,...e}:{v:r,t:E.CellValueType.STRING,...e}}}function kt(n){let i=0,e=0;return n.forEach((t,r)=>{if(r%2===1)if(t.isArray()){const s=t;i=Math.max(i,s.getRowCount()),e=Math.max(e,s.getColumnCount())}else i=Math.max(i,1),e=Math.max(e,1)}),{maxRowLength:i,maxColumnLength:e}}function It(n,i,e,t){const r=i.getRowCount(),s=i.getColumnCount();for(let a=0;a<n.length;a++){if(a%2===1)continue;const o=n[a],u=o.getRowCount(),l=o.getColumnCount();if(u!==r||l!==s)return Z(e,t,h.create(f.VALUE))}return null}function jt(n,i,e,t=!1){const r=[];for(let s=0;s<n.length;s++){if(s%2===1)continue;const a=n[s],o=n[s+1];Z(i,e,o,h.create(f.NA)).iterator((l,c,m)=>{if(!l)return;let g=fr(a,l);const[,p]=Tt(`${l.getValue()}`);if(t&&(g=hr(g,a,p)),r[c]===void 0&&(r[c]=[]),r[c][m]===void 0){r[c][m]=g;return}r[c][m]=Ba(r[c][m],g)})}return r}function hr(n,i,e){return n.mapValue((t,r,s)=>{const a=i.get(r,s);return a&&ka(a,e)?t:a!=null&&a.isError()&&e.isError()&&a.getValue()===e.getValue()?$.create(!0):$.create(!1)})}function ka(n,i){if(n.isNumber()&&i.isNumber()||n.isBoolean()&&i.isBoolean())return!0;const e=n.isString()&&n.getValue()==="",t=i.isString()&&i.getValue()==="";return!!((e||n.isNull())&&(t||i.isNull())||n.isString()&&!e&&i.isString()&&!t)}class sn extends At{constructor(i){super(i);const e=je(i);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName),this.setRangeData(e.range)}isCell(){return!0}unionBy(i){if(!i.isCell())return h.create(f.REF);const e=i,t=this.unionRange(this.getRangeData(),e.getRangeData());return this._createRange(t)}unionRange(i,e){const t=i.startRow,r=i.startColumn,s=e.startRow,a=e.startColumn,o={startRow:-1,startColumn:-1,endRow:-1,endColumn:-1};return t>s?(o.startRow=s,o.endRow=t):(o.startRow=t,o.endRow=s),r>a?(o.startColumn=a,o.endColumn=r):(o.startColumn=r,o.endColumn=a),i.startAbsoluteRefType&&(o.startAbsoluteRefType=i.startAbsoluteRefType),e.startAbsoluteRefType&&(o.endAbsoluteRefType=e.startAbsoluteRefType),o}_createRange(i){const e=new Bt(i,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 s=this.getForcedSheetId();e.setForcedSheetName(this.getForcedSheetName()),s!=null&&e.setForcedSheetIdDirect(s);const a=this.getForcedUnitId();return a&&e.setForcedUnitIdDirect(a),e}}class an extends At{constructor(i){super(i);const e=je(i);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={startColumn:Number.NaN,startRow:e.range.startRow,endColumn:Number.NaN,endRow:-1};this.setRangeData(t)}isRow(){return!0}unionBy(i){if(!i.isRow())return h.create(f.REF);const e=i;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return h.create(f.REF);const t=this.getRangeData(),r=e.getRangeData(),s=r.startRow,a=t.startRow;return s>a?t.endRow=s:(t.startRow=s,t.endRow=a),r.startAbsoluteRefType&&(t.endAbsoluteRefType=r.startAbsoluteRefType),t.rangeType=E.RANGE_TYPE.ROW,this.setToken(`${this.getToken()}${N.COLON}${e.getToken()}`),this}}class on extends At{constructor(i){super(i);const e=je(i);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={startColumn:e.range.startColumn,startRow:Number.NaN,endColumn:-1,endRow:Number.NaN};this.setRangeData(t)}isColumn(){return!0}unionBy(i){if(!i.isColumn())return h.create(f.REF);const e=i;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return h.create(f.REF);const t=this.getRangeData(),r=e.getRangeData(),s=r.startColumn,a=t.startColumn;return s>a?t.endColumn=s:(t.startColumn=s,t.endColumn=a),r.startAbsoluteRefType&&(t.endAbsoluteRefType=r.startAbsoluteRefType),t.rangeType=E.RANGE_TYPE.COLUMN,this.setToken(`${this.getToken()}${N.COLON}${e.getToken()}`),this}}class V extends E.Disposable{constructor(e){super();d(this,"_unitId");d(this,"_subUnitId");d(this,"_row",-1);d(this,"_column",-1);d(this,"_definedNames");d(this,"needsExpandParams",!1);d(this,"needsReferenceObject",!1);d(this,"minParams",-1);d(this,"maxParams",-1);this._name=e}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}getDefinedName(e){var r;const t=this._definedNames;return t==null?null:(r=Array.from(Object.values(t)).filter(s=>s.name===e))==null?void 0:r[0]}setDefinedNames(e){this._definedNames=e}isAsync(){return!1}isAddress(){return!1}isCustom(){return!1}setRefInfo(e,t,r,s){this._unitId=e,this._subUnitId=t,this._row=r,this._column=s}calculateCustom(...e){return null}calculate(...e){return h.create(f.VALUE)}checkArrayType(e){return e.isReferenceObject()||e.isValueObject()&&e.isArray()}getIndexNumValue(e,t=1){if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())return e.getValue()===!1?h.create(f.VALUE):t;if(e.isString()){const r=Number(e.getValue());return Number.isNaN(r)?h.create(f.REF):r}else if(e.isNumber())return e.getValue();return h.create(f.VALUE)}getZeroOrOneByOneDefault(e){if(e==null)return 1;let t=1;if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())e.getValue()===!1&&(t=0);else{if(e.isString())return;e.isNumber()&&e.getValue()===0&&(t=0)}return t}getMatchTypeValue(e){if(e==null)return 1;let t=1;if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())e.getValue()===!1&&(t=0);else{if(e.isString())return;if(e.isNumber()){const r=e.getValue();r<=0&&(t=r)}}return t}binarySearch(e,t,r,s){const a=t.binarySearch(e,s);if(a==null)return h.create(f.NA);let o;return r.getRowCount()===1?o=r.get(0,a)||se.create():o=r.get(a,0)||se.create(),o.isNull()?h.create(f.NA):o}_getOneFirstByRaw(e){return e.length===0?h.create(f.NA):e[0][0]||h.create(f.NA)}_getOneLastByRaw(e){return e.length===0?h.create(f.NA):e[e.length-1][e[0].length-1]||h.create(f.NA)}equalSearch(e,t,r,s=!0){const a=r.pickRaw(t.isEqual(e));return s?this._getOneFirstByRaw(a):this._getOneLastByRaw(a)}fuzzySearch(e,t,r,s=!0){const a=r.pickRaw(t.compare(e,M.EQUALS));return s?this._getOneFirstByRaw(a):this._getOneLastByRaw(a)}orderSearch(e,t,r,s=Ve.MIN,a=!1){const o=t.orderSearch(e,s,a);if(o==null)return h.create(f.NA);const u=r.get(o.row,o.column)||se.create();return u.isNull()?h.create(f.NA):u}binarySearchExpand(e,t,r,s=0,a){const o=t.binarySearch(e,a);return o==null?h.create(f.NA):s===0?r.slice([o,o+1]):r.slice(void 0,[o,o+1])}equalSearchExpand(e,t,r,s=!0,a=0){const o=t.isEqual(e);let u;return s?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null?h.create(f.NA):a===0?r.slice([u.row,u.row+1]):r.slice(void 0,[u.column,u.column+1])}fuzzySearchExpand(e,t,r,s=!0,a=0){const o=t.compare(e,M.EQUALS);let u;return s?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null?h.create(f.NA):a===0?r.slice([u.row,u.row+1]):r.slice(void 0,[u.column,u.column+1])}orderSearchExpand(e,t,r,s=Ve.MIN,a=!1,o=0){const u=t.orderSearch(e,s,a);return u==null?h.create(f.NA):o===0?r.slice([u.row,u.row+1]):r.slice(void 0,[u.column,u.column+1])}flattenArray(e,t=!0){const r=[];r[0]=[];for(let s=0;s<e.length;s++){let a=e[s];if((a.isString()||a.isBoolean()||a.isNull())&&(a=a.convertToNumberObjectValue()),a.isError())return a;if(a.isArray()){let o;if(a.iterator(u=>{if(u==null||u.isNull()||t&&(u.isString()||u.isBoolean()))return!0;if(u=this._includingLogicalValuesAndText(u),u.isError())return o=u,!1;r[0].push(u)}),o!=null&&o.isError())return o}else r[0].push(a)}return dt(r,1,r[0].length)}_includingLogicalValuesAndText(e){if(e.isBoolean()&&(e=Ta(e)),e.isString()){const t=Number(e.getValue());e=D.create(Number.isNaN(t)?0:t)}return e}createReferenceObject(e,t){const r=e.getForcedUnitId(),s=e.getForcedSheetId()||"",a=e.getForcedSheetName(),u=ft({unitId:r,sheetName:a,range:t});let l;return new RegExp(Ft).test(u)?l=new sn(u):new RegExp(kn).test(u)?l=new an(u):new RegExp(In).test(u)?l=new on(u):l=new Bt(t,s,r),this._setReferenceDefault(e,l)}_setReferenceDefault(e,t){return this.unitId==null||this.subUnitId==null?h.create(f.REF):(t.setDefaultUnitId(this.unitId),t.setDefaultSheetId(this.subUnitId),t.setUnitData(e.getUnitData()),t.setRuntimeData(e.getRuntimeData()),t.setArrayFormulaCellData(e.getArrayFormulaCellData()),t.setRuntimeArrayFormulaCellData(e.getRuntimeArrayFormulaCellData()),t)}}class Ia extends V{isCustom(){return!0}}class Cs extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.std()}}class ys extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.std(1)}}class Ds extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.var()}}class bs extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.var(1)}}var Pt=(n=>(n.BETADIST="BETADIST",n.BETAINV="BETAINV",n.BINOMDIST="BINOMDIST",n.CHIDIST="CHIDIST",n.CHIINV="CHIINV",n.CHITEST="CHITEST",n.CONFIDENCE="CONFIDENCE",n.COVAR="COVAR",n.CRITBINOM="CRITBINOM",n.EXPONDIST="EXPONDIST",n.FDIST="FDIST",n.FINV="FINV",n.FTEST="FTEST",n.GAMMADIST="GAMMADIST",n.GAMMAINV="GAMMAINV",n.HYPGEOMDIST="HYPGEOMDIST",n.LOGINV="LOGINV",n.LOGNORMDIST="LOGNORMDIST",n.MODE="MODE",n.NEGBINOMDIST="NEGBINOMDIST",n.NORMDIST="NORMDIST",n.NORMINV="NORMINV",n.NORMSDIST="NORMSDIST",n.NORMSINV="NORMSINV",n.PERCENTILE="PERCENTILE",n.PERCENTRANK="PERCENTRANK",n.POISSON="POISSON",n.QUARTILE="QUARTILE",n.RANK="RANK",n.STDEV="STDEV",n.STDEVP="STDEVP",n.TDIST="TDIST",n.TINV="TINV",n.TTEST="TTEST",n.VAR="VAR",n.VARP="VARP",n.WEIBULL="WEIBULL",n.ZTEST="ZTEST",n))(Pt||{});const Ss=[[ys,Pt.STDEV],[Cs,Pt.STDEVP],[bs,Pt.VAR],[Ds,Pt.VARP]],As=[];var Ps=(n=>(n.CUBEKPIMEMBER="CUBEKPIMEMBER",n.CUBEMEMBER="CUBEMEMBER",n.CUBEMEMBERPROPERTY="CUBEMEMBERPROPERTY",n.CUBERANKEDMEMBER="CUBERANKEDMEMBER",n.CUBESET="CUBESET",n.CUBESETCOUNT="CUBESETCOUNT",n.CUBEVALUE="CUBEVALUE",n))(Ps||{});const Ls=[];var Vs=(n=>(n.DAVERAGE="DAVERAGE",n.DCOUNT="DCOUNT",n.DCOUNTA="DCOUNTA",n.DGET="DGET",n.DMAX="DMAX",n.DMIN="DMIN",n.DPRODUCT="DPRODUCT",n.DSTDEV="DSTDEV",n.DSTDEVP="DSTDEVP",n.DSUM="DSUM",n.DVAR="DVAR",n.DVARP="DVARP",n))(Vs||{});const un="yyyy/mm/dd;@",ja="yyyy/mm/dd hh:mm",$a="h:mm A/P";function ln(n){const i=new Date(Date.UTC(1900,0,1)),e=new Date(Date.UTC(1900,1,28)),t=Date.UTC(n.getFullYear(),n.getMonth(),n.getDate());let r=(t-i.getTime())/(1e3*3600*24);return t>e.getTime()&&(r+=1),Math.floor(r)+1}function Ya(n){const i=new Date(Date.UTC(1900,0,1,0,0,0)),e=new Date(Date.UTC(1900,1,28,0,0,0));let r=(n.getTime()-i.getTime())/(1e3*3600*24);return n>e&&(r+=1),r+1}function $t(n){const i=new Date(Date.UTC(1900,0,1)),e=new Date(Date.UTC(1900,1,28));let t=Math.floor(n)-1;return t>(e.getTime()-i.getTime())/(1e3*3600*24)&&(t-=1),new Date(i.getTime()+t*(1e3*3600*24))}function cn(n){const i=new Date(Date.UTC(1900,0,1,0,0,0)),e=new Date(Date.UTC(1900,1,28,0,0,0));let t=n-1;return t>(e.getTime()-i.getTime())/(1e3*3600*24)&&(t-=1),t<0&&(t=n),new Date(i.getTime()+t*(1e3*3600*24))}function fn(n){if(!/^\d{4}[-/](0?[1-9]|1[012])[-/](0?[1-9]|[12][0-9]|3[01])$/.test(n))return!1;const e=n.replace(/-/g,"/").replace(/T.+/,""),t=new Date(`${e}`);if(Number.isNaN(t.getTime()))return!1;const r=t.getFullYear(),s=(t.getMonth()+1).toString().padStart(2,"0"),a=t.getDate().toString().padStart(2,"0"),o=`${r}-${s}-${a}`;return n.replace(/\//g,"-").split("-").map(l=>l.padStart(2,"0")).join("-")===o}function xs(n){return St.parseDate(n)}function ws(n){return St.parseValue(n)}function Us(n){return St.parseTime(n)}function Os(n){return St.isDate(n)}const Ms={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 Yt(n){return!!(typeof n=="string"&&/^[0|1]{7}/.test(n)||Ms[Number(n)])}function Fs(n){if(!Yt(n))return[];if(typeof n=="string"&&/^[0|1]{7}/.test(n)){const i=[];for(let e=1;e<=n.length;e++)`${n[e-1]}`=="1"&&(e===n.length?i.push(0):i.push(e));return i}return Ms[Number(n)]||[]}function mr(n,i,e=1,t){const r=Fs(e),s=Math.floor(n),a=Math.floor(i),o=a>s?s:a;let u=0;const l=Math.abs(Math.floor(i)-Math.floor(n))+1;for(let c=0;c<l;c++){const m=o+c;if(t&&t.length>0&&t.some(p=>Math.floor(p)===m))continue;const g=hn(m);r.includes(g)||u++}return a>s?u:-u}function dr(n,i,e=1,t){const r=Fs(e);n=Math.floor(n);let s=n,a=Math.abs(i);for(let o=1;o<=a;o++){const u=i<0?n-o:n+o;if(u<0)return h.create(f.NUM);if(t&&t.length>0&&t.some(c=>Math.floor(c)===u)){a++;continue}const l=hn(u);if(r.includes(l)){a++;continue}s=u}return s}function _e(n){const i=n.getValue();if(n.isString()){let e;if(xs(`${i}`))e=xs(`${i}`).v;else if(Us(`${i}`))e=Us(`${i}`).v;else if(E.isRealNum(i))e=+i;else return h.create(f.VALUE);return+e<0||+e>2958465?h.create(f.NUM):e}else{const e=+n.getValue();return e<0||e>2958465?h.create(f.NUM):e}}function hn(n){const i=Math.floor(n)===60;let e=$t(n);const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())).getTime(),r=new Date(Date.UTC(1900,1,28)).getTime();return!i&&t<=r&&(e=new Date(t-24*3600*1e3)),new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())).getUTCDay()}class Ha extends V{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=Z(s,a,e),u=Z(s,a,t),l=Z(s,a,r);return o.map((c,m,g)=>{const p=u.get(m,g)||se.create(),R=l.get(m,g)||se.create();if(c.isError())return c;if(p.isError())return p;if(R.isError())return R;if(c.isString()||p.isString()||R.isString())return h.create(f.VALUE);let b=+c.getValue();const L=Math.floor(+p.getValue()),U=+R.getValue();if(b<0||b>9999)return h.create(f.NUM);b>=0&&b<1899&&(b+=1900);const B=new Date(b,L-1,U),T=ln(B);return T<0?h.create(f.NUM):D.create(T,un)})}}class Qa extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isString()){const t=`${e.getValue()}`,r=ws(t);if(r){const{v:s,z:a}=r;if(Os(a))return D.create(Math.trunc(s))}}return h.create(f.VALUE)}}class za extends V{constructor(){super(...arguments);d(this,"minParams",1);d(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(!fn(`${r}`))return h.create(f.VALUE);t=new Date(`${r}`)}else{const o=+e.getValue();if(o<0)return h.create(f.NUM);if(o===0)return D.create(0);t=$t(o)}const s=t.getDate();return D.create(s)}}class Na extends V{constructor(){super(...arguments);d(this,"minParams",2);d(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),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),a=Z(r,s,e),o=Z(r,s,t);return a.map((u,l,c)=>{const m=o.get(l,c)||se.create();if(u.isError())return u;if(m.isError())return m;if(u.isString()||u.isBoolean()||m.isString()||m.isBoolean())return h.create(f.VALUE);const g=+u.getValue();if(g<0)return h.create(f.NUM);const p=Math.floor(+m.getValue()),R=$t(g),b=R.getUTCFullYear(),L=R.getUTCMonth()+p,U=R.getUTCDate(),B=new Date(Date.UTC(b,L,U)),T=ln(B);return D.create(T,un)})}}var pe=(n=>(n.DATE="DATE",n.DATEDIF="DATEDIF",n.DATEVALUE="DATEVALUE",n.DAY="DAY",n.DAYS="DAYS",n.DAYS360="DAYS360",n.EDATE="EDATE",n.EOMONTH="EOMONTH",n.HOUR="HOUR",n.ISOWEEKNUM="ISOWEEKNUM",n.MINUTE="MINUTE",n.MONTH="MONTH",n.NETWORKDAYS="NETWORKDAYS",n.NETWORKDAYS_INTL="NETWORKDAYS.INTL",n.NOW="NOW",n.SECOND="SECOND",n.TIME="TIME",n.TIMEVALUE="TIMEVALUE",n.TODAY="TODAY",n.WEEKDAY="WEEKDAY",n.WEEKNUM="WEEKNUM",n.WORKDAY="WORKDAY",n.WORKDAY_INTL="WORKDAY.INTL",n.YEAR="YEAR",n.YEARFRAC="YEARFRAC",n))(pe||{});class Wa extends V{constructor(){super(...arguments);d(this,"minParams",1);d(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=_e(e);if(typeof t!="number")return t;if(t===0)return D.create(0);const s=cn(t).getUTCHours();return D.create(s)}}class Ga extends V{constructor(){super(...arguments);d(this,"minParams",1);d(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=_e(e);if(typeof t!="number")return t;if(t===0)return D.create(0);const s=cn(t).getUTCMinutes();return D.create(s)}}class Xa extends V{constructor(){super(...arguments);d(this,"minParams",1);d(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(!fn(`${r}`))return h.create(f.VALUE);t=new Date(`${r}`)}else{const o=+e.getValue();if(o<0)return h.create(f.NUM);if(o===0)return D.create(1);t=$t(o)}const s=t.getUTCMonth()+1;return D.create(s)}}class Ka extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r!=null&&r.isError())return r;if(e.isArray()){if(e.getRowCount()>1||e.getColumnCount()>1)return h.create(f.VALUE);if(e=e.get(0,0),e.isError())return e}if(t.isArray()){if(t.getRowCount()>1||t.getColumnCount()>1)return h.create(f.VALUE);if(t=t.get(0,0),t.isError())return t}if(e.isBoolean()||t.isBoolean())return h.create(f.VALUE);const s=_e(e);if(typeof s!="number")return s;const a=_e(t);if(typeof a!="number")return a;let o;if(r){const u=[];if(r!=null&&r.isArray()){const l=r.getRowCount(),c=r.getColumnCount();for(let m=0;m<l;m++)for(let g=0;g<c;g++){const p=r.get(m,g);if(p.isBoolean())return h.create(f.VALUE);const R=_e(p);if(typeof R!="number")return R;u.push(R)}}else{if(r.isBoolean())return h.create(f.VALUE);const l=_e(r);if(typeof l!="number")return l;u.push(l)}o=mr(s,a,1,u)}else o=mr(s,a);return D.create(o)}}class qa extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",4)}calculate(e,t,r,s){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:s!=null&&s.isError()?s:r!=null&&r.isArray()?r.map(a=>this._handleSingleObject(e,t,a,s)):this._handleSingleObject(e,t,r,s)}_handleSingleObject(e,t,r,s){let a=1;if(r){if(a=r.getValue(),r.isBoolean()&&(a=+a),r.isString()&&!Yt(a))return h.create(f.VALUE);if(!Yt(a))return h.create(f.NUM)}if(e.isArray()){if(e.getRowCount()>1||e.getColumnCount()>1)return h.create(f.VALUE);if(e=e.get(0,0),e.isError())return e}if(t.isArray()){if(t.getRowCount()>1||t.getColumnCount()>1)return h.create(f.VALUE);if(t=t.get(0,0),t.isError())return t}if(e.isBoolean()||t.isBoolean())return h.create(f.VALUE);const o=_e(e);if(typeof o!="number")return o;const u=_e(t);if(typeof u!="number")return u;let l;if(s){const c=[];if(s!=null&&s.isArray()){const m=s.getRowCount(),g=s.getColumnCount();for(let p=0;p<m;p++)for(let R=0;R<g;R++){const b=s.get(p,R);if(b.isBoolean())return h.create(f.VALUE);const L=_e(b);if(typeof L!="number")return L;c.push(L)}}else{if(s.isBoolean())return h.create(f.VALUE);const m=_e(s);if(typeof m!="number")return m;c.push(m)}l=mr(o,u,a,c)}else l=mr(o,u,a);return D.create(l)}}class Za extends V{constructor(){super(...arguments);d(this,"minParams",0);d(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=Ya(t);return D.create(r,ja)}}class Ja extends V{constructor(){super(...arguments);d(this,"minParams",1);d(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=_e(e);if(typeof t!="number")return t;if(t===0)return D.create(0);const s=cn(t).getUTCSeconds();return D.create(s)}}class eo extends V{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=Z(s,a,e),u=Z(s,a,t),l=Z(s,a,r);return o.map((c,m,g)=>this._calculateTime(c,u,l,m,g))}_calculateTime(e,t,r,s,a){let o=t.get(s,a)||se.create(),u=r.get(s,a)||se.create();if((e.isString()||e.isBoolean())&&(e=e.convertToNumberObjectValue()),(o.isString()||o.isBoolean())&&(o=o.convertToNumberObjectValue()),(u.isString()||u.isBoolean())&&(u=u.convertToNumberObjectValue()),e.isError())return e;if(o.isError())return o;if(u.isError())return u;let l=Math.floor(+e.getValue()),c=Math.floor(+o.getValue()),m=Math.floor(+u.getValue());if(l<0||c<0||m<0||l>32767||c>32767||m>32767)return h.create(f.NUM);c+=Math.floor(m/60),m%=60,l+=Math.floor(c/60),c%=60,l%=24;const p=(l*3600+c*60+m)/86400;return D.create(p,$a)}}class to extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isString()){const t=`${e.getValue()}`,r=ws(t);if(r){const{v:s,z:a}=r;if(Os(a))return D.create(Ea(s))}}return h.create(f.VALUE)}}class ro extends V{constructor(){super(...arguments);d(this,"minParams",0);d(this,"maxParams",0)}calculate(){const e=ln(new Date);return D.create(e,un)}}class no extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t!=null&&t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t!=null&&t.isArray()?t.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t!=null&&t.isArray()?t.getColumnCount():1),a=Z(r,s,e,h.create(f.NA)),o=t?Z(r,s,t,h.create(f.NA)):[],u=a.map((l,c,m)=>{if(t){const g=o.get(c,m);return this._handleSingleObject(l,g)}else return this._handleSingleObject(l)});return u.getRowCount()===1&&u.getColumnCount()===1?u.getArrayValue()[0][0]:u}_handleSingleObject(e,t){if(e.isError())return e;if(t!=null&&t.isError())return t;const r=_e(e);if(typeof r!="number")return r;const s={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]};let a=1;if(t){if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;if(a=Math.floor(+t.getValue()),!s[a])return h.create(f.NUM)}const o=hn(r),u=s[a][o];return D.create(u)}}class so extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r!=null&&r.isError())return r;if(e.isArray()){if(e.getRowCount()>1||e.getColumnCount()>1)return h.create(f.VALUE);if(e=e.get(0,0),e.isError())return e}if(t.isArray()){if(t.getRowCount()>1||t.getColumnCount()>1)return h.create(f.VALUE);if(t=t.get(0,0),t.isError())return t}if(e.isBoolean()||t.isBoolean())return h.create(f.VALUE);const s=_e(e);if(typeof s!="number")return s;if(t.isString()&&(t=t.convertToNumberObjectValue(),t.isError()))return t;const a=+t.getValue();let o;if(r){const u=[];if(r!=null&&r.isArray()){const l=r.getRowCount(),c=r.getColumnCount();for(let m=0;m<l;m++)for(let g=0;g<c;g++){const p=r.get(m,g);if(p.isBoolean())return h.create(f.VALUE);const R=_e(p);if(typeof R!="number")return R;u.push(R)}}else{if(r.isBoolean())return h.create(f.VALUE);const l=_e(r);if(typeof l!="number")return l;u.push(l)}o=dr(s,a,1,u)}else o=dr(s,a);return typeof o!="number"?o:D.create(o)}}class io extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",4)}calculate(e,t,r,s){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:s!=null&&s.isError()?s:r!=null&&r.isArray()?r.map(a=>this._handleSingleObject(e,t,a,s)):this._handleSingleObject(e,t,r,s)}_handleSingleObject(e,t,r,s){let a=1;if(r){if(a=r.getValue(),r.isBoolean()&&(a=+a),r.isString()&&(!Yt(a)||a==="1111111"))return h.create(f.VALUE);if(!Yt(a))return h.create(f.NUM)}if(e.isArray()){if(e.getRowCount()>1||e.getColumnCount()>1)return h.create(f.VALUE);if(e=e.get(0,0),e.isError())return e}if(t.isArray()){if(t.getRowCount()>1||t.getColumnCount()>1)return h.create(f.VALUE);if(t=t.get(0,0),t.isError())return t}if(e.isBoolean()||t.isBoolean())return h.create(f.VALUE);const o=_e(e);if(typeof o!="number")return o;if(t.isString()&&(t=t.convertToNumberObjectValue(),t.isError()))return t;const u=+t.getValue();let l;if(s){const c=[];if(s!=null&&s.isArray()){const m=s.getRowCount(),g=s.getColumnCount();for(let p=0;p<m;p++)for(let R=0;R<g;R++){const b=s.get(p,R);if(b.isBoolean())return h.create(f.VALUE);const L=_e(b);if(typeof L!="number")return L;c.push(L)}}else{if(s.isBoolean())return h.create(f.VALUE);const m=_e(s);if(typeof m!="number")return m;c.push(m)}l=dr(o,u,a,c)}else l=dr(o,u,a);return typeof l!="number"?l:D.create(l)}}class ao extends V{constructor(){super(...arguments);d(this,"minParams",1);d(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(!fn(`${r}`))return h.create(f.VALUE);t=new Date(`${r}`)}else{const o=+r;if(o<0)return h.create(f.NUM);if(o===0)return D.create(1900);t=$t(o)}const s=t.getUTCFullYear();return D.create(s)}}const vs=[[Ha,pe.DATE],[Qa,pe.DATEVALUE],[za,pe.DAY],[Na,pe.EDATE],[Wa,pe.HOUR],[Ga,pe.MINUTE],[Xa,pe.MONTH],[Ka,pe.NETWORKDAYS],[qa,pe.NETWORKDAYS_INTL],[Za,pe.NOW],[Ja,pe.SECOND],[eo,pe.TIME],[to,pe.TIMEVALUE],[ro,pe.TODAY],[no,pe.WEEKDAY],[so,pe.WORKDAY],[io,pe.WORKDAY_INTL],[ao,pe.YEAR]],Bs=[];var Ts=(n=>(n.BESSELI="BESSELI",n.BESSELJ="BESSELJ",n.BESSELK="BESSELK",n.BESSELY="BESSELY",n.BIN2DEC="BIN2DEC",n.BIN2HEX="BIN2HEX",n.BIN2OCT="BIN2OCT",n.BITAND="BITAND",n.BITLSHIFT="BITLSHIFT",n.BITOR="BITOR",n.BITRSHIFT="BITRSHIFT",n.BITXOR="BITXOR",n.COMPLEX="COMPLEX",n.CONVERT="CONVERT",n.DEC2BIN="DEC2BIN",n.DEC2HEX="DEC2HEX",n.DEC2OCT="DEC2OCT",n.DELTA="DELTA",n.ERF="ERF",n.ERF_PRECISE="ERF.PRECISE",n.ERFC="ERFC",n.ERFC_PRECISE="ERFC.PRECISE",n.GESTEP="GESTEP",n.HEX2BIN="HEX2BIN",n.HEX2DEC="HEX2DEC",n.HEX2OCT="HEX2OCT",n.IMABS="IMABS",n.IMAGINARY="IMAGINARY",n.IMARGUMENT="IMARGUMENT",n.IMCONJUGATE="IMCONJUGATE",n.IMCOS="IMCOS",n.IMCOSH="IMCOSH",n.IMCOT="IMCOT",n.IMCSC="IMCSC",n.IMCSCH="IMCSCH",n.IMDIV="IMDIV",n.IMEXP="IMEXP",n.IMLN="IMLN",n.IMLOG10="IMLOG10",n.IMLOG2="IMLOG2",n.IMPOWER="IMPOWER",n.IMPRODUCT="IMPRODUCT",n.IMREAL="IMREAL",n.IMSEC="IMSEC",n.IMSECH="IMSECH",n.IMSIN="IMSIN",n.IMSINH="IMSINH",n.IMSQRT="IMSQRT",n.IMSUB="IMSUB",n.IMSUM="IMSUM",n.IMTAN="IMTAN",n.OCT2BIN="OCT2BIN",n.OCT2DEC="OCT2DEC",n.OCT2HEX="OCT2HEX",n))(Ts||{});const ks=[];var Is=(n=>(n.ACCRINT="ACCRINT",n.ACCRINTM="ACCRINTM",n.AMORDEGRC="AMORDEGRC",n.AMORLINC="AMORLINC",n.COUPDAYBS="COUPDAYBS",n.COUPDAYS="COUPDAYS",n.COUPDAYSNC="COUPDAYSNC",n.COUPNCD="COUPNCD",n.COUPNUM="COUPNUM",n.COUPPCD="COUPPCD",n.CUMIPMT="CUMIPMT",n.CUMPRINC="CUMPRINC",n.DB="DB",n.DDB="DDB",n.DISC="DISC",n.DOLLARDE="DOLLARDE",n.DOLLARFR="DOLLARFR",n.DURATION="DURATION",n.EFFECT="EFFECT",n.FV="FV",n.FVSCHEDULE="FVSCHEDULE",n.INTRATE="INTRATE",n.IPMT="IPMT",n.IRR="IRR",n.ISPMT="ISPMT",n.MDURATION="MDURATION",n.MIRR="MIRR",n.NOMINAL="NOMINAL",n.NPER="NPER",n.NPV="NPV",n.ODDFPRICE="ODDFPRICE",n.ODDFYIELD="ODDFYIELD",n.ODDLPRICE="ODDLPRICE",n.ODDLYIELD="ODDLYIELD",n.PDURATION="PDURATION",n.PMT="PMT",n.PPMT="PPMT",n.PRICE="PRICE",n.PRICEDISC="PRICEDISC",n.PRICEMAT="PRICEMAT",n.PV="PV",n.RATE="RATE",n.RECEIVED="RECEIVED",n.RRI="RRI",n.SLN="SLN",n.SYD="SYD",n.TBILLEQ="TBILLEQ",n.TBILLPRICE="TBILLPRICE",n.TBILLYIELD="TBILLYIELD",n.VDB="VDB",n.XIRR="XIRR",n.XNPV="XNPV",n.YIELD="YIELD",n.YIELDDISC="YIELDDISC",n.YIELDMAT="YIELDMAT",n))(Is||{}),xe=(n=>(n.CELL="CELL",n.ERROR_TYPE="ERROR.TYPE",n.INFO="INFO",n.ISBLANK="ISBLANK",n.ISERR="ISERR",n.ISERROR="ISERROR",n.ISEVEN="ISEVEN",n.ISFORMULA="ISFORMULA",n.ISLOGICAL="ISLOGICAL",n.ISNA="ISNA",n.ISNONTEXT="ISNONTEXT",n.ISNUMBER="ISNUMBER",n.ISODD="ISODD",n.ISOMITTED="ISOMITTED",n.ISREF="ISREF",n.ISTEXT="ISTEXT",n.N="N",n.NA="NA",n.SHEET="SHEET",n.SHEETS="SHEETS",n.TYPE="TYPE",n))(xe||{});class oo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isNull()?$.create(!0):e.isArray()?e.mapValue(t=>t.isNull()?$.create(!0):$.create(!1)):$.create(!1)}}class uo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.getValue()===f.NA?$.create(!1):e.isError()?$.create(!0):e.isArray()?e.mapValue(t=>t.getValue()===f.NA?$.create(!1):t.isError()?$.create(!0):$.create(!1)):$.create(!1)}}class lo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isError()?$.create(!0):e.isArray()?e.mapValue(t=>t.isError()?$.create(!0):$.create(!1)):$.create(!1)}}class co extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){if(e.isArray()||e.isBoolean()||!e.isNumber()&&(e=e.convertToNumberObjectValue(),!e.isNumber()))return h.create(f.VALUE);const t=e.getValue(),r=Math.floor(Math.abs(t));return $.create(r%2===0)}}class fo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isBoolean()?$.create(!0):e.isArray()?e.mapValue(t=>t.isBoolean()?$.create(!0):$.create(!1)):$.create(!1)}}class ho extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.getValue()===f.NA?$.create(!0):e.isArray()?e.mapValue(t=>t.getValue()===f.NA?$.create(!0):$.create(!1)):$.create(!1)}}class mo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return!e.isArray()&&!e.isString()?$.create(!0):e.isArray()?e.mapValue(t=>t.isString()?$.create(!1):$.create(!0)):$.create(!1)}}class go extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isNumber()?$.create(!0):e.isArray()?e.mapValue(t=>t.isNumber()?$.create(!0):$.create(!1)):$.create(!1)}}class po extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){if(e.isArray()||e.isBoolean()||!e.isNumber()&&(e=e.convertToNumberObjectValue(),!e.isNumber()))return h.create(f.VALUE);const t=e.getValue(),r=Math.floor(Math.abs(t));return $.create(r%2!==0)}}class Ro extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1);d(this,"needsReferenceObject",!0)}calculate(e){return e.isReferenceObject()?$.create(!0):$.create(!1)}}class _o extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()?$.create(!0):e.isArray()?e.mapValue(t=>t.isString()?$.create(!0):$.create(!1)):$.create(!1)}}const js=[[oo,xe.ISBLANK],[uo,xe.ISERR],[co,xe.ISEVEN],[po,xe.ISODD],[lo,xe.ISERROR],[fo,xe.ISLOGICAL],[ho,xe.ISNA],[mo,xe.ISNONTEXT],[go,xe.ISNUMBER],[Ro,xe.ISREF],[_o,xe.ISTEXT]];class Eo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=!0,r=!0,s=null;for(const a of e){if(a.isError())return a;if(a.isArray()){if(a.iterator(o=>{if(o!=null&&o.isError())return s=o,!1;(o!=null&&o.isBoolean()||o!=null&&o.isNumber())&&(t=t&&!!o.getValue(),r=!1)}),s)return s}else(a.isBoolean()||a.isNumber())&&(t=t&&!!a.getValue(),r=!1)}return r?h.create(f.VALUE):$.create(t)}}var at=(n=>(n.AND="AND",n.BYCOL="BYCOL",n.BYROW="BYROW",n.FALSE="FALSE",n.IF="IF",n.IFERROR="IFERROR",n.IFNA="IFNA",n.IFS="IFS",n.LAMBDA="LAMBDA",n.LET="LET",n.MAKEARRAY="MAKEARRAY",n.MAP="MAP",n.NOT="NOT",n.OR="OR",n.REDUCE="REDUCE",n.SCAN="SCAN",n.SWITCH="SWITCH",n.TRUE="TRUE",n.XOR="XOR",n))(at||{});class Co extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",3)}calculate(e,t,r=$.create(!1)){if(e.isError())return e;if(t.isError())return t;if(e=this._getSingleValueObject(e),!e.isArray())return e.getValue()?t:r;const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=Z(s,a,e),u=Z(s,a,t,h.create(f.NA)),l=Z(s,a,r,h.create(f.NA));return o.map((c,m,g)=>{if(c.isNull())return h.create(f.NA);{const p=u.get(m,g)||se.create(),R=l.get(m,g)||se.create();return this._calculateSingleCell(c,p,R)}})}_getSingleValueObject(e){return e.isArray()&&e.getRowCount()===1&&e.getColumnCount()===1?e.getFirstCell():e}_calculateSingleCell(e,t,r){return e.isNull()?h.create(f.NA):e.getValue()?t.isNull()?h.create(f.NA):t:r.isNull()?h.create(f.NA):r}}class yo extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;if(!e.isArray())return e.isError()?t:e;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),a=Z(r,s,e),o=Z(r,s,t);return a.iterator((u,l,c)=>{u!=null&&u.isError()&&a.set(l,c,o.get(l,c))}),a}}class Do extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){return h.create(f.VALUE)}}class bo extends V{constructor(){super(...arguments);d(this,"minParams",3);d(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 h.create(f.VALUE);const s=e[2],a=[];for(let o=0;o<t;o++){a[o]==null&&(a[o]=[]);for(let u=0;u<r;u++){const l=s.execute(D.create(o+1),D.create(u+1));a[o][u]=l}}return new ms(a)}isAsync(){return!0}}class So extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=!1,r=!0,s=null;for(const a of e){if(a.isError())return a;if(a.isArray()){if(a.iterator(o=>{if(o!=null&&o.isError())return s=o,!1;(o!=null&&o.isBoolean()||o!=null&&o.isNumber())&&(t=t||!!o.getValue(),r=!1)}),s)return s}else(a.isBoolean()||a.isNumber())&&(t=t||!!a.getValue(),r=!1)}return r?new h(f.VALUE):new $(t)}}const $s=[[Eo,at.AND],[Co,at.IF],[Do,at.LAMBDA],[bo,at.MAKEARRAY],[So,at.OR],[yo,at.IFERROR]];class Ao extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",5)}calculate(e,t,r,s,a){if(e.isError())return e;if(t.isError())return t;if(r!=null&&r.isError())return r;if(s!=null&&s.isError())return s;if(a!=null&&a.isError())return a;r=r!=null?r:D.create(1),s=s!=null?s:$.create(!0),a=a!=null?a:ce.create("");const o=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1,a.isArray()?a.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1,a.isArray()?a.getColumnCount():1),l=Z(o,u,e,h.create(f.NA)),c=Z(o,u,t,h.create(f.NA)),m=Z(o,u,r,h.create(f.NA)),g=Z(o,u,s,h.create(f.NA)),p=Z(o,u,a,h.create(f.NA));return l.map((R,b,L)=>{const U=c.get(b,L)||h.create(f.NA),B=m.get(b,L)||h.create(f.NA),T=g.get(b,L)||h.create(f.NA),K=p.get(b,L)||h.create(f.NA);return R.isError()?R:U.isError()?U:B.isError()?B:T.isError()?T:K.isError()?K:this._calculateSingleCell(R,U,B,T,K)})}_calculateSingleCell(e,t,r,s,a){const o=Number.parseInt(`${Number(e.getValue())-1}`),u=Number.parseInt(`${Number(t.getValue())-1}`),l=Number.parseInt(`${Number(r.getValue())}`);if(Number.isNaN(o)||Number.isNaN(u)||Number.isNaN(l)||l<1||l>4)return h.create(f.VALUE);const c=Po(l),m=this.getZeroOrOneByOneDefault(s),g=`${a.getValue()}`,p=sr(g)?`'${g}'`:g,R={startRow:o,startColumn:u,endRow:o,endColumn:u,startAbsoluteRefType:c,endAbsoluteRefType:c},b=s&&!m?va(R):Ge(R);return ce.create(p!==""?`${p}!${b}`:b)}}function Po(n){switch(n){case 1:return E.AbsoluteRefType.ALL;case 2:return E.AbsoluteRefType.ROW;case 3:return E.AbsoluteRefType.COLUMN;case 4:return E.AbsoluteRefType.NONE;default:return E.AbsoluteRefType.ALL}}class Lo extends V{constructor(){super(...arguments);d(this,"minParams",0);d(this,"maxParams",1)}calculate(e){if(e==null)return D.create(this.column+1);if(e.isError())return e;if(!e.isArray())return h.create(f.NA);const t=e.getCurrentColumn(),r=e.getColumnCount(),s=[];for(let o=0;o<r;o++)s.push(D.create(t+o+1));const a={calculateValueList:[s],rowCount:1,columnCount:r,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return me.create(a)}}class Vo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return D.create(1);if(!e.isArray())return h.create(f.NA);const t=e.getColumnCount();return D.create(t)}}var be=(n=>(n.ADDRESS="ADDRESS",n.AREAS="AREAS",n.CHOOSE="CHOOSE",n.CHOOSECOLS="CHOOSECOLS",n.CHOOSEROWS="CHOOSEROWS",n.COLUMN="COLUMN",n.COLUMNS="COLUMNS",n.DROP="DROP",n.EXPAND="EXPAND",n.FILTER="FILTER",n.FORMULATEXT="FORMULATEXT",n.GETPIVOTDATA="GETPIVOTDATA",n.HLOOKUP="HLOOKUP",n.HSTACK="HSTACK",n.HYPERLINK="HYPERLINK",n.IMAGE="IMAGE",n.INDEX="INDEX",n.INDIRECT="INDIRECT",n.LOOKUP="LOOKUP",n.MATCH="MATCH",n.OFFSET="OFFSET",n.ROW="ROW",n.ROWS="ROWS",n.RTD="RTD",n.SORT="SORT",n.SORTBY="SORTBY",n.TAKE="TAKE",n.TOCOL="TOCOL",n.TOROW="TOROW",n.TRANSPOSE="TRANSPOSE",n.UNIQUE="UNIQUE",n.VLOOKUP="VLOOKUP",n.VSTACK="VSTACK",n.WRAPCOLS="WRAPCOLS",n.WRAPROWS="WRAPROWS",n.XLOOKUP="XLOOKUP",n.XMATCH="XMATCH",n))(be||{});class xo extends V{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",4)}calculate(e,t,r,s){if(e.isError())return e;if(t.isError())return h.create(f.REF);if(!t.isArray()||r.isError()||s!=null&&s.isError())return h.create(f.NA);const a=this.getZeroOrOneByOneDefault(s);if(a==null)return h.create(f.VALUE);const o=this.getIndexNumValue(r);if(o instanceof h)return o;const u=t.slice([0,1]),l=t.slice([o-1,o]);return u==null||l==null?h.create(f.REF):e.isArray()?e.map(c=>this._handleSingleObject(c,u,l,a)):this._handleSingleObject(e,u,l,a)}_handleSingleObject(e,t,r,s){return s===0?this.equalSearch(e,t,r):this.binarySearch(e,t,r)}}class wo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",2)}isAddress(){return!0}calculate(e,t){if(e.isError())return e;let r=this.getZeroOrOneByOneDefault(t);if(r==null&&(r=1),e.isArray()){const m=e;if(m.getRowCount()===1&&m.getColumnCount()===1)e=m.getFirstCell();else return m.map(()=>h.create(f.VALUE))}if(!e.isString())return h.create(f.REF);const s=this._convertToDefinedName(e.getValue());if(r===0){const m=ps(s),{range:g,sheetName:p,unitId:R}=m,b=new Bt(g);return b.setForcedUnitIdDirect(R),b.setForcedSheetName(p),this._setDefault(b)}if(new RegExp(Ft).test(s))return this._setDefault(new sn(s));if(new RegExp(Bn).test(s))return this._setDefault(new an(s));if(new RegExp(Tn).test(s))return this._setDefault(new on(s));const a=je(s),{range:o,sheetName:u,unitId:l}=a,c=new Bt(o);return c.setForcedUnitIdDirect(l),c.setForcedSheetName(u),this._setDefault(c)}_setDefault(e){return this.unitId==null||this.subUnitId==null?h.create(f.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(ne.EQUALS)?r.slice(1):r}}class Uo extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",3);d(this,"needsExpandParams",!0)}calculate(e,t,r){return e.isError()?e:t.isError()?h.create(f.REF):t.isArray()?r!=null&&r.isError()?r:t.getColumnCount()===1||t.getRowCount()===1?r!=null&&!r.isArray()?h.create(f.REF):this._handleVector(e,t,r):this._handleArray(e,t):h.create(f.VALUE)}_handleVector(e,t,r){if(r==null)r=t;else if(r.getRowCount()!==t.getRowCount()||r.getColumnCount()!==t.getColumnCount())return h.create(f.REF);return e.isArray()?e.map(s=>this.binarySearch(s,t,r)):this.binarySearch(e,t,r)}_handleArray(e,t){const r=t.getRowCount(),s=t.getColumnCount();let a,o;return s>r?(a=t.slice([0,1]),o=t.slice([r-1,r])):(a=t.slice(void 0,[0,1]),o=t.slice(void 0,[s-1,s])),a==null||o==null?h.create(f.VALUE):e.isArray()?e.map(u=>this.binarySearch(u,a,o)):this.binarySearch(e,a,o)}}class Oo extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return h.create(f.REF);if(!t.isArray())return h.create(f.VALUE);const s=t.getRowCount(),a=t.getColumnCount();if(s!==1&&a!==1||r!=null&&r.isError())return h.create(f.NA);const o=this.getMatchTypeValue(r);return o==null?h.create(f.VALUE):e.isArray()?e.map(u=>this._handleSingleObject(u,t,o)):this._handleSingleObject(e,t,o)}_handleSingleObject(e,t,r){const s=this._getSearchModeValue(r),a=t.orderSearch(e,s);if(a==null)return h.create(f.NA);if(a instanceof h)return a;const o=t.getRowCount()===1?a.column+1:a.row+1;return D.create(o)}_getSearchModeValue(e){switch(e){case 1:return Ve.MIN;case 0:return Ve.NORMAL;case-1:return Ve.MAX}}}class Mo extends V{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",5);d(this,"needsReferenceObject",!0)}isAddress(){return!0}calculate(e,t,r,s,a){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(s!=null&&s.isError())return s;if(a!=null&&a.isError())return a;if(!e.isReferenceObject())return h.create(f.VALUE);e=e;const o=e.getRowCount(),u=e.getColumnCount();t.isReferenceObject()&&(t=t.toArrayValueObject()),r.isReferenceObject()&&(r=r.toArrayValueObject()),s?s.isReferenceObject()&&(s=s.toArrayValueObject()):s=D.create(o),a?a.isReferenceObject()&&(a=a.toArrayValueObject()):a=D.create(u);const l=Math.max(t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1,a.isArray()?a.getRowCount():1),c=Math.max(t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1,a.isArray()?a.getColumnCount():1);if(t=t,r=r,s=s,a=a,l===1&&c===1)return this._handleSingleObject(e,t,r,s,a);const m=Z(l,c,t,h.create(f.NA)),g=Z(l,c,r,h.create(f.NA)),p=Z(l,c,s,h.create(f.NA)),R=Z(l,c,a,h.create(f.NA));return m.mapValue((b,L,U)=>{const B=g.get(L,U),T=p.get(L,U),K=R.get(L,U);return b.isError()?b:B.isError()?B:T.isError()?T:K.isError()?K:this._handleSingleObject(e,b,B,T,K,!0)})}_handleSingleObject(e,t,r,s,a,o=!1){const{startRow:u,startColumn:l}=e.getRangeData(),c=this.getIndexNumValue(t),m=this.getIndexNumValue(r);if(typeof c!="number"||typeof m!="number")return h.create(f.VALUE);const g=u+c,p=l+m;if(g<0||p<0)return h.create(f.REF);const R=this.getIndexNumValue(s),b=this.getIndexNumValue(a);if(typeof R!="number"||typeof b!="number")return h.create(f.VALUE);if(R===0||b===0)return h.create(f.REF);const L=R>0?g+R-1:g+R+1,U=b>0?p+b-1:p+b+1;if(L<0||U<0)return h.create(f.REF);if(o)return h.create(f.VALUE);const B=g<L?g:L,T=p<U?p:U,K=g>L?g:L,ue=p>U?p:U,ge={startRow:B,startColumn:T,endRow:K,endColumn:ue};return this.createReferenceObject(e,ge)}}class Fo extends V{constructor(){super(...arguments);d(this,"minParams",0);d(this,"maxParams",1)}calculate(e){if(e==null)return D.create(this.row+1);if(e.isError())return e;if(!e.isArray())return h.create(f.NA);const t=e.getCurrentRow(),r=e.getRowCount(),s=[];for(let o=0;o<r;o++)s.push([D.create(t+o+1)]);const a={calculateValueList:s,rowCount:r,columnCount:1,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return me.create(a)}}class vo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return D.create(1);if(!e.isArray())return h.create(f.NA);const t=e.getRowCount();return D.create(t)}}class Bo extends V{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",4)}calculate(e,t,r,s){return e.isError()?e:t.isError()?t:t.isArray()?r.isError()?r:s!=null&&s.isError()?s:(s=s!=null?s:$.create(!0),Es(e)&&Es(s)&&r.isArray()?this._handleArrayColIndexNum(e,t,r,s):this._handleNonArrayColIndexNum(e,t,r,s)):h.create(f.VALUE)}_handleArrayColIndexNum(e,t,r,s){e=e.isArray()?e.getFirstCell():e;const a=this.getZeroOrOneByOneDefault(s);if(a==null)return h.create(f.VALUE);let o;const u=[];return r.iterator((l,c,m)=>{if(l==null)return o=h.create(f.VALUE),!1;const g=this._handleTableArray(e,t,l,a);if(g.isError())return o=g,!1;u[c]===void 0&&(u[c]=[]),u[c][m]=g}),o||dt(u,u.length,u[0].length,this.unitId||"",this.subUnitId||"")}_handleNonArrayColIndexNum(e,t,r,s){const a=Math.max(e.isArray()?e.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=Z(a,o,e),l=Z(a,o,s);return u.map((c,m,g)=>{if(c.isError())return c;const p=l.get(m,g);if(p==null)return h.create(f.VALUE);if(p.isError())return p;const R=this.getZeroOrOneByOneDefault(p);return R==null?h.create(f.VALUE):this._handleTableArray(c,t,r,R)})}_handleTableArray(e,t,r,s){const a=this.getIndexNumValue(r);if(a instanceof h)return a;const o=t.slice(void 0,[0,1]);if(o==null)return h.create(f.VALUE);const u=t.slice(void 0,[a-1,a]);return u==null?h.create(f.REF):this._handleSingleObject(e,o,u,s)}_handleSingleObject(e,t,r,s){return s===0?this.equalSearch(e,t,r):this.binarySearch(e,t,r)}}class To extends V{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",6)}calculate(e,t,r,s,a,o){if(e.isError())return e;if(t.isError())return h.create(f.REF);if(!t.isArray())return h.create(f.VALUE);const u=t.getRowCount(),l=t.getColumnCount();if(u!==1&&l!==1)return h.create(f.VALUE);if(r.isError())return h.create(f.REF);if(!r.isArray())return h.create(f.VALUE);const c=r.getRowCount(),m=r.getColumnCount();if(u!==c&&l!==m)return h.create(f.VALUE);if(s!=null&&s.isError()||a!=null&&a.isError()||o!=null&&o.isError())return h.create(f.NA);s==null&&(s=h.create(f.NA));const g=this.getIndexNumValue(a||D.create(0));if(g instanceof h)return g;const p=this.getIndexNumValue(o||D.create(1));if(p instanceof h)return p;if(e.isArray()){let L;return u===1?L=r.slice([0,1]):L=r.slice(void 0,[0,1]),L==null?h.create(f.NA):e.map(U=>{const B=this._handleSingleObject(U,t,L,g,p);return B.isError()?s:B})}if(l===m&&u===c){const L=this._handleSingleObject(e,t,r,g,p);return L.isError()?s:L}let R=0;l===m&&(R=1);const b=this._handleExpandObject(e,t,r,g,p,R);return b==null?h.create(f.NA):b}_handleExpandObject(e,t,r,s,a,o=0){return(a===2||a===-2)&&s!==2?this.binarySearchExpand(e,t,r,o,this._getSearchModeValue(a)):s===2?this.fuzzySearchExpand(e,t,r,a!==-1,o):s===-1||s===1?this.orderSearchExpand(e,t,r,s===1?Ve.MAX:Ve.MIN,a===-1,o):this.equalSearchExpand(e,t,r,a!==-1,o)}_handleSingleObject(e,t,r,s,a){return(a===2||a===-2)&&s!==2?this.binarySearch(e,t,r,this._getSearchModeValue(a)):s===2?this.fuzzySearch(e,t,r,a!==-1):s===-1||s===1?this.orderSearch(e,t,r,s===1?Ve.MAX:Ve.MIN,a===-1):this.equalSearch(e,t,r,a!==-1)}_getSearchModeValue(e){return e===-2?Xe.MAX:Xe.MIN}}class ko extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",4)}calculate(e,t,r,s){if(e.isError())return e;if(t.isError())return h.create(f.REF);if(!t.isArray())return h.create(f.VALUE);const a=t.getRowCount(),o=t.getColumnCount();if(a!==1&&o!==1)return h.create(f.VALUE);if(r!=null&&r.isError()||s!=null&&s.isError())return h.create(f.NA);const u=this.getIndexNumValue(r||D.create(0));if(u instanceof h)return u;const l=this.getIndexNumValue(s||D.create(1));return l instanceof h?l:e.isArray()?e.map(c=>this._handleSingleObject(c,t,u,l)):this._handleSingleObject(e,t,u,l)}_handleSingleObject(e,t,r,s){let a;if((s===2||s===-2)&&r!==2){const o=this._getSearchModeValue(s);a=t.binarySearch(e,o)}else if(r===2){const o=t.compare(e,M.EQUALS);let u;if(s!==-1?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null)return h.create(f.NA);a=t.getRowCount()===1?u.column:u.row}else if(r===-1||r===1){const o=t.orderSearch(e,r===1?Ve.MAX:Ve.MIN,s===-1);if(o==null)return h.create(f.NA);if(o instanceof h)return o;a=t.getRowCount()===1?o.column:o.row}else{const o=t.isEqual(e);let u;if(s!==-1?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null)return h.create(f.NA);a=t.getRowCount()===1?u.column:u.row}return a==null?h.create(f.NA):D.create(a+1)}_getSearchModeValue(e){return e===-2?Xe.MAX:Xe.MIN}}class Io extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",255);d(this,"needsReferenceObject",!0)}isAddress(){return!0}calculate(e,...t){if(e.isError())return e;if(e.isReferenceObject()&&(e=e.toArrayValueObject()),e=e,!e.isArray()){const u=e.convertToNumberObjectValue();return u.isError()?u:t[Math.trunc(+u.getValue())-1]||h.create(f.VALUE)}let r=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1;t.forEach((u,l)=>{if(u.isArray()){const c=u;r=Math.max(r,c.getRowCount()),s=Math.max(s,c.getColumnCount())}else r=Math.max(r,1),s=Math.max(s,1)});const a=Z(r,s,e,h.create(f.NA)),o=t.map(u=>(u.isReferenceObject()&&(u=u.toArrayValueObject()),Z(r,s,u,h.create(f.NA))));return a.map((u,l,c)=>{if(u.isError())return u;const m=u.convertToNumberObjectValue();if(m.isError())return m;const g=o[Math.trunc(+m.getValue())-1];let p=(g==null?void 0:g.get(l,c))||h.create(f.VALUE);return p!=null&&p.isNull()&&(p=D.create(0)),p})}}class jo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",4);d(this,"needsReferenceObject",!0)}calculate(e,t,r,s){if(e.isError())return e;if(t!=null&&t.isError())return t;if(r!=null&&r.isError())return r;if(s!=null&&s.isError())return s;let a=0,o=0;if(e.isValueObject())a=1,o=1;else if(e.isReferenceObject()){const{startRow:c,endRow:m,startColumn:g,endColumn:p}=e.getRangeData();a=m-c+1,o=p-g+1}else return h.create(f.VALUE);a===1&&o>1&&r==null?(r=t!=null?t:D.create(0),t=D.create(0)):(t=t!=null?t:D.create(0),r=r!=null?r:D.create(0)),s=s!=null?s:D.create(1),t.isReferenceObject()&&(t=t.toArrayValueObject()),r.isReferenceObject()&&(r=r.toArrayValueObject()),s.isReferenceObject()&&(s=s.toArrayValueObject());const u=Math.max(t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1);if(t=t,r=r,s=s,u===1&&l===1)return this._calculateSingleCell(e,t,r,s);{const c=Z(u,l,t,h.create(f.NA)),m=Z(u,l,r,h.create(f.NA)),g=Z(u,l,s,h.create(f.NA));return c.map((p,R,b)=>{const L=m.get(R,b)||se.create(),U=g.get(R,b)||se.create(),B=this._calculateSingleCell(e,p,L,U);return B.isReferenceObject()?B.toArrayValueObject().getFirstCell():B})}}_calculateSingleCell(e,t,r,s){if(t.isError())return t;const a=this._getNumberValue(t);if(a===void 0||a<0)return h.create(f.VALUE);if(r.isError())return r;const o=this._getNumberValue(r);if(o===void 0||o<0)return h.create(f.VALUE);if(s.isError())return s;const u=this._getAreaNumberValue(s);return u===void 0||u<1?h.create(f.VALUE):e.isReferenceObject()?this._getReferenceObject(e,a,o,u):e.isValueObject()&&a===1&&o===1?e:h.create(f.REF)}_getNumberValue(e){if(e==null)return 0;let t=0;if(e.isBoolean())e.getValue()===!0&&(t=1);else{if(e.isString())return;e.isNumber()?t=Math.floor(e.getValue()):e.isNull()&&(t=0)}return t}_getAreaNumberValue(e){if(e==null)return 1;let t=0;if(e.isBoolean())e.getValue()===!0&&(t=1);else{if(e.isString())return;e.isNumber()?t=Math.floor(e.getValue()):e.isNull()&&(t=0)}return t}_getReferenceObject(e,t,r,s){const{startRow:a,endRow:o,startColumn:u,endColumn:l}=e.getRangeData();let c=0,m=0,g=0,p=0;if(t===0?(c=a,m=o):c=m=a+t-1,r===0?(g=u,p=l):g=p=u+r-1,c>o||g>l)return h.create(f.REF);const R={startRow:c,startColumn:g,endRow:m,endColumn:p};return this.createReferenceObject(e,R)}}const Ys=[[Ao,be.ADDRESS],[Io,be.CHOOSE],[Lo,be.COLUMN],[Vo,be.COLUMNS],[jo,be.INDEX],[wo,be.INDIRECT],[Mo,be.OFFSET],[Fo,be.ROW],[vo,be.ROWS],[Bo,be.VLOOKUP],[Uo,be.LOOKUP],[Oo,be.MATCH],[xo,be.HLOOKUP],[To,be.XLOOKUP],[ko,be.XMATCH]];class $o extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.abs()}}class Yo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.acos()}}class Ho extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.acosh()}}class Qo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:Hs(t)):Hs(e)}}function Hs(n){let i=n.getValue();if(n.isBoolean()&&(i=i?1:0),!Number.isFinite(i))return h.create(f.VALUE);i=Number(i);let e=Math.atan(1/i);return i<0&&(e+=Math.PI),Number.isNaN(e)?h.create(f.VALUE):D.create(e)}class zo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:Qs(t)):Qs(e)}}function Qs(n){let i=n.getValue();if(n.isBoolean()&&(i=i?1:0),!Number.isFinite(i))return h.create(f.VALUE);if(i=Number(i),Math.abs(i)<=1)return h.create(f.NUM);const e=1/2*Math.log((i+1)/(i-1));return Number.isNaN(e)?h.create(f.VALUE):D.create(e)}class No extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.asin()}}class Wo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.asinh()}}class Go extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.atan()}}class Xo extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.atan2(e))}}class Ko extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.atanh()}}class qo extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r!=null&&r.isError())return r;const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1),o=Z(s,a,e,h.create(f.NA)),u=Z(s,a,t,h.create(f.NA)),l=r?Z(s,a,r,h.create(f.NA)):[],c=o.map((m,g,p)=>{let R=u.get(g,p),b=r?l.get(g,p):{};if(m.isString()&&(m=m.convertToNumberObjectValue()),R.isString()&&(R=R.convertToNumberObjectValue()),r&&b.isString()&&(b=b.convertToNumberObjectValue()),m.isString()||R.isString()||r&&b.isString())return h.create(f.VALUE);if(m.isError())return m;if(R.isError())return R;if(r&&b.isError())return b;const L=Math.floor(+m.getValue()),U=Math.floor(+R.getValue()),B=r?Math.floor(+b.getValue()):0;if(L<0||L>=2**53||U<2||U>36||B<0)return h.create(f.NUM);let T=L.toString(U);return r&&T.length<B&&(T=new Array(B-T.length+1).join("0")+T),ce.create(T)});return c.getRowCount()===1&&c.getColumnCount()===1?c.getArrayValue()[0][0]:c}}class Zo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.cos()}}class Jo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:zs(t)):zs(e)}}function zs(n){let i=n.getValue();if(n.isBoolean()&&(i=i?1:0),!Number.isFinite(i))return h.create(f.VALUE);i=Number(i);const e=Math.cosh(i);return Number.isNaN(e)?h.create(f.VALUE):D.create(e)}class eu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:Ns(t))):Ns(e)}}function Ns(n){let i=n.getValue();return i=Number(i),Math.abs(i)>=2**27?h.create(f.NUM):i===0?h.create(f.DIV_BY_ZERO):n.tan().getReciprocal()}class tu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:Ws(t))):Ws(e)}}function Ws(n){let i=n.getValue();return i=Number(i),i===0?h.create(f.DIV_BY_ZERO):n.tanh().getReciprocal()}class ru extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:Gs(t))):Gs(e)}}function Gs(n){let i=n.getValue();return i=Number(i),Math.abs(i)>=2**27?h.create(f.NUM):i===0?h.create(f.DIV_BY_ZERO):n.sin().getReciprocal()}class nu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:Xs(t))):Xs(e)}}function Xs(n){let i=n.getValue();return i=Number(i),i===0?h.create(f.DIV_BY_ZERO):!Number.isNaN(i)&&!Number.isFinite(Math.sinh(i))?D.create(0):n.sinh().getReciprocal()}var oe=(n=>(n.ABS="ABS",n.ACOS="ACOS",n.ACOSH="ACOSH",n.ACOT="ACOT",n.ACOTH="ACOTH",n.AGGREGATE="AGGREGATE",n.ARABIC="ARABIC",n.ASIN="ASIN",n.ASINH="ASINH",n.ATAN="ATAN",n.ATAN2="ATAN2",n.ATANH="ATANH",n.BASE="BASE",n.CEILING="CEILING",n.CEILING_MATH="CEILING.MATH",n.CEILING_PRECISE="CEILING.PRECISE",n.COMBIN="COMBIN",n.COMBINA="COMBINA",n.COS="COS",n.COSH="COSH",n.COT="COT",n.COTH="COTH",n.CSC="CSC",n.CSCH="CSCH",n.DECIMAL="DECIMAL",n.DEGREES="DEGREES",n.EVEN="EVEN",n.EXP="EXP",n.FACT="FACT",n.FACTDOUBLE="FACTDOUBLE",n.FLOOR="FLOOR",n.FLOOR_MATH="FLOOR.MATH",n.FLOOR_PRECISE="FLOOR.PRECISE",n.GCD="GCD",n.INT="INT",n.ISO_CEILING="ISO.CEILING",n.LCM="LCM",n.LET="LET",n.LN="LN",n.LOG="LOG",n.LOG10="LOG10",n.MDETERM="MDETERM",n.MINVERSE="MINVERSE",n.MMULT="MMULT",n.MOD="MOD",n.MROUND="MROUND",n.MULTINOMIAL="MULTINOMIAL",n.MUNIT="MUNIT",n.ODD="ODD",n.PI="PI",n.POWER="POWER",n.PRODUCT="PRODUCT",n.QUOTIENT="QUOTIENT",n.RADIANS="RADIANS",n.RAND="RAND",n.RANDARRAY="RANDARRAY",n.RANDBETWEEN="RANDBETWEEN",n.ROMAN="ROMAN",n.ROUND="ROUND",n.ROUNDDOWN="ROUNDDOWN",n.ROUNDUP="ROUNDUP",n.SEC="SEC",n.SECH="SECH",n.SERIESSUM="SERIESSUM",n.SEQUENCE="SEQUENCE",n.SIGN="SIGN",n.SIN="SIN",n.SINH="SINH",n.SQRT="SQRT",n.SQRTPI="SQRTPI",n.SUBTOTAL="SUBTOTAL",n.SUM="SUM",n.SUMIF="SUMIF",n.SUMIFS="SUMIFS",n.SUMPRODUCT="SUMPRODUCT",n.SUMSQ="SUMSQ",n.SUMX2MY2="SUMX2MY2",n.SUMX2PY2="SUMX2PY2",n.SUMXMY2="SUMXMY2",n.TAN="TAN",n.TANH="TANH",n.TRUNC="TRUNC",n))(oe||{});class su extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:e.mod(t))}}class iu extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:e.pow(t))}}class au extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=D.create(1);for(let r=0;r<e.length;r++){let s=e[r];if(!s.isNull()){if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isArray()&&(s=this._multiplyArray(s)),s.isError())return s;if(t=t.multiply(s),t.isError())return t}}return t}_multiplyArray(e){let t=D.create(1);return e.iterator(r=>{if(r==null||r.isString()||r.isBoolean()||r.isNull())return!0;if(r.isError())return t=r,!1;t=t.multiply(r)}),t}}class ou extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.sin()}}class uu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.sinh()}}class lu extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",255);d(this,"needsReferenceObject",!0)}calculate(e,...t){if(e.isError())return e;if(e.isReferenceObject()){const r=[];return e.iterator((s,a,o)=>{r[a]==null&&(r[a]=[]),r[a][o]=this._handleSingleObject(s,...t)}),dt(r,r.length,r[0].length)}return this._handleSingleObject(e,...t)}_handleSingleObject(e,...t){const r=this._getIndexNumValue(e);let s;if(r instanceof h)return r;switch(r){case 1:s=this._average(!1,...t);break;case 2:s=this._count(!1,...t);break;case 3:s=this._counta(!1,...t);break;case 4:s=this._max(!1,...t);break;case 5:s=this._min(!1,...t);break;case 6:s=this._product(!1,...t);break;case 7:s=this._stdev(!1,...t);break;case 8:s=this._stdevp(!1,...t);break;case 9:s=this._sum(!1,...t);break;case 10:s=this._var(!1,...t);break;case 11:s=this._varp(!1,...t);break;case 101:s=this._average(!0,...t);break;case 102:s=this._count(!0,...t);break;case 103:s=this._counta(!0,...t);break;case 104:s=this._max(!0,...t);break;case 105:s=this._min(!0,...t);break;case 106:s=this._product(!0,...t);break;case 107:s=this._stdev(!0,...t);break;case 108:s=this._stdevp(!0,...t);break;case 109:s=this._sum(!0,...t);break;case 110:s=this._var(!0,...t);break;case 111:s=this._varp(!0,...t);break;default:s=h.create(f.VALUE)}return s}_getIndexNumValue(e){const t=e?Number(e.getValue()):0;if(Number.isNaN(t))return h.create(f.VALUE);const r=Math.floor(t);return r>=1&&r<=11||r>=101&&r<=111?r:h.create(f.VALUE)}_average(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:r.mean()}_count(e,...t){let r=D.create(0);for(let s=0;s<t.length;s++){const a=t[s];if(!a.isReferenceObject())return h.create(f.VALUE);const o=a.getRowData();a.iterator((u,l)=>{if(e&&this._isRowHidden(o,l))return!0;u!=null&&u.isNumber()&&(r=r.plusBy(1))})}return r}_counta(e,...t){let r=D.create(0);for(let s=0;s<t.length;s++){const a=t[s];if(!a.isReferenceObject())return h.create(f.VALUE);const o=a.getRowData();a.iterator((u,l)=>{if(e&&this._isRowHidden(o,l)||u==null||u.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)?D.create(0):r.max()}_min(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?D.create(0):r.min()}_product(e,...t){const r=this._flattenRefArray(e,...t);if(r.isError())return r;if(this._isBlankArrayObject(r))return D.create(0);let s=D.create(1);return r.iterator(a=>{s=s.multiply(a)}),s}_stdev(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?h.create(f.DIV_BY_ZERO):r.std(1)}_stdevp(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?h.create(f.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)?h.create(f.DIV_BY_ZERO):r.var(1)}_varp(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?h.create(f.DIV_BY_ZERO):r.var()}_flattenRefArray(e,...t){const r=[];r[0]=[];for(let s=0;s<t.length;s++){const a=t[s];if(a.isError())return a;if(!a.isReferenceObject())return h.create(f.VALUE);const o=a.getRowData();let u;if(a.iterator((l,c)=>{if(e&&this._isRowHidden(o,c)||l==null||l.isNull()||l.isString()||l.isBoolean())return!0;if(l.isError())return u=l,!1;r[0].push(l)}),u!=null&&u.isError())return u}return dt(r,1,r[0].length)}_isRowHidden(e,t){const r=e[t];return r?r.hd===E.BooleanNumber.TRUE:!1}_isBlankArrayObject(e){return e.getArrayValue()[0].length===0}}class cu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=D.create(0);for(let r=0;r<e.length;r++){let s=e[r];if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()&&(s=s.sum()),t=t.plus(s),t.isError())return t}return t}}class fu extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",3)}calculate(e,t,r){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:!e.isArray()||r&&!r.isArray()?h.create(f.VALUE):t.isArray()?t.map(s=>this._handleSingleObject(e,s,r)):this._handleSingleObject(e,t,r)}_handleSingleObject(e,t,r){let s=fr(e,t);const[,a]=Tt(`${t.getValue()}`);s=hr(s,e,a);const o=r?r.slice([0,e.getRowCount()],[0,e.getColumnCount()]):e;return o?o.pick(s).sum():h.create(f.VALUE)}}class hu extends V{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",255)}calculate(e,...t){if(e.isError())return e;if(!e.isArray()||t.length<2||t.length%2!==0||t.some((u,l)=>l%2===0&&!u.isArray()))return h.create(f.VALUE);const{maxRowLength:r,maxColumnLength:s}=kt(t),a=It(t,e,r,s);if(a)return a;const o=jt(t,r,s,!0);return this._aggregateResults(e,o)}_aggregateResults(e,t){const r=t.map(a=>a.map(o=>e.pick(o).sum())),s={calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return me.create(s)}}class mu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(e,...t){if(e.isError())return e;if(e.isArray()||(e=me.create({calculateValueList:[[e]],rowCount:1,columnCount:1,unitId:"",sheetId:"",row:0,column:0})),t.length>0){const r=e.getRowCount(),s=e.getColumnCount(),a=[];for(let u=0;u<r;u++){const l=[];for(let c=0;c<s;c++){const m=e.get(u,c);if(m.isError())return m;const g=m.getValue();!g||!E.isRealNum(g)?l.push(0):l.push(+g)}a.push(l)}for(let u=0;u<t.length;u++){if(t[u].isError())return t[u];let l=1,c=1;if(t[u].isArray()&&(l=t[u].getRowCount(),c=t[u].getColumnCount()),l!==r||c!==s)return h.create(f.VALUE);for(let m=0;m<r;m++){const g=[];for(let p=0;p<s;p++){let R=t[u];if(t[u].isArray()&&(R=t[u].get(m,p)),R.isError())return R;const b=R.getValue();!b||!E.isRealNum(b)?g.push(0):g.push(+b*a[m][p])}a[m]=g}}const o=a.reduce((u,l)=>u.concat(l)).reduce((u,l)=>u+l,0);return D.create(o)}else return e.sum()}}class du extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.tan()}}class gu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.tanh()}}const Ks=[[$o,oe.ABS],[Yo,oe.ACOS],[Ho,oe.ACOSH],[Qo,oe.ACOT],[zo,oe.ACOTH],[No,oe.ASIN],[Wo,oe.ASINH],[Go,oe.ATAN],[Xo,oe.ATAN2],[Ko,oe.ATANH],[qo,oe.BASE],[Zo,oe.COS],[Jo,oe.COSH],[eu,oe.COT],[tu,oe.COTH],[ru,oe.CSC],[nu,oe.CSCH],[su,oe.MOD],[iu,oe.POWER],[au,oe.PRODUCT],[ou,oe.SIN],[uu,oe.SINH],[lu,oe.SUBTOTAL],[cu,oe.SUM],[fu,oe.SUMIF],[hu,oe.SUMIFS],[mu,oe.SUMPRODUCT],[du,oe.TAN],[gu,oe.TANH]];class pu extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2);d(this,"_compareType",M.EQUALS)}setCompareType(e){this._compareType=e}calculate(e,t){return e.isError()?e:t.isError()?t:e.compare(t,this._compareType)}}class mn extends Ke{constructor(e){super("");d(this,"_values",[]);this._values=e}static create(e){return new mn(e)}isCube(){return!0}sum(){const e=D.create(0);return this._values.forEach(t=>{e.plus(t.sum())}),e}max(){let e=D.create(Number.NEGATIVE_INFINITY);return this._values.forEach(t=>{const r=t.max();e.isLessThan(r)&&(e=r)}),e}min(){let e=D.create(Number.POSITIVE_INFINITY);return this._values.forEach(t=>{const r=t.max();e.isGreaterThan(r)&&(e=r)}),e}count(){const e=D.create(0);return this._values.forEach(t=>{e.plus(t.count())}),e}countA(){const e=D.create(0);return this._values.forEach(t=>{e.plus(t.countA())}),e}countBlank(){const e=D.create(0);return this._values.forEach(t=>{e.plus(t.countBlank())}),e}}class Ru extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=[];for(let r=0;r<e.length;r++){const s=e[r];if(s.isError())return s;if(!s.isArray())return h.create(f.VALUE);t.push(s)}return mn.create(t)}}class _u extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:!t.isArray()&&t.getValue()===0?h.create(f.DIV_BY_ZERO):e.divided(t)}}var Ae=(n=>(n.COMPARE="COMPARE",n.DIVIDED="DIVIDED",n.MINUS="MINUS",n.MULTIPLY="MULTIPLY",n.PLUS="PLUS",n.UNION="UNION",n.CUBE="CUBE",n))(Ae||{});class Eu extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.minus(t)}}class Cu extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.multiply(t)}}class yu extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.plus(t)}}const qs=[[pu,Ae.COMPARE],[_u,Ae.DIVIDED],[Eu,Ae.MINUS],[Cu,Ae.MULTIPLY],[yu,Ae.PLUS],[Ru,Ae.CUBE]];class Du extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=D.create(0),r=D.create(0);for(let s=0;s<e.length;s++){let a=e[s];if((a.isString()||a.isBoolean())&&(a=a.convertToNumberObjectValue()),a.isError())return a;if(a.isArray()){if(t=t.plus(a.sum()),t.isError())return t;r=r.plus(a.count())}else a.isNull()||(t=t.plus(a),r=r.plus(D.create(1)))}return t.divided(r)}}class bu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=D.create(0);for(let r=0;r<e.length;r++){const s=e[r];s.isError()||(s.isArray()?t=t.plus(s.count()):s.isString()?s.convertToNumberObjectValue().isError()||(t=t.plus(D.create(1))):s.isNull()||(t=t.plus(D.create(1))))}return t}}class Su extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=D.create(0);for(let r=0;r<e.length;r++){let s=e[r];if(s.isError()){t=t.plus(D.create(1));continue}s.isArray()?(s=s.countA(),t=t.plus(s)):s.isNull()||(t=t.plus(D.create(1)))}return t}}var fe=(n=>(n.AVEDEV="AVEDEV",n.AVERAGE="AVERAGE",n.AVERAGEA="AVERAGEA",n.AVERAGEIF="AVERAGEIF",n.AVERAGEIFS="AVERAGEIFS",n.BETA_DIST="BETA.DIST",n.BETA_INV="BETA.INV",n.BINOM_DIST="BINOM.DIST",n.BINOM_DIST_RANGE="BINOM.DIST.RANGE",n.BINOM_INV="BINOM.INV",n.CHISQ_DIST="CHISQ.DIST",n.CHISQ_DIST_RT="CHISQ.DIST.RT",n.CHISQ_INV="CHISQ.INV",n.CHISQ_INV_RT="CHISQ.INV.RT",n.CHISQ_TEST="CHISQ.TEST",n.CONFIDENCE_NORM="CONFIDENCE.NORM",n.CONFIDENCE_T="CONFIDENCE.T",n.CORREL="CORREL",n.COUNT="COUNT",n.COUNTA="COUNTA",n.COUNTBLANK="COUNTBLANK",n.COUNTIF="COUNTIF",n.COUNTIFS="COUNTIFS",n.COVARIANCE_P="COVARIANCE.P",n.COVARIANCE_S="COVARIANCE.S",n.DEVSQ="DEVSQ",n.EXPON_DIST="EXPON.DIST",n.F_DIST="F.DIST",n.F_DIST_RT="F.DIST.RT",n.F_INV="F.INV",n.F_INV_RT="F.INV.RT",n.F_TEST="F.TEST",n.FISHER="FISHER",n.FISHERINV="FISHERINV",n.FORECAST="FORECAST",n.FORECAST_ETS="FORECAST.ETS",n.FORECAST_ETS_CONFINT="FORECAST.ETS.CONFINT",n.FORECAST_ETS_SEASONALITY="FORECAST.ETS.SEASONALITY",n.FORECAST_ETS_STAT="FORECAST.ETS.STAT",n.FORECAST_LINEAR="FORECAST.LINEAR",n.FREQUENCY="FREQUENCY",n.GAMMA="GAMMA",n.GAMMA_DIST="GAMMA.DIST",n.GAMMA_INV="GAMMA.INV",n.GAMMALN="GAMMALN",n.GAMMALN_PRECISE="GAMMALN.PRECISE",n.GAUSS="GAUSS",n.GEOMEAN="GEOMEAN",n.GROWTH="GROWTH",n.HARMEAN="HARMEAN",n.HYPGEOM_DIST="HYPGEOM.DIST",n.INTERCEPT="INTERCEPT",n.KURT="KURT",n.LARGE="LARGE",n.LINEST="LINEST",n.LOGEST="LOGEST",n.LOGNORM_DIST="LOGNORM.DIST",n.LOGNORM_INV="LOGNORM.INV",n.MAX="MAX",n.MAXA="MAXA",n.MAXIFS="MAXIFS",n.MEDIAN="MEDIAN",n.MIN="MIN",n.MINA="MINA",n.MINIFS="MINIFS",n.MODE_MULT="MODE.MULT",n.MODE_SNGL="MODE.SNGL",n.NEGBINOM_DIST="NEGBINOM.DIST",n.NORM_DIST="NORM.DIST",n.NORM_INV="NORM.INV",n.NORM_S_DIST="NORM.S.DIST",n.NORM_S_INV="NORM.S.INV",n.PEARSON="PEARSON",n.PERCENTILE_EXC="PERCENTILE.EXC",n.PERCENTILE_INC="PERCENTILE.INC",n.PERCENTRANK_EXC="PERCENTRANK.EXC",n.PERCENTRANK_INC="PERCENTRANK.INC",n.PERMUT="PERMUT",n.PERMUTATIONA="PERMUTATIONA",n.PHI="PHI",n.POISSON_DIST="POISSON.DIST",n.PROB="PROB",n.QUARTILE_EXC="QUARTILE.EXC",n.QUARTILE_INC="QUARTILE.INC",n.RANK_AVG="RANK.AVG",n.RANK_EQ="RANK.EQ",n.RSQ="RSQ",n.SKEW="SKEW",n.SKEW_P="SKEW.P",n.SLOPE="SLOPE",n.SMALL="SMALL",n.STANDARDIZE="STANDARDIZE",n.STDEV_P="STDEV.P",n.STDEV_S="STDEV.S",n.STDEVA="STDEVA",n.STDEVPA="STDEVPA",n.STEYX="STEYX",n.T_DIST="T.DIST",n.T_DIST_2T="T.DIST.2T",n.T_DIST_RT="T.DIST.RT",n.T_INV="T.INV",n.T_INV_2T="T.INV.2T",n.T_TEST="T.TEST",n.TREND="TREND",n.TRIMMEAN="TRIMMEAN",n.VAR_P="VAR.P",n.VAR_S="VAR.S",n.VARA="VARA",n.VARPA="VARPA",n.WEIBULL_DIST="WEIBULL.DIST",n.Z_TEST="Z.TEST",n))(fe||{});class Au extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=D.create(Number.NEGATIVE_INFINITY);for(let r=0;r<e.length;r++){let s=e[r];if(!s.isNull()){if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isArray()&&(s=s.max()),s.isError())return s;t=this._validator(t,s)}}return t.getValue()===Number.NEGATIVE_INFINITY?D.create(0):t}_validator(e,t){return e.isLessThan(t).getValue()&&(e=t),e}}class Pu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=D.create(Number.POSITIVE_INFINITY);for(let r=0;r<e.length;r++){let s=e[r];if(!s.isNull()){if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isArray()&&(s=s.min()),s.isError())return s;t=this._validator(t,s)}}return t.getValue()===Number.POSITIVE_INFINITY?D.create(0):t}_validator(e,t){return e.isGreaterThan(t).getValue()&&(e=t),e}}class Lu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.std(1)}}class Vu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.std()}}class xu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.var(1)}}class wu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.var()}}class Uu extends V{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",255)}calculate(e,...t){if(e.isError())return h.create(f.NA);if(!e.isArray()||t.length%2!==0||t.some((u,l)=>l%2===0&&!u.isArray()))return h.create(f.VALUE);const{maxRowLength:r,maxColumnLength:s}=kt(t),a=It(t,e,r,s);if(a)return a;const o=jt(t,r,s,!0);return this._aggregateResults(e,o)}_aggregateResults(e,t){const r=t.map(a=>a.map(o=>{const u=e.pick(o);return u.getColumnCount()===0?me.create("0"):u.max()})),s={calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return me.create(s)}}class Ou extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=D.create(0),r=D.create(0);for(let s=0;s<e.length;s++){let a=e[s];if((a.isString()||a.isBoolean())&&(a=a.convertToNumberObjectValue()),a.isError())return a;if(a.isArray()){if(a.iterator(o=>{if(o==null||o.isNull())return!0;if(o.isString()&&(o=o.convertToNumberObjectValue(),o.isError()&&(o=D.create(0))),o.isBoolean()&&(o=o.convertToNumberObjectValue()),o.isError())return t=o,!1;t=t.plus(o),r=r.plus(D.create(1))}),t.isError())return t}else a.isNull()||(t=t.plus(a),r=r.plus(D.create(1)))}return t.divided(r)}}class Mu extends V{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",255)}calculate(e,...t){if(e.isError())return h.create(f.NA);if(!e.isArray()||t.length%2!==0||t.some((u,l)=>l%2===0&&!u.isArray()))return h.create(f.VALUE);const{maxRowLength:r,maxColumnLength:s}=kt(t),a=It(t,e,r,s);if(a)return a;const o=jt(t,r,s,!0);return this._aggregateResults(e,o)}_aggregateResults(e,t){const r=t.map(a=>a.map(o=>{const u=e.pick(o);return u.getColumnCount()===0?me.create("0"):u.min()})),s={calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return me.create(s)}}class Fu extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",3);d(this,"needsReferenceObject",!0)}calculate(e,t,r){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:(e.isReferenceObject()&&(e=e.toArrayValueObject()),e.isArray()||(e=dt([[e]],1,1)),t.isReferenceObject()&&(t=t.toArrayValueObject()),r&&!(r!=null&&r.isReferenceObject())?h.create(f.NA):(t=t,t.isArray()?t.map(s=>this._handleSingleObject(e,s,r)):this._handleSingleObject(e,t,r)))}_handleSingleObject(e,t,r){let s=fr(e,t);const[,a]=Tt(`${t.getValue()}`);s=hr(s,e,a);let o=r?this._createRangeReferenceObject(r,e):e;if(!o)return h.create(f.VALUE);if(o.isError())return o;o.isReferenceObject()&&(o=o.toArrayValueObject()),o=o;const u=o.pick(s),l=u.sum(),c=u.count();return l.divided(c)}_createRangeReferenceObject(e,t){const r=e.getRowCount(),s=e.getColumnCount(),a=t.isArray()?t.getRowCount():1,o=t.isArray()?t.getColumnCount():1;if(r===a&&s===o)return e;const{startRow:u,startColumn:l}=e.getRangeData(),c={startRow:u,startColumn:l,endRow:u+a-1,endColumn:l+o-1};return this.createReferenceObject(e,c)}}class vu extends V{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",255)}calculate(e,...t){if(e.isError())return h.create(f.NA);if(!e.isArray()||t.length%2!==0||t.some((u,l)=>l%2===0&&!u.isArray()))return h.create(f.VALUE);const{maxRowLength:r,maxColumnLength:s}=kt(t),a=It(t,e,r,s);if(a)return a;const o=jt(t,r,s,!0);return this._aggregateResults(e,o)}_aggregateResults(e,t){const r=t.map(a=>a.map(o=>{const u=e.pick(o),l=u.sum(),c=u.count();return l.divided(c)})),s={calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return me.create(s)}}class Bu extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){return e.isError()||t.isError()?h.create(f.NA):e.isArray()?t.isArray()?t.mapValue(r=>this._handleSingleObject(e,r)):this._handleSingleObject(e,t):h.create(f.VALUE)}_handleSingleObject(e,t){let r=fr(e,t);const[,s]=Tt(`${t.getValue()}`);r=hr(r,e,s);const a=e.pick(r);return this._countA(a)}_countA(e){let t=D.create(0);return e.iterator(r=>{if(r==null)return!0;t=t.plusBy(1)}),t}}class Tu extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",255)}calculate(...e){if(e.length%2!==0||e.some((o,u)=>u%2===0&&!o.isArray()))return h.create(f.VALUE);const{maxRowLength:t,maxColumnLength:r}=kt(e),s=It(e,e[0],t,r);if(s)return s;const a=jt(e,t,r,!0);return this._aggregateResults(a)}_aggregateResults(e){const t=e.map(s=>s.map(a=>ku(a))),r={calculateValueList:t,rowCount:t.length,columnCount:t[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return me.create(r)}}function ku(n){let i=0;return n.iterator(e=>{e!=null&&e.isBoolean()&&e.getValue()===!0&&i++}),D.create(i)}class Iu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isError()?e:e.getValue()===""||e.isNull()?D.create(1):e.isArray()?e.countBlank():D.create(0)}}class ju extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=D.create(Number.POSITIVE_INFINITY);for(let r=0;r<e.length;r++){let s=e[r];if(!s.isNull()){if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()&&s.iterator(a=>{if((a==null||a.isNull()||a.isString())&&(a=D.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,s)}}return t.getValue()===Number.POSITIVE_INFINITY?D.create(0):t}_validator(e,t){return e.isGreaterThan(t).getValue()&&(e=t),e}}class $u extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=D.create(Number.NEGATIVE_INFINITY);for(let r=0;r<e.length;r++){let s=e[r];if(!s.isNull()){if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()&&s.iterator(a=>{if((a==null||a.isNull()||a.isString())&&(a=D.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,s)}}return t.getValue()===Number.NEGATIVE_INFINITY?D.create(0):t}_validator(e,t){return e.isLessThan(t).getValue()&&(e=t),e}}class Yu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=D.create(0),r=D.create(0);for(let o=0;o<e.length;o++){let u=e[o];if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError())return u;if(u.isArray()){if(u=Hu(u),u.isError())return u;if(e[o]=u,t=t.plus(u.sum()),t.isError())return t;r=r.plus(u.count())}else u.isNull()||(t=t.plus(u),r=r.plus(D.create(1)))}if(r.getValue()===0)return h.create(f.NUM);const s=t.divided(r);if(s.isError())return s;let a=D.create(0);for(let o=0;o<e.length;o++){let u=e[o];if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError())return u;if(u.isArray()){if(a=a.plus(u.minus(s).abs().sum()),a.isError())return a}else u.isNull()||(a=a.plus(u.minus(s).abs()))}return a.divided(r)}}function Hu(n){const i=[];i[0]=[];let e=null;return n.iterator((t,r,s)=>{if(t!=null&&t.isError())return e=t,!1;t!=null&&t.isNumber()&&i[0].push(t)}),e||dt(i,1,i[0].length)}const Zs=[[Yu,fe.AVEDEV],[Du,fe.AVERAGE],[Ou,fe.AVERAGEA],[Fu,fe.AVERAGEIF],[vu,fe.AVERAGEIFS],[bu,fe.COUNT],[Su,fe.COUNTA],[Iu,fe.COUNTBLANK],[Bu,fe.COUNTIF],[Tu,fe.COUNTIFS],[Au,fe.MAX],[$u,fe.MAXA],[Uu,fe.MAXIFS],[Pu,fe.MIN],[ju,fe.MINA],[Mu,fe.MINIFS],[Cs,fe.STDEV_P],[ys,fe.STDEV_S],[Lu,fe.STDEVA],[Vu,fe.STDEVPA],[Ds,fe.VAR_P],[bs,fe.VAR_S],[xu,fe.VARA],[wu,fe.VARPA]];class Qu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=0,r=0;e.forEach(a=>{if(a.isArray()){const o=a;t=Math.max(t,o.getRowCount()),r=Math.max(r,o.getColumnCount())}else t=Math.max(t,1),r=Math.max(r,1)});let s=null;for(const a of e)s=Z(t,r,a,h.create(f.NA)).mapValue((u,l,c)=>{const m=s&&s.get(l,c);if(m!=null&&m.isError())return m;if(u.isError())return u;let g=m==null?void 0:m.getValue(),p=u==null?void 0:u.getValue();m!=null&&m.isBoolean()&&(g=`${g}`.toLocaleUpperCase()),u!=null&&u.isBoolean()&&(p=`${p}`.toLocaleUpperCase());const R=m!=null&&m.isNull()?"":g!=null?g:"",b=u!=null&&u.isNull()?"":p!=null?p:"";return ce.create(`${R}${b}`)});return s||h.create(f.VALUE)}}var qe=(n=>(n.ASC="ASC",n.ARRAYTOTEXT="ARRAYTOTEXT",n.BAHTTEXT="BAHTTEXT",n.CHAR="CHAR",n.CLEAN="CLEAN",n.CODE="CODE",n.CONCAT="CONCAT",n.CONCATENATE="CONCATENATE",n.DBCS="DBCS",n.DOLLAR="DOLLAR",n.EXACT="EXACT",n.FIND="FIND",n.FINDB="FINDB",n.FIXED="FIXED",n.LEFT="LEFT",n.LEFTB="LEFTB",n.LEN="LEN",n.LENB="LENB",n.LOWER="LOWER",n.MID="MID",n.MIDB="MIDB",n.NUMBERVALUE="NUMBERVALUE",n.PHONETIC="PHONETIC",n.PROPER="PROPER",n.REPLACE="REPLACE",n.REPLACEB="REPLACEB",n.REPT="REPT",n.RIGHT="RIGHT",n.RIGHTB="RIGHTB",n.SEARCH="SEARCH",n.SEARCHB="SEARCHB",n.SUBSTITUTE="SUBSTITUTE",n.T="T",n.TEXT="TEXT",n.TEXTAFTER="TEXTAFTER",n.TEXTBEFORE="TEXTBEFORE",n.TEXTJOIN="TEXTJOIN",n.TEXTSPLIT="TEXTSPLIT",n.TRIM="TRIM",n.UNICHAR="UNICHAR",n.UNICODE="UNICODE",n.UPPER="UPPER",n.VALUE="VALUE",n.VALUETOTEXT="VALUETOTEXT",n.CALL="CALL",n.EUROCONVERT="EUROCONVERT",n.REGISTER_ID="REGISTER.ID",n))(qe||{});class zu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.mapValue(t=>this._handleSingleText(t)):this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;if(e.isNull())return D.create(0);if(e.isNumber()){const t=e.getValue(),r=as(t).toString();return D.create(r.length)}if(e.isString()||e.isBoolean()||e.isNumber()){const t=e.getValue().toString();return D.create(t.length)}return h.create(f.VALUE)}}function Nu(n){let i=0;for(let e=0;e<n.length;e++){const t=n.charCodeAt(e);t>=12352&&t<=12543||t>=19968&&t<=40959||t>=44032&&t<=55215?i+=2:i+=1}return i}class Wu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.mapValue(t=>this._handleSingleText(t)):this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;if(e.isNull())return D.create(0);if(e.isString()||e.isBoolean()||e.isNumber()){const t=e.getValue().toString(),r=Nu(t);return D.create(r)}return h.create(f.VALUE)}}const Gu=(n,i)=>St.format(n,i);class Xu extends V{constructor(){super(...arguments);d(this,"minParams",2);d(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),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),a=Z(r,s,e),o=Z(r,s,t);return a.map((u,l,c)=>{if(u.isError()||u.isString()||u.isBoolean())return u;let m=o.get(l,c)||ce.create(" ");if(m.isError())return m;if(m.isBoolean())return h.create(f.VALUE);m.isNull()&&(m=ce.create(" "));const g=`${m.getValue()}`;u.isNull()&&(u=D.create(0));const p=u.getValue(),R=Gu(g,p);return ce.create(R)})}}class Ku extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.mapValue(t=>this._handleSingleText(t)):this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;if(e.isNull())return ce.create("");if(e.isString()||e.isBoolean()||e.isNumber()){const t=e.getValue().toString().toLowerCase();return ce.create(t)}return h.create(f.VALUE)}}class qu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t="",r=null;for(const s of e)if(s.isArray()){if(s.iterator(a=>{if(a==null||a.isNull())return!0;if(a.isError())return r=a,!1;a.isBoolean()?t+=`${a.getValue()}`.toLocaleUpperCase():(a.isString()||a.isNumber())&&(t+=a.getValue())}),r)return r}else!s.isError()&&!s.isNull()&&(t+=s.getValue());return ce.create(t)}}const Js=[[qu,qe.CONCAT],[Qu,qe.CONCATENATE],[zu,qe.LEN],[Wu,qe.LENB],[Xu,qe.TEXT],[Ku,qe.LOWER]],ei=[];var ti=(n=>n)(ti||{});const ri=[];var ni=(n=>(n.ENCODEURL="ENCODEURL",n.FILTERXML="FILTERXML",n.WEBSERVICE="WEBSERVICE",n))(ni||{});function Zu(n,i,e,t,r,s,a){var m;const o=(a==null?void 0:a.f)||"",u=(a==null?void 0:a.si)||"",l=E.isFormulaString(o),c=E.isFormulaId(u);if(l&&c)n.setValue(r,s,{f:o,si:u}),e.set(u,{f:o,r,c:s}),i.setValue(r,s,{f:o,si:u});else if(l&&!c)n.setValue(r,s,{f:o}),i.setValue(r,s,{f:o});else if(!l&&c)n.setValue(r,s,{f:"",si:u});else if(!l&&!c&&n.getValue(r,s)){const g=n.getValue(r,s),p=(g==null?void 0:g.f)||"",R=(g==null?void 0:g.si)||"";if(E.isFormulaString(p)&&E.isFormulaId(R)){const b=(m=e.get(R))==null?void 0:m.f;b?t.set(R,b):t.set(R,p)}n.realDeleteValue(r,s),i.setValue(r,s,null)}}function Ju(n,i,e,t){const r=n==null?void 0:n.getValue(e,t);if(r==null)return!0;const{startRow:s,startColumn:a,endRow:o,endColumn:u}=r;for(let l=s;l<=o;l++)for(let c=a;c<=u;c++)i.realDeleteValue(l,c)}var el=Object.defineProperty,tl=Object.getOwnPropertyDescriptor,rl=(n,i,e,t)=>{for(var r=t>1?void 0:t?tl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&el(i,e,r),r},si=(n,i)=>(e,t)=>i(e,t,n);A.FormulaDataModel=class extends E.Disposable{constructor(e,t){super();d(this,"_formulaData",{});d(this,"_arrayFormulaRange",{});d(this,"_arrayFormulaCellData",{});this._univerInstanceService=e,this._lexerTreeBuilder=t,this.initFormulaData()}clearPreviousArrayFormulaCellData(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;Object.keys(r).forEach(s=>{var l,c,m,g;const a=r[s],o=(c=(l=this._arrayFormulaRange)==null?void 0:l[t])==null?void 0:c[s];if(o==null)return!0;let u=new E.ObjectMatrix;((m=this._arrayFormulaCellData[t])==null?void 0:m[s])!=null&&(u=new E.ObjectMatrix((g=this._arrayFormulaCellData[t])==null?void 0:g[s])),a.forValue((p,R)=>{var K;const b=(K=o==null?void 0:o[p])==null?void 0:K[R];if(b==null)return!0;const{startRow:L,startColumn:U,endRow:B,endColumn:T}=b;for(let ue=L;ue<=B;ue++)for(let ge=U;ge<=T;ge++)u.setValue(ue,ge,null)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][s]=u.getData())})})}mergeArrayFormulaCellData(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;this._arrayFormulaRange[t]==null&&(this._arrayFormulaRange[t]={}),this._arrayFormulaCellData[t]==null&&(this._arrayFormulaCellData[t]={}),Object.keys(r).forEach(s=>{var l,c;const a=r[s],o=new E.ObjectMatrix((l=this._arrayFormulaRange[t])==null?void 0:l[s]),u=new E.ObjectMatrix((c=this._arrayFormulaCellData[t])==null?void 0:c[s]);a.forValue((m,g)=>{const p=o==null?void 0:o.getValue(m,g);if(p==null)return!0;const{startRow:R,startColumn:b,endRow:L,endColumn:U}=p;for(let B=R;B<=L;B++)for(let T=b;T<=U;T++)u.setValue(B,T,null)}),a.forValue((m,g,p)=>{u.setValue(m,g,p)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][s]=u.getData())})})}getFormulaData(){return this._formulaData}setFormulaData(e){this._formulaData=e}getArrayFormulaRange(){return this._arrayFormulaRange}setArrayFormulaRange(e){this._arrayFormulaRange=e}getArrayFormulaCellData(){return this._arrayFormulaCellData}setArrayFormulaCellData(e){this._arrayFormulaCellData=e}mergeArrayFormulaRange(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;this._arrayFormulaRange[t]||(this._arrayFormulaRange[t]={}),Object.keys(r).forEach(s=>{var u;const a=new E.ObjectMatrix(r[s]),o=new E.ObjectMatrix((u=this._arrayFormulaRange[t])==null?void 0:u[s]);a.forValue((l,c,m)=>{o.setValue(l,c,m)}),this._arrayFormulaRange[t]&&(this._arrayFormulaRange[t][s]=o.getData())})})}mergeFormulaData(e){Object.keys(e).forEach(t=>{const r=e[t];if(r!==void 0){if(r===null){delete this._formulaData[t];return}this._formulaData[t]||(this._formulaData[t]={}),Object.keys(r).forEach(s=>{var l,c;const a=r[s];if(a===void 0)return;if(a===null){(l=this._formulaData[t])==null||delete l[s];return}const o=new E.ObjectMatrix(a),u=new E.ObjectMatrix(((c=this._formulaData[t])==null?void 0:c[s])||{});o.forValue((m,g,p)=>{p==null?u.realDeleteValue(m,g):u.setValue(m,g,p)}),this._formulaData[t][s]=u.clone()})}})}deleteArrayFormulaRange(e,t,r,s){var u;const a=(u=this._arrayFormulaRange[e])==null?void 0:u[t];if(a==null)return;const o=new E.ObjectMatrix(a);o.getValue(r,s)&&(o.realDeleteValue(r,s),this._arrayFormulaRange[e]&&(this._arrayFormulaRange[e][t]=o.getData()))}initFormulaData(){if(this._univerInstanceService.getAllUnitsForType(E.UniverInstanceType.UNIVER_SHEET).length===0)return;const t=this._univerInstanceService.getCurrentUnitForType(E.UniverInstanceType.UNIVER_SHEET),r=t.getUnitId();this._formulaData[r]={},t.getSheets().forEach(a=>{const o=a.getCellMatrix(),u=a.getSheetId();ii(this._formulaData,r,u,o)})}getCalculateData(){const e=this._univerInstanceService.getAllUnitsForType(E.UniverInstanceType.UNIVER_SHEET),t={},r={};for(const s of e){const a=s.getUnitId(),o=s.getSheets(),u={},l={};for(const c of o){const m=c.getSheetId(),g=c.getConfig();u[m]={cellData:new E.ObjectMatrix(g.cellData),rowCount:g.rowCount,columnCount:g.columnCount,rowData:g.rowData,columnData:g.columnData},l[c.getName()]=c.getSheetId()}t[a]=u,r[a]=l}return{allUnitData:t,unitSheetNameMap:r}}updateFormulaData(e,t,r){const s=new E.ObjectMatrix(r),a=this.getFormulaIdMap(e,t),o=new Map,u=this._formulaData;u[e]==null&&(u[e]={});const l=u[e];l[t]==null&&(l[t]={});const c=new E.ObjectMatrix(l[t]||{}),m=new E.ObjectMatrix;return s.forValue((g,p,R)=>{Zu(c,m,a,o,g,p,R)}),c.forValue((g,p,R)=>{const b=(R==null?void 0:R.f)||"",L=(R==null?void 0:R.si)||"";if(E.isFormulaId(L)){const U=a.get(L),B=o.get(L);if(U&&!E.isFormulaString(b)){const T=U.f,K=p-U.c,ue=g-U.r;c.setValue(g,p,{f:T,si:L,x:K,y:ue}),m.setValue(g,p,{f:T,si:L,x:K,y:ue})}else if(typeof B=="string"){const T=(R==null?void 0:R.x)||0,K=(R==null?void 0:R.y)||0,ue=this._lexerTreeBuilder.moveFormulaRefOffset(B,T,K);o.set(L,{r:g,c:p,f:ue}),c.setValue(g,p,{f:ue,si:L}),m.setValue(g,p,{f:ue,si:L})}else if(typeof B=="object"){const T=p-B.c,K=g-B.r;c.setValue(g,p,{f:B.f,si:L,x:T,y:K}),m.setValue(g,p,{f:B.f,si:L,x:T,y:K})}}}),m.clone()}updateArrayFormulaRange(e,t,r){var u;const s=(u=this._arrayFormulaRange[e])==null?void 0:u[t];if(!s)return;const a=new E.ObjectMatrix(s);new E.ObjectMatrix(r).forValue((l,c,m)=>{a.realDeleteValue(l,c)})}updateArrayFormulaCellData(e,t,r){var c,m;const s=(c=this._arrayFormulaRange[e])==null?void 0:c[t];if(!s)return;const a=new E.ObjectMatrix(s),o=(m=this._arrayFormulaCellData[e])==null?void 0:m[t];if(!o)return;const u=new E.ObjectMatrix(o);new E.ObjectMatrix(r).forValue((g,p,R)=>{Ju(a,u,g,p)})}getFormulaItemBySId(e,t,r){const s=this._formulaData;if(s[r]==null)return null;const a=s[r];if((a==null?void 0:a[t])==null)return null;const o=new E.ObjectMatrix(a[t]||{});let u=null;return o.forValue((l,c,m)=>{if(m==null)return!0;const{f:g,si:p,x:R=0,y:b=0}=m;if(p===e&&g.length>0&&R===0&&b===0)return u=m,!1}),u}getFormulaDataItem(e,t,r,s){var a,o,u,l;return(l=(u=(o=(a=this._formulaData)==null?void 0:a[s])==null?void 0:o[r])==null?void 0:u[e])==null?void 0:l[t]}getFormulaIdMap(e,t){const r=new Map,s=this._formulaData;if(s[e]==null)return r;const a=s[e];return(a==null?void 0:a[t])==null||new E.ObjectMatrix(a[t]||{}).forValue((u,l,c)=>{const m=(c==null?void 0:c.f)||"",g=(c==null?void 0:c.si)||"",p=(c==null?void 0:c.x)||0,R=(c==null?void 0:c.y)||0;E.isFormulaString(m)&&E.isFormulaId(g)&&p===0&&R===0&&r.set(g,{f:m,r:u,c:l})}),r}getFormulaStringByCell(e,t,r,s){const a=this.getFormulaDataItem(e,t,r,s);if(a==null)return null;const{f:o,si:u,x:l=0,y:c=0}=a;if(u!=null&&(l!==0||c!==0)){let m="";if(o.length>0)m=o;else{const g=this.getFormulaItemBySId(u,r,s);if(g==null||g.f.length===0)return null;m=g.f}return m=this._lexerTreeBuilder.moveFormulaRefOffset(m,l,c),m}return E.isFormulaString(o)?o:null}},A.FormulaDataModel=rl([si(0,E.IUniverInstanceService),si(1,E.Inject(ir))],A.FormulaDataModel);function ii(n,i,e,t){const r=new Map,s=new E.ObjectMatrix;t.forValue((o,u,l)=>{const c=(l==null?void 0:l.f)||"",m=(l==null?void 0:l.si)||"",g=E.isFormulaString(c),p=E.isFormulaId(m);g&&p?(s.setValue(o,u,{f:c,si:m}),r.set(m,{f:c,r:o,c:u})):g&&!p?s.setValue(o,u,{f:c}):!g&&p&&s.setValue(o,u,{f:"",si:m})}),s.forValue((o,u,l)=>{const c=(l==null?void 0:l.f)||"",m=(l==null?void 0:l.si)||"";if(E.isFormulaId(m)&&!E.isFormulaString(c)){const g=r.get(m);if(g){const p=g.f,R=u-g.c,b=o-g.r;s.setValue(o,u,{f:p,si:m,x:R,y:b})}else s.realDeleteValue(o,u)}}),n[i]||(n[i]={});const a=s.clone();return n[i][e]=a,{[i]:{[e]:a}}}const gr={id:"formula.mutation.set-array-formula-data",type:E.CommandType.MUTATION,handler:(n,i)=>!0},dn={id:"formula.mutation.set-formula-calculation-start",type:E.CommandType.MUTATION,handler:()=>!0},gn={id:"formula.mutation.set-formula-calculation-stop",type:E.CommandType.MUTATION,handler:()=>!0},pr={id:"formula.mutation.set-formula-calculation-notification",type:E.CommandType.MUTATION,handler:()=>!0},pn={id:"formula.mutation.set-formula-calculation-result",type:E.CommandType.MUTATION,handler:()=>!0},Rr={id:"formula.mutation.set-formula-data",type:E.CommandType.MUTATION,handler:(n,i)=>!0};class ai extends E.Disposable{constructor(){super();d(this,"_definedNameMap",{});d(this,"_update$",new Me.Subject);d(this,"update$",this._update$.asObservable());d(this,"_currentRange",{unitId:"",sheetId:"",range:{startRow:0,endRow:0,startColumn:0,endColumn:0}});d(this,"_currentRange$",new Me.Subject);d(this,"currentRange$",this._currentRange$.asObservable());d(this,"_focusRange$",new Me.Subject);d(this,"focusRange$",this._focusRange$.asObservable())}dispose(){this._definedNameMap={}}focusRange(e,t){const r=this.getValueById(e,t);r!=null&&this._focusRange$.next({...r,unitId:e})}setCurrentRange(e){this._currentRange=e,this._currentRange$.next(e)}getCurrentRange(){return this._currentRange}getCurrentRangeForString(){return Ge(this._currentRange.range)}registerDefinedNames(e,t){this._definedNameMap[e]=t,this._update()}registerDefinedName(e,t){this._definedNameMap[e]==null&&(this._definedNameMap[e]={}),this._definedNameMap[e][t.id]=t,this._update()}removeDefinedName(e,t){var r;(r=this._definedNameMap[e])==null||delete r[t],this._update()}removeUnitDefinedName(e){delete this._definedNameMap[e],this._update()}getDefinedNameMap(e){return this._definedNameMap[e]}getValueByName(e,t){var s;const r=this._definedNameMap[e];return r==null?null:(s=Array.from(Object.values(r)).filter(a=>a.name===t))==null?void 0:s[0]}getValueById(e,t){var r;return(r=this._definedNameMap[e])==null?void 0:r[t]}hasDefinedName(e){return this._definedNameMap[e]==null?!1:(Array.from(Object.values(this._definedNameMap[e])).length||0)!==0}_update(){this._update$.next(null)}}const Ht=E.createIdentifier("univer.formula.defined-names.service");var nl=Object.defineProperty,sl=Object.getOwnPropertyDescriptor,il=(n,i,e,t)=>{for(var r=t>1?void 0:t?sl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&nl(i,e,r),r},al=(n,i)=>(e,t)=>i(e,t,n);A.FormulaCurrentConfigService=class extends E.Disposable{constructor(e){super();d(this,"_unitData",{});d(this,"_unitStylesData",{});d(this,"_arrayFormulaCellData",{});d(this,"_formulaData",{});d(this,"_sheetNameMap",{});d(this,"_forceCalculate",!1);d(this,"_dirtyRanges",[]);d(this,"_dirtyNameMap",{});d(this,"_dirtyDefinedNameMap",{});d(this,"_dirtyUnitFeatureMap",{});d(this,"_dirtyUnitOtherFormulaMap",{});d(this,"_excludedCell");d(this,"_sheetIdToNameMap",{});d(this,"_executeUnitId","");d(this,"_executeSubUnitId","");this._univerInstanceService=e}dispose(){this._unitData={},this._unitStylesData={},this._formulaData={},this._arrayFormulaCellData={},this._sheetNameMap={},this._dirtyRanges=[],this._dirtyNameMap={},this._dirtyDefinedNameMap={},this._dirtyUnitFeatureMap={},this._excludedCell={},this._sheetIdToNameMap={},this._dirtyUnitOtherFormulaMap={}}getExecuteUnitId(){return this._executeUnitId}getExecuteSubUnitId(){return this._executeSubUnitId}setExecuteUnitId(e){this._executeUnitId=e}setExecuteSubUnitId(e){this._executeSubUnitId=e}getExcludedRange(){return this._excludedCell}getUnitData(){return this._unitData}getUnitStylesData(){return this._unitStylesData}getFormulaData(){return this._formulaData}getArrayFormulaCellData(){return this._arrayFormulaCellData}getSheetNameMap(){return this._sheetNameMap}isForceCalculate(){return this._forceCalculate}getDirtyRanges(){return this._dirtyRanges}getDirtyNameMap(){return this._dirtyNameMap}getDirtyDefinedNameMap(){return this._dirtyDefinedNameMap}getDirtyUnitFeatureMap(){return this._dirtyUnitFeatureMap}getDirtyUnitOtherFormulaMap(){return this._dirtyUnitOtherFormulaMap}getSheetName(e,t){return this._sheetIdToNameMap[e]==null?"":this._sheetIdToNameMap[e][t]||""}load(e){if(e.allUnitData&&e.unitSheetNameMap&&e.unitStylesData)this._unitData=e.allUnitData,this._unitStylesData=e.unitStylesData,this._sheetNameMap=e.unitSheetNameMap;else{const{allUnitData:t,unitSheetNameMap:r,unitStylesData:s}=this._loadSheetData();this._unitData=t,this._unitStylesData=s,this._sheetNameMap=r}this._formulaData=e.formulaData,this._arrayFormulaCellData=Fn(e.arrayFormulaCellData),this._forceCalculate=e.forceCalculate,this._dirtyRanges=e.dirtyRanges,this._dirtyNameMap=e.dirtyNameMap,this._dirtyDefinedNameMap=e.dirtyDefinedNameMap,this._dirtyUnitFeatureMap=e.dirtyUnitFeatureMap,this._dirtyUnitOtherFormulaMap=e.dirtyUnitOtherFormulaMap,this._excludedCell=e.excludedCell,this._mergeNameMap(this._sheetNameMap,this._dirtyNameMap)}loadDirtyRangesAndExcludedCell(e,t){this._dirtyRanges=e,this._excludedCell=t,this._dirtyNameMap={}}registerUnitData(e){this._unitData=e}registerFormulaData(e){this._formulaData=e}registerSheetNameMap(e){this._sheetNameMap=e}_mergeNameMap(e,t){Object.keys(t).forEach(r=>{t[r]&&Object.keys(t[r]).forEach(s=>{e[r]==null&&(e[r]={}),e[r][t[r][s]]=s})}),this._sheetIdToNameMap={},Object.keys(e).forEach(r=>{Object.keys(e[r]).forEach(s=>{this._sheetIdToNameMap[r]==null&&(this._sheetIdToNameMap[r]={}),this._sheetIdToNameMap[r][e[r][s]]=s})})}_loadSheetData(){const e=this._univerInstanceService.getAllUnitsForType(E.UniverInstanceType.UNIVER_SHEET),t=this._univerInstanceService.getCurrentUnitForType(E.UniverInstanceType.UNIVER_SHEET),r=t==null?void 0:t.getActiveSheet();this._executeUnitId=t==null?void 0:t.getUnitId(),this._executeSubUnitId=r==null?void 0:r.getSheetId();const s={},a={},o={};for(const u of e){const l=u.getUnitId(),c=u.getSheets(),m={},g={};for(const p of c){const R=p.getSheetId(),b=p.getConfig();m[R]={cellData:new E.ObjectMatrix(b.cellData),rowCount:b.rowCount,columnCount:b.columnCount,rowData:b.rowData,columnData:b.columnData},g[p.getName()]=p.getSheetId()}s[l]=m,a[l]=u.getStyles(),o[l]=g}return{allUnitData:s,unitStylesData:a,unitSheetNameMap:o}}},A.FormulaCurrentConfigService=il([al(0,E.IUniverInstanceService)],A.FormulaCurrentConfigService);const Ze=E.createIdentifier("univer.formula.current-data.service");var ol=Object.defineProperty,ul=Object.getOwnPropertyDescriptor,ll=(n,i,e,t)=>{for(var r=t>1?void 0:t?ul(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&ol(i,e,r),r},Rn=(n,i)=>(e,t)=>i(e,t,n);let Lt=class extends E.Disposable{constructor(n,i,e){super(),this._definedNamesService=n,this._lexerTreeBuilder=i,this._formulaCurrentConfigService=e}treeBuilder(n,i=!0){return this._lexerTreeBuilder.treeBuilder(n,i,this._injectDefinedName.bind(this),this._simpleCheckDefinedName.bind(this))}_simpleCheckDefinedName(n){const i=this._formulaCurrentConfigService.getDirtyDefinedNameMap(),e=this._formulaCurrentConfigService.getExecuteUnitId();if(e!=null&&i[e]!=null){const t=Object.keys(i[e]);for(let r=0,s=t.length;r<s;r++){const a=t[r];if(n.indexOf(a)>-1)return!0}}return!1}_checkDefinedNameDirty(n){const i=this._formulaCurrentConfigService.getDirtyDefinedNameMap(),e=this._formulaCurrentConfigService.getExecuteUnitId();if(e!=null&&i[e]!=null){const t=Object.keys(i[e]);for(let r=0,s=t.length;r<s;r++)if(t[r]===n)return!0}return!1}_injectDefinedName(n){const i=this._formulaCurrentConfigService.getExecuteUnitId();if(i==null)return{sequenceString:"",hasDefinedName:!1,definedNames:[]};const e=this._lexerTreeBuilder.getSequenceNode(n);let t="",r=!1;const s=[];for(let a=0,o=e.length;a<o;a++){const u=e[a];if(typeof u=="string"){t+=u;continue}const{nodeType:l,token:c}=u;if(l===Le.REFERENCE||l===Le.FUNCTION){const m=this._definedNamesService.getValueByName(i,c);if(m){let g=m.formulaOrRefString;g.substring(0,1)===ne.EQUALS&&(g=g.substring(1)),t+=g,s.push(m.name),r=!0}else this._checkDefinedNameDirty(c)?(t+=f.NAME,r=!0,s.push(c)):t+=c}else t+=c}return{sequenceString:t,hasDefinedName:r,definedNames:s}}};Lt=ll([Rn(0,Ht),Rn(1,E.Inject(ir)),Rn(2,Ze)],Lt);var cl=Object.defineProperty,fl=Object.getOwnPropertyDescriptor,hl=(n,i,e,t)=>{for(var r=t>1?void 0:t?fl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&cl(i,e,r),r},ml=(n,i)=>(e,t)=>i(e,t,n),$e=(n=>(n[n.IDLE=0]="IDLE",n[n.START_DEPENDENCY=1]="START_DEPENDENCY",n[n.START_CALCULATION=2]="START_CALCULATION",n[n.CURRENTLY_CALCULATING=3]="CURRENTLY_CALCULATING",n[n.START_DEPENDENCY_ARRAY_FORMULA=4]="START_DEPENDENCY_ARRAY_FORMULA",n[n.START_CALCULATION_ARRAY_FORMULA=5]="START_CALCULATION_ARRAY_FORMULA",n[n.CURRENTLY_CALCULATING_ARRAY_FORMULA=6]="CURRENTLY_CALCULATING_ARRAY_FORMULA",n[n.CALCULATION_COMPLETED=7]="CALCULATION_COMPLETED",n))($e||{}),Vt=(n=>(n[n.INITIAL=0]="INITIAL",n[n.STOP_EXECUTION=1]="STOP_EXECUTION",n[n.NOT_EXECUTED=2]="NOT_EXECUTED",n[n.SUCCESS=3]="SUCCESS",n))(Vt||{});A.FormulaRuntimeService=class extends E.Disposable{constructor(e){super();d(this,"_formulaExecuteStage",0);d(this,"_stopState",!1);d(this,"_currentRow",-1);d(this,"_currentColumn",-1);d(this,"_currentRowCount",Number.NEGATIVE_INFINITY);d(this,"_currentColumnCount",Number.NEGATIVE_INFINITY);d(this,"_currentSubUnitId","");d(this,"_currentUnitId","");d(this,"_runtimeData",{});d(this,"_runtimeOtherData",{});d(this,"_unitArrayFormulaRange",{});d(this,"_runtimeArrayFormulaCellData",{});d(this,"_runtimeClearArrayFormulaCellData",{});d(this,"_runtimeFeatureRange",{});d(this,"_runtimeFeatureCellData",{});d(this,"_functionsExecutedState",0);d(this,"_functionDefinitionPrivacyVar",new Map);d(this,"_totalFormulasToCalculate",0);d(this,"_completedFormulasCount",0);d(this,"_totalArrayFormulasToCalculate",0);d(this,"_completedArrayFormulasCount",0);d(this,"_formulaCycleIndex",0);d(this,"_isCycleDependency",!1);this._currentConfigService=e}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(){this.reset(),this._runtimeFeatureCellData={},this._runtimeFeatureRange={}}enableCycleDependency(){this._isCycleDependency=!0}disableCycleDependency(){this._isCycleDependency=!1}isCycleDependency(){return this._isCycleDependency}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}setFormulaCycleIndex(e){this._formulaCycleIndex=e}getFormulaCycleIndex(){return this._formulaCycleIndex}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}setCurrent(e,t,r,s,a,o){this._currentRow=e,this._currentColumn=t,this._currentRowCount=r,this._currentColumnCount=s,this._currentSubUnitId=a,this._currentUnitId=o}clearFunctionDefinitionPrivacyVar(){this._functionDefinitionPrivacyVar.clear()}registerFunctionDefinitionPrivacyVar(e,t){this._functionDefinitionPrivacyVar.set(e,t)}getFunctionDefinitionPrivacyVar(e){return this._functionDefinitionPrivacyVar.get(e)}setRuntimeOtherData(e,t){const r=this._currentSubUnitId,s=this._currentUnitId;this._runtimeOtherData[s]===void 0&&(this._runtimeOtherData[s]={});const a=this._runtimeOtherData[s];a[r]===void 0&&(a[r]={});const o=a[r];let u=[];if(t.isReferenceObject()||t.isValueObject()&&t.isArray()){const l=t,{startRow:c,startColumn:m}=l.getRangePosition();l.iterator((g,p,R)=>{const b=gt(g),L=p-c,U=R-m;u[L]==null&&(u[L]=[]),u[L][U]=b})}else u=[[gt(t)]];o[e]=u}setRuntimeData(e){const t=this._currentRow,r=this._currentColumn,s=this._currentRowCount,a=this.currentColumnCount,o=this._currentSubUnitId,u=this._currentUnitId;this._runtimeData[u]==null&&(this._runtimeData[u]={});const l=this._runtimeData[u];l[o]==null&&(l[o]=new E.ObjectMatrix),this._unitArrayFormulaRange[u]==null&&(this._unitArrayFormulaRange[u]={});const c=this._unitArrayFormulaRange[u];let m=new E.ObjectMatrix;c[o]&&(m=new E.ObjectMatrix(c[o])),this._runtimeArrayFormulaCellData[u]===void 0&&(this._runtimeArrayFormulaCellData[u]={});const g=this._runtimeArrayFormulaCellData[u];g[o]==null&&(g[o]=new E.ObjectMatrix),this._runtimeClearArrayFormulaCellData[u]===void 0&&(this._runtimeClearArrayFormulaCellData[u]={});const p=this._runtimeClearArrayFormulaCellData[u];p[o]==null&&(p[o]=new E.ObjectMatrix);const R=l[o],b=g[o],L=p[o];if(e.isReferenceObject()||e.isValueObject()&&e.isArray()){const U=e,{startRow:B,startColumn:T,endRow:K,endColumn:ue}=U.getRangePosition();if(B===K&&T===ue){const Pe=U.getFirstCell(),Ce=gt(Pe);R.setValue(t,r,Ce),L.setValue(t,r,Ce);return}const ge={startRow:t,startColumn:r,endRow:K-B+t,endColumn:ue-T+r};if(m.setValue(t,r,ge),c[o]=m.getData(),this._checkIfArrayFormulaRangeHasData(u,o,t,r,ge)||this._checkIfArrayFormulaExceeded(s,a,ge)){const Pe=gt(h.create(f.SPILL));R.setValue(t,r,Pe),L.setValue(t,r,Pe)}else{const Pe=h.create(f.SPILL);U.iterator((Ce,Se,ye)=>{const he=gt(Ce);if(Se===B&&ye===T){if(Ce!=null&&Ce.isError()&&Ce.isEqualType(Pe))return L.setValue(t,r,{}),R.setValue(t,r,{...gt(Pe)}),!1;R.setValue(t,r,{...he})}const Te=Se-B+t,_t=ye-T+r;b.setValue(Te,_t,he)})}}else{const U=gt(e);R.setValue(t,r,U),L.setValue(t,r,U)}}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,s,a){var p,R,b,L,U,B,T,K,ue,ge,Pe,Ce;const{startRow:o,startColumn:u,endRow:l,endColumn:c}=a,m=this._currentConfigService.getUnitData(),g=(b=(R=(p=this._unitArrayFormulaRange[e])==null?void 0:p[t])==null?void 0:R[r])==null?void 0:b[s];for(let Se=o;Se<=l;Se++)for(let ye=u;ye<=c;ye++){if(Se===r&&s===ye)continue;const he=(B=(U=(L=this._runtimeData)==null?void 0:L[e])==null?void 0:U[t])==null?void 0:B.getValue(Se,ye),Te=(ue=(K=(T=this._runtimeArrayFormulaCellData)==null?void 0:T[e])==null?void 0:K[t])==null?void 0:ue.getValue(Se,ye),_t=(Ce=(Pe=(ge=m==null?void 0:m[e])==null?void 0:ge[t])==null?void 0:Pe.cellData)==null?void 0:Ce.getValue(Se,ye);if(!E.isNullCell(he)||!E.isNullCell(Te)&&!this._isInArrayFormulaRange(g,Se,ye)||!E.isNullCell(_t))return!0}return!1}_isInArrayFormulaRange(e,t,r){if(e==null)return!1;const{startRow:s,startColumn:a,endRow:o,endColumn:u}=e;return t>=s&&t<=o&&r>=a&&r<=u}_checkIfArrayFormulaExceeded(e,t,r){return r.endRow>=e||r.endColumn>=t}_isInDirtyRange(e,t,r,s){const a=this._currentConfigService.getDirtyRanges();return a.length===0?!0:wn(a,e,t,r,s)}},A.FormulaRuntimeService=hl([ml(0,Ze)],A.FormulaRuntimeService);const ve=E.createIdentifier("univer.formula.runtime.service");var J=(n=>(n.REFERENCE="ReferenceNode",n.VALUE="ValueNode",n.OPERATOR="OperatorNode",n.FUNCTION="FunctionNode",n.LAMBDA="LambdaNode",n.LAMBDA_PARAMETER="LambdaNodeParameter",n.ERROR="ErrorNode",n.BASE="Base",n.ROOT="Root",n.UNION="UnionNode",n.PREFIX="PrefixNode",n.SUFFIX="SuffixNode",n.NULL="NullNode",n))(J||{});const Ye=new Map([["ReferenceNode",7],["ValueNode",9],["OperatorNode",8],["FunctionNode",6],["LambdaNode",1],["LambdaNodeParameter",2],["Root",10],["UnionNode",3],["PrefixNode",4],["SuffixNode",5]]);class we extends E.Disposable{constructor(e){super();d(this,"_children",[]);d(this,"_definedNames",[]);d(this,"_parent");d(this,"_valueObject");d(this,"_calculateState",!1);d(this,"_async",!1);d(this,"_address",!1);d(this,"_refOffsetX",0);d(this,"_refOffsetY",0);this._token=e}dispose(){var e;this._children.forEach(t=>{t.dispose()}),(e=this._valueObject)==null||e.dispose(),this._parent=null}get nodeType(){return J.BASE}isAsync(){return this._async}isAddress(){return this._address}setAsync(){this._async=!0}setAddress(){this._address=!0}getParent(){return this._parent}setParent(e){this._parent=e,e.addChildren(this)}getChildren(){return this._children}addChildren(...e){this._children.push(...e)}getToken(){return this._token}setValue(e){this._valueObject=e}getValue(){return this._valueObject}isCalculated(){return this._calculateState}setCalculated(){this._calculateState=!0}execute(){}setNotEmpty(e=!0){}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}async executeAsync(){return Promise.resolve(ht.SUCCESS)}serialize(){const e=this.getToken(),t=this.getChildren(),r=[],s=t.length;for(let o=0;o<s;o++){const u=t[o];r.push(u.serialize())}const a={token:e,nodeType:this.nodeType};return s>0&&(a.children=r),a}hasDefinedName(e){return this._definedNames.includes(e)}setDefinedNames(e){this._definedNames=e}}class Ee extends we{constructor(e){super(e);d(this,"_errorValueObject");this._errorValueObject=h.create(e)}get nodeType(){return J.ERROR}static create(e){return new Ee(e)}getValue(){return this._errorValueObject}}const He=100;class Qe extends E.Disposable{get zIndex(){return 0}create(i,e,t){let r;return i instanceof X?r=i.getToken():r=i,new we(r)}}class _n extends we{get nodeType(){return J.ROOT}execute(){const e=this.getChildren()[0];e==null?this.setValue(h.create(f.VALUE)):this.setValue(e.getValue())}}class oi extends Qe{get zIndex(){return Ye.get(J.ROOT)||He}checkAndCreateNodeType(i){if(!(i instanceof X))return;if(i.getToken()===tt)return new _n(tt)}}class ui extends E.Disposable{constructor(){super(...arguments);d(this,"_functionExecutors",new Map);d(this,"_functionDescriptions",new Map)}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 E.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)}}}const Je=E.createIdentifier("univer.formula.function.service");var dl=Object.defineProperty,gl=Object.getOwnPropertyDescriptor,pl=(n,i,e,t)=>{for(var r=t>1?void 0:t?gl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&dl(i,e,r),r},li=(n,i)=>(e,t)=>i(e,t,n);class _r extends we{constructor(i,e,t){super(e),this._accessor=i,this._operatorString=e,this._functionExecutor=t}get nodeType(){return J.PREFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null)throw new Error("object is null");e.isReferenceObject()&&(e=e.toArrayValueObject()),this._operatorString===Re.MINUS?t=this._functionExecutor.calculate(D.create(0),e):this._operatorString===Re.AT?t=this._handlerAT(e):t=h.create(f.VALUE),this.setValue(t)}_handlerAT(i){if(!i.isReferenceObject())return h.create(f.VALUE);const e=i;if(e.isCell())return h.create(f.VALUE);const t=this._accessor.get(ve),r=t.currentRow||0,s=t.currentColumn||0;return e.isRow()?e.getCellByColumn(s):e.isColumn()?e.getCellByRow(r):e.isRange()||e.isTable()?e.getCellByPosition():h.create(f.VALUE)}}let Er=class extends Qe{constructor(n,i){super(),this._functionService=n,this._injector=i}get zIndex(){return Ye.get(J.PREFIX)||He}checkAndCreateNodeType(n){if(!(n instanceof X))return;const i=n.getToken(),e=i.trim();if(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')return;let t="";if(e===Re.MINUS)t=Ae.MINUS;else return e===Re.AT?new _r(this._injector,e):void 0;const r=this._functionService.getExecutor(t);return r?new _r(this._injector,e,r):(console.error(`No function ${i}`),Ee.create(f.NAME))}};Er=pl([li(0,Je),li(1,E.Inject(E.Injector))],Er);function ci(n,i,e){let t,r;const s=n.slice(0,2);let a=0;if(new RegExp(Re.MINUS,"g").test(s)){const o=i.getExecutor(Ae.MINUS);t=new _r(e,Re.MINUS,o),a++}return new RegExp(Re.AT,"g").test(s)&&(r=new _r(e,Re.AT),t&&r.setParent(t),a++),a>0&&(n=n.slice(a)),{tokenTrim:n,minusPrefixNode:t,atPrefixNode:r}}var Rl=Object.defineProperty,_l=Object.getOwnPropertyDescriptor,El=(n,i,e,t)=>{for(var r=t>1?void 0:t?_l(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Rl(i,e,r),r},Qt=(n,i)=>(e,t)=>i(e,t,n);class Cl extends we{constructor(i,e,t,r,s){super(i),this._functionExecutor=e,this._currentConfigService=t,this._runtimeService=r,this._definedNamesService=s,this._functionExecutor.isAsync()&&this.setAsync(),this._functionExecutor.isAddress()&&this.setAddress()}get nodeType(){return J.FUNCTION}async executeAsync(){const i=[],e=this.getChildren(),t=e.length;this._compatibility();for(let a=0;a<t;a++){const o=e[a].getValue();o!=null&&(o.isReferenceObject()?i.push(o.toArrayValueObject()):i.push(o))}const r=this._calculate(i);let s;return r.isAsyncObject()||r.isAsyncArrayObject()?s=await r.getValue():s=r,this._setRefData(s),this.setValue(s),Promise.resolve(ht.SUCCESS)}execute(){const i=[],e=this.getChildren(),t=e.length;this._compatibility();for(let s=0;s<t;s++){const a=e[s].getValue();a!=null&&(a.isReferenceObject()&&!this._functionExecutor.needsReferenceObject?i.push(a.toArrayValueObject()):i.push(a))}const r=this._calculate(i);this._setRefData(r),this.setValue(r)}_compatibility(){this._lookupCompatibility()}_lookupCompatibility(){const i=this.getChildren(),e=i.length;if(!this._functionExecutor.needsExpandParams||e!==3)return;const t=i[1].getValue(),r=i[2].getValue();if(!(t!=null&&t.isReferenceObject())&&!(r!=null&&r.isReferenceObject()))return;const s=t.getRangeData(),a=r.getRangeData(),{startRow:o,startColumn:u,endRow:l,endColumn:c}=s,m=l-o+1,g=c-u+1,{startRow:p,startColumn:R,endRow:b,endColumn:L}=a,U=b-p+1,B=L-R+1;m!==U&&(a.endRow+=m-U),g!==B&&(a.endColumn+=g-B)}_calculate(i){var s;const{minParams:e,maxParams:t}=this._functionExecutor;if(e!==-1&&t!==-1&&(i.length<e||i.length>t))return h.create(f.NA);let r;if(this._setRefInfo(),this._functionExecutor.isCustom()){const a=this._functionExecutor.calculateCustom(...i.map(o=>o.isArray()?o.toValue():o.getValue()));if(typeof a!="object"||a==null)r=it.create(a);else{const o=fs(a);r=me.create({calculateValueList:o,rowCount:o.length,columnCount:((s=o[0])==null?void 0:s.length)||0,unitId:"",sheetId:"",row:-1,column:-1})}}else this._functionExecutor.isAddress()&&this._setDefinedNamesForFunction(),r=this._functionExecutor.calculate(...i);return r}_setDefinedNamesForFunction(){const i=this._currentConfigService.getExecuteUnitId();if(i==null)return;const e=this._definedNamesService.getDefinedNameMap(i);e!=null&&this._functionExecutor.setDefinedNames(e)}_setRefInfo(){const{currentUnitId:i,currentSubUnitId:e,currentRow:t,currentColumn:r}=this._runtimeService;this._functionExecutor.setRefInfo(i,e,t,r)}_setRefData(i){if(!i.isReferenceObject())return;const e=i;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())}}let Cr=class extends Qe{constructor(n,i,e,t,r){super(),this._functionService=n,this._currentConfigService=i,this._runtimeService=e,this._definedNamesService=t,this._injector=r}get zIndex(){return Ye.get(J.FUNCTION)||He}create(n){const i=this._functionService.getExecutor(n);return i?new Cl(n,i,this._currentConfigService,this._runtimeService,this._definedNamesService):(console.error(`No function ${n}`),Ee.create(f.NAME))}checkAndCreateNodeType(n){if(typeof n=="string")return;const i=n.getToken(),{tokenTrim:e,minusPrefixNode:t,atPrefixNode:r}=ci(i.trim(),this._functionService,this._injector);if(!Number.isNaN(Number(e))&&!this._isParentUnionNode(n))return Ee.create(f.VALUE);const s=e.toUpperCase();if(this._functionService.hasExecutor(s)){const a=this.create(s);return r?a.setParent(r):t&&a.setParent(t),a}}_isParentUnionNode(n){var i,e;return((e=(i=n.getParent())==null?void 0:i.getParent())==null?void 0:e.getToken())===N.COLON}};Cr=El([Qt(0,Je),Qt(1,Ze),Qt(2,ve),Qt(3,Ht),Qt(4,E.Inject(E.Injector))],Cr);var yl=Object.defineProperty,Dl=Object.getOwnPropertyDescriptor,bl=(n,i,e,t)=>{for(var r=t>1?void 0:t?Dl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&yl(i,e,r),r},Sl=(n,i)=>(e,t)=>i(e,t,n);let xt=class extends E.Disposable{constructor(n){super(),this._runtimeService=n}async executeAsync(n){if(!n)return h.create(f.VALUE);await this._executeAsync(n);const i=n.getValue();if(i==null)throw new Error("node value is null");return Promise.resolve(i)}execute(n){if(!n)return h.create(f.VALUE);this._execute(n);const i=n.getValue();if(i==null)throw new Error("node value is null");return i}executePreCalculateNode(n){return n.execute(),n.getValue()}checkAsyncNode(n){const i=[];this._checkAsyncNode(n,i);for(let e=0,t=i.length;e<t;e++)if(i[e]===!0)return!0;return!1}_checkAsyncNode(n,i){const e=n.getChildren(),t=e.length;for(let r=0;r<t;r++){const s=e[r];i.push(s.isAsync()),this._checkAsyncNode(s,i)}}async _executeAsync(n){if(this._runtimeService.isStopExecution())return Promise.resolve(ht.ERROR);const i=n.getChildren(),e=i.length;for(let t=0;t<e;t++){const r=i[t];if(r.getToken().toUpperCase()===Mt&&r.isEmptyParamFunction()){r.execute();continue}await this._executeAsync(r)}return n.nodeType===J.FUNCTION&&n.isAsync()?await n.executeAsync():n.execute(),Promise.resolve(ht.SUCCESS)}_execute(n){if(this._runtimeService.isStopExecution())return ht.ERROR;const i=n.getChildren(),e=i.length;for(let t=0;t<e;t++){const r=i[t];if(r.getToken().toUpperCase()===Mt&&r.isEmptyParamFunction()){r.execute();continue}this._execute(r)}return n.execute(),ht.SUCCESS}};xt=bl([Sl(0,ve)],xt);function fi(n){return n instanceof X?n.getToken()===yt:!1}function Al(n){return n instanceof X?n.getToken()===vn:!1}function hi(n){if(!n)return;if(n.getToken()!==Ot)return n;const i=n,e=i.getCurrentLambdaPrivacyVar(),t=i.getLambdaParameter();if(!e)return;const r=e.get(t);return r==null&&n.getValue()?n:hi(r)}class En extends Ke{constructor(e,t,r){super(0);d(this,"_lambdaPrivacyValueMap",new Map);this._lambdaNode=e,this._interpreter=t,this._lambdaPrivacyVarKeys=r,this._lambdaPrivacyValueMap.clear()}static create(e,t,r){return new En(e,t,r)}isLambda(){return!0}execute(...e){const t=this._lambdaPrivacyVarKeys.length;if(e.length!==t)return h.create(f.VALUE);this._setLambdaPrivacyValueMap(e),this._setLambdaNodeValue(this._lambdaNode),this._lambdaNode.setNotEmpty(!1);let r;if(this._interpreter.checkAsyncNode(this._lambdaNode))r=new hs(this._interpreter.executeAsync(this._lambdaNode));else{const s=this._interpreter.execute(this._lambdaNode);s.isReferenceObject()?r=s.toArrayValueObject():r=s}return this._lambdaNode.setNotEmpty(!0),r}_setLambdaNodeValue(e){const t=e.getChildren(),r=t.length;for(let s=0;s<r;s++){const a=t[s];if(a.getToken()===Ot){const u=a.getLambdaParameter(),l=this._lambdaPrivacyValueMap.get(u);if(l)a.setValue(l);else{const c=a.getCurrentLambdaPrivacyVar(),m=hi(c.get(u));m!=null&&a.setValue(m.getValue())}continue}this._setLambdaNodeValue(a)}}_setLambdaPrivacyValueMap(e){for(let t=0;t<e.length;t++){const r=e[t],s=this._lambdaPrivacyVarKeys[t];this._lambdaPrivacyValueMap.set(s,r)}}}var Pl=Object.defineProperty,Ll=Object.getOwnPropertyDescriptor,Vl=(n,i,e,t)=>{for(var r=t>1?void 0:t?Ll(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Pl(i,e,r),r},mi=(n,i)=>(e,t)=>i(e,t,n);class xl extends we{constructor(e,t,r,s){super(e);d(this,"_isNotEmpty",!0);this._lambdaId=t,this._interpreter=r,this._lambdaPrivacyVarKeys=s}get nodeType(){return J.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(En.create(this,this._interpreter,this._lambdaPrivacyVarKeys));else{const e=this.getChildren(),t=e.length;this.setValue(e[t-1].getValue())}}}let yr=class extends Qe{constructor(n,i){super(),this._runtimeService=n,this._interpreter=i}get zIndex(){return Ye.get(J.LAMBDA)||He}create(n){const i=n.getChildren(),e=i[0];let t=i.slice(1,-1);const r=i[i.length-1];if(!(e instanceof X&&r instanceof X))return Ee.create(f.NAME);if(e.getToken()===yt){const o=e.getChildren();if(t.length!==o.length)return Ee.create(f.VALUE)}else t=i.slice(0,-1);const s=E.Tools.generateRandomId(8),a=new Map;for(let o=0;o<t.length;o++){const u=t[o];if(u instanceof X){const l=u.getChildren()[0];u.setToken(vn),a.set(l.trim(),void 0)}else return Ee.create(f.VALUE)}return this._runtimeService.registerFunctionDefinitionPrivacyVar(s,a),this._updateLambdaStatement(r,s,a),new xl(n.getToken(),s,this._interpreter,[...a.keys()])}checkAndCreateNodeType(n){if(!(!(n instanceof X)||n.getToken().trim().toUpperCase()!==Mt))return this.create(n)}_updateLambdaStatement(n,i,e){this._updateTree(n,i,e)}_updateTree(n,i,e){const t=n.getChildren(),r=t.length,s=t[0];for(let a=0;a<r;a++){const o=t[a];if(!(fi(s)&&a!==0))if(o instanceof X)this._updateTree(o,i,e);else{const u=o.trim();if(e.has(u)){const l=new X;l.setToken(Ot),l.setLambdaId(i),l.setLambdaPrivacyVar(e),l.setLambdaParameter(u),t[a]=l}}}}};yr=Vl([mi(0,ve),mi(1,E.Inject(xt))],yr);function di(n){if(!n)return;if(n.getToken()!==Ot)return n;const i=n,e=i.getCurrentLambdaPrivacyVar(),t=i.getLambdaParameter();if(e)return di(e.get(t))}class wl extends we{constructor(i,e,t){super(i),this._lambdaParameter=e,this._currentLambdaPrivacyVar=t}getLambdaParameter(){return this._lambdaParameter}getCurrentLambdaPrivacyVar(){return this._currentLambdaPrivacyVar}get nodeType(){return J.LAMBDA_PARAMETER}execute(){const i=di(this._currentLambdaPrivacyVar.get(this._lambdaParameter));if(i)this.setValue(i.getValue());else{const e=this.getValue();(e==null||e.isError())&&this.setValue(h.create(f.SPILL))}}}class gi extends Qe{get zIndex(){return Ye.get(J.LAMBDA_PARAMETER)||He}create(i){const e=i.getFunctionDefinitionPrivacyVar(),t=i.getLambdaParameter();return e?new wl(i.getToken(),t,e):new Ee(f.SPILL)}checkAndCreateNodeType(i){if(!(!(i instanceof X)||i.getToken().trim()!==Ot))return this.create(i)}}class Ul extends we{constructor(i){super(i),this._operatorString=i}get nodeType(){return J.NULL}execute(){this.setValue(se.create())}}var Ol=Object.defineProperty,Ml=Object.getOwnPropertyDescriptor,Fl=(n,i,e,t)=>{for(var r=t>1?void 0:t?Ml(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Ol(i,e,r),r},vl=(n,i)=>(e,t)=>i(e,t,n);class Bl extends we{constructor(i,e){super(i),this._operatorString=i,this._functionExecutor=e}get nodeType(){return J.OPERATOR}execute(){var s,a;const i=this.getChildren();this._functionExecutor.name===Ae.COMPARE&&this._functionExecutor.setCompareType(this.getToken());let e=(s=i[0])==null?void 0:s.getValue(),t=(a=i[1])==null?void 0:a.getValue();const r=this.getToken();if((e==null||t==null)&&r!==ne.MINUS&&r!==ne.PLUS){this.setValue(h.create(f.VALUE));return}e==null&&(e=se.create()),t==null&&(t=se.create()),e.isReferenceObject()&&(e=e.toArrayValueObject()),t.isReferenceObject()&&(t=t.toArrayValueObject()),this.setValue(this._functionExecutor.calculate(e,t))}}let Dr=class extends Qe{constructor(n){super(),this._functionService=n}get zIndex(){return Ye.get(J.OPERATOR)||He}create(n){let i="";const e=n;e===ne.PLUS?i=Ae.PLUS:e===ne.MINUS?i=Ae.MINUS:e===ne.MULTIPLY?i=Ae.MULTIPLY:e===ne.DIVIDED?i=Ae.DIVIDED:e===ne.CONCATENATE?i=qe.CONCATENATE:e===ne.POWER?i=oe.POWER:Qi.has(e)&&(i=Ae.COMPARE);const t=this._functionService.getExecutor(i);return t?new Bl(e,t):(console.error(`No function ${n}`),Ee.create(f.NAME))}checkAndCreateNodeType(n){if(n instanceof X)return;const i=n.trim();if(!(i.charAt(0)==='"'&&i.charAt(i.length-1)==='"')&&lt.has(i))return this.create(i)}};Dr=Fl([vl(0,Je)],Dr);class Tl extends E.Disposable{constructor(){super(...arguments);d(this,"_tableMap",new Map);d(this,"_tableOptionMap",new Map)}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 s;this._tableMap.get(e)==null&&this._tableMap.set(e,new Map),(s=this._tableMap.get(e))==null||s.set(t,r)}registerTableOptionMap(e,t){this._tableOptionMap.set(e,t)}}const Cn=E.createIdentifier("univer.formula.super-table.service");class kl extends At{constructor(i,e,t,r){super(i),this._tableData=e,this._columnDataString=t;const s=this._tableData.sheetId,a=this._tableData.range,o=this._tableData.titleMap;this.setForcedSheetIdDirect(s);const u=this._stringToColumnData(this._columnDataString,o,r),l=u.startColumn,c=u.endColumn,m=u.type;let g=-1,p=-1;const R=a.startRow,b=a.startColumn;m===mt.ALL?(g=R,p=b):m===mt.DATA?(g=R+1,p=b):m===mt.HEADERS?(g=R,p=R):m===mt.TOTALS&&(g=b,p=b),this.setRangeData({startColumn:l,endColumn:c,startRow:g,endRow:p})}isTable(){return!0}_stringToColumnData(i,e,t){i=i.substring(1,-1);const r=i.indexOf(N.COMMA);let s=-1,a=-1,o=mt.ALL;if(r===-1){const u=this._columnHandler(i,e);s=u.startColumn,a=u.endColumn}else{const u=i.substring(0,r).substring(1,-1),l=i.substring(r+1),c=this._columnHandler(l,e,!0);s=c.startColumn,a=c.endColumn,o=t.get(u),o||(o=mt.ALL)}return{startColumn:s,endColumn:a,type:o}}_columnHandler(i,e,t=!1){var o,u,l;let r=-1,s=-1;const a=i.indexOf(N.COLON);if(new RegExp(jn,"g").test(i)){const c=i.substring(0,a).substring(1,-1),m=i.substring(a+1).substring(1,-1);r=(o=e.get(c))!=null?o:-1,s=(u=e.get(m))!=null?u:-1}else t&&(i=i.substring(1,-1)),r=(l=e.get(i))!=null?l:-1,s=r;return{startColumn:r,endColumn:s}}}var Il=Object.defineProperty,jl=Object.getOwnPropertyDescriptor,$l=(n,i,e,t)=>{for(var r=t>1?void 0:t?jl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Il(i,e,r),r},br=(n,i)=>(e,t)=>i(e,t,n);class Sr extends we{constructor(i,e,t,r=!1){super(e),this._accessor=i,this._operatorString=e,this._referenceObject=t,this._isPrepareMerge=r}get nodeType(){return J.REFERENCE}execute(){const i=this._accessor.get(Ze),e=this._accessor.get(ve);this._referenceObject.setDefaultUnitId(e.currentUnitId),this._referenceObject.setDefaultSheetId(e.currentSubUnitId),this._referenceObject.setForcedSheetId(i.getSheetNameMap()),this._referenceObject.setUnitData(i.getUnitData()),this._referenceObject.setArrayFormulaCellData(i.getArrayFormulaCellData()),this._referenceObject.setRuntimeData(e.getUnitData()),this._referenceObject.setUnitStylesData(i.getUnitStylesData()),this._referenceObject.setRuntimeArrayFormulaCellData(e.getRuntimeArrayFormulaCellData()),this._referenceObject.setRuntimeFeatureCellData(e.getRuntimeFeatureCellData());const{x:t,y:r}=this.getRefOffset();this._referenceObject.setRefOffset(t,r),!this._isPrepareMerge&&this._referenceObject.isExceedRange()?this.setValue(h.create(f.NAME)):this.setValue(this._referenceObject)}}let Ar=class extends Qe{constructor(n,i,e,t){super(),this._superTableService=n,this._formulaRuntimeService=i,this._functionService=e,this._injector=t}get zIndex(){return Ye.get(J.REFERENCE)||He}checkAndCreateNodeType(n){var u,l;let i=!1,e,t=!1;n instanceof X?(i=!0,e=n.getToken().trim(),((l=(u=n.getParent())==null?void 0:u.getParent())==null?void 0:l.getToken().trim())===N.COLON&&(t=!0)):e=n.trim();const{tokenTrim:r,minusPrefixNode:s,atPrefixNode:a}=ci(e,this._functionService,this._injector);if(!i&&r.charAt(0)==='"'&&r.charAt(r.length-1)==='"')return;let o;if(new RegExp(Ft).test(r))o=new Sr(this._injector,r,new sn(r),t);else if(i&&this._checkParentIsUnionOperator(n))new RegExp(kn).test(r)?o=new Sr(this._injector,r,new an(r),t):new RegExp(In).test(r)&&(o=new Sr(this._injector,r,new on(r),t));else{const c=this._formulaRuntimeService.currentUnitId,m=this._superTableService.getTableMap(c),g=new RegExp(jn,"g"),p=r.replace(g,"");if(!i&&(m!=null&&m.has(p))){const R=g.exec(r);let b="";R&&(b=R[0]);const L=m.get(p),U=this._superTableService.getTableOptionMap();o=new Sr(this._injector,r,new kl(r,L,b,U))}}if(o)return a?o.setParent(a):s&&o.setParent(s),o}_checkParentIsUnionOperator(n){var i,e;return((e=(i=n.getParent())==null?void 0:i.getParent())==null?void 0:e.getToken().trim())===N.COLON}};Ar=$l([br(0,Cn),br(1,ve),br(2,Je),br(3,E.Inject(E.Injector))],Ar);var Yl=Object.defineProperty,Hl=Object.getOwnPropertyDescriptor,Ql=(n,i,e,t)=>{for(var r=t>1?void 0:t?Hl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Yl(i,e,r),r},pi=(n,i)=>(e,t)=>i(e,t,n);class Ri extends we{constructor(i,e,t){super(e),this._accessor=i,this._operatorString=e,this._functionExecutor=t}get nodeType(){return J.SUFFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null)throw new Error("object is null");if(this._operatorString===Ne.PERCENTAGE){if(e.isReferenceObject()&&(e=e.toArrayValueObject()),t=this._functionExecutor.calculate(e,D.create(100)),t.isNumber()){const r=Number(t.getValue());t=D.create(r,"0.00%")}}else this._operatorString===Ne.POUND?t=this._handlerPound(e):t=h.create(f.VALUE);this.setValue(t)}_handlerPound(i){var c,m,g,p;if(!i.isReferenceObject()||!i.isCell())return h.create(f.VALUE);const e=this._accessor.get(Ze),t=this._accessor.get(Lt),r=i,s=r.getRangePosition(),a=r.getUnitId(),o=r.getSheetId(),u=e.getFormulaData(),l=(p=(g=(m=(c=u==null?void 0:u[a])==null?void 0:c[o])==null?void 0:m[s.startRow])==null?void 0:g[s.startColumn])==null?void 0:p.f;return l&&t.treeBuilder(l),h.create(f.VALUE)}}let Pr=class extends Qe{constructor(n,i){super(),this._functionService=n,this._injector=i}get zIndex(){return Ye.get(J.SUFFIX)||He}checkAndCreateNodeType(n){if(!(n instanceof X))return;const i=n.getToken().trim();if(i.charAt(0)==='"'&&i.charAt(i.length-1)==='"')return;let e="";if(i===Ne.PERCENTAGE)e=Ae.DIVIDED;else return i===Ne.POUND?new Ri(this._injector,i):void 0;const t=this._functionService.getExecutor(e);return t?new Ri(this._injector,i,t):(console.error(`No function ${n}`),Ee.create(f.NAME))}};Pr=Ql([pi(0,Je),pi(1,E.Inject(E.Injector))],Pr);var zl=Object.defineProperty,Nl=Object.getOwnPropertyDescriptor,Wl=(n,i,e,t)=>{for(var r=t>1?void 0:t?Nl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&zl(i,e,r),r},Gl=(n,i)=>(e,t)=>i(e,t,n);class Xl extends we{constructor(i){super(i),this._operatorString=i}get nodeType(){return J.UNION}execute(){const i=this.getChildren(),e=i[0].getValue(),t=i[1].getValue();if(e==null||t==null)throw new Error("leftNode and rightNode");let r;this._operatorString===N.COLON?r=this._unionFunction(e,t):r=h.create(f.NAME),this.setValue(r)}_unionFunction(i,e){return i.isError()||e.isError()||!i.isReferenceObject()||!e.isReferenceObject()?h.create(f.REF):(i=i,e=e,i.isCell()&&e.isCell()||i.isRow()&&e.isRow()||i.isColumn()&&e.isColumn()?i.unionBy(e):h.create(f.NAME))}}let Lr=class extends Qe{constructor(n){super(),this._functionService=n}get zIndex(){return Ye.get(J.UNION)||He}create(n){return new Xl(n)}checkAndCreateNodeType(n){if(!(n instanceof X))return;const e=n.getToken().trim();if(!(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')&&e===N.COLON)return this.create(e)}};Lr=Wl([Gl(0,Je)],Lr);class Kl extends we{constructor(i){super(i),this._operatorString=i}get nodeType(){return J.VALUE}execute(){this.setValue(it.create(this._operatorString))}}class _i extends Qe{get zIndex(){return Ye.get(J.VALUE)||He}_checkValueNode(i){if(Number.isNaN(Number(i))){const e=i.trim(),t=e.charAt(0),r=e.charAt(e.length-1);if(Ct.has(e))return this.create(e);if(t==='"'&&r==='"')return this.create(e);if(t==="{"&&r==="}")return this.create(e);const s=e.toUpperCase();if(s===nt.TRUE||s===nt.FALSE)return this.create(s)}else return this.create(i)}create(i){return new Kl(i)}checkAndCreateNodeType(i){if(!(i instanceof X))return this._checkValueNode(i)}}function ql(n){let i=n;for(;i!=null&&i.getParent();)i=i.getParent();return i}var Zl=Object.defineProperty,Jl=Object.getOwnPropertyDescriptor,ec=(n,i,e,t)=>{for(var r=t>1?void 0:t?Jl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Zl(i,e,r),r},Be=(n,i)=>(e,t)=>i(e,t,n);let zt=class extends E.Disposable{constructor(i,e,t,r,s,a,o,u,l,c,m){super();d(this,"_astNodeFactoryList",[]);d(this,"_refOffsetX",0);d(this,"_refOffsetY",0);this._runtimeService=i,this._astRootNodeFactory=e,this._functionNodeFactory=t,this._lambdaNodeFactory=r,this._lambdaParameterNodeFactory=s,this._operatorNodeFactory=a,this._prefixNodeFactory=o,this._referenceNodeFactory=u,this._suffixNodeFactory=l,this._unionNodeFactory=c,this._valueNodeFactory=m,this._initializeAstNode()}dispose(){this._astNodeFactoryList.forEach(i=>{i.dispose()}),this._astNodeFactoryList=[]}parse(i,e=0,t=0){const r=new _n(tt);this._refOffsetX=e,this._refOffsetY=t;const s=this._parse(i,r);return i.hasDefinedNames()&&(s==null||s.setDefinedNames(i.getDefinedNames())),s}_lambdaParameterHandler(i,e){if(e.getLambdaId==null)return Ee.create(f.VALUE);const t=e.getLambdaId(),r=new _n(tt),s=this._runtimeService.getFunctionDefinitionPrivacyVar(t);if(!s)return!1;const a=[...s.keys()],o=i.getChildren(),u=o.length;for(let m=0;m<u;m++){const g=o[m];if(g instanceof X)this._parse(g,r);else return!1}const l=r.getChildren(),c=l.length;for(let m=0;m<c;m++){const g=l[m];s.set(a[m],g)}return r.setParent(e),e}_changeLetToLambda(i){const e=i.getChildren(),t=e.length;if(t%2!==1||t===0)return;const r=new X;r.setToken(Mt);const s=new X;s.setToken(yt);const a=[...e];for(let u=0;u<t;u++){const l=a[u];if(!(l instanceof X))return;u%2===0?l.changeToParent(r):l.changeToParent(s)}r.addChildrenFirst(s),s.setParent(r);const o=i.getParent();return o==null||o.replaceChild(i,r),r}_parse(i,e){const t=i.getChildren(),r=t.length,s=[];let a=null;const o=i.getToken().trim().toUpperCase();if(o===Ki){const c=this._changeLetToLambda(i);return c!=null?this._parse(c,e):Ee.create(f.ERROR)}if(o===We){if(a=e,r===0)return new Ul(tt).setParent(e),a}else{if(o===yt){let c=this._lambdaParameterHandler(i,e);return c===!1&&(c=Ee.create(f.ERROR)),c}if(a=this._checkAstNode(i),a==null)return Ee.create(f.NAME)}const u=t[0];for(let c=0;c<r;c++){const m=t[c];if(fi(u)){if(c!==0&&c!==r-1)continue}else if(Al(m)&&c!==r-1)continue;let g=null;if(m instanceof X){if(g=this._parse(m,a),g===a)continue}else g=this._checkAstNode(m);if(g==null)return Ee.create(f.NAME);if(g=ql(g),g==null)return;switch(g.nodeType){case J.ERROR:return g;case J.FUNCTION:s.push(g);break;case J.LAMBDA:s.push(g);break;case J.LAMBDA_PARAMETER:s.push(g);break;case J.OPERATOR:{const p=s.pop(),R=s.pop();R&&R.setParent(g),p&&p.setParent(g),s.push(g);break}case J.REFERENCE:g.setRefOffset(this._refOffsetX,this._refOffsetY),s.push(g);break;case J.ROOT:s.push(g);break;case J.UNION:s.push(g);break;case J.VALUE:s.push(g);break;case J.PREFIX:s.push(g);break;case J.SUFFIX:s.push(g);break}}const l=s.length;for(let c=0;c<l;c++)s[c].setParent(a);return a}_checkAstNode(i){let e=null;const t=this._astNodeFactoryList.length;for(let r=0;r<t&&(e=this._astNodeFactoryList[r].checkAndCreateNodeType(i),e==null);r++);return e}_initializeAstNode(){this._astNodeFactoryList=[this._astRootNodeFactory,this._functionNodeFactory,this._lambdaNodeFactory,this._lambdaParameterNodeFactory,this._operatorNodeFactory,this._prefixNodeFactory,this._referenceNodeFactory,this._suffixNodeFactory,this._unionNodeFactory,this._valueNodeFactory].sort(E.sortRules)}};zt=ec([Be(0,ve),Be(1,E.Inject(oi)),Be(2,E.Inject(Cr)),Be(3,E.Inject(yr)),Be(4,E.Inject(gi)),Be(5,E.Inject(Dr)),Be(6,E.Inject(Er)),Be(7,E.Inject(Ar)),Be(8,E.Inject(Pr)),Be(9,E.Inject(Lr)),Be(10,E.Inject(_i))],zt);class Ei extends E.Disposable{constructor(){super(...arguments);d(this,"_referenceExecutorMap",new Map)}dispose(){this._referenceExecutorMap.clear()}remove(e){this._referenceExecutorMap.delete(e)}get(e){return this._referenceExecutorMap.get(e)}has(e){return this._referenceExecutorMap.has(e)}register(e,t){this._referenceExecutorMap.set(e,t)}getReferenceExecutorMap(){return this._referenceExecutorMap}}const Nt=E.createIdentifier("univer.formula.feature-calculation-manager.service");class Ci extends E.Disposable{constructor(){super(...arguments);d(this,"_otherFormulaData",{})}dispose(){this._otherFormulaData={}}remove(e){var a,o,u;const{unitId:t,subUnitId:r,formulaId:s}=e;(u=(o=(a=this._otherFormulaData)==null?void 0:a[t])==null?void 0:o[r])==null||delete u[s]}get(e){var a,o;const{unitId:t,subUnitId:r,formulaId:s}=e;return(o=(a=this._otherFormulaData[t])==null?void 0:a[r])==null?void 0:o[s]}has(e){var a,o;const{unitId:t,subUnitId:r,formulaId:s}=e;return((o=(a=this._otherFormulaData[t])==null?void 0:a[r])==null?void 0:o[s])!=null}register(e){const{unitId:t,subUnitId:r,formulaId:s,item:a}=e;this._otherFormulaData[t]||(this._otherFormulaData[t]={}),this._otherFormulaData[t][r]||(this._otherFormulaData[t][r]={}),this._otherFormulaData[t][r][s]=a}batchRegister(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;Object.keys(r).forEach(s=>{const a=r[s];if(a==null)return!0;Object.keys(a).forEach(o=>{const u=a[o];if(u==null)return!0;this.register({unitId:t,subUnitId:s,formulaId:o,item:u})})})})}batchRemove(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;Object.keys(r).forEach(s=>{const a=r[s];if(a==null)return!0;Object.keys(a).forEach(o=>{this.remove({unitId:t,subUnitId:s,formulaId:o})})})})}getOtherFormulaData(){return this._otherFormulaData}}const Vr=E.createIdentifier("univer.formula.other-formula-manager.service");class yn extends E.Disposable{constructor(){super(...arguments);d(this,"node");d(this,"children",[]);d(this,"parents",[]);d(this,"formula","");d(this,"row",-1);d(this,"column",-1);d(this,"rowCount",Number.NEGATIVE_INFINITY);d(this,"columnCount",Number.NEGATIVE_INFINITY);d(this,"subUnitId","");d(this,"unitId","");d(this,"rangeList",[]);d(this,"formulaId");d(this,"featureId");d(this,"getDirtyData");d(this,"_state",0)}dispose(){var e;super.dispose(),this.children=[],this.rangeList=[],this.parents=[],(e=this.node)==null||e.dispose()}disposeWithChildren(){this.children.forEach(e=>{e.disposeWithChildren()}),this.dispose()}resetState(){this._state=0}setAdded(){this._state=1}isAdded(){return this._state===1}setSkip(){this._state=2}isSkip(){return this._state===2}inRangeData(e){const t=e.startRow,r=e.startColumn,s=e.endRow,a=e.endColumn;return!(this.row<t||this.row>s||this.column<r||this.column>a)}dependencyRange(e,t,r){var s,a;if(this.rangeList.length===0)return!1;for(let o=0,u=this.rangeList.length;o<u;o++){const l=this.rangeList[o],{unitId:c,sheetId:m,range:g}=l.gridRange;if(((s=t[c])==null?void 0:s[m])!=null)return!0;if(!e.has(c))continue;const p=e.get(c);if(!p.has(m))continue;const R=p.get(m),b=(a=r==null?void 0:r[c])==null?void 0:a[m];let{startRow:L,endRow:U,startColumn:B,endColumn:T}=g;Number.isNaN(L)&&(L=0),Number.isNaN(B)&&(B=0),Number.isNaN(U)&&(U=Number.POSITIVE_INFINITY),Number.isNaN(T)&&(T=Number.POSITIVE_INFINITY);for(const K of R){const{startRow:ue,startColumn:ge,endRow:Pe,endColumn:Ce}=K;if(!(L>Pe||U<ue||B>Ce||T<ge)){let Se=!0;if(b==null||b.forValue((ye,he)=>{if(ye>=L&&ye<=U&&he>=B&&he<=T)return Se=!1,!1}),Se)return!0}}}return!1}pushChildren(e){this.children.push(e),e._pushParent(this)}pushRangeList(e){this.rangeList.push(e)}dependency(e){if(this.rangeList.length===0)return!1;for(let t=0,r=this.rangeList.length;t<r;t++){const s=this.rangeList[t],a=s.gridRange.unitId,o=s.gridRange.sheetId,u=s.gridRange.range;if(e.unitId===a&&e.subUnitId===o&&e.inRangeData(u))return!0}return!1}_pushParent(e){this.parents.push(e)}}class Dn extends E.Disposable{constructor(){super(...arguments);d(this,"_cacheItems",new Map)}dispose(){this.clear()}size(){return this._cacheItems.size}get length(){return this._cacheItems.size}add(e,t){const{token:r}=e;if(!this._cacheItems.has(r)){this._cacheItems.set(r,{unitRangeWithToken:e,treeList:[t]});return}this._cacheItems.get(r).treeList.push(t)}clear(){this._cacheItems.clear()}remove(e,t){if(!this._cacheItems.has(e))return;const r=this._cacheItems.get(e),s=r.treeList.indexOf(t);s!==-1&&r.treeList.splice(s,1)}delete(e){this._cacheItems.delete(e)}dependency(e){this._cacheItems.forEach(t=>{const{unitRangeWithToken:r,treeList:s}=t,{gridRange:a}=r,{unitId:o,sheetId:u,range:l}=a;e.unitId===o&&e.subUnitId===u&&e.inRangeData(l)&&s.forEach(c=>{if(c===e||c.children.includes(e))return!0;c.pushChildren(e)})})}}class tc extends E.Disposable{constructor(){super(...arguments);d(this,"_otherFormulaData",{});d(this,"_featureFormulaData",new Map);d(this,"_formulaData",{})}dispose(){this._otherFormulaData={},this._featureFormulaData.clear(),this._formulaData={}}getAllTree(){const e=[];return Object.values(this._otherFormulaData).forEach(t=>{if(t==null)return!0;Object.values(t).forEach(r=>{Object.values(r).forEach(s=>{s&&(s.resetState(),e.push(s))})})}),this._featureFormulaData.forEach(t=>{t&&(t.resetState(),e.push(t))}),Object.values(this._formulaData).map(t=>t==null?[]:Object.values(t).forEach(r=>r.forValue((s,a,o)=>{o&&(o.resetState(),e.push(o))}))),e}buildDependencyTree(e,t){const r=this.getAllTree();return e.length===0?(this._buildReverseDependency(r,t),r):(e instanceof Dn?this._buildDependencyTree(r,e,t||[]):this._buildDependencyTree(r,e,e),r)}_buildDependencyTree(e,t,r){e.forEach(s=>{t instanceof Dn?t.dependency(s):t.forEach(a=>{if(s===a||a.children.includes(s))return!0;a.dependency(s)&&a.pushChildren(s)})}),this._buildReverseDependency(e,r)}_buildReverseDependency(e,t){e.forEach(r=>{t==null||t.forEach(s=>{if(r===s||r.children.includes(s))return!0;r.dependency(s)&&r.pushChildren(s)})})}clearDependencyForTree(e){if(e==null)return;const t=e.parents,r=e.children;t.forEach(s=>{s.children=s.children.filter(a=>a!==e)}),r.forEach(s=>{s.parents=s.parents.filter(a=>a!==e)}),this._buildDependencyTree(t,r,r),e.dispose()}reset(){this._otherFormulaData={},this._featureFormulaData.clear(),this._formulaData={}}addOtherFormulaDependency(e,t,r,s){this._otherFormulaData[e]||(this._otherFormulaData[e]={}),this._otherFormulaData[e][t]||(this._otherFormulaData[e][t]={}),this._otherFormulaData[e][t][r]=s}removeOtherFormulaDependency(e,t,r){this._otherFormulaData[e]&&this._otherFormulaData[e][t]&&r.forEach(s=>{const a=this._otherFormulaData[e][t][s];this.clearDependencyForTree(a),delete this._otherFormulaData[e][t][s]})}hasOtherFormulaDependency(e,t,r){var s,a;return((a=(s=this._otherFormulaData[e])==null?void 0:s[t])==null?void 0:a[r])!=null}addFeatureFormulaDependency(e,t){this._featureFormulaData.set(e,t)}removeFeatureFormulaDependency(e){const t=this._featureFormulaData.get(e);this.clearDependencyForTree(t),this._featureFormulaData.delete(e)}hasFeatureFormulaDependency(e){return this._featureFormulaData.has(e)}addFormulaDependency(e,t,r,s,a){this._formulaData[e]||(this._formulaData[e]={}),this._formulaData[e][t]||(this._formulaData[e][t]=new E.ObjectMatrix),this._formulaData[e][t].setValue(r,s,a)}removeFormulaDependency(e,t,r,s){if(this._formulaData[e]&&this._formulaData[e][t]){const a=this._formulaData[e][t].getValue(r,s);this.clearDependencyForTree(a),this._formulaData[e][t].realDeleteValue(r,s)}}clearFormulaDependency(e,t){this._formulaData[e]&&this._formulaData[e][t]&&this._formulaData[e][t].reset()}hasFormulaDependency(e,t,r,s){var a,o;return((o=(a=this._formulaData[e])==null?void 0:a[t])==null?void 0:o.getValue(r,s))!=null}}const xr=E.createIdentifier("univer.formula.dependency-manager.service");var rc=Object.defineProperty,nc=Object.getOwnPropertyDescriptor,sc=(n,i,e,t)=>{for(var r=t>1?void 0:t?nc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&rc(i,e,r),r},ot=(n,i)=>(e,t)=>i(e,t,n);const ic=1e5;let Wt=class extends E.Disposable{constructor(i,e,t,r,s,a,o,u){super();d(this,"_updateRangeFlattenCache",new Map);d(this,"_dirtyUnitSheetNameMap",{});d(this,"_formulaASTCache",new ct(ic));this._currentConfigService=i,this._runtimeService=e,this._otherFormulaManagerService=t,this._featureCalculationManagerService=r,this._interpreter=s,this._astTreeBuilder=a,this._lexer=o,this._dependencyManagerService=u}dispose(){this._updateRangeFlattenCache.clear(),this._formulaASTCache.clear(),this._dirtyUnitSheetNameMap={}}async generate(){this._updateRangeFlatten();const i=this._currentConfigService.getFormulaData(),e=this._otherFormulaManagerService.getOtherFormulaData(),t=this._currentConfigService.getUnitData(),{treeList:r,dependencyTreeCache:s}=await this._generateTreeList(i,e,t),a=this._getUpdateTreeListAndMakeDependency(r,s);this._checkIsCycleDependency(a)&&this._runtimeService.enableCycleDependency();const u=this._calculateRunList(a);return Promise.resolve(u)}_isCyclicUtil(i,e,t){if(!e.has(i)){e.add(i),t.add(i);for(let r=0;r<i.children.length;r++)if(!e.has(i.children[r])&&this._isCyclicUtil(i.children[r],e,t)||t.has(i.children[r]))return!0}return t.delete(i),!1}_checkIsCycleDependency(i){const e=new Set,t=new Set;for(let r=0,s=i.length;r<s;r++){const a=i[r];if(this._isCyclicUtil(a,e,t)===!0)return!0}return!1}async _generateTreeList(i,e,t){const r=Object.keys(i),s=Object.keys(e),a=[];this._currentConfigService.isForceCalculate()&&(this._dependencyManagerService.reset(),this._formulaASTCache.clear()),this._registerFormulas(r,i,t,a),this._registerOtherFormulas(e,s,a),this._registerFeatureFormulas(a);const u=new Dn;for(let l=0,c=a.length;l<c;l++){const m=a[l];if(this._runtimeService.setCurrent(m.row,m.column,m.rowCount,m.columnCount,m.subUnitId,m.unitId),m.node==null)continue;const g=await this._getRangeListByNode(m.node);for(let p=0,R=g.length;p<R;p++){const b=g[p];m.pushRangeList(b),u.add(b,m)}}return{treeList:a,dependencyTreeCache:u}}_registerFeatureFormulas(i){this._featureCalculationManagerService.getReferenceExecutorMap().forEach((e,t)=>{const{unitId:r,subUnitId:s,dependencyRanges:a,getDirtyData:o}=e;if(this._dependencyManagerService.hasFeatureFormulaDependency(r,s,t))return!0;const u=new yn;u.unitId=r,u.subUnitId=s,u.getDirtyData=o,u.featureId=t,u.rangeList=a.map(l=>({gridRange:l,token:ft({...l,sheetName:this._currentConfigService.getSheetName(l.unitId,l.sheetId)})})),this._dependencyManagerService.addFeatureFormulaDependency(t,u),i.push(u)})}_registerOtherFormulas(i,e,t){for(const r of e){const s=i[r];if(s==null)continue;const a=Object.keys(s);for(const o of a){const u=s[o];if(u==null)continue;const l=Object.keys(u);for(const c of l){if(this._dependencyManagerService.hasOtherFormulaDependency(r,o,c))continue;const m=u[c],{f:g}=m,p=this._generateAstNode(r,g),R=new yn;R.node=p,R.formula=g,R.unitId=r,R.subUnitId=o,R.formulaId=c,this._dependencyManagerService.addOtherFormulaDependency(r,o,c,R),t.push(R)}}}}_registerFormulas(i,e,t,r){for(const s of i){const a=e[s];if(a==null)continue;const o=Object.keys(a);for(const u of o)new E.ObjectMatrix(a[u]||{}).forValue((c,m,g)=>{if(g==null)return!0;const{f:p,x:R,y:b}=g;if(this._dependencyManagerService.hasFormulaDependency(s,u,c,m))return!0;const L=this._generateAstNode(s,p,R,b),U=new yn,B=t[s][u];U.node=L,U.formula=p,U.unitId=s,U.subUnitId=u,U.row=c,U.column=m,U.rowCount=B.rowCount,U.columnCount=B.columnCount,this._dependencyManagerService.addFormulaDependency(s,u,c,m,U),r.push(U)})}}_updateRangeFlatten(){const i=this._currentConfigService.isForceCalculate(),e=this._currentConfigService.getDirtyRanges();if(!i){this._updateRangeFlattenCache.clear();for(let t=0;t<e.length;t++){const r=e[t],s=r.range,a=r.sheetId,o=r.unitId;this._addFlattenCache(o,a,s)}this._dirtyUnitSheetNameMap=this._currentConfigService.getDirtyNameMap()}}_generateAstNode(i,e,t=0,r=0){let s=this._formulaASTCache.get(`${i}${e}##${t}-${r}`);if(s&&!this._isDirtyDefinedForNode(s))return s;const a=this._lexer.treeBuilder(e);if(Ct.has(a))return Ee.create(a);if(s=this._astTreeBuilder.parse(a,t,r),s==null)throw new Error("astNode is null");return this._formulaASTCache.set(`${i}${e}##${t}-${r}`,s),s}_addFlattenCache(i,e,t){let r=this._updateRangeFlattenCache.get(i);r==null&&(r=new Map,this._updateRangeFlattenCache.set(i,r));let s=r.get(e);s==null&&(s=[],r.set(e,s)),s.push(t)}_isPreCalculateNode(i){return i.nodeType===J.UNION||i.nodeType===J.PREFIX&&i.getToken()===Re.AT||i.nodeType===J.SUFFIX&&i.getToken()===Ne.POUND}_nodeTraversalRef(i,e){const t=i.getChildren(),r=t.length;for(let s=0;s<r;s++){const a=t[s];if(this._isPreCalculateNode(a)){e.push(a);continue}else a.nodeType===J.REFERENCE&&e.push(a);this._nodeTraversalRef(a,e)}}_nodeTraversalReferenceFunction(i,e){const t=i.getChildren(),r=t.length;for(let s=0;s<r;s++){const a=t[s];if(a.nodeType===J.FUNCTION&&a.isAddress()){e.push(a);continue}this._nodeTraversalReferenceFunction(a,e)}}async _executeNode(i){let e;return this._interpreter.checkAsyncNode(i)?e=await this._interpreter.executeAsync(i):e=this._interpreter.execute(i),e}async _getRangeListByNode(i){const e=[],t=[];this._nodeTraversalRef(i,e),this._nodeTraversalReferenceFunction(i,t);const r=[];for(let s=0,a=e.length;s<a;s++){const o=e[s],l=(await this._executeNode(o)).toUnitRange(),c=ft({...l,sheetName:this._currentConfigService.getSheetName(l.unitId,l.sheetId)});r.push({gridRange:l,token:c})}for(let s=0,a=t.length;s<a;s++){const o=t[s],l=(await this._executeNode(o)).toUnitRange(),c=ft({...l,sheetName:this._currentConfigService.getSheetName(l.unitId,l.sheetId)});r.push({gridRange:l,token:c})}return r}_isDirtyDefinedForNode(i){const e=this._currentConfigService.getDirtyDefinedNameMap(),t=this._currentConfigService.getExecuteUnitId();if(t!=null&&e[t]!=null){const r=Object.keys(e[t]);for(let s=0,a=r.length;s<a;s++){const o=r[s];if(i.hasDefinedName(o))return!0}}return!1}_getUpdateTreeListAndMakeDependency(i,e){const t=[],r=new Set,s=this._currentConfigService.isForceCalculate();let a=[];e.size()>i.length?a=this._dependencyManagerService.buildDependencyTree(i):a=this._dependencyManagerService.buildDependencyTree(e,i);for(let o=0,u=a.length;o<u;o++){const l=a[o];(s||l.dependencyRange(this._updateRangeFlattenCache,this._dirtyUnitSheetNameMap,this._currentConfigService.getExcludedRange())||this._includeTree(l))&&!r.has(l)&&(t.push(l),r.add(l))}return e.dispose(),t}_includeTreeFeature(i){var s,a;const e=i.unitId,t=i.subUnitId,r=i.featureId;if(r!=null){const o=this._currentConfigService.getDirtyUnitFeatureMap();if(((a=(s=o==null?void 0:o[e])==null?void 0:s[t])==null?void 0:a[r])!=null)return!0}return!1}_includeOtherFormula(i){var s,a;const e=i.unitId,t=i.subUnitId,r=i.formulaId;if(r!=null){const o=this._currentConfigService.getDirtyUnitOtherFormulaMap();if(((a=(s=o==null?void 0:o[e])==null?void 0:s[t])==null?void 0:a[r])!=null)return!0}return!1}_includeDefinedName(i){const e=i.node;return!!(e!=null&&this._isDirtyDefinedForNode(e))}_includeTree(i){var u,l,c;const e=i.unitId,t=i.subUnitId;if(this._includeTreeFeature(i)===!0||this._includeOtherFormula(i)===!0||this._includeDefinedName(i)===!0)return!0;const r=(l=(u=this._currentConfigService.getExcludedRange())==null?void 0:u[e])==null?void 0:l[t];let s=!1;if(r==null||r.forValue((m,g)=>{if(i.row===m&&i.column===g)return s=!0,!1}),s)return!1;if(((c=this._dirtyUnitSheetNameMap[e])==null?void 0:c[t])!=null)return!0;if(!this._updateRangeFlattenCache.has(e))return!1;const a=this._updateRangeFlattenCache.get(e);if(!a.has(t))return!1;const o=a.get(t);for(const m of o)if(i.inRangeData(m))return!0;return!1}_calculateRunList(i){let e=i;const t=[];for(;e.length>0;){const r=e.pop();if(r===void 0||r.isSkip())continue;if(r.isAdded()){t.push(r);continue}const s=[];for(let a=0,o=r.parents.length;a<o;a++){const u=r.parents[a];u.isAdded()||r.isSkip()||s.push(u)}s.length===0?(t.push(r),r.setSkip()):(r.setAdded(),e.push(r),e=e.concat(s))}return t.reverse()}};Wt=sc([E.OnLifecycle(E.LifecycleStages.Rendered,Wt),ot(0,Ze),ot(1,ve),ot(2,Vr),ot(3,Nt),ot(4,E.Inject(xt)),ot(5,E.Inject(zt)),ot(6,E.Inject(Lt)),ot(7,xr)],Wt);var ac=Object.defineProperty,oc=Object.getOwnPropertyDescriptor,uc=(n,i,e,t)=>{for(var r=t>1?void 0:t?oc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&ac(i,e,r),r},pt=(n,i)=>(e,t)=>i(e,t,n);const lc=1;A.CalculateFormulaService=class extends E.Disposable{constructor(e,t,r,s,a,o,u){super();d(this,"_executionStartListener$",new Me.Subject);d(this,"executionStartListener$",this._executionStartListener$.asObservable());d(this,"_executionCompleteListener$",new Me.Subject);d(this,"executionCompleteListener$",this._executionCompleteListener$.asObservable());d(this,"_executionInProgressListener$",new Me.Subject);d(this,"executionInProgressListener$",this._executionInProgressListener$.asObservable());this._configService=e,this._lexer=t,this._currentConfigService=r,this._runtimeService=s,this._formulaDependencyGenerator=a,this._interpreter=o,this._astTreeBuilder=u}stopFormulaExecution(){this._runtimeService.stopExecution()}setRuntimeFeatureCellData(e,t){this._runtimeService.setRuntimeFeatureCellData(e,t)}setRuntimeFeatureRange(e,t){this._runtimeService.setRuntimeFeatureRange(e,t)}async execute(e){this._executionStartListener$.next(!0),this._currentConfigService.load(e),this._runtimeService.reset();const t=this._configService.getConfig("CYCLE_REFERENCE_COUNT")||lc;for(let r=0;r<t&&(this._runtimeService.setFormulaCycleIndex(r),await this._execute(),rn.clear(),!!this._runtimeService.isCycleDependency());r++);this._runtimeService.setFormulaExecuteStage($e.CALCULATION_COMPLETED),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData()),st.clear()}async _execute(){const e=await this._apply();if(e==null)return;const{arrayFormulaRange:t,runtimeFeatureRange:r}=e,{dirtyRanges:s,excludedCell:a}=this._getArrayFormulaDirtyRangeAndExcludedRange(t,r);return s==null||s.length===0||(this._currentConfigService.loadDirtyRangesAndExcludedCell(s,a),await this._apply(!0)),!0}_getArrayFormulaDirtyRangeAndExcludedRange(e,t){const r=[],s={};return Object.keys(e).forEach(a=>{const o=e[a];if(o==null)return!0;Object.keys(o).forEach(u=>{const l=new E.ObjectMatrix(o[u]);if(l==null)return!0;const c=new E.ObjectMatrix;l.forValue((m,g,p)=>{c.setValue(m,g,!0),r.push({unitId:a,sheetId:u,range:p})}),s[a]==null&&(s[a]={}),s[a][u]=c})}),Object.keys(t).forEach(a=>{const o=t[a];Object.keys(o).forEach(u=>{const l=o[u];if(l==null)return!0;Object.keys(l).forEach(c=>{const m=l[c];if(m==null)return!0;for(const g of m)r.push({unitId:u,sheetId:c,range:g})})})}),{dirtyRanges:r,excludedCell:s}}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(),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 s=[];for(let a=0,o=t.length;a<o;a++){if(await new Promise(g=>{const p=E.requestImmediateMacroTask(g);s.push(p)}),this._runtimeService.isStopExecution()){this._runtimeService.setFormulaExecuteStage($e.IDLE),this._runtimeService.markedAsStopFunctionsExecuted(),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData());return}const u=t[a],l=u.node,c=u.getDirtyData;let m;if(l==null&&c==null)throw new Error("AstNode or executor is null");if(this._runtimeService.setCurrent(u.row,u.column,u.rowCount,u.columnCount,u.subUnitId,u.unitId),c!=null&&u.featureId!=null){const{runtimeCellData:g,dirtyRanges:p}=c(u);this._runtimeService.setRuntimeFeatureCellData(u.featureId,g),this._runtimeService.setRuntimeFeatureRange(u.featureId,p)}else l!=null&&(r.checkAsyncNode(l)?m=await r.executeAsync(l):m=r.execute(l),u.formulaId!=null?this._runtimeService.setRuntimeOtherData(u.formulaId,m):this._runtimeService.setRuntimeData(m));e?(this._runtimeService.setFormulaExecuteStage($e.CURRENTLY_CALCULATING_ARRAY_FORMULA),this._runtimeService.setCompletedArrayFormulasCount(a+1)):(this._runtimeService.setFormulaExecuteStage($e.CURRENTLY_CALCULATING),this._runtimeService.setCompletedFormulasCount(a+1)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState())}return s.forEach(a=>a()),s=[],t.length>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(f).includes(r))return Ee.create(r);const s=this._astTreeBuilder.parse(r);s==null||s.serialize()}},A.CalculateFormulaService=uc([E.OnLifecycle(E.LifecycleStages.Rendered,A.CalculateFormulaService),pt(0,E.IConfigService),pt(1,E.Inject(Lt)),pt(2,Ze),pt(3,ve),pt(4,E.Inject(Wt)),pt(5,E.Inject(xt)),pt(6,E.Inject(zt))],A.CalculateFormulaService);var cc=Object.defineProperty,fc=Object.getOwnPropertyDescriptor,hc=(n,i,e,t)=>{for(var r=t>1?void 0:t?fc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&cc(i,e,r),r},wr=(n,i)=>(e,t)=>i(e,t,n);let Ur=class extends E.Disposable{constructor(n,i,e,t){super(),this._commandService=n,this._calculateFormulaService=i,this._univerInstanceService=e,this._formulaDataModel=t,this._initialize()}_initialize(){this._commandExecutedListener(),this._initialExecuteFormulaListener(),this._initialExecuteFormulaProcessListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted((n,i)=>{if(n.id===gn.id)this._calculateFormulaService.stopFormulaExecution();else if(n.id===Rr.id){const e=n.params.formulaData;this._formulaDataModel.mergeFormulaData(e)}else if(n.id===dn.id){const e=n.params;if(e.forceCalculation===!0)this._calculate(!0);else{const{dirtyRanges:t,dirtyNameMap:r,dirtyDefinedNameMap:s,dirtyUnitFeatureMap:a,dirtyUnitOtherFormulaMap:o}=e;this._calculate(!1,t,r,s,a,o)}}else if(n.id===gr.id){const e=n.params;if(e==null)return;const{arrayFormulaRange:t,arrayFormulaCellData:r}=e;this._formulaDataModel.setArrayFormulaRange(t),this._formulaDataModel.setArrayFormulaCellData(r)}}))}async _calculate(n=!1,i=[],e={},t={},r={},s={}){if(i.length===0&&Object.keys(e).length===0&&Object.keys(t).length===0&&Object.keys(r).length===0&&Object.keys(s).length===0&&n===!1)return;const a=this._formulaDataModel.getFormulaData(),o=this._formulaDataModel.getArrayFormulaCellData();this._calculateFormulaService.execute({formulaData:a,arrayFormulaCellData:o,forceCalculate:n,dirtyRanges:i,dirtyNameMap:e,dirtyDefinedNameMap:t,dirtyUnitFeatureMap:r,dirtyUnitOtherFormulaMap:s})}_initialExecuteFormulaListener(){this._calculateFormulaService.executionCompleteListener$.subscribe(n=>{const i=n.functionsExecutedState;switch(i){case Vt.NOT_EXECUTED:break;case Vt.STOP_EXECUTION:break;case Vt.SUCCESS:this._applyFormula(n);break;case Vt.INITIAL:break}this._commandService.executeCommand(pr.id,{functionsExecutedState:i},{onlyLocal:!0})})}_initialExecuteFormulaProcessListener(){this._calculateFormulaService.executionInProgressListener$.subscribe(n=>{this._commandService.executeCommand(pr.id,{stageInfo:n},{onlyLocal:!0})})}async _applyFormula(n){const{unitData:i,unitOtherData:e,arrayFormulaRange:t,arrayFormulaCellData:r,clearArrayFormulaCellData:s}=n;if(!i){console.error("No sheetData from Formula Engine!");return}t&&(this._formulaDataModel.clearPreviousArrayFormulaCellData(s),this._formulaDataModel.mergeArrayFormulaCellData(r),this._formulaDataModel.mergeArrayFormulaRange(t),this._commandService.executeCommand(gr.id,{arrayFormulaRange:this._formulaDataModel.getArrayFormulaRange(),arrayFormulaCellData:this._formulaDataModel.getArrayFormulaCellData()},{onlyLocal:!0})),this._commandService.executeCommand(pn.id,{unitData:Xi(i),unitOtherData:e},{onlyLocal:!0})}};Ur=hc([E.OnLifecycle(E.LifecycleStages.Ready,Ur),wr(0,E.ICommandService),wr(1,E.Inject(A.CalculateFormulaService)),wr(2,E.IUniverInstanceService),wr(3,E.Inject(A.FormulaDataModel))],Ur);const yi={id:"formula.mutation.register-function",type:E.CommandType.MUTATION,handler:()=>!0},Or={id:"formula.mutation.set-defined-name",type:E.CommandType.MUTATION,handler:()=>!0},Mr={id:"formula.mutation.remove-defined-name",type:E.CommandType.MUTATION,handler:()=>!0},Fr={id:"formula.mutation.set-feature-calculation",type:E.CommandType.MUTATION,handler:()=>!0},vr={id:"formula.mutation.remove-feature-calculation",type:E.CommandType.MUTATION,handler:()=>!0},Br={id:"formula.mutation.set-other-formula",type:E.CommandType.MUTATION,handler:()=>!0},Tr={id:"formula.mutation.remove-other-formula",type:E.CommandType.MUTATION,handler:()=>!0},Di={id:"formula.mutation.set-super-table",type:E.CommandType.MUTATION,handler:()=>!0},bi={id:"formula.mutation.remove-super-table",type:E.CommandType.MUTATION,handler:()=>!0},bn={id:"formula.mutation.set-super-table-option",type:E.CommandType.MUTATION,handler:()=>!0};var mc=Object.defineProperty,dc=Object.getOwnPropertyDescriptor,gc=(n,i,e,t)=>{for(var r=t>1?void 0:t?dc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&mc(i,e,r),r},Sn=(n,i)=>(e,t)=>i(e,t,n);let Gt=class extends E.Disposable{constructor(n=[],i,e,t){super(),this._function=n,this._commandService=i,this._functionService=e,this._dataSyncPrimaryController=t,this._initialize()}_initialize(){this._registerCommands(),this._registerFunctions()}_registerCommands(){[Rr,gr,dn,gn,pr,pn,Or,Mr,Fr,vr,Br,Tr,Di,bi,bn,yi].forEach(n=>{var i;this._commandService.registerCommand(n),(i=this._dataSyncPrimaryController)==null||i.registerSyncingMutations(n)})}_registerFunctions(){const n=[...Rs,...Ss,...As,...Ls,...vs,...Bs,...ks,...js,...$s,...Ys,...Ks,...qs,...Zs,...Js,...ei,...ri].concat(this._function).map(i=>{const e=i[0],t=i[1];return new e(t)});this._functionService.registerExecutors(...n)}};Gt=gc([E.OnLifecycle(E.LifecycleStages.Ready,Gt),Sn(1,E.ICommandService),Sn(2,Je),Sn(3,E.Optional(Hi.DataSyncPrimaryController))],Gt);var pc=Object.defineProperty,Rc=Object.getOwnPropertyDescriptor,_c=(n,i,e,t)=>{for(var r=t>1?void 0:t?Rc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&pc(i,e,r),r},Si=(n,i)=>(e,t)=>i(e,t,n);let kr=class extends E.Disposable{constructor(n,i){super(),this._commandService=n,this._definedNamesService=i,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===Or.id){const i=n.params;if(i==null)return;const{id:e,unitId:t,name:r,formulaOrRefString:s,comment:a,hidden:o,localSheetId:u}=i;this._definedNamesService.registerDefinedName(t,{id:e,name:r.trim(),formulaOrRefString:s.trim(),comment:a==null?void 0:a.trim(),hidden:o,localSheetId:u})}else if(n.id===Mr.id){const i=n.params;if(i==null)return;const{unitId:e,id:t}=i;this._definedNamesService.removeDefinedName(e,t)}}))}};kr=_c([E.OnLifecycle(E.LifecycleStages.Ready,kr),Si(0,E.ICommandService),Si(1,Ht)],kr);var Ec=Object.defineProperty,Cc=Object.getOwnPropertyDescriptor,yc=(n,i,e,t)=>{for(var r=t>1?void 0:t?Cc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Ec(i,e,r),r},Ai=(n,i)=>(e,t)=>i(e,t,n);let Ir=class extends E.Disposable{constructor(n,i){super(),this._commandService=n,this._featureCalculationManagerService=i,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===Fr.id){const i=n.params;if(i==null)return;const{featureId:e,calculationParam:t}=i;this._featureCalculationManagerService.register(e,t)}else if(n.id===vr.id){const i=n.params;if(i==null)return;const{featureId:e}=i;this._featureCalculationManagerService.remove(e)}}))}};Ir=yc([E.OnLifecycle(E.LifecycleStages.Ready,Ir),Ai(0,E.ICommandService),Ai(1,Nt)],Ir);var Dc=Object.defineProperty,bc=Object.getOwnPropertyDescriptor,Sc=(n,i,e,t)=>{for(var r=t>1?void 0:t?bc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Dc(i,e,r),r},An=(n,i)=>(e,t)=>i(e,t,n);let jr=class extends E.Disposable{constructor(n,i,e){super(),this._commandService=n,this._otherFormulaManagerService=i,this._dependencyManagerService=e,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===Br.id){const i=n.params;if(i==null)return;const e={[i.unitId]:{[i.subUnitId]:i.formulaMap}};this._otherFormulaManagerService.batchRegister(e)}else if(n.id===Tr.id){const i=n.params;if(i==null)return;const e={};i.formulaIdList.forEach(r=>e[r]=!0);const t={[i.unitId]:{[i.subUnitId]:e}};this._otherFormulaManagerService.batchRemove(t)}}))}};jr=Sc([E.OnLifecycle(E.LifecycleStages.Ready,jr),An(0,E.ICommandService),An(1,Vr),An(2,xr)],jr);var Ac=Object.defineProperty,Pc=Object.getOwnPropertyDescriptor,Lc=(n,i,e,t)=>{for(var r=t>1?void 0:t?Pc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Ac(i,e,r),r},Pi=(n,i)=>(e,t)=>i(e,t,n);let $r=class extends E.Disposable{constructor(n,i){super(),this._commandService=n,this._superTableService=i,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===Or.id){const i=n.params;if(i==null)return;const{unitId:e,tableName:t,reference:r}=i;this._superTableService.registerTable(e,t,r)}else if(n.id===Mr.id){const i=n.params;if(i==null)return;const{unitId:e,tableName:t}=i;this._superTableService.remove(e,t)}else if(n.id===bn.id){const i=n.params;if(i==null)return;const{tableOption:e,tableOptionType:t}=i;this._superTableService.registerTableOptionMap(e,t)}}))}};$r=Lc([E.OnLifecycle(E.LifecycleStages.Ready,$r),Pi(0,E.ICommandService),Pi(1,Cn)],$r);class Vc extends E.Disposable{constructor(){super(...arguments);d(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 Li=E.createIdentifier("univer.formula.active-dirty-manager.service");var xc=Object.defineProperty,wc=Object.getOwnPropertyDescriptor,Uc=(n,i,e,t)=>{for(var r=t>1?void 0:t?wc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&xc(i,e,r),r},Pn=(n,i)=>(e,t)=>i(e,t,n);let Yr=class extends E.Disposable{constructor(n,i){super(),this._commandService=n,this._dependencyManagerService=i,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===vr.id||n.id===Fr.id){const i=n.params;if(i==null)return;const{featureId:e}=i;this._dependencyManagerService.removeFeatureFormulaDependency(e)}else if(n.id===Tr.id){const i=n.params;if(i==null)return;this._dependencyManagerService.removeOtherFormulaDependency(i.unitId,i.subUnitId,i.formulaIdList)}else if(n.id===Br.id){const i=n.params;if(i==null)return;const e=i.formulaMap,t=[];Object.keys(e).forEach(r=>{t.push(r)}),this._dependencyManagerService.removeOtherFormulaDependency(i.unitId,i.subUnitId,t)}else if(n.id===Rr.id){const i=n.params.formulaData;Object.keys(i).forEach(e=>{if(i[e]==null)return!0;Object.keys(i[e]).forEach(t=>{const r=i[e][t];if(r==null)return this._dependencyManagerService.clearFormulaDependency(e,t),!0;new E.ObjectMatrix(r).forValue((s,a)=>{this._dependencyManagerService.removeFormulaDependency(e,t,s,a)})})})}}))}};Yr=Uc([E.OnLifecycle(E.LifecycleStages.Ready,Yr),Pn(0,E.ICommandService),Pn(1,Nt),Pn(1,xr)],Yr);var Oc=Object.defineProperty,Mc=Object.getOwnPropertyDescriptor,Fc=(n,i,e,t)=>{for(var r=t>1?void 0:t?Mc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Oc(i,e,r),r},vc=(n,i)=>(e,t)=>i(e,t,n);const Bc="base-formula-engine";A.UniverFormulaEnginePlugin=(Ln=class extends E.Plugin{constructor(i,e){super(),this._config=i,this._injector=e}onStarting(){this._initialize()}_initialize(){var e;const i=[[Je,{useClass:ui}],[Nt,{useClass:Ei}],[Ht,{useClass:ai}],[Li,{useClass:Vc}],[Cn,{useClass:Tl}],[A.FormulaDataModel],[ir],[Gt,{useFactory:()=>{var t;return this._injector.createInstance(Gt,(t=this._config)==null?void 0:t.function)}}],[Ir],[kr],[$r]];(e=this._config)!=null&&e.notExecuteFormula||i.push([A.CalculateFormulaService],[Vr,{useClass:Ci}],[ve,{useClass:A.FormulaRuntimeService}],[Ze,{useClass:A.FormulaCurrentConfigService}],[xr,{useClass:tc}],[Ur],[jr],[Yr],[Wt],[xt],[zt],[Lt],[oi],[Cr],[yr],[gi],[Dr],[Er],[Ar],[Pr],[Lr],[_i]),i.forEach(t=>this._injector.add(t))}},d(Ln,"pluginName",Bc),Ln),A.UniverFormulaEnginePlugin=Fc([vc(1,E.Inject(E.Injector))],A.UniverFormulaEnginePlugin);function Vi(n,i){const e=n.sequenceNodesBuilder(i);return!(!e||e.every(t=>typeof t=="string"||t.nodeType!==Le.REFERENCE))}function Tc(n,i,e,t,r,s){if(!Vi(n,i))return i;const a=n.sequenceNodesBuilder(i),o=(p,R)=>({startRow:p,endRow:p,startColumn:R,endColumn:R}),u=o(e,t),l=E.Rectangle.getRelativeRange(o(r,s),u),c=E.Tools.deepClone(a),m=Array.isArray(c)?c.map(p=>{if(typeof p=="object"&&p.nodeType===Le.REFERENCE){const R=je(p.token),b=E.Rectangle.getPositionRange(l,R.range),L=Ge(b);return{...p,token:L}}return p}):c;return`=${m&&tr(m)}`}A.ArrayValueObject=me,A.AsyncArrayObject=ms,A.AsyncObject=hs,A.BaseFunction=V,A.BaseReferenceObject=At,A.BaseValueObject=Ke,A.BooleanValue=nt,A.BooleanValueObject=$,A.CustomFunction=Ia,A.DefinedNamesService=ai,A.ERROR_TYPE_SET=Ct,A.ErrorType=f,A.ErrorValueObject=h,A.FUNCTION_NAMES_ARRAY=_s,A.FUNCTION_NAMES_COMPATIBILITY=Pt,A.FUNCTION_NAMES_CUBE=Ps,A.FUNCTION_NAMES_DATABASE=Vs,A.FUNCTION_NAMES_DATE=pe,A.FUNCTION_NAMES_ENGINEERING=Ts,A.FUNCTION_NAMES_FINANCIAL=Is,A.FUNCTION_NAMES_INFORMATION=xe,A.FUNCTION_NAMES_LOGICAL=at,A.FUNCTION_NAMES_LOOKUP=be,A.FUNCTION_NAMES_MATH=oe,A.FUNCTION_NAMES_STATISTICAL=fe,A.FUNCTION_NAMES_TEXT=qe,A.FUNCTION_NAMES_UNIVER=ti,A.FUNCTION_NAMES_WEB=ni,A.FeatureCalculationManagerService=Ei,A.FormulaExecuteStageType=$e,A.FormulaExecutedStateType=Vt,A.FunctionService=ui,A.FunctionType=Un,A.IActiveDirtyManagerService=Li,A.IDefinedNamesService=Ht,A.IFeatureCalculationManagerService=Nt,A.IFormulaCurrentConfigService=Ze,A.IFormulaRuntimeService=ve,A.IFunctionService=Je,A.IOtherFormulaManagerService=Vr,A.LexerNode=X,A.LexerTreeBuilder=ir,A.NullValueObject=se,A.NumberValueObject=D,A.OtherFormulaManagerService=Ci,A.RangeReferenceObject=Bt,A.RegisterFunctionMutation=yi,A.RemoveDefinedNameMutation=Mr,A.RemoveFeatureCalculationMutation=vr,A.RemoveOtherFormulaMutation=Tr,A.RemoveSuperTableMutation=bi,A.SetArrayFormulaDataMutation=gr,A.SetDefinedNameMutation=Or,A.SetFeatureCalculationMutation=Fr,A.SetFormulaCalculationNotificationMutation=pr,A.SetFormulaCalculationResultMutation=pn,A.SetFormulaCalculationStartMutation=dn,A.SetFormulaCalculationStopMutation=gn,A.SetFormulaDataMutation=Rr,A.SetOtherFormulaMutation=Br,A.SetSuperTableMutation=Di,A.SetSuperTableOptionMutation=bn,A.StringValueObject=ce,A.ValueObjectFactory=it,A.compareToken=M,A.convertUnitDataToRuntime=Fn,A.deserializeRangeForR1C1=ps,A.deserializeRangeWithSheet=je,A.functionArray=Rs,A.functionCompatibility=Ss,A.functionCube=As,A.functionDatabase=Ls,A.functionDate=vs,A.functionEngineering=Bs,A.functionFinancial=ks,A.functionInformation=js,A.functionLogical=$s,A.functionLookup=Ys,A.functionMath=Ks,A.functionMeta=qs,A.functionStatistical=Zs,A.functionText=Js,A.functionUniver=ei,A.functionWeb=ri,A.generateStringWithSequence=tr,A.getAbsoluteRefTypeWitString=na,A.getAbsoluteRefTypeWithSingleString=vt,A.getRangeWithRefsString=sa,A.handleNumfmtInCell=Pa,A.includeFormulaLexerToken=Mn,A.initSheetFormulaData=ii,A.isFormulaLexerToken=Ut,A.isFormulaTransformable=Vi,A.isInDirtyRange=wn,A.isReferenceString=$n,A.isReferenceStringWithEffectiveColumn=nr,A.isReferenceStrings=Nn,A.matchRefDrawToken=Gi,A.matchToken=N,A.normalizeSheetName=Wi,A.operatorToken=ne,A.sequenceNodeType=Le,A.serializeRange=Ge,A.serializeRangeToRefString=ft,A.serializeRangeWithSheet=Hn,A.serializeRangeWithSpreadsheet=Qn,A.singleReferenceToGrid=rr,A.strip=tn,A.stripErrorMargin=as,A.transformFormula=Tc,Object.defineProperty(A,Symbol.toStringTag,{value:"Module"})});
1
+ (function(A,D){typeof exports=="object"&&typeof module<"u"?D(exports,require("@univerjs/core"),require("@wendellhu/redi"),require("rxjs"),require("@univerjs/rpc")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@wendellhu/redi","rxjs","@univerjs/rpc"],D):(A=typeof globalThis<"u"?globalThis:A||self,D(A.UniverEngineFormula={},A.UniverCore,A["@wendellhu/redi"],A.rxjs,A.UniverRpc))})(this,function(A,D,X,Ct,Qi){"use strict";var Jc=Object.defineProperty;var ef=(A,D,X)=>D in A?Jc(A,D,{enumerable:!0,configurable:!0,writable:!0,value:X}):A[D]=X;var d=(A,D,X)=>ef(A,typeof D!="symbol"?D+"":D,X);var Vn;function Un(n,i,e,t,r){for(let s=0,a=n.length;s<a;s++){const o=n[s];if(i!==o.unitId||e!==o.sheetId)continue;const{startRow:u,startColumn:l,endRow:c,endColumn:m}=o.range;if(t>=u&&t<=c&&r>=l&&r<=m)return!0}return!1}var f=(n=>(n.DIV_BY_ZERO="#DIV/0!",n.NAME="#NAME?",n.VALUE="#VALUE!",n.NUM="#NUM!",n.NA="#N/A",n.CYCLE="#CYCLE!",n.REF="#REF!",n.SPILL="#SPILL!",n.CALC="#CALC!",n.ERROR="#ERROR!",n.CONNECT="#GETTING_DATA",n.NULL="#NULL!",n))(f||{});const yt=new Set(Object.values(f));var On=(n=>(n[n.Financial=0]="Financial",n[n.Date=1]="Date",n[n.Math=2]="Math",n[n.Statistical=3]="Statistical",n[n.Lookup=4]="Lookup",n[n.Database=5]="Database",n[n.Text=6]="Text",n[n.Logical=7]="Logical",n[n.Information=8]="Information",n[n.Engineering=9]="Engineering",n[n.Cube=10]="Cube",n[n.Compatibility=11]="Compatibility",n[n.Web=12]="Web",n[n.Array=13]="Array",n[n.Univer=14]="Univer",n[n.User=15]="User",n[n.DefinedName=16]="DefinedName",n))(On||{}),se=(n=>(n.PLUS="+",n.MINUS="-",n.MULTIPLY="*",n.DIVIDED="/",n.CONCATENATE="&",n.POWER="^",n.EQUALS="=",n.NOT_EQUAL="<>",n.GREATER_THAN=">",n.GREATER_THAN_OR_EQUAL=">=",n.LESS_THAN="<",n.LESS_THAN_OR_EQUAL="<=",n))(se||{}),M=(n=>(n.EQUALS="=",n.NOT_EQUAL="<>",n.GREATER_THAN=">",n.GREATER_THAN_OR_EQUAL=">=",n.LESS_THAN="<",n.LESS_THAN_OR_EQUAL="<=",n))(M||{});const Jt=new Map([["<>",3],["<",3],[">=",3],["=",3],[">",3],["<=",3],["&",2],["+",2],["-",2],["/",1],["*",1],["^",0]]),lt=new Set(Jt.keys()),zi=new Set(["=","<>",">",">=","<","<="]);var N=(n=>(n.OPEN_BRACKET="(",n.CLOSE_BRACKET=")",n.COMMA=",",n.SINGLE_QUOTATION="'",n.DOUBLE_QUOTATION='"',n.OPEN_BRACES="{",n.CLOSE_BRACES="}",n.COLON=":",n.OPEN_SQUARE_BRACKET="[",n.CLOSE_SQUARE_BRACKET="]",n))(N||{}),Ne=(n=>(n.PERCENTAGE="%",n.POUND="#",n))(Ne||{});const Ni=new Set(["%","#"]);var _e=(n=>(n.AT="@",n.MINUS="-",n))(_e||{});const Wi=" ",Mn=[...Object.values(M),...Object.values(se),...Object.values(N),...Object.values(Ne),...Object.values(_e)];function Ot(n){return Mn.includes(n)}function Fn(n){for(const i of Mn)if(n.indexOf(i)>-1)return!0;return!1}function Gi(n){return n[0]==="'"&&n[n.length-1]==="'"?n.substring(1,n.length-1):n}function Xi(n){return Ot(n)&&n!==N.CLOSE_BRACES&&n!==N.CLOSE_BRACKET&&n!==N.SINGLE_QUOTATION&&n!==N.DOUBLE_QUOTATION||n===" "}function vn(n){const i={};return Object.keys(n).forEach(e=>{const t=n[e];if(t==null)return!0;i[e]==null&&(i[e]={}),Object.keys(t).forEach(r=>{const s=t[r];i[e][r]=new D.ObjectMatrix(s)})}),i}function Ki(n){const i={};return Object.keys(n).forEach(e=>{const t=n[e];if(t==null)return!0;i[e]==null&&(i[e]={}),Object.keys(t).forEach(r=>{const s=t[r];i[e][r]=s.getData()})}),i}const We="P_1",tt="R_1",Dt="L_1",Mt="LR_1",Bn="LO_1",qi="LET",Ft="LAMBDA",Zi="CUBE";class K{constructor(){d(this,"_parent");d(this,"_token",tt);d(this,"_children",[]);d(this,"_lambdaId");d(this,"_functionDefinitionPrivacyVar");d(this,"_lambdaParameter","");d(this,"_startIndex",-1);d(this,"_endIndex",-1);d(this,"_definedNames",[])}dispose(){var i;this._children.forEach(e=>{typeof e!="string"&&e.dispose()}),(i=this._functionDefinitionPrivacyVar)==null||i.clear(),this._parent=null}getDefinedNames(){return this._definedNames}getStartIndex(){return this._startIndex}getLambdaId(){return this._lambdaId}setLambdaId(i){this._lambdaId=i}getFunctionDefinitionPrivacyVar(){return this._functionDefinitionPrivacyVar}setLambdaPrivacyVar(i){this._functionDefinitionPrivacyVar=i}getLambdaParameter(){return this._lambdaParameter}setLambdaParameter(i){this._lambdaParameter=i}getParent(){return this._parent}setParent(i){this._parent=i}getChildren(){return this._children}setChildren(i){this._children=i}addChildren(i){this._children.push(i)}addChildrenFirst(i){this._children.unshift(i)}getToken(){return this._token}setToken(i){this._token=i}setIndex(i,e){this._startIndex=i,this._endIndex=e}setDefinedNames(i){this._definedNames=i}hasDefinedNames(){return this._definedNames.length>0}replaceChild(i,e){const t=this._getIndexInParent(i);t!=null&&(this.getChildren().splice(t,1,e),e.setParent(this))}changeToParent(i){const e=this.getParent();e&&e.removeChild(this),this.setParent(i),i.getChildren().push(this)}removeChild(i){const e=this._getIndexInParent(i);e!=null&&this.getChildren().splice(e,1)}serialize(){const i=this.getToken(),e=this.getChildren(),t=[],r=e.length;for(let s=0;s<r;s++){const a=e[s];a instanceof K?t.push(a.serialize()):t.push(a)}return{token:i,st:this._startIndex,ed:this._endIndex,children:t}}_getIndexInParent(i){const e=this.getChildren(),t=e.length;for(let r=0;r<t;r++)if(e[r]===i)return r}}class ct{constructor(i){d(this,"_cache");this._cache=new D.LRUMap(i)}set(i,e){const t=this._hash(i);this._cache.set(t,e)}get(i){const e=this._hash(i);return this._cache.get(e)}clear(){this._cache.clear()}_hash(i){return D.hashAlgorithm(i)}}const Gr='\\[([^\\[\\]\\/?:"<>|*\\\\]+)\\]',Ji="((?![\\[\\]\\/?*\\\\]).)*!",rt="$",Xr="\\s*?:\\s*?",er="[A-Za-z]+",tr="[1-9][0-9]*",bt=`'?(${Gr})?(${Ji})?'?`,Kr=`\\${rt}?${er}\\${rt}?${tr}`,ea=`^(${_e.AT})?${bt}${Kr}${Xr}${Kr}$`,vt=`^${bt}\\s*?${Kr}(${Ne.POUND})?$`,Tn=`^${bt}\\${rt}?${tr}${Xr}\\${rt}?${tr}$`,kn=`^${bt}\\${rt}?${er}${Xr}\\${rt}?${er}$`,In=`^${bt}\\s*?\\${rt}?${tr}$`,jn=`^${bt}\\s*?\\${rt}?${er}$`,$n="[.*?]",ta="{.*?}";function Yn(n){return new RegExp(vt).test(n)||new RegExp(ea).test(n)||new RegExp(Tn).test(n)||new RegExp(kn).test(n)}var Ve=(n=>(n[n.NORMAL=0]="NORMAL",n[n.NUMBER=1]="NUMBER",n[n.STRING=2]="STRING",n[n.FUNCTION=3]="FUNCTION",n[n.REFERENCE=4]="REFERENCE",n[n.ARRAY=5]="ARRAY",n[n.DEFINED_NAME=6]="DEFINED_NAME",n))(Ve||{});function rr(n){let i="";for(const e of n)typeof e=="string"?i+=e:i+=e.token;return i}const ra=/[^0-9]/g,na=/[^A-Za-z]/g;function Bt(n){let i=n[0]==="$";const e=n.substring(1);let t=e.indexOf("$")>-1;return D.Tools.isStringNumber(e)&&i&&!t&&(i=!1,t=!0),i&&t?D.AbsoluteRefType.ALL:i?D.AbsoluteRefType.COLUMN:t?D.AbsoluteRefType.ROW:D.AbsoluteRefType.NONE}function sa(n){const i=n.split("!");i.length>1&&(n=i[i.length-1]);const e=n.split(":");return e.length>1?{startAbsoluteRefType:Bt(e[0]),endAbsoluteRefType:Bt(e[1])}:{startAbsoluteRefType:Bt(e[0])}}function Hn(n=D.AbsoluteRefType.NONE){let i="",e="";return n===D.AbsoluteRefType.ROW?i="$":n===D.AbsoluteRefType.COLUMN?e="$":n===D.AbsoluteRefType.ALL&&(i="$",e="$"),{rowAbsoluteString:i,columnAbsoluteString:e}}function Ge(n){const{startColumn:i,startRow:e,endColumn:t,endRow:r,startAbsoluteRefType:s,endAbsoluteRefType:a,rangeType:o=D.RANGE_TYPE.NORMAL}=n,u=Hn(s),l=Hn(a);if(o===D.RANGE_TYPE.ROW||o===D.RANGE_TYPE.ALL){const g=`${u.rowAbsoluteString}${e+1}`,p=`${l.rowAbsoluteString}${r+1}`;return`${g}:${p}`}if(o===D.RANGE_TYPE.COLUMN){const g=`${u.columnAbsoluteString}${D.Tools.chatAtABC(i)}`,p=`${l.columnAbsoluteString}${D.Tools.chatAtABC(t)}`;return`${g}:${p}`}const c=`${u.columnAbsoluteString}${D.Tools.chatAtABC(i)}${u.rowAbsoluteString}${e+1}`,m=`${l.columnAbsoluteString}${D.Tools.chatAtABC(t)}${l.rowAbsoluteString}${r+1}`;return c===m?c:`${c}:${m}`}function Qn(n,i){return ir(n)?`'${n}'!${Ge(i)}`:`${n}!${Ge(i)}`}function zn(n,i,e){return ir(n)||ir(i)?`'[${n}]${i}'!${Ge(e)}`:`[${n}]${i}!${Ge(e)}`}function ft(n){const{unitId:i,sheetName:e,range:t}=n;return i!=null&&i.length>0&&e!=null&&e.length>0?zn(i,e,t):e!=null&&e.length>0?Qn(e,t):Ge(t)}function nr(n){const i=Number.parseInt(n.replace(ra,""))-1,e=D.Tools.ABCatNum(n.replace(na,"")),t=Bt(n);return{row:i,column:e,absoluteRefType:t}}function Nn(n){const i=new RegExp(Gr).exec(n);let e="";i!=null&&(e=i[0].trim(),e=e.slice(1,e.length-1),n=n.replace(new RegExp(Gr),""));const t=n.indexOf("!");let r="",s="";return t>-1?(r=n.substring(0,t),r[0]==="'"&&r[r.length-1]==="'"&&(r=r.substring(1,r.length-1)),s=n.substring(t+1)):s=n,{refBody:s,sheetName:r,unitId:e}}function je(n){const{refBody:i,sheetName:e,unitId:t}=Nn(n),r=i.indexOf(":");if(r===-1){const R=nr(i),b=R.row,L=R.column,U=R.absoluteRefType;return{unitId:t,sheetName:e,range:{startRow:b,startColumn:L,endRow:b,endColumn:L,startAbsoluteRefType:U,endAbsoluteRefType:U}}}const s=i.substring(0,r),a=i.substring(r+1),o=nr(s),u=nr(a),l=o.row,c=o.column,m=u.row,g=u.column;let p=D.RANGE_TYPE.NORMAL;return Number.isNaN(l)&&Number.isNaN(m)?p=D.RANGE_TYPE.COLUMN:Number.isNaN(c)&&Number.isNaN(g)&&(p=D.RANGE_TYPE.ROW),{unitId:t,sheetName:e,range:{startRow:l,startColumn:c,endRow:m,endColumn:g,startAbsoluteRefType:o.absoluteRefType,endAbsoluteRefType:u.absoluteRefType,rangeType:p}}}function sr(n){if(!Yn(n))return!1;const{range:i}=je(n);return!(i.endColumn>=16384)}function ia(n,i){const e=(n==null?void 0:n.split(","))||[];return n===""||e.length===0?[]:Wn(n)?e.map(s=>{const a=je(s);return{unitId:a.unitId,sheetId:i(a.sheetName),range:a.range,sheetName:a.sheetName}}):[]}function Wn(n){return((n==null?void 0:n.split(","))||[]).every(e=>sr(e.trim()))}function ir(n){return n.length===0?!1:!!(Fn(n)||aa(n)||oa(n)||ua(n)||/[\s!$%^&*()+\-=\[\]{};':"\\|,.<>\/?]/.test(n))}function aa(n){const i=n.match(/[1-9][0-9]{0,6}/);return/^[A-Z]+[1-9][0-9]{0,6}$/.test(n)&&i!==null}function oa(n){return/^(R(-?[0-9]+)?C(-?[0-9]+)?|C(-?[0-9]+)?|R(-?[0-9]+)?)$/.test(n)}function ua(n){return!new RegExp("^\\p{Letter}","u").test(n.charAt(0))}const Gn=1e5,qr=new ct(Gn),Zr=new ct(Gn);class ar extends D.Disposable{constructor(){super(...arguments);d(this,"_currentLexerNode",new K);d(this,"_upLevel",0);d(this,"_segment","");d(this,"_bracketState",[]);d(this,"_squareBracketState",0);d(this,"_bracesState",0);d(this,"_singleQuotationState",0);d(this,"_doubleQuotationState",0);d(this,"_lambdaState",!1);d(this,"_colonState",!1);d(this,"_tableBracketState",!1)}dispose(){this._resetTemp(),this._currentLexerNode.dispose(),qr.clear(),Zr.clear()}getUpLevel(){return this._upLevel}isColonClose(){return this._colonState===!1}isColonOpen(){return this._colonState===!0}isDoubleQuotationClose(){return this._doubleQuotationState===0}isLambdaOpen(){return this._lambdaState===!0}isLambdaClose(){return this._lambdaState===!1}isSingleQuotationClose(){return this._singleQuotationState===0}isBracesClose(){return this._bracesState===0}isBracketClose(){return this._bracketState.length===0}isSquareBracketClose(){return this._squareBracketState===0}getCurrentLexerNode(){return this._currentLexerNode}getFunctionAndParameter(e,t){const r=this._getCurrentParamIndex(e,t);if(r==null||r===f.VALUE)return;const s=r[0];if(typeof s=="string")return;let a=s.getParent(),o=s;for(;a;){const u=a.getToken();if(u!==We&&!Ot(u)&&a.getStartIndex()!==-1){const l=a.getChildren().indexOf(o);return{functionName:u,paramIndex:l}}o=a,a=a.getParent()}}checkIfAddBracket(e){let t=0,r=e.length-1,s=e[r];for(;(s===N.CLOSE_BRACKET||s===" ")&&r>=0;)s===N.CLOSE_BRACKET&&t++,s=e[--r];const a=this._getCurrentParamIndex(e,e.length-2);if(a==null||a===f.VALUE)return 0;const o=a[0];if(typeof o=="string")return 0;let u=o.getParent(),l=0;for(a[1]===N.OPEN_BRACKET&&l++;u;){const c=u.getToken();c!==We&&c!==N.COLON&&u.getStartIndex()!==-1&&c.toUpperCase()!==Ft&&(t===0?l+=1:t--),u=u.getParent()}return l}sequenceNodesBuilder(e){const t=Zr.get(e);if(t)return[...t];const r=this._getSequenceArray(e);if(r.length===0)return;const s=this.getSequenceNode(r);return Zr.set(e,[...s]),s}convertRefersToAbsolute(e,t,r){const s=this.sequenceNodesBuilder(e);if(s==null)return e;let a="";e.substring(0,1)===se.EQUALS&&(a=se.EQUALS);for(let o=0,u=s.length;o<u;o++){const l=s[o];if(typeof l!="string"&&l.nodeType===Ve.REFERENCE){const{token:c,endIndex:m}=l,g=je(c);if(g==null)continue;const{range:p,sheetName:R,unitId:b}=g,L={...p,startAbsoluteRefType:t,endAbsoluteRefType:r},U=ft({range:L,unitId:b,sheetName:R}),B=U.length-c.length;s[o]={...l,token:U,endIndex:m+B};for(let T=o+1;T<u;T++){const q=s[T];typeof q!="string"&&(q.startIndex+=B,q.endIndex+=B)}}}return`${a}${rr(s)}`}moveFormulaRefOffset(e,t,r,s=!1){const a=this.sequenceNodesBuilder(e);if(a==null)return e;const o=[];for(let u=0,l=a.length;u<l;u++){const c=a[u];if(typeof c=="string"||c.nodeType!==Ve.REFERENCE){o.push(c);continue}const{token:m}=c,g=je(m),{sheetName:p,unitId:R}=g;let b=g.range;if(!s&&b.startAbsoluteRefType===D.AbsoluteRefType.ALL&&b.endAbsoluteRefType===D.AbsoluteRefType.ALL){o.push(c);continue}else b=D.moveRangeByOffset(b,t,r,s);let L="";D.isValidRange(b)?L=ft({range:b,unitId:R,sheetName:p}):L=f.REF,o.push({...c,token:L})}return`=${rr(o)}`}getSequenceNode(e){const t=[];let r=!1;for(let s=0,a=e.length;s<a;s++){const o=e[s],u=e[s-1],{segment:l,currentString:c}=o;if(c===N.DOUBLE_QUOTATION&&(r=!0),(l!==""||s===0)&&s!==a-1){t.push(c);continue}let m=(u==null?void 0:u.segment)||"",g=s-m.length,p=s-1,R=s-1;if(s===a-1&&this._isLastMergeString(c)&&(m+=c,p+=1),m===""||Jt.has(m)){t.push(c);continue}const b=m.trim(),L=this._replacePrefixString(b);if(r===!0&&b[b.length-1]===N.DOUBLE_QUOTATION)r=!1,this._processPushSequenceNode(t,Ve.STRING,m,g,p,R);else if(new RegExp(vt).test(L)&&sr(L)){if(L.length!==b.length){const U=b.length-L.length;R+=U,g+=U,m=this._replacePrefixString(m)}this._processPushSequenceNode(t,Ve.REFERENCE,m,g,p,R)}else D.Tools.isStringNumber(b)?this._processPushSequenceNode(t,Ve.NUMBER,m,g,p,R):b.length>0&&this._processPushSequenceNode(t,Ve.FUNCTION,m,g,p,R);(s!==a-1||!this._isLastMergeString(c))&&t.push(c)}return this._mergeSequenceNodeReference(t)}_processPushSequenceNode(e,t,r,s,a,o){this._pushSequenceNode(e,{nodeType:t,token:r,startIndex:s,endIndex:a},o)}_getCurrentParamIndex(e,t){return this._nodeMaker(e,void 0,t)}_isLastMergeString(e){return e===N.DOUBLE_QUOTATION||D.Tools.isStringNumber(e)||!Ot(e)}_mergeSequenceNodeReference(e){const t=[],r=e.length;let s=0;for(;s<r;){const a=e[s];if(typeof a=="string"){const o=e[s-1];if(a.trim()===N.CLOSE_BRACES&&o!=null&&typeof o!="string"&&o.nodeType===Ve.FUNCTION&&o.token.trim().substring(0,1)===N.OPEN_BRACES){o.nodeType=Ve.ARRAY,o.token+=a,o.endIndex+=a.length,s++;continue}t.push(a)}else{const o=e[s+1],u=e[s+2];o===N.COLON&&typeof a!="string"&&u!=null&&typeof u!="string"&&sr((a.token+o+u.token).trim())&&(a.nodeType=Ve.REFERENCE,a.token+=o+u.token,a.endIndex=u.endIndex,s+=2),t.push(a)}s++}return t}_pushSequenceNode(e,t,r){const s=r-t.startIndex+1;e.splice(e.length-s,s,t)}_replacePrefixString(e){const t=[];let r=!1;for(let s=0,a=e.length;s<a;s++){const o=e[s];if(o===Wi&&!r)t.push(o);else{if(!r&&(o===_e.AT||o===_e.MINUS))continue;t.push(o),r=!0}}return t.join("")}nodeMakerTest(e){return this._nodeMaker(e)}treeBuilder(e,t=!0,r,s){if(t===!0){const g=qr.get(e),p=s==null?void 0:s(e);if(g&&!p)return g}this._resetCurrentLexerNode(),this._currentLexerNode.setToken(tt);const a=[];let o=this._nodeMaker(e,a);if(o===f.VALUE||a.length===0)return o;let u=!1,l="",c=[];if(r){const{hasDefinedName:g,sequenceString:p,definedNames:R}=r(a);u=g,l=p,c=R}if(u&&(this._resetCurrentLexerNode(),this._currentLexerNode.setToken(tt),o=this._nodeMaker(`=${l}`),o===f.VALUE))return o;const m=this._getTopNode(this._currentLexerNode);if(m&&(this._currentLexerNode=m),t){if(!this._suffixExpressionHandler(this._currentLexerNode))return f.VALUE;qr.set(e,this._currentLexerNode)}return u&&this._currentLexerNode.setDefinedNames(c),this._currentLexerNode}_suffixExpressionHandler(e){var o;const t=e.getChildren();if(!t)return!1;const r=t.length,s=[],a=[];for(let u=0;u<r;u++){const l=t[u];if(l instanceof K)this._suffixExpressionHandler(l),s.push(l);else{const c=l.trim();if(c==="")continue;if(lt.has(c)){if(c===se.PLUS&&this._deletePlusForPreNode(t[u-1]))continue;if(c!==se.PLUS&&c!==se.MINUS&&this._deletePlusForPreNode(t[u-1]))return!1;for(;a.length>0;){const m=(o=a[a.length-1])==null?void 0:o.trim();if(!m||m===N.OPEN_BRACKET)break;const g=Jt.get(m),p=Jt.get(c);if(!g||!p)break;if(p>=g)s.push(a.pop());else break}a.push(l)}else if(c===N.OPEN_BRACKET)a.push(l);else if(c===N.CLOSE_BRACKET)this._processSuffixExpressionCloseBracket(s,a,t,u);else{if(this._checkCloseBracket(t[u-1]))return!1;s.push(l)}}}return this._processSuffixExpressionRemain(s,a,e)}_processSuffixExpressionRemain(e,t,r){const s=e.length,a=e[s-1];for(;t.length>0;){const o=t.pop();if(!(a instanceof K)&&(o===N.OPEN_BRACKET||o===N.CLOSE_BRACKET))return!1;e.push(o)}return r.setChildren(e),!0}_processSuffixExpressionCloseBracket(e,t,r,s){var a;if(this._checkOpenBracket(r[s-1])||this._checkOperator(r[s-1]))return!1;for(;t.length>0;){const o=(a=t[t.length-1])==null?void 0:a.trim();if(!o)break;if(o===N.OPEN_BRACKET){t.pop();break}e.push(t.pop())}}_checkCloseBracket(e){return e===N.CLOSE_BRACKET}_checkOpenBracket(e){return e===N.OPEN_BRACKET}_checkOperator(e){return e==null||e instanceof K?!1:lt.has(e)}_deletePlusForPreNode(e){if(e==null)return!0;if(!(e instanceof K)){const t=e.trim();if(lt.has(t)||t===N.OPEN_BRACKET)return!0}return!1}_resetCurrentLexerNode(){this._currentLexerNode=new K}_resetSegment(){this._segment=""}_openBracket(e=0){this._bracketState.push(e)}_closeBracket(){this._bracketState.pop()}_openSquareBracket(){this._squareBracketState+=1}_closeSquareBracket(){this._squareBracketState-=1}_getCurrentBracket(){const e=this._bracketState;return e[e.length-1]}_changeCurrentBracket(e){const t=this._bracketState;t[t.length-1]=e}_openBraces(){this._bracesState+=1}_closeBraces(){this._bracesState-=1}_openSingleQuotation(){this._singleQuotationState+=1}_closeSingleQuotation(){this._singleQuotationState-=1}_openDoubleQuotation(){this._doubleQuotationState+=1}_closeDoubleQuotation(){this._doubleQuotationState-=1}_openLambda(){this._lambdaState=!0}_closeLambda(){this._lambdaState=!1}_openColon(e){this._upLevel=e,this._colonState=!0}_closeColon(){this._upLevel=0,this._colonState=!1}_isTableBracket(){return this._tableBracketState}_openTableBracket(){this._tableBracketState=!0}_closeTableBracket(){this._tableBracketState=!1}_getLastChildCurrentLexerNode(){const e=this._currentLexerNode.getChildren();if(e&&e.length>0){const t=e[e.length-1];if(t instanceof K)return t}return!1}_getLastChildCurrent(){const e=this._currentLexerNode.getChildren();return e&&e.length>0?e[e.length-1]:!1}_setParentCurrentLexerNode(){const e=this._currentLexerNode.getParent();return e?(this._currentLexerNode=e,!0):!1}_setAncestorCurrentLexerNode(){var r,s,a,o,u,l;const e=(r=this._currentLexerNode)==null?void 0:r.getParent();let t=!1;if(e&&e.getToken()===Dt){if((s=e==null?void 0:e.getParent())!=null&&s.getParent()){const c=(o=(a=this._currentLexerNode.getParent())==null?void 0:a.getParent())==null?void 0:o.getParent();c&&(this._currentLexerNode=c),t=!0}}else if(e!=null&&e.getParent()){const c=(u=this._currentLexerNode.getParent())==null?void 0:u.getParent();c&&(this._currentLexerNode=c),t=!0}for(let c=0;c<this._upLevel;c++){const m=(l=this._currentLexerNode)==null?void 0:l.getParent();m&&(this._currentLexerNode=m),this._currentLexerNode?t=!0:t=!1}return t}_segmentCount(){return this._segment.trim().length}_pushSegment(e){this._segment+=e}_pushNodeToChildren(e,t=!1){if(e!==""){const r=this._currentLexerNode.getChildren();if(!(e instanceof K)&&this.isColonOpen()){const s=new K;s.setToken(e),s.setParent(this._currentLexerNode),e=s}t?r.unshift(e):r.push(e)}this.isColonOpen()&&(this._setAncestorCurrentLexerNode(),this._closeColon())}_setCurrentLexerNode(e,t=!1){this._pushNodeToChildren(e,t),e.setParent(this._currentLexerNode),this._currentLexerNode=e}_newAndPushCurrentLexerNode(e,t,r=!1){const s=new K;s.setToken(e),s.setIndex(t-e.length,t-1),this._setCurrentLexerNode(s,r)}_getTopNode(e){let t=e;for(;t!=null&&t.getParent();)t=t.getParent();return t}_removeLastChild(){this._currentLexerNode.getChildren().splice(-1)}_findPreviousToken(e,t){for(;t>=0;){const r=e[t];if(r!==" ")return r;t--}}_negativeCondition(e){return!!(lt.has(e)||e===N.OPEN_BRACKET||e===N.COMMA||e==="")}_getSequenceArray(e){const t=[];return this._nodeMaker(e,t),t}_resetTemp(){this._currentLexerNode=new K,this._upLevel=0,this._segment="",this._bracketState=[],this._bracesState=0,this._singleQuotationState=0,this._doubleQuotationState=0,this._lambdaState=!1,this._colonState=!1}_checkSimilarErrorToken(e,t,r){if(e!==Ne.POUND)return!0;let s=r[++t];for(;s===" ";)s=r[++t];return!!Ot(s)}_nodeMaker(e,t,r){e.substring(0,1)===se.EQUALS&&(e=e.substring(1));let s=!1;e.substring(0,1)===se.MINUS&&(e=`0${e}`,s=!0);const a=e.split(""),o=a.length;let u=0;for(this._resetTemp();u<o;){const l=a[u];if(r===u)return[this._currentLexerNode,l];if(l===N.OPEN_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())if(this._segmentCount()>0||this.isLambdaOpen()){this.isLambdaClose()&&(this._newAndPushCurrentLexerNode(this._segment,u),this._resetSegment()),this._openBracket(1),this._closeLambda();const c=a[u+1];if(c&&c===N.CLOSE_BRACKET){if(!this._setParentCurrentLexerNode()&&u!==o-1)return f.VALUE;this._addSequenceArray(t,l,u,s),u++,this._addSequenceArray(t,c,u,s),u++,this._closeBracket();continue}else c&&this._newAndPushCurrentLexerNode(We,u)}else this._pushNodeToChildren(l),this._openBracket(0);else if(l===N.CLOSE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()){this._pushNodeToChildren(this._segment),this._resetSegment();const c=this._getCurrentBracket();if(c===0)this._pushNodeToChildren(l);else if(c===1){const m=a[u+1];if(m&&m===N.OPEN_BRACKET){if(!this._setParentCurrentLexerNode()&&u!==o-1)return f.VALUE;this._newAndPushCurrentLexerNode(Dt,u,!0),this._openLambda()}else if(!this._setAncestorCurrentLexerNode()&&u!==o-1)return f.VALUE}else return f.VALUE;this._closeBracket()}else if(l===N.OPEN_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(l),this._openBraces();else if(l===N.CLOSE_BRACES&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._pushSegment(l),this._pushNodeToChildren(this._segment),this._resetSegment(),this._closeBraces();else if(l===N.OPEN_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._segment.length>0&&this._openTableBracket(),this._pushSegment(l),this._openSquareBracket();else if(l===N.CLOSE_SQUARE_BRACKET&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose())this._closeSquareBracket(),this.isSquareBracketClose()?(this._pushSegment(l),this._isTableBracket()&&(this._pushNodeToChildren(this._segment),this._resetSegment()),this._closeTableBracket()):this._pushSegment(l);else if(l===N.DOUBLE_QUOTATION&&this.isSingleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){if(this.isDoubleQuotationClose())this._openDoubleQuotation();else{const c=a[u+1];c&&c===N.DOUBLE_QUOTATION?u++:this._closeDoubleQuotation()}this._pushSegment(l)}else if(l===N.SINGLE_QUOTATION&&this.isDoubleQuotationClose()){if(this.isSingleQuotationClose())this._openSingleQuotation();else{const c=a[u+1];c&&c===N.SINGLE_QUOTATION?u++:this._closeSingleQuotation()}this._pushSegment(l)}else if(l===N.COMMA&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){const c=this._getCurrentBracket();if(c===1||c==null){if(this._pushNodeToChildren(this._segment),this._resetSegment(),!this._setParentCurrentLexerNode()&&u!==o-1&&c!=null)return f.VALUE;this._newAndPushCurrentLexerNode(We,u)}else{const m=new K;m.setToken(Zi);const g=new K;g.setToken(We),g.changeToParent(m);const p=this._currentLexerNode.getParent();if(p&&p.getToken()===N.COLON){const R=p.getParent();if(!R)return f.VALUE;p.changeToParent(g),R.setChildren([]),m.changeToParent(R)}else return f.VALUE;this._changeCurrentBracket(1),this._pushNodeToChildren(this._segment),this._resetSegment(),this._currentLexerNode=m,this._newAndPushCurrentLexerNode(We,u)}}else if(l===N.COLON&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isBracesClose()&&this.isSquareBracketClose()){const c=new K;c.setToken(l);const m=new K;m.setToken(We),m.setParent(c);const g=new K;g.setToken(We),g.setParent(c),c.getChildren().push(m,g);let p=c,R=0;if(this._segmentCount()>0){let b,L,U=0;const B=this._segment.trim(),T=B[0],q=B[1];if(T===_e.MINUS&&(b=new K,b.setToken(_e.MINUS),U++),(T===_e.AT||q===_e.AT)&&(L=new K,L.setToken(_e.AT),b&&(b.addChildren(L),L.setParent(b)),U++),U>0&&(this._segment=B.slice(U)),R=U,L)if(L.addChildren(c),c.setParent(L),L.getParent()){const pe=L.getParent();pe&&(p=pe)}else p=L;else b&&(p=b,b.addChildren(c),c.setParent(b));const le=new K;le.setToken(this._segment),le.setParent(m),m.getChildren().push(le),this._resetSegment()}else{const b=this._getLastChildCurrentLexerNode();b&&b.changeToParent(m)}this._setCurrentLexerNode(p),this._currentLexerNode=g,this._openColon(R)}else if(Ni.has(l)&&this._checkSimilarErrorToken(l,u,a)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()){this._pushNodeToChildren(this._segment);const c=new K;c.setToken(l);const m=this._getLastChildCurrent();m instanceof K?m.changeToParent(c):m!==!1&&(c.getChildren().push(m),this._removeLastChild()),this._pushNodeToChildren(c),c.setParent(this._currentLexerNode),this._resetSegment()}else if(lt.has(l)&&this.isSingleQuotationClose()&&this.isDoubleQuotationClose()&&this.isSquareBracketClose()){let c=this._segment.trim();if(l===se.MINUS&&c===""){const m=this._findPreviousToken(a,u-1)||"";if(this._negativeCondition(m)){this._pushSegment(se.MINUS),this._addSequenceArray(t,l,u,s),u++;continue}}else if(this._segment.length>0&&this._isScientificNotation(a,u,l)){this._pushSegment(l),this._addSequenceArray(t,l,u,s),u++;continue}else this._segment.length>0&&c===""?c=this._segment:(this._pushNodeToChildren(this._segment),c="");if(l===se.LESS_THAN||l===se.GREATER_THAN){const m=a[u+1];if(m&&lt.has(l+m)){this._pushNodeToChildren(c+l+m),this._resetSegment(),this._addSequenceArray(t,l,u,s),u++,this._addSequenceArray(t,m,u,s),u++;continue}else this._pushNodeToChildren(c+l)}else this._pushNodeToChildren(c+l);this._resetSegment()}else this._pushSegment(l);this._addSequenceArray(t,l,u,s),u++}this._pushNodeToChildren(this._segment)}_isScientificNotation(e,t,r){const s=e[t-2];if(s&&Number.isNaN(Number(s))||!(r===se.MINUS||r===se.PLUS))return!1;const a=e[t+1];if(a&&Number.isNaN(Number(a)))return!1;const o=e[t-1];return o&&o.toUpperCase()==="E"}_addSequenceArray(e,t,r,s){s&&r===0||e==null||e.push({segment:this._segment,currentString:t,cur:r,currentLexerNode:this._currentLexerNode})}}class or extends D.Disposable{constructor(){super(...arguments);d(this,"pattern","")}getPattern(){return this.pattern}setPattern(e){this.pattern=e}isError(){return!1}isAsyncObject(){return!1}isAsyncArrayObject(){return!1}isReferenceObject(){return!1}isArray(){return!1}isValueObject(){return!1}isEqualType(e){return!1}}var nt=(n=>(n.FALSE="FALSE",n.TRUE="TRUE",n))(nt||{}),ht=(n=>(n[n.SUCCESS=0]="SUCCESS",n[n.ERROR=1]="ERROR",n))(ht||{}),mt=(n=>(n.ALL="#All",n.DATA="#Data",n.HEADERS="#Headers",n.TOTALS="#Totals",n))(mt||{}),Fe=(n=>(n[n.FRONT=0]="FRONT",n[n.BACK=1]="BACK",n))(Fe||{});class la{constructor(){d(this,"_cache",new Map);d(this,"_continueBuildingCache",new Map)}set(i,e,t,r,s){if(!this.shouldContinueBuildingCache(i,e,t,s))return;let a=this._cache.get(i);a==null&&(a=new Map,this._cache.set(i,a));let o=a.get(e);o==null&&(o=new Map,a.set(e,o));let u=o.get(t);u==null&&(u=new Map,o.set(t,u));let l=u.get(r);l==null&&(l=new Set,u.set(r,l)),l.add(s)}getCellValuePositions(i,e,t){var r,s;return(s=(r=this._cache.get(i))==null?void 0:r.get(e))==null?void 0:s.get(t)}getCellPositions(i,e,t,r){var s,a,o;return(o=(a=(s=this._cache.get(i))==null?void 0:s.get(e))==null?void 0:a.get(t))==null?void 0:o.get(r)}getCellPosition(i,e,t,r,s,a){const o=this.getCellPositions(i,e,t,r);if(o!=null){for(const u of o)if(u>=s&&u<=a)return u}}setContinueBuildingCache(i,e,t,r,s){let a=this._continueBuildingCache.get(i);a==null&&(a=new Map,this._continueBuildingCache.set(i,a));let o=a.get(e);o==null&&(o=new Map,a.set(e,o));let u=o.get(t);if(u==null){u={startRow:r,endRow:s},o.set(t,u);return}u.startRow=Math.min(u.startRow,r),u.endRow=Math.max(u.endRow,s)}shouldContinueBuildingCache(i,e,t,r){var u,l;const s=(l=(u=this._continueBuildingCache.get(i))==null?void 0:u.get(e))==null?void 0:l.get(t);if(s==null)return!0;const{startRow:a,endRow:o}=s;return!(r>=a&&r<=o)}canUseCache(i,e,t,r,s){var l,c;if(t===-1||r===-1||s===-1)return!1;const a=(c=(l=this._continueBuildingCache.get(i))==null?void 0:l.get(e))==null?void 0:c.get(t);if(a==null)return!1;const{startRow:o,endRow:u}=a;return!(r>u||s<o)}clear(){this._cache.clear(),this._continueBuildingCache.clear()}}const st=new la;var Xe=(n=>(n[n.MIN=0]="MIN",n[n.MAX=1]="MAX",n))(Xe||{}),we=(n=>(n[n.NORMAL=0]="NORMAL",n[n.MIN=1]="MIN",n[n.MAX=2]="MAX",n))(we||{});function Xn(){return Intl&&Intl.Collator?new Intl.Collator(void 0,{numeric:!1}).compare:(n,i)=>n.localeCompare(i)}function ca(n){return n.indexOf("*")>-1||n.indexOf("?")>-1}function Jr(n,i){const e=ha(i).replace(/~?[*?]/g,r=>r.startsWith("~")?`\\${r.substring(1)}`:r==="*"?".*":r==="?"?".":r);return new RegExp(`^${e}$`).test(n)}function Kn(n){return n.replace(/~?[*?]/g,i=>i.startsWith("~")?i.substring(1):" ")}function fa(n,i,e){let t=!1;switch(e){case M.EQUALS:t=Jr(n,i);break;case M.NOT_EQUAL:t=!Jr(n,i);break;case M.GREATER_THAN:case M.GREATER_THAN_OR_EQUAL:t=Jr(n,i)||n>Kn(i);break;case M.LESS_THAN:case M.LESS_THAN_OR_EQUAL:t=n<Kn(i);break}return t}function ha(n){return n.replace(/[.+^${}()|[\]\\]/g,"\\$&")}class Ke extends or{constructor(i){super(),this._rawValue=i}isValueObject(){return!0}toUnitRange(){return{range:{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1},sheetId:"",unitId:""}}getValue(){return 0}getArrayValue(){return[]}setValue(i){}setArrayValue(i){}isCube(){return!1}isString(){return!1}isNumber(){return!1}isBoolean(){return!1}isLambda(){return!1}isError(){return!1}isNull(){return!1}sum(){return h.create(f.VALUE)}max(){return h.create(f.VALUE)}min(){return h.create(f.VALUE)}count(){return h.create(f.VALUE)}countA(){return h.create(f.VALUE)}countBlank(){return h.create(f.VALUE)}getNegative(){return h.create(f.VALUE)}getReciprocal(){return h.create(f.VALUE)}plus(i){return h.create(f.VALUE)}minus(i){return h.create(f.VALUE)}multiply(i){return h.create(f.VALUE)}divided(i){return h.create(f.VALUE)}mod(i){return h.create(f.VALUE)}map(i){return h.create(f.NAME)}mapValue(i){return h.create(f.NAME)}compare(i,e,t=!1){return h.create(f.NAME)}isEqual(i){return this.compare(i,M.EQUALS)}isNotEqual(i){return this.compare(i,M.NOT_EQUAL)}isGreaterThanOrEqual(i){return this.compare(i,M.GREATER_THAN_OR_EQUAL)}isLessThanOrEqual(i){return this.compare(i,M.LESS_THAN_OR_EQUAL)}isLessThan(i){return this.compare(i,M.LESS_THAN)}isGreaterThan(i){return this.compare(i,M.GREATER_THAN)}concatenateFront(i){return h.create(f.NAME)}concatenateBack(i){return h.create(f.NAME)}plusBy(i){return h.create(f.VALUE)}minusBy(i){return h.create(f.VALUE)}multiplyBy(i){return h.create(f.VALUE)}dividedBy(i){return h.create(f.VALUE)}modInverse(i){return h.create(f.VALUE)}compareBy(i,e){return h.create(f.NAME)}concatenate(i,e=Fe.FRONT){let t=this.getValue().toString();if(typeof i=="string")e===Fe.FRONT?t=i+t:t+=i;else if(typeof i=="number")e===Fe.FRONT?t=i.toString()+t:t+=i.toString();else if(typeof i=="boolean"){const r=i?"TRUE":"FALSE";e===Fe.FRONT?t=r+t:t+=r}return t}pow(i){return h.create(f.VALUE)}powInverse(i){return h.create(f.VALUE)}sqrt(){return h.create(f.VALUE)}cbrt(){return h.create(f.VALUE)}cos(){return h.create(f.VALUE)}acos(){return h.create(f.VALUE)}acosh(){return h.create(f.VALUE)}sin(){return h.create(f.VALUE)}sinh(){return h.create(f.VALUE)}asin(){return h.create(f.VALUE)}asinh(){return h.create(f.VALUE)}tan(){return h.create(f.VALUE)}tanh(){return h.create(f.VALUE)}atan(){return h.create(f.VALUE)}atan2(i){return h.create(f.VALUE)}atan2Inverse(i){return h.create(f.VALUE)}atanh(){return h.create(f.VALUE)}mean(){return this}median(){return this}var(){return this}std(){return this}log(){return h.create(f.VALUE)}log10(){return h.create(f.VALUE)}exp(){return h.create(f.VALUE)}abs(){return h.create(f.VALUE)}round(i){return h.create(f.VALUE)}roundInverse(i){return h.create(f.VALUE)}floor(i){return h.create(f.VALUE)}floorInverse(i){return h.create(f.VALUE)}ceil(i){return h.create(f.VALUE)}ceilInverse(i){return h.create(f.VALUE)}convertToNumberObjectValue(){return h.create(f.VALUE)}convertToBooleanObjectValue(){return h.create(f.VALUE)}}const ma=1e3,qn=new ct(ma);class h extends Ke{constructor(i,e=""){super(i),this._errorType=i,this._errorContent=e}static create(i,e=""){const t=`${i}-${e}`,r=qn.get(t);if(r)return r;const s=new h(i,e);return qn.set(t,s),s}getValue(){return this._errorType}getErrorType(){return this._errorType}getErrorContent(){return this._errorContent}isEqualType(i){return i.getErrorType()===this.getErrorType()}isError(){return!0}}function en(n){let i;switch(n){case M.EQUALS:i=M.EQUALS;break;case M.GREATER_THAN:i=M.LESS_THAN;break;case M.GREATER_THAN_OR_EQUAL:i=M.LESS_THAN_OR_EQUAL;break;case M.LESS_THAN:i=M.GREATER_THAN;break;case M.LESS_THAN_OR_EQUAL:i=M.GREATER_THAN_OR_EQUAL;break;case M.NOT_EQUAL:i=M.NOT_EQUAL;break}return i}function Zn(n,i){return n+i}function Jn(n,i){return n-i}function St(n,i){return n*i}function es(n,i){return n/i}function ts(n,i){const e=10**Math.floor(i),t=tn(n,e);return Math.round(St(n,e)+t)/e}function rs(n,i){const e=10**Math.floor(i),t=tn(n,e);return Math.floor(St(n,e)+t)/e}function ns(n,i){const e=10**Math.floor(i),t=tn(n,e);return Math.ceil(St(n,e)-t)/e}function tn(n,i){return Number.EPSILON*Math.max(1,Math.abs(St(n,i)))}function ss(n,i){return n-i*Math.floor(n/i)}function is(n,i){return n**i}function da(n){return Math.sqrt(n)}function as(n,i){return n===i}function ga(n,i){return n>i}function pa(n,i){return n>=i}function Ra(n,i){return n<i}function _a(n,i){return n<=i}function rn(n,i=15){return Number.parseFloat(n.toPrecision(i))}function Ea(n,i){return Math.abs(n-i)<Number.EPSILON}function os(n,i=12){const e=rn(n,i);return Ea(n,e)?e:rn(n)}function Ca(n){return n-Math.trunc(n)}var ya=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Da(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var us={exports:{}};(function(n,i){(function(e,t){n.exports=t()})(typeof self<"u"?self:ya,function(){return function(){var e={d:function(E,_){for(var C in _)e.o(_,C)&&!e.o(E,C)&&Object.defineProperty(E,C,{enumerable:!0,get:_[C]})},o:function(E,_){return Object.prototype.hasOwnProperty.call(E,_)}},t={};e.d(t,{default:function(){return Zc}});var r={1078:"af",1052:"sq",1118:"am",5121:"ar_DZ",15361:"ar_BH",3073:"ar_EG",2049:"ar_IQ",11265:"ar_JO",13313:"ar_KW",12289:"ar_LB",4097:"ar_LY",6145:"ar_MA",8193:"ar_OM",16385:"ar_QA",1025:"ar_SA",10241:"ar_SY",7169:"ar_TN",14337:"ar_AE",9217:"ar_YE",1067:"hy",1101:"as",2092:"az_AZ",1068:"az_AZ",1069:"eu",1059:"be",2117:"bn",1093:"bn_IN",5146:"bs",1026:"bg",1109:"my",1027:"ca",2052:"zh_CN",3076:"zh_HK",5124:"zh_MO",4100:"zh_SG",1028:"zh_TW",1050:"hr",1029:"cs",1030:"da",1125:"dv",2067:"nl_BE",1043:"nl_NL",1126:"bin",3081:"en_AU",10249:"en_BZ",4105:"en_CA",9225:"en_CB",2057:"en_GB",16393:"en_IN",6153:"en_IE",8201:"en_JM",5129:"en_NZ",13321:"en_PH",7177:"en_ZA",11273:"en_TT",1033:"en_US",12297:"en_ZW",1061:"et",1071:"mk",1080:"fo",1065:"fa",1124:"fil",1035:"fi",2060:"fr_BE",11276:"fr_CM",3084:"fr_CA",9228:"fr_CG",12300:"fr_CI",1036:"fr_FR",5132:"fr_LU",13324:"fr_ML",6156:"fr_MC",14348:"fr_MA",10252:"fr_SN",4108:"fr_CH",7180:"fr",1122:"fy_NL",2108:"gd_IE",1084:"gd",1110:"gl",1079:"ka",3079:"de_AT",1031:"de_DE",5127:"de_LI",4103:"de_LU",2055:"de_CH",1032:"el",1140:"gn",1095:"gu",1279:"en",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig_NG",1057:"id",1040:"it_IT",2064:"it_CH",1041:"ja",1099:"kn",1120:"ks",1087:"kk",1107:"km",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1142:"la",1062:"lv",1063:"lt",2110:"ms_BN",1086:"ms_MY",1100:"ml",1082:"mt",1112:"mni",1153:"mi",1102:"mr",1104:"mn",2128:"mn",1121:"ne",1044:"no_NO",2068:"no_NO",1096:"or",1045:"pl",1046:"pt_BR",2070:"pt_PT",1094:"pa",1047:"rm",2072:"ro_MO",1048:"ro_RO",1049:"ru",2073:"ru_MO",1083:"se",1103:"sa",3098:"sr_SP",2074:"sr_SP",1072:"st",1074:"tn",1113:"sd",1115:"si",1051:"sk",1060:"sl",1143:"so",1070:"sb",11274:"es_AR",16394:"es_BO",13322:"es_CL",9226:"es_CO",5130:"es_CR",7178:"es_DO",12298:"es_EC",17418:"es_SV",4106:"es_GT",18442:"es_HN",2058:"es_MX",19466:"es_NI",6154:"es_PA",15370:"es_PY",10250:"es_PE",20490:"es_PR",1034:"es_ES",14346:"es_UY",8202:"es_VE",1089:"sw",2077:"sv_FI",1053:"sv_SE",1114:"syc",1064:"tg",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1073:"ts",1055:"tr",1090:"tk",1058:"uk",1056:"ur",2115:"uz_UZ",1091:"uz_UZ",1075:"ve",1066:"vi",1106:"cy",1076:"xh",1085:"yi",1077:"zu"};const s=/^([a-z\d]+)(?:[_-]([a-z\d]+))?(?:\.([a-z\d]+))?(?:@([a-z\d]+))?$/i,a={},o={group:" ",decimal:".",positive:"+",negative:"-",percent:"%",exponent:"E",nan:"NaN",infinity:"∞",ampm:["AM","PM"],mmmm6:["Muharram","Safar","Rabiʻ I","Rabiʻ II","Jumada I","Jumada II","Rajab","Shaʻban","Ramadan","Shawwal","Dhuʻl-Qiʻdah","Dhuʻl-Hijjah"],mmm6:["Muh.","Saf.","Rab. I","Rab. II","Jum. I","Jum. II","Raj.","Sha.","Ram.","Shaw.","Dhuʻl-Q.","Dhuʻl-H."],mmmm:["January","February","March","April","May","June","July","August","September","October","November","December"],mmm:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dddd:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ddd:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]};function u(E){const _=s.exec(E);if(!_)throw new SyntaxError("Malformed locale: ".concat(E));return{lang:_[1]+(_[2]?"_"+_[2]:""),language:_[1],territory:_[2]||"",codeset:_[3]||"",modifier:_[4]||""}}function l(E){if(typeof E=="number")return r[65535&E]||null;const _=parseInt(E,16);return isFinite(_)&&r[65535&_]?r[65535&_]||null:s.test(E)?E:null}function c(E){const _=l(E);let C=null;if(_){const P=u(_);C=a[P.lang]||a[P.language]||null}return C}function m(E){return Object.assign({},o,E)}function g(E,_){const C=typeof _=="object"?_:u(_);return a[C.lang]=m(E),C.language===C.lang||a[C.language]||(a[C.language]=m(E)),a[C.lang]}const p=m({group:","});function R(E,_){if(typeof E!="number")return E;if(E<0)return-R(-E,_);if(_){const C=10**(_||0)||1;return R(E*C,0)/C}return Math.round(E)}p.isDefault=!0,g({group:",",ampm:["上午","下午"],mmmm:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],ddd:["周日","周一","周二","周三","周四","周五","周六"]},"zh_CN"),g({group:",",nan:"非數值",ampm:["上午","下午"],mmmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],ddd:["週日","週一","週二","週三","週四","週五","週六"]},"zh_TW"),g({group:",",ampm:["午前","午後"],mmmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],mmm:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dddd:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],ddd:["日","月","火","水","木","金","土"]},"ja"),g({group:",",ampm:["오전","오후"],mmmm:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],mmm:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dddd:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],ddd:["일","월","화","수","목","금","토"]},"ko"),g({group:",",ampm:["ก่อนเที่ยง","หลังเที่ยง"],mmmm:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],mmm:["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],dddd:["วันอาทิตย์","วันจันทร์","วันอังคาร","วันพุธ","วันพฤหัสบดี","วันศุกร์","วันเสาร์"],ddd:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."]},"th"),g({decimal:",",ampm:["dop.","odp."],mmmm:["ledna","února","března","dubna","května","června","července","srpna","září","října","listopadu","prosince"],mmm:["led","úno","bře","dub","kvě","čvn","čvc","srp","zář","říj","lis","pro"],dddd:["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"],ddd:["ne","po","út","st","čt","pá","so"]},"cs"),g({group:".",decimal:",",mmmm:["januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december"],mmm:["jan.","feb.","mar.","apr.","maj","jun.","jul.","aug.","sep.","okt.","nov.","dec."],dddd:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],ddd:["søn.","man.","tir.","ons.","tor.","fre.","lør."]},"da"),g({group:".",decimal:",",ampm:["a.m.","p.m."],mmmm:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],mmm:["jan.","feb.","mrt.","apr.","mei","jun.","jul.","aug.","sep.","okt.","nov.","dec."],dddd:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],ddd:["zo","ma","di","wo","do","vr","za"]},"nl"),g({group:","},"en"),g({decimal:",",nan:"epäluku",ampm:["ap.","ip."],mmmm:["tammikuuta","helmikuuta","maaliskuuta","huhtikuuta","toukokuuta","kesäkuuta","heinäkuuta","elokuuta","syyskuuta","lokakuuta","marraskuuta","joulukuuta"],mmm:["tammik.","helmik.","maalisk.","huhtik.","toukok.","kesäk.","heinäk.","elok.","syysk.","lokak.","marrask.","jouluk."],dddd:["sunnuntaina","maanantaina","tiistaina","keskiviikkona","torstaina","perjantaina","lauantaina"],ddd:["su","ma","ti","ke","to","pe","la"]},"fi"),g({group:" ",decimal:",",mmmm:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],mmm:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dddd:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],ddd:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."]},"fr"),g({group:".",decimal:",",mmmm:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],mmm:["Jan.","Feb.","März","Apr.","Mai","Juni","Juli","Aug.","Sept.","Okt.","Nov.","Dez."],dddd:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],ddd:["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."]},"de"),g({group:".",decimal:",",ampm:["π.μ.","μ.μ."],mmmm:["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου"],mmm:["Ιαν","Φεβ","Μαρ","Απρ","Μαΐ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],dddd:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],ddd:["Κυρ","Δευ","Τρί","Τετ","Πέμ","Παρ","Σάβ"]},"el"),g({decimal:",",ampm:["de.","du."],mmmm:["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],mmm:["jan.","febr.","márc.","ápr.","máj.","jún.","júl.","aug.","szept.","okt.","nov.","dec."],dddd:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],ddd:["V","H","K","Sze","Cs","P","Szo"]},"hu"),g({group:".",decimal:",",ampm:["f.h.","e.h."],mmmm:["janúar","febrúar","mars","apríl","maí","júní","júlí","ágúst","september","október","nóvember","desember"],mmm:["jan.","feb.","mar.","apr.","maí","jún.","júl.","ágú.","sep.","okt.","nóv.","des."],dddd:["sunnudagur","mánudagur","þriðjudagur","miðvikudagur","fimmtudagur","föstudagur","laugardagur"],ddd:["sun.","mán.","þri.","mið.","fim.","fös.","lau."]},"is"),g({group:".",decimal:",",mmmm:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],mmm:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agu","Sep","Okt","Nov","Des"],dddd:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],ddd:["Min","Sen","Sel","Rab","Kam","Jum","Sab"]},"id"),g({group:".",decimal:",",mmmm:["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"],mmm:["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],dddd:["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"],ddd:["dom","lun","mar","mer","gio","ven","sab"]},"it"),g({decimal:",",ampm:["a.m.","p.m."],mmmm:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],mmm:["jan.","feb.","mar.","apr.","mai","jun.","jul.","aug.","sep.","okt.","nov.","des."],dddd:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],ddd:["søn.","man.","tir.","ons.","tor.","fre.","lør."]},"nb"),g({decimal:",",mmmm:["stycznia","lutego","marca","kwietnia","maja","czerwca","lipca","sierpnia","września","października","listopada","grudnia"],mmm:["sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru"],dddd:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"],ddd:["niedz.","pon.","wt.","śr.","czw.","pt.","sob."]},"pl"),g({group:".",decimal:",",mmmm:["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"],mmm:["jan.","fev.","mar.","abr.","mai.","jun.","jul.","ago.","set.","out.","nov.","dez."],dddd:["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"],ddd:["dom.","seg.","ter.","qua.","qui.","sex.","sáb."]},"pt"),g({decimal:",",nan:"не число",mmmm:["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"],mmm:["янв.","февр.","мар.","апр.","мая","июн.","июл.","авг.","сент.","окт.","нояб.","дек."],dddd:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],ddd:["вс","пн","вт","ср","чт","пт","сб"]},"ru"),g({decimal:",",mmmm:["januára","februára","marca","apríla","mája","júna","júla","augusta","septembra","októbra","novembra","decembra"],mmm:["jan","feb","mar","apr","máj","jún","júl","aug","sep","okt","nov","dec"],dddd:["nedeľa","pondelok","utorok","streda","štvrtok","piatok","sobota"],ddd:["ne","po","ut","st","št","pi","so"]},"sk"),g({group:".",decimal:",",ampm:["a. m.","p. m."],mmmm:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],mmm:["ene.","feb.","mar.","abr.","may.","jun.","jul.","ago.","sept.","oct.","nov.","dic."],dddd:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],ddd:["dom.","lun.","mar.","mié.","jue.","vie.","sáb."]},"es"),g({decimal:",",ampm:["fm","em"],mmmm:["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december"],mmm:["jan.","feb.","mars","apr.","maj","juni","juli","aug.","sep.","okt.","nov.","dec."],dddd:["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"],ddd:["sön","mån","tis","ons","tors","fre","lör"]},"sv"),g({group:".",decimal:",",ampm:["ÖÖ","ÖS"],mmmm:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],mmm:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],dddd:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],ddd:["Paz","Pzt","Sal","Çar","Per","Cum","Cmt"]},"tr");function b(E,_,C){const P=E<0?-1:1,x=10**(_||2),k=10**(C||2);let O,w,S=Math.abs(E),j=0,Q=0,F=0,z=1;if((E=S)%1==0)w=[E*P,1];else if(E<1e-19)w=[P,1e19];else if(E>1e19)w=[1e19*P,1];else{do if(S=1/(S-Math.floor(S)),O=z,z=z*Math.floor(S)+j,j=O,Q=F,F=Math.floor(E*z+.5),F>=x||z>=k)return[P*Q,j];while(Math.abs(E-F/z)>=1e-10&&S!==Math.floor(S));w=[P*F,z]}return w}const L={overflow:"######",dateErrorThrows:!1,dateErrorNumber:!0,dateSpanLarge:!0,leap1900:!0,nbsp:!0,throws:!0,invalid:"######",locale:"",ignoreTimezone:!1},U=Object.assign({},L);function B(E){if(E===null&&(E=L),E){for(const _ in E)if(_ in L){const C=E[_];U[_]=C==null?L[_]:C}}return{...U}}const T={"#":"",0:"0","?":" "},q={"@":"text","-":"minus","+":"plus"},le=["#000","#FFF","#F00","#0F0","#00F","#FF0","#F0F","#0FF","#000","#FFF","#F00","#0F0","#00F","#FF0","#F0F","#0FF","#800","#080","#008","#880","#808","#088","#CCC","#888","#99F","#936","#FFC","#CFF","#606","#F88","#06C","#CCF","#008","#F0F","#FF0","#0FF","#808","#800","#088","#00F","#0CF","#CFF","#CFC","#FF9","#9CF","#F9C","#C9F","#FC9","#36F","#3CC","#9C0","#FC0"],pe=["¤","$","£","¥","֏","؋","৳","฿","៛","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"],Le=new RegExp("["+pe.join("")+"]");function ye(E,_,C){return _[C+"_max"]=E.length,_[C+"_min"]=E.replace(/#/g,"").length,_}const Ae={};function De(E){if(!(E in Ae)){const _=[],C=E.replace(/^[#,]+/,"").replace(/[1-9]\d*/g,P=>"?".repeat(P.length));for(let P=0;P<C.length;P++){const x=C.charAt(P);_[P]=x in T?T[x]:x}Ae[E]=_.join("")}return Ae[E]}function me(E,_){typeof E=="string"&&(E={type:"string",value:E=E.replace(/ /g,T["?"])}),_.push(E)}function Te(E){const _=[],C={scale:1,percent:!1,text:!1,date:0,date_eval:!1,date_system:1,sec_decimals:0,general:!1,clock:24,int_pattern:[],frac_pattern:[],man_pattern:[],den_pattern:[],num_pattern:[],tokens:_};let P=E+"",x="int",k=!1,O=null;const w=[];let S,j,Q=!1;for(;P&&!k;){if(S=/^General/i.exec(P))C.general=!0,me({type:"general"},_);else if(x==="int"&&(S=/^[#?0]+(?:,[#?0]+)*/.exec(P))||x==="den"&&(S=/^[#?\d]+/.exec(P))||(S=/^[#?0]+/.exec(P)))C[x+"_pattern"].push(S[0]),O={type:x,num:S[0]},me(O,_);else if((S=/^\//.exec(P))&&C[x+"_pattern"].length){if(!O)throw new SyntaxError("Missing a numerator in pattern ".concat(E));C.fractions=!0,C.num_pattern.push(C[x+"_pattern"].pop()),O.type="num",x="den",me({type:"div"},_)}else if(S=/^,+/.exec(P)){const v=P.charAt(1)in T;j.slice(-1)in T&&(S[0].length>1||!v)?C.scale=.001**S[0].length:C.dec_fractions||me(S[0],_)}else{if(S=/^;/.exec(P)){k=!0;break}if(S=/^[@+-]/.exec(P))S[0]==="@"&&(C.text=!0),me({type:q[S[0]]},_);else if(S=/^(?:\[(h+|m+|s+)\])/i.exec(P)){const v=S[1].toLowerCase(),H=v[0],G={type:"",size:0,date:1,raw:S[0],pad:v.length};H==="h"?(G.size=16,G.type="hour-elap"):H==="m"?(G.size=32,G.type="min-elap"):(G.size=64,G.type="sec-elap"),C.date=C.date|G.size,w.push(G),me(G,_)}else if(S=/^(?:B2)/i.exec(P))Q||(C.date_system=6);else if(S=/^(?:B1)/i.exec(P))Q||(C.date_system=1);else if(S=/^(?:([hHmMsSyYbBdDegG])\1*)/.exec(P)){const v={type:"",size:0,date:1,raw:S[0]},H=S[0].toLowerCase(),G=H[0];if(H==="y"||H==="yy")v.size=2,v.type="year-short";else if(G==="y"||G==="e")v.size=2,v.type="year";else if(H==="b"||H==="bb")v.size=2,v.type="b-year-short";else if(G==="b")v.size=2,v.type="b-year";else if(H==="d"||H==="dd")v.size=8,v.type="day",v.pad=/dd/.test(H);else if(H==="ddd")v.size=8,v.type="weekday-short";else if(G==="d")v.size=8,v.type="weekday";else if(G==="h")v.size=16,v.type="hour",v.pad=/hh/i.test(H);else if(G==="m"){H.length===3?(v.size=4,v.type="monthname-short"):H.length===5?(v.size=4,v.type="monthname-single"):H.length>=4&&(v.size=4,v.type="monthname");const te=w[w.length-1];!v.type&&te&&!te.used&&80&te.size&&(te.used=!0,v.size=32,v.type="min",v.pad=/mm/.test(H)),v.type||(v.size=4,v.type="month",v.pad=/mm/.test(H),v.indeterminate=!0)}else if(G==="s"){v.size=64,v.type="sec",v.pad=/ss/.test(H);const te=w[w.length-1];te&&32&te.size?v.used=!0:te&&te.indeterminate&&(delete te.indeterminate,te.size=32,te.type="min",v.used=!0)}C.date=C.date|v.size,C.date_eval=!0,w.push(v),me(v,_)}else if(S=/^(?:AM\/PM|am\/pm|A\/P)/.exec(P))C.clock=12,C.date=16|C.date,C.date_eval=!0,me({type:"am",short:S[0]==="A/P"},_);else if(C.date&&(S=/^\.0{1,3}/i.exec(P))){const v=S[0].length-1,H=[64,128,256,512][v];C.date=C.date|H,C.date_eval=!0,C.sec_decimals=Math.max(C.sec_decimals,v),me({type:"subsec",size:H,decimals:v,date:1,raw:S[0]},_)}else if((S=/^\\(.)/.exec(P))||(S=/^"([^"]*?)"/.exec(P)))me(S[1],_);else if(S=/^\[(<[=>]?|>=?|=)\s*(-?[.\d]+)\]/.exec(P))C.condition=[S[1],parseFloat(S[2],10)];else if(S=/^\[\$([^\]]+)\]/.exec(P)){const v=S[1].split("-"),H=v.length<2?"":v[v.length-1],G=v[0];G&&me(G,_);const te=l(H);te&&(C.locale=te);const ae=parseInt(H,16);isFinite(ae)&&16711680&ae&&(ae>>16&255)===6&&(C.date_system=6),Q=!0}else if(S=/^\[(black|blue|cyan|green|magenta|red|white|yellow|color\s*(\d+))\]/i.exec(P))C.color=S[2]?le[parseInt(S[2],10)]||"#000":S[1].toLowerCase();else if(!(S=/^\[(DBNum1|ENG|HIJ|JPN|TWN)\]/i.exec(P))){if(S=/^%/.exec(P))C.scale=100,C.percent=!0,me("%",_);else if(S=/^_(\\.|.)/.exec(P))me(" ",_);else if(S=/^\./.exec(P))me({type:"point",value:S[0]},_),C.dec_fractions=!0,x="frac";else if(S=/^[Ee]([+-]?|(?=[0#?]))/.exec(P))C.exponential=!0,C.exp_plus=S[1]==="+",x="man",me({type:"exp",plus:S[1]==="+"},_);else if(!(S=/^\*(\\.|.)/.exec(P))){if(S=/^[BENn[]/.exec(P))throw new SyntaxError("Unexpected char ".concat(P.charAt(0)," in pattern ").concat(E));P[0]==="("&&(C.parens=!0),S=[P[0]],me(S[0],_)}}}j=S[0],P=P.slice(S?S[0].length:1)}if(C.pattern=E.slice(0,E.length-P.length),/^((?:\[[^\]]+\])+)(;|$)/.test(C.pattern)&&!/^\[(?:h+|m+|s+)\]/.test(C.pattern)&&me({type:"text"},_),C.fractions&&C.dec_fractions||C.fractions&&C.exponential)throw new SyntaxError("Invalid pattern: ".concat(C.pattern));const F=C.int_pattern.join("");if(C.grouping=F.indexOf(",")>=0,C.grouping){const v=F.split(","),H=v.length;H===2?(C.group_pri=v[1].length,C.group_sec=C.group_pri):H>2&&(C.group_pri=v[H-1].length,C.group_sec=v[H-2].length)}else C.group_pri=0,C.group_sec=0;ye(F.replace(/[,]/g,""),C,"int"),ye(C.frac_pattern.join(""),C,"frac"),ye(C.man_pattern.join(""),C,"man");let z=C.num_pattern.join(""),Z=C.den_pattern.join("");const W=/\?/.test(Z)||/\?/.test(z);return Z=Z.replace(/\d/g,W?"?":"#"),W&&(Z=Z.replace(/#$/g,"?")),ye(z,C,"num"),ye(Z,C,"den"),W&&(z=z.replace(/#$/g,"?")),C.int_padding=De(C.int_pattern.join("")),C.man_padding=De(C.man_pattern.join("")),C.num_padding=De(z),C.den_padding=De(Z),C.den_pattern.length&&(C.denominator=parseInt(C.den_pattern.join("").replace(/\D/g,""),10)),C.integer=!!C.int_pattern.join("").length,C.fractions&&_.forEach((v,H)=>{const G=_[H+1];v.type==="string"&&G&&(G.type==="num"?v.rule="num+int":G.type==="div"?v.rule="num":G.type==="den"&&(v.rule="den"))}),C}const _t=E=>{const _=E.condition;_&&_[1]<0&&(_[0]==="<"||_[0]==="<="||_[0]==="=")||E.tokens.unshift({type:"minus",volatile:!0})};function xi(E){const _=[];let C,P=!1,x=null,k=E,O=0,w=!1,S=0,j=0;do{if(w=Te(k),(w.date||w.general)&&(w.int_pattern.length||w.frac_pattern.length||w.scale!==1||w.text))throw new Error("Illegal format");if(w.condition&&(j++,P=!0),w.text){if(x)throw new Error("Unexpected partition");x=w}w.locale&&(C=l(w.locale)),_.push(w),O=k.charAt(w.pattern.length)===";"?1:0,k=k.slice(w.pattern.length+O),S++}while(O&&S<4&&j<3);if(O)throw new Error("Unexpected partition");if(j>2)throw new Error("Unexpected condition");const Q=_[3];if(Q&&(Q.int_pattern.length||Q.frac_pattern.length||Q.date))throw new Error("Unexpected partition");if(P){const F=_.length;if(F===1&&(_[1]=Te("General"),_[1].generated=!0),F<3){const z=_[0],Z=_[1];if(_t(z),Z.condition)_t(Z);else{const W=z.condition;(W[0]==="="||W[1]>=0&&(W[0]===">"||W[0]===">="))&&Z.tokens.unshift({type:"minus",volatile:!0})}}else _.forEach(_t)}else{if(_.length<4&&x)for(let F=0,z=_.length;F<z;F++)_[F]===x&&_.splice(F,1);if(_.length<1&&x&&(_[0]=Te("General"),_[0].generated=!0),_.length<2){const F=Te(_[0].pattern);F.tokens.unshift({type:"minus",volatile:!0}),F.generated=!0,_.push(F)}if(_.length<3){const F=Te(_[0].pattern);F.generated=!0,_.push(F)}if(_.length<4)if(x)_.push(x);else{const F=Te("@");F.generated=!0,_.push(F)}_[0].condition=[">",0],_[1].condition=["<",0],_[2].condition=null}return{pattern:E,partitions:_,locale:C}}const Oe=Math.floor;function Ui(E){if((!(arguments.length>1&&arguments[1]!==void 0)||arguments[1])&&E>=0){if(E===0)return[1900,1,0];if(E===60)return[1900,2,29];if(E<60)return[1900,E<32?1:2,(E-1)%31+1]}let C=E+68569+2415019;const P=Oe(4*C/146097);C-=Oe((146097*P+3)/4);const x=Oe(4e3*(C+1)/1461001);C=C-Oe(1461*x/4)+31;const k=Oe(80*C/2447),O=C-Oe(2447*k/80);C=Oe(k/11);const w=k+2-12*C;return[0|100*(P-49)+x+C,0|w,0|O]}function Ic(E){return Ui(E+1462)}function jc(E){if(E===60)throw new Error("#VALUE!");if(E<=1)return[1317,8,29];if(E<60)return[1317,E<32?9:10,1+(E-2)%30];const _=10631/30,C=.1335;let P=E+466935;const x=Oe(P/10631);P-=10631*x;const k=Oe((P-C)/_);P-=Oe(k*_+C);const O=Oe((P+28.5001)/29.5);return O===13?[30*x+k,12,30]:[30*x+k,O,P-Oe(29.5001*O-29)]}function Oi(E){let _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,C=!(arguments.length>2&&arguments[2]!==void 0)||arguments[2];const P=Oe(E);return _===6?jc(P):_===-1?Ic(P):Ui(P,C)}const zr=Math.floor,wn=86400;function Nr(E,_){let C=null;if(Array.isArray(E)){const[P,x,k,O,w,S]=E;C=Date.UTC(P,x==null?0:x-1,k!=null?k:1,O||0,w||0,S||0)}else if(E instanceof Date&&(C=1*E,!_||!_.ignoreTimezone)){const P=new Date;P.setUTCFullYear(E.getFullYear(),E.getMonth(),E.getDate()),P.setUTCHours(E.getHours(),E.getMinutes(),E.getSeconds(),E.getMilliseconds()),C=1*P}if(C!=null&&isFinite(C)){const P=C/864e5;return P-(P<=-25509?-25568:-25569)}return E}function Mi(E,_){let C=0|E;const P=wn*(E-C);let x=zr(P);P-x>.9999&&(x+=1,x===wn&&(x=0,C+=1));const k=x<0?wn+x:x,[O,w,S]=Oi(E,0,_&&_.leap1900),j=zr(k/60/60)%60,Q=zr(k/60)%60,F=zr(k)%60;if(_&&_.nativeDate){const z=new Date(0);return z.setUTCFullYear(O,w-1,S),z.setUTCHours(j,Q,F),z}return[O,w,S,j,Q,F]}function $c(E){return!!(E[0]&&E[0].percent||E[1]&&E[1].percent||E[2]&&E[2].percent||E[3]&&E[3].percent)}function Yc(E){return!!(E[0]&&E[0].date||E[1]&&E[1].date||E[2]&&E[2].date||E[3]&&E[3].date)}function Hc(E){const[_,C,P,x]=E;return!(_&&!_.generated||C&&!C.generated||P&&!P.generated||!x||!x.text||x.generated)}const Qc={text:15,datetime:10.8,date:10.8,time:10.8,percent:10.6,currency:10.4,grouped:10.2,scientific:6,number:4,fraction:2,general:0,error:0},zc=[["DMY",1],["DM",2],["MY",3],["MDY",4],["MD",5],["hmsa",6],["hma",7],["hms",8],["hm",9]],Nc={total:1,sign:0,period:0,int:1,frac:0},Kt=(E,_)=>E.replace(/\./,_.decimal);function Fi(E,_,C,P){const x=0|C;if(typeof C=="string")E.push(C);else if(C===x)E.push(Math.abs(x));else{const k=Math.abs(C);let O=k?Math.floor(Math.log10(k)):0,w=O<0?k*10**-O:k/10**O;w===10&&(w=1,O++);const S=function(Q){let F=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];const z=Math.abs(Q);if(!z)return Nc;const Z=F&&Q<0?1:0,W=Math.floor(z),v=Math.floor(Math.log10(z)+1);let H=0,G=0;if(W!==z){H=1;const te=String(R(v<0?z*10**-v:z/10**v,15));let ae=te.length,ne=!0,be=0;for(;be<=te.length;){if(te[be]==="."){ae--;break}te[be]==="0"&&ne?ae--:ne=!1,be++}G=ae-v,G<0&&(G=0,H=0)}return{total:Z+Math.max(v,1)+H+G,digits:Math.max(v,0)+G,sign:Z,period:H,int:Math.max(v,1),frac:G}}(k),j=()=>{const Q=Math.abs(O);let F;F=w===1?w:R(w,5),E.push(Kt(F+"",P),P.exponent,O<0?P.negative:P.positive,Q<10?"0":"",Q)};if(O>=-4&&O<=-1){const Q=k.toPrecision(10+O).replace(/\.?0+$/,"");E.push(Kt(Q,P))}else if(O===10){const Q=k.toFixed(10).slice(0,12).replace(/\.$/,"");E.push(Kt(Q,P))}else if(Math.abs(O)<=9)if(S.total<=11){const Q=R(k,9).toFixed(S.frac);E.push(Kt(Q,P))}else O===9?E.push(Math.floor(k)):O>=0&&O<9?E.push(R(k,9-O)):j();else S.total>=12?j():Math.floor(k)===k?E.push(Math.floor(k)):E.push(Kt(R(k,9).toFixed(S.frac),P))}return E}const qt=86400,vi={int:"integer",frac:"fraction",man:"mantissa",num:"numerator",den:"denominator"},Bi=function(E){let _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;const C=Math.floor(Math.log10(E));return _>1?Math.floor(C/_)*_:C};function Ti(E,_,C,P){let x="",k="",O="",w="",S="",j=0,Q=0|E,F=0,z=0,Z=1,W=0,v=0,H=0,G=0,te=0,ae=0;const ne=P||p;if(!_.text&&isFinite(_.scale)&&_.scale!==1&&(E=function(re){if(re===0)return re;const oe=Math.ceil(Math.log10(re<0?-re:re)),I=10**(16-Math.floor(oe));return Math.round(re*I)/I}(E*_.scale)),_.exponential){let re=Math.abs(E);if(re){const oe=10**-Bi(re,_.int_max),I=R(re*oe,_.frac_max)/oe;j=Bi(I,_.int_max)}re/=10**j,E=E<0?-re:re,x+=Math.abs(j)}if(_.integer){const re=Math.abs(R(E,_.fractions?1:_.frac_max));S+=re<1?"":Math.floor(re)}if(_.grouping){let re="",oe=S.length;for(oe>_.group_pri&&(oe-=_.group_pri,re=ne.group+S.slice(oe,oe+_.group_pri)+re);oe>_.group_sec;)oe-=_.group_sec,re=ne.group+S.slice(oe,oe+_.group_sec)+re;S=oe?S.slice(0,oe)+re:re}_.dec_fractions&&(w=String(R(E,_.frac_max)).split(".")[1]||"");let be=!1;if(_.fractions){const re=Math.abs(_.integer?E%1:E);if(re)if(be=!0,isFinite(_.denominator))O+=_.denominator,k+=R(re*_.denominator),k==="0"&&(k="",O="",be=!1,S||(S="0"));else{const oe=b(re,_.integer?_.num_max:1/0,_.den_max);k+=oe[0],O+=oe[1],_.integer&&k==="0"&&(S||(S="0"),k="",O="",be=!1)}}if(_.date){Q=Math.trunc(E);const re=qt*(E-Q);if(F=Math.floor(re),ae=re-F,Math.abs(ae)<1e-6?ae=0:ae>.9999&&(ae=0,F+=1,F===qt&&(F=0,Q+=1)),ae){const oe=512&_.date||256&_.date||128&_.date;(oe===512&&ae>.9995||oe===256&&ae>.995||oe===128&&ae>.95||!oe&&ae>=.5)&&(F++,ae=0)}if(Q||_.date_system){const oe=Oi(E,_.date_system,C.leap1900);z=oe[0],Z=oe[1],W=oe[2]}if(F){const oe=F<0?qt+F:F;te=Math.floor(oe)%60,G=Math.floor(oe/60)%60,H=Math.floor(oe/60/60)%60}if(v=(6+Q)%7,_.date_eval&&(et=E,Et=Q+F/qt,C.dateSpanLarge?et<-694324||Et>=35830291:et<0||Et>=2958466)){if(C.dateErrorThrows)throw new Error("Date out of bounds");return C.dateErrorNumber?Fi(E<0?[ne.negative]:[],0,E,ne).join(""):C.overflow}}var et,Et;if(_.int_padding&&(S=_.int_padding.length===1?S||_.int_padding:_.int_padding.substring(0,_.int_padding.length-S.length)+S),_.num_padding&&(k=_.num_padding.length===1?k||_.num_padding:_.num_padding.substring(0,_.num_padding.length-k.length)+k),_.den_padding&&(O=_.den_padding.length===1?O||_.den_padding:O+_.den_padding.slice(O.length)),_.man_padding){const re=_.exp_plus?"+":"";x=_.man_padding.length===1?(j<0?"-":re)+(x||_.man_padding):(j<0?"-":re)+_.man_padding.slice(0,_.man_padding.length-x.length)+x}const Y=[];let Me=0;const ut={int:0,frac:0,man:0,num:0,den:0};for(let re=0,oe=_.tokens.length;re<oe;re++){const I=_.tokens[re],Wr=I.num?I.num.length:0;if(I.type==="string")I.rule?I.rule==="num"?be?Y.push(I.value):(_.num_min>0||_.den_min>0)&&Y.push(I.value.replace(/./g,T["?"])):I.rule==="num+int"?be&&S?Y.push(I.value):_.den_min>0&&(S||_.num_min)&&Y.push(I.value.replace(/./g,T["?"])):I.rule==="den"&&(be?Y.push(I.value):(_.den_min>0||_.den_min>0)&&Y.push(I.value.replace(/./g,T["?"]))):Y.push(I.value);else if(I.type==="error")Y.push(C.invalid);else if(I.type==="point")Y.push(_.date?I.value:ne.decimal);else if(I.type==="general")Fi(Y,0,E,ne);else if(I.type==="exp")Y.push(ne.exponent);else if(I.type==="minus")I.volatile&&_.date||I.volatile&&(E>=0||typeof E!="number")||(I.volatile&&!_.fractions&&(_.integer||_.dec_fractions)?(E<0&&S&&S!=="0"||w)&&Y.push(ne.negative):Y.push(ne.negative));else if(I.type==="plus")Y.push(ne.positive);else if(I.type==="text")Y.push(E);else if(I.type==="div")be?Y.push("/"):_.num_min>0||_.den_min>0?Y.push(T["?"]):Y.push(T["#"]);else if(I.type==="int")if(_.int_pattern.length===1)Y.push(S);else{const ge=Me?_.int_pattern.join("").length-ut.int:1/0,Ut=Me===_.int_pattern.length-1?0:_.int_pattern.join("").length-(ut.int+I.num.length);Y.push(S.substring(S.length-ge,S.length-Ut)),Me++,ut.int+=I.num.length}else if(I.type==="frac"){const ge=ut.frac;for(let Ut=0;Ut<Wr;Ut++)Y.push(w[Ut+ge]||T[I.num[Ut]]);ut.frac+=Wr}else if(I.type in vi)_[I.type+"_pattern"].length===1?(I.type==="int"&&Y.push(S),I.type==="frac"&&Y.push(w),I.type==="man"&&Y.push(x),I.type==="num"&&Y.push(k),I.type==="den"&&Y.push(O)):(Y.push(vi[I.type].slice(ut[I.type],ut[I.type]+Wr)),ut[I.type]+=Wr);else if(I.type==="year")z<0&&Y.push(ne.negative),Y.push(String(Math.abs(z)).padStart(4,"0"));else if(I.type==="year-short"){const ge=z%100;Y.push(ge<10?"0":"",ge)}else if(I.type==="month")Y.push(I.pad&&Z<10?"0":"",Z);else if(I.type==="monthname-single")_.date_system===6?Y.push(ne.mmmm6[Z-1].charAt(0)):Y.push(ne.mmmm[Z-1].charAt(0));else if(I.type==="monthname-short")_.date_system===6?Y.push(ne.mmm6[Z-1]):Y.push(ne.mmm[Z-1]);else if(I.type==="monthname")_.date_system===6?Y.push(ne.mmmm6[Z-1]):Y.push(ne.mmmm[Z-1]);else if(I.type==="weekday-short")Y.push(ne.ddd[v]);else if(I.type==="weekday")Y.push(ne.dddd[v]);else if(I.type==="day")Y.push(I.pad&&W<10?"0":"",W);else if(I.type==="hour"){const ge=H%_.clock||(_.clock<24?_.clock:0);Y.push(I.pad&&ge<10?"0":"",ge)}else if(I.type==="min")Y.push(I.pad&&G<10?"0":"",G);else if(I.type==="sec")Y.push(I.pad&&te<10?"0":"",te);else if(I.type==="subsec"){Y.push(ne.decimal);const ge=ae.toFixed(_.sec_decimals);Y.push(ge.slice(2,2+I.decimals))}else if(I.type==="am"){const ge=H<12?0:1;I.short&&!P?Y.push("AP"[ge]):Y.push(ne.ampm[ge])}else if(I.type==="hour-elap"){E<0&&Y.push(ne.negative);const ge=24*Q+Math.floor(Math.abs(F)/3600);Y.push(String(Math.abs(ge)).padStart(I.pad,"0"))}else if(I.type==="min-elap"){E<0&&Y.push(ne.negative);const ge=1440*Q+Math.floor(Math.abs(F)/60);Y.push(String(Math.abs(ge)).padStart(I.pad,"0"))}else if(I.type==="sec-elap"){E<0&&Y.push(ne.negative);const ge=Q*qt+Math.abs(F);Y.push(String(Math.abs(ge)).padStart(I.pad,"0"))}else if(I.type==="b-year")Y.push(z+543);else if(I.type==="b-year-short"){const ge=(z+543)%100;Y.push(ge<10?"0":"",ge)}}return C.nbsp?Y.join(""):Y.join("").replace(/\u00a0/g," ")}function ki(E,_){for(let C=0;C<3;C++){const P=_[C];if(P){let x;if(P.condition){const k=P.condition[0],O=P.condition[1];k==="="?x=E===O:k===">"?x=E>O:k==="<"?x=E<O:k===">="?x=E>=O:k==="<="?x=E<=O:k==="<>"&&(x=E!==O)}else x=!0;if(x)return P}}}const Ii=Te("@"),ji="black",ke={};function Ie(E,_){if(E){const C=E[0];_[C]=_[C]||{},Ie(E.slice(1),_[C])}else _.$=!0}["d-F-y","d-F-Y","d-M-y","d-M-Y","F-d-y","F-d-Y","F-j-y","F-j-Y","j-F-y","j-F-Y","j-M-y","j-M-Y","M-d-y","M-d-Y","M-j-y","M-j-Y","m-d-y","m-d-Y","m-j-y","m-j-Y","n-d-y","n-d-Y","n-j-y","n-j-Y","y-F-d","y-F-j","y-M-d","y-M-j","Y-F-d","Y-F-j","Y-M-d","Y-m-d","Y-M-j","Y-m-j","Y-n-d","Y-n-j","j-F","j-M","d-F","d-M","n-d","n-j","n-Y","m-d","m-j","m-Y","M-Y","M-y","F-y","F-Y","Y-M","Y-n","Y-m","Y-F","Y-M"].forEach(E=>{Ie(E,ke),Ie(E+" x",ke),Ie(E+" l",ke),Ie(E+" l x",ke),Ie("l "+E,ke),Ie("l "+E+" x",ke),Ie(E+" D",ke),Ie(E+" D x",ke),Ie("D "+E,ke),Ie("D "+E+" x",ke)});const Wc={jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12},Gc={january:1,february:2,march:3,april:4,june:6,july:7,august:8,september:9,october:10,november:11,december:12},Xc={sunday:"l",monday:"l",tuesday:"l",wednesday:"l",thursday:"l",friday:"l",saturday:"l",sun:"D",mon:"D",tue:"D",wed:"D",thu:"D",fri:"D",sat:"D"},Kc=new Date().getUTCFullYear();function $i(E){const _=new RegExp("^([\\s+%"+pe.join("")+"(-]*)(((?:(?:\\d[\\d,]*)(?:\\.\\d*)?|(?:\\.\\d+)))([eE][+-]?\\d+)?)([\\s%"+pe.join("")+")]*)$").exec(E);if(_){const[,C,P,x,k,O]=_;let w=1,S="",j=!1,Q=!1,F=!1,z=!1,Z=!1,W=null,v=!1,H=parseFloat(P.replace(/,/g,""));if(!isFinite(H))return null;for(let te=0;te<C.length;te++){const ae=C[te];if(ae==="-"){if(j||Q)return null;j=!0,w=-1}else if(Le.test(ae)){if(Z)return null;Z=!0,W=ae}else if(ae==="("){if(Q||j)return null;Q=!0,w=-1}else if(ae==="%"){if(z)return null;z=!0}}for(let te=0;te<O.length;te++){const ae=O[te];if(Le.test(ae)){if(Z)return null;Z=!0,W=ae,v=!0}else if(ae===")"){if(F||!Q)return null;F=!0}else if(ae==="%"){if(z)return null;z=!0}}if(k){if(z||Z)return null;S="0.00E+00"}else if(z){if(Z)return null;S=x.includes(".")?"0.00%":"0%",H*=.01}else if(Z){const te=x.includes(".")?"#,##0.00":"#,##0";S=v?te+W:W+te}else x.includes(",")&&(S=x.includes(".")?"#,##0.00":"#,##0");const G={v:H*w};return S&&(G.z=S),G}}const ze=(E,_,C)=>{const P=C.path||"",x=Object.keys(_);for(let k=0;k<x.length;k++){let O;const w=x[k];if(_[w]){if(w==="$"||w==="€")E||(O=C);else if(w==="-"){const S=/^(\s*([./-]|,\s)\s*|\s+)/.exec(E);if(S){const j=S[1]==="-"||S[1]==="/"||S[1]==="."?S[1]:" ";if(!C.sep||C.sep===j){const Q=S[0].replace(/\s+/g," ");O=ze(E.slice(S[0].length),_[w],{...C,sep:j,path:P+Q})}}}else if(w===" "){const S=/^[,.]?\s+/.exec(E);if(S){const j=S[0].replace(/\s+/g," ");O=ze(E.slice(S[0].length),_[w],{...C,path:P+j})}}else if(w==="j"||w==="d"){const S=/^(0?[1-9]|1\d|2\d|3[01])\b/.exec(E);S&&(O=ze(E.slice(S[0].length),_[w],{...C,day:S[0],path:P+w}))}else if(w==="n"||w==="m"){const S=/^(0?[1-9]|1[012])\b/.exec(E);S&&(O=ze(E.slice(S[0].length),_[w],{...C,month:+S[0],_mon:S[0],path:P+w}))}else if(w==="F"||w==="M"){const S=/^([a-z]{3,9})\b/i.exec(E),j=S&&(w==="F"?Gc:Wc)[S[0].toLowerCase()];j&&(O=ze(E.slice(S[0].length),_[w],{...C,month:j,_mon:S[0],path:P+w}))}else if(w==="l"||w==="D"){const S=/^([a-z]{3,9})\b/i.exec(E);(S&&Xc[S[0].toLowerCase()])===w&&(O=ze(E.slice(S[0].length),_[w],{...C,path:P+w}))}else if(w==="y"){const S=/^\d\d\b/.exec(E);if(S){const j=+S[0]>=30?+S[0]+1900:+S[0]+2e3;O=ze(E.slice(S[0].length),_[w],{...C,year:j,path:P+w})}}else if(w==="Y"){const S=/^\d\d\d\d\b/.exec(E);S&&(O=ze(E.slice(S[0].length),_[w],{...C,year:+S[0],path:P+w}))}else{if(w!=="x")throw new Error('Unknown date token "'.concat(w,'"'));{const S=xn(E);S&&(O=ze("",_[w],{...C,time:S.v,tf:S.z,path:P+w}))}}if(O)return O}}};function Yi(E,_){const C=ze(E.trim(),ke,{path:""});if(C){var P;if(C.sep==="."&&C.path.length===3)return null;const x=+((P=C.year)!==null&&P!==void 0?P:Kc);if(C.day||(C.day=1),!function(w,S,j){if(j<1||S<1||S>12)return!1;if(S===2){if(j>(w%4==0&&w%100!=0||w%400==0||w===1900?29:28))return!1}else if((S===4||S===6||S===9||S===11)&&j>30||(S===1||S===3||S===5||S===7||S===8||S===10||S===12)&&j>31)return!1;return!0}(x,C.month,C.day))return null;let k=-1/0;if(x<1900)return null;x<=1900&&C.month<=2?k=25568:x<1e4&&(k=25569);const O=Date.UTC(x,C.month-1,C.day)/864e5+k+(C.time||0);if(O>=0&&O<=2958465){const w=C._mon[0]==="0"||C.day[0]==="0"||C._mon.length===2&&C.day.length===2,S=C.path.replace(/[jdlDnmMFyYx-]/g,j=>j==="j"||j==="d"?w?"dd":"d":j==="D"?"ddd":j==="l"?"dddd":j==="n"||j==="m"?w?"mm":"m":j==="M"?"mmm":j==="F"?"mmmm":j==="y"?"yy":j==="x"?C.tf||"":j==="Y"?"yyyy":j);return _&&_.nativeDate?{v:Mi(O,_),z:S}:{v:O,z:S}}}return null}function xn(E){const _=/^\s*([10]?\d|2[0-4])(?::([0-5]\d|\d))?(?::([0-5]\d|\d))?(\.\d{1,10})?(?:\s*([AP])M?)?\s*$/i.exec(E);if(_){const[,C,P,x,k,O]=_;if(k&&!x||!O&&!P&&!x)return null;let w=1*(C||0);if(O){if(w>=13)return null;O[0]!=="p"&&O[0]!=="P"||(w+=12)}return{v:(60*w*60+60*(1*(P||0))+1*(x||0)+1*(k||0))/86400,z:(C.length===2?"hh":"h")+":mm"+(x?":ss":"")+(O?" AM/PM":"")}}return null}function Hi(E){return/^\s*true\s*$/i.test(E)?{v:!0}:/^\s*false\s*$/i.test(E)?{v:!1}:null}const Zt={};function qc(E,_){const{pattern:C,partitions:P,locale:x}=E,k=S=>{const j=Object.assign({},B(),_,S);return x&&(j.locale=x),j},O=(S,j)=>{const Q=k(j);return function(F,z,Z){const W=c(Z.locale),v=z[3]?z[3]:Ii;if(typeof F=="boolean"&&(F=F?"TRUE":"FALSE"),F==null)return"";if(typeof F!="number")return Ti(F,v,Z,W);if(!isFinite(F)){const G=W||p;return isNaN(F)?G.nan:(F<0?G.negative:"")+G.infinity}const H=ki(F,z);return H?Ti(F,H,Z,W):Z.overflow}(Nr(S,Q),P,Q)};O.color=(S,j)=>function(Q,F){if(typeof Q!="number"||!isFinite(Q))return(F[3]?F[3].color:Ii.color)||ji;const z=ki(Q,F);return z&&z.color||ji}(Nr(S,k(j)),P);const w=function(S){var j;let Q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;const[F,z]=S,Z=F.frac_max,W={type:"general",isDate:Yc(S),isText:Hc(S),isPercent:$c(S),maxDecimals:F.general?9:Z,scale:(j=F.scale)!==null&&j!==void 0?j:1,color:0,parentheses:0,grouped:F.grouping?1:0,_partitions:S},v=!W.isDate&&!W.isText&&!F.error&&F.tokens.some(ne=>ne.type==="string"&&(Q?ne.value===Q:Le.test(ne.value)));let H="G",G=Z>=0?Math.min(15,Z):"",te="",ae="";if(z&&z.color&&(ae="-",W.color=1),F.parens&&(te="()",W.parentheses=1),v)H="C",W.type="currency";else if(F.error)W.type="error",W.maxDecimals=0;else if(W.isDate){let ne=0,be=0,et="";F.tokens.forEach(Y=>{const Me=Y.type;/^(b-)?year/.test(Me)?(et+="Y",be++):Me.startsWith("month")?(et+="M",be++):/^(week)?day/.test(Me)?(et+="D",be++):Me!=="hour"&&Me!=="min"&&Me!=="sec"&&Me!=="am"||(et+=Me[0],ne++)}),W.type="date",be&&ne?W.type="datetime":!be&&ne&&(W.type="time");const Et=zc.find(Y=>et.startsWith(Y[0]));H=Et?"D":"G",G=Et?Et[1]:""}else W.isText?(H="G",W.type="text",G="",W.maxDecimals=0):F.general?(H="G",W.type="general",G=""):F.fractions?(H="G",W.type="fraction",G=""):F.exponential?(H="S",W.type="scientific"):W.isPercent?(H="P",W.type="percent"):F.grouping?(H=",",W.type="grouped"):(F.int_max||Z)&&(H="F",W.type="number");return W.code=H+G+ae+te,W.level=Qc[W.type],Object.freeze(W)}(P,(_||{}).currency)||new SyntaxError;return O.info=w,O.dateInfo=function(S){const[j]=S;return{year:!!(2&j.date),month:!!(4&j.date),day:!!(8&j.date),hours:!!(16&j.date),minutes:!!(32&j.date),seconds:!!(64&j.date),clockType:j.clock===12?12:24}}(P),O.isPercent=()=>!!w.isPercent,O.isDate=()=>!!w.isDate,O.isText=()=>!!w.isText,O.pattern=C,E.error&&(O.error=E.error),O.options=k,O.locale=x||_&&_.locale||"",Object.freeze(O)}function ce(E,_){E||(E="General");let C=null;return Zt[E]?C=Zt[E]:(C=Object.assign({},B(),_).throws?xi(E):function(P){try{return xi(P)}catch(x){const k={tokens:[{type:"error"}],error:x.message};return{pattern:P,partitions:[k,k,k,k],error:x.message,locale:null}}}(E),C.error||(Zt[E]=C)),qc(C,_)}ce.isDate=E=>ce(E,{throws:!1}).isDate(),ce.isPercent=E=>ce(E,{throws:!1}).isPercent(),ce.isText=E=>ce(E,{throws:!1}).isText(),ce.getInfo=(E,_)=>ce(E,{..._,throws:!1}).info,ce.getDateInfo=(E,_)=>ce(E,{..._,throws:!1}).dateInfo,ce.dateToSerial=Nr,ce.dateFromSerial=Mi,ce.options=B,ce.dec2frac=b,ce.round=R,ce.codeToLocale=r,ce.parseLocale=u,ce.getLocale=c,ce.addLocale=(E,_)=>{const C=u(_);return delete Zt[C.lang],delete Zt[C.language],g(E,C)},ce.format=function(E,_,C){let P=arguments.length>3&&arguments[3]!==void 0&&arguments[3];const x=C&&typeof C=="object"?C:{locale:C,throws:!P};return ce(E,x)(Nr(_,x),x)},ce.is_date=ce.isDate,ce.parseNumber=$i,ce.parseDate=Yi,ce.parseTime=xn,ce.parseBool=Hi,ce.parseValue=function(E,_){var C,P,x;return(C=(P=(x=$i(E))!==null&&x!==void 0?x:Yi(E,_))!==null&&P!==void 0?P:xn(E))!==null&&C!==void 0?C:Hi(E)};var Zc=ce;return t=t.default}()})})(us);var ba=us.exports,Sa=ba;const At=Da(Sa),Aa=["$","£","¥","¤","֏","؋","৳","฿","៛","₡","₦","₩","₪","₫","€","₭","₮","₱","₲","₴","₸","₹","₺","₼","₽","₾","₿"],Pa={currency:2,date:4,datetime:5,error:11,fraction:7,general:0,grouped:11,number:1,percent:6,scientific:8,text:9,time:5,unknown:11};function La(n,i,e){var u,l;if(n==null||i==null)return i;const t=(e==null?void 0:e.getStyleByCell(n))||n.s,r=(e==null?void 0:e.getStyleByCell(i))||i.s;if(t==null||r==null||typeof t!="object"||typeof r!="object")return i;const s=(u=t==null?void 0:t.n)==null?void 0:u.pattern,a=(l=r==null?void 0:r.n)==null?void 0:l.pattern;if(s==null||a==null)return i;const o=s||a;return r.n.pattern=o,i}function ls(n){if(Va(n))return 3;const i=At.getInfo(n).type||"unknown";return Pa[i]}function Va(n){return!!Aa.find(i=>n.includes(i))&&n.startsWith("_(")}function ur(n,i,e){if(n==="")return i;if(i==="")return n;const t=ls(n),r=ls(i);return e===se.PLUS||e===se.MINUS?t===4&&r===4||t===11&&r===11?"":i:e===se.MULTIPLY||e===se.DIVIDED?t===6&&r===6||t===7&&r===7||t===8&&r===8||t===9&&r===9?i:"":n||i}const Qr=class Qr extends Ke{static create(){return this._instance=this._instance||new Qr(0),this._instance}isNull(){return!0}plus(i){return y.create(0).plus(i)}minus(i){return y.create(0).minus(i)}multiply(i){return y.create(0).multiply(i)}divided(i){return y.create(0).divided(i)}mod(i){return y.create(0).mod(i)}compare(i,e){return i.isString()?fe.create("").compare(i,e):i.isBoolean()?$.create(!1).compare(i,e):y.create(0).compare(i,e)}concatenateFront(i){return i.isArray()?i.concatenateBack(fe.create("")):fe.create(this.concatenate(i.getValue(),Fe.FRONT))}concatenateBack(i){return i.isArray()?i.concatenateFront(fe.create("")):fe.create(this.concatenate(i.getValue(),Fe.BACK))}plusBy(i){return y.create(0).plusBy(i)}minusBy(i){return y.create(0).minusBy(i)}multiplyBy(i){return y.create(0).multiplyBy(i)}dividedBy(i){return y.create(0).dividedBy(i)}compareBy(i,e){return typeof i=="string"?fe.create("").compareBy(i,e):typeof i=="boolean"?$.create(!1).compareBy(i,e):y.create(0).compareBy(i,e)}pow(i){return y.create(0).pow(i)}sqrt(){return y.create(0).sqrt()}cbrt(){return y.create(0).cbrt()}cos(){return y.create(0).cos()}acos(){return y.create(0).acos()}acosh(){return y.create(0).acosh()}sin(){return y.create(0).sin()}sinh(){return y.create(0).sinh()}asin(){return y.create(0).asin()}asinh(){return y.create(0).asinh()}tan(){return y.create(0).tan()}tanh(){return y.create(0).tanh()}atan(){return y.create(0).atan()}atan2(i){return y.create(0).atan2(i)}atanh(){return y.create(0).atanh()}log(){return h.create(f.NUM)}log10(){return h.create(f.NUM)}exp(){return y.create(0).exp()}abs(){return y.create(0).abs()}round(i){return y.create(0).round(i)}floor(i){return y.create(0).floor(i)}ceil(i){return y.create(0).ceil(i)}convertToNumberObjectValue(){return y.create(0)}convertToBooleanObjectValue(){return $.create(!1)}};d(Qr,"_instance");let ie=Qr;const Rt=class Rt extends Ke{constructor(e){super(e);d(this,"_value",!1);this._value=e}static create(e){return e?(this._instanceTrue=this._instanceTrue||new Rt(!0),this._instanceTrue):(this._instanceFalse=this._instanceFalse||new Rt(!1),this._instanceFalse)}getValue(){return this._value}isBoolean(){return!0}getNegative(){const e=this.getValue();let t=0;return e&&(t=1),y.create(-t)}getReciprocal(){return this.getValue()?y.create(1):h.create(f.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,en(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 s=y.create(e?1:0);return this._convertToNumber().compare(s,t)}return Rt.create(r)}_compareString(e){switch(e){case M.GREATER_THAN:case M.GREATER_THAN_OR_EQUAL:return!0;case M.EQUALS:case M.LESS_THAN:case M.LESS_THAN_OR_EQUAL:case M.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),y.create(t)}pow(e){return this._convertToNumber().pow(e)}sqrt(){return this._convertToNumber().sqrt()}cbrt(){return this._convertToNumber().cbrt()}cos(){return this._convertToNumber().cos()}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 cr(this.getValue())}convertToBooleanObjectValue(){return this}};d(Rt,"_instanceTrue"),d(Rt,"_instanceFalse");let $=Rt;const wa=2e5,cs=new ct(wa);class y extends Ke{constructor(e){super(e);d(this,"_value",0);this._value=Number(e)}static create(e,t=""){const r=`${e}-${t}`,s=cs.get(r);if(s)return s;const a=new y(e);return t&&a.setPattern(t),cs.set(r,a),a}getValue(){return this._value}setValue(e){this._value=e}isNumber(){return!0}getNegative(){return y.create(0).minus(this)}getReciprocal(){return y.create(1).divided(this)}plus(e){if(e.isArray())return e.plus(this);let t=this.plusBy(e.getValue());if(t.isError())return t;const r=ur(this.getPattern(),e.getPattern(),se.PLUS);return t=y.create(Number(t.getValue()),r),t}equalZero(){return this._value===0}minus(e){if(e.isArray()){const s=e.getNegative();return s.isError()?s:s.plus(this)}let t=this.minusBy(e.getValue());if(t.isError())return t;const r=ur(this.getPattern(),e.getPattern(),se.MINUS);return t=y.create(Number(t.getValue()),r),t}multiply(e){if(e.isArray())return e.multiply(this);let t=this.multiplyBy(e.getValue());if(t.isError())return t;const r=ur(this.getPattern(),e.getPattern(),se.MULTIPLY);return t=y.create(Number(t.getValue()),r),t}divided(e){if(e.isArray()){const s=e.getReciprocal();return s.isError()?s:s.multiply(this)}let t=this.dividedBy(e.getValue());if(t.isError())return t;const r=ur(this.getPattern(),e.getPattern(),se.DIVIDED);return t=y.create(Number(t.getValue()),r),t}mod(e){if(e.isArray())return e.modInverse(this);const t=this.getValue(),r=e.getValue();if(e.isNull())return h.create(f.DIV_BY_ZERO);if(typeof r=="string")return h.create(f.VALUE);if(typeof r=="number"){if(r===0)return h.create(f.DIV_BY_ZERO);if(!Number.isFinite(t)||!Number.isFinite(r)||Math.abs(r)*11259e8<=Math.abs(t))return h.create(f.NUM);const s=ss(t,r);return Number.isFinite(s)?y.create(s):h.create(f.NUM)}if(typeof r=="boolean"){const s=r?1:0;return s===0?h.create(f.DIV_BY_ZERO):y.create(ss(t,s))}return this}concatenateFront(e){return e.isArray()?e.concatenateBack(this):fe.create(this.concatenate(e.getValue(),Fe.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):fe.create(this.concatenate(e.getValue(),Fe.BACK))}compare(e,t){return e.isArray()?e.compare(this,en(t)):this.compareBy(e.getValue(),t)}plusBy(e){const t=this.getValue();if(typeof e=="string")return yt.has(e)?h.create(e):h.create(f.VALUE);if(typeof e=="number"){if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const r=Zn(t,e);return Number.isFinite(r)?y.create(r):h.create(f.NUM)}return typeof e=="boolean"?y.create(Zn(t,e?1:0)):this}minusBy(e){const t=this.getValue();if(typeof e=="string")return h.create(f.VALUE);if(typeof e=="number"){if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const r=Jn(t,e);return Number.isFinite(r)?y.create(r):h.create(f.NUM)}return typeof e=="boolean"?y.create(Jn(t,e?1:0)):this}multiplyBy(e){const t=this.getValue();if(typeof e=="string")return h.create(f.VALUE);if(typeof e=="number"){if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const r=St(t,e);return Number.isFinite(r)?y.create(r):h.create(f.NUM)}return typeof e=="boolean"?y.create(St(t,e?1:0)):this}dividedBy(e){const t=this.getValue();if(typeof e=="string")return h.create(f.VALUE);if(typeof e=="number"){if(e===0)return h.create(f.DIV_BY_ZERO);if(!Number.isFinite(t)||!Number.isFinite(e))return h.create(f.NUM);const r=es(t,e);return Number.isFinite(r)?y.create(r):h.create(f.NUM)}return typeof e=="boolean"?e===!1?h.create(f.DIV_BY_ZERO):y.create(es(t,1)):this}compareBy(e,t){const r=this.getValue();let s=!1;return typeof e=="string"?s=this._compareString(t):typeof e=="number"?s=this._compareNumber(r,e,t):typeof e=="boolean"&&(s=this._compareBoolean(t)),$.create(s)}_compareString(e){switch(e){case M.EQUALS:case M.GREATER_THAN:case M.GREATER_THAN_OR_EQUAL:return!1;case M.LESS_THAN:case M.LESS_THAN_OR_EQUAL:case M.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 M.EQUALS:return as(e,t);case M.GREATER_THAN:return ga(e,t);case M.GREATER_THAN_OR_EQUAL:return pa(e,t);case M.LESS_THAN:return Ra(e,t);case M.LESS_THAN_OR_EQUAL:return _a(e,t);case M.NOT_EQUAL:return!as(e,t)}}_compareBoolean(e){switch(e){case M.EQUALS:case M.GREATER_THAN:case M.GREATER_THAN_OR_EQUAL:return!1;case M.LESS_THAN:case M.LESS_THAN_OR_EQUAL:case M.NOT_EQUAL:return!0}}pow(e){if(e.isArray())return e.powInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return h.create(f.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return h.create(f.NUM);const s=is(t,r);return Number.isFinite(s)?y.create(s):h.create(f.NUM)}return typeof r=="boolean"?y.create(is(t,r?1:0)):this}sqrt(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=da(e);return Number.isFinite(t)?y.create(t):h.create(f.NUM)}cbrt(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.cbrt(e);return Number.isFinite(t)?y.create(t):h.create(f.NUM)}cos(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.cos(e);return Number.isFinite(t)?y.create(t):h.create(f.NUM)}acos(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.acos(e);return Number.isNaN(t)?h.create(f.NUM):y.create(t)}acosh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.acosh(e);return Number.isNaN(t)?h.create(f.NUM):y.create(t)}sin(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.sin(e);return Number.isFinite(t)?y.create(t):h.create(f.NUM)}sinh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.sinh(e);return Number.isFinite(t)?y.create(t):h.create(f.NUM)}asin(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.asin(e);return Number.isNaN(t)?h.create(f.NUM):y.create(t)}asinh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.asinh(e);return Number.isNaN(t)?h.create(f.NUM):y.create(t)}tan(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.tan(e);return Number.isFinite(t)?y.create(t):h.create(f.NUM)}tanh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.tanh(e);return Number.isFinite(t)?y.create(t):h.create(f.NUM)}atan(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.atan(e);return Number.isFinite(t)?y.create(t):h.create(f.NUM)}atan2(e){if(e.isArray())return e.atan2Inverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return h.create(f.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return h.create(f.NUM);if(t===0&&r===0)return h.create(f.DIV_BY_ZERO);const s=Math.atan2(t,r);return Number.isFinite(s)?y.create(s):h.create(f.NUM)}return typeof r=="boolean"?y.create(Math.atan2(t,r?1:0)):this}atanh(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.atanh(e);return Number.isFinite(t)?y.create(t):h.create(f.NUM)}log(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return h.create(f.NUM);const t=Math.log(e);return Number.isFinite(t)?y.create(t):h.create(f.NUM)}log10(){const e=this.getValue();if(typeof e=="number"&&e<=0||!Number.isFinite(e))return h.create(f.NUM);const t=Math.log10(e);return Number.isFinite(t)?y.create(t):h.create(f.NUM)}exp(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.exp(e);return Number.isFinite(t)?y.create(t):h.create(f.NUM)}abs(){const e=this.getValue();if(!Number.isFinite(e))return h.create(f.NUM);const t=Math.abs(e);return Number.isFinite(t)?y.create(t):h.create(f.NUM)}round(e){if(e.isArray())return e.roundInverse(this);const t=this.getValue(),r=e.getValue();if(typeof r=="string")return h.create(f.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return h.create(f.NUM);const s=ts(t,r);return Number.isFinite(s)?y.create(s):h.create(f.NUM)}return typeof r=="boolean"?y.create(ts(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 h.create(f.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return h.create(f.NUM);const s=rs(t,r);return Number.isFinite(s)?y.create(s):h.create(f.NUM)}return typeof r=="boolean"?y.create(rs(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 h.create(f.VALUE);if(typeof r=="number"){if(!Number.isFinite(t)||!Number.isFinite(r))return h.create(f.NUM);const s=ns(t,r);return Number.isFinite(s)?y.create(s):h.create(f.NUM)}return typeof r=="boolean"?y.create(ns(t,r?1:0)):this}convertToNumberObjectValue(){return this}convertToBooleanObjectValue(){return lr(!0)}_compareInfinity(e,t,r){let s=!1;switch(r){case M.EQUALS:s=e===t;break;case M.GREATER_THAN:s=e>t;break;case M.GREATER_THAN_OR_EQUAL:s=e>=t;break;case M.LESS_THAN:s=e<t;break;case M.LESS_THAN_OR_EQUAL:s=e<=t;break;case M.NOT_EQUAL:s=e!==t;break}return s}}const xa=2e5,fs=new ct(xa);class fe extends Ke{constructor(e){super(e);d(this,"_value");this._value=e}static create(e){const t=fs.get(e);if(t)return t;const r=new fe(e);return fs.set(e,r),r}getValue(){return this._value}isString(){return!0}concatenateFront(e){return e.isArray()?e.concatenateBack(this):fe.create(this.concatenate(e.getValue(),Fe.FRONT))}concatenateBack(e){return e.isArray()?e.concatenateFront(this):fe.create(this.concatenate(e.getValue(),Fe.BACK))}compare(e,t,r){return e.isArray()?e.compare(this,en(t),r):this.compareBy(e.getValue(),t,r)}compareBy(e,t,r=!1){let s=this.getValue(),a=!1;if(typeof e=="string"){if(r||(s=s.toLocaleLowerCase(),e=e.toLocaleLowerCase()),ca(e))return this._checkWildcard(e,t);a=this._compareString(s,e,t)}else typeof e=="number"?a=this._compareNumber(t):typeof e=="boolean"&&(a=this._compareBoolean(t));return $.create(a)}_compareString(e,t,r){switch(r){case M.EQUALS:return e===t;case M.GREATER_THAN:return e>t;case M.GREATER_THAN_OR_EQUAL:return e>=t;case M.LESS_THAN:return e<t;case M.LESS_THAN_OR_EQUAL:return e<=t;case M.NOT_EQUAL:return e!==t}}_compareNumber(e){switch(e){case M.NOT_EQUAL:case M.GREATER_THAN:case M.GREATER_THAN_OR_EQUAL:return!0;case M.EQUALS:case M.LESS_THAN:case M.LESS_THAN_OR_EQUAL:return!1}}_compareBoolean(e){switch(e){case M.EQUALS:case M.GREATER_THAN:case M.GREATER_THAN_OR_EQUAL:return!1;case M.LESS_THAN:case M.LESS_THAN_OR_EQUAL:case M.NOT_EQUAL:return!0}}convertToNumberObjectValue(){return cr(this.getValue())}convertToBooleanObjectValue(){return $.create(!0)}_checkWildcard(e,t){const r=this.getValue().toLocaleLowerCase(),s=fa(r,e,t);return $.create(s)}}function lr(n){if(typeof n=="boolean")return $.create(n);let i=!1;if(typeof n=="string"){const e=n.toLocaleUpperCase();e===nt.TRUE?i=!0:e===nt.FALSE&&(i=!1)}else n===1?i=!0:i=!1;return $.create(i)}function Ua(n){let i=n.toString();return i.charAt(0)==='"'&&i.charAt(i.length-1)==='"'&&(i=i.slice(1,-1),i=i.replace(/""/g,'"')),fe.create(i)}function cr(n,i=""){if(typeof n=="boolean"){let e=0;return n&&(e=1),y.create(e,i)}else{if(typeof n=="number")return Number.isFinite(n)?y.create(n,i):h.create(f.NUM);if(D.isRealNum(n))return y.create(Number(n),i)}return h.create(f.VALUE)}function Oa(n){return""}function hs(n=[]){const i=[];for(let e=0;e<n.length;e++){const t=n[e];i[e]==null&&(i[e]=[]);for(let r=0;r<t.length;r++){const s=t[r];i[e][r]=it.create(s)}}return i}function Ma(n=[]){const i=[];for(let e=0;e<n.length;e++){const t=n[e];i[e]==null&&(i[e]=[]);for(let r=0;r<t.length;r++){const s=t[r];s==null?i[e][r]=null:s.isError()?i[e][r]=s.getErrorType():i[e][r]=s.getValue()}}return i}class de extends Ke{constructor(e){super(typeof e=="string"?e:Oa());d(this,"_values",[]);d(this,"_rowCount",-1);d(this,"_columnCount",-1);d(this,"_unitId","");d(this,"_sheetId","");d(this,"_currentRow",-1);d(this,"_currentColumn",-1);d(this,"_sliceCache",new Map);d(this,"_flattenCache");d(this,"_defaultValue",null);d(this,"_flattenPosition");this._values=this._formatValue(e)}static create(e){return new de(e)}static createByArray(e){const r={calculateValueList:hs(e),rowCount:e.length,columnCount:e[0].length||0,unitId:"",sheetId:"",row:-1,column:-1};return new de(r)}dispose(){this._values.forEach(e=>{e.forEach(t=>{t==null||t.dispose()})}),this._values=[],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]}getRealValue(e,t){const r=this._values[e];if(r==null)return null;const s=r[t];return s==null?null:s}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,s=this.getColumnCount();return{startRow:0,endRow:t-1,startColumn:r,endColumn:s-1}}iterator(e){var u;const{startRow:t,endRow:r,startColumn:s,endColumn:a}=this.getRangePosition(),o=this.getArrayValue();for(let l=t;l<=r;l++)for(let c=s;c<=a;c++)if(e(((u=o[l])==null?void 0:u[c])||this._defaultValue,l,c)===!1)return}iteratorReverse(e){var u;const{startRow:t,endRow:r,startColumn:s,endColumn:a}=this.getRangePosition(),o=this.getArrayValue();for(let l=r;l>=t;l--)for(let c=a;c>=s;c--)if(e(((u=o[l])==null?void 0:u[c])||this._defaultValue,l,c)===!1)return}getLastTruePosition(){let e;return this.iteratorReverse((t,r,s)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:r,column:s},!1}),e}getFirstTruePosition(){let e;return this.iterator((t,r,s)=>{if(t!=null&&t.isBoolean()&&t.getValue()===!0)return e={row:r,column:s},!1}),e}getFirstCell(){const{startRow:e,startColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||ie.create()}getLastCell(){const{endRow:e,endColumn:t}=this.getRangePosition();return this.get(e,t)||this._defaultValue||ie.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[[ie.create()]];const s=[];s[0]=[];for(let a=0;a<t;a++)for(let o=0;o<r;o++){const u=e.get(a,o);if(!(u==null||u.isError())&&u.getValue()===!0){const l=this.get(a,o);s[0].push(l)}}return s}flatten(){if(this._flattenCache!=null)return this._flattenCache;const e=[];e[0]=[];for(let r=0;r<this._rowCount;r++)for(let s=0;s<this._columnCount;s++){const a=this.get(r,s);e[0].push(a)}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=[],s=[];let a=0;for(let u=0;u<this._rowCount;u++)for(let l=0;l<this._columnCount;l++){const c=this.get(u,l);if(c==null||c.isError()||c.isNull()){a++;continue}c.isString()?(e.push(c),r.push(a++)):(t.push(c),s.push(a++))}const o={stringArray:e,numberArray:t,stringPosition:r,numberPosition:s};return this._flattenPosition=o,o}slice(e,t){let r=0,s=this._rowCount,a=1,o=0,u=this._columnCount,l=1;if(e!=null&&(r=e[0]||0,s=e[1]||this._rowCount,a=e[2]||1),t!=null&&(o=t[0]||0,u=t[1]||this._columnCount,l=t[2]||1),r>=this._rowCount||o>=this._columnCount)return;const c=`${r}_${s}_${a}_${o}_${u}_${l}`,m=this._sliceCache.get(c);if(m!=null)return m;const g=[],p=this._values;let R=0,b=0;for(let T=r;T<s;T+=a){b=0,g[R]==null&&(g[R]=[]);for(let q=o;q<u;q+=l){if(!p[T])return;let le=p[T][q]||this._defaultValue;le==null&&(le=ie.create()),g[R][b]=le,b++}R++}if(g.length===0||g[0].length===0)return;const L=a>1?-1:r+this._currentRow,U=l>1?-1:o+this._currentColumn,B=this._createNewArray(g,g.length,g[0].length,L,U);return B.setDefaultValue(this._defaultValue),this._sliceCache.set(c,B),B}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,s=this._createNewArray(e,r,t);return s.setDefaultValue(this._defaultValue),s}orderSearch(e,t=we.MIN,r=!1,s=!1){let a,o,u,l;const c=(m,g,p)=>{if(m==null)return!0;let R;if(s===!0?R=m.compare(e,M.EQUALS):R=m.isEqual(e),(R==null?void 0:R.getValue())===!0)return a=m,u={row:g,column:p},!1;t===we.MAX?m.isGreaterThan(e).getValue()===!0&&(o==null||m.minus(e).abs().isLessThanOrEqual(o.minus(e).abs()).getValue()===!0)&&(o=m,l={row:g,column:p}):t===we.MIN&&m.isLessThan(e).getValue()===!0&&(o==null||m.minus(e).abs().isLessThanOrEqual(o.minus(e).abs()).getValue()===!0)&&(o=m,l={row:g,column:p})};if(r){const m=this._values.length;if(this._values[0]==null)return;const g=this._values[0].length;for(let p=m-1;p>=0;p--)for(let R=g-1;R>=0;R--){const b=this._values[p][R];c(b,p,R)}}else this.iterator((m,g,p)=>{c(m,g,p)});if(a!=null)return u;if(o!=null)return l}binarySearch(e,t=Xe.MIN){if(e.isError())return;const{stringArray:r,stringPosition:s,numberArray:a,numberPosition:o}=this.flattenPosition();return e.isString()?this._binarySearch(e,r,s,t):this._binarySearch(e,a,o,t)}_binarySearch(e,t,r,s=Xe.MIN){const a=Xn(),o=e.getValue().toString().toLocaleLowerCase();let u=0,l=t.length-1,c=null;for(;u<=l;){const m=Math.floor((u+l)/2),g=t[m];let p=0;if(g.isNull())p=1;else{const R=g.getValue();p=a(R.toString().toLocaleLowerCase(),o)}if(p===0)return r[m];p===-1?(u=m+1,s===Xe.MIN&&(c=m)):(l=m-1,s===Xe.MAX&&(c=m))}if(c!=null)return r[c]}sum(){let e=y.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=y.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=y.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=y.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=y.create(0);return this.iterator(t=>{if(t==null||t.isNull())return!0;e=e.plusBy(1)}),e}countBlank(){let e=y.create(0);return this.iterator(t=>{(t==null||t.isNull()||t.getValue()==="")&&(e=e.plusBy(1))}),e}getNegative(){return de.create("{0}").minus(this)}getReciprocal(){return de.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,s,a)=>r==null?ie.create():r.isError()?r:e(r,s,a);return this.mapValue(t)}mapValue(e){var a;const t=this._rowCount,r=this._columnCount,s=[];for(let o=0;o<t;o++){const u=[];for(let l=0;l<r;l++){const c=(a=this._values)==null?void 0:a[o];if(c==null)u[l]=h.create(f.VALUE);else{const m=c[l]||this._defaultValue;m?u[l]=e(m,o,l):u[l]=ie.create()}}s.push(u)}return this._createNewArray(s,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())}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)||ie.create();if(t.sortByRow(0),r%2===0){const s=t.get(0,r/2)||ie.create(),a=t.get(0,r/2-1)||ie.create();return s.plus(a).divided(y.create(2))}return t.get(0,(r-1)/2)||ie.create()}var(e=0){const t=this.mean(),r=[[]];this.iterator(c=>{if(c==null||c.isError()||c.isString()||c.isBoolean()||c.isNull())return;const m=c.minus(t).pow(y.create(2));m.isError()||r[0].push(m)});const{_unitId:s,_sheetId:a,_currentRow:o,_currentColumn:u}=this;return de.create({calculateValueList:r,rowCount:1,columnCount:r[0].length,unitId:s,sheetId:a,row:o,column:u}).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 Ma(this._values)}_clearCache(){this._flattenCache=null,this._sliceCache.clear()}_sort(e){const t=Xn();return(r,s)=>{const a=r[e],o=s[e];return a==null?1:o==null?-1:a.isError()&&a.isError()?0:a.isError()?1:o.isError()?-1:t(a.getValue(),o.getValue())}}_transposeArray(e){const t=e.length,r=e[0].length,s=[];for(let a=0;a<r;a++){s[a]=[];for(let o=0;o<t;o++)s[a][o]=e[o][a]}return s}_batchOperator(e,t,r,s){const a=[];let o=this._rowCount,u=this._columnCount;if(e.isArray()){const m=e.getRowCount(),g=e.getColumnCount();if(o=Math.max(m,o),u=Math.max(g,u),m===1&&g===1){const p=e.getFirstCell();for(let R=0;R<u;R++)a.push(p)}else if(m===1&&this._columnCount>1){const p=e.getArrayValue();for(let R=0;R<u;R++)a.push(p[0][R])}else return this._batchOperatorArray(e,t,r,s)}else for(let m=0;m<u;m++)a.push(e);const l=[];for(let m=0;m<u;m++){const g=a[m];this._batchOperatorValue(g,m,l,t,r,s)}const c=this._createNewArray(l,o,u);return c.setDefaultValue($.create(!1)),c}_batchOperatorValue(e,t,r,s,a,o){const u=this._rowCount;let l=!1;const c=this.getUnitId(),m=this.getSheetId(),g=this.getCurrentRow(),p=this.getCurrentColumn();if(s===5&&(l=st.canUseCache(c,m,t+p,g,g+u-1),l===!0)){if(a===M.EQUALS){const R=st.getCellPositions(c,m,t+p,e.getValue());R!=null&&R.forEach(b=>{const L=b-g;r[L]==null&&(r[L]=[]),r[L][t]=$.create(!0)})}else{const R=st.getCellValuePositions(c,m,t+p);R!=null&&R.forEach((b,L)=>{let U=ie.create();typeof L=="string"?U=fe.create(L):typeof L=="number"?U=y.create(L):typeof L=="boolean"&&(U=$.create(L)),U.compare(e,a,o).getValue()===!0&&b.forEach(T=>{T>=g&&T<=g+u-1&&(r[T-g]==null&&(r[T-g]=[]),r[T-g][t]=$.create(!0))})})}return}for(let R=0;R<u;R++){const b=this.getValueOrDefault(R,t);if(r[R]==null&&(r[R]=[]),b&&e)if(b.isError())r[R][t]=b;else if(e.isError())r[R][t]=e;else switch(s){case 1:r[R][t]=b.plus(e);break;case 0:r[R][t]=b.minus(e);break;case 2:r[R][t]=b.multiply(e);break;case 3:r[R][t]=b.divided(e);break;case 4:r[R][t]=b.mod(e);break;case 5:a?r[R][t]=b.compare(e,a,o):r[R][t]=h.create(f.VALUE);break;case 6:r[R][t]=b.concatenateFront(e);break;case 7:r[R][t]=b.concatenateBack(e);break;case 8:r[R][t]=b.pow(e);break;case 9:r[R][t]=b.round(e);break;case 10:r[R][t]=b.floor(e);break;case 12:r[R][t]=b.atan2(e);break;case 11:r[R][t]=b.ceil(e);break}else r[R][t]=h.create(f.NA);b!=null&&(b.isError()?st.set(c,m,t+p,b.getErrorType(),R+g):b.isNull()?st.set(c,m,t+p,"",R+g):st.set(c,m,t+p,b.getValue(),R+g))}st.setContinueBuildingCache(c,m,t+p,g,g+u-1)}_batchOperatorArray(e,t,r,s){let a=e.getRowCount(),o=e.getColumnCount();a<this._rowCount&&(a=this._rowCount),o<this._columnCount&&(o=this._columnCount);const u=[],l=this._checkArrayCalculateType(this),c=this._checkArrayCalculateType(e);for(let m=0;m<a;m++){const g=[];for(let p=0;p<o;p++){let R;l===3?R=this.getValueOrDefault(0,0):l===1?R=this.getValueOrDefault(0,p):l===2?R=this.getValueOrDefault(m,0):R=this.getValueOrDefault(m,p);let b;if(c===3?b=e.getValueOrDefault(0,0):c===1?b=e.getValueOrDefault(0,p):c===2?b=e.getValueOrDefault(m,0):b=e.getValueOrDefault(m,p),R&&b)if(R.isError())g[p]=R;else if(b.isError())g[p]=b;else switch(t){case 1:g[p]=R.plus(b);break;case 0:g[p]=R.minus(b);break;case 2:g[p]=R.multiply(b);break;case 3:g[p]=R.divided(b);break;case 4:g[p]=R.mod(b);break;case 5:r?g[p]=R.compare(b,r,s):g[p]=h.create(f.VALUE);break;case 6:g[p]=R.concatenateFront(b);break;case 7:g[p]=R.concatenateBack(b);break;case 8:g[p]=R.pow(b);break;case 9:g[p]=R.round(b);break;case 12:g[p]=R.atan2(b);break;case 10:g[p]=R.floor(b);break;case 11:g[p]=R.ceil(b);break}else g[p]=h.create(f.NA)}u.push(g)}return this._createNewArray(u,a,o)}_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,s=[];let a=0;for(let o=0;o<r;o++){const l=t[o].split(","),c=l.length;a<c&&(a=c);const m=[];for(let g=0;g<c;g++){const p=l[g].trim();m.push(it.create(p))}s.push(m)}return this._rowCount=r,this._columnCount=a,s}_createNewArray(e,t,r,s=-1,a=-1){(this._currentColumn===-1||this._currentRow===-1)&&(s=-1,a=-1);const o={calculateValueList:e,rowCount:t,columnCount:r,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:s,column:a};return de.create(o)}}class it{static create(i){if(i==null)return ie.create();if(typeof i=="boolean")return $.create(i);if(typeof i=="string"){const e=i.toLocaleUpperCase().trim();return yt.has(e)?h.create(e):e===nt.TRUE||e===nt.FALSE?lr(i):D.isRealNum(i)?y.create(Number(i)):new RegExp(ta,"g").test(i.replace(/\n/g,"").replace(/\r/g,""))?de.create(i.replace(/\n/g,"").replace(/\r/g,"")):Ua(i)}return typeof i=="number"?cr(i):h.create(f.VALUE)}}function Fa(n){if(n===null)return 0;if(n!=null&&n.p){const i=n==null?void 0:n.p.body;if(i==null)return 0;const e=i.dataStream;return e.substring(e.length-2,e.length)===D.DEFAULT_EMPTY_DOCUMENT_VALUE?e.substring(0,e.length-2):e}return(n==null?void 0:n.v)||0}const va=1e5,nn=new ct(va);class Pt extends or{constructor(e){super();d(this,"_forcedSheetId","");d(this,"_forcedSheetName","");d(this,"_defaultSheetId","");d(this,"_rangeData",{startColumn:-1,startRow:-1,endRow:-1,endColumn:-1});d(this,"_unitData",{});d(this,"_unitStylesData",{});d(this,"_defaultUnitId","");d(this,"_forcedUnitId","");d(this,"_runtimeData",{});d(this,"_arrayFormulaCellData",{});d(this,"_runtimeArrayFormulaCellData",{});d(this,"_runtimeFeatureCellData",{});d(this,"_refOffsetX",0);d(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:s}=this.getRangePosition();return e<0||r<0||t>=this.getActiveSheetRowCount()||s>=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:s}=D.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(s)&&(s=this.getActiveSheetColumnCount()-1),{startRow:e,endRow:r,startColumn:t,endColumn:s}}isReferenceObject(){return!0}iterator(e){const{startRow:t,endRow:r,startColumn:s,endColumn:a}=this.getRangePosition();if(this._checkIfWorksheetMiss())return e(h.create(f.VALUE),t,s);const o=this._forcedUnitId||this._defaultUnitId,u=this._forcedSheetId||this._defaultSheetId;for(let l=t;l<=r;l++)for(let c=s;c<=a;c++){if(l<0||c<0)return e(h.create(f.REF),l,c);const m=this.getCellData(l,c);let g=!1;if(D.isNullCell(m)){g=e(null,l,c);continue}let p=this.getCellValueObject(m);if(l===t&&c===s){const R=this.getCellPattern(o,u,l,c);if(R&&p.isNumber()){const b=Number(p.getValue());p=y.create(b,R)}}if(g=e(p,l,c),g===!1)return}}getFirstCell(){const{startRow:e,startColumn:t}=this.getRangePosition(),r=this.getCellData(e,t);if(!r)return y.create(0);let s=this.getCellValueObject(r);const a=this._forcedUnitId||this._defaultUnitId,o=this._forcedSheetId||this._defaultSheetId,u=this.getCellPattern(a,o,e,t);if(u&&s.isNumber()){const l=Number(s.getValue());s=y.create(l,u)}return s}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}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 h.create(f.REF)}unionRange(e,t){return{startRow:-1,startColumn:-1,endRow:-1,endColumn:-1}}getCellValueObject(e){const t=Fa(e);if(yt.has(t))return h.create(t);if(e.t===D.CellValueType.NUMBER){const r=this._getPatternByCell(e);return cr(t,r)}return e.t===D.CellValueType.STRING||e.t===D.CellValueType.FORCE_STRING?fe.create(t.toString()):e.t===D.CellValueType.BOOLEAN?lr(t):it.create(t)}_getPatternByCell(e){var s;const t=this._unitStylesData[this.getUnitId()];if(!t)return"";const r=t.getStyleByCell(e);return((s=r==null?void 0:r.n)==null?void 0:s.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(),s=this.getCurrentRuntimeSheetData(),a=this.getCurrentActiveArrayFormulaCellData(),o=this.getCurrentRuntimeActiveArrayFormulaCellData();return(s==null?void 0:s.getValue(e,t))||(o==null?void 0:o.getValue(e,t))||this.getRuntimeFeatureCellValue(e,t)||(a==null?void 0:a.getValue(e,t))||(r==null?void 0:r.cellData.getValue(e,t))}getRuntimeFeatureCellValue(e,t){var s;const r=Object.keys(this._runtimeFeatureCellData);for(const a of r){const o=this._runtimeFeatureCellData[a],u=(s=o==null?void 0:o[this.getUnitId()])==null?void 0:s[this.getSheetId()];if(u==null)continue;const l=u.getValue(e,t);if(l!=null)return l}}getCellByPosition(e,t){e||(e=this._rangeData.startRow),t||(t=this._rangeData.startColumn);const r=this.getCellData(e,t);return r?this.getCellValueObject(r):h.create(f.VALUE)}getCellPattern(e,t,r,s){var l,c,m,g;const a=this._unitStylesData[e];if(!a)return"";const o=(m=(c=(l=this._unitData[e])==null?void 0:l[t])==null?void 0:c.cellData)==null?void 0:m.getValue(r,s);if(!o)return"";const u=a.getStyleByCell(o);return((g=u==null?void 0:u.n)==null?void 0:g.pattern)||""}toArrayValueObject(e=!0){var R;const{startRow:t,endRow:r,startColumn:s,endColumn:a}=this.getRangePosition(),o=`${this.getUnitId()}_${this.getSheetId()}_${t}_${r}_${s}_${a}`,u=nn.get(o);if(u&&e)return u;const l=r-t+1,c=a-s+1;if(l<0||c<0)return this._getBlankArrayValueObject();const m=new Array(l);this.iterator((b,L,U)=>{const B=L-t,T=U-s;m[B]||(m[B]=new Array(c)),b==null&&(b=ie.create()),m[B][T]=b});const g={calculateValueList:m,rowCount:m.length,columnCount:((R=m[0])==null?void 0:R.length)||0,unitId:this.getUnitId(),sheetId:this.getSheetId(),row:t,column:s},p=de.create(g);return e&&nn.set(o,p),p}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 de.create(e)}}class ms extends or{constructor(i){super(),this._promise=i}isAsyncObject(){return!0}async getValue(){return this._promise}}class ds extends or{constructor(i){super(),this._promiseList=i}isAsyncArrayObject(){return!0}async getValue(){var t;const i=[];for(let r=0;r<this._promiseList.length;r++){const s=this._promiseList[r];i[r]==null&&(i[r]=[]);for(let a=0;a<s.length;a++){const o=s[a];o.isAsyncObject()?i[r][a]=await o.getValue():i[r][a]=o}}const e={calculateValueList:i,rowCount:i.length,columnCount:((t=i[0])==null?void 0:t.length)||0,unitId:"",sheetId:"",row:0,column:0};return de.create(e)}}class Tt extends Pt{constructor(i,e,t){super(""),this.setRangeData(i),e&&this.setForcedSheetIdDirect(e),t&&this.setForcedUnitIdDirect(t)}isRange(){return!0}}const gs=/[\[\]]/g;function ps(n,i){if(gs.test(n)){const e=Number(n.replace(gs,""));return i+e}return Number(n)-1}function sn(n,i=0,e=0){n=n.toLocaleUpperCase();const t=n.split(/[RC]/),r=t[1],s=t[2],a=ps(r,i),o=ps(s,e);return{row:a,column:o,absoluteRefType:D.AbsoluteRefType.NONE}}function Rs(n,i=0,e=0){const{refBody:t,sheetName:r,unitId:s}=Nn(n),a=t.indexOf(":");if(a===-1){const b=sn(t,i,e),L=b.row,U=b.column,B=b.absoluteRefType;return{unitId:s,sheetName:r,range:{startRow:L,startColumn:U,endRow:L,endColumn:U,startAbsoluteRefType:B,endAbsoluteRefType:B}}}const o=t.substring(0,a),u=t.substring(a+1),l=sn(o,i,e),c=sn(u,i,e),m=l.row,g=l.column,p=c.row,R=c.column;return{unitId:s,sheetName:r,range:{startRow:m,startColumn:g,endRow:p,endColumn:R,startAbsoluteRefType:l.absoluteRefType,endAbsoluteRefType:c.absoluteRefType}}}function Ba(n){const i=fr(n.startRow,n.startAbsoluteRefType,!0),e=fr(n.startColumn,n.startAbsoluteRefType,!1),t=fr(n.endRow,n.endAbsoluteRefType,!0),r=fr(n.endColumn,n.endAbsoluteRefType,!1);return i===t&&e===r?`R${i}C${e}`:`R${i}C${e}:R${t}C${r}`}function fr(n,i=D.AbsoluteRefType.ALL,e){switch(n+=1,i){case D.AbsoluteRefType.ALL:return`${n}`;case D.AbsoluteRefType.ROW:return e?`${n}`:`[${n}]`;case D.AbsoluteRefType.COLUMN:return e?`[${n}]`:`${n}`;case D.AbsoluteRefType.NONE:return`[${n}]`}}const _s=[];var Es=(n=>n)(Es||{});function J(n,i,e,t){const r=[];if(e.isArray()){const s=e.getRowCount(),a=e.getColumnCount();if(s===1&&a===1){const o=e.getFirstCell();for(let u=0;u<n;u++){const l=[];for(let c=0;c<i;c++)l.push(o);r.push(l)}}else if(s===1&&a>1)for(let o=0;o<n;o++){const u=[];for(let l=0;l<i;l++){const c=e.getRealValue(0,l)||(t!=null?t:ie.create());u.push(c)}r.push(u)}else if(a===1&&s>1)for(let o=0;o<n;o++){const u=[];for(let l=0;l<i;l++){const c=e.getRealValue(o,0)||(t!=null?t:ie.create());u.push(c)}r.push(u)}else for(let o=0;o<n;o++){const u=[];for(let l=0;l<i;l++){const c=e.getRealValue(o,l)||(t!=null?t:ie.create());u.push(c)}r.push(u)}}else for(let s=0;s<n;s++){const a=[];for(let o=0;o<i;o++)a.push(e);r.push(a)}return dt(r,n,i)}function dt(n,i,e,t="",r=""){const s={calculateValueList:n,rowCount:i,columnCount:e,unitId:t,sheetId:r,row:-1,column:-1};return de.create(s)}function kt(n){const i=[M.EQUALS,M.NOT_EQUAL,M.GREATER_THAN_OR_EQUAL,M.GREATER_THAN,M.LESS_THAN_OR_EQUAL,M.LESS_THAN];for(const e of i)if(n.startsWith(e)){const t=n.substring(e.length);return[e,it.create(t)]}return[M.EQUALS,it.create(n)]}function hr(n,i,e,t){if(!e)if(i.isString()){const r=`${i.getValue()}`,[s,a]=kt(r);e=s,i=a}else e=M.EQUALS;return n.compare(i,e,t)}function Ta(n,i){const e=Math.max(n.isArray()?n.getRowCount():1,i.isArray()?i.getRowCount():1),t=Math.max(n.isArray()?n.getColumnCount():1,i.isArray()?i.getColumnCount():1),r=J(e,t,n),s=J(e,t,i);return r.mapValue((a,o,u)=>{const l=s.get(o,u);return a!=null&&a.isError()?a:l!=null&&l.isError()?l:a!=null&&a.isBoolean()&&(l!=null&&l.isBoolean())?lr(a.getValue()&&l.getValue()):$.create(!1)})}function ka(n){const i=n.getValue();let e=0;return i&&(e=1),y.create(e)}function Cs(n){return n.isArray()&&n.getRowCount()===1&&n.getColumnCount()===1?!0:n.isReferenceObject()?!!(n.isCell()||n.getRowCount()===1&&n.getColumnCount()===1):(n=n,!!(n.isString()||n.isNumber()||n.isBoolean()||n.isError()||n.isNull()))}function gt(n){const i=n==null?void 0:n.getPattern();let e={};if(i&&(e={s:{n:{pattern:i}}}),n==null)return{v:null,...e};if(n.isError())return{v:n.getErrorType(),t:D.CellValueType.STRING,...e};if(n.isValueObject()){const t=n,r=t.getValue();return t.isNumber()?{v:r,t:D.CellValueType.NUMBER,...e}:t.isBoolean()?{v:r?1:0,t:D.CellValueType.BOOLEAN,...e}:t.isString()?{v:r,t:D.CellValueType.STRING,...e}:t.isNull()?{v:null,...e}:{v:r,t:D.CellValueType.STRING,...e}}}function It(n){let i=0,e=0;return n.forEach((t,r)=>{if(r%2===1)if(t.isArray()){const s=t;i=Math.max(i,s.getRowCount()),e=Math.max(e,s.getColumnCount())}else i=Math.max(i,1),e=Math.max(e,1)}),{maxRowLength:i,maxColumnLength:e}}function jt(n,i,e,t){const r=i.getRowCount(),s=i.getColumnCount();for(let a=0;a<n.length;a++){if(a%2===1)continue;const o=n[a],u=o.getRowCount(),l=o.getColumnCount();if(u!==r||l!==s)return J(e,t,h.create(f.VALUE))}return null}function $t(n,i,e,t=!1){const r=[];for(let s=0;s<n.length;s++){if(s%2===1)continue;const a=n[s],o=n[s+1];J(i,e,o,h.create(f.NA)).iterator((l,c,m)=>{if(!l)return;let g=hr(a,l);const[,p]=kt(`${l.getValue()}`);if(t&&(g=mr(g,a,p)),r[c]===void 0&&(r[c]=[]),r[c][m]===void 0){r[c][m]=g;return}r[c][m]=Ta(r[c][m],g)})}return r}function mr(n,i,e){return n.mapValue((t,r,s)=>{const a=i.get(r,s);return a&&Ia(a,e)?t:a!=null&&a.isError()&&e.isError()&&a.getValue()===e.getValue()?$.create(!0):$.create(!1)})}function Ia(n,i){if(n.isNumber()&&i.isNumber()||n.isBoolean()&&i.isBoolean())return!0;const e=n.isString()&&n.getValue()==="",t=i.isString()&&i.getValue()==="";return!!((e||n.isNull())&&(t||i.isNull())||n.isString()&&!e&&i.isString()&&!t)}class an extends Pt{constructor(i){super(i);const e=je(i);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName),this.setRangeData(e.range)}isCell(){return!0}unionBy(i){if(!i.isCell())return h.create(f.REF);const e=i,t=this.unionRange(this.getRangeData(),e.getRangeData());return this._createRange(t)}unionRange(i,e){const t=i.startRow,r=i.startColumn,s=e.startRow,a=e.startColumn,o={startRow:-1,startColumn:-1,endRow:-1,endColumn:-1};return t>s?(o.startRow=s,o.endRow=t):(o.startRow=t,o.endRow=s),r>a?(o.startColumn=a,o.endColumn=r):(o.startColumn=r,o.endColumn=a),i.startAbsoluteRefType&&(o.startAbsoluteRefType=i.startAbsoluteRefType),e.startAbsoluteRefType&&(o.endAbsoluteRefType=e.startAbsoluteRefType),o}_createRange(i){const e=new Tt(i,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 s=this.getForcedSheetId();e.setForcedSheetName(this.getForcedSheetName()),s!=null&&e.setForcedSheetIdDirect(s);const a=this.getForcedUnitId();return a&&e.setForcedUnitIdDirect(a),e}}class on extends Pt{constructor(i){super(i);const e=je(i);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={startColumn:Number.NaN,startRow:e.range.startRow,endColumn:Number.NaN,endRow:-1};this.setRangeData(t)}isRow(){return!0}unionBy(i){if(!i.isRow())return h.create(f.REF);const e=i;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return h.create(f.REF);const t=this.getRangeData(),r=e.getRangeData(),s=r.startRow,a=t.startRow;return s>a?t.endRow=s:(t.startRow=s,t.endRow=a),r.startAbsoluteRefType&&(t.endAbsoluteRefType=r.startAbsoluteRefType),t.rangeType=D.RANGE_TYPE.ROW,this.setToken(`${this.getToken()}${N.COLON}${e.getToken()}`),this}}class un extends Pt{constructor(i){super(i);const e=je(i);this.setForcedUnitIdDirect(e.unitId),this.setForcedSheetName(e.sheetName);const t={startColumn:e.range.startColumn,startRow:Number.NaN,endColumn:-1,endRow:Number.NaN};this.setRangeData(t)}isColumn(){return!0}unionBy(i){if(!i.isColumn())return h.create(f.REF);const e=i;if(e.getForcedSheetName()!==void 0&&e.getForcedSheetName()!=="")return h.create(f.REF);const t=this.getRangeData(),r=e.getRangeData(),s=r.startColumn,a=t.startColumn;return s>a?t.endColumn=s:(t.startColumn=s,t.endColumn=a),r.startAbsoluteRefType&&(t.endAbsoluteRefType=r.startAbsoluteRefType),t.rangeType=D.RANGE_TYPE.COLUMN,this.setToken(`${this.getToken()}${N.COLON}${e.getToken()}`),this}}class V extends D.Disposable{constructor(e){super();d(this,"_unitId");d(this,"_subUnitId");d(this,"_row",-1);d(this,"_column",-1);d(this,"_definedNames");d(this,"needsExpandParams",!1);d(this,"needsReferenceObject",!1);d(this,"minParams",-1);d(this,"maxParams",-1);this._name=e}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}getDefinedName(e){var r;const t=this._definedNames;return t==null?null:(r=Array.from(Object.values(t)).filter(s=>s.name===e))==null?void 0:r[0]}setDefinedNames(e){this._definedNames=e}isAsync(){return!1}isAddress(){return!1}isCustom(){return!1}setRefInfo(e,t,r,s){this._unitId=e,this._subUnitId=t,this._row=r,this._column=s}calculateCustom(...e){return null}calculate(...e){return h.create(f.VALUE)}checkArrayType(e){return e.isReferenceObject()||e.isValueObject()&&e.isArray()}getIndexNumValue(e,t=1){if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())return e.getValue()===!1?h.create(f.VALUE):t;if(e.isString()){const r=Number(e.getValue());return Number.isNaN(r)?h.create(f.REF):r}else if(e.isNumber())return e.getValue();return h.create(f.VALUE)}getZeroOrOneByOneDefault(e){if(e==null)return 1;let t=1;if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())e.getValue()===!1&&(t=0);else{if(e.isString())return;e.isNumber()&&e.getValue()===0&&(t=0)}return t}getMatchTypeValue(e){if(e==null)return 1;let t=1;if(e.isArray()&&(e=e.getFirstCell()),e.isBoolean())e.getValue()===!1&&(t=0);else{if(e.isString())return;if(e.isNumber()){const r=e.getValue();r<=0&&(t=r)}}return t}binarySearch(e,t,r,s){const a=t.binarySearch(e,s);if(a==null)return h.create(f.NA);let o;return r.getRowCount()===1?o=r.get(0,a)||ie.create():o=r.get(a,0)||ie.create(),o.isNull()?h.create(f.NA):o}_getOneFirstByRaw(e){return e.length===0?h.create(f.NA):e[0][0]||h.create(f.NA)}_getOneLastByRaw(e){return e.length===0?h.create(f.NA):e[e.length-1][e[0].length-1]||h.create(f.NA)}equalSearch(e,t,r,s=!0){const a=r.pickRaw(t.isEqual(e));return s?this._getOneFirstByRaw(a):this._getOneLastByRaw(a)}fuzzySearch(e,t,r,s=!0){const a=r.pickRaw(t.compare(e,M.EQUALS));return s?this._getOneFirstByRaw(a):this._getOneLastByRaw(a)}orderSearch(e,t,r,s=we.MIN,a=!1){const o=t.orderSearch(e,s,a);if(o==null)return h.create(f.NA);const u=r.get(o.row,o.column)||ie.create();return u.isNull()?h.create(f.NA):u}binarySearchExpand(e,t,r,s=0,a){const o=t.binarySearch(e,a);return o==null?h.create(f.NA):s===0?r.slice([o,o+1]):r.slice(void 0,[o,o+1])}equalSearchExpand(e,t,r,s=!0,a=0){const o=t.isEqual(e);let u;return s?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null?h.create(f.NA):a===0?r.slice([u.row,u.row+1]):r.slice(void 0,[u.column,u.column+1])}fuzzySearchExpand(e,t,r,s=!0,a=0){const o=t.compare(e,M.EQUALS);let u;return s?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null?h.create(f.NA):a===0?r.slice([u.row,u.row+1]):r.slice(void 0,[u.column,u.column+1])}orderSearchExpand(e,t,r,s=we.MIN,a=!1,o=0){const u=t.orderSearch(e,s,a);return u==null?h.create(f.NA):o===0?r.slice([u.row,u.row+1]):r.slice(void 0,[u.column,u.column+1])}flattenArray(e,t=!0){const r=[];r[0]=[];for(let s=0;s<e.length;s++){let a=e[s];if((a.isString()||a.isBoolean()||a.isNull())&&(a=a.convertToNumberObjectValue()),a.isError())return a;if(a.isArray()){let o;if(a.iterator(u=>{if(u==null||u.isNull()||t&&(u.isString()||u.isBoolean()))return!0;if(u=this._includingLogicalValuesAndText(u),u.isError())return o=u,!1;r[0].push(u)}),o!=null&&o.isError())return o}else r[0].push(a)}return dt(r,1,r[0].length)}_includingLogicalValuesAndText(e){if(e.isBoolean()&&(e=ka(e)),e.isString()){const t=Number(e.getValue());e=y.create(Number.isNaN(t)?0:t)}return e}createReferenceObject(e,t){const r=e.getForcedUnitId(),s=e.getForcedSheetId()||"",a=e.getForcedSheetName(),u=ft({unitId:r,sheetName:a,range:t});let l;return new RegExp(vt).test(u)?l=new an(u):new RegExp(In).test(u)?l=new on(u):new RegExp(jn).test(u)?l=new un(u):l=new Tt(t,s,r),this._setReferenceDefault(e,l)}_setReferenceDefault(e,t){return this.unitId==null||this.subUnitId==null?h.create(f.REF):(t.setDefaultUnitId(this.unitId),t.setDefaultSheetId(this.subUnitId),t.setUnitData(e.getUnitData()),t.setRuntimeData(e.getRuntimeData()),t.setArrayFormulaCellData(e.getArrayFormulaCellData()),t.setRuntimeArrayFormulaCellData(e.getRuntimeArrayFormulaCellData()),t)}}class ja extends V{isCustom(){return!0}}class ys extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.std()}}class Ds extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.std(1)}}class bs extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.var()}}class Ss extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e);return t.isError()?t:t.var(1)}}var Lt=(n=>(n.BETADIST="BETADIST",n.BETAINV="BETAINV",n.BINOMDIST="BINOMDIST",n.CHIDIST="CHIDIST",n.CHIINV="CHIINV",n.CHITEST="CHITEST",n.CONFIDENCE="CONFIDENCE",n.COVAR="COVAR",n.CRITBINOM="CRITBINOM",n.EXPONDIST="EXPONDIST",n.FDIST="FDIST",n.FINV="FINV",n.FTEST="FTEST",n.GAMMADIST="GAMMADIST",n.GAMMAINV="GAMMAINV",n.HYPGEOMDIST="HYPGEOMDIST",n.LOGINV="LOGINV",n.LOGNORMDIST="LOGNORMDIST",n.MODE="MODE",n.NEGBINOMDIST="NEGBINOMDIST",n.NORMDIST="NORMDIST",n.NORMINV="NORMINV",n.NORMSDIST="NORMSDIST",n.NORMSINV="NORMSINV",n.PERCENTILE="PERCENTILE",n.PERCENTRANK="PERCENTRANK",n.POISSON="POISSON",n.QUARTILE="QUARTILE",n.RANK="RANK",n.STDEV="STDEV",n.STDEVP="STDEVP",n.TDIST="TDIST",n.TINV="TINV",n.TTEST="TTEST",n.VAR="VAR",n.VARP="VARP",n.WEIBULL="WEIBULL",n.ZTEST="ZTEST",n))(Lt||{});const As=[[Ds,Lt.STDEV],[ys,Lt.STDEVP],[Ss,Lt.VAR],[bs,Lt.VARP]],Ps=[];var Ls=(n=>(n.CUBEKPIMEMBER="CUBEKPIMEMBER",n.CUBEMEMBER="CUBEMEMBER",n.CUBEMEMBERPROPERTY="CUBEMEMBERPROPERTY",n.CUBERANKEDMEMBER="CUBERANKEDMEMBER",n.CUBESET="CUBESET",n.CUBESETCOUNT="CUBESETCOUNT",n.CUBEVALUE="CUBEVALUE",n))(Ls||{});const Vs=[];var ws=(n=>(n.DAVERAGE="DAVERAGE",n.DCOUNT="DCOUNT",n.DCOUNTA="DCOUNTA",n.DGET="DGET",n.DMAX="DMAX",n.DMIN="DMIN",n.DPRODUCT="DPRODUCT",n.DSTDEV="DSTDEV",n.DSTDEVP="DSTDEVP",n.DSUM="DSUM",n.DVAR="DVAR",n.DVARP="DVARP",n))(ws||{});const ln="yyyy/mm/dd;@",$a="yyyy/mm/dd hh:mm",Ya="h:mm A/P";function cn(n){const i=new Date(Date.UTC(1900,0,1)),e=new Date(Date.UTC(1900,1,28)),t=Date.UTC(n.getFullYear(),n.getMonth(),n.getDate());let r=(t-i.getTime())/(1e3*3600*24);return t>e.getTime()&&(r+=1),Math.floor(r)+1}function Ha(n){const i=new Date(Date.UTC(1900,0,1,0,0,0)),e=new Date(Date.UTC(1900,1,28,0,0,0));let r=(n.getTime()-i.getTime())/(1e3*3600*24);return n>e&&(r+=1),r+1}function Yt(n){const i=new Date(Date.UTC(1900,0,1)),e=new Date(Date.UTC(1900,1,28));let t=Math.floor(n)-1;return t>(e.getTime()-i.getTime())/(1e3*3600*24)&&(t-=1),new Date(i.getTime()+t*(1e3*3600*24))}function fn(n){const i=new Date(Date.UTC(1900,0,1,0,0,0)),e=new Date(Date.UTC(1900,1,28,0,0,0));let t=n-1;return t>(e.getTime()-i.getTime())/(1e3*3600*24)&&(t-=1),t<0&&(t=n),new Date(i.getTime()+t*(1e3*3600*24))}function hn(n){if(!/^\d{4}[-/](0?[1-9]|1[012])[-/](0?[1-9]|[12][0-9]|3[01])$/.test(n))return!1;const e=n.replace(/-/g,"/").replace(/T.+/,""),t=new Date(`${e}`);if(Number.isNaN(t.getTime()))return!1;const r=t.getFullYear(),s=(t.getMonth()+1).toString().padStart(2,"0"),a=t.getDate().toString().padStart(2,"0"),o=`${r}-${s}-${a}`;return n.replace(/\//g,"-").split("-").map(l=>l.padStart(2,"0")).join("-")===o}function xs(n){return At.parseDate(n)}function Us(n){return At.parseValue(n)}function Os(n){return At.parseTime(n)}function Ms(n){return At.isDate(n)}const Fs={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 Ht(n){return!!(typeof n=="string"&&/^[0|1]{7}/.test(n)||Fs[Number(n)])}function vs(n){if(!Ht(n))return[];if(typeof n=="string"&&/^[0|1]{7}/.test(n)){const i=[];for(let e=1;e<=n.length;e++)`${n[e-1]}`=="1"&&(e===n.length?i.push(0):i.push(e));return i}return Fs[Number(n)]||[]}function dr(n,i,e=1,t){const r=vs(e),s=Math.floor(n),a=Math.floor(i),o=a>s?s:a;let u=0;const l=Math.abs(Math.floor(i)-Math.floor(n))+1;for(let c=0;c<l;c++){const m=o+c;if(t&&t.length>0&&t.some(p=>Math.floor(p)===m))continue;const g=mn(m);r.includes(g)||u++}return a>s?u:-u}function gr(n,i,e=1,t){const r=vs(e);n=Math.floor(n);let s=n,a=Math.abs(i);for(let o=1;o<=a;o++){const u=i<0?n-o:n+o;if(u<0)return h.create(f.NUM);if(t&&t.length>0&&t.some(c=>Math.floor(c)===u)){a++;continue}const l=mn(u);if(r.includes(l)){a++;continue}s=u}return s}function Ee(n){const i=n.getValue();if(n.isString()){let e;if(xs(`${i}`))e=xs(`${i}`).v;else if(Os(`${i}`))e=Os(`${i}`).v;else if(D.isRealNum(i))e=+i;else return h.create(f.VALUE);return+e<0||+e>2958465?h.create(f.NUM):e}else{const e=+n.getValue();return e<0||e>2958465?h.create(f.NUM):e}}function mn(n){const i=Math.floor(n)===60;let e=Yt(n);const t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())).getTime(),r=new Date(Date.UTC(1900,1,28)).getTime();return!i&&t<=r&&(e=new Date(t-24*3600*1e3)),new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())).getUTCDay()}class Qa extends V{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=J(s,a,e),u=J(s,a,t),l=J(s,a,r);return o.map((c,m,g)=>{const p=u.get(m,g)||ie.create(),R=l.get(m,g)||ie.create();if(c.isError())return c;if(p.isError())return p;if(R.isError())return R;if(c.isString()||p.isString()||R.isString())return h.create(f.VALUE);let b=+c.getValue();const L=Math.floor(+p.getValue()),U=+R.getValue();if(b<0||b>9999)return h.create(f.NUM);b>=0&&b<1899&&(b+=1900);const B=new Date(b,L-1,U),T=cn(B);return T<0?h.create(f.NUM):y.create(T,ln)})}}class za extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isString()){const t=`${e.getValue()}`,r=Us(t);if(r){const{v:s,z:a}=r;if(Ms(a))return y.create(Math.trunc(s))}}return h.create(f.VALUE)}}class Na extends V{constructor(){super(...arguments);d(this,"minParams",1);d(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(!hn(`${r}`))return h.create(f.VALUE);t=new Date(`${r}`)}else{const o=+e.getValue();if(o<0)return h.create(f.NUM);if(o===0)return y.create(0);t=Yt(o)}const s=t.getDate();return y.create(s)}}class Wa extends V{constructor(){super(...arguments);d(this,"minParams",2);d(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),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),a=J(r,s,e),o=J(r,s,t);return a.map((u,l,c)=>{const m=o.get(l,c)||ie.create();if(u.isError())return u;if(m.isError())return m;if(u.isString()||u.isBoolean()||m.isString()||m.isBoolean())return h.create(f.VALUE);const g=+u.getValue();if(g<0)return h.create(f.NUM);const p=Math.floor(+m.getValue()),R=Yt(g),b=R.getUTCFullYear(),L=R.getUTCMonth()+p,U=R.getUTCDate(),B=new Date(Date.UTC(b,L,U)),T=cn(B);return y.create(T,ln)})}}var Re=(n=>(n.DATE="DATE",n.DATEDIF="DATEDIF",n.DATEVALUE="DATEVALUE",n.DAY="DAY",n.DAYS="DAYS",n.DAYS360="DAYS360",n.EDATE="EDATE",n.EOMONTH="EOMONTH",n.HOUR="HOUR",n.ISOWEEKNUM="ISOWEEKNUM",n.MINUTE="MINUTE",n.MONTH="MONTH",n.NETWORKDAYS="NETWORKDAYS",n.NETWORKDAYS_INTL="NETWORKDAYS.INTL",n.NOW="NOW",n.SECOND="SECOND",n.TIME="TIME",n.TIMEVALUE="TIMEVALUE",n.TODAY="TODAY",n.WEEKDAY="WEEKDAY",n.WEEKNUM="WEEKNUM",n.WORKDAY="WORKDAY",n.WORKDAY_INTL="WORKDAY.INTL",n.YEAR="YEAR",n.YEARFRAC="YEARFRAC",n))(Re||{});class Ga extends V{constructor(){super(...arguments);d(this,"minParams",1);d(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=Ee(e);if(typeof t!="number")return t;if(t===0)return y.create(0);const s=fn(t).getUTCHours();return y.create(s)}}class Xa extends V{constructor(){super(...arguments);d(this,"minParams",1);d(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=Ee(e);if(typeof t!="number")return t;if(t===0)return y.create(0);const s=fn(t).getUTCMinutes();return y.create(s)}}class Ka extends V{constructor(){super(...arguments);d(this,"minParams",1);d(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(!hn(`${r}`))return h.create(f.VALUE);t=new Date(`${r}`)}else{const o=+e.getValue();if(o<0)return h.create(f.NUM);if(o===0)return y.create(1);t=Yt(o)}const s=t.getUTCMonth()+1;return y.create(s)}}class qa extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r!=null&&r.isError())return r;if(e.isArray()){if(e.getRowCount()>1||e.getColumnCount()>1)return h.create(f.VALUE);if(e=e.get(0,0),e.isError())return e}if(t.isArray()){if(t.getRowCount()>1||t.getColumnCount()>1)return h.create(f.VALUE);if(t=t.get(0,0),t.isError())return t}if(e.isBoolean()||t.isBoolean())return h.create(f.VALUE);const s=Ee(e);if(typeof s!="number")return s;const a=Ee(t);if(typeof a!="number")return a;let o;if(r){const u=[];if(r!=null&&r.isArray()){const l=r.getRowCount(),c=r.getColumnCount();for(let m=0;m<l;m++)for(let g=0;g<c;g++){const p=r.get(m,g);if(p.isBoolean())return h.create(f.VALUE);const R=Ee(p);if(typeof R!="number")return R;u.push(R)}}else{if(r.isBoolean())return h.create(f.VALUE);const l=Ee(r);if(typeof l!="number")return l;u.push(l)}o=dr(s,a,1,u)}else o=dr(s,a);return y.create(o)}}class Za extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",4)}calculate(e,t,r,s){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:s!=null&&s.isError()?s:r!=null&&r.isArray()?r.map(a=>this._handleSingleObject(e,t,a,s)):this._handleSingleObject(e,t,r,s)}_handleSingleObject(e,t,r,s){let a=1;if(r){if(a=r.getValue(),r.isBoolean()&&(a=+a),r.isString()&&!Ht(a))return h.create(f.VALUE);if(!Ht(a))return h.create(f.NUM)}if(e.isArray()){if(e.getRowCount()>1||e.getColumnCount()>1)return h.create(f.VALUE);if(e=e.get(0,0),e.isError())return e}if(t.isArray()){if(t.getRowCount()>1||t.getColumnCount()>1)return h.create(f.VALUE);if(t=t.get(0,0),t.isError())return t}if(e.isBoolean()||t.isBoolean())return h.create(f.VALUE);const o=Ee(e);if(typeof o!="number")return o;const u=Ee(t);if(typeof u!="number")return u;let l;if(s){const c=[];if(s!=null&&s.isArray()){const m=s.getRowCount(),g=s.getColumnCount();for(let p=0;p<m;p++)for(let R=0;R<g;R++){const b=s.get(p,R);if(b.isBoolean())return h.create(f.VALUE);const L=Ee(b);if(typeof L!="number")return L;c.push(L)}}else{if(s.isBoolean())return h.create(f.VALUE);const m=Ee(s);if(typeof m!="number")return m;c.push(m)}l=dr(o,u,a,c)}else l=dr(o,u,a);return y.create(l)}}class Ja extends V{constructor(){super(...arguments);d(this,"minParams",0);d(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=Ha(t);return y.create(r,$a)}}class eo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(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=Ee(e);if(typeof t!="number")return t;if(t===0)return y.create(0);const s=fn(t).getUTCSeconds();return y.create(s)}}class to extends V{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=J(s,a,e),u=J(s,a,t),l=J(s,a,r);return o.map((c,m,g)=>this._calculateTime(c,u,l,m,g))}_calculateTime(e,t,r,s,a){let o=t.get(s,a)||ie.create(),u=r.get(s,a)||ie.create();if((e.isString()||e.isBoolean())&&(e=e.convertToNumberObjectValue()),(o.isString()||o.isBoolean())&&(o=o.convertToNumberObjectValue()),(u.isString()||u.isBoolean())&&(u=u.convertToNumberObjectValue()),e.isError())return e;if(o.isError())return o;if(u.isError())return u;let l=Math.floor(+e.getValue()),c=Math.floor(+o.getValue()),m=Math.floor(+u.getValue());if(l<0||c<0||m<0||l>32767||c>32767||m>32767)return h.create(f.NUM);c+=Math.floor(m/60),m%=60,l+=Math.floor(c/60),c%=60,l%=24;const p=(l*3600+c*60+m)/86400;return y.create(p,Ya)}}class ro extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.map(t=>this._handleSingleObject(t)):this._handleSingleObject(e)}_handleSingleObject(e){if(e.isString()){const t=`${e.getValue()}`,r=Us(t);if(r){const{v:s,z:a}=r;if(Ms(a))return y.create(Ca(s))}}return h.create(f.VALUE)}}class no extends V{constructor(){super(...arguments);d(this,"minParams",0);d(this,"maxParams",0)}calculate(){const e=cn(new Date);return y.create(e,ln)}}class so extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t!=null&&t.isError())return t;const r=Math.max(e.isArray()?e.getRowCount():1,t!=null&&t.isArray()?t.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t!=null&&t.isArray()?t.getColumnCount():1),a=J(r,s,e,h.create(f.NA)),o=t?J(r,s,t,h.create(f.NA)):[],u=a.map((l,c,m)=>{if(t){const g=o.get(c,m);return this._handleSingleObject(l,g)}else return this._handleSingleObject(l)});return u.getRowCount()===1&&u.getColumnCount()===1?u.getArrayValue()[0][0]:u}_handleSingleObject(e,t){if(e.isError())return e;if(t!=null&&t.isError())return t;const r=Ee(e);if(typeof r!="number")return r;const s={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]};let a=1;if(t){if(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError())return t;if(a=Math.floor(+t.getValue()),!s[a])return h.create(f.NUM)}const o=mn(r),u=s[a][o];return y.create(u)}}class io extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r!=null&&r.isError())return r;if(e.isArray()){if(e.getRowCount()>1||e.getColumnCount()>1)return h.create(f.VALUE);if(e=e.get(0,0),e.isError())return e}if(t.isArray()){if(t.getRowCount()>1||t.getColumnCount()>1)return h.create(f.VALUE);if(t=t.get(0,0),t.isError())return t}if(e.isBoolean()||t.isBoolean())return h.create(f.VALUE);const s=Ee(e);if(typeof s!="number")return s;if(t.isString()&&(t=t.convertToNumberObjectValue(),t.isError()))return t;const a=+t.getValue();let o;if(r){const u=[];if(r!=null&&r.isArray()){const l=r.getRowCount(),c=r.getColumnCount();for(let m=0;m<l;m++)for(let g=0;g<c;g++){const p=r.get(m,g);if(p.isBoolean())return h.create(f.VALUE);const R=Ee(p);if(typeof R!="number")return R;u.push(R)}}else{if(r.isBoolean())return h.create(f.VALUE);const l=Ee(r);if(typeof l!="number")return l;u.push(l)}o=gr(s,a,1,u)}else o=gr(s,a);return typeof o!="number"?o:y.create(o)}}class ao extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",4)}calculate(e,t,r,s){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:s!=null&&s.isError()?s:r!=null&&r.isArray()?r.map(a=>this._handleSingleObject(e,t,a,s)):this._handleSingleObject(e,t,r,s)}_handleSingleObject(e,t,r,s){let a=1;if(r){if(a=r.getValue(),r.isBoolean()&&(a=+a),r.isString()&&(!Ht(a)||a==="1111111"))return h.create(f.VALUE);if(!Ht(a))return h.create(f.NUM)}if(e.isArray()){if(e.getRowCount()>1||e.getColumnCount()>1)return h.create(f.VALUE);if(e=e.get(0,0),e.isError())return e}if(t.isArray()){if(t.getRowCount()>1||t.getColumnCount()>1)return h.create(f.VALUE);if(t=t.get(0,0),t.isError())return t}if(e.isBoolean()||t.isBoolean())return h.create(f.VALUE);const o=Ee(e);if(typeof o!="number")return o;if(t.isString()&&(t=t.convertToNumberObjectValue(),t.isError()))return t;const u=+t.getValue();let l;if(s){const c=[];if(s!=null&&s.isArray()){const m=s.getRowCount(),g=s.getColumnCount();for(let p=0;p<m;p++)for(let R=0;R<g;R++){const b=s.get(p,R);if(b.isBoolean())return h.create(f.VALUE);const L=Ee(b);if(typeof L!="number")return L;c.push(L)}}else{if(s.isBoolean())return h.create(f.VALUE);const m=Ee(s);if(typeof m!="number")return m;c.push(m)}l=gr(o,u,a,c)}else l=gr(o,u,a);return typeof l!="number"?l:y.create(l)}}class oo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(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(!hn(`${r}`))return h.create(f.VALUE);t=new Date(`${r}`)}else{const o=+r;if(o<0)return h.create(f.NUM);if(o===0)return y.create(1900);t=Yt(o)}const s=t.getUTCFullYear();return y.create(s)}}const Bs=[[Qa,Re.DATE],[za,Re.DATEVALUE],[Na,Re.DAY],[Wa,Re.EDATE],[Ga,Re.HOUR],[Xa,Re.MINUTE],[Ka,Re.MONTH],[qa,Re.NETWORKDAYS],[Za,Re.NETWORKDAYS_INTL],[Ja,Re.NOW],[eo,Re.SECOND],[to,Re.TIME],[ro,Re.TIMEVALUE],[no,Re.TODAY],[so,Re.WEEKDAY],[io,Re.WORKDAY],[ao,Re.WORKDAY_INTL],[oo,Re.YEAR]],Ts=[];var ks=(n=>(n.BESSELI="BESSELI",n.BESSELJ="BESSELJ",n.BESSELK="BESSELK",n.BESSELY="BESSELY",n.BIN2DEC="BIN2DEC",n.BIN2HEX="BIN2HEX",n.BIN2OCT="BIN2OCT",n.BITAND="BITAND",n.BITLSHIFT="BITLSHIFT",n.BITOR="BITOR",n.BITRSHIFT="BITRSHIFT",n.BITXOR="BITXOR",n.COMPLEX="COMPLEX",n.CONVERT="CONVERT",n.DEC2BIN="DEC2BIN",n.DEC2HEX="DEC2HEX",n.DEC2OCT="DEC2OCT",n.DELTA="DELTA",n.ERF="ERF",n.ERF_PRECISE="ERF.PRECISE",n.ERFC="ERFC",n.ERFC_PRECISE="ERFC.PRECISE",n.GESTEP="GESTEP",n.HEX2BIN="HEX2BIN",n.HEX2DEC="HEX2DEC",n.HEX2OCT="HEX2OCT",n.IMABS="IMABS",n.IMAGINARY="IMAGINARY",n.IMARGUMENT="IMARGUMENT",n.IMCONJUGATE="IMCONJUGATE",n.IMCOS="IMCOS",n.IMCOSH="IMCOSH",n.IMCOT="IMCOT",n.IMCSC="IMCSC",n.IMCSCH="IMCSCH",n.IMDIV="IMDIV",n.IMEXP="IMEXP",n.IMLN="IMLN",n.IMLOG10="IMLOG10",n.IMLOG2="IMLOG2",n.IMPOWER="IMPOWER",n.IMPRODUCT="IMPRODUCT",n.IMREAL="IMREAL",n.IMSEC="IMSEC",n.IMSECH="IMSECH",n.IMSIN="IMSIN",n.IMSINH="IMSINH",n.IMSQRT="IMSQRT",n.IMSUB="IMSUB",n.IMSUM="IMSUM",n.IMTAN="IMTAN",n.OCT2BIN="OCT2BIN",n.OCT2DEC="OCT2DEC",n.OCT2HEX="OCT2HEX",n))(ks||{});const Is=[];var js=(n=>(n.ACCRINT="ACCRINT",n.ACCRINTM="ACCRINTM",n.AMORDEGRC="AMORDEGRC",n.AMORLINC="AMORLINC",n.COUPDAYBS="COUPDAYBS",n.COUPDAYS="COUPDAYS",n.COUPDAYSNC="COUPDAYSNC",n.COUPNCD="COUPNCD",n.COUPNUM="COUPNUM",n.COUPPCD="COUPPCD",n.CUMIPMT="CUMIPMT",n.CUMPRINC="CUMPRINC",n.DB="DB",n.DDB="DDB",n.DISC="DISC",n.DOLLARDE="DOLLARDE",n.DOLLARFR="DOLLARFR",n.DURATION="DURATION",n.EFFECT="EFFECT",n.FV="FV",n.FVSCHEDULE="FVSCHEDULE",n.INTRATE="INTRATE",n.IPMT="IPMT",n.IRR="IRR",n.ISPMT="ISPMT",n.MDURATION="MDURATION",n.MIRR="MIRR",n.NOMINAL="NOMINAL",n.NPER="NPER",n.NPV="NPV",n.ODDFPRICE="ODDFPRICE",n.ODDFYIELD="ODDFYIELD",n.ODDLPRICE="ODDLPRICE",n.ODDLYIELD="ODDLYIELD",n.PDURATION="PDURATION",n.PMT="PMT",n.PPMT="PPMT",n.PRICE="PRICE",n.PRICEDISC="PRICEDISC",n.PRICEMAT="PRICEMAT",n.PV="PV",n.RATE="RATE",n.RECEIVED="RECEIVED",n.RRI="RRI",n.SLN="SLN",n.SYD="SYD",n.TBILLEQ="TBILLEQ",n.TBILLPRICE="TBILLPRICE",n.TBILLYIELD="TBILLYIELD",n.VDB="VDB",n.XIRR="XIRR",n.XNPV="XNPV",n.YIELD="YIELD",n.YIELDDISC="YIELDDISC",n.YIELDMAT="YIELDMAT",n))(js||{}),xe=(n=>(n.CELL="CELL",n.ERROR_TYPE="ERROR.TYPE",n.INFO="INFO",n.ISBLANK="ISBLANK",n.ISERR="ISERR",n.ISERROR="ISERROR",n.ISEVEN="ISEVEN",n.ISFORMULA="ISFORMULA",n.ISLOGICAL="ISLOGICAL",n.ISNA="ISNA",n.ISNONTEXT="ISNONTEXT",n.ISNUMBER="ISNUMBER",n.ISODD="ISODD",n.ISOMITTED="ISOMITTED",n.ISREF="ISREF",n.ISTEXT="ISTEXT",n.N="N",n.NA="NA",n.SHEET="SHEET",n.SHEETS="SHEETS",n.TYPE="TYPE",n))(xe||{});class uo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isNull()?$.create(!0):e.isArray()?e.mapValue(t=>t.isNull()?$.create(!0):$.create(!1)):$.create(!1)}}class lo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.getValue()===f.NA?$.create(!1):e.isError()?$.create(!0):e.isArray()?e.mapValue(t=>t.getValue()===f.NA?$.create(!1):t.isError()?$.create(!0):$.create(!1)):$.create(!1)}}class co extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isError()?$.create(!0):e.isArray()?e.mapValue(t=>t.isError()?$.create(!0):$.create(!1)):$.create(!1)}}class fo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){if(e.isArray()||e.isBoolean()||!e.isNumber()&&(e=e.convertToNumberObjectValue(),!e.isNumber()))return h.create(f.VALUE);const t=e.getValue(),r=Math.floor(Math.abs(t));return $.create(r%2===0)}}class ho extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isBoolean()?$.create(!0):e.isArray()?e.mapValue(t=>t.isBoolean()?$.create(!0):$.create(!1)):$.create(!1)}}class mo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.getValue()===f.NA?$.create(!0):e.isArray()?e.mapValue(t=>t.getValue()===f.NA?$.create(!0):$.create(!1)):$.create(!1)}}class go extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return!e.isArray()&&!e.isString()?$.create(!0):e.isArray()?e.mapValue(t=>t.isString()?$.create(!1):$.create(!0)):$.create(!1)}}class po extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isNumber()?$.create(!0):e.isArray()?e.mapValue(t=>t.isNumber()?$.create(!0):$.create(!1)):$.create(!1)}}class Ro extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){if(e.isArray()||e.isBoolean()||!e.isNumber()&&(e=e.convertToNumberObjectValue(),!e.isNumber()))return h.create(f.VALUE);const t=e.getValue(),r=Math.floor(Math.abs(t));return $.create(r%2!==0)}}class _o extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1);d(this,"needsReferenceObject",!0)}calculate(e){return e.isReferenceObject()?$.create(!0):$.create(!1)}}class Eo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()?$.create(!0):e.isArray()?e.mapValue(t=>t.isString()?$.create(!0):$.create(!1)):$.create(!1)}}const $s=[[uo,xe.ISBLANK],[lo,xe.ISERR],[fo,xe.ISEVEN],[Ro,xe.ISODD],[co,xe.ISERROR],[ho,xe.ISLOGICAL],[mo,xe.ISNA],[go,xe.ISNONTEXT],[po,xe.ISNUMBER],[_o,xe.ISREF],[Eo,xe.ISTEXT]];class Co extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=!0,r=!0,s=null;for(const a of e){if(a.isError())return a;if(a.isArray()){if(a.iterator(o=>{if(o!=null&&o.isError())return s=o,!1;(o!=null&&o.isBoolean()||o!=null&&o.isNumber())&&(t=t&&!!o.getValue(),r=!1)}),s)return s}else(a.isBoolean()||a.isNumber())&&(t=t&&!!a.getValue(),r=!1)}return r?h.create(f.VALUE):$.create(t)}}var at=(n=>(n.AND="AND",n.BYCOL="BYCOL",n.BYROW="BYROW",n.FALSE="FALSE",n.IF="IF",n.IFERROR="IFERROR",n.IFNA="IFNA",n.IFS="IFS",n.LAMBDA="LAMBDA",n.LET="LET",n.MAKEARRAY="MAKEARRAY",n.MAP="MAP",n.NOT="NOT",n.OR="OR",n.REDUCE="REDUCE",n.SCAN="SCAN",n.SWITCH="SWITCH",n.TRUE="TRUE",n.XOR="XOR",n))(at||{});class yo extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",3)}calculate(e,t,r=$.create(!1)){if(e.isError())return e;if(t.isError())return t;if(e=this._getSingleValueObject(e),!e.isArray())return e.getValue()?t:r;const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1),o=J(s,a,e),u=J(s,a,t,h.create(f.NA)),l=J(s,a,r,h.create(f.NA));return o.map((c,m,g)=>{if(c.isNull())return h.create(f.NA);{const p=u.get(m,g)||ie.create(),R=l.get(m,g)||ie.create();return this._calculateSingleCell(c,p,R)}})}_getSingleValueObject(e){return e.isArray()&&e.getRowCount()===1&&e.getColumnCount()===1?e.getFirstCell():e}_calculateSingleCell(e,t,r){return e.isNull()?h.create(f.NA):e.getValue()?t.isNull()?h.create(f.NA):t:r.isNull()?h.create(f.NA):r}}class Do extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){if(e.isError())return e;if(t.isError())return t;if(!e.isArray())return e.isError()?t:e;const r=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),a=J(r,s,e),o=J(r,s,t);return a.iterator((u,l,c)=>{u!=null&&u.isError()&&a.set(l,c,o.get(l,c))}),a}}class bo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){return h.create(f.VALUE)}}class So extends V{constructor(){super(...arguments);d(this,"minParams",3);d(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 h.create(f.VALUE);const s=e[2],a=[];for(let o=0;o<t;o++){a[o]==null&&(a[o]=[]);for(let u=0;u<r;u++){const l=s.execute(y.create(o+1),y.create(u+1));a[o][u]=l}}return new ds(a)}isAsync(){return!0}}class Ao extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=!1,r=!0,s=null;for(const a of e){if(a.isError())return a;if(a.isArray()){if(a.iterator(o=>{if(o!=null&&o.isError())return s=o,!1;(o!=null&&o.isBoolean()||o!=null&&o.isNumber())&&(t=t||!!o.getValue(),r=!1)}),s)return s}else(a.isBoolean()||a.isNumber())&&(t=t||!!a.getValue(),r=!1)}return r?new h(f.VALUE):new $(t)}}const Ys=[[Co,at.AND],[yo,at.IF],[bo,at.LAMBDA],[So,at.MAKEARRAY],[Ao,at.OR],[Do,at.IFERROR]];class Po extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",5)}calculate(e,t,r,s,a){if(e.isError())return e;if(t.isError())return t;if(r!=null&&r.isError())return r;if(s!=null&&s.isError())return s;if(a!=null&&a.isError())return a;r=r!=null?r:y.create(1),s=s!=null?s:$.create(!0),a=a!=null?a:fe.create("");const o=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1,a.isArray()?a.getRowCount():1),u=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1,a.isArray()?a.getColumnCount():1),l=J(o,u,e,h.create(f.NA)),c=J(o,u,t,h.create(f.NA)),m=J(o,u,r,h.create(f.NA)),g=J(o,u,s,h.create(f.NA)),p=J(o,u,a,h.create(f.NA));return l.map((R,b,L)=>{const U=c.get(b,L)||h.create(f.NA),B=m.get(b,L)||h.create(f.NA),T=g.get(b,L)||h.create(f.NA),q=p.get(b,L)||h.create(f.NA);return R.isError()?R:U.isError()?U:B.isError()?B:T.isError()?T:q.isError()?q:this._calculateSingleCell(R,U,B,T,q)})}_calculateSingleCell(e,t,r,s,a){const o=Number.parseInt(`${Number(e.getValue())-1}`),u=Number.parseInt(`${Number(t.getValue())-1}`),l=Number.parseInt(`${Number(r.getValue())}`);if(Number.isNaN(o)||Number.isNaN(u)||Number.isNaN(l)||l<1||l>4)return h.create(f.VALUE);const c=Lo(l),m=this.getZeroOrOneByOneDefault(s),g=`${a.getValue()}`,p=ir(g)?`'${g}'`:g,R={startRow:o,startColumn:u,endRow:o,endColumn:u,startAbsoluteRefType:c,endAbsoluteRefType:c},b=s&&!m?Ba(R):Ge(R);return fe.create(p!==""?`${p}!${b}`:b)}}function Lo(n){switch(n){case 1:return D.AbsoluteRefType.ALL;case 2:return D.AbsoluteRefType.ROW;case 3:return D.AbsoluteRefType.COLUMN;case 4:return D.AbsoluteRefType.NONE;default:return D.AbsoluteRefType.ALL}}class Vo extends V{constructor(){super(...arguments);d(this,"minParams",0);d(this,"maxParams",1)}calculate(e){if(e==null)return y.create(this.column+1);if(e.isError())return e;if(!e.isArray())return h.create(f.NA);const t=e.getCurrentColumn(),r=e.getColumnCount(),s=[];for(let o=0;o<r;o++)s.push(y.create(t+o+1));const a={calculateValueList:[s],rowCount:1,columnCount:r,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return de.create(a)}}class wo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return y.create(1);if(!e.isArray())return h.create(f.NA);const t=e.getColumnCount();return y.create(t)}}var Se=(n=>(n.ADDRESS="ADDRESS",n.AREAS="AREAS",n.CHOOSE="CHOOSE",n.CHOOSECOLS="CHOOSECOLS",n.CHOOSEROWS="CHOOSEROWS",n.COLUMN="COLUMN",n.COLUMNS="COLUMNS",n.DROP="DROP",n.EXPAND="EXPAND",n.FILTER="FILTER",n.FORMULATEXT="FORMULATEXT",n.GETPIVOTDATA="GETPIVOTDATA",n.HLOOKUP="HLOOKUP",n.HSTACK="HSTACK",n.HYPERLINK="HYPERLINK",n.IMAGE="IMAGE",n.INDEX="INDEX",n.INDIRECT="INDIRECT",n.LOOKUP="LOOKUP",n.MATCH="MATCH",n.OFFSET="OFFSET",n.ROW="ROW",n.ROWS="ROWS",n.RTD="RTD",n.SORT="SORT",n.SORTBY="SORTBY",n.TAKE="TAKE",n.TOCOL="TOCOL",n.TOROW="TOROW",n.TRANSPOSE="TRANSPOSE",n.UNIQUE="UNIQUE",n.VLOOKUP="VLOOKUP",n.VSTACK="VSTACK",n.WRAPCOLS="WRAPCOLS",n.WRAPROWS="WRAPROWS",n.XLOOKUP="XLOOKUP",n.XMATCH="XMATCH",n))(Se||{});class xo extends V{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",4)}calculate(e,t,r,s){if(e.isError())return e;if(t.isError())return h.create(f.REF);if(!t.isArray()||r.isError()||s!=null&&s.isError())return h.create(f.NA);const a=this.getZeroOrOneByOneDefault(s);if(a==null)return h.create(f.VALUE);const o=this.getIndexNumValue(r);if(o instanceof h)return o;const u=t.slice([0,1]),l=t.slice([o-1,o]);return u==null||l==null?h.create(f.REF):e.isArray()?e.map(c=>this._handleSingleObject(c,u,l,a)):this._handleSingleObject(e,u,l,a)}_handleSingleObject(e,t,r,s){return s===0?this.equalSearch(e,t,r):this.binarySearch(e,t,r)}}class Uo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",2)}isAddress(){return!0}calculate(e,t){if(e.isError())return e;let r=this.getZeroOrOneByOneDefault(t);if(r==null&&(r=1),e.isArray()){const m=e;if(m.getRowCount()===1&&m.getColumnCount()===1)e=m.getFirstCell();else return m.map(()=>h.create(f.VALUE))}if(!e.isString())return h.create(f.REF);const s=this._convertToDefinedName(e.getValue());if(r===0){const m=Rs(s),{range:g,sheetName:p,unitId:R}=m,b=new Tt(g);return b.setForcedUnitIdDirect(R),b.setForcedSheetName(p),this._setDefault(b)}if(new RegExp(vt).test(s))return this._setDefault(new an(s));if(new RegExp(Tn).test(s))return this._setDefault(new on(s));if(new RegExp(kn).test(s))return this._setDefault(new un(s));const a=je(s),{range:o,sheetName:u,unitId:l}=a,c=new Tt(o);return c.setForcedUnitIdDirect(l),c.setForcedSheetName(u),this._setDefault(c)}_setDefault(e){return this.unitId==null||this.subUnitId==null?h.create(f.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(se.EQUALS)?r.slice(1):r}}class Oo extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",3);d(this,"needsExpandParams",!0)}calculate(e,t,r){return e.isError()?e:t.isError()?h.create(f.REF):t.isArray()?r!=null&&r.isError()?r:t.getColumnCount()===1||t.getRowCount()===1?r!=null&&!r.isArray()?h.create(f.REF):this._handleVector(e,t,r):this._handleArray(e,t):h.create(f.VALUE)}_handleVector(e,t,r){if(r==null)r=t;else if(r.getRowCount()!==t.getRowCount()||r.getColumnCount()!==t.getColumnCount())return h.create(f.REF);return e.isArray()?e.map(s=>this.binarySearch(s,t,r)):this.binarySearch(e,t,r)}_handleArray(e,t){const r=t.getRowCount(),s=t.getColumnCount();let a,o;return s>r?(a=t.slice([0,1]),o=t.slice([r-1,r])):(a=t.slice(void 0,[0,1]),o=t.slice(void 0,[s-1,s])),a==null||o==null?h.create(f.VALUE):e.isArray()?e.map(u=>this.binarySearch(u,a,o)):this.binarySearch(e,a,o)}}class Mo extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return h.create(f.REF);if(!t.isArray())return h.create(f.VALUE);const s=t.getRowCount(),a=t.getColumnCount();if(s!==1&&a!==1||r!=null&&r.isError())return h.create(f.NA);const o=this.getMatchTypeValue(r);return o==null?h.create(f.VALUE):e.isArray()?e.map(u=>this._handleSingleObject(u,t,o)):this._handleSingleObject(e,t,o)}_handleSingleObject(e,t,r){const s=this._getSearchModeValue(r),a=t.orderSearch(e,s);if(a==null)return h.create(f.NA);if(a instanceof h)return a;const o=t.getRowCount()===1?a.column+1:a.row+1;return y.create(o)}_getSearchModeValue(e){switch(e){case 1:return we.MIN;case 0:return we.NORMAL;case-1:return we.MAX}}}class Fo extends V{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",5);d(this,"needsReferenceObject",!0)}isAddress(){return!0}calculate(e,t,r,s,a){if(e.isError())return e;if(t.isError())return t;if(r.isError())return r;if(s!=null&&s.isError())return s;if(a!=null&&a.isError())return a;if(!e.isReferenceObject())return h.create(f.VALUE);e=e;const o=e.getRowCount(),u=e.getColumnCount();t.isReferenceObject()&&(t=t.toArrayValueObject()),r.isReferenceObject()&&(r=r.toArrayValueObject()),s?s.isReferenceObject()&&(s=s.toArrayValueObject()):s=y.create(o),a?a.isReferenceObject()&&(a=a.toArrayValueObject()):a=y.create(u);const l=Math.max(t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1,a.isArray()?a.getRowCount():1),c=Math.max(t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1,a.isArray()?a.getColumnCount():1);if(t=t,r=r,s=s,a=a,l===1&&c===1)return this._handleSingleObject(e,t,r,s,a);const m=J(l,c,t,h.create(f.NA)),g=J(l,c,r,h.create(f.NA)),p=J(l,c,s,h.create(f.NA)),R=J(l,c,a,h.create(f.NA));return m.mapValue((b,L,U)=>{const B=g.get(L,U),T=p.get(L,U),q=R.get(L,U);return b.isError()?b:B.isError()?B:T.isError()?T:q.isError()?q:this._handleSingleObject(e,b,B,T,q,!0)})}_handleSingleObject(e,t,r,s,a,o=!1){const{startRow:u,startColumn:l}=e.getRangeData(),c=this.getIndexNumValue(t),m=this.getIndexNumValue(r);if(typeof c!="number"||typeof m!="number")return h.create(f.VALUE);const g=u+c,p=l+m;if(g<0||p<0)return h.create(f.REF);const R=this.getIndexNumValue(s),b=this.getIndexNumValue(a);if(typeof R!="number"||typeof b!="number")return h.create(f.VALUE);if(R===0||b===0)return h.create(f.REF);const L=R>0?g+R-1:g+R+1,U=b>0?p+b-1:p+b+1;if(L<0||U<0)return h.create(f.REF);if(o)return h.create(f.VALUE);const B=g<L?g:L,T=p<U?p:U,q=g>L?g:L,le=p>U?p:U,pe={startRow:B,startColumn:T,endRow:q,endColumn:le};return this.createReferenceObject(e,pe)}}class vo extends V{constructor(){super(...arguments);d(this,"minParams",0);d(this,"maxParams",1)}calculate(e){if(e==null)return y.create(this.row+1);if(e.isError())return e;if(!e.isArray())return h.create(f.NA);const t=e.getCurrentRow(),r=e.getRowCount(),s=[];for(let o=0;o<r;o++)s.push([y.create(t+o+1)]);const a={calculateValueList:s,rowCount:r,columnCount:1,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return de.create(a)}}class Bo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){if(e.isError())return e;if(e.isString()||e.isNumber()||e.isBoolean())return y.create(1);if(!e.isArray())return h.create(f.NA);const t=e.getRowCount();return y.create(t)}}class To extends V{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",4)}calculate(e,t,r,s){return e.isError()?e:t.isError()?t:t.isArray()?r.isError()?r:s!=null&&s.isError()?s:(s=s!=null?s:$.create(!0),Cs(e)&&Cs(s)&&r.isArray()?this._handleArrayColIndexNum(e,t,r,s):this._handleNonArrayColIndexNum(e,t,r,s)):h.create(f.VALUE)}_handleArrayColIndexNum(e,t,r,s){e=e.isArray()?e.getFirstCell():e;const a=this.getZeroOrOneByOneDefault(s);if(a==null)return h.create(f.VALUE);let o;const u=[];return r.iterator((l,c,m)=>{if(l==null)return o=h.create(f.VALUE),!1;const g=this._handleTableArray(e,t,l,a);if(g.isError())return o=g,!1;u[c]===void 0&&(u[c]=[]),u[c][m]=g}),o||dt(u,u.length,u[0].length,this.unitId||"",this.subUnitId||"")}_handleNonArrayColIndexNum(e,t,r,s){const a=Math.max(e.isArray()?e.getRowCount():1,s.isArray()?s.getRowCount():1),o=Math.max(e.isArray()?e.getColumnCount():1,s.isArray()?s.getColumnCount():1),u=J(a,o,e),l=J(a,o,s);return u.map((c,m,g)=>{if(c.isError())return c;const p=l.get(m,g);if(p==null)return h.create(f.VALUE);if(p.isError())return p;const R=this.getZeroOrOneByOneDefault(p);return R==null?h.create(f.VALUE):this._handleTableArray(c,t,r,R)})}_handleTableArray(e,t,r,s){const a=this.getIndexNumValue(r);if(a instanceof h)return a;const o=t.slice(void 0,[0,1]);if(o==null)return h.create(f.VALUE);const u=t.slice(void 0,[a-1,a]);return u==null?h.create(f.REF):this._handleSingleObject(e,o,u,s)}_handleSingleObject(e,t,r,s){return s===0?this.equalSearch(e,t,r):this.binarySearch(e,t,r)}}class ko extends V{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",6)}calculate(e,t,r,s,a,o){if(e.isError())return e;if(t.isError())return h.create(f.REF);if(!t.isArray())return h.create(f.VALUE);const u=t.getRowCount(),l=t.getColumnCount();if(u!==1&&l!==1)return h.create(f.VALUE);if(r.isError())return h.create(f.REF);if(!r.isArray())return h.create(f.VALUE);const c=r.getRowCount(),m=r.getColumnCount();if(u!==c&&l!==m)return h.create(f.VALUE);if(s!=null&&s.isError()||a!=null&&a.isError()||o!=null&&o.isError())return h.create(f.NA);s==null&&(s=h.create(f.NA));const g=this.getIndexNumValue(a||y.create(0));if(g instanceof h)return g;const p=this.getIndexNumValue(o||y.create(1));if(p instanceof h)return p;if(e.isArray()){let L;return u===1?L=r.slice([0,1]):L=r.slice(void 0,[0,1]),L==null?h.create(f.NA):e.map(U=>{const B=this._handleSingleObject(U,t,L,g,p);return B.isError()?s:B})}if(l===m&&u===c){const L=this._handleSingleObject(e,t,r,g,p);return L.isError()?s:L}let R=0;l===m&&(R=1);const b=this._handleExpandObject(e,t,r,g,p,R);return b==null?h.create(f.NA):b}_handleExpandObject(e,t,r,s,a,o=0){return(a===2||a===-2)&&s!==2?this.binarySearchExpand(e,t,r,o,this._getSearchModeValue(a)):s===2?this.fuzzySearchExpand(e,t,r,a!==-1,o):s===-1||s===1?this.orderSearchExpand(e,t,r,s===1?we.MAX:we.MIN,a===-1,o):this.equalSearchExpand(e,t,r,a!==-1,o)}_handleSingleObject(e,t,r,s,a){return(a===2||a===-2)&&s!==2?this.binarySearch(e,t,r,this._getSearchModeValue(a)):s===2?this.fuzzySearch(e,t,r,a!==-1):s===-1||s===1?this.orderSearch(e,t,r,s===1?we.MAX:we.MIN,a===-1):this.equalSearch(e,t,r,a!==-1)}_getSearchModeValue(e){return e===-2?Xe.MAX:Xe.MIN}}class Io extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",4)}calculate(e,t,r,s){if(e.isError())return e;if(t.isError())return h.create(f.REF);if(!t.isArray())return h.create(f.VALUE);const a=t.getRowCount(),o=t.getColumnCount();if(a!==1&&o!==1)return h.create(f.VALUE);if(r!=null&&r.isError()||s!=null&&s.isError())return h.create(f.NA);const u=this.getIndexNumValue(r||y.create(0));if(u instanceof h)return u;const l=this.getIndexNumValue(s||y.create(1));return l instanceof h?l:e.isArray()?e.map(c=>this._handleSingleObject(c,t,u,l)):this._handleSingleObject(e,t,u,l)}_handleSingleObject(e,t,r,s){let a;if((s===2||s===-2)&&r!==2){const o=this._getSearchModeValue(s);a=t.binarySearch(e,o)}else if(r===2){const o=t.compare(e,M.EQUALS);let u;if(s!==-1?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null)return h.create(f.NA);a=t.getRowCount()===1?u.column:u.row}else if(r===-1||r===1){const o=t.orderSearch(e,r===1?we.MAX:we.MIN,s===-1);if(o==null)return h.create(f.NA);if(o instanceof h)return o;a=t.getRowCount()===1?o.column:o.row}else{const o=t.isEqual(e);let u;if(s!==-1?u=o.getFirstTruePosition():u=o.getLastTruePosition(),u==null)return h.create(f.NA);a=t.getRowCount()===1?u.column:u.row}return a==null?h.create(f.NA):y.create(a+1)}_getSearchModeValue(e){return e===-2?Xe.MAX:Xe.MIN}}class jo extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",255);d(this,"needsReferenceObject",!0)}isAddress(){return!0}calculate(e,...t){if(e.isError())return e;if(e.isReferenceObject()&&(e=e.toArrayValueObject()),e=e,!e.isArray()){const u=e.convertToNumberObjectValue();return u.isError()?u:t[Math.trunc(+u.getValue())-1]||h.create(f.VALUE)}let r=e.isArray()?e.getRowCount():1,s=e.isArray()?e.getColumnCount():1;t.forEach((u,l)=>{if(u.isArray()){const c=u;r=Math.max(r,c.getRowCount()),s=Math.max(s,c.getColumnCount())}else r=Math.max(r,1),s=Math.max(s,1)});const a=J(r,s,e,h.create(f.NA)),o=t.map(u=>(u.isReferenceObject()&&(u=u.toArrayValueObject()),J(r,s,u,h.create(f.NA))));return a.map((u,l,c)=>{if(u.isError())return u;const m=u.convertToNumberObjectValue();if(m.isError())return m;const g=o[Math.trunc(+m.getValue())-1];let p=(g==null?void 0:g.get(l,c))||h.create(f.VALUE);return p!=null&&p.isNull()&&(p=y.create(0)),p})}}class $o extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",4);d(this,"needsReferenceObject",!0)}calculate(e,t,r,s){if(e.isError())return e;if(t!=null&&t.isError())return t;if(r!=null&&r.isError())return r;if(s!=null&&s.isError())return s;let a=0,o=0;if(e.isValueObject())a=1,o=1;else if(e.isReferenceObject()){const{startRow:c,endRow:m,startColumn:g,endColumn:p}=e.getRangeData();a=m-c+1,o=p-g+1}else return h.create(f.VALUE);a===1&&o>1&&r==null?(r=t!=null?t:y.create(0),t=y.create(0)):(t=t!=null?t:y.create(0),r=r!=null?r:y.create(0)),s=s!=null?s:y.create(1),t.isReferenceObject()&&(t=t.toArrayValueObject()),r.isReferenceObject()&&(r=r.toArrayValueObject()),s.isReferenceObject()&&(s=s.toArrayValueObject());const u=Math.max(t.isArray()?t.getRowCount():1,r.isArray()?r.getRowCount():1,s.isArray()?s.getRowCount():1),l=Math.max(t.isArray()?t.getColumnCount():1,r.isArray()?r.getColumnCount():1,s.isArray()?s.getColumnCount():1);if(t=t,r=r,s=s,u===1&&l===1)return this._calculateSingleCell(e,t,r,s);{const c=J(u,l,t,h.create(f.NA)),m=J(u,l,r,h.create(f.NA)),g=J(u,l,s,h.create(f.NA));return c.map((p,R,b)=>{const L=m.get(R,b)||ie.create(),U=g.get(R,b)||ie.create(),B=this._calculateSingleCell(e,p,L,U);return B.isReferenceObject()?B.toArrayValueObject().getFirstCell():B})}}_calculateSingleCell(e,t,r,s){if(t.isError())return t;const a=this._getNumberValue(t);if(a===void 0||a<0)return h.create(f.VALUE);if(r.isError())return r;const o=this._getNumberValue(r);if(o===void 0||o<0)return h.create(f.VALUE);if(s.isError())return s;const u=this._getAreaNumberValue(s);return u===void 0||u<1?h.create(f.VALUE):e.isReferenceObject()?this._getReferenceObject(e,a,o,u):e.isValueObject()&&a===1&&o===1?e:h.create(f.REF)}_getNumberValue(e){if(e==null)return 0;let t=0;if(e.isBoolean())e.getValue()===!0&&(t=1);else{if(e.isString())return;e.isNumber()?t=Math.floor(e.getValue()):e.isNull()&&(t=0)}return t}_getAreaNumberValue(e){if(e==null)return 1;let t=0;if(e.isBoolean())e.getValue()===!0&&(t=1);else{if(e.isString())return;e.isNumber()?t=Math.floor(e.getValue()):e.isNull()&&(t=0)}return t}_getReferenceObject(e,t,r,s){const{startRow:a,endRow:o,startColumn:u,endColumn:l}=e.getRangeData();let c=0,m=0,g=0,p=0;if(t===0?(c=a,m=o):c=m=a+t-1,r===0?(g=u,p=l):g=p=u+r-1,c>o||g>l)return h.create(f.REF);const R={startRow:c,startColumn:g,endRow:m,endColumn:p};return this.createReferenceObject(e,R)}}const Hs=[[Po,Se.ADDRESS],[jo,Se.CHOOSE],[Vo,Se.COLUMN],[wo,Se.COLUMNS],[$o,Se.INDEX],[Uo,Se.INDIRECT],[Fo,Se.OFFSET],[vo,Se.ROW],[Bo,Se.ROWS],[To,Se.VLOOKUP],[Oo,Se.LOOKUP],[Mo,Se.MATCH],[xo,Se.HLOOKUP],[ko,Se.XLOOKUP],[Io,Se.XMATCH]];class Yo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.abs()}}class Ho extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.acos()}}class Qo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.acosh()}}class zo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:Qs(t)):Qs(e)}}function Qs(n){let i=n.getValue();if(n.isBoolean()&&(i=i?1:0),!Number.isFinite(i))return h.create(f.VALUE);i=Number(i);let e=Math.atan(1/i);return i<0&&(e+=Math.PI),Number.isNaN(e)?h.create(f.VALUE):y.create(e)}class No extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:zs(t)):zs(e)}}function zs(n){let i=n.getValue();if(n.isBoolean()&&(i=i?1:0),!Number.isFinite(i))return h.create(f.VALUE);if(i=Number(i),Math.abs(i)<=1)return h.create(f.NUM);const e=1/2*Math.log((i+1)/(i-1));return Number.isNaN(e)?h.create(f.VALUE):y.create(e)}class Wo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.asin()}}class Go extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.asinh()}}class Xo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.atan()}}class Ko extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:t.atan2(e))}}class qo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.atanh()}}class Zo extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",3)}calculate(e,t,r){if(e.isError())return e;if(t.isError())return t;if(r!=null&&r.isError())return r;const s=Math.max(e.isArray()?e.getRowCount():1,t.isArray()?t.getRowCount():1,r!=null&&r.isArray()?r.getRowCount():1),a=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1,r!=null&&r.isArray()?r.getColumnCount():1),o=J(s,a,e,h.create(f.NA)),u=J(s,a,t,h.create(f.NA)),l=r?J(s,a,r,h.create(f.NA)):[],c=o.map((m,g,p)=>{let R=u.get(g,p),b=r?l.get(g,p):{};if(m.isString()&&(m=m.convertToNumberObjectValue()),R.isString()&&(R=R.convertToNumberObjectValue()),r&&b.isString()&&(b=b.convertToNumberObjectValue()),m.isString()||R.isString()||r&&b.isString())return h.create(f.VALUE);if(m.isError())return m;if(R.isError())return R;if(r&&b.isError())return b;const L=Math.floor(+m.getValue()),U=Math.floor(+R.getValue()),B=r?Math.floor(+b.getValue()):0;if(L<0||L>=2**53||U<2||U>36||B<0)return h.create(f.NUM);let T=L.toString(U);return r&&T.length<B&&(T=new Array(B-T.length+1).join("0")+T),fe.create(T)});return c.getRowCount()===1&&c.getColumnCount()===1?c.getArrayValue()[0][0]:c}}class Jo extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.cos()}}class eu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>t.isError()?t:Ns(t)):Ns(e)}}function Ns(n){let i=n.getValue();if(n.isBoolean()&&(i=i?1:0),!Number.isFinite(i))return h.create(f.VALUE);i=Number(i);const e=Math.cosh(i);return Number.isNaN(e)?h.create(f.VALUE):y.create(e)}class tu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:Ws(t))):Ws(e)}}function Ws(n){let i=n.getValue();return i=Number(i),Math.abs(i)>=2**27?h.create(f.NUM):i===0?h.create(f.DIV_BY_ZERO):n.tan().getReciprocal()}class ru extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:Gs(t))):Gs(e)}}function Gs(n){let i=n.getValue();return i=Number(i),i===0?h.create(f.DIV_BY_ZERO):n.tanh().getReciprocal()}class nu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:Xs(t))):Xs(e)}}function Xs(n){let i=n.getValue();return i=Number(i),Math.abs(i)>=2**27?h.create(f.NUM):i===0?h.create(f.DIV_BY_ZERO):n.sin().getReciprocal()}class su extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.isArray()?e.map(t=>(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:Ks(t))):Ks(e)}}function Ks(n){let i=n.getValue();return i=Number(i),i===0?h.create(f.DIV_BY_ZERO):!Number.isNaN(i)&&!Number.isFinite(Math.sinh(i))?y.create(0):n.sinh().getReciprocal()}var ue=(n=>(n.ABS="ABS",n.ACOS="ACOS",n.ACOSH="ACOSH",n.ACOT="ACOT",n.ACOTH="ACOTH",n.AGGREGATE="AGGREGATE",n.ARABIC="ARABIC",n.ASIN="ASIN",n.ASINH="ASINH",n.ATAN="ATAN",n.ATAN2="ATAN2",n.ATANH="ATANH",n.BASE="BASE",n.CEILING="CEILING",n.CEILING_MATH="CEILING.MATH",n.CEILING_PRECISE="CEILING.PRECISE",n.COMBIN="COMBIN",n.COMBINA="COMBINA",n.COS="COS",n.COSH="COSH",n.COT="COT",n.COTH="COTH",n.CSC="CSC",n.CSCH="CSCH",n.DECIMAL="DECIMAL",n.DEGREES="DEGREES",n.EVEN="EVEN",n.EXP="EXP",n.FACT="FACT",n.FACTDOUBLE="FACTDOUBLE",n.FLOOR="FLOOR",n.FLOOR_MATH="FLOOR.MATH",n.FLOOR_PRECISE="FLOOR.PRECISE",n.GCD="GCD",n.INT="INT",n.ISO_CEILING="ISO.CEILING",n.LCM="LCM",n.LET="LET",n.LN="LN",n.LOG="LOG",n.LOG10="LOG10",n.MDETERM="MDETERM",n.MINVERSE="MINVERSE",n.MMULT="MMULT",n.MOD="MOD",n.MROUND="MROUND",n.MULTINOMIAL="MULTINOMIAL",n.MUNIT="MUNIT",n.ODD="ODD",n.PI="PI",n.POWER="POWER",n.PRODUCT="PRODUCT",n.QUOTIENT="QUOTIENT",n.RADIANS="RADIANS",n.RAND="RAND",n.RANDARRAY="RANDARRAY",n.RANDBETWEEN="RANDBETWEEN",n.ROMAN="ROMAN",n.ROUND="ROUND",n.ROUNDDOWN="ROUNDDOWN",n.ROUNDUP="ROUNDUP",n.SEC="SEC",n.SECH="SECH",n.SERIESSUM="SERIESSUM",n.SEQUENCE="SEQUENCE",n.SIGN="SIGN",n.SIN="SIN",n.SINH="SINH",n.SQRT="SQRT",n.SQRTPI="SQRTPI",n.SUBTOTAL="SUBTOTAL",n.SUM="SUM",n.SUMIF="SUMIF",n.SUMIFS="SUMIFS",n.SUMPRODUCT="SUMPRODUCT",n.SUMSQ="SUMSQ",n.SUMX2MY2="SUMX2MY2",n.SUMX2PY2="SUMX2PY2",n.SUMXMY2="SUMXMY2",n.TAN="TAN",n.TANH="TANH",n.TRUNC="TRUNC",n))(ue||{});class iu extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:e.mod(t))}}class au extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:(t.isString()&&(t=t.convertToNumberObjectValue()),t.isError()?t:e.pow(t))}}class ou extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=y.create(1);for(let r=0;r<e.length;r++){let s=e[r];if(!s.isNull()){if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isArray()&&(s=this._multiplyArray(s)),s.isError())return s;if(t=t.multiply(s),t.isError())return t}}return t}_multiplyArray(e){let t=y.create(1);return e.iterator(r=>{if(r==null||r.isString()||r.isBoolean()||r.isNull())return!0;if(r.isError())return t=r,!1;t=t.multiply(r)}),t}}class uu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.sin()}}class lu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.sinh()}}class cu extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",255);d(this,"needsReferenceObject",!0)}calculate(e,...t){if(e.isError())return e;if(e.isReferenceObject()){const r=[];return e.iterator((s,a,o)=>{r[a]==null&&(r[a]=[]),r[a][o]=this._handleSingleObject(s,...t)}),dt(r,r.length,r[0].length)}return this._handleSingleObject(e,...t)}_handleSingleObject(e,...t){const r=this._getIndexNumValue(e);let s;if(r instanceof h)return r;switch(r){case 1:s=this._average(!1,...t);break;case 2:s=this._count(!1,...t);break;case 3:s=this._counta(!1,...t);break;case 4:s=this._max(!1,...t);break;case 5:s=this._min(!1,...t);break;case 6:s=this._product(!1,...t);break;case 7:s=this._stdev(!1,...t);break;case 8:s=this._stdevp(!1,...t);break;case 9:s=this._sum(!1,...t);break;case 10:s=this._var(!1,...t);break;case 11:s=this._varp(!1,...t);break;case 101:s=this._average(!0,...t);break;case 102:s=this._count(!0,...t);break;case 103:s=this._counta(!0,...t);break;case 104:s=this._max(!0,...t);break;case 105:s=this._min(!0,...t);break;case 106:s=this._product(!0,...t);break;case 107:s=this._stdev(!0,...t);break;case 108:s=this._stdevp(!0,...t);break;case 109:s=this._sum(!0,...t);break;case 110:s=this._var(!0,...t);break;case 111:s=this._varp(!0,...t);break;default:s=h.create(f.VALUE)}return s}_getIndexNumValue(e){const t=e?Number(e.getValue()):0;if(Number.isNaN(t))return h.create(f.VALUE);const r=Math.floor(t);return r>=1&&r<=11||r>=101&&r<=111?r:h.create(f.VALUE)}_average(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:r.mean()}_count(e,...t){let r=y.create(0);for(let s=0;s<t.length;s++){const a=t[s];if(!a.isReferenceObject())return h.create(f.VALUE);const o=a.getRowData();a.iterator((u,l)=>{if(e&&this._isRowHidden(o,l))return!0;u!=null&&u.isNumber()&&(r=r.plusBy(1))})}return r}_counta(e,...t){let r=y.create(0);for(let s=0;s<t.length;s++){const a=t[s];if(!a.isReferenceObject())return h.create(f.VALUE);const o=a.getRowData();a.iterator((u,l)=>{if(e&&this._isRowHidden(o,l)||u==null||u.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)?y.create(0):r.max()}_min(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?y.create(0):r.min()}_product(e,...t){const r=this._flattenRefArray(e,...t);if(r.isError())return r;if(this._isBlankArrayObject(r))return y.create(0);let s=y.create(1);return r.iterator(a=>{s=s.multiply(a)}),s}_stdev(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?h.create(f.DIV_BY_ZERO):r.std(1)}_stdevp(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?h.create(f.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)?h.create(f.DIV_BY_ZERO):r.var(1)}_varp(e,...t){const r=this._flattenRefArray(e,...t);return r.isError()?r:this._isBlankArrayObject(r)?h.create(f.DIV_BY_ZERO):r.var()}_flattenRefArray(e,...t){const r=[];r[0]=[];for(let s=0;s<t.length;s++){const a=t[s];if(a.isError())return a;if(!a.isReferenceObject())return h.create(f.VALUE);const o=a.getRowData();let u;if(a.iterator((l,c)=>{if(e&&this._isRowHidden(o,c)||l==null||l.isNull()||l.isString()||l.isBoolean())return!0;if(l.isError())return u=l,!1;r[0].push(l)}),u!=null&&u.isError())return u}return dt(r,1,r[0].length)}_isRowHidden(e,t){const r=e[t];return r?r.hd===D.BooleanNumber.TRUE:!1}_isBlankArrayObject(e){return e.getArrayValue()[0].length===0}}class fu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=y.create(0);for(let r=0;r<e.length;r++){let s=e[r];if(s.isString()&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()&&(s=s.sum()),t=t.plus(s),t.isError())return t}return t}}class hu extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",3)}calculate(e,t,r){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:!e.isArray()||r&&!r.isArray()?h.create(f.VALUE):t.isArray()?t.map(s=>this._handleSingleObject(e,s,r)):this._handleSingleObject(e,t,r)}_handleSingleObject(e,t,r){let s=hr(e,t);const[,a]=kt(`${t.getValue()}`);s=mr(s,e,a);const o=r?r.slice([0,e.getRowCount()],[0,e.getColumnCount()]):e;return o?o.pick(s).sum():h.create(f.VALUE)}}class mu extends V{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",255)}calculate(e,...t){if(e.isError())return e;if(!e.isArray()||t.length<2||t.length%2!==0||t.some((u,l)=>l%2===0&&!u.isArray()))return h.create(f.VALUE);const{maxRowLength:r,maxColumnLength:s}=It(t),a=jt(t,e,r,s);if(a)return a;const o=$t(t,r,s,!0);return this._aggregateResults(e,o)}_aggregateResults(e,t){const r=t.map(a=>a.map(o=>e.pick(o).sum())),s={calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return de.create(s)}}class du extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(e,...t){if(e.isError())return e;if(e.isArray()||(e=de.create({calculateValueList:[[e]],rowCount:1,columnCount:1,unitId:"",sheetId:"",row:0,column:0})),t.length>0){const r=e.getRowCount(),s=e.getColumnCount(),a=[];for(let u=0;u<r;u++){const l=[];for(let c=0;c<s;c++){const m=e.get(u,c);if(m.isError())return m;const g=m.getValue();!g||!D.isRealNum(g)?l.push(0):l.push(+g)}a.push(l)}for(let u=0;u<t.length;u++){if(t[u].isError())return t[u];let l=1,c=1;if(t[u].isArray()&&(l=t[u].getRowCount(),c=t[u].getColumnCount()),l!==r||c!==s)return h.create(f.VALUE);for(let m=0;m<r;m++){const g=[];for(let p=0;p<s;p++){let R=t[u];if(t[u].isArray()&&(R=t[u].get(m,p)),R.isError())return R;const b=R.getValue();!b||!D.isRealNum(b)?g.push(0):g.push(+b*a[m][p])}a[m]=g}}const o=a.reduce((u,l)=>u.concat(l)).reduce((u,l)=>u+l,0);return y.create(o)}else return e.sum()}}class gu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.tan()}}class pu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isString()&&(e=e.convertToNumberObjectValue()),e.isError()?e:e.tanh()}}const qs=[[Yo,ue.ABS],[Ho,ue.ACOS],[Qo,ue.ACOSH],[zo,ue.ACOT],[No,ue.ACOTH],[Wo,ue.ASIN],[Go,ue.ASINH],[Xo,ue.ATAN],[Ko,ue.ATAN2],[qo,ue.ATANH],[Zo,ue.BASE],[Jo,ue.COS],[eu,ue.COSH],[tu,ue.COT],[ru,ue.COTH],[nu,ue.CSC],[su,ue.CSCH],[iu,ue.MOD],[au,ue.POWER],[ou,ue.PRODUCT],[uu,ue.SIN],[lu,ue.SINH],[cu,ue.SUBTOTAL],[fu,ue.SUM],[hu,ue.SUMIF],[mu,ue.SUMIFS],[du,ue.SUMPRODUCT],[gu,ue.TAN],[pu,ue.TANH]];class Ru extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2);d(this,"_compareType",M.EQUALS)}setCompareType(e){this._compareType=e}calculate(e,t){return e.isError()?e:t.isError()?t:e.compare(t,this._compareType)}}class dn extends Ke{constructor(e){super("");d(this,"_values",[]);this._values=e}static create(e){return new dn(e)}isCube(){return!0}sum(){const e=y.create(0);return this._values.forEach(t=>{e.plus(t.sum())}),e}max(){let e=y.create(Number.NEGATIVE_INFINITY);return this._values.forEach(t=>{const r=t.max();e.isLessThan(r)&&(e=r)}),e}min(){let e=y.create(Number.POSITIVE_INFINITY);return this._values.forEach(t=>{const r=t.max();e.isGreaterThan(r)&&(e=r)}),e}count(){const e=y.create(0);return this._values.forEach(t=>{e.plus(t.count())}),e}countA(){const e=y.create(0);return this._values.forEach(t=>{e.plus(t.countA())}),e}countBlank(){const e=y.create(0);return this._values.forEach(t=>{e.plus(t.countBlank())}),e}}class _u extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=[];for(let r=0;r<e.length;r++){const s=e[r];if(s.isError())return s;if(!s.isArray())return h.create(f.VALUE);t.push(s)}return dn.create(t)}}class Eu extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:!t.isArray()&&t.getValue()===0?h.create(f.DIV_BY_ZERO):e.divided(t)}}var Pe=(n=>(n.COMPARE="COMPARE",n.DIVIDED="DIVIDED",n.MINUS="MINUS",n.MULTIPLY="MULTIPLY",n.PLUS="PLUS",n.UNION="UNION",n.CUBE="CUBE",n))(Pe||{});class Cu extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.minus(t)}}class yu extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.multiply(t)}}class Du extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){return e.isError()?e:t.isError()?t:e.plus(t)}}const Zs=[[Ru,Pe.COMPARE],[Eu,Pe.DIVIDED],[Cu,Pe.MINUS],[yu,Pe.MULTIPLY],[Du,Pe.PLUS],[_u,Pe.CUBE]];class bu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=y.create(0),r=y.create(0);for(let s=0;s<e.length;s++){let a=e[s];if((a.isString()||a.isBoolean())&&(a=a.convertToNumberObjectValue()),a.isError())return a;if(a.isArray()){if(t=t.plus(a.sum()),t.isError())return t;r=r.plus(a.count())}else a.isNull()||(t=t.plus(a),r=r.plus(y.create(1)))}return t.divided(r)}}class Su extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=y.create(0);for(let r=0;r<e.length;r++){const s=e[r];s.isError()||(s.isArray()?t=t.plus(s.count()):s.isString()?s.convertToNumberObjectValue().isError()||(t=t.plus(y.create(1))):s.isNull()||(t=t.plus(y.create(1))))}return t}}class Au extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=y.create(0);for(let r=0;r<e.length;r++){let s=e[r];if(s.isError()){t=t.plus(y.create(1));continue}s.isArray()?(s=s.countA(),t=t.plus(s)):s.isNull()||(t=t.plus(y.create(1)))}return t}}var he=(n=>(n.AVEDEV="AVEDEV",n.AVERAGE="AVERAGE",n.AVERAGEA="AVERAGEA",n.AVERAGEIF="AVERAGEIF",n.AVERAGEIFS="AVERAGEIFS",n.BETA_DIST="BETA.DIST",n.BETA_INV="BETA.INV",n.BINOM_DIST="BINOM.DIST",n.BINOM_DIST_RANGE="BINOM.DIST.RANGE",n.BINOM_INV="BINOM.INV",n.CHISQ_DIST="CHISQ.DIST",n.CHISQ_DIST_RT="CHISQ.DIST.RT",n.CHISQ_INV="CHISQ.INV",n.CHISQ_INV_RT="CHISQ.INV.RT",n.CHISQ_TEST="CHISQ.TEST",n.CONFIDENCE_NORM="CONFIDENCE.NORM",n.CONFIDENCE_T="CONFIDENCE.T",n.CORREL="CORREL",n.COUNT="COUNT",n.COUNTA="COUNTA",n.COUNTBLANK="COUNTBLANK",n.COUNTIF="COUNTIF",n.COUNTIFS="COUNTIFS",n.COVARIANCE_P="COVARIANCE.P",n.COVARIANCE_S="COVARIANCE.S",n.DEVSQ="DEVSQ",n.EXPON_DIST="EXPON.DIST",n.F_DIST="F.DIST",n.F_DIST_RT="F.DIST.RT",n.F_INV="F.INV",n.F_INV_RT="F.INV.RT",n.F_TEST="F.TEST",n.FISHER="FISHER",n.FISHERINV="FISHERINV",n.FORECAST="FORECAST",n.FORECAST_ETS="FORECAST.ETS",n.FORECAST_ETS_CONFINT="FORECAST.ETS.CONFINT",n.FORECAST_ETS_SEASONALITY="FORECAST.ETS.SEASONALITY",n.FORECAST_ETS_STAT="FORECAST.ETS.STAT",n.FORECAST_LINEAR="FORECAST.LINEAR",n.FREQUENCY="FREQUENCY",n.GAMMA="GAMMA",n.GAMMA_DIST="GAMMA.DIST",n.GAMMA_INV="GAMMA.INV",n.GAMMALN="GAMMALN",n.GAMMALN_PRECISE="GAMMALN.PRECISE",n.GAUSS="GAUSS",n.GEOMEAN="GEOMEAN",n.GROWTH="GROWTH",n.HARMEAN="HARMEAN",n.HYPGEOM_DIST="HYPGEOM.DIST",n.INTERCEPT="INTERCEPT",n.KURT="KURT",n.LARGE="LARGE",n.LINEST="LINEST",n.LOGEST="LOGEST",n.LOGNORM_DIST="LOGNORM.DIST",n.LOGNORM_INV="LOGNORM.INV",n.MAX="MAX",n.MAXA="MAXA",n.MAXIFS="MAXIFS",n.MEDIAN="MEDIAN",n.MIN="MIN",n.MINA="MINA",n.MINIFS="MINIFS",n.MODE_MULT="MODE.MULT",n.MODE_SNGL="MODE.SNGL",n.NEGBINOM_DIST="NEGBINOM.DIST",n.NORM_DIST="NORM.DIST",n.NORM_INV="NORM.INV",n.NORM_S_DIST="NORM.S.DIST",n.NORM_S_INV="NORM.S.INV",n.PEARSON="PEARSON",n.PERCENTILE_EXC="PERCENTILE.EXC",n.PERCENTILE_INC="PERCENTILE.INC",n.PERCENTRANK_EXC="PERCENTRANK.EXC",n.PERCENTRANK_INC="PERCENTRANK.INC",n.PERMUT="PERMUT",n.PERMUTATIONA="PERMUTATIONA",n.PHI="PHI",n.POISSON_DIST="POISSON.DIST",n.PROB="PROB",n.QUARTILE_EXC="QUARTILE.EXC",n.QUARTILE_INC="QUARTILE.INC",n.RANK_AVG="RANK.AVG",n.RANK_EQ="RANK.EQ",n.RSQ="RSQ",n.SKEW="SKEW",n.SKEW_P="SKEW.P",n.SLOPE="SLOPE",n.SMALL="SMALL",n.STANDARDIZE="STANDARDIZE",n.STDEV_P="STDEV.P",n.STDEV_S="STDEV.S",n.STDEVA="STDEVA",n.STDEVPA="STDEVPA",n.STEYX="STEYX",n.T_DIST="T.DIST",n.T_DIST_2T="T.DIST.2T",n.T_DIST_RT="T.DIST.RT",n.T_INV="T.INV",n.T_INV_2T="T.INV.2T",n.T_TEST="T.TEST",n.TREND="TREND",n.TRIMMEAN="TRIMMEAN",n.VAR_P="VAR.P",n.VAR_S="VAR.S",n.VARA="VARA",n.VARPA="VARPA",n.WEIBULL_DIST="WEIBULL.DIST",n.Z_TEST="Z.TEST",n))(he||{});class Pu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=y.create(Number.NEGATIVE_INFINITY);for(let r=0;r<e.length;r++){let s=e[r];if(!s.isNull()){if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isArray()&&(s=s.max()),s.isError())return s;t=this._validator(t,s)}}return t.getValue()===Number.NEGATIVE_INFINITY?y.create(0):t}_validator(e,t){return e.isLessThan(t).getValue()&&(e=t),e}}class Lu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=y.create(Number.POSITIVE_INFINITY);for(let r=0;r<e.length;r++){let s=e[r];if(!s.isNull()){if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isArray()&&(s=s.min()),s.isError())return s;t=this._validator(t,s)}}return t.getValue()===Number.POSITIVE_INFINITY?y.create(0):t}_validator(e,t){return e.isGreaterThan(t).getValue()&&(e=t),e}}class Vu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.std(1)}}class wu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.std()}}class xu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.var(1)}}class Uu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){const t=this.flattenArray(e,!1);return t.isError()?t:t.var()}}class Ou extends V{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",255)}calculate(e,...t){if(e.isError())return h.create(f.NA);if(!e.isArray()||t.length%2!==0||t.some((u,l)=>l%2===0&&!u.isArray()))return h.create(f.VALUE);const{maxRowLength:r,maxColumnLength:s}=It(t),a=jt(t,e,r,s);if(a)return a;const o=$t(t,r,s,!0);return this._aggregateResults(e,o)}_aggregateResults(e,t){const r=t.map(a=>a.map(o=>{const u=e.pick(o);return u.getColumnCount()===0?de.create("0"):u.max()})),s={calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return de.create(s)}}class Mu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=y.create(0),r=y.create(0);for(let s=0;s<e.length;s++){let a=e[s];if((a.isString()||a.isBoolean())&&(a=a.convertToNumberObjectValue()),a.isError())return a;if(a.isArray()){if(a.iterator(o=>{if(o==null||o.isNull())return!0;if(o.isString()&&(o=o.convertToNumberObjectValue(),o.isError()&&(o=y.create(0))),o.isBoolean()&&(o=o.convertToNumberObjectValue()),o.isError())return t=o,!1;t=t.plus(o),r=r.plus(y.create(1))}),t.isError())return t}else a.isNull()||(t=t.plus(a),r=r.plus(y.create(1)))}return t.divided(r)}}class Fu extends V{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",255)}calculate(e,...t){if(e.isError())return h.create(f.NA);if(!e.isArray()||t.length%2!==0||t.some((u,l)=>l%2===0&&!u.isArray()))return h.create(f.VALUE);const{maxRowLength:r,maxColumnLength:s}=It(t),a=jt(t,e,r,s);if(a)return a;const o=$t(t,r,s,!0);return this._aggregateResults(e,o)}_aggregateResults(e,t){const r=t.map(a=>a.map(o=>{const u=e.pick(o);return u.getColumnCount()===0?de.create("0"):u.min()})),s={calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return de.create(s)}}class vu extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",3);d(this,"needsReferenceObject",!0)}calculate(e,t,r){return e.isError()?e:t.isError()?t:r!=null&&r.isError()?r:(e.isReferenceObject()&&(e=e.toArrayValueObject()),e.isArray()||(e=dt([[e]],1,1)),t.isReferenceObject()&&(t=t.toArrayValueObject()),r&&!(r!=null&&r.isReferenceObject())?h.create(f.NA):(t=t,t.isArray()?t.map(s=>this._handleSingleObject(e,s,r)):this._handleSingleObject(e,t,r)))}_handleSingleObject(e,t,r){let s=hr(e,t);const[,a]=kt(`${t.getValue()}`);s=mr(s,e,a);let o=r?this._createRangeReferenceObject(r,e):e;if(!o)return h.create(f.VALUE);if(o.isError())return o;o.isReferenceObject()&&(o=o.toArrayValueObject()),o=o;const u=o.pick(s),l=u.sum(),c=u.count();return l.divided(c)}_createRangeReferenceObject(e,t){const r=e.getRowCount(),s=e.getColumnCount(),a=t.isArray()?t.getRowCount():1,o=t.isArray()?t.getColumnCount():1;if(r===a&&s===o)return e;const{startRow:u,startColumn:l}=e.getRangeData(),c={startRow:u,startColumn:l,endRow:u+a-1,endColumn:l+o-1};return this.createReferenceObject(e,c)}}class Bu extends V{constructor(){super(...arguments);d(this,"minParams",3);d(this,"maxParams",255)}calculate(e,...t){if(e.isError())return h.create(f.NA);if(!e.isArray()||t.length%2!==0||t.some((u,l)=>l%2===0&&!u.isArray()))return h.create(f.VALUE);const{maxRowLength:r,maxColumnLength:s}=It(t),a=jt(t,e,r,s);if(a)return a;const o=$t(t,r,s,!0);return this._aggregateResults(e,o)}_aggregateResults(e,t){const r=t.map(a=>a.map(o=>{const u=e.pick(o),l=u.sum(),c=u.count();return l.divided(c)})),s={calculateValueList:r,rowCount:r.length,columnCount:r[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return de.create(s)}}class Tu extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",2)}calculate(e,t){return e.isError()||t.isError()?h.create(f.NA):e.isArray()?t.isArray()?t.mapValue(r=>this._handleSingleObject(e,r)):this._handleSingleObject(e,t):h.create(f.VALUE)}_handleSingleObject(e,t){let r=hr(e,t);const[,s]=kt(`${t.getValue()}`);r=mr(r,e,s);const a=e.pick(r);return this._countA(a)}_countA(e){let t=y.create(0);return e.iterator(r=>{if(r==null)return!0;t=t.plusBy(1)}),t}}class ku extends V{constructor(){super(...arguments);d(this,"minParams",2);d(this,"maxParams",255)}calculate(...e){if(e.length%2!==0||e.some((o,u)=>u%2===0&&!o.isArray()))return h.create(f.VALUE);const{maxRowLength:t,maxColumnLength:r}=It(e),s=jt(e,e[0],t,r);if(s)return s;const a=$t(e,t,r,!0);return this._aggregateResults(a)}_aggregateResults(e){const t=e.map(s=>s.map(a=>Iu(a))),r={calculateValueList:t,rowCount:t.length,columnCount:t[0].length,unitId:this.unitId||"",sheetId:this.subUnitId||"",row:this.row,column:this.column};return de.create(r)}}function Iu(n){let i=0;return n.iterator(e=>{e!=null&&e.isBoolean()&&e.getValue()===!0&&i++}),y.create(i)}class ju extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isError()?e:e.getValue()===""||e.isNull()?y.create(1):e.isArray()?e.countBlank():y.create(0)}}class $u extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=y.create(Number.POSITIVE_INFINITY);for(let r=0;r<e.length;r++){let s=e[r];if(!s.isNull()){if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()&&s.iterator(a=>{if((a==null||a.isNull()||a.isString())&&(a=y.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,s)}}return t.getValue()===Number.POSITIVE_INFINITY?y.create(0):t}_validator(e,t){return e.isGreaterThan(t).getValue()&&(e=t),e}}class Yu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=y.create(Number.NEGATIVE_INFINITY);for(let r=0;r<e.length;r++){let s=e[r];if(!s.isNull()){if((s.isString()||s.isBoolean())&&(s=s.convertToNumberObjectValue()),s.isError())return s;if(s.isArray()&&s.iterator(a=>{if((a==null||a.isNull()||a.isString())&&(a=y.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,s)}}return t.getValue()===Number.NEGATIVE_INFINITY?y.create(0):t}_validator(e,t){return e.isLessThan(t).getValue()&&(e=t),e}}class Hu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=y.create(0),r=y.create(0);for(let o=0;o<e.length;o++){let u=e[o];if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError())return u;if(u.isArray()){if(u=Qu(u),u.isError())return u;if(e[o]=u,t=t.plus(u.sum()),t.isError())return t;r=r.plus(u.count())}else u.isNull()||(t=t.plus(u),r=r.plus(y.create(1)))}if(r.getValue()===0)return h.create(f.NUM);const s=t.divided(r);if(s.isError())return s;let a=y.create(0);for(let o=0;o<e.length;o++){let u=e[o];if(u.isString()&&(u=u.convertToNumberObjectValue()),u.isError())return u;if(u.isArray()){if(a=a.plus(u.minus(s).abs().sum()),a.isError())return a}else u.isNull()||(a=a.plus(u.minus(s).abs()))}return a.divided(r)}}function Qu(n){const i=[];i[0]=[];let e=null;return n.iterator((t,r,s)=>{if(t!=null&&t.isError())return e=t,!1;t!=null&&t.isNumber()&&i[0].push(t)}),e||dt(i,1,i[0].length)}const Js=[[Hu,he.AVEDEV],[bu,he.AVERAGE],[Mu,he.AVERAGEA],[vu,he.AVERAGEIF],[Bu,he.AVERAGEIFS],[Su,he.COUNT],[Au,he.COUNTA],[ju,he.COUNTBLANK],[Tu,he.COUNTIF],[ku,he.COUNTIFS],[Pu,he.MAX],[Yu,he.MAXA],[Ou,he.MAXIFS],[Lu,he.MIN],[$u,he.MINA],[Fu,he.MINIFS],[ys,he.STDEV_P],[Ds,he.STDEV_S],[Vu,he.STDEVA],[wu,he.STDEVPA],[bs,he.VAR_P],[Ss,he.VAR_S],[xu,he.VARA],[Uu,he.VARPA]];class zu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t=0,r=0;e.forEach(a=>{if(a.isArray()){const o=a;t=Math.max(t,o.getRowCount()),r=Math.max(r,o.getColumnCount())}else t=Math.max(t,1),r=Math.max(r,1)});let s=null;for(const a of e)s=J(t,r,a,h.create(f.NA)).mapValue((u,l,c)=>{const m=s&&s.get(l,c);if(m!=null&&m.isError())return m;if(u.isError())return u;let g=m==null?void 0:m.getValue(),p=u==null?void 0:u.getValue();m!=null&&m.isBoolean()&&(g=`${g}`.toLocaleUpperCase()),u!=null&&u.isBoolean()&&(p=`${p}`.toLocaleUpperCase());const R=m!=null&&m.isNull()?"":g!=null?g:"",b=u!=null&&u.isNull()?"":p!=null?p:"";return fe.create(`${R}${b}`)});return s||h.create(f.VALUE)}}var qe=(n=>(n.ASC="ASC",n.ARRAYTOTEXT="ARRAYTOTEXT",n.BAHTTEXT="BAHTTEXT",n.CHAR="CHAR",n.CLEAN="CLEAN",n.CODE="CODE",n.CONCAT="CONCAT",n.CONCATENATE="CONCATENATE",n.DBCS="DBCS",n.DOLLAR="DOLLAR",n.EXACT="EXACT",n.FIND="FIND",n.FINDB="FINDB",n.FIXED="FIXED",n.LEFT="LEFT",n.LEFTB="LEFTB",n.LEN="LEN",n.LENB="LENB",n.LOWER="LOWER",n.MID="MID",n.MIDB="MIDB",n.NUMBERVALUE="NUMBERVALUE",n.PHONETIC="PHONETIC",n.PROPER="PROPER",n.REPLACE="REPLACE",n.REPLACEB="REPLACEB",n.REPT="REPT",n.RIGHT="RIGHT",n.RIGHTB="RIGHTB",n.SEARCH="SEARCH",n.SEARCHB="SEARCHB",n.SUBSTITUTE="SUBSTITUTE",n.T="T",n.TEXT="TEXT",n.TEXTAFTER="TEXTAFTER",n.TEXTBEFORE="TEXTBEFORE",n.TEXTJOIN="TEXTJOIN",n.TEXTSPLIT="TEXTSPLIT",n.TRIM="TRIM",n.UNICHAR="UNICHAR",n.UNICODE="UNICODE",n.UPPER="UPPER",n.VALUE="VALUE",n.VALUETOTEXT="VALUETOTEXT",n.CALL="CALL",n.EUROCONVERT="EUROCONVERT",n.REGISTER_ID="REGISTER.ID",n))(qe||{});class Nu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.mapValue(t=>this._handleSingleText(t)):this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;if(e.isNull())return y.create(0);if(e.isNumber()){const t=e.getValue(),r=os(t).toString();return y.create(r.length)}if(e.isString()||e.isBoolean()||e.isNumber()){const t=e.getValue().toString();return y.create(t.length)}return h.create(f.VALUE)}}function Wu(n){let i=0;for(let e=0;e<n.length;e++){const t=n.charCodeAt(e);t>=12352&&t<=12543||t>=19968&&t<=40959||t>=44032&&t<=55215?i+=2:i+=1}return i}class Gu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.mapValue(t=>this._handleSingleText(t)):this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;if(e.isNull())return y.create(0);if(e.isString()||e.isBoolean()||e.isNumber()){const t=e.getValue().toString(),r=Wu(t);return y.create(r)}return h.create(f.VALUE)}}const Xu=(n,i)=>At.format(n,i);class Ku extends V{constructor(){super(...arguments);d(this,"minParams",2);d(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),s=Math.max(e.isArray()?e.getColumnCount():1,t.isArray()?t.getColumnCount():1),a=J(r,s,e),o=J(r,s,t);return a.map((u,l,c)=>{if(u.isError()||u.isString()||u.isBoolean())return u;let m=o.get(l,c)||fe.create(" ");if(m.isError())return m;if(m.isBoolean())return h.create(f.VALUE);m.isNull()&&(m=fe.create(" "));const g=`${m.getValue()}`;u.isNull()&&(u=y.create(0));const p=u.getValue(),R=Xu(g,p);return fe.create(R)})}}class qu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",1)}calculate(e){return e.isError()?e:e.isArray()?e.mapValue(t=>this._handleSingleText(t)):this._handleSingleText(e)}_handleSingleText(e){if(e.isError())return e;if(e.isNull())return fe.create("");if(e.isString()||e.isBoolean()||e.isNumber()){const t=e.getValue().toString().toLowerCase();return fe.create(t)}return h.create(f.VALUE)}}class Zu extends V{constructor(){super(...arguments);d(this,"minParams",1);d(this,"maxParams",255)}calculate(...e){let t="",r=null;for(const s of e)if(s.isArray()){if(s.iterator(a=>{if(a==null||a.isNull())return!0;if(a.isError())return r=a,!1;a.isBoolean()?t+=`${a.getValue()}`.toLocaleUpperCase():(a.isString()||a.isNumber())&&(t+=a.getValue())}),r)return r}else!s.isError()&&!s.isNull()&&(t+=s.getValue());return fe.create(t)}}const ei=[[Zu,qe.CONCAT],[zu,qe.CONCATENATE],[Nu,qe.LEN],[Gu,qe.LENB],[Ku,qe.TEXT],[qu,qe.LOWER]],ti=[];var ri=(n=>n)(ri||{});const ni=[];var si=(n=>(n.ENCODEURL="ENCODEURL",n.FILTERXML="FILTERXML",n.WEBSERVICE="WEBSERVICE",n))(si||{});function Ju(n,i,e,t,r,s,a){var m;const o=(a==null?void 0:a.f)||"",u=(a==null?void 0:a.si)||"",l=D.isFormulaString(o),c=D.isFormulaId(u);if(l&&c)n.setValue(r,s,{f:o,si:u}),e.set(u,{f:o,r,c:s}),i.setValue(r,s,{f:o,si:u});else if(l&&!c)n.setValue(r,s,{f:o}),i.setValue(r,s,{f:o});else if(!l&&c)n.setValue(r,s,{f:"",si:u});else if(!l&&!c&&n.getValue(r,s)){const g=n.getValue(r,s),p=(g==null?void 0:g.f)||"",R=(g==null?void 0:g.si)||"";if(D.isFormulaString(p)&&D.isFormulaId(R)){const b=(m=e.get(R))==null?void 0:m.f;b?t.set(R,b):t.set(R,p)}n.realDeleteValue(r,s),i.setValue(r,s,null)}}function el(n,i,e,t){const r=n==null?void 0:n.getValue(e,t);if(r==null)return!0;const{startRow:s,startColumn:a,endRow:o,endColumn:u}=r;for(let l=s;l<=o;l++)for(let c=a;c<=u;c++)i.realDeleteValue(l,c)}var tl=Object.defineProperty,rl=Object.getOwnPropertyDescriptor,nl=(n,i,e,t)=>{for(var r=t>1?void 0:t?rl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&tl(i,e,r),r},ii=(n,i)=>(e,t)=>i(e,t,n);A.FormulaDataModel=class extends D.Disposable{constructor(e,t){super();d(this,"_formulaData",{});d(this,"_arrayFormulaRange",{});d(this,"_arrayFormulaCellData",{});this._univerInstanceService=e,this._lexerTreeBuilder=t,this.initFormulaData()}clearPreviousArrayFormulaCellData(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;Object.keys(r).forEach(s=>{var l,c,m,g;const a=r[s],o=(c=(l=this._arrayFormulaRange)==null?void 0:l[t])==null?void 0:c[s];if(o==null)return!0;let u=new D.ObjectMatrix;((m=this._arrayFormulaCellData[t])==null?void 0:m[s])!=null&&(u=new D.ObjectMatrix((g=this._arrayFormulaCellData[t])==null?void 0:g[s])),a.forValue((p,R)=>{var q;const b=(q=o==null?void 0:o[p])==null?void 0:q[R];if(b==null)return!0;const{startRow:L,startColumn:U,endRow:B,endColumn:T}=b;for(let le=L;le<=B;le++)for(let pe=U;pe<=T;pe++)u.setValue(le,pe,null)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][s]=u.getData())})})}mergeArrayFormulaCellData(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;this._arrayFormulaRange[t]==null&&(this._arrayFormulaRange[t]={}),this._arrayFormulaCellData[t]==null&&(this._arrayFormulaCellData[t]={}),Object.keys(r).forEach(s=>{var l,c;const a=r[s],o=new D.ObjectMatrix((l=this._arrayFormulaRange[t])==null?void 0:l[s]),u=new D.ObjectMatrix((c=this._arrayFormulaCellData[t])==null?void 0:c[s]);a.forValue((m,g)=>{const p=o==null?void 0:o.getValue(m,g);if(p==null)return!0;const{startRow:R,startColumn:b,endRow:L,endColumn:U}=p;for(let B=R;B<=L;B++)for(let T=b;T<=U;T++)u.setValue(B,T,null)}),a.forValue((m,g,p)=>{u.setValue(m,g,p)}),this._arrayFormulaCellData[t]&&(this._arrayFormulaCellData[t][s]=u.getData())})})}getFormulaData(){return this._formulaData}setFormulaData(e){this._formulaData=e}getArrayFormulaRange(){return this._arrayFormulaRange}setArrayFormulaRange(e){this._arrayFormulaRange=e}getArrayFormulaCellData(){return this._arrayFormulaCellData}setArrayFormulaCellData(e){this._arrayFormulaCellData=e}mergeArrayFormulaRange(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;this._arrayFormulaRange[t]||(this._arrayFormulaRange[t]={}),Object.keys(r).forEach(s=>{var u;const a=new D.ObjectMatrix(r[s]),o=new D.ObjectMatrix((u=this._arrayFormulaRange[t])==null?void 0:u[s]);a.forValue((l,c,m)=>{o.setValue(l,c,m)}),this._arrayFormulaRange[t]&&(this._arrayFormulaRange[t][s]=o.getData())})})}mergeFormulaData(e){Object.keys(e).forEach(t=>{const r=e[t];if(r!==void 0){if(r===null){delete this._formulaData[t];return}this._formulaData[t]||(this._formulaData[t]={}),Object.keys(r).forEach(s=>{var l,c;const a=r[s];if(a===void 0)return;if(a===null){(l=this._formulaData[t])==null||delete l[s];return}const o=new D.ObjectMatrix(a),u=new D.ObjectMatrix(((c=this._formulaData[t])==null?void 0:c[s])||{});o.forValue((m,g,p)=>{p==null?u.realDeleteValue(m,g):u.setValue(m,g,p)}),this._formulaData[t][s]=u.clone()})}})}deleteArrayFormulaRange(e,t,r,s){var u;const a=(u=this._arrayFormulaRange[e])==null?void 0:u[t];if(a==null)return;const o=new D.ObjectMatrix(a);o.getValue(r,s)&&(o.realDeleteValue(r,s),this._arrayFormulaRange[e]&&(this._arrayFormulaRange[e][t]=o.getData()))}initFormulaData(){if(this._univerInstanceService.getAllUnitsForType(D.UniverInstanceType.UNIVER_SHEET).length===0)return;const t=this._univerInstanceService.getCurrentUnitForType(D.UniverInstanceType.UNIVER_SHEET),r=t.getUnitId();this._formulaData[r]={},t.getSheets().forEach(a=>{const o=a.getCellMatrix(),u=a.getSheetId();ai(this._formulaData,r,u,o)})}getCalculateData(){const e=this._univerInstanceService.getAllUnitsForType(D.UniverInstanceType.UNIVER_SHEET),t={},r={};for(const s of e){const a=s.getUnitId(),o=s.getSheets(),u={},l={};for(const c of o){const m=c.getSheetId(),g=c.getConfig();u[m]={cellData:new D.ObjectMatrix(g.cellData),rowCount:g.rowCount,columnCount:g.columnCount,rowData:g.rowData,columnData:g.columnData},l[c.getName()]=c.getSheetId()}t[a]=u,r[a]=l}return{allUnitData:t,unitSheetNameMap:r}}updateFormulaData(e,t,r){const s=new D.ObjectMatrix(r),a=this.getFormulaIdMap(e,t),o=new Map,u=this._formulaData;u[e]==null&&(u[e]={});const l=u[e];l[t]==null&&(l[t]={});const c=new D.ObjectMatrix(l[t]||{}),m=new D.ObjectMatrix;return s.forValue((g,p,R)=>{Ju(c,m,a,o,g,p,R)}),c.forValue((g,p,R)=>{const b=(R==null?void 0:R.f)||"",L=(R==null?void 0:R.si)||"";if(D.isFormulaId(L)){const U=a.get(L),B=o.get(L);if(U&&!D.isFormulaString(b)){const T=U.f,q=p-U.c,le=g-U.r;c.setValue(g,p,{f:T,si:L,x:q,y:le}),m.setValue(g,p,{f:T,si:L,x:q,y:le})}else if(typeof B=="string"){const T=(R==null?void 0:R.x)||0,q=(R==null?void 0:R.y)||0,le=this._lexerTreeBuilder.moveFormulaRefOffset(B,T,q);o.set(L,{r:g,c:p,f:le}),c.setValue(g,p,{f:le,si:L}),m.setValue(g,p,{f:le,si:L})}else if(typeof B=="object"){const T=p-B.c,q=g-B.r;c.setValue(g,p,{f:B.f,si:L,x:T,y:q}),m.setValue(g,p,{f:B.f,si:L,x:T,y:q})}}}),m.clone()}updateArrayFormulaRange(e,t,r){var u;const s=(u=this._arrayFormulaRange[e])==null?void 0:u[t];if(!s)return;const a=new D.ObjectMatrix(s);new D.ObjectMatrix(r).forValue((l,c,m)=>{a.realDeleteValue(l,c)})}updateArrayFormulaCellData(e,t,r){var c,m;const s=(c=this._arrayFormulaRange[e])==null?void 0:c[t];if(!s)return;const a=new D.ObjectMatrix(s),o=(m=this._arrayFormulaCellData[e])==null?void 0:m[t];if(!o)return;const u=new D.ObjectMatrix(o);new D.ObjectMatrix(r).forValue((g,p,R)=>{el(a,u,g,p)})}getFormulaItemBySId(e,t,r){const s=this._formulaData;if(s[r]==null)return null;const a=s[r];if((a==null?void 0:a[t])==null)return null;const o=new D.ObjectMatrix(a[t]||{});let u=null;return o.forValue((l,c,m)=>{if(m==null)return!0;const{f:g,si:p,x:R=0,y:b=0}=m;if(p===e&&g.length>0&&R===0&&b===0)return u=m,!1}),u}getFormulaDataItem(e,t,r,s){var a,o,u,l;return(l=(u=(o=(a=this._formulaData)==null?void 0:a[s])==null?void 0:o[r])==null?void 0:u[e])==null?void 0:l[t]}getFormulaIdMap(e,t){const r=new Map,s=this._formulaData;if(s[e]==null)return r;const a=s[e];return(a==null?void 0:a[t])==null||new D.ObjectMatrix(a[t]||{}).forValue((u,l,c)=>{const m=(c==null?void 0:c.f)||"",g=(c==null?void 0:c.si)||"",p=(c==null?void 0:c.x)||0,R=(c==null?void 0:c.y)||0;D.isFormulaString(m)&&D.isFormulaId(g)&&p===0&&R===0&&r.set(g,{f:m,r:u,c:l})}),r}getFormulaStringByCell(e,t,r,s){const a=this.getFormulaDataItem(e,t,r,s);if(a==null)return null;const{f:o,si:u,x:l=0,y:c=0}=a;if(u!=null&&(l!==0||c!==0)){let m="";if(o.length>0)m=o;else{const g=this.getFormulaItemBySId(u,r,s);if(g==null||g.f.length===0)return null;m=g.f}return m=this._lexerTreeBuilder.moveFormulaRefOffset(m,l,c),m}return D.isFormulaString(o)?o:null}},A.FormulaDataModel=nl([ii(0,D.IUniverInstanceService),ii(1,X.Inject(ar))],A.FormulaDataModel);function ai(n,i,e,t){const r=new Map,s=new D.ObjectMatrix;t.forValue((o,u,l)=>{const c=(l==null?void 0:l.f)||"",m=(l==null?void 0:l.si)||"",g=D.isFormulaString(c),p=D.isFormulaId(m);g&&p?(s.setValue(o,u,{f:c,si:m}),r.set(m,{f:c,r:o,c:u})):g&&!p?s.setValue(o,u,{f:c}):!g&&p&&s.setValue(o,u,{f:"",si:m})}),s.forValue((o,u,l)=>{const c=(l==null?void 0:l.f)||"",m=(l==null?void 0:l.si)||"";if(D.isFormulaId(m)&&!D.isFormulaString(c)){const g=r.get(m);if(g){const p=g.f,R=u-g.c,b=o-g.r;s.setValue(o,u,{f:p,si:m,x:R,y:b})}else s.realDeleteValue(o,u)}}),n[i]||(n[i]={});const a=s.clone();return n[i][e]=a,{[i]:{[e]:a}}}const pr={id:"formula.mutation.set-array-formula-data",type:D.CommandType.MUTATION,handler:(n,i)=>!0},gn={id:"formula.mutation.set-formula-calculation-start",type:D.CommandType.MUTATION,handler:()=>!0},pn={id:"formula.mutation.set-formula-calculation-stop",type:D.CommandType.MUTATION,handler:()=>!0},Rr={id:"formula.mutation.set-formula-calculation-notification",type:D.CommandType.MUTATION,handler:()=>!0},Rn={id:"formula.mutation.set-formula-calculation-result",type:D.CommandType.MUTATION,handler:()=>!0},_r={id:"formula.mutation.set-formula-data",type:D.CommandType.MUTATION,handler:(n,i)=>!0};class oi extends D.Disposable{constructor(){super();d(this,"_definedNameMap",{});d(this,"_update$",new Ct.Subject);d(this,"update$",this._update$.asObservable());d(this,"_currentRange",{unitId:"",sheetId:"",range:{startRow:0,endRow:0,startColumn:0,endColumn:0}});d(this,"_currentRange$",new Ct.Subject);d(this,"currentRange$",this._currentRange$.asObservable());d(this,"_focusRange$",new Ct.Subject);d(this,"focusRange$",this._focusRange$.asObservable())}dispose(){this._definedNameMap={}}focusRange(e,t){const r=this.getValueById(e,t);r!=null&&this._focusRange$.next({...r,unitId:e})}setCurrentRange(e){this._currentRange=e,this._currentRange$.next(e)}getCurrentRange(){return this._currentRange}getCurrentRangeForString(){return Ge(this._currentRange.range)}registerDefinedNames(e,t){this._definedNameMap[e]=t,this._update()}registerDefinedName(e,t){this._definedNameMap[e]==null&&(this._definedNameMap[e]={}),this._definedNameMap[e][t.id]=t,this._update()}removeDefinedName(e,t){var r;(r=this._definedNameMap[e])==null||delete r[t],this._update()}removeUnitDefinedName(e){delete this._definedNameMap[e],this._update()}getDefinedNameMap(e){return this._definedNameMap[e]}getValueByName(e,t){var s;const r=this._definedNameMap[e];return r==null?null:(s=Array.from(Object.values(r)).filter(a=>a.name===t))==null?void 0:s[0]}getValueById(e,t){var r;return(r=this._definedNameMap[e])==null?void 0:r[t]}hasDefinedName(e){return this._definedNameMap[e]==null?!1:(Array.from(Object.values(this._definedNameMap[e])).length||0)!==0}_update(){this._update$.next(null)}}const Qt=X.createIdentifier("univer.formula.defined-names.service");var sl=Object.defineProperty,il=Object.getOwnPropertyDescriptor,al=(n,i,e,t)=>{for(var r=t>1?void 0:t?il(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&sl(i,e,r),r},ol=(n,i)=>(e,t)=>i(e,t,n);A.FormulaCurrentConfigService=class extends D.Disposable{constructor(e){super();d(this,"_unitData",{});d(this,"_unitStylesData",{});d(this,"_arrayFormulaCellData",{});d(this,"_formulaData",{});d(this,"_sheetNameMap",{});d(this,"_forceCalculate",!1);d(this,"_dirtyRanges",[]);d(this,"_dirtyNameMap",{});d(this,"_dirtyDefinedNameMap",{});d(this,"_dirtyUnitFeatureMap",{});d(this,"_dirtyUnitOtherFormulaMap",{});d(this,"_excludedCell");d(this,"_sheetIdToNameMap",{});d(this,"_executeUnitId","");d(this,"_executeSubUnitId","");this._univerInstanceService=e}dispose(){this._unitData={},this._unitStylesData={},this._formulaData={},this._arrayFormulaCellData={},this._sheetNameMap={},this._dirtyRanges=[],this._dirtyNameMap={},this._dirtyDefinedNameMap={},this._dirtyUnitFeatureMap={},this._excludedCell={},this._sheetIdToNameMap={},this._dirtyUnitOtherFormulaMap={}}getExecuteUnitId(){return this._executeUnitId}getExecuteSubUnitId(){return this._executeSubUnitId}setExecuteUnitId(e){this._executeUnitId=e}setExecuteSubUnitId(e){this._executeSubUnitId=e}getExcludedRange(){return this._excludedCell}getUnitData(){return this._unitData}getUnitStylesData(){return this._unitStylesData}getFormulaData(){return this._formulaData}getArrayFormulaCellData(){return this._arrayFormulaCellData}getSheetNameMap(){return this._sheetNameMap}isForceCalculate(){return this._forceCalculate}getDirtyRanges(){return this._dirtyRanges}getDirtyNameMap(){return this._dirtyNameMap}getDirtyDefinedNameMap(){return this._dirtyDefinedNameMap}getDirtyUnitFeatureMap(){return this._dirtyUnitFeatureMap}getDirtyUnitOtherFormulaMap(){return this._dirtyUnitOtherFormulaMap}getSheetName(e,t){return this._sheetIdToNameMap[e]==null?"":this._sheetIdToNameMap[e][t]||""}load(e){if(e.allUnitData&&e.unitSheetNameMap&&e.unitStylesData)this._unitData=e.allUnitData,this._unitStylesData=e.unitStylesData,this._sheetNameMap=e.unitSheetNameMap;else{const{allUnitData:t,unitSheetNameMap:r,unitStylesData:s}=this._loadSheetData();this._unitData=t,this._unitStylesData=s,this._sheetNameMap=r}this._formulaData=e.formulaData,this._arrayFormulaCellData=vn(e.arrayFormulaCellData),this._forceCalculate=e.forceCalculate,this._dirtyRanges=e.dirtyRanges,this._dirtyNameMap=e.dirtyNameMap,this._dirtyDefinedNameMap=e.dirtyDefinedNameMap,this._dirtyUnitFeatureMap=e.dirtyUnitFeatureMap,this._dirtyUnitOtherFormulaMap=e.dirtyUnitOtherFormulaMap,this._excludedCell=e.excludedCell,this._mergeNameMap(this._sheetNameMap,this._dirtyNameMap)}loadDirtyRangesAndExcludedCell(e,t){this._dirtyRanges=e,this._excludedCell=t,this._dirtyNameMap={}}registerUnitData(e){this._unitData=e}registerFormulaData(e){this._formulaData=e}registerSheetNameMap(e){this._sheetNameMap=e}_mergeNameMap(e,t){Object.keys(t).forEach(r=>{t[r]&&Object.keys(t[r]).forEach(s=>{e[r]==null&&(e[r]={}),e[r][t[r][s]]=s})}),this._sheetIdToNameMap={},Object.keys(e).forEach(r=>{Object.keys(e[r]).forEach(s=>{this._sheetIdToNameMap[r]==null&&(this._sheetIdToNameMap[r]={}),this._sheetIdToNameMap[r][e[r][s]]=s})})}_loadSheetData(){const e=this._univerInstanceService.getAllUnitsForType(D.UniverInstanceType.UNIVER_SHEET),t=this._univerInstanceService.getCurrentUnitForType(D.UniverInstanceType.UNIVER_SHEET),r=t==null?void 0:t.getActiveSheet();this._executeUnitId=t==null?void 0:t.getUnitId(),this._executeSubUnitId=r==null?void 0:r.getSheetId();const s={},a={},o={};for(const u of e){const l=u.getUnitId(),c=u.getSheets(),m={},g={};for(const p of c){const R=p.getSheetId(),b=p.getConfig();m[R]={cellData:new D.ObjectMatrix(b.cellData),rowCount:b.rowCount,columnCount:b.columnCount,rowData:b.rowData,columnData:b.columnData},g[p.getName()]=p.getSheetId()}s[l]=m,a[l]=u.getStyles(),o[l]=g}return{allUnitData:s,unitStylesData:a,unitSheetNameMap:o}}},A.FormulaCurrentConfigService=al([ol(0,D.IUniverInstanceService)],A.FormulaCurrentConfigService);const Ze=X.createIdentifier("univer.formula.current-data.service");var ul=Object.defineProperty,ll=Object.getOwnPropertyDescriptor,cl=(n,i,e,t)=>{for(var r=t>1?void 0:t?ll(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&ul(i,e,r),r},_n=(n,i)=>(e,t)=>i(e,t,n);let Vt=class extends D.Disposable{constructor(n,i,e){super(),this._definedNamesService=n,this._lexerTreeBuilder=i,this._formulaCurrentConfigService=e}treeBuilder(n,i=!0){return this._lexerTreeBuilder.treeBuilder(n,i,this._injectDefinedName.bind(this),this._simpleCheckDefinedName.bind(this))}_simpleCheckDefinedName(n){const i=this._formulaCurrentConfigService.getDirtyDefinedNameMap(),e=this._formulaCurrentConfigService.getExecuteUnitId();if(e!=null&&i[e]!=null){const t=Object.keys(i[e]);for(let r=0,s=t.length;r<s;r++){const a=t[r];if(n.indexOf(a)>-1)return!0}}return!1}_checkDefinedNameDirty(n){const i=this._formulaCurrentConfigService.getDirtyDefinedNameMap(),e=this._formulaCurrentConfigService.getExecuteUnitId();if(e!=null&&i[e]!=null){const t=Object.keys(i[e]);for(let r=0,s=t.length;r<s;r++)if(t[r]===n)return!0}return!1}_injectDefinedName(n){const i=this._formulaCurrentConfigService.getExecuteUnitId();if(i==null)return{sequenceString:"",hasDefinedName:!1,definedNames:[]};const e=this._lexerTreeBuilder.getSequenceNode(n);let t="",r=!1;const s=[];for(let a=0,o=e.length;a<o;a++){const u=e[a];if(typeof u=="string"){t+=u;continue}const{nodeType:l,token:c}=u;if(l===Ve.REFERENCE||l===Ve.FUNCTION){const m=this._definedNamesService.getValueByName(i,c);if(m){let g=m.formulaOrRefString;g.substring(0,1)===se.EQUALS&&(g=g.substring(1)),t+=g,s.push(m.name),r=!0}else this._checkDefinedNameDirty(c)?(t+=f.NAME,r=!0,s.push(c)):t+=c}else t+=c}return{sequenceString:t,hasDefinedName:r,definedNames:s}}};Vt=cl([_n(0,Qt),_n(1,X.Inject(ar)),_n(2,Ze)],Vt);var fl=Object.defineProperty,hl=Object.getOwnPropertyDescriptor,ml=(n,i,e,t)=>{for(var r=t>1?void 0:t?hl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&fl(i,e,r),r},dl=(n,i)=>(e,t)=>i(e,t,n),$e=(n=>(n[n.IDLE=0]="IDLE",n[n.START_DEPENDENCY=1]="START_DEPENDENCY",n[n.START_CALCULATION=2]="START_CALCULATION",n[n.CURRENTLY_CALCULATING=3]="CURRENTLY_CALCULATING",n[n.START_DEPENDENCY_ARRAY_FORMULA=4]="START_DEPENDENCY_ARRAY_FORMULA",n[n.START_CALCULATION_ARRAY_FORMULA=5]="START_CALCULATION_ARRAY_FORMULA",n[n.CURRENTLY_CALCULATING_ARRAY_FORMULA=6]="CURRENTLY_CALCULATING_ARRAY_FORMULA",n[n.CALCULATION_COMPLETED=7]="CALCULATION_COMPLETED",n))($e||{}),wt=(n=>(n[n.INITIAL=0]="INITIAL",n[n.STOP_EXECUTION=1]="STOP_EXECUTION",n[n.NOT_EXECUTED=2]="NOT_EXECUTED",n[n.SUCCESS=3]="SUCCESS",n))(wt||{});A.FormulaRuntimeService=class extends D.Disposable{constructor(e){super();d(this,"_formulaExecuteStage",0);d(this,"_stopState",!1);d(this,"_currentRow",-1);d(this,"_currentColumn",-1);d(this,"_currentRowCount",Number.NEGATIVE_INFINITY);d(this,"_currentColumnCount",Number.NEGATIVE_INFINITY);d(this,"_currentSubUnitId","");d(this,"_currentUnitId","");d(this,"_runtimeData",{});d(this,"_runtimeOtherData",{});d(this,"_unitArrayFormulaRange",{});d(this,"_runtimeArrayFormulaCellData",{});d(this,"_runtimeClearArrayFormulaCellData",{});d(this,"_runtimeFeatureRange",{});d(this,"_runtimeFeatureCellData",{});d(this,"_functionsExecutedState",0);d(this,"_functionDefinitionPrivacyVar",new Map);d(this,"_totalFormulasToCalculate",0);d(this,"_completedFormulasCount",0);d(this,"_totalArrayFormulasToCalculate",0);d(this,"_completedArrayFormulasCount",0);d(this,"_formulaCycleIndex",0);d(this,"_isCycleDependency",!1);this._currentConfigService=e}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(){this.reset(),this._runtimeFeatureCellData={},this._runtimeFeatureRange={}}enableCycleDependency(){this._isCycleDependency=!0}disableCycleDependency(){this._isCycleDependency=!1}isCycleDependency(){return this._isCycleDependency}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}setFormulaCycleIndex(e){this._formulaCycleIndex=e}getFormulaCycleIndex(){return this._formulaCycleIndex}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}setCurrent(e,t,r,s,a,o){this._currentRow=e,this._currentColumn=t,this._currentRowCount=r,this._currentColumnCount=s,this._currentSubUnitId=a,this._currentUnitId=o}clearFunctionDefinitionPrivacyVar(){this._functionDefinitionPrivacyVar.clear()}registerFunctionDefinitionPrivacyVar(e,t){this._functionDefinitionPrivacyVar.set(e,t)}getFunctionDefinitionPrivacyVar(e){return this._functionDefinitionPrivacyVar.get(e)}setRuntimeOtherData(e,t){const r=this._currentSubUnitId,s=this._currentUnitId;this._runtimeOtherData[s]===void 0&&(this._runtimeOtherData[s]={});const a=this._runtimeOtherData[s];a[r]===void 0&&(a[r]={});const o=a[r];let u=[];if(t.isReferenceObject()||t.isValueObject()&&t.isArray()){const l=t,{startRow:c,startColumn:m}=l.getRangePosition();l.iterator((g,p,R)=>{const b=gt(g),L=p-c,U=R-m;u[L]==null&&(u[L]=[]),u[L][U]=b})}else u=[[gt(t)]];o[e]=u}setRuntimeData(e){const t=this._currentRow,r=this._currentColumn,s=this._currentRowCount,a=this.currentColumnCount,o=this._currentSubUnitId,u=this._currentUnitId;this._runtimeData[u]==null&&(this._runtimeData[u]={});const l=this._runtimeData[u];l[o]==null&&(l[o]=new D.ObjectMatrix),this._unitArrayFormulaRange[u]==null&&(this._unitArrayFormulaRange[u]={});const c=this._unitArrayFormulaRange[u];let m=new D.ObjectMatrix;c[o]&&(m=new D.ObjectMatrix(c[o])),this._runtimeArrayFormulaCellData[u]===void 0&&(this._runtimeArrayFormulaCellData[u]={});const g=this._runtimeArrayFormulaCellData[u];g[o]==null&&(g[o]=new D.ObjectMatrix),this._runtimeClearArrayFormulaCellData[u]===void 0&&(this._runtimeClearArrayFormulaCellData[u]={});const p=this._runtimeClearArrayFormulaCellData[u];p[o]==null&&(p[o]=new D.ObjectMatrix);const R=l[o],b=g[o],L=p[o];if(e.isReferenceObject()||e.isValueObject()&&e.isArray()){const U=e,{startRow:B,startColumn:T,endRow:q,endColumn:le}=U.getRangePosition();if(B===q&&T===le){const Le=U.getFirstCell(),ye=gt(Le);R.setValue(t,r,ye),L.setValue(t,r,ye);return}const pe={startRow:t,startColumn:r,endRow:q-B+t,endColumn:le-T+r};if(m.setValue(t,r,pe),c[o]=m.getData(),this._checkIfArrayFormulaRangeHasData(u,o,t,r,pe)||this._checkIfArrayFormulaExceeded(s,a,pe)){const Le=gt(h.create(f.SPILL));R.setValue(t,r,Le),L.setValue(t,r,Le)}else{const Le=h.create(f.SPILL);U.iterator((ye,Ae,De)=>{const me=gt(ye);if(Ae===B&&De===T){if(ye!=null&&ye.isError()&&ye.isEqualType(Le))return L.setValue(t,r,{}),R.setValue(t,r,{...gt(Le)}),!1;R.setValue(t,r,{...me})}const Te=Ae-B+t,_t=De-T+r;b.setValue(Te,_t,me)})}}else{const U=gt(e);R.setValue(t,r,U),L.setValue(t,r,U)}}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,s,a){var p,R,b,L,U,B,T,q,le,pe,Le,ye;const{startRow:o,startColumn:u,endRow:l,endColumn:c}=a,m=this._currentConfigService.getUnitData(),g=(b=(R=(p=this._unitArrayFormulaRange[e])==null?void 0:p[t])==null?void 0:R[r])==null?void 0:b[s];for(let Ae=o;Ae<=l;Ae++)for(let De=u;De<=c;De++){if(Ae===r&&s===De)continue;const me=(B=(U=(L=this._runtimeData)==null?void 0:L[e])==null?void 0:U[t])==null?void 0:B.getValue(Ae,De),Te=(le=(q=(T=this._runtimeArrayFormulaCellData)==null?void 0:T[e])==null?void 0:q[t])==null?void 0:le.getValue(Ae,De),_t=(ye=(Le=(pe=m==null?void 0:m[e])==null?void 0:pe[t])==null?void 0:Le.cellData)==null?void 0:ye.getValue(Ae,De);if(!D.isNullCell(me)||!D.isNullCell(Te)&&!this._isInArrayFormulaRange(g,Ae,De)||!D.isNullCell(_t))return!0}return!1}_isInArrayFormulaRange(e,t,r){if(e==null)return!1;const{startRow:s,startColumn:a,endRow:o,endColumn:u}=e;return t>=s&&t<=o&&r>=a&&r<=u}_checkIfArrayFormulaExceeded(e,t,r){return r.endRow>=e||r.endColumn>=t}_isInDirtyRange(e,t,r,s){const a=this._currentConfigService.getDirtyRanges();return a.length===0?!0:Un(a,e,t,r,s)}},A.FormulaRuntimeService=ml([dl(0,Ze)],A.FormulaRuntimeService);const ve=X.createIdentifier("univer.formula.runtime.service");var ee=(n=>(n.REFERENCE="ReferenceNode",n.VALUE="ValueNode",n.OPERATOR="OperatorNode",n.FUNCTION="FunctionNode",n.LAMBDA="LambdaNode",n.LAMBDA_PARAMETER="LambdaNodeParameter",n.ERROR="ErrorNode",n.BASE="Base",n.ROOT="Root",n.UNION="UnionNode",n.PREFIX="PrefixNode",n.SUFFIX="SuffixNode",n.NULL="NullNode",n))(ee||{});const Ye=new Map([["ReferenceNode",7],["ValueNode",9],["OperatorNode",8],["FunctionNode",6],["LambdaNode",1],["LambdaNodeParameter",2],["Root",10],["UnionNode",3],["PrefixNode",4],["SuffixNode",5]]);class Ue extends D.Disposable{constructor(e){super();d(this,"_children",[]);d(this,"_definedNames",[]);d(this,"_parent");d(this,"_valueObject");d(this,"_calculateState",!1);d(this,"_async",!1);d(this,"_address",!1);d(this,"_refOffsetX",0);d(this,"_refOffsetY",0);this._token=e}dispose(){var e;this._children.forEach(t=>{t.dispose()}),(e=this._valueObject)==null||e.dispose(),this._parent=null}get nodeType(){return ee.BASE}isAsync(){return this._async}isAddress(){return this._address}setAsync(){this._async=!0}setAddress(){this._address=!0}getParent(){return this._parent}setParent(e){this._parent=e,e.addChildren(this)}getChildren(){return this._children}addChildren(...e){this._children.push(...e)}getToken(){return this._token}setValue(e){this._valueObject=e}getValue(){return this._valueObject}isCalculated(){return this._calculateState}setCalculated(){this._calculateState=!0}execute(){}setNotEmpty(e=!0){}setRefOffset(e=0,t=0){this._refOffsetX=e,this._refOffsetY=t}getRefOffset(){return{x:this._refOffsetX,y:this._refOffsetY}}async executeAsync(){return Promise.resolve(ht.SUCCESS)}serialize(){const e=this.getToken(),t=this.getChildren(),r=[],s=t.length;for(let o=0;o<s;o++){const u=t[o];r.push(u.serialize())}const a={token:e,nodeType:this.nodeType};return s>0&&(a.children=r),a}hasDefinedName(e){return this._definedNames.includes(e)}setDefinedNames(e){this._definedNames=e}}class Ce extends Ue{constructor(e){super(e);d(this,"_errorValueObject");this._errorValueObject=h.create(e)}get nodeType(){return ee.ERROR}static create(e){return new Ce(e)}getValue(){return this._errorValueObject}}const He=100;class Qe extends D.Disposable{get zIndex(){return 0}create(i,e,t){let r;return i instanceof K?r=i.getToken():r=i,new Ue(r)}}class En extends Ue{get nodeType(){return ee.ROOT}execute(){const e=this.getChildren()[0];e==null?this.setValue(h.create(f.VALUE)):this.setValue(e.getValue())}}class ui extends Qe{get zIndex(){return Ye.get(ee.ROOT)||He}checkAndCreateNodeType(i){if(!(i instanceof K))return;if(i.getToken()===tt)return new En(tt)}}class li extends D.Disposable{constructor(){super(...arguments);d(this,"_functionExecutors",new Map);d(this,"_functionDescriptions",new Map)}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 D.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)}}}const Je=X.createIdentifier("univer.formula.function.service");var gl=Object.defineProperty,pl=Object.getOwnPropertyDescriptor,Rl=(n,i,e,t)=>{for(var r=t>1?void 0:t?pl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&gl(i,e,r),r},ci=(n,i)=>(e,t)=>i(e,t,n);class Er extends Ue{constructor(i,e,t){super(e),this._accessor=i,this._operatorString=e,this._functionExecutor=t}get nodeType(){return ee.PREFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null)throw new Error("object is null");e.isReferenceObject()&&(e=e.toArrayValueObject()),this._operatorString===_e.MINUS?t=this._functionExecutor.calculate(y.create(0),e):this._operatorString===_e.AT?t=this._handlerAT(e):t=h.create(f.VALUE),this.setValue(t)}_handlerAT(i){if(!i.isReferenceObject())return h.create(f.VALUE);const e=i;if(e.isCell())return h.create(f.VALUE);const t=this._accessor.get(ve),r=t.currentRow||0,s=t.currentColumn||0;return e.isRow()?e.getCellByColumn(s):e.isColumn()?e.getCellByRow(r):e.isRange()||e.isTable()?e.getCellByPosition():h.create(f.VALUE)}}let Cr=class extends Qe{constructor(n,i){super(),this._functionService=n,this._injector=i}get zIndex(){return Ye.get(ee.PREFIX)||He}checkAndCreateNodeType(n){if(!(n instanceof K))return;const i=n.getToken(),e=i.trim();if(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')return;let t="";if(e===_e.MINUS)t=Pe.MINUS;else return e===_e.AT?new Er(this._injector,e):void 0;const r=this._functionService.getExecutor(t);return r?new Er(this._injector,e,r):(console.error(`No function ${i}`),Ce.create(f.NAME))}};Cr=Rl([ci(0,Je),ci(1,X.Inject(X.Injector))],Cr);function fi(n,i,e){let t,r;const s=n.slice(0,2);let a=0;if(new RegExp(_e.MINUS,"g").test(s)){const o=i.getExecutor(Pe.MINUS);t=new Er(e,_e.MINUS,o),a++}return new RegExp(_e.AT,"g").test(s)&&(r=new Er(e,_e.AT),t&&r.setParent(t),a++),a>0&&(n=n.slice(a)),{tokenTrim:n,minusPrefixNode:t,atPrefixNode:r}}var _l=Object.defineProperty,El=Object.getOwnPropertyDescriptor,Cl=(n,i,e,t)=>{for(var r=t>1?void 0:t?El(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&_l(i,e,r),r},zt=(n,i)=>(e,t)=>i(e,t,n);class yl extends Ue{constructor(i,e,t,r,s){super(i),this._functionExecutor=e,this._currentConfigService=t,this._runtimeService=r,this._definedNamesService=s,this._functionExecutor.isAsync()&&this.setAsync(),this._functionExecutor.isAddress()&&this.setAddress()}get nodeType(){return ee.FUNCTION}async executeAsync(){const i=[],e=this.getChildren(),t=e.length;this._compatibility();for(let a=0;a<t;a++){const o=e[a].getValue();o!=null&&(o.isReferenceObject()?i.push(o.toArrayValueObject()):i.push(o))}const r=this._calculate(i);let s;return r.isAsyncObject()||r.isAsyncArrayObject()?s=await r.getValue():s=r,this._setRefData(s),this.setValue(s),Promise.resolve(ht.SUCCESS)}execute(){const i=[],e=this.getChildren(),t=e.length;this._compatibility();for(let s=0;s<t;s++){const a=e[s].getValue();a!=null&&(a.isReferenceObject()&&!this._functionExecutor.needsReferenceObject?i.push(a.toArrayValueObject()):i.push(a))}const r=this._calculate(i);this._setRefData(r),this.setValue(r)}_compatibility(){this._lookupCompatibility()}_lookupCompatibility(){const i=this.getChildren(),e=i.length;if(!this._functionExecutor.needsExpandParams||e!==3)return;const t=i[1].getValue(),r=i[2].getValue();if(!(t!=null&&t.isReferenceObject())&&!(r!=null&&r.isReferenceObject()))return;const s=t.getRangeData(),a=r.getRangeData(),{startRow:o,startColumn:u,endRow:l,endColumn:c}=s,m=l-o+1,g=c-u+1,{startRow:p,startColumn:R,endRow:b,endColumn:L}=a,U=b-p+1,B=L-R+1;m!==U&&(a.endRow+=m-U),g!==B&&(a.endColumn+=g-B)}_calculate(i){var s;const{minParams:e,maxParams:t}=this._functionExecutor;if(e!==-1&&t!==-1&&(i.length<e||i.length>t))return h.create(f.NA);let r;if(this._setRefInfo(),this._functionExecutor.isCustom()){const a=this._functionExecutor.calculateCustom(...i.map(o=>o.isArray()?o.toValue():o.getValue()));if(typeof a!="object"||a==null)r=it.create(a);else{const o=hs(a);r=de.create({calculateValueList:o,rowCount:o.length,columnCount:((s=o[0])==null?void 0:s.length)||0,unitId:"",sheetId:"",row:-1,column:-1})}}else this._functionExecutor.isAddress()&&this._setDefinedNamesForFunction(),r=this._functionExecutor.calculate(...i);return r}_setDefinedNamesForFunction(){const i=this._currentConfigService.getExecuteUnitId();if(i==null)return;const e=this._definedNamesService.getDefinedNameMap(i);e!=null&&this._functionExecutor.setDefinedNames(e)}_setRefInfo(){const{currentUnitId:i,currentSubUnitId:e,currentRow:t,currentColumn:r}=this._runtimeService;this._functionExecutor.setRefInfo(i,e,t,r)}_setRefData(i){if(!i.isReferenceObject())return;const e=i;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())}}let yr=class extends Qe{constructor(n,i,e,t,r){super(),this._functionService=n,this._currentConfigService=i,this._runtimeService=e,this._definedNamesService=t,this._injector=r}get zIndex(){return Ye.get(ee.FUNCTION)||He}create(n){const i=this._functionService.getExecutor(n);return i?new yl(n,i,this._currentConfigService,this._runtimeService,this._definedNamesService):(console.error(`No function ${n}`),Ce.create(f.NAME))}checkAndCreateNodeType(n){if(typeof n=="string")return;const i=n.getToken(),{tokenTrim:e,minusPrefixNode:t,atPrefixNode:r}=fi(i.trim(),this._functionService,this._injector);if(!Number.isNaN(Number(e))&&!this._isParentUnionNode(n))return Ce.create(f.VALUE);const s=e.toUpperCase();if(this._functionService.hasExecutor(s)){const a=this.create(s);return r?a.setParent(r):t&&a.setParent(t),a}}_isParentUnionNode(n){var i,e;return((e=(i=n.getParent())==null?void 0:i.getParent())==null?void 0:e.getToken())===N.COLON}};yr=Cl([zt(0,Je),zt(1,Ze),zt(2,ve),zt(3,Qt),zt(4,X.Inject(X.Injector))],yr);var Dl=Object.defineProperty,bl=Object.getOwnPropertyDescriptor,Sl=(n,i,e,t)=>{for(var r=t>1?void 0:t?bl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Dl(i,e,r),r},Al=(n,i)=>(e,t)=>i(e,t,n);let xt=class extends D.Disposable{constructor(n){super(),this._runtimeService=n}async executeAsync(n){if(!n)return h.create(f.VALUE);await this._executeAsync(n);const i=n.getValue();if(i==null)throw new Error("node value is null");return Promise.resolve(i)}execute(n){if(!n)return h.create(f.VALUE);this._execute(n);const i=n.getValue();if(i==null)throw new Error("node value is null");return i}executePreCalculateNode(n){return n.execute(),n.getValue()}checkAsyncNode(n){const i=[];this._checkAsyncNode(n,i);for(let e=0,t=i.length;e<t;e++)if(i[e]===!0)return!0;return!1}_checkAsyncNode(n,i){const e=n.getChildren(),t=e.length;for(let r=0;r<t;r++){const s=e[r];i.push(s.isAsync()),this._checkAsyncNode(s,i)}}async _executeAsync(n){if(this._runtimeService.isStopExecution())return Promise.resolve(ht.ERROR);const i=n.getChildren(),e=i.length;for(let t=0;t<e;t++){const r=i[t];if(r.getToken().toUpperCase()===Ft&&r.isEmptyParamFunction()){r.execute();continue}await this._executeAsync(r)}return n.nodeType===ee.FUNCTION&&n.isAsync()?await n.executeAsync():n.execute(),Promise.resolve(ht.SUCCESS)}_execute(n){if(this._runtimeService.isStopExecution())return ht.ERROR;const i=n.getChildren(),e=i.length;for(let t=0;t<e;t++){const r=i[t];if(r.getToken().toUpperCase()===Ft&&r.isEmptyParamFunction()){r.execute();continue}this._execute(r)}return n.execute(),ht.SUCCESS}};xt=Sl([Al(0,ve)],xt);function hi(n){return n instanceof K?n.getToken()===Dt:!1}function Pl(n){return n instanceof K?n.getToken()===Bn:!1}function mi(n){if(!n)return;if(n.getToken()!==Mt)return n;const i=n,e=i.getCurrentLambdaPrivacyVar(),t=i.getLambdaParameter();if(!e)return;const r=e.get(t);return r==null&&n.getValue()?n:mi(r)}class Cn extends Ke{constructor(e,t,r){super(0);d(this,"_lambdaPrivacyValueMap",new Map);this._lambdaNode=e,this._interpreter=t,this._lambdaPrivacyVarKeys=r,this._lambdaPrivacyValueMap.clear()}static create(e,t,r){return new Cn(e,t,r)}isLambda(){return!0}execute(...e){const t=this._lambdaPrivacyVarKeys.length;if(e.length!==t)return h.create(f.VALUE);this._setLambdaPrivacyValueMap(e),this._setLambdaNodeValue(this._lambdaNode),this._lambdaNode.setNotEmpty(!1);let r;if(this._interpreter.checkAsyncNode(this._lambdaNode))r=new ms(this._interpreter.executeAsync(this._lambdaNode));else{const s=this._interpreter.execute(this._lambdaNode);s.isReferenceObject()?r=s.toArrayValueObject():r=s}return this._lambdaNode.setNotEmpty(!0),r}_setLambdaNodeValue(e){const t=e.getChildren(),r=t.length;for(let s=0;s<r;s++){const a=t[s];if(a.getToken()===Mt){const u=a.getLambdaParameter(),l=this._lambdaPrivacyValueMap.get(u);if(l)a.setValue(l);else{const c=a.getCurrentLambdaPrivacyVar(),m=mi(c.get(u));m!=null&&a.setValue(m.getValue())}continue}this._setLambdaNodeValue(a)}}_setLambdaPrivacyValueMap(e){for(let t=0;t<e.length;t++){const r=e[t],s=this._lambdaPrivacyVarKeys[t];this._lambdaPrivacyValueMap.set(s,r)}}}var Ll=Object.defineProperty,Vl=Object.getOwnPropertyDescriptor,wl=(n,i,e,t)=>{for(var r=t>1?void 0:t?Vl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Ll(i,e,r),r},di=(n,i)=>(e,t)=>i(e,t,n);class xl extends Ue{constructor(e,t,r,s){super(e);d(this,"_isNotEmpty",!0);this._lambdaId=t,this._interpreter=r,this._lambdaPrivacyVarKeys=s}get nodeType(){return ee.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(Cn.create(this,this._interpreter,this._lambdaPrivacyVarKeys));else{const e=this.getChildren(),t=e.length;this.setValue(e[t-1].getValue())}}}let Dr=class extends Qe{constructor(n,i){super(),this._runtimeService=n,this._interpreter=i}get zIndex(){return Ye.get(ee.LAMBDA)||He}create(n){const i=n.getChildren(),e=i[0];let t=i.slice(1,-1);const r=i[i.length-1];if(!(e instanceof K&&r instanceof K))return Ce.create(f.NAME);if(e.getToken()===Dt){const o=e.getChildren();if(t.length!==o.length)return Ce.create(f.VALUE)}else t=i.slice(0,-1);const s=D.Tools.generateRandomId(8),a=new Map;for(let o=0;o<t.length;o++){const u=t[o];if(u instanceof K){const l=u.getChildren()[0];u.setToken(Bn),a.set(l.trim(),void 0)}else return Ce.create(f.VALUE)}return this._runtimeService.registerFunctionDefinitionPrivacyVar(s,a),this._updateLambdaStatement(r,s,a),new xl(n.getToken(),s,this._interpreter,[...a.keys()])}checkAndCreateNodeType(n){if(!(!(n instanceof K)||n.getToken().trim().toUpperCase()!==Ft))return this.create(n)}_updateLambdaStatement(n,i,e){this._updateTree(n,i,e)}_updateTree(n,i,e){const t=n.getChildren(),r=t.length,s=t[0];for(let a=0;a<r;a++){const o=t[a];if(!(hi(s)&&a!==0))if(o instanceof K)this._updateTree(o,i,e);else{const u=o.trim();if(e.has(u)){const l=new K;l.setToken(Mt),l.setLambdaId(i),l.setLambdaPrivacyVar(e),l.setLambdaParameter(u),t[a]=l}}}}};Dr=wl([di(0,ve),di(1,X.Inject(xt))],Dr);function gi(n){if(!n)return;if(n.getToken()!==Mt)return n;const i=n,e=i.getCurrentLambdaPrivacyVar(),t=i.getLambdaParameter();if(e)return gi(e.get(t))}class Ul extends Ue{constructor(i,e,t){super(i),this._lambdaParameter=e,this._currentLambdaPrivacyVar=t}getLambdaParameter(){return this._lambdaParameter}getCurrentLambdaPrivacyVar(){return this._currentLambdaPrivacyVar}get nodeType(){return ee.LAMBDA_PARAMETER}execute(){const i=gi(this._currentLambdaPrivacyVar.get(this._lambdaParameter));if(i)this.setValue(i.getValue());else{const e=this.getValue();(e==null||e.isError())&&this.setValue(h.create(f.SPILL))}}}class pi extends Qe{get zIndex(){return Ye.get(ee.LAMBDA_PARAMETER)||He}create(i){const e=i.getFunctionDefinitionPrivacyVar(),t=i.getLambdaParameter();return e?new Ul(i.getToken(),t,e):new Ce(f.SPILL)}checkAndCreateNodeType(i){if(!(!(i instanceof K)||i.getToken().trim()!==Mt))return this.create(i)}}class Ol extends Ue{constructor(i){super(i),this._operatorString=i}get nodeType(){return ee.NULL}execute(){this.setValue(ie.create())}}var Ml=Object.defineProperty,Fl=Object.getOwnPropertyDescriptor,vl=(n,i,e,t)=>{for(var r=t>1?void 0:t?Fl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Ml(i,e,r),r},Bl=(n,i)=>(e,t)=>i(e,t,n);class Tl extends Ue{constructor(i,e){super(i),this._operatorString=i,this._functionExecutor=e}get nodeType(){return ee.OPERATOR}execute(){var s,a;const i=this.getChildren();this._functionExecutor.name===Pe.COMPARE&&this._functionExecutor.setCompareType(this.getToken());let e=(s=i[0])==null?void 0:s.getValue(),t=(a=i[1])==null?void 0:a.getValue();const r=this.getToken();if((e==null||t==null)&&r!==se.MINUS&&r!==se.PLUS){this.setValue(h.create(f.VALUE));return}e==null&&(e=ie.create()),t==null&&(t=ie.create()),e.isReferenceObject()&&(e=e.toArrayValueObject()),t.isReferenceObject()&&(t=t.toArrayValueObject()),this.setValue(this._functionExecutor.calculate(e,t))}}let br=class extends Qe{constructor(n){super(),this._functionService=n}get zIndex(){return Ye.get(ee.OPERATOR)||He}create(n){let i="";const e=n;e===se.PLUS?i=Pe.PLUS:e===se.MINUS?i=Pe.MINUS:e===se.MULTIPLY?i=Pe.MULTIPLY:e===se.DIVIDED?i=Pe.DIVIDED:e===se.CONCATENATE?i=qe.CONCATENATE:e===se.POWER?i=ue.POWER:zi.has(e)&&(i=Pe.COMPARE);const t=this._functionService.getExecutor(i);return t?new Tl(e,t):(console.error(`No function ${n}`),Ce.create(f.NAME))}checkAndCreateNodeType(n){if(n instanceof K)return;const i=n.trim();if(!(i.charAt(0)==='"'&&i.charAt(i.length-1)==='"')&&lt.has(i))return this.create(i)}};br=vl([Bl(0,Je)],br);class kl extends D.Disposable{constructor(){super(...arguments);d(this,"_tableMap",new Map);d(this,"_tableOptionMap",new Map)}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 s;this._tableMap.get(e)==null&&this._tableMap.set(e,new Map),(s=this._tableMap.get(e))==null||s.set(t,r)}registerTableOptionMap(e,t){this._tableOptionMap.set(e,t)}}const yn=X.createIdentifier("univer.formula.super-table.service");class Il extends Pt{constructor(i,e,t,r){super(i),this._tableData=e,this._columnDataString=t;const s=this._tableData.sheetId,a=this._tableData.range,o=this._tableData.titleMap;this.setForcedSheetIdDirect(s);const u=this._stringToColumnData(this._columnDataString,o,r),l=u.startColumn,c=u.endColumn,m=u.type;let g=-1,p=-1;const R=a.startRow,b=a.startColumn;m===mt.ALL?(g=R,p=b):m===mt.DATA?(g=R+1,p=b):m===mt.HEADERS?(g=R,p=R):m===mt.TOTALS&&(g=b,p=b),this.setRangeData({startColumn:l,endColumn:c,startRow:g,endRow:p})}isTable(){return!0}_stringToColumnData(i,e,t){i=i.substring(1,-1);const r=i.indexOf(N.COMMA);let s=-1,a=-1,o=mt.ALL;if(r===-1){const u=this._columnHandler(i,e);s=u.startColumn,a=u.endColumn}else{const u=i.substring(0,r).substring(1,-1),l=i.substring(r+1),c=this._columnHandler(l,e,!0);s=c.startColumn,a=c.endColumn,o=t.get(u),o||(o=mt.ALL)}return{startColumn:s,endColumn:a,type:o}}_columnHandler(i,e,t=!1){var o,u,l;let r=-1,s=-1;const a=i.indexOf(N.COLON);if(new RegExp($n,"g").test(i)){const c=i.substring(0,a).substring(1,-1),m=i.substring(a+1).substring(1,-1);r=(o=e.get(c))!=null?o:-1,s=(u=e.get(m))!=null?u:-1}else t&&(i=i.substring(1,-1)),r=(l=e.get(i))!=null?l:-1,s=r;return{startColumn:r,endColumn:s}}}var jl=Object.defineProperty,$l=Object.getOwnPropertyDescriptor,Yl=(n,i,e,t)=>{for(var r=t>1?void 0:t?$l(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&jl(i,e,r),r},Sr=(n,i)=>(e,t)=>i(e,t,n);class Ar extends Ue{constructor(i,e,t,r=!1){super(e),this._accessor=i,this._operatorString=e,this._referenceObject=t,this._isPrepareMerge=r}get nodeType(){return ee.REFERENCE}execute(){const i=this._accessor.get(Ze),e=this._accessor.get(ve);this._referenceObject.setDefaultUnitId(e.currentUnitId),this._referenceObject.setDefaultSheetId(e.currentSubUnitId),this._referenceObject.setForcedSheetId(i.getSheetNameMap()),this._referenceObject.setUnitData(i.getUnitData()),this._referenceObject.setArrayFormulaCellData(i.getArrayFormulaCellData()),this._referenceObject.setRuntimeData(e.getUnitData()),this._referenceObject.setUnitStylesData(i.getUnitStylesData()),this._referenceObject.setRuntimeArrayFormulaCellData(e.getRuntimeArrayFormulaCellData()),this._referenceObject.setRuntimeFeatureCellData(e.getRuntimeFeatureCellData());const{x:t,y:r}=this.getRefOffset();this._referenceObject.setRefOffset(t,r),!this._isPrepareMerge&&this._referenceObject.isExceedRange()?this.setValue(h.create(f.NAME)):this.setValue(this._referenceObject)}}let Pr=class extends Qe{constructor(n,i,e,t){super(),this._superTableService=n,this._formulaRuntimeService=i,this._functionService=e,this._injector=t}get zIndex(){return Ye.get(ee.REFERENCE)||He}checkAndCreateNodeType(n){var u,l;let i=!1,e,t=!1;n instanceof K?(i=!0,e=n.getToken().trim(),((l=(u=n.getParent())==null?void 0:u.getParent())==null?void 0:l.getToken().trim())===N.COLON&&(t=!0)):e=n.trim();const{tokenTrim:r,minusPrefixNode:s,atPrefixNode:a}=fi(e,this._functionService,this._injector);if(!i&&r.charAt(0)==='"'&&r.charAt(r.length-1)==='"')return;let o;if(new RegExp(vt).test(r))o=new Ar(this._injector,r,new an(r),t);else if(i&&this._checkParentIsUnionOperator(n))new RegExp(In).test(r)?o=new Ar(this._injector,r,new on(r),t):new RegExp(jn).test(r)&&(o=new Ar(this._injector,r,new un(r),t));else{const c=this._formulaRuntimeService.currentUnitId,m=this._superTableService.getTableMap(c),g=new RegExp($n,"g"),p=r.replace(g,"");if(!i&&(m!=null&&m.has(p))){const R=g.exec(r);let b="";R&&(b=R[0]);const L=m.get(p),U=this._superTableService.getTableOptionMap();o=new Ar(this._injector,r,new Il(r,L,b,U))}}if(o)return a?o.setParent(a):s&&o.setParent(s),o}_checkParentIsUnionOperator(n){var i,e;return((e=(i=n.getParent())==null?void 0:i.getParent())==null?void 0:e.getToken().trim())===N.COLON}};Pr=Yl([Sr(0,yn),Sr(1,ve),Sr(2,Je),Sr(3,X.Inject(X.Injector))],Pr);var Hl=Object.defineProperty,Ql=Object.getOwnPropertyDescriptor,zl=(n,i,e,t)=>{for(var r=t>1?void 0:t?Ql(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Hl(i,e,r),r},Ri=(n,i)=>(e,t)=>i(e,t,n);class _i extends Ue{constructor(i,e,t){super(e),this._accessor=i,this._operatorString=e,this._functionExecutor=t}get nodeType(){return ee.SUFFIX}execute(){let e=this.getChildren()[0].getValue(),t;if(e==null)throw new Error("object is null");if(this._operatorString===Ne.PERCENTAGE){if(e.isReferenceObject()&&(e=e.toArrayValueObject()),t=this._functionExecutor.calculate(e,y.create(100)),t.isNumber()){const r=Number(t.getValue());t=y.create(r,"0.00%")}}else this._operatorString===Ne.POUND?t=this._handlerPound(e):t=h.create(f.VALUE);this.setValue(t)}_handlerPound(i){var c,m,g,p;if(!i.isReferenceObject()||!i.isCell())return h.create(f.VALUE);const e=this._accessor.get(Ze),t=this._accessor.get(Vt),r=i,s=r.getRangePosition(),a=r.getUnitId(),o=r.getSheetId(),u=e.getFormulaData(),l=(p=(g=(m=(c=u==null?void 0:u[a])==null?void 0:c[o])==null?void 0:m[s.startRow])==null?void 0:g[s.startColumn])==null?void 0:p.f;return l&&t.treeBuilder(l),h.create(f.VALUE)}}let Lr=class extends Qe{constructor(n,i){super(),this._functionService=n,this._injector=i}get zIndex(){return Ye.get(ee.SUFFIX)||He}checkAndCreateNodeType(n){if(!(n instanceof K))return;const i=n.getToken().trim();if(i.charAt(0)==='"'&&i.charAt(i.length-1)==='"')return;let e="";if(i===Ne.PERCENTAGE)e=Pe.DIVIDED;else return i===Ne.POUND?new _i(this._injector,i):void 0;const t=this._functionService.getExecutor(e);return t?new _i(this._injector,i,t):(console.error(`No function ${n}`),Ce.create(f.NAME))}};Lr=zl([Ri(0,Je),Ri(1,X.Inject(X.Injector))],Lr);var Nl=Object.defineProperty,Wl=Object.getOwnPropertyDescriptor,Gl=(n,i,e,t)=>{for(var r=t>1?void 0:t?Wl(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Nl(i,e,r),r},Xl=(n,i)=>(e,t)=>i(e,t,n);class Kl extends Ue{constructor(i){super(i),this._operatorString=i}get nodeType(){return ee.UNION}execute(){const i=this.getChildren(),e=i[0].getValue(),t=i[1].getValue();if(e==null||t==null)throw new Error("leftNode and rightNode");let r;this._operatorString===N.COLON?r=this._unionFunction(e,t):r=h.create(f.NAME),this.setValue(r)}_unionFunction(i,e){return i.isError()||e.isError()||!i.isReferenceObject()||!e.isReferenceObject()?h.create(f.REF):(i=i,e=e,i.isCell()&&e.isCell()||i.isRow()&&e.isRow()||i.isColumn()&&e.isColumn()?i.unionBy(e):h.create(f.NAME))}}let Vr=class extends Qe{constructor(n){super(),this._functionService=n}get zIndex(){return Ye.get(ee.UNION)||He}create(n){return new Kl(n)}checkAndCreateNodeType(n){if(!(n instanceof K))return;const e=n.getToken().trim();if(!(e.charAt(0)==='"'&&e.charAt(e.length-1)==='"')&&e===N.COLON)return this.create(e)}};Vr=Gl([Xl(0,Je)],Vr);class ql extends Ue{constructor(i){super(i),this._operatorString=i}get nodeType(){return ee.VALUE}execute(){this.setValue(it.create(this._operatorString))}}class Ei extends Qe{get zIndex(){return Ye.get(ee.VALUE)||He}_checkValueNode(i){if(Number.isNaN(Number(i))){const e=i.trim(),t=e.charAt(0),r=e.charAt(e.length-1);if(yt.has(e))return this.create(e);if(t==='"'&&r==='"')return this.create(e);if(t==="{"&&r==="}")return this.create(e);const s=e.toUpperCase();if(s===nt.TRUE||s===nt.FALSE)return this.create(s)}else return this.create(i)}create(i){return new ql(i)}checkAndCreateNodeType(i){if(!(i instanceof K))return this._checkValueNode(i)}}function Zl(n){let i=n;for(;i!=null&&i.getParent();)i=i.getParent();return i}var Jl=Object.defineProperty,ec=Object.getOwnPropertyDescriptor,tc=(n,i,e,t)=>{for(var r=t>1?void 0:t?ec(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Jl(i,e,r),r},Be=(n,i)=>(e,t)=>i(e,t,n);let Nt=class extends D.Disposable{constructor(i,e,t,r,s,a,o,u,l,c,m){super();d(this,"_astNodeFactoryList",[]);d(this,"_refOffsetX",0);d(this,"_refOffsetY",0);this._runtimeService=i,this._astRootNodeFactory=e,this._functionNodeFactory=t,this._lambdaNodeFactory=r,this._lambdaParameterNodeFactory=s,this._operatorNodeFactory=a,this._prefixNodeFactory=o,this._referenceNodeFactory=u,this._suffixNodeFactory=l,this._unionNodeFactory=c,this._valueNodeFactory=m,this._initializeAstNode()}dispose(){this._astNodeFactoryList.forEach(i=>{i.dispose()}),this._astNodeFactoryList=[]}parse(i,e=0,t=0){const r=new En(tt);this._refOffsetX=e,this._refOffsetY=t;const s=this._parse(i,r);return i.hasDefinedNames()&&(s==null||s.setDefinedNames(i.getDefinedNames())),s}_lambdaParameterHandler(i,e){if(e.getLambdaId==null)return Ce.create(f.VALUE);const t=e.getLambdaId(),r=new En(tt),s=this._runtimeService.getFunctionDefinitionPrivacyVar(t);if(!s)return!1;const a=[...s.keys()],o=i.getChildren(),u=o.length;for(let m=0;m<u;m++){const g=o[m];if(g instanceof K)this._parse(g,r);else return!1}const l=r.getChildren(),c=l.length;for(let m=0;m<c;m++){const g=l[m];s.set(a[m],g)}return r.setParent(e),e}_changeLetToLambda(i){const e=i.getChildren(),t=e.length;if(t%2!==1||t===0)return;const r=new K;r.setToken(Ft);const s=new K;s.setToken(Dt);const a=[...e];for(let u=0;u<t;u++){const l=a[u];if(!(l instanceof K))return;u%2===0?l.changeToParent(r):l.changeToParent(s)}r.addChildrenFirst(s),s.setParent(r);const o=i.getParent();return o==null||o.replaceChild(i,r),r}_parse(i,e){const t=i.getChildren(),r=t.length,s=[];let a=null;const o=i.getToken().trim().toUpperCase();if(o===qi){const c=this._changeLetToLambda(i);return c!=null?this._parse(c,e):Ce.create(f.ERROR)}if(o===We){if(a=e,r===0)return new Ol(tt).setParent(e),a}else{if(o===Dt){let c=this._lambdaParameterHandler(i,e);return c===!1&&(c=Ce.create(f.ERROR)),c}if(a=this._checkAstNode(i),a==null)return Ce.create(f.NAME)}const u=t[0];for(let c=0;c<r;c++){const m=t[c];if(hi(u)){if(c!==0&&c!==r-1)continue}else if(Pl(m)&&c!==r-1)continue;let g=null;if(m instanceof K){if(g=this._parse(m,a),g===a)continue}else g=this._checkAstNode(m);if(g==null)return Ce.create(f.NAME);if(g=Zl(g),g==null)return;switch(g.nodeType){case ee.ERROR:return g;case ee.FUNCTION:s.push(g);break;case ee.LAMBDA:s.push(g);break;case ee.LAMBDA_PARAMETER:s.push(g);break;case ee.OPERATOR:{const p=s.pop(),R=s.pop();R&&R.setParent(g),p&&p.setParent(g),s.push(g);break}case ee.REFERENCE:g.setRefOffset(this._refOffsetX,this._refOffsetY),s.push(g);break;case ee.ROOT:s.push(g);break;case ee.UNION:s.push(g);break;case ee.VALUE:s.push(g);break;case ee.PREFIX:s.push(g);break;case ee.SUFFIX:s.push(g);break}}const l=s.length;for(let c=0;c<l;c++)s[c].setParent(a);return a}_checkAstNode(i){let e=null;const t=this._astNodeFactoryList.length;for(let r=0;r<t&&(e=this._astNodeFactoryList[r].checkAndCreateNodeType(i),e==null);r++);return e}_initializeAstNode(){this._astNodeFactoryList=[this._astRootNodeFactory,this._functionNodeFactory,this._lambdaNodeFactory,this._lambdaParameterNodeFactory,this._operatorNodeFactory,this._prefixNodeFactory,this._referenceNodeFactory,this._suffixNodeFactory,this._unionNodeFactory,this._valueNodeFactory].sort(D.sortRules)}};Nt=tc([Be(0,ve),Be(1,X.Inject(ui)),Be(2,X.Inject(yr)),Be(3,X.Inject(Dr)),Be(4,X.Inject(pi)),Be(5,X.Inject(br)),Be(6,X.Inject(Cr)),Be(7,X.Inject(Pr)),Be(8,X.Inject(Lr)),Be(9,X.Inject(Vr)),Be(10,X.Inject(Ei))],Nt);class Ci extends D.Disposable{constructor(){super(...arguments);d(this,"_referenceExecutorMap",new Map)}dispose(){this._referenceExecutorMap.clear()}remove(e){this._referenceExecutorMap.delete(e)}get(e){return this._referenceExecutorMap.get(e)}has(e){return this._referenceExecutorMap.has(e)}register(e,t){this._referenceExecutorMap.set(e,t)}getReferenceExecutorMap(){return this._referenceExecutorMap}}const Wt=X.createIdentifier("univer.formula.feature-calculation-manager.service");class yi extends D.Disposable{constructor(){super(...arguments);d(this,"_otherFormulaData",{})}dispose(){this._otherFormulaData={}}remove(e){var a,o,u;const{unitId:t,subUnitId:r,formulaId:s}=e;(u=(o=(a=this._otherFormulaData)==null?void 0:a[t])==null?void 0:o[r])==null||delete u[s]}get(e){var a,o;const{unitId:t,subUnitId:r,formulaId:s}=e;return(o=(a=this._otherFormulaData[t])==null?void 0:a[r])==null?void 0:o[s]}has(e){var a,o;const{unitId:t,subUnitId:r,formulaId:s}=e;return((o=(a=this._otherFormulaData[t])==null?void 0:a[r])==null?void 0:o[s])!=null}register(e){const{unitId:t,subUnitId:r,formulaId:s,item:a}=e;this._otherFormulaData[t]||(this._otherFormulaData[t]={}),this._otherFormulaData[t][r]||(this._otherFormulaData[t][r]={}),this._otherFormulaData[t][r][s]=a}batchRegister(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;Object.keys(r).forEach(s=>{const a=r[s];if(a==null)return!0;Object.keys(a).forEach(o=>{const u=a[o];if(u==null)return!0;this.register({unitId:t,subUnitId:s,formulaId:o,item:u})})})})}batchRemove(e){Object.keys(e).forEach(t=>{const r=e[t];if(r==null)return!0;Object.keys(r).forEach(s=>{const a=r[s];if(a==null)return!0;Object.keys(a).forEach(o=>{this.remove({unitId:t,subUnitId:s,formulaId:o})})})})}getOtherFormulaData(){return this._otherFormulaData}}const wr=X.createIdentifier("univer.formula.other-formula-manager.service");class Dn extends D.Disposable{constructor(){super(...arguments);d(this,"node");d(this,"children",[]);d(this,"parents",[]);d(this,"formula","");d(this,"row",-1);d(this,"column",-1);d(this,"rowCount",Number.NEGATIVE_INFINITY);d(this,"columnCount",Number.NEGATIVE_INFINITY);d(this,"subUnitId","");d(this,"unitId","");d(this,"rangeList",[]);d(this,"formulaId");d(this,"featureId");d(this,"getDirtyData");d(this,"_state",0)}dispose(){var e;super.dispose(),this.children=[],this.rangeList=[],this.parents=[],(e=this.node)==null||e.dispose()}disposeWithChildren(){this.children.forEach(e=>{e.disposeWithChildren()}),this.dispose()}resetState(){this._state=0}setAdded(){this._state=1}isAdded(){return this._state===1}setSkip(){this._state=2}isSkip(){return this._state===2}inRangeData(e){const t=e.startRow,r=e.startColumn,s=e.endRow,a=e.endColumn;return!(this.row<t||this.row>s||this.column<r||this.column>a)}dependencyRange(e,t,r){var s,a;if(this.rangeList.length===0)return!1;for(let o=0,u=this.rangeList.length;o<u;o++){const l=this.rangeList[o],{unitId:c,sheetId:m,range:g}=l.gridRange;if(((s=t[c])==null?void 0:s[m])!=null)return!0;if(!e.has(c))continue;const p=e.get(c);if(!p.has(m))continue;const R=p.get(m),b=(a=r==null?void 0:r[c])==null?void 0:a[m];let{startRow:L,endRow:U,startColumn:B,endColumn:T}=g;Number.isNaN(L)&&(L=0),Number.isNaN(B)&&(B=0),Number.isNaN(U)&&(U=Number.POSITIVE_INFINITY),Number.isNaN(T)&&(T=Number.POSITIVE_INFINITY);for(const q of R){const{startRow:le,startColumn:pe,endRow:Le,endColumn:ye}=q;if(!(L>Le||U<le||B>ye||T<pe)){let Ae=!0;if(b==null||b.forValue((De,me)=>{if(De>=L&&De<=U&&me>=B&&me<=T)return Ae=!1,!1}),Ae)return!0}}}return!1}pushChildren(e){this.children.push(e),e._pushParent(this)}pushRangeList(e){this.rangeList.push(e)}dependency(e){if(this.rangeList.length===0)return!1;for(let t=0,r=this.rangeList.length;t<r;t++){const s=this.rangeList[t],a=s.gridRange.unitId,o=s.gridRange.sheetId,u=s.gridRange.range;if(e.unitId===a&&e.subUnitId===o&&e.inRangeData(u))return!0}return!1}_pushParent(e){this.parents.push(e)}}class bn extends D.Disposable{constructor(){super(...arguments);d(this,"_cacheItems",new Map)}dispose(){this.clear()}size(){return this._cacheItems.size}get length(){return this._cacheItems.size}add(e,t){const{token:r}=e;if(!this._cacheItems.has(r)){this._cacheItems.set(r,{unitRangeWithToken:e,treeList:[t]});return}this._cacheItems.get(r).treeList.push(t)}clear(){this._cacheItems.clear()}remove(e,t){if(!this._cacheItems.has(e))return;const r=this._cacheItems.get(e),s=r.treeList.indexOf(t);s!==-1&&r.treeList.splice(s,1)}delete(e){this._cacheItems.delete(e)}dependency(e){this._cacheItems.forEach(t=>{const{unitRangeWithToken:r,treeList:s}=t,{gridRange:a}=r,{unitId:o,sheetId:u,range:l}=a;e.unitId===o&&e.subUnitId===u&&e.inRangeData(l)&&s.forEach(c=>{if(c===e||c.children.includes(e))return!0;c.pushChildren(e)})})}}class rc extends D.Disposable{constructor(){super(...arguments);d(this,"_otherFormulaData",{});d(this,"_featureFormulaData",new Map);d(this,"_formulaData",{})}dispose(){this._otherFormulaData={},this._featureFormulaData.clear(),this._formulaData={}}getAllTree(){const e=[];return Object.values(this._otherFormulaData).forEach(t=>{if(t==null)return!0;Object.values(t).forEach(r=>{Object.values(r).forEach(s=>{s&&(s.resetState(),e.push(s))})})}),this._featureFormulaData.forEach(t=>{t&&(t.resetState(),e.push(t))}),Object.values(this._formulaData).map(t=>t==null?[]:Object.values(t).forEach(r=>r.forValue((s,a,o)=>{o&&(o.resetState(),e.push(o))}))),e}buildDependencyTree(e,t){const r=this.getAllTree();return e.length===0?(this._buildReverseDependency(r,t),r):(e instanceof bn?this._buildDependencyTree(r,e,t||[]):this._buildDependencyTree(r,e,e),r)}_buildDependencyTree(e,t,r){e.forEach(s=>{t instanceof bn?t.dependency(s):t.forEach(a=>{if(s===a||a.children.includes(s))return!0;a.dependency(s)&&a.pushChildren(s)})}),this._buildReverseDependency(e,r)}_buildReverseDependency(e,t){e.forEach(r=>{t==null||t.forEach(s=>{if(r===s||r.children.includes(s))return!0;r.dependency(s)&&r.pushChildren(s)})})}clearDependencyForTree(e){if(e==null)return;const t=e.parents,r=e.children;t.forEach(s=>{s.children=s.children.filter(a=>a!==e)}),r.forEach(s=>{s.parents=s.parents.filter(a=>a!==e)}),this._buildDependencyTree(t,r,r),e.dispose()}reset(){this._otherFormulaData={},this._featureFormulaData.clear(),this._formulaData={}}addOtherFormulaDependency(e,t,r,s){this._otherFormulaData[e]||(this._otherFormulaData[e]={}),this._otherFormulaData[e][t]||(this._otherFormulaData[e][t]={}),this._otherFormulaData[e][t][r]=s}removeOtherFormulaDependency(e,t,r){this._otherFormulaData[e]&&this._otherFormulaData[e][t]&&r.forEach(s=>{const a=this._otherFormulaData[e][t][s];this.clearDependencyForTree(a),delete this._otherFormulaData[e][t][s]})}hasOtherFormulaDependency(e,t,r){var s,a;return((a=(s=this._otherFormulaData[e])==null?void 0:s[t])==null?void 0:a[r])!=null}addFeatureFormulaDependency(e,t){this._featureFormulaData.set(e,t)}removeFeatureFormulaDependency(e){const t=this._featureFormulaData.get(e);this.clearDependencyForTree(t),this._featureFormulaData.delete(e)}hasFeatureFormulaDependency(e){return this._featureFormulaData.has(e)}addFormulaDependency(e,t,r,s,a){this._formulaData[e]||(this._formulaData[e]={}),this._formulaData[e][t]||(this._formulaData[e][t]=new D.ObjectMatrix),this._formulaData[e][t].setValue(r,s,a)}removeFormulaDependency(e,t,r,s){if(this._formulaData[e]&&this._formulaData[e][t]){const a=this._formulaData[e][t].getValue(r,s);this.clearDependencyForTree(a),this._formulaData[e][t].realDeleteValue(r,s)}}clearFormulaDependency(e,t){this._formulaData[e]&&this._formulaData[e][t]&&this._formulaData[e][t].reset()}hasFormulaDependency(e,t,r,s){var a,o;return((o=(a=this._formulaData[e])==null?void 0:a[t])==null?void 0:o.getValue(r,s))!=null}}const xr=X.createIdentifier("univer.formula.dependency-manager.service");var nc=Object.defineProperty,sc=Object.getOwnPropertyDescriptor,ic=(n,i,e,t)=>{for(var r=t>1?void 0:t?sc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&nc(i,e,r),r},ot=(n,i)=>(e,t)=>i(e,t,n);const ac=1e5;let Gt=class extends D.Disposable{constructor(i,e,t,r,s,a,o,u){super();d(this,"_updateRangeFlattenCache",new Map);d(this,"_dirtyUnitSheetNameMap",{});d(this,"_formulaASTCache",new ct(ac));this._currentConfigService=i,this._runtimeService=e,this._otherFormulaManagerService=t,this._featureCalculationManagerService=r,this._interpreter=s,this._astTreeBuilder=a,this._lexer=o,this._dependencyManagerService=u}dispose(){this._updateRangeFlattenCache.clear(),this._formulaASTCache.clear(),this._dirtyUnitSheetNameMap={}}async generate(){this._updateRangeFlatten();const i=this._currentConfigService.getFormulaData(),e=this._otherFormulaManagerService.getOtherFormulaData(),t=this._currentConfigService.getUnitData(),{treeList:r,dependencyTreeCache:s}=await this._generateTreeList(i,e,t),a=this._getUpdateTreeListAndMakeDependency(r,s);this._checkIsCycleDependency(a)&&this._runtimeService.enableCycleDependency();const u=this._calculateRunList(a);return Promise.resolve(u)}_isCyclicUtil(i,e,t){if(!e.has(i)){e.add(i),t.add(i);for(let r=0;r<i.children.length;r++)if(!e.has(i.children[r])&&this._isCyclicUtil(i.children[r],e,t)||t.has(i.children[r]))return!0}return t.delete(i),!1}_checkIsCycleDependency(i){const e=new Set,t=new Set;for(let r=0,s=i.length;r<s;r++){const a=i[r];if(this._isCyclicUtil(a,e,t)===!0)return!0}return!1}async _generateTreeList(i,e,t){const r=Object.keys(i),s=Object.keys(e),a=[];this._currentConfigService.isForceCalculate()&&(this._dependencyManagerService.reset(),this._formulaASTCache.clear()),this._registerFormulas(r,i,t,a),this._registerOtherFormulas(e,s,a),this._registerFeatureFormulas(a);const u=new bn;for(let l=0,c=a.length;l<c;l++){const m=a[l];if(this._runtimeService.setCurrent(m.row,m.column,m.rowCount,m.columnCount,m.subUnitId,m.unitId),m.node==null)continue;const g=await this._getRangeListByNode(m.node);for(let p=0,R=g.length;p<R;p++){const b=g[p];m.pushRangeList(b),u.add(b,m)}}return{treeList:a,dependencyTreeCache:u}}_registerFeatureFormulas(i){this._featureCalculationManagerService.getReferenceExecutorMap().forEach((e,t)=>{const{unitId:r,subUnitId:s,dependencyRanges:a,getDirtyData:o}=e;if(this._dependencyManagerService.hasFeatureFormulaDependency(r,s,t))return!0;const u=new Dn;u.unitId=r,u.subUnitId=s,u.getDirtyData=o,u.featureId=t,u.rangeList=a.map(l=>({gridRange:l,token:ft({...l,sheetName:this._currentConfigService.getSheetName(l.unitId,l.sheetId)})})),this._dependencyManagerService.addFeatureFormulaDependency(t,u),i.push(u)})}_registerOtherFormulas(i,e,t){for(const r of e){const s=i[r];if(s==null)continue;const a=Object.keys(s);for(const o of a){const u=s[o];if(u==null)continue;const l=Object.keys(u);for(const c of l){if(this._dependencyManagerService.hasOtherFormulaDependency(r,o,c))continue;const m=u[c],{f:g}=m,p=this._generateAstNode(r,g),R=new Dn;R.node=p,R.formula=g,R.unitId=r,R.subUnitId=o,R.formulaId=c,this._dependencyManagerService.addOtherFormulaDependency(r,o,c,R),t.push(R)}}}}_registerFormulas(i,e,t,r){for(const s of i){const a=e[s];if(a==null)continue;const o=Object.keys(a);for(const u of o)new D.ObjectMatrix(a[u]||{}).forValue((c,m,g)=>{if(g==null)return!0;const{f:p,x:R,y:b}=g;if(this._dependencyManagerService.hasFormulaDependency(s,u,c,m))return!0;const L=this._generateAstNode(s,p,R,b),U=new Dn,B=t[s][u];U.node=L,U.formula=p,U.unitId=s,U.subUnitId=u,U.row=c,U.column=m,U.rowCount=B.rowCount,U.columnCount=B.columnCount,this._dependencyManagerService.addFormulaDependency(s,u,c,m,U),r.push(U)})}}_updateRangeFlatten(){const i=this._currentConfigService.isForceCalculate(),e=this._currentConfigService.getDirtyRanges();if(!i){this._updateRangeFlattenCache.clear();for(let t=0;t<e.length;t++){const r=e[t],s=r.range,a=r.sheetId,o=r.unitId;this._addFlattenCache(o,a,s)}this._dirtyUnitSheetNameMap=this._currentConfigService.getDirtyNameMap()}}_generateAstNode(i,e,t=0,r=0){let s=this._formulaASTCache.get(`${i}${e}##${t}-${r}`);if(s&&!this._isDirtyDefinedForNode(s))return s;const a=this._lexer.treeBuilder(e);if(yt.has(a))return Ce.create(a);if(s=this._astTreeBuilder.parse(a,t,r),s==null)throw new Error("astNode is null");return this._formulaASTCache.set(`${i}${e}##${t}-${r}`,s),s}_addFlattenCache(i,e,t){let r=this._updateRangeFlattenCache.get(i);r==null&&(r=new Map,this._updateRangeFlattenCache.set(i,r));let s=r.get(e);s==null&&(s=[],r.set(e,s)),s.push(t)}_isPreCalculateNode(i){return i.nodeType===ee.UNION||i.nodeType===ee.PREFIX&&i.getToken()===_e.AT||i.nodeType===ee.SUFFIX&&i.getToken()===Ne.POUND}_nodeTraversalRef(i,e){const t=i.getChildren(),r=t.length;for(let s=0;s<r;s++){const a=t[s];if(this._isPreCalculateNode(a)){e.push(a);continue}else a.nodeType===ee.REFERENCE&&e.push(a);this._nodeTraversalRef(a,e)}}_nodeTraversalReferenceFunction(i,e){const t=i.getChildren(),r=t.length;for(let s=0;s<r;s++){const a=t[s];if(a.nodeType===ee.FUNCTION&&a.isAddress()){e.push(a);continue}this._nodeTraversalReferenceFunction(a,e)}}async _executeNode(i){let e;return this._interpreter.checkAsyncNode(i)?e=await this._interpreter.executeAsync(i):e=this._interpreter.execute(i),e}async _getRangeListByNode(i){const e=[],t=[];this._nodeTraversalRef(i,e),this._nodeTraversalReferenceFunction(i,t);const r=[];for(let s=0,a=e.length;s<a;s++){const o=e[s],l=(await this._executeNode(o)).toUnitRange(),c=ft({...l,sheetName:this._currentConfigService.getSheetName(l.unitId,l.sheetId)});r.push({gridRange:l,token:c})}for(let s=0,a=t.length;s<a;s++){const o=t[s],l=(await this._executeNode(o)).toUnitRange(),c=ft({...l,sheetName:this._currentConfigService.getSheetName(l.unitId,l.sheetId)});r.push({gridRange:l,token:c})}return r}_isDirtyDefinedForNode(i){const e=this._currentConfigService.getDirtyDefinedNameMap(),t=this._currentConfigService.getExecuteUnitId();if(t!=null&&e[t]!=null){const r=Object.keys(e[t]);for(let s=0,a=r.length;s<a;s++){const o=r[s];if(i.hasDefinedName(o))return!0}}return!1}_getUpdateTreeListAndMakeDependency(i,e){const t=[],r=new Set,s=this._currentConfigService.isForceCalculate();let a=[];e.size()>i.length?a=this._dependencyManagerService.buildDependencyTree(i):a=this._dependencyManagerService.buildDependencyTree(e,i);for(let o=0,u=a.length;o<u;o++){const l=a[o];(s||l.dependencyRange(this._updateRangeFlattenCache,this._dirtyUnitSheetNameMap,this._currentConfigService.getExcludedRange())||this._includeTree(l))&&!r.has(l)&&(t.push(l),r.add(l))}return e.dispose(),t}_includeTreeFeature(i){var s,a;const e=i.unitId,t=i.subUnitId,r=i.featureId;if(r!=null){const o=this._currentConfigService.getDirtyUnitFeatureMap();if(((a=(s=o==null?void 0:o[e])==null?void 0:s[t])==null?void 0:a[r])!=null)return!0}return!1}_includeOtherFormula(i){var s,a;const e=i.unitId,t=i.subUnitId,r=i.formulaId;if(r!=null){const o=this._currentConfigService.getDirtyUnitOtherFormulaMap();if(((a=(s=o==null?void 0:o[e])==null?void 0:s[t])==null?void 0:a[r])!=null)return!0}return!1}_includeDefinedName(i){const e=i.node;return!!(e!=null&&this._isDirtyDefinedForNode(e))}_includeTree(i){var u,l,c;const e=i.unitId,t=i.subUnitId;if(this._includeTreeFeature(i)===!0||this._includeOtherFormula(i)===!0||this._includeDefinedName(i)===!0)return!0;const r=(l=(u=this._currentConfigService.getExcludedRange())==null?void 0:u[e])==null?void 0:l[t];let s=!1;if(r==null||r.forValue((m,g)=>{if(i.row===m&&i.column===g)return s=!0,!1}),s)return!1;if(((c=this._dirtyUnitSheetNameMap[e])==null?void 0:c[t])!=null)return!0;if(!this._updateRangeFlattenCache.has(e))return!1;const a=this._updateRangeFlattenCache.get(e);if(!a.has(t))return!1;const o=a.get(t);for(const m of o)if(i.inRangeData(m))return!0;return!1}_calculateRunList(i){let e=i;const t=[];for(;e.length>0;){const r=e.pop();if(r===void 0||r.isSkip())continue;if(r.isAdded()){t.push(r);continue}const s=[];for(let a=0,o=r.parents.length;a<o;a++){const u=r.parents[a];u.isAdded()||r.isSkip()||s.push(u)}s.length===0?(t.push(r),r.setSkip()):(r.setAdded(),e.push(r),e=e.concat(s))}return t.reverse()}};Gt=ic([D.OnLifecycle(D.LifecycleStages.Rendered,Gt),ot(0,Ze),ot(1,ve),ot(2,wr),ot(3,Wt),ot(4,X.Inject(xt)),ot(5,X.Inject(Nt)),ot(6,X.Inject(Vt)),ot(7,xr)],Gt);var oc=Object.defineProperty,uc=Object.getOwnPropertyDescriptor,lc=(n,i,e,t)=>{for(var r=t>1?void 0:t?uc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&oc(i,e,r),r},pt=(n,i)=>(e,t)=>i(e,t,n);const cc=1;A.CalculateFormulaService=class extends D.Disposable{constructor(e,t,r,s,a,o,u){super();d(this,"_executionStartListener$",new Ct.Subject);d(this,"executionStartListener$",this._executionStartListener$.asObservable());d(this,"_executionCompleteListener$",new Ct.Subject);d(this,"executionCompleteListener$",this._executionCompleteListener$.asObservable());d(this,"_executionInProgressListener$",new Ct.Subject);d(this,"executionInProgressListener$",this._executionInProgressListener$.asObservable());this._configService=e,this._lexer=t,this._currentConfigService=r,this._runtimeService=s,this._formulaDependencyGenerator=a,this._interpreter=o,this._astTreeBuilder=u}stopFormulaExecution(){this._runtimeService.stopExecution()}setRuntimeFeatureCellData(e,t){this._runtimeService.setRuntimeFeatureCellData(e,t)}setRuntimeFeatureRange(e,t){this._runtimeService.setRuntimeFeatureRange(e,t)}async execute(e){this._executionStartListener$.next(!0),this._currentConfigService.load(e),this._runtimeService.reset();const t=this._configService.getConfig("CYCLE_REFERENCE_COUNT")||cc;for(let r=0;r<t&&(this._runtimeService.setFormulaCycleIndex(r),await this._execute(),nn.clear(),!!this._runtimeService.isCycleDependency());r++);this._runtimeService.setFormulaExecuteStage($e.CALCULATION_COMPLETED),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState()),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData()),st.clear()}async _execute(){const e=await this._apply();if(e==null)return;const{arrayFormulaRange:t,runtimeFeatureRange:r}=e,{dirtyRanges:s,excludedCell:a}=this._getArrayFormulaDirtyRangeAndExcludedRange(t,r);return s==null||s.length===0||(this._currentConfigService.loadDirtyRangesAndExcludedCell(s,a),await this._apply(!0)),!0}_getArrayFormulaDirtyRangeAndExcludedRange(e,t){const r=[],s={};return Object.keys(e).forEach(a=>{const o=e[a];if(o==null)return!0;Object.keys(o).forEach(u=>{const l=new D.ObjectMatrix(o[u]);if(l==null)return!0;const c=new D.ObjectMatrix;l.forValue((m,g,p)=>{c.setValue(m,g,!0),r.push({unitId:a,sheetId:u,range:p})}),s[a]==null&&(s[a]={}),s[a][u]=c})}),Object.keys(t).forEach(a=>{const o=t[a];Object.keys(o).forEach(u=>{const l=o[u];if(l==null)return!0;Object.keys(l).forEach(c=>{const m=l[c];if(m==null)return!0;for(const g of m)r.push({unitId:u,sheetId:c,range:g})})})}),{dirtyRanges:r,excludedCell:s}}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(),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 s=[];for(let a=0,o=t.length;a<o;a++){if(await new Promise(g=>{const p=D.requestImmediateMacroTask(g);s.push(p)}),this._runtimeService.isStopExecution()){this._runtimeService.setFormulaExecuteStage($e.IDLE),this._runtimeService.markedAsStopFunctionsExecuted(),this._executionCompleteListener$.next(this._runtimeService.getAllRuntimeData());return}const u=t[a],l=u.node,c=u.getDirtyData;let m;if(l==null&&c==null)throw new Error("AstNode or executor is null");if(this._runtimeService.setCurrent(u.row,u.column,u.rowCount,u.columnCount,u.subUnitId,u.unitId),c!=null&&u.featureId!=null){const{runtimeCellData:g,dirtyRanges:p}=c(u);this._runtimeService.setRuntimeFeatureCellData(u.featureId,g),this._runtimeService.setRuntimeFeatureRange(u.featureId,p)}else l!=null&&(r.checkAsyncNode(l)?m=await r.executeAsync(l):m=r.execute(l),u.formulaId!=null?this._runtimeService.setRuntimeOtherData(u.formulaId,m):this._runtimeService.setRuntimeData(m));e?(this._runtimeService.setFormulaExecuteStage($e.CURRENTLY_CALCULATING_ARRAY_FORMULA),this._runtimeService.setCompletedArrayFormulasCount(a+1)):(this._runtimeService.setFormulaExecuteStage($e.CURRENTLY_CALCULATING),this._runtimeService.setCompletedFormulasCount(a+1)),this._executionInProgressListener$.next(this._runtimeService.getRuntimeState())}return s.forEach(a=>a()),s=[],t.length>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(f).includes(r))return Ce.create(r);const s=this._astTreeBuilder.parse(r);s==null||s.serialize()}},A.CalculateFormulaService=lc([D.OnLifecycle(D.LifecycleStages.Rendered,A.CalculateFormulaService),pt(0,D.IConfigService),pt(1,X.Inject(Vt)),pt(2,Ze),pt(3,ve),pt(4,X.Inject(Gt)),pt(5,X.Inject(xt)),pt(6,X.Inject(Nt))],A.CalculateFormulaService);var fc=Object.defineProperty,hc=Object.getOwnPropertyDescriptor,mc=(n,i,e,t)=>{for(var r=t>1?void 0:t?hc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&fc(i,e,r),r},Ur=(n,i)=>(e,t)=>i(e,t,n);let Or=class extends D.Disposable{constructor(n,i,e,t){super(),this._commandService=n,this._calculateFormulaService=i,this._univerInstanceService=e,this._formulaDataModel=t,this._initialize()}_initialize(){this._commandExecutedListener(),this._initialExecuteFormulaListener(),this._initialExecuteFormulaProcessListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted((n,i)=>{if(n.id===pn.id)this._calculateFormulaService.stopFormulaExecution();else if(n.id===_r.id){const e=n.params.formulaData;this._formulaDataModel.mergeFormulaData(e)}else if(n.id===gn.id){const e=n.params;if(e.forceCalculation===!0)this._calculate(!0);else{const{dirtyRanges:t,dirtyNameMap:r,dirtyDefinedNameMap:s,dirtyUnitFeatureMap:a,dirtyUnitOtherFormulaMap:o}=e;this._calculate(!1,t,r,s,a,o)}}else if(n.id===pr.id){const e=n.params;if(e==null)return;const{arrayFormulaRange:t,arrayFormulaCellData:r}=e;this._formulaDataModel.setArrayFormulaRange(t),this._formulaDataModel.setArrayFormulaCellData(r)}}))}async _calculate(n=!1,i=[],e={},t={},r={},s={}){if(i.length===0&&Object.keys(e).length===0&&Object.keys(t).length===0&&Object.keys(r).length===0&&Object.keys(s).length===0&&n===!1)return;const a=this._formulaDataModel.getFormulaData(),o=this._formulaDataModel.getArrayFormulaCellData();this._calculateFormulaService.execute({formulaData:a,arrayFormulaCellData:o,forceCalculate:n,dirtyRanges:i,dirtyNameMap:e,dirtyDefinedNameMap:t,dirtyUnitFeatureMap:r,dirtyUnitOtherFormulaMap:s})}_initialExecuteFormulaListener(){this._calculateFormulaService.executionCompleteListener$.subscribe(n=>{const i=n.functionsExecutedState;switch(i){case wt.NOT_EXECUTED:break;case wt.STOP_EXECUTION:break;case wt.SUCCESS:this._applyFormula(n);break;case wt.INITIAL:break}this._commandService.executeCommand(Rr.id,{functionsExecutedState:i},{onlyLocal:!0})})}_initialExecuteFormulaProcessListener(){this._calculateFormulaService.executionInProgressListener$.subscribe(n=>{this._commandService.executeCommand(Rr.id,{stageInfo:n},{onlyLocal:!0})})}async _applyFormula(n){const{unitData:i,unitOtherData:e,arrayFormulaRange:t,arrayFormulaCellData:r,clearArrayFormulaCellData:s}=n;if(!i){console.error("No sheetData from Formula Engine!");return}t&&(this._formulaDataModel.clearPreviousArrayFormulaCellData(s),this._formulaDataModel.mergeArrayFormulaCellData(r),this._formulaDataModel.mergeArrayFormulaRange(t),this._commandService.executeCommand(pr.id,{arrayFormulaRange:this._formulaDataModel.getArrayFormulaRange(),arrayFormulaCellData:this._formulaDataModel.getArrayFormulaCellData()},{onlyLocal:!0})),this._commandService.executeCommand(Rn.id,{unitData:Ki(i),unitOtherData:e},{onlyLocal:!0})}};Or=mc([D.OnLifecycle(D.LifecycleStages.Ready,Or),Ur(0,D.ICommandService),Ur(1,X.Inject(A.CalculateFormulaService)),Ur(2,D.IUniverInstanceService),Ur(3,X.Inject(A.FormulaDataModel))],Or);const Di={id:"formula.mutation.register-function",type:D.CommandType.MUTATION,handler:()=>!0},Mr={id:"formula.mutation.set-defined-name",type:D.CommandType.MUTATION,handler:()=>!0},Fr={id:"formula.mutation.remove-defined-name",type:D.CommandType.MUTATION,handler:()=>!0},vr={id:"formula.mutation.set-feature-calculation",type:D.CommandType.MUTATION,handler:()=>!0},Br={id:"formula.mutation.remove-feature-calculation",type:D.CommandType.MUTATION,handler:()=>!0},Tr={id:"formula.mutation.set-other-formula",type:D.CommandType.MUTATION,handler:()=>!0},kr={id:"formula.mutation.remove-other-formula",type:D.CommandType.MUTATION,handler:()=>!0},bi={id:"formula.mutation.set-super-table",type:D.CommandType.MUTATION,handler:()=>!0},Si={id:"formula.mutation.remove-super-table",type:D.CommandType.MUTATION,handler:()=>!0},Sn={id:"formula.mutation.set-super-table-option",type:D.CommandType.MUTATION,handler:()=>!0};var dc=Object.defineProperty,gc=Object.getOwnPropertyDescriptor,pc=(n,i,e,t)=>{for(var r=t>1?void 0:t?gc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&dc(i,e,r),r},An=(n,i)=>(e,t)=>i(e,t,n);let Xt=class extends D.Disposable{constructor(n=[],i,e,t){super(),this._function=n,this._commandService=i,this._functionService=e,this._dataSyncPrimaryController=t,this._initialize()}_initialize(){this._registerCommands(),this._registerFunctions()}_registerCommands(){[_r,pr,gn,pn,Rr,Rn,Mr,Fr,vr,Br,Tr,kr,bi,Si,Sn,Di].forEach(n=>{var i;this._commandService.registerCommand(n),(i=this._dataSyncPrimaryController)==null||i.registerSyncingMutations(n)})}_registerFunctions(){const n=[..._s,...As,...Ps,...Vs,...Bs,...Ts,...Is,...$s,...Ys,...Hs,...qs,...Zs,...Js,...ei,...ti,...ni].concat(this._function).map(i=>{const e=i[0],t=i[1];return new e(t)});this._functionService.registerExecutors(...n)}};Xt=pc([D.OnLifecycle(D.LifecycleStages.Ready,Xt),An(1,D.ICommandService),An(2,Je),An(3,X.Optional(Qi.DataSyncPrimaryController))],Xt);var Rc=Object.defineProperty,_c=Object.getOwnPropertyDescriptor,Ec=(n,i,e,t)=>{for(var r=t>1?void 0:t?_c(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Rc(i,e,r),r},Ai=(n,i)=>(e,t)=>i(e,t,n);let Ir=class extends D.Disposable{constructor(n,i){super(),this._commandService=n,this._definedNamesService=i,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===Mr.id){const i=n.params;if(i==null)return;const{id:e,unitId:t,name:r,formulaOrRefString:s,comment:a,hidden:o,localSheetId:u}=i;this._definedNamesService.registerDefinedName(t,{id:e,name:r.trim(),formulaOrRefString:s.trim(),comment:a==null?void 0:a.trim(),hidden:o,localSheetId:u})}else if(n.id===Fr.id){const i=n.params;if(i==null)return;const{unitId:e,id:t}=i;this._definedNamesService.removeDefinedName(e,t)}}))}};Ir=Ec([D.OnLifecycle(D.LifecycleStages.Ready,Ir),Ai(0,D.ICommandService),Ai(1,Qt)],Ir);var Cc=Object.defineProperty,yc=Object.getOwnPropertyDescriptor,Dc=(n,i,e,t)=>{for(var r=t>1?void 0:t?yc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Cc(i,e,r),r},Pi=(n,i)=>(e,t)=>i(e,t,n);let jr=class extends D.Disposable{constructor(n,i){super(),this._commandService=n,this._featureCalculationManagerService=i,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===vr.id){const i=n.params;if(i==null)return;const{featureId:e,calculationParam:t}=i;this._featureCalculationManagerService.register(e,t)}else if(n.id===Br.id){const i=n.params;if(i==null)return;const{featureId:e}=i;this._featureCalculationManagerService.remove(e)}}))}};jr=Dc([D.OnLifecycle(D.LifecycleStages.Ready,jr),Pi(0,D.ICommandService),Pi(1,Wt)],jr);var bc=Object.defineProperty,Sc=Object.getOwnPropertyDescriptor,Ac=(n,i,e,t)=>{for(var r=t>1?void 0:t?Sc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&bc(i,e,r),r},Pn=(n,i)=>(e,t)=>i(e,t,n);let $r=class extends D.Disposable{constructor(n,i,e){super(),this._commandService=n,this._otherFormulaManagerService=i,this._dependencyManagerService=e,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===Tr.id){const i=n.params;if(i==null)return;const e={[i.unitId]:{[i.subUnitId]:i.formulaMap}};this._otherFormulaManagerService.batchRegister(e)}else if(n.id===kr.id){const i=n.params;if(i==null)return;const e={};i.formulaIdList.forEach(r=>e[r]=!0);const t={[i.unitId]:{[i.subUnitId]:e}};this._otherFormulaManagerService.batchRemove(t)}}))}};$r=Ac([D.OnLifecycle(D.LifecycleStages.Ready,$r),Pn(0,D.ICommandService),Pn(1,wr),Pn(2,xr)],$r);var Pc=Object.defineProperty,Lc=Object.getOwnPropertyDescriptor,Vc=(n,i,e,t)=>{for(var r=t>1?void 0:t?Lc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Pc(i,e,r),r},Li=(n,i)=>(e,t)=>i(e,t,n);let Yr=class extends D.Disposable{constructor(n,i){super(),this._commandService=n,this._superTableService=i,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===Mr.id){const i=n.params;if(i==null)return;const{unitId:e,tableName:t,reference:r}=i;this._superTableService.registerTable(e,t,r)}else if(n.id===Fr.id){const i=n.params;if(i==null)return;const{unitId:e,tableName:t}=i;this._superTableService.remove(e,t)}else if(n.id===Sn.id){const i=n.params;if(i==null)return;const{tableOption:e,tableOptionType:t}=i;this._superTableService.registerTableOptionMap(e,t)}}))}};Yr=Vc([D.OnLifecycle(D.LifecycleStages.Ready,Yr),Li(0,D.ICommandService),Li(1,yn)],Yr);class wc extends D.Disposable{constructor(){super(...arguments);d(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 Vi=X.createIdentifier("univer.formula.active-dirty-manager.service");var xc=Object.defineProperty,Uc=Object.getOwnPropertyDescriptor,Oc=(n,i,e,t)=>{for(var r=t>1?void 0:t?Uc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&xc(i,e,r),r},Ln=(n,i)=>(e,t)=>i(e,t,n);let Hr=class extends D.Disposable{constructor(n,i){super(),this._commandService=n,this._dependencyManagerService=i,this._initialize()}_initialize(){this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===Br.id||n.id===vr.id){const i=n.params;if(i==null)return;const{featureId:e}=i;this._dependencyManagerService.removeFeatureFormulaDependency(e)}else if(n.id===kr.id){const i=n.params;if(i==null)return;this._dependencyManagerService.removeOtherFormulaDependency(i.unitId,i.subUnitId,i.formulaIdList)}else if(n.id===Tr.id){const i=n.params;if(i==null)return;const e=i.formulaMap,t=[];Object.keys(e).forEach(r=>{t.push(r)}),this._dependencyManagerService.removeOtherFormulaDependency(i.unitId,i.subUnitId,t)}else if(n.id===_r.id){const i=n.params.formulaData;Object.keys(i).forEach(e=>{if(i[e]==null)return!0;Object.keys(i[e]).forEach(t=>{const r=i[e][t];if(r==null)return this._dependencyManagerService.clearFormulaDependency(e,t),!0;new D.ObjectMatrix(r).forValue((s,a)=>{this._dependencyManagerService.removeFormulaDependency(e,t,s,a)})})})}}))}};Hr=Oc([D.OnLifecycle(D.LifecycleStages.Ready,Hr),Ln(0,D.ICommandService),Ln(1,Wt),Ln(1,xr)],Hr);var Mc=Object.defineProperty,Fc=Object.getOwnPropertyDescriptor,vc=(n,i,e,t)=>{for(var r=t>1?void 0:t?Fc(i,e):i,s=n.length-1,a;s>=0;s--)(a=n[s])&&(r=(t?a(i,e,r):a(r))||r);return t&&r&&Mc(i,e,r),r},Bc=(n,i)=>(e,t)=>i(e,t,n);const Tc="base-formula-engine";A.UniverFormulaEnginePlugin=(Vn=class extends D.Plugin{constructor(i,e){super(),this._config=i,this._injector=e}onStarting(){this._initialize()}_initialize(){var e;const i=[[Je,{useClass:li}],[Wt,{useClass:Ci}],[Qt,{useClass:oi}],[Vi,{useClass:wc}],[yn,{useClass:kl}],[A.FormulaDataModel],[ar],[Xt,{useFactory:()=>{var t;return this._injector.createInstance(Xt,(t=this._config)==null?void 0:t.function)}}],[jr],[Ir],[Yr]];(e=this._config)!=null&&e.notExecuteFormula||i.push([A.CalculateFormulaService],[wr,{useClass:yi}],[ve,{useClass:A.FormulaRuntimeService}],[Ze,{useClass:A.FormulaCurrentConfigService}],[xr,{useClass:rc}],[Or],[$r],[Hr],[Gt],[xt],[Nt],[Vt],[ui],[yr],[Dr],[pi],[br],[Cr],[Pr],[Lr],[Vr],[Ei]),i.forEach(t=>this._injector.add(t))}},d(Vn,"pluginName",Tc),Vn),A.UniverFormulaEnginePlugin=vc([Bc(1,X.Inject(X.Injector))],A.UniverFormulaEnginePlugin);function wi(n,i){const e=n.sequenceNodesBuilder(i);return!(!e||e.every(t=>typeof t=="string"||t.nodeType!==Ve.REFERENCE))}function kc(n,i,e,t,r,s){if(!wi(n,i))return i;const a=n.sequenceNodesBuilder(i),o=(p,R)=>({startRow:p,endRow:p,startColumn:R,endColumn:R}),u=o(e,t),l=D.Rectangle.getRelativeRange(o(r,s),u),c=D.Tools.deepClone(a),m=Array.isArray(c)?c.map(p=>{if(typeof p=="object"&&p.nodeType===Ve.REFERENCE){const R=je(p.token),b=D.Rectangle.getPositionRange(l,R.range),L=Ge(b);return{...p,token:L}}return p}):c;return`=${m&&rr(m)}`}A.ArrayValueObject=de,A.AsyncArrayObject=ds,A.AsyncObject=ms,A.BaseFunction=V,A.BaseReferenceObject=Pt,A.BaseValueObject=Ke,A.BooleanValue=nt,A.BooleanValueObject=$,A.CustomFunction=ja,A.DefinedNamesService=oi,A.ERROR_TYPE_SET=yt,A.ErrorType=f,A.ErrorValueObject=h,A.FUNCTION_NAMES_ARRAY=Es,A.FUNCTION_NAMES_COMPATIBILITY=Lt,A.FUNCTION_NAMES_CUBE=Ls,A.FUNCTION_NAMES_DATABASE=ws,A.FUNCTION_NAMES_DATE=Re,A.FUNCTION_NAMES_ENGINEERING=ks,A.FUNCTION_NAMES_FINANCIAL=js,A.FUNCTION_NAMES_INFORMATION=xe,A.FUNCTION_NAMES_LOGICAL=at,A.FUNCTION_NAMES_LOOKUP=Se,A.FUNCTION_NAMES_MATH=ue,A.FUNCTION_NAMES_STATISTICAL=he,A.FUNCTION_NAMES_TEXT=qe,A.FUNCTION_NAMES_UNIVER=ri,A.FUNCTION_NAMES_WEB=si,A.FeatureCalculationManagerService=Ci,A.FormulaExecuteStageType=$e,A.FormulaExecutedStateType=wt,A.FunctionService=li,A.FunctionType=On,A.IActiveDirtyManagerService=Vi,A.IDefinedNamesService=Qt,A.IFeatureCalculationManagerService=Wt,A.IFormulaCurrentConfigService=Ze,A.IFormulaRuntimeService=ve,A.IFunctionService=Je,A.IOtherFormulaManagerService=wr,A.LexerNode=K,A.LexerTreeBuilder=ar,A.NullValueObject=ie,A.NumberValueObject=y,A.OtherFormulaManagerService=yi,A.RangeReferenceObject=Tt,A.RegisterFunctionMutation=Di,A.RemoveDefinedNameMutation=Fr,A.RemoveFeatureCalculationMutation=Br,A.RemoveOtherFormulaMutation=kr,A.RemoveSuperTableMutation=Si,A.SetArrayFormulaDataMutation=pr,A.SetDefinedNameMutation=Mr,A.SetFeatureCalculationMutation=vr,A.SetFormulaCalculationNotificationMutation=Rr,A.SetFormulaCalculationResultMutation=Rn,A.SetFormulaCalculationStartMutation=gn,A.SetFormulaCalculationStopMutation=pn,A.SetFormulaDataMutation=_r,A.SetOtherFormulaMutation=Tr,A.SetSuperTableMutation=bi,A.SetSuperTableOptionMutation=Sn,A.StringValueObject=fe,A.ValueObjectFactory=it,A.compareToken=M,A.convertUnitDataToRuntime=vn,A.deserializeRangeForR1C1=Rs,A.deserializeRangeWithSheet=je,A.functionArray=_s,A.functionCompatibility=As,A.functionCube=Ps,A.functionDatabase=Vs,A.functionDate=Bs,A.functionEngineering=Ts,A.functionFinancial=Is,A.functionInformation=$s,A.functionLogical=Ys,A.functionLookup=Hs,A.functionMath=qs,A.functionMeta=Zs,A.functionStatistical=Js,A.functionText=ei,A.functionUniver=ti,A.functionWeb=ni,A.generateStringWithSequence=rr,A.getAbsoluteRefTypeWitString=sa,A.getAbsoluteRefTypeWithSingleString=Bt,A.getRangeWithRefsString=ia,A.handleNumfmtInCell=La,A.includeFormulaLexerToken=Fn,A.initSheetFormulaData=ai,A.isFormulaLexerToken=Ot,A.isFormulaTransformable=wi,A.isInDirtyRange=Un,A.isReferenceString=Yn,A.isReferenceStringWithEffectiveColumn=sr,A.isReferenceStrings=Wn,A.matchRefDrawToken=Xi,A.matchToken=N,A.normalizeSheetName=Gi,A.operatorToken=se,A.sequenceNodeType=Ve,A.serializeRange=Ge,A.serializeRangeToRefString=ft,A.serializeRangeWithSheet=Qn,A.serializeRangeWithSpreadsheet=zn,A.singleReferenceToGrid=nr,A.strip=rn,A.stripErrorMargin=os,A.transformFormula=kc,Object.defineProperty(A,Symbol.toStringTag,{value:"Module"})});